AI・機械学習 コラム

自然言語処理(NLP)とは|仕組み・活用例・課題

7月 9, 2020

こんにちは、インフォマティクスの空間情報クラブ編集部です。

昨今スマートスピーカーやチャットボットをはじめ、AIを活用したさまざまなシステムの登場で、業務や生活がますます効率化・高度化されています。

今回はそれらのシステムに応用されている自然言語処理の仕組みや応用例についてご紹介します。

自然言語とは

自然言語とは、人間どうしがコミュニケーションをとる際に使う自然発生的な言語のことをいいます。

自然言語に相対する言語として「形式言語」「人工言語」と呼ばれるものがあります。

  • 自然言語:人の話し言葉や書き言葉
    構文や意味合いのルールがゆるいので、利用者が文脈によって解釈のルールを変えられる。
  • 人工言語、形式言語:数式やプログラミング言語など人工的、形式的に定義された言語
    構文や意味が明確・厳密に定義されており、利用者はそのルールに従わなくてはならない場合が多い。

自然言語処理とは

自然言語処理(しぜんげんごしょり、英 natural language processing、略称 NLP)とは、人間の話し言葉や書き言葉を対象として、それらの言葉が持つ意味をコンピュータで解析する処理技術のことをいいます。

では、人間使う曖昧で複雑な言葉をコンピュータがどのように処理していくのか、その仕組みを見ていきましょう。

自然言語処理の仕組み

自然言語処理は主に以下の4つの工程で処理が行われます。

1. 形態素解析
2. 構文解析
3. 意味解析
4. 文脈解析

形態素解析

文章を単語に分解する工程です。

意味を持つ最小要素(=形態素)に分けて、品詞などの情報を割り当てます。これにより、文章の中にある各形態素の「意味」をデータとして抽出することができるようになります。

例えば、「私は白い猫と犬を飼う」という文章を形態素解析すると、以下のようになります。

【原文】
私は白い猫と犬を飼う

【形態素解析後】
私(名詞)|は(助詞)|白い(形容詞)|猫(名詞)|と(助詞)|犬(名詞)|を(助詞)|飼う(動詞)

構文解析

上記1でバラバラにしたものを集めて、どのような構文になるか、係り受けを考える工程です。

「私は白い猫と犬を飼う」を分解(=形態素解析)したのち構文解析すると、以下のようになります。

  • 私は|白い|猫と犬|を飼う
  • 私は|白い猫|と|犬|を飼う
  • 私は白い猫と|犬を飼う

構文解析の点ではいずれの文も正しいことになります。

意味解析

構文解析された文の意味を解釈する工程です。

  • 私は|白い|猫と犬|を飼う
    意味:私は猫と犬を飼っている。両方とも毛色は白。
  • 私は|白い猫|と|犬|を飼う
    意味:私は猫と犬の両方を飼っている。猫の毛色は白だが犬の毛色は不明。
  • 私は白い猫と|犬を飼う
    意味:白い猫と私とで犬を飼っている。猫の毛色は白だが犬の毛色は不明。(この文脈だと猫が犬の世話をすることに ...?)

このように1つの原文に対して複数の解釈が存在しますが、この中から正しい解釈を選ぶのに重要なのが意味解析です。

意味解析では、「意味」という概念を持たない機械に自然言語文の意味をうまく伝えて理解させる必要があります。

しかし1つの単語に複数の意味がある場合が多く(例:お盆)、それらの意味と他の単語とのつながりから考えて、適切な候補を選び出し最終的に正しいものに絞り込むのはかなり難易度が高い処理です。

文脈解析

文と文のつながり(=文脈)を考える工程です。

複数の文に対して文どうしのつながりを解析します。これを行うには単語どうしの関係だけでなく、文章の背景のような複雑な情報が必要になります。

意味解析よりもさらに難しく、現状、実用分野への応用は不可能といわれています。

課題

意味を理解することの難しさ

文脈を理解するのは難しいことです。

翻訳作業でも、複数の意味を持つ単語に対してどの言葉をあてはめるとよいか、言葉や文章、書き手の背景や前後関係を考えながら最適なピースを探していきます。

コンピュータは文脈の理解力を高めるために、紙媒体やインターネット上で使われている膨大な単語・文章を学習して日々進化しているのでしょう。

しかし、人間が成長・学習の過程で身につけていく(はずの?)「文脈から意味を理解する能力=読解力」が、大量な情報の中から関係性を読み解き、そのつど解を出し続けるという、とてつもなく複雑で難解な処理であること。

ここに文脈解析の実用化における難しさがあるといわれています。

自然言語処理の活用例

自然言語処理は以下のような分野に利用されています。

機械翻訳

数年間に比べてかなり精度が上がったグーグル翻訳でも、短めでシンプルな構文だと高精度の訳を返してきますが、長めで構文が複雑な文章になると残念な結果になります。

係り受けをできるだけ正確に理解してもらえるよう、入力段階で工夫する必要があります。(これは人間どうしのやりとりでも大事ですね。)

ちなみに、翻訳精度は原文入力時の構造にも左右されるので

・文章をできるだけシンプルにする
・主語、述語、目的語を省略しない
・漢字を使う

などを心がけるとよいでしょう。

例)
Google翻訳
DEEPL
みらい翻訳

対話システム

スマートスピーカーや音声アシストサービス、自動応答システム、チャットボットなどがあります。

例)
Alexa
Amazon Echo
Google Home
Siri

かな漢字文字変換予測

最近では長い文章を入力しても文脈に沿った高精度な変換が出るようになっています。

例)
MicrosoftIME
Google日本語入力
ATOK

テキストマイニング

整理されてないテキストデータから新たな情報を抽出し、シミュレーションしたり改善施策につなげます。

例)
SNS分析
アンケート分析
株式市場予測

おわりに

今回は、翻訳や編集、ライティングなど、言葉を扱う業務を担当している私、空間情報クラブ編集部スタッフが自然言語処理についてご紹介しました。(あらためて、言葉は奥が深い。)

人間が機械に言葉を教えるというと、映画「ターミネーター2」でジョン・コナー少年がターミネーター(シュワちゃん)に会話を教えるシーンを思い出します。

場面は逃亡中の車中です。

サラ・コナー:100キロ以上は出さないで。つかまると面倒でしょ。
ターミネーター:理解した。
ジョン・コナー:待ってよ、それじゃダメ。みんなが喋るのを聞いてて覚えなきゃ。「理解した」なんて言い方は普通しないよ。言うんなら「ノープロブレム」。イキがってるやつをおちょくってやりたきゃ「ダサいぜ」。喧嘩売ってやろうと思ったら「さっさと失せろ、ベイビー」だ。

その後、シュワちゃんは敵のターミネーターT-1000を追いつめて銃で撃つ前に「さっさと失せろ、ベイビー」と学習成果を披露します。Good Job!

それではまた。

【インフォマティクスの独自技術 GC Data(ジーシーデータ)】
GC Dataは、 住所やランドマーク、郵便番号など場所の情報を含むテキストデータから位置情報付きの地図データを生成できる変換・分析技術です。 この技術を活用することで、正確で見やすくわかりやすい「犯罪発生マップ」が実現しました。

データ変換・分析技術について詳しくはこちら

書籍紹介

ゼロから作るDeep Learning 2―自然言語処理編

コンピュータ専門書のベストセラー『ゼロから作るDeep Learning』の続編。自然言語処理や時系列データ処理にフォーカスし、ディープラーニングを使ってさまざまな問題に挑みます。

word2vecやRNN(リカレントニューラルネットワーク)、LSTMやGRU、seq2seqやAttentionなど最先端技術を実装レベルでマスターすることを目的とした書。平易で分かりやすい言葉で説明されています。

この本を詳しくみる

AI vs. 教科書が読めない子どもたち

2019年ビジネス書大賞を受賞したベストセラー。昨今のAIへの過大評価や、過剰に危機感をあおる風潮に対して、AIの得意な分野、不得意な分野は何かが論理的にわかりやすく解説されています。

「いまの学生は暗記や計算を得意としているが、基本的な読解力に欠けている。暗記や計算はAIの得意分野であり、このままだと彼らの仕事はAIに代替されてしまう。」と警鐘を鳴らし、意味を理解する、読解力を向上させる教育の重要性を説いています。

この本を詳しくみる

記事の評価をお願いします!

  • この記事を書いた人
  • 最新記事

空間情報クラブ編集部

空間情報クラブ編集部です。GISソフトの便利な機能をご紹介する活用講座やGIS用語解説、地図、位置情報、AI機械学習などをテーマにしたコラムを掲載しています。ご意見・ご感想、寄稿、コラボ企画などありましたらぜひご連絡ください。お待ちしております!

-AI・機械学習, コラム

© 2021 株式会社インフォマティクス