Wolfram言語

テキストと言語の処理

ホームズ対ワトソン

シャーロック・ホームズ(Sherlock Holmes)が主人公のアーサー・コナン・ドイル(Arthur Conan Doyle)の小説をいくつか取り出す.

In[1]:=
Click for copyable input
novels = {Entity["Book", "TheSignOfTheFour1890"], Entity["Book", "TheAdventuresOfSherlockHolmes"], Entity["Book", "TheHoundOfTheBaskervilles"], Entity["Book", "TheReturnOfSherlockHolmes1904"]};
In[2]:=
Click for copyable input
texts = EntityValue[novels, "Plaintext"];

2人の主人公が言及された回数を求める.

In[3]:=
Click for copyable input
counts = WordCounts /@ texts;
In[4]:=
Click for copyable input
watson = counts[[All, "Watson"]]; holmes = counts[[All, "Holmes"]];

新たな機能のCalloutを使って結果をプロットする.

In[5]:=
Click for copyable input
callouts = Callout @@@ Transpose[{Transpose[{holmes, watson}], novels}];
In[6]:=
Click for copyable input
ListPlot[callouts, AxesLabel -> {"Holmes", "Watson"}, AspectRatio -> Automatic, AxesOrigin -> {0, 0}]
Out[6]=

関連する例

de en es fr ko pt-br ru zh