このノートブックを使えば、『手を動かしながらやさしく学べるはじめてのAIデータサイエンスリテラシー』 (技術評論社)に掲載しているWolfram言語のプログラムを直接実行することができます。最初に、右上のメニュー [ Make Your Own Copy ] をクリックし、自分のWolfram Cloudにこのノートブックをコピーして利用しましょう。詳しくは、序章 「0-3 Wolfram言語を使うための準備」および「0-4 本書のプログラムを実行する方法」(P11〜16ページ)を参照して下さい。なお、このノートブックでは、本書独自のフォーマットを使ってプログラムの入力部分にオレンジの枠,出力部分にブルーの枠がついたものとなっています。新規でノートブックを開いた時のまっさらのノートブックとは異なりますが、通常のノートブックと同様にプログラムを自分で入力することもできます。

第6章 テキストデータから見える世界

6-1 テキストデータとは

テキストのデジタル化

ToCharacterCode["W"]
Out[1]=
{87}
IntegerDigits[87,2]
Out[2]=
{1,0,1,0,1,1,1}
ToCharacterCode["A"]
Out[3]=
{65}
IntegerDigits[65,2]
Out[4]=
{1,0,0,0,0,0,1}
ToCharacterCode["あ","ASCII"]
Out[5]=
{None}
$CharacterEncodings
Out[6]=
{AdobeStandard,ASCII,CP936,CP949,CP950,EUC-JP,EUC,IBM-850,ISO8859-10,ISO8859-11,ISO8859-13,ISO8859-14,ISO8859-15,ISO8859-16,ISO8859-1,ISO8859-2,ISO8859-3,ISO8859-4,ISO8859-5,ISO8859-6,ISO8859-7,ISO8859-8,ISO8859-9,ISOLatin1,ISOLatin2,ISOLatin3,ISOLatin4,ISOLatinCyrillic,Klingon,koi8-r,MacintoshArabic,MacintoshChineseSimplified,MacintoshChineseTraditional,MacintoshCroatian,MacintoshCyrillic,MacintoshGreek,MacintoshHebrew,MacintoshIcelandic,MacintoshKorean,MacintoshNonCyrillicSlavic,MacintoshRomanian,MacintoshRoman,MacintoshRomanPDFExport,MacintoshThai,MacintoshTurkish,MacintoshUkrainian,Math1,Math2,Math3,Math4,Math5,Mathematica1,Mathematica2,Mathematica3,Mathematica4,Mathematica5,Mathematica6,Mathematica7,PrintableASCII,ShiftJIS,Symbol,UTF-8,UTF8,WindowsANSI,WindowsBaltic,WindowsCyrillic,WindowsEastEurope,WindowsGreek,WindowsThai,WindowsTurkish,ZapfDingbats}
ToCharacterCode["A","UTF-8"]
Out[7]=
{65}
ToCharacterCode["あ","UTF-8"]
Out[8]=
{227,129,130}
ToCharacterCode["うるふらむ","UTF-8"]
Out[9]=
{227,129,134,227,130,139,227,129,181,227,130,137,227,130,128}
ToCharacterCode["ウルフラム","UTF-8"]
Out[10]=
{227,130,166,227,131,171,227,131,149,227,131,169,227,131,160}

6-2 自然言語処理

テキストデータを分割してみよう

In[11]:=
wolframText="For more than three decades, we have progressively built an unprecedented base of technology that now makes possible our broad portfolio of innovative products.30年以上に渡り,弊社では,継続的に優れた技術ベースを構築し,それを使って多数の斬新な製品を生み出してきました。";
StringSplit[wolframText]//InputForm
Out[12]//InputForm=
{For, more, than, three, decades,, we, have,
progressively, built, an, unprecedented, base, of,
technology, that, now, makes, possible, our, broad,
portfolio, of, innovative, products.,
30年以上に渡り,弊社では,継続的に優れた技術ベースを構\
築し,それを使って多数の斬新な製品を,
生み出してきました。}

テキストを単語単位に区切る

StringSplit["私の髪も長かった"]//InputForm
Out[13]//InputForm=
{私の髪も長かった}
StringSplit["私 の 髪 も 長かっ た"]//InputForm
Out[14]//InputForm=
{私, の, 髪, も, 長かっ, た}
ストップワードで分割する
StringSplit["私の髪も長かった","の","も","た"]
Out[15]=
私,髪,長かっ

形態素解析で単語を分割する

StringSplit["すもももももももものうち","の","も","た"]
Out[16]=
す,,,,,,,,,うち

構文解析で単語間の関係をつかむ

TextStructure["I am a high school student in Kyoto, Japan. "]
Out[17]=
I
Pronoun
Noun Phrase
am
Verb
a
Determiner
high
Adjective
school
Noun
student
Noun
Noun Phrase
in
Preposition
Kyoto
Proper Noun
,
Punctuation
Japan
Proper Noun
Noun Phrase
Prepositional Phrase
Noun Phrase
Verb Phrase
.
Punctuation
Sentence
TextStructure["I am a high school student in Kyoto, Japan. ","ConstituentGraphs"]
Out[18]=


TextStructure["The cat on the mat. ","DependencyGraphs"]
Out[19]=



6-3 ワードクラウドとは

ワードクラウドによるテキストデータの可視化

6-4 演習:「走れメロス」のワードクラウドを作ろう

1. テキストデータの準備

2. ワードクラウドの作成

応用: ワードクラウドの色や形を変えてみよう

​