第1回 『自然言語処理とは何か』

皆様こんにちは,同志社大学の土屋誠司です.今回からは,人工知能分野で再注目されている自然言語処理という技術分野についての話も,人工知能の話と並行してお送りしていきたいと思います.その第1回目として,自然言語処理とは何なのかについて書いてみたいと思います.

そもそも『自然言語処理』とはいったい何のことなのか?それは,自然言語をコンピュータで扱うための技術・方法のことになります.ここで『自然言語』とは,我々人間がコミュニケーションを行う際に普段使用している「言葉」のことです.例えば,日本であれば日本語がそれにあたります.我々は普段,コミュニケーションをとる際,顔の表情や声色,立ち居振る舞い,そして言葉を用います.これらの道具を駆使して,自分の感情や意図などを相手に伝えようとし,また,相手の思いを受け取っています.そしてこのコミュニケーションツールの中で最も扱いが難しく,奥が深いのが言葉なのです.実際,学校教育の科目として学習するのは言葉(言語)に関してだけだということからも実感できるのではないでしょうか.大人になってもその扱いの難しさに悩まされることもしばしば...とはいえ,言葉は非常に便利な道具ですし,言葉がなくては我々の生活は成り立ちません.そこで,「我々人間が普段使用している言葉をコンピュータにも理解してもらおう」,「そうすれば誰でも簡単に,便利にコンピュータを利用できるのではないか」ということで『自然言語処理』という研究分野,技術が開発されてきています.

では,誰が言葉を開発したのか?これは,「誰」と特定できるものではなく,我々人間が日常生活を営む中で長い年月をかけて自然発生的に出来上がったものになります.そのため,非常に曖昧な部分がたくさん含まれています.例えば,「自然言語処理」という言葉は,「自然言語処理」という一つの単語なのか,「自然言語」と「処理」なのか,「自然」と「言語」と「処理」なのか.普段我々が言葉を使う上ではこれらのことは大きな問題になることはないのですが,コンピュータで扱うとなると,コンピュータは融通が利きませんので,すべてのことに対して正確にきっちり定義しなければ処理させることはできません.そのため,コンピュータで言葉,自然言語を扱うのは至難の業ということになります.

しかし,何とかして自然言語をコンピュータで扱えているからこそ,パソコンやスマートフォンでの日本語の入力であったり,Web検索やスマートスピーカーであったりと便利に我々は生活できています.では,どのように自然言語をコンピュータで扱っているのか?ざっくり説明すると,まず,自然言語で書かれた文の中にどのような単語が含まれているかを確認し,それらの単語がどのように並んでいるのかを調査します.その後,表現されている意味などを知るという順で処理されるのが一般的です.人間であればほぼ意識することなく瞬時に意味を捉えることができますので,人間の能力は本当に凄いものかと思います.

次回からは,より詳細に説明していこうと思いますが,まずは,コンピュータで扱おうとしている自然言語の構造について書いてみたいと思います.