自然言語処理(NLP)について説明します!

皆さん、「AI」という単語を耳にすることが最近増えてきたのではないかと思います。しかし、その仕組みについて知りたいと感じても、「私には難しそう...」と敬遠してしまっている方も多いのではないでしょうか?

ここでは、AIの技術である、自然言語処理について、説明していきたいと思います!

自然言語処理とは?

そもそも、自然言語とはどのような言語を指すのでしょうか。

まず、言語は大きく自然言語と形式言語の2つに分けられます。
自然言語とは私達が円滑にコミニュケーションを取るために変化しながら発展してきた言語、一方の形式言語は機械可読である言語を指します。
例としては日本語や英語などは自然言語、プログラミング言語などが形式言語となります。

では、自然言語について理解できたところで、自然言語処理(Natural Language Processing)について考えてみましょう。
自然言語処理とは常に変化し続けることばを、日常会話レベルの「話し言葉」から論文ような「書き言葉」まで、それぞれのことばの持つ意味をより正確に解析することを目標とした技術です。

しかし、開発にはいまだ難しい点も多く、なかでも自然言語に含まれる言葉の「あいまいさ」や「意味の重複」が含まれていることから、解釈違いを起こしてしまう場面が多々あります。

例えば、「履物を脱ぐ」と「着物を脱ぐ」どちらの意味にもとれる「ここではきものをぬいでください」という文章があったとします。
私達は前後の文章関係、指示語の対象からどちらの意味であるかをある程度推測することが出来ますが、機械ではそれぞれのことばがどこまで影響するのかを考慮する必要があるため、このような指示語が含まれる文章の解析は苦手とされています。

機械に自然言語を解析・処理させるためには解決すべき技術的課題が多いとされていますが、翻訳など応用できる分野はとても広いため、多くの研究が進められています。

自然言語処理の仕組み

自然言語処理は以下の4ステップを踏むことで文章を解析・完成させています。

1. 形態素解析
文章をそれぞれの意味を担う最小の単位(=形態素)に分割し、品詞などの各種情報を振り分けます。
(例) 今日もいい天気です
→ 今日(名詞)/も(助詞)/良い(形容詞)/天気(名詞)/です(助動詞)

2. 構文解析
構文解析では形態素解析で分割した単語同士の関連性を解析します。解析された情報は主に文節間の係り受け構造をツリー(図式)化されます。先ほどの例文では以下のような単純な構造となります。
(例) 今日もいい天気です
今日→も/も→良い/良い→天気/天気→です

3. 意味解析
意味解析では形容詞がどの名詞を修飾しているかなど、ことばの意味を保管している「辞書」に基づいた意味を利用して正しい文を解析します。意味の考慮せずに例文の「鮮やか」を組み立ててみると、「鮮やかな夕焼け」と「鮮やかな富士山」という2つの言葉を作ることが出来ますが、「鮮やかな富士山」というのは「鮮やか-色がはっきりしている様を表す-」にはうまく繋がらず、不適となります。
このように構文解析だけでなく「ことば」の意味を考慮することでより正確に文を解析することが出来ます。
(例) 鮮やかな夕焼けに映る富士山が綺麗だ
(○)鮮やかな夕焼け
(☓)鮮やかな富士山

4. 文脈解析
最後の文脈解析では複数の文章に形態素解析と意味解析を行い、文同士の関係性を解析します。指示語などの特定の意味をもたない言葉は文脈によって解釈が変わるため、文同士の関係性が非常に重要となります。以下の例文で指し示す「あれ」という指示代名詞は「富士山」よりも「鮮やかな夕焼けに映る富士山」の方が正確な解釈となります。
(例)鮮やかな夕焼けに映る富士山が思い出させれる。あれはとても綺麗だった。
(△)富士山
(○)鮮やかな夕焼けに映る富士山

自然言語処理の応用例

自然言語処理の応用例として代表的なものとして、以下のようなものが挙げられます。
1. 日本語入力
日本語入力の方式として、かな漢字変換が最も一般的に使われていますが、
2. 機械翻訳

弊社AIのHAL3にも、翻訳機能が搭載されています。詳しくはこちらをご覧ください。
3. 対話システム
対話システムとは、機械が人間との会話によって処理を行うシステムであり、弊社のAI HAL3も対話システムの1つです。