Wolfram Language

External Services

Create a Graph of Contextual Nouns from H. G. Wells's The War of the Worlds

Connect to the OpenLibrary API to get The War of the Worlds book text.

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

You can create a word cloud to visualize the words related to the Martian invaders.

show complete Wolfram Language input
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]=

And create a graph of nouns in that context.

show complete Wolfram Language input
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]=

Related Examples

de es pt-br ru zh