言語商会

文書の過去の版を表示しています。


日本語の自然言語処理は難しいか?

ここでは、自然言語処理の対象言語として日本語が難しいかどうか、 つまり、英語や中国語、その他の言語と日本語はどちらが処理しやすいかについて考えます。

言語学習の難しさと言語処理の難しさは異なる

まず、すぐに分かると思いますが、外国語として習得するのが難しいある言語があったとして、 その言語の自然言語処理も難しいということはありません。その逆(言語処理が難しいから 言語学習も難しい)も成り立ちません。つまり、両者はほとんど関係ありません。

これは人間とコンピューターの得意・不得意が違うからです。

日本語は文字コードが面倒、文字化けする

確かに文字コードの心配がない英語から比べれば面倒ですが、 Unicode時代に入ってからはあまり気にならなくなってきました。

日本語は英語のように分かち書きされていないから難しい

これもよく言われます。英語は分かち書き(単語と単語の間に空白を入れる)しているから簡単だ、 日本語は形態素解析が必要で難しいという意見です。

これについてはある程度正しいですが、下記に注意が必要です。以下、空白で区切られた塊をトークンと呼びます。

  • 英語の空白はだいたい単語区切り(つまり1トークン=1単語)だが、例外もある。
    • 例:New York は2トークンで1単語
    • 例:isn't は1トークンで is と not の2単語
  • 韓国語は分かち書きする言語だが、英語よりさらにややこしい。
    • 2トークンで2単語となるが、単語の区切りが空白にならず、1.5トークン+0.5トークンみたいな感じになる時がある。
    • しかも、空白の入れ方に個人差があり、揺れる場合がある。

以上まとめると、分かち書きする言語は必ずしも簡単とは限りません。

日本語の形態素解析は難しい

いえ、これも比較の問題で、英語から見れば確かに難しいですが、かなり簡単な側面もあります。 一つは、

日本語は話者が少ない/データが少ない/研究者が少ないから研究が遅れている

いえ、そんなこともありません。確かに英語よりは言語資源も研究者も少ないですが、 日本語はかなり大きな言語あるいは重要な言語で、例えば言語の経済力を見ると英語、中国語に次ぐ3位です(下記参照)。

私の印象では、研究者の数、データの豊富さ共にだいたい上記ランキングの順序になっている気がするので、 日本語はかなり恵まれた環境にあり、また研究の進んでいる言語です。

ちなみに、私の印象では世界でまともに自然言語処理ができるのは10言語ぐらいで、 それ以外の言語はコーパスもほとんどない、研究者もほとんどいない、形態素解析器もない という言語が多いです。教員時代に Tigrinya という言語(知っていますか?)の言語処理をやりましたが、 ほぼ何もない状態からのスタートでした。

まとめ

日本語の自然言語処理は難しい側面も易しい側面もあります。 言語そのものの難しさの他に言語資源の整備など社会的な側面も含めて総合的に考えれば、 英語処理よりは難しいがその次ぐらいに易しい、あるいは環境が整備されている言語だと思います。

日本語の何が難しいか?

  • 敬語
  • 文法:主語がない、代名詞が何を指すか分からない、二重否定など
  • 擬音語、擬態語
  • 曖昧な表現:ご遠慮ください、結構です、できなくもない
  • 語彙:流行語(若者言葉)、造語、幼児語
  • 表記:(外国語の)カタカナ語表記、ひらがなとカタカナの使い分け

よく聞く理由

  • 日本語はメジャーな言語ではないから難しい
  • 日本語は単語に分割されていないから難しい
  • 日本語は省略が多いから難しい
 (感想・要望・情報提供)