自然言語処理入門 – 実践編

ここでは、実際のデータを使って分析やモデルの構築を実践しています。

やはりこういった分野は実装を確認したり、自分で実装することによって理解が深まりますので、是非自分の手を動かしていただければと思います。

まずは基本的な統計量などを確認することが最初のステップになります。
実務でもまずはここから始まります。

やっぱりこうなっているのかぁ、へぇ意外とこうなんだという発見があり、個人的には非常に楽しい部分です。

Bag-of-Wordsモデルを使って、単語の出現回数をもとに分析やモデルを構築をしています。

非常にシンプルなモデルで直感的なのでベンチマークとして利用されることもあります。

ここも単語の傾向が見れて楽しい部分です。

Word2Vecを使って、口コミに出現する単語の分散表現を獲得しています。

Word2Vecは、
Queen = King - Man + Woman
といった、単語間の線形関係を表されるの、ここでも同じように試しています。

こちらも単純に楽しむことができます。

埋め込み層を使ったシンプルなBag-of-Wordsモデルで口コミの評価をしています。

単語の出現回数ではなく、単語の意味を考慮しています。

仕組みは非常にシンプルですが、処理も速く、精度もそこそこ出ることから、こちらもベンチマークとして利用することができます。

画像認識では完全に主流になっているCNNを自然言語処理に利用しています。

RNNだと時系列でアウトプットを次の時点に渡していくので、文章が長くなると最初の方の情報が落ちてしまうという問題に対応できます。

自然言語処理の発展において、非常に重要な仕組みであるAttentionメカニズムを実装しています。

一度は自分の手で実装しても良いと思います。

どこに注意を向けているか?についても確認しています。

現在主流の仕組みであるTransformerを実装し、口コミ評価をしています。

だんだんモデルが複雑化してきているので、論文を読んだだけでは完全に理解することは難しいかもしれませんが、自分で実装すればかなり理解することが可能です。

非常に重要な学習手法である事前学習-ファインチューニングというステップの影響を実際のデータを使って確認しています。

このステップにより、少量のデータでもうまくいくことがわかります。

この発見は現在も今後も重要な要素になっています。

BERTの日本語モデルを使って口コミを評価しています。

精度はやはり一段上です。

実務でも使うことも多いと思うので、一度は自分の手で動かしてみて、ある程度自由に使えるようになると、業務でも役立つと思います。

2020年9月28日