Wolfram言語

外部サービス

H.G. ウェルズの「The War of the Worlds」から特定コンテキストの名詞のグラフを作成する

OpenLibraryのAPIに接続して,書籍「The War of the Worlds(宇宙戦争)」のテキストを得る.

In[1]:=
Click for copyable input
ol = ServiceConnect["OpenLibrary"]; text = ol["BookText", "BibKeys" -> {{\[ThinSpace]"OLID", "OL7211749M"}\[ThinSpace]}];

火星人に関連する単語を可視化するワードクラウドを作成する.

完全なWolfram言語入力を表示する
In[2]:=
Click for copyable input
sentences = TextSentences[text[1]]; preresult = DeleteCases[ Function[s, Module[{sentence = DeleteStopwords[TextWords[ToLowerCase[s]]]}, If[MemberQ[sentence, "martian" | "martians"], sentence] ]] /@ sentences, Null]; WordCloud[Tally[preresult]]
Out[2]=

そのコンテキストにおける名詞のグラフを作成する.

完全なWolfram言語入力を表示する
In[3]:=
Click for copyable input
edges = Function[u, Module[{words = Pick[u, MemberQ[#, Entity["GrammaticalUnit", "Noun"]] & /@ (PartOfSpeech /@ u), True], basicedges, martianedges}, basicedges = UndirectedEdge @@@ Partition[words, 2, 1]; basicedges ]] /@ preresult; Graph[Flatten[edges], VertexStyle -> RGBColor[0.6, 0.12, 0.], EdgeStyle -> RGBColor[0.84, 0.04, 0.]]
Out[3]=

関連する例