【目次】
Part 1
1. 『言葉って難しい』~言葉の処理を理解する為の前知識~ 2. そもそも言語処理タスクは、人間も間違えやすい 3. 難しい文も前提知識のある用語に置き換えてみると分かりやすくなる 4. 世間のAIに対する一般見解と最先端AI
Part 2
5. 自然言語処理とは? 6. 文書自動分類の主な活用場面 7. 機械学習の分類タスクは二種類ある(2クラス分類と多クラス分類) 8. AIで自動分類するときのコツ
Part 3
9. AIは、どのように文書を分類するのか _9.1 特徴的な単語を抽出するとは?~林檎と言語の特徴について~ _9.2 分類したい文書をアルゴリズムで推定 10. 平成の自然言語処理、令和の自然言語処理 11. 創造性の領域とデータセットの壁 12. AIと人類最後の砦。ビジネスで上手く活用できないAIについて
Part 4
13. アマチュアがプロ並みのスキルを持つ社会で 14.『表現のこだわり≒ブランディング』とAI、自然言語処理 15. おわりに。この仕事の難しさと楽しさについて
5. 自然言語処理とは?
AI技術であるディープラーニングの応用分野には、画像処理、音声認識、自然言語処理などがありますが、中でも近年注目が集まっているのが自然言語処理です。自然言語処理とは、簡単に言ってしまうと日常的に使う文章や会話をコンピューター上で理解できるように解析する技術です。自然言語処理のタスクには、先の例題のような穴埋め問題を解かせるタスクや要約や翻訳、文書分類、文書類似度の判定などがあります。
今回はその中でも現場で用いられるコンピューターによる文書分類に焦点を当てて、AIや自然言語処理に馴染みのない読者を対象にその仕組みを紹介します。
6. 文書自動分類の主な活用場面
文書分類と一口に言っても色々な観点の文書分類があります。
- トピックの分類:ニュースなどのジャンル(スポーツ、政治、エンタメ)を分類
- 文書から属性を推定:ツイッター等のユーザーの属性(年齢、性別、住所等)を推定
- 評判推定:商品やサービスなどのレビュー文書がポジティブなのかネガティブなのかを判定
- フィルタリング処理:送付されてきたメールがスパムメールかそうでないか。または、優先的に読むべきかそうでないかを判定
- チャットボット、会話システム(文書生成でないタイプのもの):ユーザーからメッセージが入力されたときに、予め用意した文書から適切なメッセージを返す。
文書分類タスクとしてよく扱われるものは、上記のようなものが挙げられます。
7. 機械学習の分類タスクは二種類ある(2クラス分類と多クラス分類)
文書分類などの機械学習に於ける分類タスクは2クラス分類と多クラス分類に分けられます。2クラス分類は、例えば迷惑メールかそうでないかのような二種類だけを分類をする手法です。身近なものだとGoogleのGmailの機能には、重要度の高いメールを分析し、自動で振り分ける機能があるのですが、その分類も2クラス分類にあたります。
↑Gmailの重要度による自動振り分け機能
そして、3種類以上分類するようなものは多クラス分類と言います。
では、一つ実際に文書分類を作成するときを考えてみましょう。
例えば、SNSからあるアニメに関するレビューを抽出してそのテキストをネガティブな文書とポジティブな文書に分類したいと考えます。これは2クラス分類で分けられると思いますか。多クラス分類で分けられると思いますか。
答えは、多クラス分類です。
ネガティブとポジティブの2パターンだから、2クラス分類と考えてしまう人もいたかもしれませんが、評価を含まない文書やネガティブ・ポジティブ両方の意見が含まれている文書の合計4パターンが考えられるので多クラス分類でないと難しそうです。
8. AIで分類するときのコツ
基本的に分類数は少ない方が精度が高くなるので機械学習で文書分類をするときは、ラベル数を少なくしたデータセットを作るのが望ましいです。
例えば、メールを優先的に読むかどうかを判定したいとします。優先度を5段階評価にして、『5,4,3,2,1』のどれかに分類するモデルを作ろうとすると、優先したメールとそれ以外の2クラス分類のような分類軸に比べて沢山のデータが必要になるので注意です。
学習データを作るときには、優先的に読むOR 読まないの二択のデータセットを作るようにする。もしくは『5,4』に分類されたものを優先度高にとし、『2,1』に分類されたものを優先度低にして出力するなどの工夫をするといいです。