Wolfram Language

Traitement de texte et de langues

Fréquence des noms communs dans les discours

Utilisez TextCases pour extraire des sous-chaînes d'une forme donnée, par exemple des noms ou des verbes, ainsi que des pays, des adresses e-mail et bien d'autres choses.

Récupérez un jeu de données contenant tous les discours prononcés par les présidents américains lors des réunions conjointes du Congrès des États-Unis.

In[1]:=
Click for copyable input
data = ResourceData["State of the Union Addresses"];

Réduisez la taille du jeu de données en ne conservant que les noms des présidents, les années des discours et les textes des discours.

In[2]:=
Click for copyable input
reduceddata = data[All, {"President", "Year", "Text"}];

Prenez un échantillon des discours à des intervalles de 10 ans.

In[3]:=
Click for copyable input
years = Range[1965, 2015, 10]; speeches = Select[reduceddata, MemberQ[years, #Year] &]
Out[3]=

Utilisez TextCases pour identifier les noms dans chaque discours.

In[4]:=
Click for copyable input
nouns = TextCases[Normal@speeches[All, "Text"], "Noun"];

Comptez les occurrences de tous les noms distincts dans chaque discours.

In[5]:=
Click for copyable input
freqnouns = Counts /@ nouns;

Ignorez certains mots qui sont très courants dans la plupart des années.

In[6]:=
Click for copyable input
freqnouns = KeyDrop[freqnouns, {"country", "people", "year", "years", "world"}];

Générez des nuages de mots indiquant la fréquence des noms à travers le temps.

Afficher l'entrée complète de Wolfram Language
In[7]:=
Click for copyable input
labels = Normal@ speeches[All, CommonName[#President] <> " " <> ToString[#Year] &]; WordCloud[freqnouns[[#]], PlotLabel -> labels[[#]]] & /@ Range[6]
Out[7]=

Exemples connexes

de en es ja ko pt-br ru zh