platonのブログ

思考の整理とアウトプット、たまにグラブル

テキストマイニングで読み解くちんちん亭語録

はじめに

以前書いたchin先生、もといちんちん亭の漫画に登場する語録について考察した記事がわりと読まれているようで、感謝しております。

platon.hatenablog.jp

今回は、そんなちんちん亭語録をテキストマイニングという分析手法を用いて読み解いていきたいと思います。 

 

テキストマイニングって?

そもそも「テキストマイニング」とはなんでしょう?

手元の入門書によると文章から意味のある情報や特徴を見つけ出そうとする技術の総称だそうです。

具体的には、レビューサイトの口コミやSNS、ブログによる個人の発信情報、はたまたインタビューの書き起こしや営業日報といった、業務上作成した文章等から様々な知見を見出すことがテキストマイニングによって出来るようです。

 

こうした大量の文章の中には輝く宝のような情報が隠れていることがありますが、それを人間の目で見つけ出すのは非常に手間がかかります。

星の王子さまが「大事なことは目に見えない。大人にはわからない」と語っていたように、子ども時代を通り過ぎた我々にとって文章を分析するのが難しいというのもうなずけます。

 

さて、そんな純朴さを失った大人にも武器があります。それが、テキストマイニングです。

「大人は数字のことばかり考えている」と王子さまが言うならば、とことん数字を使ってやりましょう。

 

大まかな仕組み

では、テキストマイニングとはどのような仕組みなのでしょうか。

様々な分析ツールがありますが、今回は無料の「KH Coder」というソフトを使います。

 

まず、コンピュータで言葉を解析するためには自然言語処理という技術が使われます。

そのはじめの段階で、テキストデータの形態素解析が行われます。

具体例を見てみましょう。

f:id:Platon:20200926141637j:plain

こちらは無料の形態素解析ソフト「Mecab」を用いて分析したものです。

分析したい文章を入力し、Enterを押すだけで簡単に処理してくれます。

内部に搭載した辞書によって文章を意味のある最小のまとまりに分割し、品詞や活用形まで示しています。

 

またここで注意する必要があるのは、コンピュータは文章の内容を理解しているわけではないということです。

辞書に従って機械的にはじき出した各要素を扱っているにすぎません。

 

こうして得られたテキストデータを実際に分析していくことになります。

KH Coderではデータの前処理もやってくれるので、テキストを用意するだけでOKです。

 

分析対象データの用意

さて、分析に使うデータですが、テキストエディタ(メモ帳など)に用意します。

今回の対象はちんちん亭語録なので、まずはそれらのデータを集めます。

 

ちょっと検索しただけでは語録がまとまっているサイトが見つからなかったため、「Chin先生語録bot」というTwitterアカウントのつぶやきを拝借します。

こちらのアカウントに発掘されてからアクセスが伸びたようです。感謝。

 

つぶやきをすべて取得しようと思いましたが、Twitter APIの利用申請が必要かつ過去1週間分、また3200ツイート分しか取得できないという情報を目にし、データ不足を懸念しました。

そこで、手動で集めることを決意。

とりあえず半年分のつぶやきをさかのぼり、RTやchin先生のものではない語録を省き、重複は除外して残ったのが328件でした。

幸いデータ自体が面白いので、楽しく作業することができました。

f:id:Platon:20200926145232j:plain

収集したデータの一部

データが集まったら、いよいよ分析作業です。

 

KH Coderによる分析

まずは分析の前にテキストデータに不備がないかをチェックします。

とはいえ、これも自動でやってくれるので楽ですね。

今回は半角のハートマーク(♥)が処理できないようでしたので、ハートをすべて削除してもらいました。

そして内蔵のMecabで形態素解析をやってもらいます。データ数が少ないので、3秒で終わりました。

抽出語リスト

では分析です。

はじめにどんな単語がちんちん亭語録に多く登場しているのかを確認しましょう。

結果は以下の通りです。

f:id:Platon:20200926115133j:plain

「セックス」や「射精」はアダルト作品で一般的に使われている語句なので、「アクメ」や「ママ」、「下品」といった言葉が他の著者と比較した際のちんちん亭の特徴と言えるでしょう。

KWICコンコーダンス

次に、気になったキーワードが原文で実際にどう使われているのかを確認します。

KWIC(Keyword in context)コンコーダンスという機能を使うことで、以下のように前後の文脈を見ることができます。

f:id:Platon:20200926115552j:plain

さらに客観的にデータを把握したい場合は、コロケーション統計を利用します。

f:id:Platon:20200926115630j:plain

これにより、キーワード(今回はアクメ)の左右5語以内に出現する語句を確認することができます。

よりキーワードに近い位置の語句が関連性が強いと判断され、スコアも高くなっていますね。

データが増えてくれば、この統計もより面白くなると思います。

共起ネットワーク

お次は語句の関連性を調べてみましょう。

共起ネットワークという機能を使うことで、直感的にわかりやすく把握できます。

f:id:Platon:20200926132159j:plain

関連性のある語句が線で結ばれ、太さが関連の強さとして表現されます。

このままでは少しわかりにくいので、描画する共起関係やツリーの表示設定を調整してみましょう。

f:id:Platon:20200926132104j:plain

だいぶすっきりしましたね。

これにより、ちんちん亭語録の包含するテーマが見えてきた気がします。

階層的クラスター分析

視覚的に分析する手法として、階層的クラスター分析という方法もあります。

これは似たものを集めてグループ化する手法です。

f:id:Platon:20200926120007j:plain

今回はデータが少ないので示唆は得難いですが、左側で結合する語句ほど類似性が高く、結合して構成されたクラスターにまた別の語句が結合し、最終的に一つの文章が構成されるという流れです。

 

考察

さて、それでは考察に移ります。

今回はデータ数が少なかったため精緻な分析は難しいですが、その中でわかったこともあります。

 

まずは、抽出語リストからちんちん亭語録の特徴として「アクメ」「ママ」「下品」が挙げられること。

また共起ネットワークから関連性の強い語句グループが見出され、以下の傾向がうかがえます。

・アクメ、下品、変態、女

頻出語句の「アクメ」や「下品」は相手を責める際に使われる

・ママ、本気、セックス

「ママ」は正面から性交に向き合う相手

・勝手、イく、イけ、イ

「アクメ」はあくまでもこちら側からの働きかけによって起こる事象であるが、相手が自発的に絶頂した場合は「イく」といった語句が用いられる

・自分、ケツ、腰

相手に動作を求める際は、局部ではない体の部分を指定する

・オラ、チンポ

自分の身体を示す際は、自らを大きく見せようと威嚇した言葉遣いになる

・身体、スケベ、吸う、乳、交尾

乳房は揉むのではなく吸う傾向にあり、相手の身体を形容する際は「スケベ」という語句を使うことが多い

 

おわりに

今回テキストマイニングを実際にやってみて、かなり面白いなと感じました。

興味のあるテーマだったので、単調になりがちなデータ収集の作業も楽しく行うことができ、また分析する際も目的意識を持って進められました。

 

一方、自分で手を動かしたことで課題も見えてきました。

一つはデータの量に関して。やはり300ちょっとのデータでは圧倒的に不足しています。

これが数千、数万くらいになればより緻密な、意味のある考察ができるのではないかと思います。

 

もう一つは、データ分析における各段階の重要度と作業量のアンバランスさについて。

データをコンピュータに読み込ませて分析結果を表示した後、そこからどんなことを読み取るかは人間の判断です。

その考察が最も重要であり、データ分析の価値とも言えるでしょう。

 

しかし、前準備のデータ収集には非常に手間がかかります。

どのようなテキストデータを集めるのか、文章はテキスト形式になっているか、表記ゆれや分析に関係ない語句(広告など)が含まれていないか・・・といったことを確認、手を加えてデータを整え、ようやく機械に食べさせる。

その頃には分析対象も見飽きてしまい、それっぽい示唆をでっちあげて済ませてしまう。

こうなってしまっては、価値ある示唆を得るためのデータ分析のはずが本末転倒です。

 

確かに画面上に表示される分析結果はそれだけで「やった感」がありますが、重要なのはそこから宝を見つけ出すことです。

星の王子さまが変だと思った「ビジネスマン」や「点灯夫」にならないよう、ハートで大切なものを感じ取りましょう。