‹›外部サービスH.G. ウェルズの「The War of the Worlds」から特定コンテキストの名詞のグラフを作成する
OpenLibraryのAPIに接続して,書籍「The War of the Worlds(宇宙戦争)」のテキストを得る.
ol = ServiceConnect["OpenLibrary"];
text = ol["BookText",
"BibKeys" -> {{\[ThinSpace]"OLID", "OL7211749M"}\[ThinSpace]}];
火星人に関連する単語を可視化するワードクラウドを作成する.
完全なWolfram言語入力を表示する
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]]
そのコンテキストにおける名詞のグラフを作成する.
完全なWolfram言語入力を表示する
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.]]