CommencezCommencez gratuitement

Extraire des noms avec leur contexte

Reprenons notre jeu de données sur les politiciennes et politiciens suisses. Il se compose de deux variables : articles, qui est un ensemble d'articles de presse sur la politique suisse, et politicians, qui est un vecteur contenant plusieurs noms de personnes actives en politique en Suisse.

Vous avez déjà compté le nombre d'occurrences par nom, mais ne serait-il pas intéressant de non seulement compter les noms, mais aussi de voir dans quel contexte ils sont utilisés ? Par exemple, vous pourriez comparer si les contextes diffèrent entre les femmes et les hommes en politique. Pour y arriver, vous devrez extraire le texte qui entoure les noms de nos politiciennes et politiciens.

Comme le texte contient des caractères de mot \\w ainsi que de la ponctuation [:punct:] comme des points . ou des virgules ,, vous devrez créer un motif qui fait correspondre ces deux types de caractères.

Cette activité fait partie du cours

Expressions régulières intermédiaires en R

Voir le cours

Instructions de l’exercice

  • Utilisez le vecteur politicians et regroupez-le pour créer un « motif OU » comme vous l'avez fait au chapitre 2.
  • Créez un motif personnalisé entre crochets [] qui fait correspondre à la fois les caractères de mot et la ponctuation.
  • Avec glue, ajoutez le context nouvellement créé à la fois avant et après polit_pattern. Le \\s? indique qu'il peut y avoir une espace ou aucune espace après les noms des politiciennes et politiciens.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# Create our polit_pattern again by collapsing "politicians"
polit_pattern <- glue_collapse(___, sep = "|")

# Match one or more word characters or punctuations
context <- "([___[___]]+\\s){0,10}"

# Add this pattern in front and after the polit_pattern
polit_pattern_with_context <- glue(
  "{___}({polit_pattern})\\s?{___}"
)

str_extract_all(
  articles$text,
  pattern = polit_pattern_with_context
)
Modifier et exécuter le code