自然言語処理

自然言語処理（しぜんげんごしょり、、略称：NLP）は、人間が日常的に使っている自然言語をコンピュータに処理させる一連の技術であり、人工知能と言語学の一分野である。「計算言語学」（）との類似もあるが、自然言語処理は工学的な視点からの言語処理をさすのに対して、計算言語学は言語学的視点を重視する手法をさす事が多い。データベース内の情報を自然言語に変換したり、自然言語の文章をより形式的な（コンピュータが理解しやすい）表現に変換するといった処理が含まれる。応用例としては予測変換、IMEなどの文字変換が挙げられる。
自然言語の理解をコンピュータにさせることは、自然言語理解とされている。自然言語理解と、自然言語処理の差は、意味を扱うか、扱わないかという説もあったが、最近は数理的な言語解析手法（統計や確率など）が広められた為、パーサ（統語解析器）などの精度や速度が一段と上がり、その意味合いは違ってきている。もともと自然言語の意味論的側面を全く無視して達成できることは非常に限られている。このため、自然言語処理には形態素解析と構文解析、文脈解析、意味解析などをなど表層的な観点から解析をする学問であるが、自然言語理解は、意味をどのように理解するかという個々人の理解と推論部分が主な研究の課題になってきており、両者の境界は意思や意図が含まれるかどうかになってきている。
基礎技術.
自然言語処理の基礎技術にはさまざまなものがある。自然言語処理はその性格上、扱う言語によって大きく処理の異なる部分がある。現在のところ、日本語を処理する基礎技術としては以下のものが主に研究されている。
処理内容とその限界.
現状発達している言語AI技術は、多次元のベクトルから、単語や文書の意味の近さを、その相互関係から推定しているもので、「AIの言語理解」は「人間の言語理解」は根本的に別物である。
「自然言語理解は、AI完全問題と言われることがある。なぜなら、自然言語理解には世界全体についての知識とそれを操作する能力が必要と思われるためである。「理解; 」の定義は、自然言語処理の大きな課題のひとつでもある。
人間とコンピュータの間のインタラクションのインタフェース（ヒューマンマシンインタフェース）として、自然言語がもし使えたら非常に魅力的である、といったこともあり、コンピュータの登場初期（1960年頃）には自然言語処理にある種の過剰な期待もあった。SHRDLUなどの初期のシステムが、世界を限定することで非常にうまくいったことにより、すぐに行き過ぎた楽観主義に陥ったが、現実を相手にする曖昧さや複雑さがわかると、楽観的な見方や過剰な期待は基本的には無くなったが、何が簡単で何が難しいのか、といったようなことはなかなか共有されなかった。
やがて、21世紀に入ってしばらく後に「音声認識による便利なシステム」がいくつか実用化・実運用され多くの人が利用したことで、何が簡単で、どういう事に使うのは難しいのかが理解されるようになりつつある模様である。
2013年のGoogleのWord2vecは今でも使われている。
2019年、GPT-2、BERTなど、ディープラーニングを応用した手法で大きなブレークスルーがあった。
具体的な課題.
自然言語処理（理解）における課題をいくつかの例を用いて示す。
英語では特に語形変化による語彙の区別をする機能が弱いため、このような問題が大きくなる。
また、英語も含めて、形容詞と名詞の修飾関係の曖昧さもある。例えば、（かわいい小さな少女の学校）という文字列があるとする。
他にも次のような課題がある。
統計的自然言語処理.
統計的自然言語処理は、確率論的あるいは統計学的手法を使って、上述の困難さに何らかの解決策を与えようとするものである。長い文になればなるほど、従来型の自然言語処理では解釈の可能性の組合せが指数関数的に増大していき、処理が困難となる。そのような場合に統計的自然言語処理が効果を発揮する。コーパス言語学やマルコフ連鎖といった手法が使われる。統計的自然言語処理の起源は、人工知能の中でもデータからの学習を研究する分野である機械学習やデータマイニングといった分野である。
一見、統計的自然言語処理は確率モデル型自然言語処理にのみ適用されるように見えるが、実は4大自然言語処理の1つである注意モデル型自然言語処理にも統計の概念が必要なのである。
主な応用.
自然言語処理の応用技術として、以下のような技術が研究・実用化されている。また、言語学への応用も考えられている。