Lexico est un package R facilitant l’extraction et l’analyse lexicométrique de contenus vidéo YouTube. Il combine des utilitaires de scraping (API YouTube + sous-titres via yt-dlp) et des fonctions de préparation/normalisation pour travailler ensuite avec quanteda ou exporter/importer des corpus au format IRaMuTeQ.
Installation
L’installation se fait directement via mon github. Aucune diffusion sur CRAN n’est prévue à ce stade. Les fonctionnalités et noms des fonctions pourront subir des modifications majeures au fil des utilisations.
remotes::install_github("tdelc/lexico")Prérequis
- Une clé API YouTube Data (v3) pour interroger les playlists et vidéos.
- L’outil en ligne de commande
yt-dlpdisponible dans lePATHpour télécharger les sous-titres. - R (avec les dépendances déclarées dans
DESCRIPTION, notammentquanteda,dplyr,httr,purrr,stringr,stopwords). - IRaMuTeQ, pour créer les classes de segments de texte.
Aucune donnée n’est distribuée avec le package : seules les fonctions sont fournies, le téléchargement restant à la charge de l’utilisateur·rice.
Fonctionnalités principales
Scraping YouTube
-
get_videos_info(api_key, playlist_id, max_results = 100): récupère les métadonnées d’une playlist (titre, description, date de publication, position, etc.). -
get_videos_stats(api_key, video_ids): complète les informations des vidéos (statistiques, durée, langue, tags…). -
get_videos_text``(``video_ids``, out_dir, yt_dlp = "yt-dlp", force_dl = FALSE): télécharge les sous-titres automatiques français d’une vidéo et les prépare en base de données minutée. -
run_complete_extraction(api_key, path, suffix, playlist_id, max_videos): pipeline clé en main pour une playlist : récupération des infos/ stats/text, sauvegarde en CSV.
Usage
Plusieurs vignettes sont rédigées pour aider à l’utilisation
Scraper des playlists YouTube pour apprendre à extraire les vidéos, leurs sous-titres et mettre en format base de données les informations.
Préparer les données textuelles où j’explique comment j’ai nettoyé le corpus.
Préparer et exploiter des corpus avec IRaMuTeQ pour comprendre comment exploiter ce corpus avec IRaMuTeQ.
Analyser les textes avec Quanteda pour l’analyse du corpus avec le package R Quanteda
Remarques
- Respectez les quotas de l’API YouTube et stockez votre clé dans une variable d’environnement.
-
download_subtitles()accepteforce_dl = TRUEpour forcer la mise à jour des sous-titres. - Les multi-mots sont enregistrés avec
_pour les conserver lors de l’analyse lexicométrique.