KUZEN BLOG

社内業務を100倍効率化するWebメディア

AIチャットボットと自然言語処理技術。人間の言葉を理解する技術と仕組みについて

自然言語処理

AIチャットボットが役割を果たすのに重要な技術が「自然言語処理」技術です。自然言語処理の基礎技術の紹介とともに、どのように文脈を解析しているのかについて解説します。

目次

    AIチャットボットに欠かせない自然言語処理

    人間:「今日の東京の天気、教えて」
    AIチャットボット:「東京の今日の天気は、晴れです。気温は~度で、、、」

    AIは、私たちの日常の多くの場面で登場しています。最近のAI技術は、人間がAIに話かけると、AIがまるで本当の人間のように答えてくれる事が見られます。

    AIが本当の人間のように自然な会話ができるようになり、人間の問いに賢く答えられるようになったのは、AI技術、特にAIチャットボットにおいてコアな技術である「自然言語処理」の発展があります。

    「自然言語」という言葉を初めて見た方には、「自然言語?どういう言語だ?」と思うかもしれません。今回は、最初に「自然言語」の概念から説明し、「自然言語処理」がなぜチャットボットにおいて大事な技術あるかを説明していきたいと思います。

    自然言語とは?

    自然言語の概念

    「自然言語処理」を説明する前に、まず「自然言語」について説明します。

    自然言語 (Natural Language)とは、日本語や英語、フランス語などのように、人々が日常で使っている全ての言語のことを表します。

    Natural 、すなわち「自然な」言語で表記すると、理解しやすくなるかもしれません。
    自然言語は、国籍や言語を分けずに、世界中のどの人がどの言語を使っても、自然言語の一つに含まれる事になります。なぜ「自然言語」という表記をするかというと、人為的に作られた「人工言語」と区別するためです。

    自然言語と人工言語

    自然言語は、人類の歴史の中で発展し、長い年月かけて、日常の中で自然と形成されたものです。

    その反面、人工言語(Artificial Language)または形式言語(Formal Language)は、人々が人為的に作った言語です。

    その例として、コンピューターのプログラム作成に使われる、プログラミング言語が挙げられます。

    人工言語は、構造、範囲が明確に決められている言語です。

    自然言語の文法構造を数学的な側面から形式化したものであり、使用方法が詳細に決められているため、自然言語よりも簡単な構造を持ちます。

    その反面、自然言語は、言葉の中に曖昧な表現があったり、人々の会話の中にはただ言葉の意味だけでなく、その人が生きる社会背景を分かった上で理解できる時もあるため、人工言語よりも非常に複雑であると言えます。

    このように、自然言語は同じ人間同士でも理解が難しいですが、最近では、AIの発展により、この難しい自然言語をAIが理解し、まるで本当の人間のように答えられるようになりました。

    それは、AIの世界、特にAIチャットボットのコア技術である「自然言語処理」技術が活躍しているからです。

    自然言語処理とは?

    自然言語処理の概念

    自然言語処理(Natural Language Processing)とは、人々の日常で使われるている言語である「自然言語」を、コンピューターが認識する技術であります。AIチャットボットで「自然言語処理」技術は、質疑応答、翻訳などのに活用されています。

    以前のコンピューターは、コンピューターとのコミュニケーションのために作られた人口言語を使い、人々は自然言語を使いました。そのため、自然言語をコンピューターに入力しても、コンピューターは理解できなかったです。

    まるで、日本語の分からない外国人に日本語だけでコミュニケーションを取るような事です。


    人間の「自然言語」をコンピューターが理解できるようにさせるために発展した技術が、「自然言語処理」であります。「自然言語処理」は1950年代から研究されましたが、人が具体的な文法を一からコンピューターに教えると、コンピューターが覚えるレベルでありました。

    最近は、AI技術が発展し、AI技術のコア技術である「ディープラーニング(Deep learning)」が自然言語処理に応用され、自然言語処理が飛躍的な発展を成し遂げるようになりました。


    *ディープラーニング(Deep learning)とは?:コンピューターが人間のように考え、学習できるようにする技術。

    自然言語処理における基礎技術の種類

    ここでは、自然言語処理における4つの基礎技術の紹介について紹介します。

    形態素解析(morphological analysis)

    文章を最も細かい単位で分析する自然言語処理の技術です。

    文章の中で入力された文字列を分析して、形態素という意味を持つ最小の単位で分離する技術のことを表します。

    形態素や語彙単位の内在的意味を分析する方法で、弊社のチャットボット「KUZEN」は形態素解析によるアプローチを行っています。

    KUZENの形態素解析を例に挙げると、「今日の東京の天気は?」という文章を、「今日」、「の」、「東京」、「の」、「天気」、「は」という形態素に分離し、各単語の意味を分析します。


    このように、「KUZEN」の自然言語処理は最小意味単位から文章を分析しているため、文章の理解度が非常に高くなります。

    自然言語処理

    構文解析(syntactic analysis)

     主語、動詞、目的語などの文の成分を判別し、文章の構造を解析する技術です。

    単語単位に分解された文を文法などを元に、主従関係や因果関係など単語間の関係性を把握していきます。

    例えば形態素解析された「今日の東京の天気は?」を「今日(名詞)」、「の(助詞)」、「東京(名詞)」、「の(助詞)」、「天気(名詞)」、「は(助詞)」というように判別し、意味をなすいくつかの組み合わせ(構成)までを推測します。

    自然言語処理技術においては非常に重要な技術で自然言語検索、翻訳などの機能に使われています。

    意味解析(semantic analysis)

     推測された文章の候補群から、統計や言葉同士の結びつきから意味を見出しす技術の事で、係り受け解析とも呼ばれています。

    学習するデータによっても変わってきますが推測された構成から言葉と言葉の関係性の強いもの、低いものを判断していき絞り込んでいきます。

    ただ、ひとつの言葉に対して複数の意味を持つケースも多く、その意味と関係性の構造を理解するのはとても難易度が高い解析処理といえます。

    文脈解析(context analysis)

     前後にまたがる文章から、「あれ」「これ」「それ」などの指示語を解析します。

    こういった解析を行うには、言葉の意味だけではなく文章の背景のような複雑な情報を解析することが必要になり、意味解析よりもさらに難しい高度な処理が必要になります。

    自然言語理解と自然言語生成

    自然言語処理は、「自然言語理解」と「自然言語生成」を合わせた技術であります。ここでは、自然後言語処理のコア技術である「自然言語理解」と「自然言語生成」について紹介します。

    自然言語理解とは?

    自然言語理解(Natural Language Understanding, NLU)は、コンピューターが自然言語で与えられた入力内容を理解し、与えられた内容に従って動作する事です。

    例えば、「今日の東京の天気は?」、「今日、東京の外の気温は?」、「明日、雨降る?」など、色んな形での表現に対して、AIが「天気を教えてほしいという意味だ」と理解し、天気アプリを実行するような技術です。

    自然言語生成とは?

    自然言語生成(Natural Language Generation NLG )は、コンピューターが自然言語で表現する事であります。人間の言語(自然言語)を理解し、計算の領域に持ってくる技術が「自然言語理解」とすると、「自然言語生成」はシステムの計算結果を人間の言葉(自然言語)で表現する技術です。

    この技術はチャットボットにおけるコアの技術であります。人間の「東京の今日の天気、教えて」という問いに対して、チャットボットが「東京の今日の天気は、晴れです。気温は~度で、、、」と「答える」ために必要な技術です。

    KUZENの自動言語処理 

    では最後に、弊社のチャットボット「KUZEN」が持つ「自然言語処理」技術について紹介したいと思います。

    弊社の「KUZEN」は、独自開発の自然言語処理エンジンを搭載し、ユーザーからの様々な問い合わせの対応や自由入力時の言葉の揺らぎを吸収することができます。チャットボットのインターフェイスに特化した形態素解析によるアプローチで、一発回答と選択肢表示の2パターンから選択することができます。

    また、「KUZEN」は、一般的な類義語辞書を持ち合わせており、言葉のゆらぎを調整することができます。それに加えて、業種・業界、個別の類義語を追加することも可能です。

    同じ意味を持った単語を複数登録することで、チャットボットの返答率を上げることができます。

    犬を例に挙げると、「柴犬」や「チワワ」など、細かい犬種を入力しても、チャットボットは「犬の意味を持つ」と理解できる事です。

    チャットボットは、人間の問いかけを正確に理解し、また人間の言葉で自然に答える必要があるため、「自然言語処理」はチャットボットにおいて最も重要な技術の一つです。

    「KUZEN」が持つ自然言語処理技術は、文章を細かい単位で解析し、正確に文章を理解でき、カスタマイズで専門用語を学習できる、非常に賢い機能を持っています。

    自然言語処理でできること

    翻訳業務

    スマートフォンやパソコンでテキストを打つと自動で多言語へ翻訳をしてくれます。ディープラーニングと呼ばれる技術の応用として注目されています。

    音声対話システム

    AlexaやiPhoneのsiriなど音声データを自然言語処理して、学習したデータと照合し、最適な音声データに変換して返す仕組みです。

    感情の分析

    テキストから読み取れる感情、意識などを自然言語処理を用いて解析しようというものです。SNSなどのレビューや投稿から商品やサービスなどへのロイヤリティーや意識を解析することが取り組まれています。

    まとめ

    今回は、チャットボットのコア技術である「自然言語処理」について紹介しました。チャットボットが人間の言葉を正確に理解し、まるで実際の人間みたいに答えられるようになったのは、この「自然言語処理」技術のおかげと言えます。

    他の記事でもチャットボットを理解するために役に立つ記事を作成しておりますので、ぜひ参考してみてください!