しばらく大幅に脱線していましたが、以前こんな感じのことをやっていました。
今回も参考にさせていただいたのはこちら。
- 作者: 柳井孝介,庄司美沙
- 出版社/メーカー: 翔泳社
- 発売日: 2019/01/23
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る
初学者かつエンジニア向けの大変良い書籍だと思います。 理屈より動くモノ重視な感じがして、個人的にはこういう本の方が実用的かと思ってます。
テキストデータの活用
自然言語処理の基本自体はわかったんですが、実際にそれをどう活用していくか、具体的な話になっていきますね。 内容としては、ざっくりこんな感じでした。
- テキスト分類
- 検索
- 評判分析
- 情報抽出
- 系列ラベリング
書いてある事そのままやってもあんまり意味ないので、自分で少しずつ作っていきたいと思います。
テキスト分類
テキスト分類についてはこんな感じに紹介されています。
テキスト分類とは、テキストをその内容にもとづいてあらかじめ決まっているカテゴリに仕分けることです。
文書の内容に応じて、分類していくタスクになります。 やり方としては次のようなやり方が紹介されています。
- ルールベース
- 統計ベース
- SVM (Support Vector Machine)
- RNN
ルールベース
ルールベースはざっくり言えば、特定の単語のある/なしを組み合わせて文書をブール代数的に分類するやり方です。 イメージはこんな感じ。
特に単語の並びを考慮しないのが一般的な気がします。 要するにグループを特徴づける単語がどれだけ含まれているかで分類するわけです。
統計ベース
ルールベースとは変わって、今度は分類過程はある程度ブラックボックスにするやり方です。 教師あり学習の場合は、事前に文書と文書が属するカテゴリのペアで構成される教師データが必要になります。 イメージはこんな感じです。
ルールベースでは、着目する単語を人間が判断して決定しますが、この方法では分類の判断に使用する情報はすべてコンピュータが自動で重み付けする点が大きく異なります。
SVM
SVMについては正直あんまり詳しくないんですが、こんな感じらしいです。
なるほどです。 本書では線形SVMが紹介されていますが、非線形SVMなるものもあるようで、うまいこと使えばいろいろできるのかもしれないですね。
RNN
LSTM(RNN)については過去に紹介しているので、そちらをご参照。
SVMのやり方と大きく違うのは、単語の並びを考慮している点です。 これによって、コンテキストまで意識した分類が可能、、、のハズです。 理屈上は。
感想
非常に勉強になりました。 テキスト分類はちょうどlivedoorのコーパスを使って遊んでいたので、そっちの参考にもなりました。