Python

【技術書店にて出版】自然言語解析、トピックモデルについて徹底解説!

今回は技術書店というイベントで自然言語解析にまつわる本を出版したので、そのことについて話あったことを書き起こししています。今回もこちらのVoicyの内容を書き起こしたものになっています。

運営者
運営者
宜しくお願いします。
のがっち
のがっち
よろしくお願いします。

技術書店とは?

のがっち
のがっち
技術書店っていうのは?
運営者
運営者
技術書店っていうのはですね、もう第5回になるイベントなんですけれども、エンジニアが自分の好きなテーマを好きに本を書いて売りまくるという同人誌のイベントです。
のがっち
のがっち
そういうこと。コミケみたいなもんだよね?
運営者
運営者
そうですね。コミケのエンジニア版だと考えて頂ければと。
のがっち
のがっち
なるほど。
運営者
運営者
でもどんどん大きくなって、第5回は1万人来場と。もうね、異様な熱気で、盛り上がりで。
のがっち
のがっち
エンジニアしかいないんだもんね。
運営者
運営者
エンジニアしかいないっすね。スポンサーもすごいんすよ。
のがっち
のがっち
そんだけエンジニアが集まればね、スポンサーは付くよね。
運営者
運営者
そうですね。ゴールドスポンサーはメルカリとリクルートです。
のがっち
のがっち
もう、スーパー大手が。もうIT2強が出てきた感じですね。
運営者
運営者
そうなんですよ。まぁ、1万人のエンジニアにプロモーションできるとしたら、安いもんなんでしょう。
のがっち
のがっち
でしょう。
運営者
運営者
もう、いろんな本が売ってました。
のがっち
のがっち
なんかあった?
運営者
運営者
いやもう、いっぱいありますよ。マイニングとかブロックチェーン系の話もあれば、AR・VRとか、そういう最新の技術もあれば、普通にFirebase(サーバーサイド・・・簡単に開発できるGoogleのサービス)でアプリケーションを作りましたみたいな本もあれば、いろんな本があります。
のがっち
のがっち
たしかに、普通に書店で売ってる本ていうのは「1から始める始めるブロックチェーン」といういわゆる教科書的なやつが多かったけど、これはエンジニアが趣味で作ってる本だから、色々テーマに特化したりとか、熱量がやっぱり違うわけでしょ、きっと。
運営者
運営者
そうですね。もう自分の好きな分野をとことん本が並んでたりとか。
のがっち
のがっち
ってことだよね。
運営者
運営者
面白かったのは、あれもありましたね。純肉培養っていう。
のがっち
のがっち
何すかそれ?
運営者
運営者
肉を培養するためにはどうやったらいいのか?というキットを1万円で売ってて、そのキットの使い方みたいな本を売ってたブースもありましたね。
のがっち
のがっち
もう、あれだね。エンジニアというか生物学的な方向にもいってるんですか。
運営者
運営者
そういう方向もあったんですよ。異彩を放ってましたね。
のがっち
のがっち
特殊な集まりの中でも特殊って感じですね。
運営者
運営者
あれは面白かったですね。
のがっち
のがっち
純肉培養がもしかしたらこれからくるかもしれない。
運営者
運営者
あーそうですね。なにかの記事で読んだんですけど。1キロの肉を培養するのに、何万円っていうお金がかかっちゃって、スーパーで買えば、100gで300~400円なので、数百倍しちゃうらしい。
のがっち
のがっち
コストが全く合わないと。
運営者
運営者
今はコストが全く合わない、けど、これがどんどん下がってくるらしいです。
のがっち
のがっち
ってなったら身近に買えますよねって。畜産業がなくなると。
運営者
運営者
そしたらすごい世界ですよね。
のがっち
のがっち
まあ、そこまで行くのは何年かかるかわかんないですけどね。
運営者
運営者
そうですね。・・・っていう本もあったりして。実は僕も本を出したんですよ。「橋下徹さんのメルマガを解析した」っていう。

橋下徹さんのメルマガを解析

運営者
運営者
橋下徹さんのメルマガをいままで119号とか出ているんですけど、僕はそれを全部とっているので、それを自然言語解析っていって、データにしてPythonでね、自然言語解析するんですよ。
のがっち
のがっち
自然言語解析ってなんですか?
運営者
運営者
自然言語解析は、人間が日常的に使っている言語をコンピュータに処理させる技術です。Step1は、文章を意味のある最小単位に落としますと。品詞とか、そういうレベルに落としていく。
のがっち
のがっち
うん。
運営者
運営者
例えば「僕がのがっちと話しています。」っていう文章があったとしたら、「僕」「が」「のがっち」みたいな、品詞レベルでの意味の分かる最小単位に落としますと。
のがっち
のがっち
文章をスライスするわけだ。
運営者
運営者
そうです。それで、助詞には意味がないので、削ってしまい、名詞とか形容詞とか動詞とか、重要な品詞のみに絞って抽出します。
のがっち
のがっち
「が」「は」みたいなやつは削るというわけですね?
運営者
運営者
そうです。重要な品詞だけ絞って、その後、数値ベクトル、数値の羅列に変換します。この数値への変換方法方は色々あるのですが、今回は使ったのは単純に単語の頻度表現に変換しました。つまり、「私」っていうカラム(列)があって、「のがっち」っていうカラムがあって、それらの単語が何回出現したかという回数をまとめていくんです。そうすると、メルマガ第○号は[0,2,3,0,0]みたいに、数値ベクトルで表すことが出来るようになる。
のがっち
のがっち
うん。
運営者
運営者
で、数字にさえしてしまえばもうこっちのもんで、いろんなアルゴリズムを適応することもできますし、そこから色々と解析ができる、と。
のがっち
のがっち
まずは、「私」とか「せいや」とかそういう言葉にどんどん分割していって、どんだけ何回か言葉が出てくるのか?・・・(例えば)橋下さんは「私」という言葉を百回も使っていたらその回数が数値ベクトルの中に入ってくるんだ。
運営者
運営者
そうです。
のがっち
のがっち
なるほど〜。で、アルゴリズムに適用すると。
運営者
運営者
そうですね。数値ベクトルにさえ落としてしまえば、アルゴリズムに適用できる。
のがっち
のがっち
どんなやつよ?
運営者
運営者
僕が今回使ったのは、LDAっていう教師なし学習です。
のがっち
のがっち
何の略ですか?
運営者
運営者
Latent Dirichlet Allocationっていうアルゴリズムで、一種のクラスタリングみたいなもの。
のがっち
のがっち
クラスタリング。こういう言葉をなんかたくさん使っているトピック・・・「私」と「あなた」「愛してる」みたいな、そういう言葉をたくさん使っていたら、それはきっとラブストーリーだろうと。
運営者
運営者
そうです。ある文章の中からこの文章は、どういうトピックについて話しているのか?という確率分布を計算してくれるアルゴリズム。
のがっち
のがっち
なるほどね。
運営者
運営者
で、このLDA使っていたりするスマニュー(スマートニュース)さんとかがよく使ってる技術で、いろんな記事をクローリングしてきて、この記事はビジネスについて話しているとか、この記事はテクノロジーについて話しているだとか、そういうのを分類してくれるアルゴリズムなので。
のがっち
のがっち
じゃあ、ビジネスレベルで使われているアルゴリズムなんですね。
運営者
運営者
で、橋下徹さんのメルマガ119号を32個のトピックに分類して、各メルマガはどのトピックに所属しているのか?っていうのを、出したっていう。そんな本になっています。
のがっち
のがっち
119号のメルマガは32個のトピック分けられると、そのLDAを使うと。
運営者
運営者
そうです。
のがっち
のがっち
どんなトピックがあるんですか?
運営者
運営者
例えば、「橋下徹のトランプ論」。このトピックに所属しているメルマガでは、「インテリ」とか、「トランプ」っていう単語がこのトピックの特徴単語として挙がっています。
のがっち
のがっち
インテリとトランプ、いかにもトランプの話題という感じですかね。
運営者
運営者
そうですね。トランプはこういう改革をしようとしたけど、インテリがそれを批判するみたいなという話が出てきますね。
のがっち
のがっち
だから「橋下徹のトランプ論」って名付けたんだね。
運営者
運営者
そう。メルマガをトピックに分類したあと、各メルマガはどこのトピックに分類されるのか、っていうのを所属確率を算出します。
のがっち
のがっち
まあ、110何個あるけど、結局喋ってるのは32個に分類されるよねと。で、各メルマガはどのトピックに所属するのかっていう確率を計算すると。確かにクラスタ分析っぽいね。
運営者
運営者
そうなんです。クラスタリングですね。
のがっち
のがっち
100人いるけど結局これは、5個のクラスタに集約される、みたいな。
運営者
運営者
そうそう。マーケティングとかでよく使われるのは、こういう行動をしているとクラスタAとかいうふうに分類すると思うんですけど、それの自然言語解析バージョン。
のがっち
のがっち
ってことですよね。なるほど。
運営者
運営者
その橋下徹のトランプ論っていうトピックだったら、メルマガナンバー18とかいろんなところで所属しているのが分かります、っていうトピックが出せるんですよね。
のがっち
のがっち
僕いま本を読んでいますけども、1番の頃から100番の頃までまんべんなく登場してるって感じですよね。
運営者
運営者
そうなんです、トランプさん話題を振りまいてくれますから、いろんなメルマガでトランプさんの話題が出てる。
のがっち
のがっち
なるほど、橋下さんも語りたいと。トランプに関して。またトランプの話題触れたよと。これで俺のメルマガが捗る、みたいな感じなんでしょうね。
運営者
運営者
そういうことです。
のがっち
のがっち
他に何かあります?面白いの。
運営者
運営者
面白いの、後はですね。あるトピックでは、安倍さん(安倍総理)の対応ミスっていうトピック名を付けたモノがあります。
のがっち
のがっち
そのトピック名を付けたのはせいやでしょ。
運営者
運営者
そうです。
のがっち
のがっち
その前にさ、そのトピックに出てくる単語っていうのを教えて下さいよ。
運営者
運営者
特徴的な単語は「組織」「森友学園」「挽回」っていった単語になってます。
のがっち
のがっち
あと「問題」とかあるね。
運営者
運営者
そうですね、ここら辺の単語がこのトピックを構成する上での特徴単語。
のがっち
のがっち
あと「財務省」とかもあるよね。
運営者
運営者
これは、安倍さんがこの一年通じて加計問題もそうだし森友学園問題もそうだし、財務省の対応のところでもそうだし、いろんなところで、こうすればもっとこう不満がすぐに収まったのにっていう、対応ミスだったっていうふうに橋下さんがよく論じてたんですよ。
のがっち
のがっち
なるほど。でもこれ「加計」っていうの出てないよ。「加計学園」とかはないよ。森友と財務省はある。
運営者
運営者
「加計」はなかったですかね。
のがっち
のがっち
でもまあ、挽回とかあるから。橋下さん的には、安倍総理でそういう問題が起きたけど対応次第では挽回できたはずだろう、みたいな。やつはミスったみたいなのを論じたんでしょうね。
運営者
運営者
論じてました。で、それはどのメルマガ号で論じていたかというと、その所属確率はこんな感じで出せますと。
のがっち
のがっち
まあ、10回ぐらいは出てるよね。110個のうち。
運営者
運営者
あと、一個しか所属しないトピックもあります。
のがっち
のがっち
まあ、32個もあると、結局それってもうほぼそれしかねーじゃんってやつもありそうだね。例えばなにこれ、イタリア五つ星運動っていうトピックがありますね。
運営者
運営者
イタリアって第二世界大戦の失敗の時にムッソリーニが悪かったという話で、今政党が20個とか30個とかちっちゃい政党がいっぱいあって、誰も意思決定できないみたいな感じになっているらしいんですよ。
のがっち
のがっち
アメリカの二大政党とは全く違うって感じ?
運営者
運営者
全く違うんですよ。これでは暴君は生まれないけれども何も決定できない困った状態。
のがっち
のがっち
まとまらないと。
運営者
運営者
そして投票率が低くて政治が機能しない。なので、小さい政党の中で1番になった政党に全権委ねようよ、というのが五つ星運動です。しかし、それでは第二次世界大戦と同じ失敗をすることになるということで、棄却されたんですけど。
のがっち
のがっち
過半数もってなくても決定しちゃおうと。でもそれって民主主義の原則としてどうなのっていう話になるからね。
運営者
運営者
そうなんです。それがイタリア五つ星運動ですね。
のがっち
のがっち
まあ、この自然言語解析を使うと、さっき言ったクラスタ分析のような感じで、今回は橋下さんのメルマガだったけれども、例えば新聞とかあるニュースメディアとか、どういうトピックとかを主に扱っているんだっけ、っていうのを分析するのに非常に使えるっていうことですよね。
運営者
運営者
おっしゃる通りです。そういうことですね。
のがっち
のがっち
興味のあるひとはちょっと試してみるとよさそうですね!
運営者
運営者
githubにコードは上げているので、cloneして、すぐに使えますので、興味ある方は試してみてください^^

ということで、今回は、自然言語解析の本を出版したことについて話しました。本の全文はこちらのリンクから読むことが出来ます!

ABOUT ME
北爪 聖也
ダメ営業マンからデータサイエンティストへキャリアチェンジ。 技術とビジネスサイドの橋渡しが出来るため、ダメ営業マンの経験も役に立ちました。 広告代理店ADKにて3年勤務→データ分析受託の会社DATUM STUDIOにて1.2年勤務後、独立。
【30分で作る予測モデル】のYouTube動画はこちら

予測モデルを作るとはどういうことか!
全体像を解説した動画を公開しています。データを確認し、前処理し、予測モデルを作るまでの一連の動作が気になる方はこちらからどうぞ!

また株式会社piponでは医薬業界の企業様向けにDXの成功事例を集めた医薬DX事例集をe-bookとしてご提供しております。

ご興味ある方がいらっしゃいましたらこちらのフォームよりご連絡頂けると嬉しいです。