こんにちは、インフォマティクスの空間情報クラブ編集部です。
昨今スマートスピーカーやチャットボットをはじめ、AIを活用したさまざまなシステムの登場で、業務や生活がますます効率化・高度化されています。
今回はそれらのシステムに応用されている自然言語処理の仕組みや応用例についてご紹介します。
目次
自然言語とは
自然言語とは、普段私たちがコミュニケーションをとる際に使う言葉のことをいいます。
この自然言語に相対する言語として「形式言語」「人工言語」と呼ばれるものがあります。
- 自然言語:人の話し言葉や書き言葉
構文や意味合いのルールがゆるいので、利用者が文脈によって解釈のルールを変えられる。 - 人工言語、形式言語:数式やプログラミング言語など人工的、形式的に定義された言語
構文や意味が明確・厳密に定義されており、利用者はそのルールに従わなくてはならない場合が多い。
自然言語処理とは
自然言語処理(しぜんげんごしょり、英:natural language processing、略称:NLP)とは、人の話し言葉や書き言葉が持つ意味をコンピュータで解析する一連の処理のことをいいます。
では、人間が使う曖昧で複雑な言葉をコンピュータはどのように処理していくのでしょうか。
自然言語処理の仕組み
自然言語処理は主に以下の4つの工程で処理が行われます。
- 形態素解析
- 構文解析
- 意味解析
- 文脈解析
形態素解析
文章を単語に分解する工程です。
意味を持つ最小要素(=形態素)に分けて、品詞などの情報を割り当てます。これにより、文章中にある各形態素の「意味」をデータとして抽出できるようになります。
例えば、「私は白い猫と犬を飼う」という文章を形態素解析すると、以下のようになります。
【原文】
私は白い猫と犬を飼う
【形態素解析後】
私(名詞)|は(助詞)|白い(形容詞)|猫(名詞)|と(助詞)|犬(名詞)|を(助詞)|飼う(動詞)
構文解析
上記1でバラバラにしたものを集めて、どのような構文になるか、係り受けを考える工程です。
「私は白い猫と犬を飼う」を分解(=形態素解析)したのち構文解析すると、以下のようになります。
- 私は|白い|猫と犬|を飼う
- 私は|白い猫|と|犬|を飼う
- 私は白い猫と|犬を飼う
構文解析の点では、いずれの文も正しいことになります。
意味解析
構文解析された文の意味を解釈する工程です。
- 私は|白い|猫と犬|を飼う
意味:私は猫と犬を飼っている。両方とも毛色は白。 - 私は|白い猫|と|犬|を飼う
意味:私は猫と犬の両方を飼っている。猫の毛色は白、犬の毛色は不明。 - 私は白い猫と|犬を飼う
意味:白い猫と私とで犬を飼っている。猫の毛色は白、犬の毛色は不明。(しかしこの文脈だと、猫が犬のお世話をすることに?)
このように1つの原文に対して複数の解釈が存在し、この中から正しい解釈を選ぶのに重要なのが意味解析です。
意味解析では、「意味」概念を持たない機械に、自然言語文の意味をうまく伝えて理解させる必要があります。
しかし1つの単語には複数の意味がある場合が多く(例:首、はし)、それらの意味と他の単語とのつながりから考えて、適切な候補を選び出し最終的に正しいものに絞り込むのは相当難易度が高い処理です。
文脈解析
文と文のつながり(=文脈)を考える工程です。
複数の文に対して文どうしのつながりを解析します。これを行うには単語どうしの関係だけでなく、文章の背景のような複雑な情報が必要になります。
意味解析よりもさらに難易度が高く実用分野への応用は不可能といわれていましたが、アメリカのOpenAI社が開発したChatGPT(AIを使った対話型サービス)の登場で実用化の可能性が一気に高まりました。
課題
意味を理解することの難しさ
文脈を理解することは簡単ではありません。
翻訳作業でも複数の意味を持つ単語に対してどの言葉をあてはめるとよいか、言葉や文章、書き手の背景や前後関係を考えながら最適解を探していきます。
コンピュータは文脈の理解力を高めるために、紙媒体やインターネット上で使われている膨大な単語・文章を学習して日々進化しています。
しかし「文脈から意味を理解する能力=読解力」が、大量の情報から関係性を読み解き、そのつど解を出し続けるというとてつもなく複雑で難解な処理であること。ここに文脈解析の実用化における難しさがあるといわれています。
上述したChatGPTは文脈理解力が優れており、入力した文章から意図を汲み取り自然な受け答えができるため、これまでのチャットボットとは全く異次元のAIだといわれています。
自然言語処理の活用例
自然言語処理は以下のような分野に応用されています。
機械翻訳
数年前に比べてかなり精度が上がったグーグル翻訳でも、短めでシンプルな構文であれば高精度の訳が返ってきますが、長く構文が複雑な文章になると残念な結果になります。
係り受けをできるだけ正確に理解できるよう、入力段階で工夫する必要があります。
翻訳精度は原文入力時の構造にも左右されるので、
・文章をできるだけシンプルにする
・主語、述語、目的語を省略しない
・漢字を使う
などを心がけるとよいでしょう。
例)
Google翻訳
DEEPL
対話システム
スマートスピーカーや音声アシストサービス、自動応答システム、チャットボットなどがあります。
例)
Alexa
Google Home
Siri
かな漢字文字変換予測
最近では長い文章を入力しても文脈に沿った高精度な変換がされるようになっています。
例)
MicrosoftIME
Google日本語入力
テキストマイニング
整理されてないテキストデータから新たな情報を抽出し、シミュレーションして改善施策につなげます。
例)
SNS分析
アンケート分析
おわりに
今回は自然言語処理のプロセスや応用例、課題についてご紹介しました。
最後に、「ChatGPTとは何ですか?概要、活用例、利用方法について教えてください」とChatGPTに質問してみたところ、30~40秒程度で以下の回答が得られました。
(改行など若干レイアウトを編集していますが、句読点を含め、生成文をそのまま記載しています。)
ChatGPTとは
ChatGPTは、大量のテキストデータを学習して生成されたニューラルネットワークモデルです。ユーザーからのテキスト入力に基づいて、応答を生成します。
GPT(Generative Pre-trained Transformer)というアーキテクチャを使用しており、トランスフォーマーネットワークをベースにしています。これにより、文脈を理解し、自然な応答を生成することが可能です。
ChatGPTは、自然言語処理のさまざまなタスクに対応できる柔軟性と汎用性を持っています。
活用例
カスタマーサポート:
ChatGPTは、カスタマーサポートの自動化に活用できます。ユーザーからの問い合わせに対して即座に応答し、基本的な質問や問題の解決をサポートします。
情報提供:
ChatGPTは、一般的な知識や特定のトピックに関する情報を提供することもできます。例えば、ニュースの要約、歴史的な出来事の解説、科学的な事実の説明などがあります。
創作活動:
ChatGPTは、物語の執筆や詩の生成などの創作活動にも利用できます。ユーザーが与えたプロンプトに基づいて、自動的に文章を生成します。
利用手順
APIアクセス:
OpenAIのAPIにアクセスするためには、OpenAIのウェブサイトでアカウントを作成し、APIキーを取得する必要があります。
APIリクエスト:
リクエストを作成する際には、エンドポイントURLやパラメータ、ヘッダー情報などを指定します。テキスト入力として、ユーザーの発言や質問を指定します。
APIレスポンス:
APIからのレスポンスには、ChatGPTから生成された応答が含まれます。これを解析して表示したり、他のシステムと統合したりすることができます。応答は通常、JSON形式で提供されます。
応答の処理と表示:
APIからのレスポンスを受け取った後は、応答を処理し、必要に応じて表示します。例えば、Webページに応答を表示したり、アプリケーションのインターフェースに応答を組み込んだりすることができます。
フィードバックと調整:
ChatGPTは学習済みのモデルですが、完璧ではありません。生成された応答が不適切な場合や、正確な情報を提供しない場合は、フィードバックを提供してOpenAIに送信することができます。これにより、モデルの改善に寄与することができます。
重要な注意事項
ChatGPTは、入力に基づいて応答を生成するため、生成された応答の正確性や品質には注意が必要です。特に、医療アドバイスや法的アドバイスなど、専門的な領域では注意が必要です。
OpenAIの利用規約やガイドラインに従い、適切にChatGPTを使用してください。不適切な使用や悪用は避けるようにしてください。
(OpenAI社開発ChatGPTから生成された回答より)
【インフォマティクスのデータ変換技術】
インフォマティクスは、AI機械学習を使って住所やランドマーク、郵便番号など場所の情報を含んだテキストデータから位置情報付きの地図データを生成できる変換・分析技術を提供しています。
AI機械学習を使ったシステムに関するご相談を承っています。お気軽にお問い合わせください。
<参考>
『自然言語処理の基本と技術』(翔泳社/小町守(監修)、奥野陽(著)、グラム・ニュービッグ(著)、萩原正人(著))
書籍紹介
ゼロから作るDeep Learning 2―自然言語処理編
コンピュータ専門書のベストセラー『ゼロから作るDeep Learning』の続編。自然言語処理や時系列データ処理にフォーカスし、ディープラーニングを使ってさまざまな問題に挑みます。
word2vecやRNN(リカレントニューラルネットワーク)、LSTMやGRU、seq2seqやAttentionなど最先端技術を実装レベルでマスターすることを目的とした書。平易で分かりやすい言葉で説明されています。
AI vs. 教科書が読めない子どもたち
2019年ビジネス書大賞を受賞したベストセラー。昨今のAIへの過大評価や、過剰に危機感をあおる風潮に対して、AIの得意な分野、不得意な分野は何かが論理的にわかりやすく解説されています。
「いまの学生は暗記や計算を得意としているが、基本的な読解力に欠けている。暗記や計算はAIの得意分野であり、このままだと彼らの仕事はAIに代替されてしまう。」と警鐘を鳴らし、意味を理解する、読解力を向上させる教育の重要性を説いています。