自然言語処理
出典: フリー百科事典『ウィキペディア(Wikipedia)』
自然言語処理(しぜんげんごしょり、英: Natural language processing, NLP)は、人間が日常的に使っている自然言語をコンピュータに処理させる一連の技術であり、人工知能と言語学の一分野である。「計算言語学 Computational Linguistics」も同じ意味であるが、前者は工学的な視点からの言語処理をさすのに対して、後者は言語学的視点を重視する手法をさす事が多い[1]。データベース内の情報を自然言語に変換したり、自然言語の文章をより形式的な(コンピュータが理解しやすい)表現に変換するといった処理が含まれる。自然言語の理解をコンピュータにさせることは、自然言語理解とされている。自然言語理解と、自然言語処理の差は、意味を扱うか、扱わないかという説もあったが、最近は数理的な言語解析手法(統計や確率など)が広められた為、パーサ(統語解析器)などが一段と精度や速度が上がり、その意味合いは違ってきている。もともと自然言語の意味論的側面を全く無視して達成できることは非常に限られている。このため、自然言語処理には形態素解析と構文解析、文脈解析、意味解析などをSyntaxなど表層的な観点から解析をする学問であるが、自然言語理解は、意味をどのように理解するかという個々人の理解と推論部分が主な研究の課題になってきており、両者の境界は意思や意図が含まれるかどうかになってきている。
目次 |
基礎技術
自然言語処理の基礎技術にはさまざまなものがある。自然言語処理はその性格上、扱う言語によって大きく処理の異なる部分がある。現在のところ、日本語を処理する基礎技術としては以下のものが主に研究されている。
処理内容とその限界
理論上、自然言語処理はマンマシンインタフェースの手法として非常に魅力的である。SHRDLUなどの初期のシステムは世界を限定することで非常にうまくいったため、自然言語処理は簡単だという行き過ぎた楽観主義に陥ったが、より現実的な世界では曖昧さや複雑さが増大し、楽観的な見方はなくなっていった。
自然言語理解は、AI完全問題と言われることがある。なぜなら、自然言語理解には世界全体についての知識とそれを操作する能力が必要と思われるためである。「理解; understanding」の定義は、自然言語処理の大きな課題のひとつでもある。
具体的な課題
自然言語処理(理解)における課題をいくつかの例を用いて示す。
- 次の2つの文、
We gave the monkeys the bananas because they were hungry.(猿が腹を空かせていたので、バナナを与えた。)
We gave the monkeys the bananas because they were over-ripe.(バナナは熟れ過ぎていたので、猿に与えた。)