テキストマイニングの基礎
データベースについて話したので、データを同統計を取る、という話になります。
というか集めるだけ集めて統計処理しないならデータ取るだけ無駄なので・・・。
さて、その中でテキストデータの処理について小話してみます。
というものの、数値データのヒストグラム化とかは中一の範囲(2011年ごろの改定から)なので基本的統計処理はできるでしょう、という前提です。
さて、テキストデータを処理するうえで最も大事なのはデータ収集対象(コーパス)です。
例えばtwitterを用いて特定のハッシュタグで出てくる単語をピックアップすることでそのハッシュタグ界隈の時系列と文章を取得します。
TwitterのAPIを使って特定のハッシュタグが含まれた投稿を取得するhttps://qiita.com/yamakazu4u/items/2c909aa4fa126716f0b9 とかを参考にデータを拾ってみてください。
次に実施する内容としては形態素解析になります。
単語ごとに区切る作業です。 「次に実施する内容としては形態素解析になります。」を形態素解析にかけてみると「次/に/実施/する/内容/と/して/は/形態素/解析/に/なり/ます。」となります。スラッシュが区切り位置ですね。
これを実施するソフトとしてはMeCab(めかぶ): Yet Another Part-of-Speech and Morphological Analyzer https://taku910.github.io/mecab/ が有名で統計解析ソフトRとかではRMeCabというパッケージがテキストマイニングの基本ですわー(※2010年頃の時点でそうだったのでもうちょい新しいソフトはあるかも)
ChaSen(茶筅)なんかは大学の研究時に使った思い出がよみがえるわー
(大学の研究が自然言語処理だった勢)
この時出てきた単語の共起頻度(一緒に出てくる回数をカウントしたりして出す値)を利用することで全体的に利用されている単語を関連性が強いと判断したりできます。
軽くググって出てきた実践例としてはこんなの。
「安倍首相の健康不安」に動揺するTwitterのテキスト解析(8月17日~8月24日分) ※2020年の記事なので、2020/8/17-24のデータです。
https://accel-brain.co.jp/algorithm-war/text-analysis-of-twitter-of-people-upset-by-abes-health-anxiety-20200817-20200824/
下のほうにある単語ごとの丸と線でつながっているほど共起頻度が高い、ですね。
こんな感じでテキストマイニングやってみると面白いかと思います。
参考資料とかは量が多いので次回に。
ちなみに「文意」をなるべく解釈しようとする理論として形態素解析結果をもとに係り受け解析を実施し、そのデータをもとに日本語表層格推定を実施、そこから深層格推定まで実施するっていう研究をしてた。それで何をするって?
今でいうところのVoiceroid / AIVoice / Cevio CS / CevioAIみたいな音声合成ソフトに感情を込めた音声を自動出力させて朗読させたい、って目的の研究だった。
まぁ吹越が大学生だった当時はまだVoiceroid結月ゆかりとかなくて感情値なんて持ってない子ばっかりの時代でしたけどねー(softalk←ゆっくりボイス やその元ネタのAquesTalkライブラリはあったけど。)