読者です 読者をやめる 読者になる 読者になる

IT NoViCe

IT 初心者の勉強備忘録ブログ

自然言語処理の難しさとその流れ

自然言語処理

2017年にやりたいことで言ったことの一つ、

自然言語処理” について書いていきます。

 

前回も言いましたが、参考書籍はこちら

はじめての自然言語処理

はじめての自然言語処理

 

 

 

自然言語処理とは

そもそも 自然言語 とは、

手話やプログラム言語などの人為的に作られた 人工言語 に対して

私たちの普段扱っている自然に発生した日本語や英語などの言語を呼ぶ表現です。

そして、この自然言語をコンピュータで扱おうという試みを自然言語処理と呼びます。

 

自然言語処理の難しさ

私たちは普段簡単に自然言語で会話していますが、

コンピュータで自然言語を扱おうとするとそう簡単にはいきません。

いくつか簡単に挙げていきます。

 
① 言葉の変遷

言葉は日々生まれ、なくなっています。

また同じ言葉でも意味が増えたり、減ったりします。

その言葉や意味のすべてを網羅することは簡単なことではないです。

 

② 曖昧さ

"彼は家で飛んでいる鳥を見た" という文を見て人はどう解釈するでしょう?

彼は家にいて、家の外を見ると飛んでいる鳥がいた」でしょうか?

それとも、

彼が家に帰ると、家の中を飛んでいる鳥がいた」でしょうか?

どちらも解釈としては間違っていないと思います。

これだけの簡単な文でも複数の解釈ができるので、

もっと長い文になったらより難しくなるでしょう。

 

③ 多義性

日本語では一つの単語で複数の読みがあることがよくあります。

"上手" と書かれていても ジョウズ・ウワテ・カミテ などの読みがあり、

文脈を見て判断する必要があります。

 

④ 指示語・代名詞

機械学習の参考書籍を見つけた。

 私はそれを手に取ってみた。

 とても分かりやすかった。」

二行目で書かれている ”それ” は一行目の ”機械学習の参考書籍” であり、

三行目で ”分かりやすかった” と言われているのも

二行目の "それ" であり、一行目の ”機械学習の参考書籍” です。

直接は書かれていなくても指示詞であったり、省略して表現されていたりなど

機械的に完全に判断するのは簡単ではないです。

 

これらのような問題があり、コンピュータに自然言語を処理してもらうには

順番に複数の処理を行う必要があります。

 

自然言語処理の流れ

コンピュータによる自然言語の処理には大きく以下の処理を行います。

 

Ⅰ.形態素解析

入力の文字列を各単語(正確には形態素)に分解し、

それぞれの品詞や活用などを分析します。

この処理を 形態素解析 と呼びます。

 

Ⅱ.構文解析

上記の形態素解析では文を単語ごとに区切ることしかできず、

文として正しい構文になっているかは分からない。

そのため構文が正しいか、係り受け関係はどうなっているかを

解析する必要があります。

この処理を 構文解析 と呼びます。

 

Ⅲ.意味解析

構文的には正しい文でも様々な解釈で読めることがあるので

意味解析 で文の意味を把握します。

 

Ⅳ.文脈解析

複数の文で表現された文章に 文脈解析 を行い、

文章全体の意味を把握します。

 

このような処理を行ってやっとコンピュータが日本語を理解することができます。

次回以降、各解析を一つずつ勉強していきます。

 

ではでは。