自然言語処理の基本と技術
初めに私は自然言語処理について何一つとしてわからない状態から読んでいることをここに宣言しておく。
自然言語処理はなにに使われるか
自然言語処理とは我々人間が話すとき書くときに使う自然言語をコンピュータがわかるようにし、処理することである。これはなにに使われるのか。
検索エンジン
一つは検索エンジンである。例えばGoogleで「東宝project」と検索したら「東方Project」として検索してくれる。これも自然言語処理のおかげだ。
検索ワードとトラフィックのランキングなど複数の指標から検索の表示順を決めるが、その上で検索ワードを適切に処理することは重要である。その言葉がどういった意味かによって、行先が決まった検索か情報を探すための検索かなど判断しなくてはいけない。
機械翻訳
代表的な例には機械翻訳もある。代表的なサービスはDeepLやGoogle翻訳だ。
例えば日本語から英語に訳す場合は語順もことなり、しかも日本語は分かち書きさえしないから単語と単語の間がどこにあるかもわからない。こういったものは形態素解析という技術を用いる。
ほかにも複数あるが簡単な紹介のためのブログとしては煩雑になるので実際この本をお手に取りご自分の目で頭でご確認ください。
自然言語処理の難しさ
コンピュータからすればあらゆる自然言語というのは人間が外国語を学ぶのに相当する。これをどんな条件でも適切に動作させるというのは難しいのだろうと簡単に予想がつく。
さらにコンピュータが扱う言語は厳格です。解釈も一様に定まります。逆に我々が使う自然言語は全く異なり、一文で複数の解釈ができたりします。
この例の一つがこれ
こんばんは。「頭が赤い魚を食べる猫」の考案者です。最近「頭が赤い魚を食べる猫」を再びツイッター上で話題で話題にしていただけているようなので、再掲しておきますね。 pic.twitter.com/hZLOBMOtW3
— 中村明裕 (@nakamurakihiro) February 21, 2020
さらに日本語を扱う場合単語と単語の間さえ理解するのは難しいです。これは日本語を外国語として学ぶ方々にも共通しますが、、、
英語は分かち書き、単語と単語の間で空白をいれること、をします。
だからその単語を全く知らなくともどこが区切りなのかはわかります。
しかし、日本語や中国語、朝鮮語などは分かち書きはしておらず句読点でもなければ分けられないわけです。
そこで自然言語処理では形態素解析の途中で分ける作業を行います。
まとめ
この本の神髄まで触れられてはいませんが、基礎から書いている解説本をまとめるとただの要約にしかなりませんから省きます。
日本は人手不足といわれる時代に入っていのでカスタマーサポートなどで人の要求-クエリ-を満たすサービスの重要性が増すと思います。
この自然言語処理という技術を学び利用できることは重要なのではないのでしょうか。
その為に、この本を一度お手に取ってみてはいかがでしょうか。
![](https://ssl-stat.amebame.com/pub/content/9477400408/amebapick/item/picktag_autoAd_301.png)