ChatGPTをはじめとするAIの登場で話題となった「自然言語処理」。
漢字の意味どおり言葉を扱うための技術です。
人間が扱う言葉をそのままコンピュータが分析できる技術だと覚えればOKです。
ではその自然言語処理は、どのようなステップで進められるのか、どんな分野で活用されているのか、気になった方のために情報をまとめました。
AIの基礎から学習したい方は、ぜひ最後までご覧ください。
自然言語処理とは:自然言語をコンピュータで扱う技術
自然言語処理をわかりやすく説明するなら、人が使う言葉や文章をコンピューターで処理する技術です。
たとえば、日本語で書かれた文章をコンピューターが読み取り、その文章が何について書かれているのか、どのような感情が込められているのか、何をしたいのかなどを理解することができます。
これは、コンピューターが日本語を理解し、それを処理することができるようになったためです。
この技術は、翻訳や文章の自動要約、検索エンジンの改善など、様々な分野で活用されています。
そもそも自然言語とは:人間がふだん話している言葉や文章
自然言語とは、日本語や英語など人間がふだん話している言葉や文章を指す用語です。
コンピュータへの命令文である「プログラム言語」と区別するための用語です。
プログラム言語と区別する理由は、人間が使う自然言語は非常にあいまいで多様であるという特性を持っているからです。
たとえば「白い大きな尻尾の犬」という文には、「白い尻尾が特徴の大きな犬」と、「大きな尻尾が特徴の白い犬」と2通りの受け取り方ができます。
言葉のあいまいさという特徴を持ち、命令の実行ではなくコミュニケーションを目的として使われるのが自然言語処理の特徴です。
自然言語とプログラム言語の違い
自然言語をコンピュータが理解することは非常に難しいと考えられています。
自然言語は、曖昧さ、多義性、言い回しの多様性、文脈依存性、文法上の例外など、様々な複雑さを持っているからです。
自然言語とプログラム言語の違いを表にまとめました。
項目 | 自然言語 | プログラミング言語 |
---|---|---|
構文の違い | 曖昧な構文規則をとる | 明確な構文規則に従う |
目的の違い | 情報伝達、コミュニケーション、表現、娯楽 | コンピュータに命令を与えたり、処理を実行 |
文脈の違い | 多くの複雑な要素によって特徴づけられる | 正確な文法と構文規則によって設計 |
形式の違い | 口頭表現や書面表現など様々な形式 | テキストベースのコードとして書かれ、実行 |
知識の違い | 一般的な知識、文化的な知識、個人的な経験、感情など、様々な知識を含む | 特定のコンピュータシステムやアルゴリズムに関する専門的な知識が必要 |
ほかにも、自然言語は人々の文化や社会的背景に依存するため、言語学だけでなく心理学や哲学などの知識も必要になります。
たあいもない世間話ってコンピュータにとっては、難しいことなんだね。
こうやって比較すると、会話ってとても複雑な行動だとわかるね。
自然言語をコンピュータが処理するためには多くの専門家が関わることとなり、研究開発に多大な時間と努力を要します。
自然言語処理の3つの基本的な技術
あいまいで複雑な自然言語をコンピュータで処理するには、言葉をしっかり解析しなければいけません。
解析技術の基本は、次の3つです。
- 形態素解析
- 係り受け解析
- 固有表現抽出
それぞれ、なるべくわかりやすく解説します。
形態素解析:文章を最小の単位に区切って解析する
形態素解析とは、文章を細かく分解して、それぞれの言葉の意味や働きを分析することです。
次の3ステップで行います
- トークン化:言葉を最小単位まで分割する
- 品詞タグ付け:トークンの品詞を判別してタグ付けする
- レンマ化:トークンを基本形に整えて辞書を作る
例えば、「私はりんごを食べました。」を形態素解析してみましょう。
- ステップ1トークン化:言葉を最小単位まで分割する
- 私
- は
- りんご
- を
- たべ
- ました 。
- ステップ2品詞タグ付け:トークンの品詞を判別してタグ付けする
単語 品詞 私 代名詞-一般 は 助詞-係助詞 りんご 名詞-一般 を 助詞-格助詞 たべ 動詞-自立 ました 助動詞 - スッテプ3レンマ化:トークンを基本形に整えて辞書を作る
トークン 品詞 レンマ 私 代名詞-一般 私 は 助詞-係助詞 は りんご 名詞-一般 りんご を 助詞-格助詞 を たべ 動詞-自立 食べる ました 助動詞 ます
このように、文章を形態素解析することで、それぞれの言葉がどのような品詞で使われているかを分析することができます。
係り受け解析
係り受け解析とは、文章の中で言葉と言葉の関係を調べることで、文章の構造を分析する技術です。
たとえば、「私はりんごを食べました。」という文章があるとき、係り受け解析は「私」が主語で、「りんご」が目的語で、「食べました」が動詞であることを見つけます。そして、「私は」と「りんごを」、「りんごを」と「食べました」のような言葉と言葉の関係を調べ、最終的に文章全体の構造を解析することができます。
係り受け解析は、文章を分かりやすくするために重要な役割を果たします。
固有表現抽出
固有表現抽出とは、文章中に現れる人名、地名、組織名、日付などの固有の名称を自動的に抽出する技術です。
たとえば、「私は東京都に住んでいます」という文章があった場合、固有表現抽出を行うと、「東京都」が地名であることを自動的に認識し、抽出することができます。
固有表現抽出によって「アップル」という単語が果物をさすのか会社名を指すのか、AIが理解できるようになるよ。
自然言語処理の活用事例3選
自然言語処理はすでに多くの場面で活用されています。
ここでは、具体例として以下5つをご紹介します。
- ChatGPTをはじめとするAIチャットボット
- 画像生成AI
- 検索エンジン
- 機械翻訳
- かな漢字変換
ひとつづつ掘り下げていきましょう。
ChatGPTをはじめとするAIチャットボット
ChatGPTをきっかけに自然言語処理に興味をもった方も多いのでは無いでしょうか。
人間と自然に会話するAIチャットボットも自然言語処理を活用した技術です。
GPT(Generative Pre-trained Transformer)を日本語訳すると、「事前の学習から文章を生成する変成器」になります。
- Generative(生成)
- Pre-trained(事前に学習された)
- Transformer(変成器)
ChatGPTは「事前の学習から文章を生成してチャットする変成器」ってことだね。
自然言語処理そのものって感じのAIなんだね。
画像生成AI
入力したプロンプトを理解して画像を出力する「画像生成AI」も自然言語処理の技術を使っています。
自然言語処理の技術を用いることで、テキストデータから画像を生成することが可能となりました。
例えば、「緑の草原に立つ魅力的な女性」という文章を入力すると、それに対応する画像が生成されます。
絵を練習しなくても、クオリティの高い画像を作れるんだね。
この記事の画像ではAIが生成した画像も使っているよ!
最近では画像データを自然言語で説明する技術もあります。画像に写っているものを自然言語で説明することで、画像の内容を理解しやすくするために使われます。
たとえば、犬の写真に対して「茶色い犬が青い空の下で走っている」というような説明を付けることができます。
検索エンジン
「ググる」でおなじみの、Google検索をはじめとする検索エンジンも自然言語処理の技術を活用しています。
自然言語処理の技術を活用することで、同音異義語や類義語を正確に判断できるようになったり、ユーザーがより自然な言葉で検索できるようになりました。
たとえば、「リモートワークのメリット」と検索すると、「在宅勤務のメリット」といった、意味的に類似する単語が含まれたページも表示されることがあります。
これらの検索結果の返し方は、自然言語処理AIが類語や同義語を判断して、適切な結果を表示していると考えられます。
Google検索にも自然言語処理AIが使われていたんだね。
2019年にBERTと呼ばれるAIの導入をGoogleが発表した時、業界では話題にもなったよ。
機械翻訳
Deeplをはじめとする機械翻訳も、自然言語処理の技術を使っています。
自動翻訳の裏側では、人間が描いた翻訳対象の文を自然言語処理によってコンピュータが理解できる形式に変換し、その後目的の言語に変換されています。
自然言語処理が導入される以前の機械翻訳は、単純に単語を翻訳するだけでした。そのため文法や文脈を無視した不自然な翻訳となり、正確とは呼べないものだったのです。
以前と比べて翻訳サービスが使いやすくなったのは、自然言語処理技術のおかげだったんだね。
翻訳元の文法構造や文脈まで分析しているから、翻訳できる言語数もめっちゃ増えたよ。
かな漢字変換
パソコンやスマホで日本語を入力する際に使う「かな漢字変換」にも、自然言語処理の技術が使われています。
たとえば「きのう」を変換する場合、「昨日」と「機能」の両方の漢字が考えられます。「きのうはありがとうね」とう文章なら「昨日」である可能性が高いですよね。
そのため、自然言語処理を活用したカナ漢字変換では文を分析した上で「昨日」が選ばれやすくなります。
単語の意味や文脈の理解が重要となる「かな漢字変換」では、複数の候補の中から最適な漢字を選択する自然言語処理の機能がマッチしているのです。
パソコンを変えてから、変換の間違いが多くなったんだよね…。
AIが仕事してないのかもね。笑
まとめ
自然言語処理は日本語や英語など、人間が使っている言葉をコンピュータでも扱えるようにする技術です。
命令を実行するために作られたプログラム言語と違い、あいまいな言葉と多義語など、コンピュータが理解するのには課題も多くありました。
自然言語をコンピュータに教えるために、形態素解析、係り受け解析、固有表現抽出といった技術を使います。
そうして学んだAIは言語生成AIだけでなく、検索エンジンや機械翻訳、かな漢字変換など多くの用途で活用されています。
技術の発展と共にAIチャットボットや画像生成AIが勢いを増してきたように、今後も新たな分野で使われていくでしょう。
コメント