JPWO2014083945A1 - 意図推定装置および意図推定方法 - Google Patents

意図推定装置および意図推定方法 Download PDF

Info

Publication number
JPWO2014083945A1
JPWO2014083945A1 JP2014550077A JP2014550077A JPWO2014083945A1 JP WO2014083945 A1 JPWO2014083945 A1 JP WO2014083945A1 JP 2014550077 A JP2014550077 A JP 2014550077A JP 2014550077 A JP2014550077 A JP 2014550077A JP WO2014083945 A1 JPWO2014083945 A1 JP WO2014083945A1
Authority
JP
Japan
Prior art keywords
intention
unit
estimation
score
estimation unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2014550077A
Other languages
English (en)
Other versions
JP5921716B2 (ja
Inventor
洋一 藤井
洋一 藤井
石井 純
純 石井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP5921716B2 publication Critical patent/JP5921716B2/ja
Publication of JPWO2014083945A1 publication Critical patent/JPWO2014083945A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/268Morphological analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1822Parsing for meaning understanding

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Machine Translation (AREA)

Abstract

入力された言語の形態素解析を行い、形態素列に変換する形態素解析部2と、形態素列を部分形態素に分割し、意図を推定する単位である意図推定単位を抽出する意図推定単位抽出部4と、抽出した各意図推定単位を構成する部分形態素の意図を推定する意図推定部6と、意図間の関係に基づいた意図共起重みを計算する意図共起重み計算部8とを備え、意図推定部6が推定した1または複数の意図を用いて入力された言語に相当する意図列を生成し、生成した意図列の尤もらしさを示すスコアと、生成した意図列を構成する意図について意図共起重み計算部8が計算した意図共起重みとを用いて、入力された言語に対応した意図推定結果を生成する意図列推定部3とを備えた。

Description

この発明は、自然言語で入力されたテキストの内容が、あらかじめ設計した意図のどの意図にあたるかを推定する意図推定装置および意図推定方法に関するものである。
近年、人間が喋る言葉を音声入力し、その認識結果を用いて、操作を実行する方法が注目されている。この技術は、携帯電話やカーナビなどの音声インタフェースとして利用されているが、基本的な方法としては、あらかじめシステムが想定した音声認識結果と操作を対応付け、音声認識結果が想定したものの場合には、操作を実行するというものがある。この方法は、従来の手操作と比べると、音声の発話によって直接操作ができるため、ショートカット機能として有効に働く。一方で、ユーザは操作を実行するためにシステムが待ち受けている言葉を発話する必要があり、システムが扱う機能が増えていくと、憶えるべき言葉が増加する。また、一般的に取り扱い説明書を十分に理解した上で使用するユーザは少なく、結果的に多くの操作のためにどのように発話する必要があるか分からず、実際には限られた機能以外、音声で操作できない場合があるという問題があった。
その解決方法として、音声認識結果を直接操作に結びつけるのではなく、ユーザの発話内容からユーザの意図を理解して操作する方法が開示されている。その実現の方法の1つに、あらかじめ収集しておいた発話文例と操作(以下、学習データと記す)を対応付けておき、ユーザの言葉からユーザの希望する操作(以下、意図と記す)を統計的学習方法によってモデル化し、ユーザ入力に対して該モデルを利用して意図を推定するものである(以下、統計的意図推定と記す)。統計的意図推定の具体的処理は、まず、学習データの発話文例から学習に使うタームを抽出する。そして、そのターム集合と正解の意図を入力学習データとして、統計的学習アルゴリズムにより、各タームと正解意図との重みを学習してモデルを出力する。
学習に使うタームは、発話文例を形態素解析したデータから、単語や単語列を抽出したものが一般的である。たとえば、「○○駅に行きたい」といった発話文例からは、「○○駅(固有名詞・施設)/に(助詞)/行き(動詞・連用)/たい(助動詞)」といった形態素解析結果が得られる。形態素解析結果が得られると、「$施設$、行く」(固有名詞の施設は$施設$という特殊シンボルに変換、動詞は原形に変換)といったタームや、「$施設$_に、に_行き、行き_たい」といった2連接の形態素タームを抽出する。
結果として、「$施設$、行く、$施設$_に、に_行き、行き_たい」のタームに対して「目的地設定[目的地=$施設$]」(主意図が目的地設定で、設定する目的地が$施設$)のように表現される正解意図とを生成し、大量の発話データから作成したターム列と正解意図からなる学習データを基にモデルを作成する。モデルを作成するための方式としては、機械学習アルゴリズムを利用する。機械学習アルゴリズムは、すべての学習データに対して、最も正解意図が多く生成されるよう入力タームと正解意図との重みを機械学習する。従って、学習データに類似する発話から得られたタームセットに対しては、正解意図を出力する可能性が高いモデルが得られる。この機械学習方式としては、例えば、最大エントロピー法を使うことができる。
このような機械学習アルゴリズムに基づいて作成したモデルを使って、ユーザ入力に対する意図を推定することで、あらかじめ想定した入力ではない入力に対しても柔軟に操作意図を推定できるため、正式な言い回しを憶えていないユーザの発話であっても、適切に意図を理解して、操作を実行することが可能となる。一方で、このような自由な入力を受け付けることにより、システムの柔軟性が増し、ユーザがさらに多様な発話を行う可能性を増大させる。
想定される多様な発話とは、大きく以下の2つに分けられる。
(a)1つの操作に対して、さらに多様な単語を使った入力
(b)複数の操作からなる要求を1つの塊として入力
上述した(a)の場合、学習データをさらに増加することにより多様な発話を処理することができる。一方、(b)の場合、元々学習データが1つの意図と対応付けられているため、複数の意図を含む場合には適切な意図を組み合わせた処理を行うことができない。
そこで、1つの意図として学習したモデルを使い、1つまたは複数の意図を含む入力に対して適切な意図の列を求める発話意図認識装置が特許文献1に開示されている。この発話意図認識装置は、入力形態素に対して、あらかじめ意図区切りとなる形態素列を学習データとして用意し、上述した意図理解と同様に分割可能性のある点を推定してその分割点の分割可能性と、各分割要素の意図可能性とを掛け合わせることで、最も尤もらしい意図列を推定する。
特開2000−200273号公報
しかしながら、上述した特許文献1に開示された技術は、形態素列に対して分割点候補を学習データとして与え、その可能性を学習し、実際のユーザ入力に対して分割点推定を行うものであり、それらの分割点を学習するためのデータとして、多様な入力を集めることは困難であり、実質的には学習データ中の形態素列としての分割点を予測するのみで、言語的性質に基づき分割点の可能性を判定する場合と大差がないと考えられる。
従って、分割点を基に複数の意図を推定することは、分割点の正しさに加えて、分割後の各部分入力に対する正解意図を個別に推定した結果最も尤もらしい意図を選択し、それを接続した意図列を返すことに他ならず、その発話全体における複数の意図の妥当性が検証されないという課題があった。
このことは、意図の連続性に関する評価がなされず、以下に示す(c)から(e)が原因となり妥当な意図列を得ることができない。
(c)学習データが大量に用意できない場合は、意図推定精度が低くなるため、全体の意図列も精度が低くなる可能性がある。
(d)入力には前方の部分を受けて後方の発話が省略される場合があるため、その場合に後方の発話の意図がユーザの意図列に一致しない場合がある。
(e)入力が音声の場合には、音声認識の結果を入力とするため、誤認識を含む場合の推定間違いを意図間の整合性から排除することができない。
この発明は、上記のような課題を解決するためになされたもので、複数の意図を含む入力が行われた場合であっても、あらかじめ意図間の関係を記述しておくことにより、意図間の関係を踏まえて、最適な意図列を生成することを目的とする。
この発明に係る意図推定装置は、入力された言語の形態素解析を行い、形態素列に変換する形態素解析部と、形態素解析部が変換した形態素列を部分形態素に分割し、意図を推定する単位である意図推定単位を抽出する意図推定単位抽出部と、意図推定単位抽出部が抽出した各意図推定単位を構成する部分形態素の意図を推定する意図推定部と、意図推定部が推定した意図間の関係に基づいた意図共起重みを計算する意図共起重み計算部とを備え、意図推定部が推定した1または複数の意図を用いて入力された言語に相当する意図列を生成し、生成した意図列の尤もらしさを示すスコアと、生成した意図列を構成する意図について意図共起重み計算部が計算した意図共起重みとを用いて、入力された言語に対応した意図推定結果を生成する意図列推定部とを備えるものである。
この発明によれば、複数の意図を含む入力が行われた場合にも、当該複数の意図間の関係を踏まえて最適な意図列を生成することができる。
実施の形態1に係る意図推定装置の構成を示すブロック図である。 実施の形態1に係る意図推定装置の意図階層グラフデータ蓄積部が蓄積する意図階層グラフデータの一例を示す図である。 実施の形態1に係る意図推定装置の入力音声から意図推定単位を抽出する処理の具体例を示す図である。 実施の形態1に係る意図推定装置の意図推定部の処理を示す図である。 実施の形態1に係る意図推定装置の意図推定部の処理を示す図である。 実施の形態1に係る意図推定装置の意図列推定部の処理を示す図である。 実施の形態1に係る意図推定装置の意図列推定部の処理を示す図である。 実施の形態1に係る意図推定装置の動作を示すフローチャートである。 実施の形態2に係る意図推定装置の構成を示すブロック図である。 実施の形態2に係る意図推定装置の意図列変換テーブル蓄積部が蓄積する意図列変換テーブルの一例を示す図である。 実施の形態2に係る意図推定装置の入力音声から意図推定単位を抽出する処理の具体例を示す図である。 実施の形態2に係る意図推定装置の意図推定部の処理を示す図である。 実施の形態2に係る意図推定装置の意図列推定部の処理を示す図である。 実施の形態2に係る意図推定装置の動作を示すフローチャートである。 実施の形態3に係る意図推定装置の入力音声から意図推定単位を抽出する処理の具体例を示す図である。 実施の形態3に係る意図推定装置の意図推定部の処理を示す図である。 実施の形態3に係る意図推定装置の意図推定部の処理を示す図である。 実施の形態3に係る意図推定装置の意図列推定部の処理を示す図である。 実施の形態3に係る意図推定装置の意図列推定部の処理を示す図である。 実施の形態4に係る意図推定装置の入力音声から意図推定単位を抽出する処理の具体例を示す図である。 実施の形態4に係る意図推定装置の意図推定部の処理を示す図である。 実施の形態4に係る意図推定装置の意図列推定部の処理を示す図である。
以下、この発明をより詳細に説明するために、この発明を実施するための形態について、添付の図面に従って説明する。
実施の形態1.
以下ではナビゲーションシステムに適用される意図推定装置を例に説明を行う。さらに以下では、ユーザが発するあるいは入力する言語に対応した、ユーザの希望する操作を「意図」と記す。
図1は、実施の形態1に係る意図推定装置の構成を示すブロック図である。
意図推定装置10は、音声認識部1、形態素解析部2および意図列推定部3で構成されている。また意図列推定部3は、意図推定単位抽出部4、意図推定モデル蓄積部5、意図推定部6、意図階層グラフデータ蓄積部7および意図共起重み計算部8を備えている。
音声認識部1は、意図推定装置10に入力された入力音声に対して音声認識処理を行い、音声認識結果を返す。形態素解析部2は、音声認識結果を入力として形態素解析を行い、形態素解析結果を返す。意図推定単位抽出部4は、形態素解析結果から、意図推定の単位として分割すべき位置を推定して部分形態素に分割し、言語の構文的制約に基づいて意図推定単位を抽出する。意図推定モデル蓄積部5は、意図推定を行う際に参照される意図推定モデルを蓄積するデータベースである。意図推定部6は、意図推定モデル蓄積部5に蓄積された意図推定モデルを参照し、意図推定単位抽出部4が分割したそれぞれの意図推定単位に対して部分意図推定結果と部分スコアを出力する。
意図階層グラフデータ蓄積部7は、意図列の妥当性を計算する際に参照される意図階層グラフデータを蓄積するデータベースである。意図共起重み計算部8は、意図階層グラフデータ蓄積部7に蓄積された意図階層グラフデータを参照し、意図推定部6が推定した部分意図推定結果の意図列に対する妥当性を示す意図共起重みを計算する。ここで、意図共起とは入力に対して意図が複数推定される場合を示し、意図共起重みとは推定された複数の意図についてそれぞれの妥当性を示した値である。意図列推定部3は、形態素解析部2から入力される形態素解析結果に対して、意図推定単位抽出部4、意図推定部6、および意図共起重み計算部8の出力結果に基づいて、意図列推定結果と最終スコアを取得し、入力音声に最も適した最終スコア付きの意図列推定結果を出力する。
図2は、実施の形態1に係る意図推定装置の意図階層グラフデータ蓄積部7が蓄積する意図階層グラフデータの一例を示す図である。
意図階層グラフデータは、意図ノード21〜27、各意図ノード21〜27の階層関係、および子ノードの意図共起重みを数値化して示した意図共起重み28、29が示されている。ここで、子ノードとは、例えば意図ノード21の場合、当該意図ノード21の一層下位に位置する意図ノード22を示す。
意図階層グラフデータは、基本的に仮想的な意図ノードを頂点とし、機能を階層化して示した構造となっており、下層に行くほどより具体的な意図を表している。図2の例では仮想的な「root」の意図ノード21を頂点とし、下層の意図ノード23は「目的地設定[]」、さらに一層下層の意図ノード24は「目的地設定[施設=?]」、さらに一層下層の意図ノード25は「目的地設定[施設=$施設$]」となっている。意図ノード23は目的地設定を行うが設定条件が何も決まっていない状態、意図ノード24は施設の目名称を用いて目的地設定を行うが具体的な施設名称が決まっていない状態、意図ノード25は具体的な施設名称が「$施設$」に割り当てられ、具体的な施設名で目的地設定を行う状態を表している。
一方、意図ノード26の「施設検索[施設=$施設$]」から意図ノード25の「目的地設定[施設=$施設$]」へのグラフのパス26a(以下グラフパスと称する)、および意図ノード26の「施設検索[施設=$施設$]」から意図ノード27「経由地設定[施設=$施設$]」へのグラフパス26bは、想定するカーナビゲーションアプリケーションの機能を基に生成されるグラフパスである。意図ノード26「施設検索[施設=$施設$]」は、具体的施設「$施設$」を探索することのみを要求しており、一方意図ノード25「目的地設定[施設=$施設$]」へのグラフパス26a、および意図ノード27「経由地設定[施設=$施設$]」へのグラフパス26bは、アプリケーションとして最終的に目的地設定、経由地設定などの意図を選択する必要があることを示している。
また、意図共起重み28は「1.2」を示し、これは子ノード以下の意図が複数出現した場合の意図共起重みが「1.2」であることを示している。すなわち、共に複数の意図が出現しても問題なく、さらには共に複数の意図が出現する頻度が多いことを示している。一方、意図共起重み29は「0.0」を示し、子ノード以下の意図が複数出現した場合の意図共起重みが「0.0」であることを示している。すなわち、共に複数の意図が出現しないことを示している。
図3は、実施の形態1に係る意図推定装置の入力音声から意図推定単位を抽出する処理の具体例を示す図である。
入力音声31は、入力例としてユーザが「○○ドームに立ち寄ってから、××ランドに行きたい」と発話したことを示している。音声認識結果32は、音声認識部1が入力音声31を音声認識した結果である。具体的には、「○○ドームに立ち寄ってから△△ラジオを聞きたい」が音声認識スコア「0.6」で求められた音声認識結果例33、および「○○ドームに立ち寄ってから、××ランドに行きたい」が音声認識スコア「0.4」で求められた音声認識結果例34で構成されている。
形態素解析結果35は、形態素解析部2が音声認識結果32を形態素解析した結果である。意図推定単位抽出結果36、40は、意図推定単位抽出部4が形態素解析結果35から言語の構文的制約に基づいて意図推定単位を抽出した結果である。意図推定単位抽出結果36では、3つの抽出パターン37、38、39が示されている。図3に示すように言語が日本語の場合、自立語に付属語列が付くという性質から、文節が最小の意図推定単位となり、さらに前方の体言が後方の用言に係るという性質から複合する文節が意図推定単位として抽出される。抽出パターン37、38、39で示した意図推定結果抽出単位は、ここで説明した係り受けの構造が成立するパターンのみを抽出したものである。
その後、意図推定単位抽出結果36、40の各抽出パターンを参照して、意図推定部6が意図推定モデルを用いて各抽出パターンの部分意図の推定を行い、部分スコアを算出する。当該意図推定部6の具体的な処理結果を図4および図5に示す。
図4および図5は、実施の形態1に係る意図推定装置の意図推定部6の処理を示す図である。より詳細には、図4は図3で示した意図推定単位抽出結果36に基づく部分意図の推定を示し、図5は図3で示した意図推定単位抽出結果40に基づく部分意図の推定を示している。
なお、図4および図5では自立語の原型をタームとして抽出する場合について説明する。まず、図4を参照しながら部分意図の推定処理について説明する。
ターム列41は、意図推定単位抽出結果36から生成される部分意図推定に用いるターム列を示しており、「○○ドーム/に」に対しては「$施設$_1」、「立ち寄っ/て/から」に対しては「立ち寄る」、「××ラジオ/を」に対しては「$ラジオ局$_1」、「聞き/たい」に対しては「聞く」が生成されることを示している。
さらに図4では、ターム列41に対して、分割採用重みおよび複数の抽出パターンを示している。抽出パターンとして図4の例では、図3で示した抽出パターン37、38、39に基づいた抽出パターンA、B、C、Dおよび非抽出パターンE、F、Gを示している。実線矢印42、43、44は、意図推定単位抽出部4が抽出した意図推定単位の範囲を示している。また、当該実線矢印42、43、44の下方には意図推定部6が推定した結果の部分意図、および当該推定した部分意図の部分スコアが示されている。また、点線矢印45、46は、意図推定単位抽出部4が抽出しなかった範囲を示している。当該点線矢印45、46の下方には意図推定部6が推定した結果の部分意図、および当該推定した部分意図の部分スコアが記載されている。さらにターム列41の下方に記載された分割点採用重み47は、各指定位置が意図推定単位の分割点として採用された場合にスコアに掛け合わせる数値であり、一方各指定位置が意図推定単位の分割点として採用されなかった場合には1から当該分割点採用重み47を引いた値をスコアに掛け合わせる数値である。
次に、図5を参照しながら部分意図の推定処理について説明する。
ターム列51は、意図推定単位抽出結果40から生成される部分意図推定に用いるターム列を示しており、「○○ドーム/に」に対しては「$施設$_1」、「立ち寄っ/て/から」に対しては「立ち寄る」、「××ランド/へ」に対しては「$施設$_2」、「行き/たい」に対しては「行く」が生成されることを示している。
さらに図5では、ターム列51に対して、分割採用重みおよび複数の抽出パターンを示している。抽出パターンとして図5の例では、図3で示した抽出パターンに基づいた抽出パターンA´、B´、C´、D´および非抽出パターンE´、F´、G´を示している。実線矢印52、53、54は、意図推定単位抽出部4が抽出した意図推定単位の範囲を示している。また、当該矢印52、53、54の下方には意図推定部6が推定した結果の部分意図、および当該推定した部分意図の部分スコアが示されている。また、点線矢印55、56は、意図推定単位抽出部4が抽出しなかった範囲を示している。当該点線矢印55、56の下方には意図推定部6が推定した結果の部分意図、および当該推定した部分意図の部分スコアが記載されている。さらにターム列51の下方に記載された分割点採用重み57は、各指定位置が意図推定単位の分割点として採用された場合にスコアに掛け合わせる数値であり、一方各指定位置が意図推定単位の分割点として採用されなかった場合には1から当該分割点採用重み57を引いた値をスコアに掛け合わせる数値である。
次に、意図列推定部3は、意図推定部6が推定した部分意図推定結果を用いて音声認識結果例33、34に対する部分意図推定結果の組み合わせを生成し、各組み合わせの最終スコアを算出する。意図列推定部3の具体的な処理結果を図6および図7に示す。
図6および図7は、実施の形態1に係る意図推定装置の意図列推定部3の処理を示す図である。より詳細には、図6は図4で示した部分意図推定結果の組み合わせに基づく最終スコアの算出例を示し、図7は図5で示した部分意図推定結果の組み合わせに基づく最終スコアの算出例を示している。
最終スコアは、各意図推定単位の全ての連続する部分意図列に対する部分スコアを掛け合わせ、さらに意図推定単位の妥当性、および意図共起重み計算部8が算出した意図共起重みを掛け合わせて算出される。
図6は音声認識結果例33に対する最終スコアの算出例を示し、当該音声認識結果例33の音声認識スコア61が「0.6」と示されている。また部分スコア62は、ターム列41を用いた各抽出パターンにおける部分意図推定結果の部分スコアを示している。全体スコア63は、部分意図推定結果の各部分スコアの積をとったものである。分割重み64は、分割点を採用したか、あるいは不採用であったかに従って重みを計算したものである。分割重み64の値は、意図分割の可能性を表す数字で、当該分割重み64の値の総和を取ると「1.0」になる。分割重みスコア(意図列の尤もらしさを示すスコア)65は、全体スコア63と分割重み64との積である。
意図共起重み66は、図2で示した意図階層グラフと部分意図列から求まる数値である。最終スコア67は、分割重みスコア65と、音声認識スコア61と、意図共起重み66とを掛け合わせた値である。抽出パターンAの意図列68は、音声認識結果例33の意図列パターンとして全ての文節で分割した場合の最終スコアを記したものである。また、抽出パターンB+Cの意図列69は、重文構造の各文を一塊とした場合の最終スコアを記したものである。
図7は、音声認識結果例34に対する最終スコアの算出例を示し、当該音声認識結果例34の音声認識スコア71が「0.4」と示されている。また、ターム列51、全体スコア72、分割重み73、分割重みスコア74、意図共起重み75および最終スコア76は、図6で説明した構成と同一である。また、抽出パターンB´+C´の意図列77は、重文構造の各文を一塊とした場合の最終スコアを記したものである。
図8は、実施の形態1に係る意図推定装置の動作を示すフローチャートである。
音声認識部1は、入力音声の音声認識を行う(ステップST1)。形態素解析部2は、ステップST1で得られた音声認識結果に対して形態素解析を行う(ステップST2)。意図推定単位抽出部4は、ステップST2で得られた形態素解析結果である形態素列を部分形態素に分割し、意図を推定する単位である意図推定単位を全て抽出する(ステップST3)。意図推定部6は、ステップST3で抽出された全ての意図推定単位に対して部分意図推定を行い、部分意図推定結果および部分スコアを得る(ステップST4)。
意図列推定部3は、ステップST4で得られた部分意図推定結果に基づいて、部分意図を連結して音声認識結果の全体に一致する意図列を生成し、生成した意図列の全体スコアを算出する(ステップST5)。また意図列推定部3は、ステップST5で生成した意図列の全体スコアに対して、意図共起重み計算部8が算出した意図共起重みおよび音声認識スコアを掛け合わせ、意図列に対する最終スコアを算出する(ステップST6)。さらに意図列推定部3は、ステップST6で算出した最終スコアを参照し、最も大きい最終スコアを有する意図列を、入力音声に最も適した意図列推定結果として出力し(ステップST7)、処理を終了する。
次に、図2から図7で示した具体例を参照しながら、図8で示したフローチャートについて説明を行う。なお、以下では音声による入力が行われるものとして説明を行う。
まず、音声による入力として図3で示した入力音声31「○○ドームに立ち寄ってから××ランドに行きたい」が入力され、当該入力音声31に対してステップST1として音声認識部1が音声認識を行い、音声認識結果32が得られたものとする。音声認識結果32は、音声認識結果例33の「○○ドームに立ち寄ってから△△ラジオを聞きたい」がスコア0.6、音声認識結果例34の「○○ドームに立ち寄ってから××ランドへ行きたい」がスコア0.4で得られたとする。当該音声認識結果例33、34は形態素解析部2に出力される。
形態素解析部2は、ステップST2として既知の形態素解析手法に基づいて音声認識結果例33、34の形態素解析を行い、図3に示す形態素解析結果35を生成する。図3の例では、形態素解析結果35には表層の形態素と品詞および活用形を記載しているが、それ以外の詳細な品詞分類、形態素の原形、形態素の意味ラベルなどの情報が出力されてもよく、最低限形態素の原形は含まれているものとする。
形態素解析結果35は、2つの形態素解析結果例36、40で構成され、それぞれ意図推定単位抽出部4に出力される。
意図推定単位抽出部4は、ステップST3として言語の構文的特徴に基づいて、形態素解析結果例36、40の全ての意図推定単位を抽出する。例えば、日本語の場合には、自立語に複数の付属語が連接して1つの文節という意味の塊をなすことから、形態素解析結果例36の場合、まず、「○○ドーム(固有名詞)/に(助詞)」、「立ち寄っ(動詞:連用)/て(助詞)/から(助詞)」、「△△ラジオ(固有名詞:ラジオ局)/を(助詞)」、「聞き(動詞:連用)/たい(助動詞)」といった4つの文節が意図推定単位として抽出される。
次に、構文的な制約として、体言は用言に係るという性質に基づき、かかり受け関係が成立する文節の組をひとつの意図推定単位として抽出する。さらに用言の連体形は後続の体言に係る、用言の連用形は後続の用言に係るという性質があるためこれに基づき意図推定単位の拡張を行う。これを繰り返すことにより、構文的に意味を持つ可能性がある形態素列が生成され、意図推定単位として抽出される。
図3の意図推定単位抽出結果例36で示した、抽出パターン37は文節を単位とする形態素列の意図推定単位であり、抽出パターン38は直後の用言に体言を接続させた2つの文節からなる意図推定単位であり、抽出パターン39は抽出パターン38の2つの文節をさらにまとめた意図推定単位である。
ステップST3の意図推定単位の抽出処理が終了すると、意図推定部6はステップST4として各意図推定単位に対して意図推定に用いるタームを抽出した上で意図推定を行い、そのスコアを保持する。図4で示したターム列41は、各意図推定と意図推定に用いるタームを示している。
タームは、(1)形態素を単独のタームとして使う方法、(2)自立語形態素を単独のタームとして使う方法、(3)形態素を単独およびn個の連鎖をタームとして使う方法、(4)形態素を単独およびそれに付随する付属の意味シンボル連鎖をタームとして使う方法などが考えられるが、本実施の形態1では、簡単のため自立語形態素の原形を抽出するものとして説明を進める。また、「○○ドーム」、「××ランド」、「△△ラジオ」や住所、施設ジャンル名、ブランド名などのタームは多様なタームが現れるため、そのままでは意図推定モデルの構築が困難なため、上位概念によるシンボルの共通化をして、「$施設$」、「$住所$」、「$ラジオ局$」、「$ジャンル名$」、「$ブランド名$」などのタームを用いる。
例えば、図4の抽出パターンBの実線矢印42で示した意図推定単位は、「○○ドームに立ち寄ってから」に対して、「$施設$_1」、「立ち寄る」の2つのタームが意図推定タームとして渡されることを示しており、その部分意図推定結果として「経由地設定[施設=$施設$_1]」が部分スコア「0.95」で意図推定されたことを示している。
図4の実線矢印42、43、44はステップST3で抽出した意図推定単位に対する部分意図推定結果を示し、点線矢印45、46はステップST3で抽出されなかった意図推定単位に対する部分意図推定結果を示し、音声認識結果例33全体をカバーする意図推定単位に関する部分意図推定結果である。点線矢印45、46で示した意図推定単位の部分意図推定結果を算出した理由は、入力音声が必ずしも文法的に正しい構文を構成するものだけではない可能性が存在するためである。特に、入力音声が音声認識される場合には、ユーザの発話が助詞や助動詞を十分に用いない形で行われることも多く、構文的に厳密な入力を想定すると、意図推定単位に漏れが生じる可能性がある。さらに、音声認識結果に認識誤りが含まれる可能性もあり、全ての可能性を評価した上で最適と考えられる意図列を選択する方が好ましい。
各意図推定単位の部分意図推定結果が求められると、意図列推定部3はステップST5として意図推定単位を用いて音声認識結果例33の全体に一致する意図列を生成し、全体スコアを計算する。図6は図5で示した抽出パターンA、B、C、Dおよび非抽出パターンE、F、Gを組み合わせて音声認識結果例33の全体に一致する意図列を生成し、生成した意図列の部分スコア62を表している。部分スコア62において領域Oは、図4において実線で記した部分意図の部分スコアに該当する。また領域Pは構文的に正当性が低く図4において点線で記した部分意図の部分スコアに該当する。当該領域Pにおいて、本実施の形態1では、意図推定部分ペナルティとして「0.9」を部分意図推定結果の部分スコアに対して掛け合わせることとする。また、各抽出パターンにおいて部分意図の部分スコアを全て掛け合わせることにより全体スコア63が算出される。
また、図6で示した各抽出パターンにおける分割重み64は、図4で示した分割採用重み47に基づいて以下のように計算される。
意図列68の場合:
0.4×0.6×0.4=0.096
抽出パターンAの場合、全ての分割点が使われているため、各点の分割採用重み47を掛け合わせる。
意図列69の場合:
(1.0−0.4)×0.6×(1.0−0.4)=0.216
抽出パターンB+Cの場合、2番目の分割点のみ使われているため、2番目の点以外は1.0からの分割採用重み47を引いたものを掛け合わせる。
上述のように算出された分割重み64を用いて、分割重みスコア65が「(全体スコア63)×(分割重み64)」として算出される。算出された分割重みスコア65を参照すると、音声認識結果例33の意図理解結果として、抽出パターンB+Cで示した「経由地設定[施設=$施設$_1]、ラジオ再生[対象=$ラジオ局$_1]」が、最も高い分割重みスコア「0.197」として求まる。一方、音声認識結果例34についても同様に、図7に示すように意図理解結果として、抽出パターンB´+C´で示した「経由地設定[施設=$施設$_1]、目的地設定[施設=$施設$_2]」が最も高い分割重みスコア「0.195」として求まる。
従来であれば、当該抽出パターンB+Cと抽出パターンB´+C´の意図理解結果である分割重みスコアにおいて、より高いスコアを取る抽出パターンB+Cで示した「経由地設定[施設=$施設$_1]、ラジオ再生[対象=$ラジオ局$_1]」が入力音声31に対する意図推定結果と算出される。
さらに、評価の方法として、音声認識スコア61、71に対して分割重みスコア65、74を積算したものを最終スコアとする方法も考えられるが、音声認識スコア61と音声認識スコア71とを比較すると音声認識結果例33の音声認識スコア61の方が高い値であるため、いずれの場合も抽出パターンB+Cで示した「経由地設定[施設=$施設$_1]、ラジオ再生[対象=$ラジオ局$_1]」が最終的な意図推定結果となる。これは、意図間の関係を考慮した条件が存在しないために、音声認識結果が最優先で評価されて起こる。
そこで、この実施の形態1の意図推定装置10では、ステップST6として意図列推定部3が意図の妥当性を評価するために、例えば以下に示す計算を行った結果を意図共起重み66、75とし、分割重みスコア65、74に積算する。
(1)連続する2つの意図を順番に抽出し、2つの意図の関係を計算する。
(a)2つの意図の上位・下位の関係がある場合は一定の重み(たとえば、0.7)
(b)2つの意図が共通の上位意図を持つ場合、そのノードに付与された重み
(2)(1)で求めた重みの積を最終的な重み、すなわち最終スコア67、76とする。
上述した(1)による計算では、標準的な意図連鎖関係には1.0を与え、より密接な意図連鎖関係には1.0より大きい値を与え、矛盾するような意図連鎖関係には1.0より小さい値を与えることで、加点、減点を行うことになる。
例えば、抽出パターンB+Cで示した「経由地設定[施設=$施設$_1]、ラジオ再生[対象=$ラジオ局$_1]」の場合、共通する上位意図は図2で示したノード21の「root」となるため、当該ノード21に付与された意図共起重みは「0.5」となる。この処理を全ての意図列に対して計算すると図6および図7で示した意図共起重み66、75のようになる。このように算出された意図共起重みを用いて最終スコアは以下の式に基づいて計算される。
(最終スコア)=(分割重みスコア)×(意図共起重み)×(音声認識スコア)
最終スコア67、76の算出結果を参照すると、最も高い最終スコアを有するのは抽出パターンB´+C´で示した意図列77となり、ステップST7として当該意図列77がユーザの入力音声31に最も適した意図列推定結果として出力される。
以上のように、この実施の形態1によれば、意図間の関係を示す意図共起重みを計算する意図共起重み計算部8と、分割重みスコアを算出し、算出した分割重みスコアに意図共起重みおよび音声認識スコアを積算する意図列推定部3を備えるように構成したので、意図間の関係を考慮して、入力音声に最も適した意図列推定結果を出力することができる。そのため、複数の意図を含む入力が行われた場合であっても、意図間の関係に基づいて最適な意図列を生成し、意図列推定結果として出力することができる。
実施の形態2.
実施の形態2では、ユーザが発話の省略を行った場合にも適切な意図列推定結果を得る構成を示す。
図9は、実施の形態2に係る意図推定装置の構成を示すブロック図である。
図1で示した実施の形態1の意図推定装置10に意図列変換テーブル蓄積部11および意図列変換部12を追加して設けている。なお以下では、実施の形態1による意図推定装置10の構成要素と同一または相当する部分には、実施の形態1で使用した符号と同一の符号を付して説明を省略または簡略化する。
意図列変換テーブル蓄積部11は、意図推定結果と置換意図列との関係を記載したデータを意図列変換テーブルとして蓄積している。意図列変換テーブルは、意図推定結果で示された意図の連続に対して置き換える置換意図列を示したルールを保持するものであり、当該ルールに一致する意図列が出現したか否か判断する場合、および置き換える意図列を取得する場合に参照される。
意図列変換部12は、意図列変換テーブル蓄積部11に蓄積された意図列変換テーブルを参照して、意図推定部6が推定した部分意図推定結果と一致する意図列が存在するか否か順番にチェックを行い、一致する意図列が存在する場合にはルールに従って当該意図列の変換を行う。
図10は、実施の形態2に係る意図推定装置の意図列変換テーブル蓄積部11が蓄積する意図列変換テーブルの一例を示す図である。
意図列変換テーブルは複数の意図列変換ルールで構成され、図10の例では3つの意図列変換ルール81、82、83を示している。意図列変換ルールは、左辺の意図列に一致する部分意図推定結果が出現した場合には、当該部分意図推定結果を右辺の意図列に置き換えることを示している。
位置変換テーブルに記載される意図列変換ルールは基本的には、発話中の省略や意味的な変換が前後の関係から明らかな場合の経験則によるルールである。例えば、意図列変換ルール81の入力文例はその典型的な発話例を表したもので、入力文例の後段の「$施設$_Y」に相当する発話は文脈から目的地を示唆しているため、変換前の「地点検索(施設検索)」の意図を「目的地設定」に置き換えることを示している。
図11は、実施の形態2に係る意図推定装置の入力音声から意図推定単位を抽出する処理の具体例を示す図である。
図11では入力音声として「○○ドームに立ち寄ってから××ランド」という発話が入力された場合の音声認識結果から意図推定単位を抽出するまでの例を示す。
音声認識結果91は、音声認識部1が入力音声31を音声認識した結果である。具体的には、「○○ドームに立ち寄ってから××ランド」がスコア「0.7」で求められた音声認識結果例が示されており、発話の通りの認識が行われたことを示している。形態素解析結果92は、形態素解析部2が音声認識結果91を形態素解析した結果である。意図推定単位抽出結果93は、意図推定単位抽出部4が形態素解析結果92に対して意図推定単位を抽出した結果である。意図推定単位抽出結果93では、3つの抽出パターン93a、93b、93cが示されている。
図12は、実施の形態2に係る意図推定装置の意図推定部6の処理を示す図である。より詳細には、図11で示した意図推定単位抽出結果93に基づく部分意図の推定を示している。
ターム列94は、意図推定単位抽出結果93から生成される部分意図推定に用いるターム列を示している。また、抽出パターン93a、93b、93cに基づいた抽出パターンH、I、Jおよび非抽出パターンKを示している。実線矢印95および部分スコア96は、各意図推定単位に対して意図推定した結果例である。点線矢印および分割点採用重みの構成は実施の形態1と同様である。
図13は、実施の形態2に係る意図推定装置の意図列推定部3の処理を示す図である。より詳細には、図12で示した部分意図推定結果の組み合わせに基づく最終スコアの算出例を示している。
音声認識結果91に対して、部分意図推定結果の組み合わせにより最終スコアを計算した例であり、実施の形態1と同様に部分スコア101、音声認識スコア102、全体スコア103、分割重み104、分割重みスコア105、意図共起重み106および最終スコア107が示されている。意図列108は、全ての分割パターンに対して最適な意図推定結果を示す意図列を示している。
図14は、実施の形態2に係る意図推定装置の動作を示すフローチャートである。なお、以下では実施の形態1に係る意図推定装置10と同一のステップには図8で使用した符号と同一の符号を付し、説明を省略または簡略化する。
ステップST5において、音声認識結果の全体に一致する意図列を生成して全体スコアを算出すると、意図列変換部12は生成された意図列の部分意図列の中から意図列変換テーブル蓄積部11に蓄積された意図列変換ルールに一致する分割パターンを検索し、一致する分割パターンが存在する場合には、当該意図列を意図列変換ルールに基づいて変換する(ステップST11)。
その後、意図列推定部3はステップST11で変換した意図列あるいは変換しなかった意図列の全体スコアに対して、意図共起重み計算部8が算出した意図共起重みおよび音声認識スコアを掛け合わせ、意図列に対する最終スコアを算出する(ステップST6)。さらに意図列推定部3は、ステップST16で算出した最終スコアを参照し、最も大きい最終スコアを有する意図列を、入力音声に最も適した意図列推定結果として出力し(ステップST7)、処理を終了する。
次に、図11から図13で示した具体例を参照しながら、図14で示したフローチャートについて説明を行う。また、実施の形態1と同様に音声による入力が行われるものとして説明を行う。
まず、音声による入力として「○○ドームに立ち寄ってから××ランド」が入力され、ステップST1として図11に示す音声認識結果91がスコア0.7で得られたとする。音声認識結果91以外の認識結果が生成されることも予想されるが、実施の形態2の発明のポイントには影響を与えないため説明を省略する。音声認識結果91が生成されると、ステップST2の形態素解析およびステップST3の意図推定単位の抽出が行われ、図11に示す意図推定単位抽出結果93が得られる。
続いて、意図推定部6はステップST4として図12に示すターム列94を抽出した上で、部分意図推定結果および部分スコアを算出する。次に、意図列推定部3は、ステップST5として意図列推定単位を用いて音声認識結果91の全体に一致する意図列を生成し、全体スコアを計算する。これにより、図13で示した抽出パターン、当該抽出パターンンに応じた部分スコア、および部分スコアに基づいた全体スコアが得られる。
次に、意図列変換部12は、ステップST11として部分意図列の中から、図10で示した意図列変換ルールに一致する置換パターンを検索し、一致する置換パターンが存在した場合には該当する意図列を意図列変換ルールに従って変換する。
具体的には、図13で示した意図列108の場合、抽出パターンIの部分意図列および抽出パターンHの部分意図列で構成され、当該意図列108は図10で示した意図列変換ルール81に一致するため、以下のように変換される。
変換前:経由地設定[施設=$施設$_1]、施設検索[施設=$施設$_2]
変換後:経由地設定[施設=$施設$_1]、目的地設定[施設=$施設$_2]
次に、ステップST6として意図列推定部3が分割重みスコア105を算出し、当該分割重みスコア105に意図共起重み計算部8が計算した意図共起重み106および音声認識スコアを積算し、最終スコア107を算出する。最後に、意図列推定部3はステップST7として最終スコア107が最大である意図列108の「経由地設定[施設=$施設$_1]、目的地設定[施設=$施設$_2]」がユーザの入力音声に最も適した意図列推定結果であるとして出力する。
以上のように、この実施の形態2によれば、意図列の置換パターンを示した意図列変換テーブルを蓄積した意図列変換テーブル蓄積部11と、当該意図列変換テーブル蓄積部11に蓄積された意図変換テーブルを参照して該当する意図列が出現した場合に置換パターンに従って意図列を置き換える意図列変換部12とを備えるように構成したので、ユーザの発話において省略が行われた場合であっても、ユーザの入力音声に最も適した意図列推定結果を得ることができる。
実施の形態3.
上述した実施の形態1では使用言語を日本語として説明を行ったが、この実施の形態3では使用言語を英語として説明する。なお、以下ではナビゲーションシステムに適用される意図推定装置を例に説明を行う。
また、以下の説明では、実施の形態1で示した意図推定装置(図1参照)を用いて説明を行う。また、意図推定装置10の意図階層グラフデータ蓄積部7は図2で示した意図階層グラフデータを蓄積するものとする。さらに、図8で示したフローチャートに基づいて意図推定処理を行うものとして説明を行う。
図15は、実施の形態3に係る意図推定装置の入力音声から意図推定単位を抽出する処理の具体例を示す図である。
入力音声111は、入力例としてユーザが「Stop at ○○ Dome, then drive to ×× Land」と発話したことを示している。音声認識結果112は、音声認識部1が入力音声111を音声認識した結果である。具体的には、「Stop at ○○ Dome, then listen to the △△ Radio」が音声認識スコア「0.6」で求められた音声認識結果例113、および「Stop at ○○ Dome, then drive to ×× Land」が音声認識スコア「0.4」で求められた音声認識結果例114で構成されている。
形態素解析結果115は、形態素解析部2が音声認識結果112を形態素解析した結果である。意図推定単位抽出結果116、120は、意図推定単位抽出部4が形態素解析結果115から言語の構文的制約に基づいて意図推定単位を抽出した結果である。意図推定単位抽出結果116では、3つの抽出パターン117、118、119が示されている。図15に示すように言語が英語の場合、名詞、動詞、形容詞などの単語を意図推定単位として抽出する。抽出パターン117、118、119で示した意図推定結果抽出単位は、ここで説明した係り受けの構造が成立するパターンのみを抽出したものである。
その後、意図推定単位抽出結果116、120の各抽出パターンを参照して、意図推定部6が意図推定モデルを用いて各抽出パターンの部分意図の推定を行い、部分スコアを算出する。当該意図推定部6の具体的な処理結果を図16および図17に示す。
図16および図17は、実施の形態3に係る意図推定装置の意図推定部6の処理を示す図である。より詳細には、図16は図15で示した意図推定単位抽出結果116に基づく部分意図の推定を示し、図17は図15で示した意図推定単位抽出結果120に基づく部分意図の推定を示している。
なお、図16および図17では単語の原形をタームとして抽出する場合について説明する。まず、図16を参照しながら部分意図の推定処理について説明する。
ターム列121は、意図推定単位抽出結果116から生成される部分意図推定に用いるターム列を示しており、「○○ Dome」に対しては「$施設$_1」、「Stop at」に対しては「stop」、「the △△ Radio」に対しては「$ラジオ局$_1」、「listen to」に対しては「listen」が生成されることを示している。
さらに図16では、ターム列121に対して、分割採用重みおよび複数の抽出パターンを示している。抽出パターンとして図16の例では、図15で示した抽出パターン117、118、119に基づいた抽出パターンa、b、c、dおよび非抽出パターンe、f、gを示している。実線矢印122、123、124は、意図推定単位抽出部4が抽出した意図推定単位の範囲を示している。また、当該実線矢印122、123、124の下方には意図推定部6が推定した結果の部分意図、および当該推定した部分意図の部分スコアが示されている。また、点線矢印125、126は、意図推定単位抽出部4が抽出しなかった範囲を示している。当該点線矢印125、126の下方には意図推定部6が推定した結果の部分意図、および当該推定した部分意図の部分スコアが記載されている。さらにターム列121の下方に記載された分割点採用重み127は、各指定位置が意図推定単位の分割点として採用された場合にスコアに掛け合わせる数値であり、一方各指定位置が意図推定単位の分割点として採用されなかった場合には1から当該分割点採用重み127を引いた値をスコアに掛け合わせる数値である。
次に、図17を参照しながら部分意図の推定処理について説明する。
ターム列131は、意図推定単位抽出結果120から生成される部分意図推定に用いるターム列を示しており、「○○ Dome」に対しては「$施設$_1」、「Stop at」に対しては「Stop」、「×× Land」に対しては「$施設$_2」、「drive to」に対しては「drive」が生成されることを示している。
さらに図17では、ターム列131に対して、分割採用重みおよび複数の抽出パターンを示している。抽出パターンとして図17の例では、図15で示した抽出パターンに基づいた抽出パターンa´、b´、c´、d´および非抽出パターンe´、f´、g´を示している。実線矢印132、133、134は、意図推定単位抽出部4が抽出した意図推定単位の範囲を示している。また、当該矢印132、133、134の下方には意図推定部6が推定した結果の部分意図、および当該推定した部分意図の部分スコアが示されている。また、点線矢印135、136は、意図推定単位抽出部4が抽出しなかった範囲を示している。当該点線矢印135、136の下方には意図推定部6が推定した結果の部分意図、および当該推定した部分意図の部分スコアが記載されている。さらにターム列131の下方に記載された分割点採用重み137は、各指定位置が意図推定単位の分割点として採用された場合にスコアに掛け合わせる数値であり、一方各指定位置が意図推定単位の分割点として採用されなかった場合には1から当該分割点採用重み137を引いた値をスコアに掛け合わせる数値である。
次に、意図列推定部3は、意図推定部6が推定した部分意図推定結果を用いて音声認識結果例113、114に対する部分意図推定結果の組み合わせを生成し、各組み合わせの最終スコアを算出する。意図列推定部3の具体的な処理結果を図18および図19に示す。
図18および図19は、実施の形態3に係る意図推定装置の意図列推定部3の処理を示す図である。より詳細には、図18は図16で示した部分意図推定結果の組み合わせに基づく最終スコアの算出例を示し、図19は図17で示した部分意図推定結果の組み合わせに基づく最終スコアの算出例を示している。
最終スコアは、各意図推定単位の全ての連続する部分意図列に対する部分スコアを掛け合わせ、さらに意図推定単位の妥当性、および意図共起重み計算部8が算出した意図共起重みを掛け合わせて算出される。
図18は音声認識結果例113に対する最終スコアの算出例を示し、当該音声認識結果例113の音声認識スコア141が「0.6」と示されている。また部分スコア142は、ターム列121を用いた各抽出パターンにおける部分意図推定結果の部分スコアを示している。全体スコア143は、部分意図推定結果の各部分スコアの積をとったものである。分割重み144は、分割点を採用したか、あるいは不採用であったかに従って重みを計算したものである。分割重み144の値は、意図分割の可能性を表す数字で、当該分割重み144の値の総和を取ると「1.0」になる。分割重みスコア(意図列の尤もらしさを示すスコア)145は、全体スコア143と分割重み144との積である。
意図共起重み146は、図2で示した意図階層グラフと部分意図列から求まる数値である。最終スコア147は、分割重みスコア145と、音声認識スコア141と、意図共起重み146とを掛け合わせた値である。抽出パターンaの意図列148は、音声認識結果例113の意図列パターンとして全ての文節で分割した場合の最終スコアを記したものである。また、抽出パターンb+cの意図列149は、重文構造の各文を一塊とした場合の最終スコアを記したものである。
図19は、音声認識結果例114に対する最終スコアの算出例を示し、当該音声認識結果例114の音声認識スコア151が「0.4」と示されている。また、ターム列131、全体スコア152、分割重み153、分割重みスコア154、意図共起重み155および最終スコア156は、図18で説明した構成と同一である。また、抽出パターンb´+c´の意図列157は、重文構造の各文を一塊とした場合の最終スコアを記したものである。
次に、実施の形態3の意図推定装置の動作について説明する。なお、実施の形態3の意図推定装置の動作を示すフローチャートは実施の形態1の図8で示したフローチャートと同一である。そこで、図2および図15からから図19で示した具体例を参照しながら、実施の形態1の図8で示したフローチャートについて説明を行う。なお、以下では音声による入力が行われるものとして説明を行う。
まず、音声による入力として図15で示した入力音声111「Stop at ○○ Dome, then drive to ×× Land」が入力され、当該入力音声111に対してステップST1として音声認識部1が音声認識を行い、音声認識結果112が得られたものとする。音声認識結果112は、音声認識結果例113の「Stop at ○○ Dome, then listen to the △△ Radio」がスコア0.6、音声認識結果例114の「Stop at ○○ Dome, then drive to ×× Land」がスコア0.4で得られたとする。当該音声認識結果例113、114は形態素解析部2に出力される。
形態素解析部2は、ステップST2として既知の形態素解析手法に基づいて音声認識結果例113、114の形態素解析を行い、図15に示す形態素解析結果115を生成する。図15の例では、形態素解析結果115には表層の形態素と品詞および活用形を記載しているが、それ以外の詳細な品詞分類、形態素の原形、形態素の意味ラベルなどの情報が出力されてもよく、最低限形態素の原形は含まれているものとする。
形態素解析結果115は、2つの形態素解析結果例116、120で構成され、それぞれ意図推定単位抽出部4に出力される。
意図推定単位抽出部4は、ステップST3として言語の構文的特徴に基づいて、形態素解析結果例116、120の全ての意図推定単位を抽出する。例えば、英語の形態素解析結果例116の場合、まず、「stop(v)/at(prep)」、「○○ Dome(n:POI)」、「then(adv)/drive(v)/to(prep)」、「the(art)/ △△ Radio(n:radio station)」といった4つの文節が意図推定単位として抽出される。
次に、構文的な制約として、体言は用言に係るという性質に基づき、かかり受け関係が成立する文節の組をひとつの意図推定単位として抽出する。さらに用言の連体形は後続の体言に係る、用言の連用形は後続の用言に係るという性質があるためこれに基づき意図推定単位の拡張を行う。これを繰り返すことにより、構文的に意味を持つ可能性がある形態素列が生成され、意図推定単位として抽出される。
図15の意図推定単位抽出結果例116で示した、抽出パターン117は文節を単位とする形態素列の意図推定単位であり、抽出パターン118は直前の動詞に名詞を接続させた2つの文節からなる意図推定単位であり、抽出パターン119は抽出パターン118の2つの文節をさらにまとめた意図推定単位である。
ステップST3の意図推定単位の抽出処理が終了すると、意図推定部6はステップST4として各意図推定単位に対して意図推定に用いるタームを抽出した上で意図推定を行い、そのスコアを保持する。図16で示したターム列121は、各意図推定と意図推定に用いるタームを示している。
タームは、(1)形態素を単独のタームとして使う方法、(2)名詞、動詞、形容詞などの限定された単語を単独のタームとして使う方法、(3)形態素を単独およびn個の連鎖をタームとして使う方法、(4)形態素を単独およびそれに付随する付属の意味シンボル連鎖をタームとして使う方法などが考えられるが、本実施の形態3では、簡単のため名詞、動詞、形容詞などの限定された単語の原形を抽出するものとして説明を進める。ただし、施設や住所などの名詞は、複数の単語列で1つの塊とみなす。また、「○○ Dome」、「×× Land」、「△△ Radio」や住所、施設ジャンル名、ブランド名などのタームは多様なタームが現れるため、そのままでは意図推定モデルの構築が困難なため、上位概念によるシンボルの共通化をとして、「$施設$」、「$住所$」、「$ラジオ局$」、「$ジャンル名$」、「$ブランド名$」などのタームを用いる。
例えば、図16の抽出パターンbの実線矢印122で示した意図推定単位は、「stop at ○○ Dome」に対して、「stop」、「$施設$_1」の2つのタームが意図推定タームとして渡されることを示しており、その部分意図推定結果として「経由地設定[施設=$施設$_1]」が部分スコア「0.95」で意図推定されたことを示している。
図16の実線矢印122、123、124はステップST3で抽出した意図推定単位に対する部分意図推定結果を示し、点線矢印125、126はステップST3で抽出されなかった意図推定単位に対する部分意図推定結果を示し、音声認識結果例113全体をカバーする意図推定単位に関する部分意図推定結果である。ここで、点線矢印125、126で示した意図推定単位の部分意図推定結果を算出した理由は、入力音声が必ずしも文法的に正しい構文を構成するものだけではない可能性が存在するためである。特に、入力音声が音声認識される場合には、ユーザの発話が冠詞や前置詞を十分に用いない形で行われることも多く、構文的に厳密な入力を想定すると、意図推定単位に漏れが生じる可能性がある。さらに、音声認識結果に認識誤りが含まれる可能性もあり、全ての可能性を評価した上で最適と考えられる意図列を選択する方が好ましい。
各意図推定単位の部分意図推定結果が求められると、意図列推定部3はステップST5として意図推定単位を用いて音声認識結果例113,114の全体に一致する意図列を生成し、全体スコアを計算する。図18は図16で示した抽出パターンa、b、c、dおよび非抽出パターンe、f、gを組み合わせて音声認識結果例113の全体に一致する意図列を生成し、生成した意図列の部分スコア142を表している。部分スコア142において領域Oは、図16において実線で記した部分意図の部分スコアに該当する。また領域Pは構文的に正当性が低く図16において点線で記した部分意図の部分スコアに該当する。当該領域Pにおいて、本実施の形態1では、意図推定部分ペナルティとして「0.9」を部分意図推定結果の部分スコアに対して掛け合わせることとする。また、各抽出パターンにおいて部分意図の部分スコアを全て掛け合わせることにより全体スコア143が算出される。
また、図18で示した各抽出パターンにおける分割重み144は、図16で示した分割採用重み127に基づいて以下のように計算される。
意図列148の場合:
0.4×0.6×0.4=0.096
抽出パターンaの場合、全ての分割点が使われているため、各点の分割採用重み127を掛け合わせる。
意図列149の場合:
(1.0−0.4)×0.6×(1.0−0.4)=0.216
抽出パターンb+cの場合、2番目の分割点のみ使われているため、2番目の点以外は1.0からの分割採用重み127を引いたものを掛け合わせる。
上述のように算出された分割重み144を用いて、分割重みスコア145が「(全体スコア143)×(分割重み144)」として算出される。算出された分割重みスコア145を参照すると、音声認識結果例113の意図理解結果として、抽出パターンb+cで示した「経由地設定[施設=$施設$_1]、ラジオ再生[対象=$ラジオ局$_1]」が、最も高い分割重みスコア「0.197」として求まる。一方、音声認識結果例114についても同様に、図19に示すように意図理解結果として、抽出パターンb´+c´で示した「経由地設定[施設=$施設$_1]、目的地設定[施設=$施設$_2]」が最も高い分割重みスコア「0.195」として求まる。
従来であれば、当該抽出パターンb+cと抽出パターンb´+c´の意図理解結果である分割重みスコアにおいて、より高いスコアを取る抽出パターンb+cで示した「経由地設定[施設=$施設$_1]、ラジオ再生[対象=$ラジオ局$_1]」が入力音声111に対する意図推定結果と算出される。
さらに、評価の方法として、音声認識スコア141、151に対して分割重みスコア145、154を積算したものを最終スコアとする方法も考えられるが、音声認識スコア141と音声認識スコア151とを比較すると音声認識結果例113の音声認識スコア141の方が高い値であるため、いずれの場合も抽出パターンb+cで示した「経由地設定[施設=$施設$_1]、ラジオ再生[対象=$ラジオ局$_1]」が最終的な意図推定結果となる。これは、意図間の関係を考慮した条件が存在しないために、音声認識結果が最優先で評価されて起こる。
そこで、この実施の形態3の意図推定装置10では、ステップST6として意図列推定部3が意図の妥当性を評価するために、例えば以下に示す計算を行った結果を意図共起重み146、155とし、分割重みスコア145、154に積算する。
(1)連続する2つの意図を順番に抽出し、2つの意図の関係を計算する。
(a)2つの意図の上位・下位の関係がある場合は一定の重み(たとえば、0.7)
(b)2つの意図が共通の上位意図を持つ場合、そのノードに付与された重み
(2)(1)で求めた重みの積を最終的な重み、すなわち最終スコア147、156とする。
上述した(1)による計算では、標準的な意図連鎖関係には1.0を与え、より密接な意図連鎖関係には1.0より大きい値を与え、矛盾するような意図連鎖関係には1.0より小さい値を与えることで、加点、減点を行うことになる。
例えば、抽出パターンb+cで示した「経由地設定[施設=$施設$_1]、ラジオ再生[対象=$ラジオ局$_1]」の場合、共通する上位意図は図2で示したノード21の「root」となるため、当該ノード21に付与された意図共起重みは「0.5」となる。この処理を全ての意図列に対して計算すると図18および図19で示した意図共起重み146、155のようになる。このように算出された意図共起重みを用いて最終スコアは以下の式に基づいて計算される。
(最終スコア)=(分割重みスコア)×(意図共起重み)×(音声認識スコア)
最終スコア147、156の算出結果を参照すると、最も高い最終スコアを有するのは抽出パターンb´+c´で示した意図列157となり、ステップST7として当該意図列157がユーザの入力音声111に最も適した意図列推定結果として出力される。
以上のように、この実施の形態3によれば、意図間の関係を示す意図共起重みを計算する意図共起重み計算部8と、分割重みスコアを算出し、算出した分割重みスコアに意図共起重みおよび音声認識スコアを積算する意図列推定部3を備えるように構成したので、意図間の関係を考慮して、入力音声に最も適した意図列推定結果を出力することができる。そのため、複数の意図を含む入力が行われた場合であっても、意図間の関係に基づいて最適な意図列を生成し、意図列推定結果として出力することができる。
実施の形態4.
上述した実施の形態2では使用言語を日本語として説明を行ったが、この実施の形態4では使用言語を英語として説明する。なお、以下ではナビゲーションシステムに適用される意図推定装置を例に説明を行う。
また、以下の説明では、実施の形態2で示した意図推定装置(図9参照)を用いて説明を行う。また、意図推定装置10の意図列変換テーブル蓄積部11は図10で示した意図列変換テーブルを蓄積するものとする。さらに、図14で示したフローチャートに基づいて意図推定処理を行うものとして説明を行う。
図20は、実施の形態4に係る意図推定装置の入力音声から意図推定単位を抽出する処理の具体例を示す図である。
図20では入力音声として「Stop at ○○ Dome then ×× Land」という発話が入力された場合の音声認識結果から意図推定単位を抽出するまでの例を示す。
音声認識結果161は、音声認識部1が入力音声31を音声認識した結果である。具体的には、「Stop at ○○ Dome then ×× Land」がスコア「0.7」で求められた音声認識結果例が示されており、発話の通りの認識が行われたことを示している。形態素解析結果162は、形態素解析部2が音声認識結果161を形態素解析した結果である。意図推定単位抽出結果163は、意図推定単位抽出部4が形態素解析結果162に対して意図推定単位を抽出した結果である。意図推定単位抽出結果163では、3つの抽出パターン163a、163b、163cが示されている。
図21は、実施の形態4に係る意図推定装置の意図推定部6の処理を示す図である。より詳細には、図20で示した意図推定単位抽出結果163に基づく部分意図の推定を示している。
ターム列164は、意図推定単位抽出結果163から生成される部分意図推定に用いるターム列を示している。また、抽出パターン163a、163b、163cに基づいた抽出パターンh、i、jおよび非抽出パターンkを示している。実線矢印165および部分スコア166は、各意図推定単位に対して意図推定した結果例である。点線矢印および分割点採用重みの構成は実施の形態3と同様である。
図22は、実施の形態4に係る意図推定装置の意図列推定部3の処理を示す図である。より詳細には、図21で示した部分意図推定結果の組み合わせに基づく最終スコアの算出例を示している。
音声認識結果161に対して、部分意図推定結果の組み合わせにより最終スコアを計算した例であり、実施の形態3と同様に音声認識スコア171、部分スコア172、全体スコア173、分割重み174、分割重みスコア175、意図共起重み176および最終スコア177が示されている。意図列178は、全ての分割パターンに対して最適な意図推定結果を示す意図列を示している。
次に、実施の形態4の意図推定装置の動作について説明する。なお、実施の形態4の意図推定装置の動作を示すフローチャートは実施の形態2の図14で示したフローチャートと同一である。そこで、図2、図10および図20から図22で示した具体例を参照しながら、実施の形態2の図14で示したフローチャートについて説明を行う。なお、以下では音声による入力が行われるものとして説明を行う。
まず、音声による入力として「Stop at ○○ Dome then ×× Land」が入力され、ステップST1として音声認識部1が音声認識を行い、図20に示す音声認識結果161がスコア0.7で得られたものとする。音声認識結果161以外の認識結果が生成されることも予想されるが、実施の形態4の発明のポイントには影響を与えないため説明を省略する。音声認識結果161が生成されると、ステップST2の形態素解析およびステップST3の意図推定単位の抽出が行われ、図20に示す意図推定単位抽出結果163が得られる。
続いて、意図推定部6はステップST4として図21に示すターム列164を抽出した上で、部分意図推定結果および部分スコアを算出する。次に、意図列推定部3は、ステップST5として意図列推定単位を用いて音声認識結果161の全体に一致する意図列を生成し、全体スコアを計算する。これにより、図22で示した抽出パターン、当該抽出パターンンに応じた部分スコア、および部分スコアに基づいた全体スコアが得られる。
次に、意図列変換部12は、ステップST11として部分意図列の中から、図10で示した意図列変換ルールに一致する置換パターンを検索し、一致する置換パターンが存在した場合には該当する意図列を意図列変換ルールに従って変換する。
具体的には、図22で示した意図列178の場合、抽出パターンiの部分意図列および抽出パターンhの部分意図列で構成され、当該意図列178は図10で示した意図列変換ルール81に一致するため、以下のように変換される。
変換前:経由地設定[施設=$施設$_1]、施設検索[施設=$施設$_2]
変換後:経由地設定[施設=$施設$_1]、目的地設定[施設=$施設$_2]
次に、ステップST6として意図列推定部3が分割重みスコア175を算出し、当該分割重みスコア175に意図共起重み計算部8が計算した意図共起重み176および音声認識スコアを積算し、最終スコア177を算出する。最後に、意図列推定部3はステップST7として最終スコア177が最大である意図列178の「経由地設定[施設=$施設$_1]、目的地設定[施設=$施設$_2]」がユーザの入力音声に最も適した意図列推定結果であるとして出力する。
以上のように、この実施の形態4によれば、意図列の置換パターンを示した意図列変換テーブルを蓄積した意図列変換テーブル蓄積部11と、当該意図列変換テーブル蓄積部11に蓄積された意図変換テーブルを参照して該当する意図列が出現した場合に置換パターンに従って意図列を置き換える意図列変換部12とを備えるように構成したので、ユーザの発話において省略が行われた場合であっても、ユーザの入力音声に最も適した意図列推定結果を得ることができる。
なお、上述した実施の形態1から実施の形態4では、日本語および英語を例に意図列推定結果を得る構成示したが、意図抽出単位に関する抽出方法をそれぞれの言語毎に変更することにより、ドイツ語および中国語など様々な言語に対して適用することが可能である。
また、上述した実施の形態1から実施の形態4において、単語が特定のシンボル(スペースなど)で区切られる言語の場合であって、言語的な構造を解析することが難しい場合には、入力の自然言語テキストに対してパターンマッチのような方法で、$施設$、$住所$などの抽出処理を行った後に、直接意図推定処理を実行するように構成することも可能である。
また、上述した実施の形態1から実施の形態4では、入力が音声入力である場合を例に説明を行ったが、入力手段として音声認識を用いることなく、キーボードなどの入力手段によるテキスト入力の場合であっても同様の効果が期待できる。
また、上述した実施の形態1から実施の形態4では、高い分割重みスコアを有する上位2つの候補を評価処理対象とする例を示したが、評価処理対象数を限定するものではない。また、音声認識結果がテキストのみでなく、形態素単位で出力される場合には、形態素解析を行う手段を省略してそのまま意図推定タームを抽出して処理を行うように構成してもよい。
また、上述した実施の形態1から実施の形態4では、意図推定の方法として最大エントロピー法による学習モデルを想定した例で説明したが、意図推定の方法を限定するものではない。
また、上述した実施の形態1から実施の形態4では、各部分意図推定対象の組み合わせとして、第1位の意図のみの組み合わせを使って説明したが、ある一定のスコア以上の候補すべてに対して候補を生成して意図列推定結果を計算することも可能である。
また、上述した実施の形態1から実施の形態4では、ナビゲーションシステムに適用される場合を例に説明を行ったが、意図推定を行うシステムであれば種々適用可能である。
なお、本願発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
以上のように、この発明に係る意図推定装置および意図推定方法は、音声認識機能を備えたナビゲーション装置などに適用可能であり、複数の意図を含む入力が行われた場合にも、複数の意図間の関係を踏まえて最適な意図列を生成することができる。
1 音声認識部、2 形態素解析部、3 意図列推定部、4 意図推定単位抽出部、5 意図推定モデル蓄積部、6 意図推定部、7 意図階層グラフデータ蓄積部、8 意図共起重み計算部、10 意図推定装置、11 意図列変換テーブル蓄積部、12 意図列変換部。
この発明は、自然言語で入力されたテキストの内容が、あらかじめ設計した意図のどの意図にあたるかを推定する意図推定装置および意図推定方法に関するものである。
近年、人間が喋る言葉を音声入力し、その認識結果を用いて、操作を実行する方法が注目されている。この技術は、携帯電話やカーナビなどの音声インタフェースとして利用されているが、基本的な方法としては、あらかじめシステムが想定した音声認識結果と操作を対応付け、音声認識結果が想定したものの場合には、操作を実行するというものがある。この方法は、従来の手操作と比べると、音声の発話によって直接操作ができるため、ショートカット機能として有効に働く。一方で、ユーザは操作を実行するためにシステムが待ち受けている言葉を発話する必要があり、システムが扱う機能が増えていくと、憶えるべき言葉が増加する。また、一般的に取り扱い説明書を十分に理解した上で使用するユーザは少なく、結果的に多くの操作のためにどのように発話する必要があるか分からず、実際には限られた機能以外、音声で操作できない場合があるという問題があった。
その解決方法として、音声認識結果を直接操作に結びつけるのではなく、ユーザの発話内容からユーザの意図を理解して操作する方法が開示されている。その実現の方法の1つに、あらかじめ収集しておいた発話文例と操作(以下、学習データと記す)を対応付けておき、ユーザの言葉からユーザの希望する操作(以下、意図と記す)を統計的学習方法によってモデル化し、ユーザ入力に対して該モデルを利用して意図を推定するものである(以下、統計的意図推定と記す)。統計的意図推定の具体的処理は、まず、学習データの発話文例から学習に使うタームを抽出する。そして、そのターム集合と正解の意図を入力学習データとして、統計的学習アルゴリズムにより、各タームと正解意図との重みを学習してモデルを出力する。
学習に使うタームは、発話文例を形態素解析したデータから、単語や単語列を抽出したものが一般的である。たとえば、「○○駅に行きたい」といった発話文例からは、「○○駅(固有名詞・施設)/に(助詞)/行き(動詞・連用)/たい(助動詞)」といった形態素解析結果が得られる。形態素解析結果が得られると、「$施設$、行く」(固有名詞の施設は$施設$という特殊シンボルに変換、動詞は原形に変換)といったタームや、「$施設$_に、に_行き、行き_たい」といった2連接の形態素タームを抽出する。
結果として、「$施設$、行く、$施設$_に、に_行き、行き_たい」のタームに対して「目的地設定[目的地=$施設$]」(主意図が目的地設定で、設定する目的地が$施設$)のように表現される正解意図とを生成し、大量の発話データから作成したターム列と正解意図からなる学習データを基にモデルを作成する。モデルを作成するための方式としては、機械学習アルゴリズムを利用する。機械学習アルゴリズムは、すべての学習データに対して、最も正解意図が多く生成されるよう入力タームと正解意図との重みを機械学習する。従って、学習データに類似する発話から得られたタームセットに対しては、正解意図を出力する可能性が高いモデルが得られる。この機械学習方式としては、例えば、最大エントロピー法を使うことができる。
このような機械学習アルゴリズムに基づいて作成したモデルを使って、ユーザ入力に対する意図を推定することで、あらかじめ想定した入力ではない入力に対しても柔軟に操作意図を推定できるため、正式な言い回しを憶えていないユーザの発話であっても、適切に意図を理解して、操作を実行することが可能となる。一方で、このような自由な入力を受け付けることにより、システムの柔軟性が増し、ユーザがさらに多様な発話を行う可能性を増大させる。
想定される多様な発話とは、大きく以下の2つに分けられる。
(a)1つの操作に対して、さらに多様な単語を使った入力
(b)複数の操作からなる要求を1つの塊として入力
上述した(a)の場合、学習データをさらに増加することにより多様な発話を処理することができる。一方、(b)の場合、元々学習データが1つの意図と対応付けられているため、複数の意図を含む場合には適切な意図を組み合わせた処理を行うことができない。
そこで、1つの意図として学習したモデルを使い、1つまたは複数の意図を含む入力に対して適切な意図の列を求める発話意図認識装置が特許文献1に開示されている。この発話意図認識装置は、入力形態素に対して、あらかじめ意図区切りとなる形態素列を学習データとして用意し、上述した意図理解と同様に分割可能性のある点を推定してその分割点の分割可能性と、各分割要素の意図可能性とを掛け合わせることで、最も尤もらしい意図列を推定する。
特開2000−200273号公報
しかしながら、上述した特許文献1に開示された技術は、形態素列に対して分割点候補を学習データとして与え、その可能性を学習し、実際のユーザ入力に対して分割点推定を行うものであり、それらの分割点を学習するためのデータとして、多様な入力を集めることは困難であり、実質的には学習データ中の形態素列としての分割点を予測するのみで、言語的性質に基づき分割点の可能性を判定する場合と大差がないと考えられる。
従って、分割点を基に複数の意図を推定することは、分割点の正しさに加えて、分割後の各部分入力に対する正解意図を個別に推定した結果最も尤もらしい意図を選択し、それを接続した意図列を返すことに他ならず、その発話全体における複数の意図の妥当性が検証されないという課題があった。
このことは、意図の連続性に関する評価がなされず、以下に示す(c)から(e)が原因となり妥当な意図列を得ることができない。
(c)学習データが大量に用意できない場合は、意図推定精度が低くなるため、全体の意図列も精度が低くなる可能性がある。
(d)入力には前方の部分を受けて後方の発話が省略される場合があるため、その場合に後方の発話の意図がユーザの意図列に一致しない場合がある。
(e)入力が音声の場合には、音声認識の結果を入力とするため、誤認識を含む場合の推定間違いを意図間の整合性から排除することができない。
この発明は、上記のような課題を解決するためになされたもので、複数の意図を含む入力が行われた場合であっても、あらかじめ意図間の関係を記述しておくことにより、意図間の関係を踏まえて、最適な意図列を生成することを目的とする。
この発明に係る意図推定装置は、入力された言語から意図を推定する単位である1個以上の意図推定単位を抽出する意図推定単位抽出部と、意図推定単位抽出部が抽出したそれぞれの意図推定単位から意図推定単位を構成する部分の意図である部分意図を推定する意図推定部と、意図推定部が推定した部分意図間の関係に基づいた意図共起重みを計算する意図共起重み計算部とを有し、意図推定部が推定した1個以上の部分意図を用いて入力された言語に相当する意図列を生成し、生成した意図列の尤もらしさを示すスコアと、生成した意図列を構成する部分意図について意図共起重み計算部が計算した意図共起重みとを用いて、入力された言語に対応した意図推定結果を生成する意図列推定部を備えるものである。
この発明によれば、複数の意図を含む入力が行われた場合にも、当該複数の意図間の関係を踏まえて最適な意図列を生成することができる。
実施の形態1に係る意図推定装置の構成を示すブロック図である。 実施の形態1に係る意図推定装置の意図階層グラフデータ蓄積部が蓄積する意図階層グラフデータの一例を示す図である。 実施の形態1に係る意図推定装置の入力音声から意図推定単位を抽出する処理の具体例を示す図である。 実施の形態1に係る意図推定装置の意図推定部の処理を示す図である。 実施の形態1に係る意図推定装置の意図推定部の処理を示す図である。 実施の形態1に係る意図推定装置の意図列推定部の処理を示す図である。 実施の形態1に係る意図推定装置の意図列推定部の処理を示す図である。 実施の形態1に係る意図推定装置の動作を示すフローチャートである。 実施の形態2に係る意図推定装置の構成を示すブロック図である。 実施の形態2に係る意図推定装置の意図列変換テーブル蓄積部が蓄積する意図列変換テーブルの一例を示す図である。 実施の形態2に係る意図推定装置の入力音声から意図推定単位を抽出する処理の具体例を示す図である。 実施の形態2に係る意図推定装置の意図推定部の処理を示す図である。 実施の形態2に係る意図推定装置の意図列推定部の処理を示す図である。 実施の形態2に係る意図推定装置の動作を示すフローチャートである。 実施の形態3に係る意図推定装置の入力音声から意図推定単位を抽出する処理の具体例を示す図である。 実施の形態3に係る意図推定装置の意図推定部の処理を示す図である。 実施の形態3に係る意図推定装置の意図推定部の処理を示す図である。 実施の形態3に係る意図推定装置の意図列推定部の処理を示す図である。 実施の形態3に係る意図推定装置の意図列推定部の処理を示す図である。 実施の形態4に係る意図推定装置の入力音声から意図推定単位を抽出する処理の具体例を示す図である。 実施の形態4に係る意図推定装置の意図推定部の処理を示す図である。 実施の形態4に係る意図推定装置の意図列推定部の処理を示す図である。
実施の形態1.
以下ではナビゲーションシステムに適用される意図推定装置を例に説明を行う。さらに以下では、ユーザが発するあるいは入力する言語に対応した、ユーザの希望する操作を「意図」と記す。
図1は、実施の形態1に係る意図推定装置の構成を示すブロック図である。
意図推定装置10は、音声認識部1、形態素解析部2および意図列推定部3で構成されている。また意図列推定部3は、意図推定単位抽出部4、意図推定モデル蓄積部5、意図推定部6、意図階層グラフデータ蓄積部7および意図共起重み計算部8を備えている。
音声認識部1は、意図推定装置10に入力された入力音声に対して音声認識処理を行い、音声認識結果を返す。形態素解析部2は、音声認識結果を入力として形態素解析を行い、形態素解析結果を返す。意図推定単位抽出部4は、形態素解析結果から、意図推定の単位として分割すべき位置を推定して部分形態素に分割し、言語の構文的制約に基づいて意図推定単位を抽出する。意図推定モデル蓄積部5は、意図推定を行う際に参照される意図推定モデルを蓄積するデータベースである。意図推定部6は、意図推定モデル蓄積部5に蓄積された意図推定モデルを参照し、意図推定単位抽出部4が分割したそれぞれの意図推定単位に対して部分意図推定結果と部分スコアを出力する。
意図階層グラフデータ蓄積部7は、意図列の妥当性を計算する際に参照される意図階層グラフデータを蓄積するデータベースである。意図共起重み計算部8は、意図階層グラフデータ蓄積部7に蓄積された意図階層グラフデータを参照し、意図推定部6が推定した部分意図推定結果の意図列に対する妥当性を示す意図共起重みを計算する。ここで、意図共起とは入力に対して意図が複数推定される場合を示し、意図共起重みとは推定された複数の意図についてそれぞれの妥当性を示した値である。意図列推定部3は、形態素解析部2から入力される形態素解析結果に対して、意図推定単位抽出部4、意図推定部6、および意図共起重み計算部8の出力結果に基づいて、意図列推定結果と最終スコアを取得し、入力音声に最も適した最終スコア付きの意図列推定結果を出力する。
図2は、実施の形態1に係る意図推定装置の意図階層グラフデータ蓄積部7が蓄積する意図階層グラフデータの一例を示す図である。
意図階層グラフデータは、意図ノード21〜27、各意図ノード21〜27の階層関係、および子ノードの意図共起重みを数値化して示した意図共起重み28、29が示されている。ここで、子ノードとは、例えば意図ノード21の場合、当該意図ノード21の一層下位に位置する意図ノード22を示す。
意図階層グラフデータは、基本的に仮想的な意図ノードを頂点とし、機能を階層化して示した構造となっており、下層に行くほどより具体的な意図を表している。図2の例では仮想的な「root」の意図ノード21を頂点とし、下層の意図ノード23は「目的地設定[]」、さらに一層下層の意図ノード24は「目的地設定[施設=?]」、さらに一層下層の意図ノード25は「目的地設定[施設=$施設$]」となっている。意図ノード23は目的地設定を行うが設定条件が何も決まっていない状態、意図ノード24は施設の目名称を用いて目的地設定を行うが具体的な施設名称が決まっていない状態、意図ノード25は具体的な施設名称が「$施設$」に割り当てられ、具体的な施設名で目的地設定を行う状態を表している。
一方、意図ノード26の「施設検索[施設=$施設$]」から意図ノード25の「目的地設定[施設=$施設$]」へのグラフのパス26a(以下グラフパスと称する)、および意図ノード26の「施設検索[施設=$施設$]」から意図ノード27「経由地設定[施設=$施設$]」へのグラフパス26bは、想定するカーナビゲーションアプリケーションの機能を基に生成されるグラフパスである。意図ノード26「施設検索[施設=$施設$]」は、具体的施設「$施設$」を探索することのみを要求しており、一方意図ノード25「目的地設定[施設=$施設$]」へのグラフパス26a、および意図ノード27「経由地設定[施設=$施設$]」へのグラフパス26bは、アプリケーションとして最終的に目的地設定、経由地設定などの意図を選択する必要があることを示している。
また、意図共起重み28は「1.2」を示し、これは子ノード以下の意図が複数出現した場合の意図共起重みが「1.2」であることを示している。すなわち、共に複数の意図が出現しても問題なく、さらには共に複数の意図が出現する頻度が多いことを示している。一方、意図共起重み29は「0.0」を示し、子ノード以下の意図が複数出現した場合の意図共起重みが「0.0」であることを示している。すなわち、共に複数の意図が出現しないことを示している。
図3は、実施の形態1に係る意図推定装置の入力音声から意図推定単位を抽出する処理の具体例を示す図である。
入力音声31は、入力例としてユーザが「○○ドームに立ち寄ってから、××ランドに行きたい」と発話したことを示している。音声認識結果32は、音声認識部1が入力音声31を音声認識した結果である。具体的には、「○○ドームに立ち寄ってから△△ラジオを聞きたい」が音声認識スコア「0.6」で求められた音声認識結果例33、および「○○ドームに立ち寄ってから、××ランドに行きたい」が音声認識スコア「0.4」で求められた音声認識結果例34で構成されている。
形態素解析結果35は、形態素解析部2が音声認識結果32を形態素解析した結果である。意図推定単位抽出結果36、40は、意図推定単位抽出部4が形態素解析結果35から言語の構文的制約に基づいて意図推定単位を抽出した結果である。意図推定単位抽出結果36では、3つの抽出パターン37、38、39が示されている。図3に示すように言語が日本語の場合、自立語に付属語列が付くという性質から、文節が最小の意図推定単位となり、さらに前方の体言が後方の用言に係るという性質から複合する文節が意図推定単位として抽出される。抽出パターン37、38、39で示した意図推定結果抽出単位は、ここで説明した係り受けの構造が成立するパターンのみを抽出したものである。
その後、意図推定単位抽出結果36、40の各抽出パターンを参照して、意図推定部6が意図推定モデルを用いて各抽出パターンの部分意図の推定を行い、部分スコアを算出する。当該意図推定部6の具体的な処理結果を図4および図5に示す。
図4および図5は、実施の形態1に係る意図推定装置の意図推定部6の処理を示す図である。より詳細には、図4は図3で示した意図推定単位抽出結果36に基づく部分意図の推定を示し、図5は図3で示した意図推定単位抽出結果40に基づく部分意図の推定を示している。
なお、図4および図5では自立語の原型をタームとして抽出する場合について説明する。まず、図4を参照しながら部分意図の推定処理について説明する。
ターム列41は、意図推定単位抽出結果36から生成される部分意図推定に用いるターム列を示しており、「○○ドーム/に」に対しては「$施設$_1」、「立ち寄っ/て/から」に対しては「立ち寄る」、「××ラジオ/を」に対しては「$ラジオ局$_1」、「聞き/たい」に対しては「聞く」が生成されることを示している。
さらに図4では、ターム列41に対して、分割採用重みおよび複数の抽出パターンを示している。抽出パターンとして図4の例では、図3で示した抽出パターン37、38、39に基づいた抽出パターンA、B、C、Dおよび非抽出パターンE、F、Gを示している。実線矢印42、43、44は、意図推定単位抽出部4が抽出した意図推定単位の範囲を示している。また、当該実線矢印42、43、44の下方には意図推定部6が推定した結果の部分意図、および当該推定した部分意図の部分スコアが示されている。また、点線矢印45、46は、意図推定単位抽出部4が抽出しなかった範囲を示している。当該点線矢印45、46の下方には意図推定部6が推定した結果の部分意図、および当該推定した部分意図の部分スコアが記載されている。さらにターム列41の下方に記載された分割点採用重み47は、各指定位置が意図推定単位の分割点として採用された場合にスコアに掛け合わせる数値であり、一方各指定位置が意図推定単位の分割点として採用されなかった場合には1から当該分割点採用重み47を引いた値をスコアに掛け合わせる数値である。
次に、図5を参照しながら部分意図の推定処理について説明する。
ターム列51は、意図推定単位抽出結果40から生成される部分意図推定に用いるターム列を示しており、「○○ドーム/に」に対しては「$施設$_1」、「立ち寄っ/て/から」に対しては「立ち寄る」、「××ランド/へ」に対しては「$施設$_2」、「行き/たい」に対しては「行く」が生成されることを示している。
さらに図5では、ターム列51に対して、分割採用重みおよび複数の抽出パターンを示している。抽出パターンとして図5の例では、図3で示した抽出パターンに基づいた抽出パターンA´、B´、C´、D´および非抽出パターンE´、F´、G´を示している。実線矢印52、53、54は、意図推定単位抽出部4が抽出した意図推定単位の範囲を示している。また、当該矢印52、53、54の下方には意図推定部6が推定した結果の部分意図、および当該推定した部分意図の部分スコアが示されている。また、点線矢印55、56は、意図推定単位抽出部4が抽出しなかった範囲を示している。当該点線矢印55、56の下方には意図推定部6が推定した結果の部分意図、および当該推定した部分意図の部分スコアが記載されている。さらにターム列51の下方に記載された分割点採用重み57は、各指定位置が意図推定単位の分割点として採用された場合にスコアに掛け合わせる数値であり、一方各指定位置が意図推定単位の分割点として採用されなかった場合には1から当該分割点採用重み57を引いた値をスコアに掛け合わせる数値である。
次に、意図列推定部3は、意図推定部6が推定した部分意図推定結果を用いて音声認識結果例33、34に対する部分意図推定結果の組み合わせを生成し、各組み合わせの最終スコアを算出する。意図列推定部3の具体的な処理結果を図6および図7に示す。
図6および図7は、実施の形態1に係る意図推定装置の意図列推定部3の処理を示す図である。より詳細には、図6は図4で示した部分意図推定結果の組み合わせに基づく最終スコアの算出例を示し、図7は図5で示した部分意図推定結果の組み合わせに基づく最終スコアの算出例を示している。
最終スコアは、各意図推定単位の全ての連続する部分意図列に対する部分スコアを掛け合わせ、さらに意図推定単位の妥当性、および意図共起重み計算部8が算出した意図共起重みを掛け合わせて算出される。
図6は音声認識結果例33に対する最終スコアの算出例を示し、当該音声認識結果例33の音声認識スコア61が「0.6」と示されている。また部分スコア62は、ターム列41を用いた各抽出パターンにおける部分意図推定結果の部分スコアを示している。全体スコア63は、部分意図推定結果の各部分スコアの積をとったものである。分割重み64は、分割点を採用したか、あるいは不採用であったかに従って重みを計算したものである。分割重み64の値は、意図分割の可能性を表す数字で、当該分割重み64の値の総和を取ると「1.0」になる。分割重みスコア(意図列の尤もらしさを示すスコア)65は、全体スコア63と分割重み64との積である。
意図共起重み66は、図2で示した意図階層グラフと部分意図列から求まる数値である。最終スコア67は、分割重みスコア65と、音声認識スコア61と、意図共起重み66とを掛け合わせた値である。抽出パターンAの意図列68は、音声認識結果例33の意図列パターンとして全ての文節で分割した場合の最終スコアを記したものである。また、抽出パターンB+Cの意図列69は、重文構造の各文を一塊とした場合の最終スコアを記したものである。
図7は、音声認識結果例34に対する最終スコアの算出例を示し、当該音声認識結果例34の音声認識スコア71が「0.4」と示されている。また、ターム列51、全体スコア72、分割重み73、分割重みスコア74、意図共起重み75および最終スコア76は、図6で説明した構成と同一である。また、抽出パターンB´+C´の意図列77は、重文構造の各文を一塊とした場合の最終スコアを記したものである。
図8は、実施の形態1に係る意図推定装置の動作を示すフローチャートである。
音声認識部1は、入力音声の音声認識を行う(ステップST1)。形態素解析部2は、ステップST1で得られた音声認識結果に対して形態素解析を行う(ステップST2)。意図推定単位抽出部4は、ステップST2で得られた形態素解析結果である形態素列を部分形態素に分割し、意図を推定する単位である意図推定単位を全て抽出する(ステップST3)。意図推定部6は、ステップST3で抽出された全ての意図推定単位に対して部分意図推定を行い、部分意図推定結果および部分スコアを得る(ステップST4)。
意図列推定部3は、ステップST4で得られた部分意図推定結果に基づいて、部分意図を連結して音声認識結果の全体に一致する意図列を生成し、生成した意図列の全体スコアを算出する(ステップST5)。また意図列推定部3は、ステップST5で生成した意図列の全体スコアに対して、意図共起重み計算部8が算出した意図共起重みおよび音声認識スコアを掛け合わせ、意図列に対する最終スコアを算出する(ステップST6)。さらに意図列推定部3は、ステップST6で算出した最終スコアを参照し、最も大きい最終スコアを有する意図列を、入力音声に最も適した意図列推定結果として出力し(ステップST7)、処理を終了する。
次に、図2から図7で示した具体例を参照しながら、図8で示したフローチャートについて説明を行う。なお、以下では音声による入力が行われるものとして説明を行う。
まず、音声による入力として図3で示した入力音声31「○○ドームに立ち寄ってから××ランドに行きたい」が入力され、当該入力音声31に対してステップST1として音声認識部1が音声認識を行い、音声認識結果32が得られたものとする。音声認識結果32は、音声認識結果例33の「○○ドームに立ち寄ってから△△ラジオを聞きたい」がスコア0.6、音声認識結果例34の「○○ドームに立ち寄ってから××ランドへ行きたい」がスコア0.4で得られたとする。当該音声認識結果例33、34は形態素解析部2に出力される。
形態素解析部2は、ステップST2として既知の形態素解析手法に基づいて音声認識結果例33、34の形態素解析を行い、図3に示す形態素解析結果35を生成する。図3の例では、形態素解析結果35には表層の形態素と品詞および活用形を記載しているが、それ以外の詳細な品詞分類、形態素の原形、形態素の意味ラベルなどの情報が出力されてもよく、最低限形態素の原形は含まれているものとする。
形態素解析結果35は、2つの形態素解析結果例36、40で構成され、それぞれ意図推定単位抽出部4に出力される。
意図推定単位抽出部4は、ステップST3として言語の構文的特徴に基づいて、形態素解析結果例36、40の全ての意図推定単位を抽出する。例えば、日本語の場合には、自立語に複数の付属語が連接して1つの文節という意味の塊をなすことから、形態素解析結果例36の場合、まず、「○○ドーム(固有名詞)/に(助詞)」、「立ち寄っ(動詞:連用)/て(助詞)/から(助詞)」、「△△ラジオ(固有名詞:ラジオ局)/を(助詞)」、「聞き(動詞:連用)/たい(助動詞)」といった4つの文節が意図推定単位として抽出される。
次に、構文的な制約として、体言は用言に係るという性質に基づき、かかり受け関係が成立する文節の組をひとつの意図推定単位として抽出する。さらに用言の連体形は後続の体言に係る、用言の連用形は後続の用言に係るという性質があるためこれに基づき意図推定単位の拡張を行う。これを繰り返すことにより、構文的に意味を持つ可能性がある形態素列が生成され、意図推定単位として抽出される。
図3の意図推定単位抽出結果例36で示した、抽出パターン37は文節を単位とする形態素列の意図推定単位であり、抽出パターン38は直後の用言に体言を接続させた2つの文節からなる意図推定単位であり、抽出パターン39は抽出パターン38の2つの文節をさらにまとめた意図推定単位である。
ステップST3の意図推定単位の抽出処理が終了すると、意図推定部6はステップST4として各意図推定単位に対して意図推定に用いるタームを抽出した上で意図推定を行い、そのスコアを保持する。図4で示したターム列41は、各意図推定と意図推定に用いるタームを示している。
タームは、(1)形態素を単独のタームとして使う方法、(2)自立語形態素を単独のタームとして使う方法、(3)形態素を単独およびn個の連鎖をタームとして使う方法、(4)形態素を単独およびそれに付随する付属の意味シンボル連鎖をタームとして使う方法などが考えられるが、本実施の形態1では、簡単のため自立語形態素の原形を抽出するものとして説明を進める。また、「○○ドーム」、「××ランド」、「△△ラジオ」や住所、施設ジャンル名、ブランド名などのタームは多様なタームが現れるため、そのままでは意図推定モデルの構築が困難なため、上位概念によるシンボルの共通化をして、「$施設$」、「$住所$」、「$ラジオ局$」、「$ジャンル名$」、「$ブランド名$」などのタームを用いる。
例えば、図4の抽出パターンBの実線矢印42で示した意図推定単位は、「○○ドームに立ち寄ってから」に対して、「$施設$_1」、「立ち寄る」の2つのタームが意図推定タームとして渡されることを示しており、その部分意図推定結果として「経由地設定[施設=$施設$_1]」が部分スコア「0.95」で意図推定されたことを示している。
図4の実線矢印42、43、44はステップST3で抽出した意図推定単位に対する部分意図推定結果を示し、点線矢印45、46はステップST3で抽出されなかった意図推定単位に対する部分意図推定結果を示し、音声認識結果例33全体をカバーする意図推定単位に関する部分意図推定結果である。点線矢印45、46で示した意図推定単位の部分意図推定結果を算出した理由は、入力音声が必ずしも文法的に正しい構文を構成するものだけではない可能性が存在するためである。特に、入力音声が音声認識される場合には、ユーザの発話が助詞や助動詞を十分に用いない形で行われることも多く、構文的に厳密な入力を想定すると、意図推定単位に漏れが生じる可能性がある。さらに、音声認識結果に認識誤りが含まれる可能性もあり、全ての可能性を評価した上で最適と考えられる意図列を選択する方が好ましい。
各意図推定単位の部分意図推定結果が求められると、意図列推定部3はステップST5として意図推定単位を用いて音声認識結果例33の全体に一致する意図列を生成し、全体スコアを計算する。図6は図5で示した抽出パターンA、B、C、Dおよび非抽出パターンE、F、Gを組み合わせて音声認識結果例33の全体に一致する意図列を生成し、生成した意図列の部分スコア62を表している。部分スコア62において領域Oは、図4において実線で記した部分意図の部分スコアに該当する。また領域Pは構文的に正当性が低く図4において点線で記した部分意図の部分スコアに該当する。当該領域Pにおいて、本実施の形態1では、意図推定部分ペナルティとして「0.9」を部分意図推定結果の部分スコアに対して掛け合わせることとする。また、各抽出パターンにおいて部分意図の部分スコアを全て掛け合わせることにより全体スコア63が算出される。
また、図6で示した各抽出パターンにおける分割重み64は、図4で示した分割採用重み47に基づいて以下のように計算される。
意図列68の場合:
0.4×0.6×0.4=0.096
抽出パターンAの場合、全ての分割点が使われているため、各点の分割採用重み47を掛け合わせる。
意図列69の場合:
(1.0−0.4)×0.6×(1.0−0.4)=0.216
抽出パターンB+Cの場合、2番目の分割点のみ使われているため、2番目の点以外は1.0からの分割採用重み47を引いたものを掛け合わせる。
上述のように算出された分割重み64を用いて、分割重みスコア65が「(全体スコア63)×(分割重み64)」として算出される。算出された分割重みスコア65を参照すると、音声認識結果例33の意図理解結果として、抽出パターンB+Cで示した「経由地設定[施設=$施設$_1]、ラジオ再生[対象=$ラジオ局$_1]」が、最も高い分割重みスコア「0.197」として求まる。一方、音声認識結果例34についても同様に、図7に示すように意図理解結果として、抽出パターンB´+C´で示した「経由地設定[施設=$施設$_1]、目的地設定[施設=$施設$_2]」が最も高い分割重みスコア「0.195」として求まる。
従来であれば、当該抽出パターンB+Cと抽出パターンB´+C´の意図理解結果である分割重みスコアにおいて、より高いスコアを取る抽出パターンB+Cで示した「経由地設定[施設=$施設$_1]、ラジオ再生[対象=$ラジオ局$_1]」が入力音声31に対する意図推定結果と算出される。
さらに、評価の方法として、音声認識スコア61、71に対して分割重みスコア65、74を積算したものを最終スコアとする方法も考えられるが、音声認識スコア61と音声認識スコア71とを比較すると音声認識結果例33の音声認識スコア61の方が高い値であるため、いずれの場合も抽出パターンB+Cで示した「経由地設定[施設=$施設$_1]、ラジオ再生[対象=$ラジオ局$_1]」が最終的な意図推定結果となる。これは、意図間の関係を考慮した条件が存在しないために、音声認識結果が最優先で評価されて起こる。
そこで、この実施の形態1の意図推定装置10では、ステップST6として意図列推定部3が意図の妥当性を評価するために、例えば以下に示す計算を行った結果を意図共起重み66、75とし、分割重みスコア65、74に積算する。
(1)連続する2つの意図を順番に抽出し、2つの意図の関係を計算する。
(a)2つの意図の上位・下位の関係がある場合は一定の重み(たとえば、0.7)
(b)2つの意図が共通の上位意図を持つ場合、そのノードに付与された重み
(2)(1)で求めた重みの積を最終的な重み、すなわち最終スコア67、76とする。
上述した(1)による計算では、標準的な意図連鎖関係には1.0を与え、より密接な意図連鎖関係には1.0より大きい値を与え、矛盾するような意図連鎖関係には1.0より小さい値を与えることで、加点、減点を行うことになる。
例えば、抽出パターンB+Cで示した「経由地設定[施設=$施設$_1]、ラジオ再生[対象=$ラジオ局$_1]」の場合、共通する上位意図は図2で示したノード21の「root」となるため、当該ノード21に付与された意図共起重みは「0.5」となる。この処理を全ての意図列に対して計算すると図6および図7で示した意図共起重み66、75のようになる。このように算出された意図共起重みを用いて最終スコアは以下の式に基づいて計算される。
(最終スコア)=(分割重みスコア)×(意図共起重み)×(音声認識スコア)
最終スコア67、76の算出結果を参照すると、最も高い最終スコアを有するのは抽出パターンB´+C´で示した意図列77となり、ステップST7として当該意図列77がユーザの入力音声31に最も適した意図列推定結果として出力される。
以上のように、この実施の形態1によれば、意図間の関係を示す意図共起重みを計算する意図共起重み計算部8と、分割重みスコアを算出し、算出した分割重みスコアに意図共起重みおよび音声認識スコアを積算する意図列推定部3を備えるように構成したので、意図間の関係を考慮して、入力音声に最も適した意図列推定結果を出力することができる。そのため、複数の意図を含む入力が行われた場合であっても、意図間の関係に基づいて最適な意図列を生成し、意図列推定結果として出力することができる。
実施の形態2.
実施の形態2では、ユーザが発話の省略を行った場合にも適切な意図列推定結果を得る構成を示す。
図9は、実施の形態2に係る意図推定装置の構成を示すブロック図である。
図1で示した実施の形態1の意図推定装置10に意図列変換テーブル蓄積部11および意図列変換部12を追加して設けている。なお以下では、実施の形態1による意図推定装置10の構成要素と同一または相当する部分には、実施の形態1で使用した符号と同一の符号を付して説明を省略または簡略化する。
意図列変換テーブル蓄積部11は、意図推定結果と置換意図列との関係を記載したデータを意図列変換テーブルとして蓄積している。意図列変換テーブルは、意図推定結果で示された意図の連続に対して置き換える置換意図列を示したルールを保持するものであり、当該ルールに一致する意図列が出現したか否か判断する場合、および置き換える意図列を取得する場合に参照される。
意図列変換部12は、意図列変換テーブル蓄積部11に蓄積された意図列変換テーブルを参照して、意図推定部6が推定した部分意図推定結果と一致する意図列が存在するか否か順番にチェックを行い、一致する意図列が存在する場合にはルールに従って当該意図列の変換を行う。
図10は、実施の形態2に係る意図推定装置の意図列変換テーブル蓄積部11が蓄積する意図列変換テーブルの一例を示す図である。
意図列変換テーブルは複数の意図列変換ルールで構成され、図10の例では3つの意図列変換ルール81、82、83を示している。意図列変換ルールは、左辺の意図列に一致する部分意図推定結果が出現した場合には、当該部分意図推定結果を右辺の意図列に置き換えることを示している。
位置変換テーブルに記載される意図列変換ルールは基本的には、発話中の省略や意味的な変換が前後の関係から明らかな場合の経験則によるルールである。例えば、意図列変換ルール81の入力文例はその典型的な発話例を表したもので、入力文例の後段の「$施設$_Y」に相当する発話は文脈から目的地を示唆しているため、変換前の「地点検索(施設検索)」の意図を「目的地設定」に置き換えることを示している。
図11は、実施の形態2に係る意図推定装置の入力音声から意図推定単位を抽出する処理の具体例を示す図である。
図11では入力音声として「○○ドームに立ち寄ってから××ランド」という発話が入力された場合の音声認識結果から意図推定単位を抽出するまでの例を示す。
音声認識結果91は、音声認識部1が入力音声31を音声認識した結果である。具体的には、「○○ドームに立ち寄ってから××ランド」がスコア「0.7」で求められた音声認識結果例が示されており、発話の通りの認識が行われたことを示している。形態素解析結果92は、形態素解析部2が音声認識結果91を形態素解析した結果である。意図推定単位抽出結果93は、意図推定単位抽出部4が形態素解析結果92に対して意図推定単位を抽出した結果である。意図推定単位抽出結果93では、3つの抽出パターン93a、93b、93cが示されている。
図12は、実施の形態2に係る意図推定装置の意図推定部6の処理を示す図である。より詳細には、図11で示した意図推定単位抽出結果93に基づく部分意図の推定を示している。
ターム列94は、意図推定単位抽出結果93から生成される部分意図推定に用いるターム列を示している。また、抽出パターン93a、93b、93cに基づいた抽出パターンH、I、Jおよび非抽出パターンKを示している。実線矢印95および部分スコア96は、各意図推定単位に対して意図推定した結果例である。点線矢印および分割点採用重みの構成は実施の形態1と同様である。
図13は、実施の形態2に係る意図推定装置の意図列推定部3の処理を示す図である。より詳細には、図12で示した部分意図推定結果の組み合わせに基づく最終スコアの算出例を示している。
音声認識結果91に対して、部分意図推定結果の組み合わせにより最終スコアを計算した例であり、実施の形態1と同様に部分スコア101、音声認識スコア102、全体スコア103、分割重み104、分割重みスコア105、意図共起重み106および最終スコア107が示されている。意図列108は、全ての分割パターンに対して最適な意図推定結果を示す意図列を示している。
図14は、実施の形態2に係る意図推定装置の動作を示すフローチャートである。なお、以下では実施の形態1に係る意図推定装置10と同一のステップには図8で使用した符号と同一の符号を付し、説明を省略または簡略化する。
ステップST5において、音声認識結果の全体に一致する意図列を生成して全体スコアを算出すると、意図列変換部12は生成された意図列の部分意図列の中から意図列変換テーブル蓄積部11に蓄積された意図列変換ルールに一致する分割パターンを検索し、一致する分割パターンが存在する場合には、当該意図列を意図列変換ルールに基づいて変換する(ステップST11)。
その後、意図列推定部3はステップST11で変換した意図列あるいは変換しなかった意図列の全体スコアに対して、意図共起重み計算部8が算出した意図共起重みおよび音声認識スコアを掛け合わせ、意図列に対する最終スコアを算出する(ステップST6)。さらに意図列推定部3は、ステップST16で算出した最終スコアを参照し、最も大きい最終スコアを有する意図列を、入力音声に最も適した意図列推定結果として出力し(ステップST7)、処理を終了する。
次に、図11から図13で示した具体例を参照しながら、図14で示したフローチャートについて説明を行う。また、実施の形態1と同様に音声による入力が行われるものとして説明を行う。
まず、音声による入力として「○○ドームに立ち寄ってから××ランド」が入力され、ステップST1として図11に示す音声認識結果91がスコア0.7で得られたとする。音声認識結果91以外の認識結果が生成されることも予想されるが、実施の形態2の発明のポイントには影響を与えないため説明を省略する。音声認識結果91が生成されると、ステップST2の形態素解析およびステップST3の意図推定単位の抽出が行われ、図11に示す意図推定単位抽出結果93が得られる。
続いて、意図推定部6はステップST4として図12に示すターム列94を抽出した上で、部分意図推定結果および部分スコアを算出する。次に、意図列推定部3は、ステップST5として意図列推定単位を用いて音声認識結果91の全体に一致する意図列を生成し、全体スコアを計算する。これにより、図13で示した抽出パターン、当該抽出パターンンに応じた部分スコア、および部分スコアに基づいた全体スコアが得られる。
次に、意図列変換部12は、ステップST11として部分意図列の中から、図10で示した意図列変換ルールに一致する置換パターンを検索し、一致する置換パターンが存在した場合には該当する意図列を意図列変換ルールに従って変換する。
具体的には、図13で示した意図列108の場合、抽出パターンIの部分意図列および抽出パターンHの部分意図列で構成され、当該意図列108は図10で示した意図列変換ルール81に一致するため、以下のように変換される。
変換前:経由地設定[施設=$施設$_1]、施設検索[施設=$施設$_2]
変換後:経由地設定[施設=$施設$_1]、目的地設定[施設=$施設$_2]
次に、ステップST6として意図列推定部3が分割重みスコア105を算出し、当該分割重みスコア105に意図共起重み計算部8が計算した意図共起重み106および音声認識スコアを積算し、最終スコア107を算出する。最後に、意図列推定部3はステップST7として最終スコア107が最大である意図列108の「経由地設定[施設=$施設$_1]、目的地設定[施設=$施設$_2]」がユーザの入力音声に最も適した意図列推定結果であるとして出力する。
以上のように、この実施の形態2によれば、意図列の置換パターンを示した意図列変換テーブルを蓄積した意図列変換テーブル蓄積部11と、当該意図列変換テーブル蓄積部11に蓄積された意図変換テーブルを参照して該当する意図列が出現した場合に置換パターンに従って意図列を置き換える意図列変換部12とを備えるように構成したので、ユーザの発話において省略が行われた場合であっても、ユーザの入力音声に最も適した意図列推定結果を得ることができる。
実施の形態3.
上述した実施の形態1では使用言語を日本語として説明を行ったが、この実施の形態3では使用言語を英語として説明する。なお、以下ではナビゲーションシステムに適用される意図推定装置を例に説明を行う。
また、以下の説明では、実施の形態1で示した意図推定装置(図1参照)を用いて説明を行う。また、意図推定装置10の意図階層グラフデータ蓄積部7は図2で示した意図階層グラフデータを蓄積するものとする。さらに、図8で示したフローチャートに基づいて意図推定処理を行うものとして説明を行う。
図15は、実施の形態3に係る意図推定装置の入力音声から意図推定単位を抽出する処理の具体例を示す図である。
入力音声111は、入力例としてユーザが「Stop at ○○ Dome, then drive to ×× Land」と発話したことを示している。音声認識結果112は、音声認識部1が入力音声111を音声認識した結果である。具体的には、「Stop at ○○ Dome, then listen to the △△ Radio」が音声認識スコア「0.6」で求められた音声認識結果例113、および「Stop at ○○ Dome, then drive to ×× Land」が音声認識スコア「0.4」で求められた音声認識結果例114で構成されている。
形態素解析結果115は、形態素解析部2が音声認識結果112を形態素解析した結果である。意図推定単位抽出結果116、120は、意図推定単位抽出部4が形態素解析結果115から言語の構文的制約に基づいて意図推定単位を抽出した結果である。意図推定単位抽出結果116では、3つの抽出パターン117、118、119が示されている。図15に示すように言語が英語の場合、名詞、動詞、形容詞などの単語を意図推定単位として抽出する。抽出パターン117、118、119で示した意図推定結果抽出単位は、ここで説明した係り受けの構造が成立するパターンのみを抽出したものである。
その後、意図推定単位抽出結果116、120の各抽出パターンを参照して、意図推定部6が意図推定モデルを用いて各抽出パターンの部分意図の推定を行い、部分スコアを算出する。当該意図推定部6の具体的な処理結果を図16および図17に示す。
図16および図17は、実施の形態3に係る意図推定装置の意図推定部6の処理を示す図である。より詳細には、図16は図15で示した意図推定単位抽出結果116に基づく部分意図の推定を示し、図17は図15で示した意図推定単位抽出結果120に基づく部分意図の推定を示している。
なお、図16および図17では単語の原形をタームとして抽出する場合について説明する。まず、図16を参照しながら部分意図の推定処理について説明する。
ターム列121は、意図推定単位抽出結果116から生成される部分意図推定に用いるターム列を示しており、「○○ Dome」に対しては「$施設$_1」、「Stop at」に対しては「stop」、「the △△ Radio」に対しては「$ラジオ局$_1」、「listen to」に対しては「listen」が生成されることを示している。
さらに図16では、ターム列121に対して、分割採用重みおよび複数の抽出パターンを示している。抽出パターンとして図16の例では、図15で示した抽出パターン117、118、119に基づいた抽出パターンa、b、c、dおよび非抽出パターンe、f、gを示している。実線矢印122、123、124は、意図推定単位抽出部4が抽出した意図推定単位の範囲を示している。また、当該実線矢印122、123、124の下方には意図推定部6が推定した結果の部分意図、および当該推定した部分意図の部分スコアが示されている。また、点線矢印125、126は、意図推定単位抽出部4が抽出しなかった範囲を示している。当該点線矢印125、126の下方には意図推定部6が推定した結果の部分意図、および当該推定した部分意図の部分スコアが記載されている。さらにターム列121の下方に記載された分割点採用重み127は、各指定位置が意図推定単位の分割点として採用された場合にスコアに掛け合わせる数値であり、一方各指定位置が意図推定単位の分割点として採用されなかった場合には1から当該分割点採用重み127を引いた値をスコアに掛け合わせる数値である。
次に、図17を参照しながら部分意図の推定処理について説明する。
ターム列131は、意図推定単位抽出結果120から生成される部分意図推定に用いるターム列を示しており、「○○ Dome」に対しては「$施設$_1」、「Stop at」に対しては「Stop」、「×× Land」に対しては「$施設$_2」、「drive to」に対しては「drive」が生成されることを示している。
さらに図17では、ターム列131に対して、分割採用重みおよび複数の抽出パターンを示している。抽出パターンとして図17の例では、図15で示した抽出パターンに基づいた抽出パターンa´、b´、c´、d´および非抽出パターンe´、f´、g´を示している。実線矢印132、133、134は、意図推定単位抽出部4が抽出した意図推定単位の範囲を示している。また、当該矢印132、133、134の下方には意図推定部6が推定した結果の部分意図、および当該推定した部分意図の部分スコアが示されている。また、点線矢印135、136は、意図推定単位抽出部4が抽出しなかった範囲を示している。当該点線矢印135、136の下方には意図推定部6が推定した結果の部分意図、および当該推定した部分意図の部分スコアが記載されている。さらにターム列131の下方に記載された分割点採用重み137は、各指定位置が意図推定単位の分割点として採用された場合にスコアに掛け合わせる数値であり、一方各指定位置が意図推定単位の分割点として採用されなかった場合には1から当該分割点採用重み137を引いた値をスコアに掛け合わせる数値である。
次に、意図列推定部3は、意図推定部6が推定した部分意図推定結果を用いて音声認識結果例113、114に対する部分意図推定結果の組み合わせを生成し、各組み合わせの最終スコアを算出する。意図列推定部3の具体的な処理結果を図18および図19に示す。
図18および図19は、実施の形態3に係る意図推定装置の意図列推定部3の処理を示す図である。より詳細には、図18は図16で示した部分意図推定結果の組み合わせに基づく最終スコアの算出例を示し、図19は図17で示した部分意図推定結果の組み合わせに基づく最終スコアの算出例を示している。
最終スコアは、各意図推定単位の全ての連続する部分意図列に対する部分スコアを掛け合わせ、さらに意図推定単位の妥当性、および意図共起重み計算部8が算出した意図共起重みを掛け合わせて算出される。
図18は音声認識結果例113に対する最終スコアの算出例を示し、当該音声認識結果例113の音声認識スコア141が「0.6」と示されている。また部分スコア142は、ターム列121を用いた各抽出パターンにおける部分意図推定結果の部分スコアを示している。全体スコア143は、部分意図推定結果の各部分スコアの積をとったものである。分割重み144は、分割点を採用したか、あるいは不採用であったかに従って重みを計算したものである。分割重み144の値は、意図分割の可能性を表す数字で、当該分割重み144の値の総和を取ると「1.0」になる。分割重みスコア(意図列の尤もらしさを示すスコア)145は、全体スコア143と分割重み144との積である。
意図共起重み146は、図2で示した意図階層グラフと部分意図列から求まる数値である。最終スコア147は、分割重みスコア145と、音声認識スコア141と、意図共起重み146とを掛け合わせた値である。抽出パターンaの意図列148は、音声認識結果例113の意図列パターンとして全ての文節で分割した場合の最終スコアを記したものである。また、抽出パターンb+cの意図列149は、重文構造の各文を一塊とした場合の最終スコアを記したものである。
図19は、音声認識結果例114に対する最終スコアの算出例を示し、当該音声認識結果例114の音声認識スコア151が「0.4」と示されている。また、ターム列131、全体スコア152、分割重み153、分割重みスコア154、意図共起重み155および最終スコア156は、図18で説明した構成と同一である。また、抽出パターンb´+c´の意図列157は、重文構造の各文を一塊とした場合の最終スコアを記したものである。
次に、実施の形態3の意図推定装置の動作について説明する。なお、実施の形態3の意図推定装置の動作を示すフローチャートは実施の形態1の図8で示したフローチャートと同一である。そこで、図2および図15からから図19で示した具体例を参照しながら、実施の形態1の図8で示したフローチャートについて説明を行う。なお、以下では音声による入力が行われるものとして説明を行う。
まず、音声による入力として図15で示した入力音声111「Stop at ○○ Dome, then drive to ×× Land」が入力され、当該入力音声111に対してステップST1として音声認識部1が音声認識を行い、音声認識結果112が得られたものとする。音声認識結果112は、音声認識結果例113の「Stop at ○○ Dome, then listen to the △△ Radio」がスコア0.6、音声認識結果例114の「Stop at ○○ Dome, then drive to ×× Land」がスコア0.4で得られたとする。当該音声認識結果例113、114は形態素解析部2に出力される。
形態素解析部2は、ステップST2として既知の形態素解析手法に基づいて音声認識結果例113、114の形態素解析を行い、図15に示す形態素解析結果115を生成する。図15の例では、形態素解析結果115には表層の形態素と品詞および活用形を記載しているが、それ以外の詳細な品詞分類、形態素の原形、形態素の意味ラベルなどの情報が出力されてもよく、最低限形態素の原形は含まれているものとする。
形態素解析結果115は、2つの形態素解析結果例116、120で構成され、それぞれ意図推定単位抽出部4に出力される。
意図推定単位抽出部4は、ステップST3として言語の構文的特徴に基づいて、形態素解析結果例116、120の全ての意図推定単位を抽出する。例えば、英語の形態素解析結果例116の場合、まず、「stop(v)/at(prep)」、「○○ Dome(n:POI)」、「then(adv)/drive(v)/to(prep)」、「the(art)/ △△ Radio(n:radio station)」といった4つの文節が意図推定単位として抽出される。
次に、構文的な制約として、体言は用言に係るという性質に基づき、かかり受け関係が成立する文節の組をひとつの意図推定単位として抽出する。さらに用言の連体形は後続の体言に係る、用言の連用形は後続の用言に係るという性質があるためこれに基づき意図推定単位の拡張を行う。これを繰り返すことにより、構文的に意味を持つ可能性がある形態素列が生成され、意図推定単位として抽出される。
図15の意図推定単位抽出結果例116で示した、抽出パターン117は文節を単位とする形態素列の意図推定単位であり、抽出パターン118は直前の動詞に名詞を接続させた2つの文節からなる意図推定単位であり、抽出パターン119は抽出パターン118の2つの文節をさらにまとめた意図推定単位である。
ステップST3の意図推定単位の抽出処理が終了すると、意図推定部6はステップST4として各意図推定単位に対して意図推定に用いるタームを抽出した上で意図推定を行い、そのスコアを保持する。図16で示したターム列121は、各意図推定と意図推定に用いるタームを示している。
タームは、(1)形態素を単独のタームとして使う方法、(2)名詞、動詞、形容詞などの限定された単語を単独のタームとして使う方法、(3)形態素を単独およびn個の連鎖をタームとして使う方法、(4)形態素を単独およびそれに付随する付属の意味シンボル連鎖をタームとして使う方法などが考えられるが、本実施の形態3では、簡単のため名詞、動詞、形容詞などの限定された単語の原形を抽出するものとして説明を進める。ただし、施設や住所などの名詞は、複数の単語列で1つの塊とみなす。また、「○○ Dome」、「×× Land」、「△△ Radio」や住所、施設ジャンル名、ブランド名などのタームは多様なタームが現れるため、そのままでは意図推定モデルの構築が困難なため、上位概念によるシンボルの共通化をとして、「$施設$」、「$住所$」、「$ラジオ局$」、「$ジャンル名$」、「$ブランド名$」などのタームを用いる。
例えば、図16の抽出パターンbの実線矢印122で示した意図推定単位は、「stop at ○○ Dome」に対して、「stop」、「$施設$_1」の2つのタームが意図推定タームとして渡されることを示しており、その部分意図推定結果として「経由地設定[施設=$施設$_1]」が部分スコア「0.95」で意図推定されたことを示している。
図16の実線矢印122、123、124はステップST3で抽出した意図推定単位に対する部分意図推定結果を示し、点線矢印125、126はステップST3で抽出されなかった意図推定単位に対する部分意図推定結果を示し、音声認識結果例113全体をカバーする意図推定単位に関する部分意図推定結果である。ここで、点線矢印125、126で示した意図推定単位の部分意図推定結果を算出した理由は、入力音声が必ずしも文法的に正しい構文を構成するものだけではない可能性が存在するためである。特に、入力音声が音声認識される場合には、ユーザの発話が冠詞や前置詞を十分に用いない形で行われることも多く、構文的に厳密な入力を想定すると、意図推定単位に漏れが生じる可能性がある。さらに、音声認識結果に認識誤りが含まれる可能性もあり、全ての可能性を評価した上で最適と考えられる意図列を選択する方が好ましい。
各意図推定単位の部分意図推定結果が求められると、意図列推定部3はステップST5として意図推定単位を用いて音声認識結果例113,114の全体に一致する意図列を生成し、全体スコアを計算する。図18は図16で示した抽出パターンa、b、c、dおよび非抽出パターンe、f、gを組み合わせて音声認識結果例113の全体に一致する意図列を生成し、生成した意図列の部分スコア142を表している。部分スコア142において領域Oは、図16において実線で記した部分意図の部分スコアに該当する。また領域Pは構文的に正当性が低く図16において点線で記した部分意図の部分スコアに該当する。当該領域Pにおいて、本実施の形態1では、意図推定部分ペナルティとして「0.9」を部分意図推定結果の部分スコアに対して掛け合わせることとする。また、各抽出パターンにおいて部分意図の部分スコアを全て掛け合わせることにより全体スコア143が算出される。
また、図18で示した各抽出パターンにおける分割重み144は、図16で示した分割採用重み127に基づいて以下のように計算される。
意図列148の場合:
0.4×0.6×0.4=0.096
抽出パターンaの場合、全ての分割点が使われているため、各点の分割採用重み127を掛け合わせる。
意図列149の場合:
(1.0−0.4)×0.6×(1.0−0.4)=0.216
抽出パターンb+cの場合、2番目の分割点のみ使われているため、2番目の点以外は1.0からの分割採用重み127を引いたものを掛け合わせる。
上述のように算出された分割重み144を用いて、分割重みスコア145が「(全体スコア143)×(分割重み144)」として算出される。算出された分割重みスコア145を参照すると、音声認識結果例113の意図理解結果として、抽出パターンb+cで示した「経由地設定[施設=$施設$_1]、ラジオ再生[対象=$ラジオ局$_1]」が、最も高い分割重みスコア「0.197」として求まる。一方、音声認識結果例114についても同様に、図19に示すように意図理解結果として、抽出パターンb´+c´で示した「経由地設定[施設=$施設$_1]、目的地設定[施設=$施設$_2]」が最も高い分割重みスコア「0.195」として求まる。
従来であれば、当該抽出パターンb+cと抽出パターンb´+c´の意図理解結果である分割重みスコアにおいて、より高いスコアを取る抽出パターンb+cで示した「経由地設定[施設=$施設$_1]、ラジオ再生[対象=$ラジオ局$_1]」が入力音声111に対する意図推定結果と算出される。
さらに、評価の方法として、音声認識スコア141、151に対して分割重みスコア145、154を積算したものを最終スコアとする方法も考えられるが、音声認識スコア141と音声認識スコア151とを比較すると音声認識結果例113の音声認識スコア141の方が高い値であるため、いずれの場合も抽出パターンb+cで示した「経由地設定[施設=$施設$_1]、ラジオ再生[対象=$ラジオ局$_1]」が最終的な意図推定結果となる。これは、意図間の関係を考慮した条件が存在しないために、音声認識結果が最優先で評価されて起こる。
そこで、この実施の形態3の意図推定装置10では、ステップST6として意図列推定部3が意図の妥当性を評価するために、例えば以下に示す計算を行った結果を意図共起重み146、155とし、分割重みスコア145、154に積算する。
(1)連続する2つの意図を順番に抽出し、2つの意図の関係を計算する。
(a)2つの意図の上位・下位の関係がある場合は一定の重み(たとえば、0.7)
(b)2つの意図が共通の上位意図を持つ場合、そのノードに付与された重み
(2)(1)で求めた重みの積を最終的な重み、すなわち最終スコア147、156とする。
上述した(1)による計算では、標準的な意図連鎖関係には1.0を与え、より密接な意図連鎖関係には1.0より大きい値を与え、矛盾するような意図連鎖関係には1.0より小さい値を与えることで、加点、減点を行うことになる。
例えば、抽出パターンb+cで示した「経由地設定[施設=$施設$_1]、ラジオ再生[対象=$ラジオ局$_1]」の場合、共通する上位意図は図2で示したノード21の「root」となるため、当該ノード21に付与された意図共起重みは「0.5」となる。この処理を全ての意図列に対して計算すると図18および図19で示した意図共起重み146、155のようになる。このように算出された意図共起重みを用いて最終スコアは以下の式に基づいて計算される。
(最終スコア)=(分割重みスコア)×(意図共起重み)×(音声認識スコア)
最終スコア147、156の算出結果を参照すると、最も高い最終スコアを有するのは抽出パターンb´+c´で示した意図列157となり、ステップST7として当該意図列157がユーザの入力音声111に最も適した意図列推定結果として出力される。
以上のように、この実施の形態3によれば、意図間の関係を示す意図共起重みを計算する意図共起重み計算部8と、分割重みスコアを算出し、算出した分割重みスコアに意図共起重みおよび音声認識スコアを積算する意図列推定部3を備えるように構成したので、意図間の関係を考慮して、入力音声に最も適した意図列推定結果を出力することができる。そのため、複数の意図を含む入力が行われた場合であっても、意図間の関係に基づいて最適な意図列を生成し、意図列推定結果として出力することができる。
実施の形態4.
上述した実施の形態2では使用言語を日本語として説明を行ったが、この実施の形態4では使用言語を英語として説明する。なお、以下ではナビゲーションシステムに適用される意図推定装置を例に説明を行う。
また、以下の説明では、実施の形態2で示した意図推定装置(図9参照)を用いて説明を行う。また、意図推定装置10の意図列変換テーブル蓄積部11は図10で示した意図列変換テーブルを蓄積するものとする。さらに、図14で示したフローチャートに基づいて意図推定処理を行うものとして説明を行う。
図20は、実施の形態4に係る意図推定装置の入力音声から意図推定単位を抽出する処理の具体例を示す図である。
図20では入力音声として「Stop at ○○ Dome then ×× Land」という発話が入力された場合の音声認識結果から意図推定単位を抽出するまでの例を示す。
音声認識結果161は、音声認識部1が入力音声31を音声認識した結果である。具体的には、「Stop at ○○ Dome then ×× Land」がスコア「0.7」で求められた音声認識結果例が示されており、発話の通りの認識が行われたことを示している。形態素解析結果162は、形態素解析部2が音声認識結果161を形態素解析した結果である。意図推定単位抽出結果163は、意図推定単位抽出部4が形態素解析結果162に対して意図推定単位を抽出した結果である。意図推定単位抽出結果163では、3つの抽出パターン163a、163b、163cが示されている。
図21は、実施の形態4に係る意図推定装置の意図推定部6の処理を示す図である。より詳細には、図20で示した意図推定単位抽出結果163に基づく部分意図の推定を示している。
ターム列164は、意図推定単位抽出結果163から生成される部分意図推定に用いるターム列を示している。また、抽出パターン163a、163b、163cに基づいた抽出パターンh、i、jおよび非抽出パターンkを示している。実線矢印165および部分スコア166は、各意図推定単位に対して意図推定した結果例である。点線矢印および分割点採用重みの構成は実施の形態3と同様である。
図22は、実施の形態4に係る意図推定装置の意図列推定部3の処理を示す図である。より詳細には、図21で示した部分意図推定結果の組み合わせに基づく最終スコアの算出例を示している。
音声認識結果161に対して、部分意図推定結果の組み合わせにより最終スコアを計算した例であり、実施の形態3と同様に音声認識スコア171、部分スコア172、全体スコア173、分割重み174、分割重みスコア175、意図共起重み176および最終スコア177が示されている。意図列178は、全ての分割パターンに対して最適な意図推定結果を示す意図列を示している。
次に、実施の形態4の意図推定装置の動作について説明する。なお、実施の形態4の意図推定装置の動作を示すフローチャートは実施の形態2の図14で示したフローチャートと同一である。そこで、図2、図10および図20から図22で示した具体例を参照しながら、実施の形態2の図14で示したフローチャートについて説明を行う。なお、以下では音声による入力が行われるものとして説明を行う。
まず、音声による入力として「Stop at ○○ Dome then ×× Land」が入力され、ステップST1として音声認識部1が音声認識を行い、図20に示す音声認識結果161がスコア0.7で得られたものとする。音声認識結果161以外の認識結果が生成されることも予想されるが、実施の形態4の発明のポイントには影響を与えないため説明を省略する。音声認識結果161が生成されると、ステップST2の形態素解析およびステップST3の意図推定単位の抽出が行われ、図20に示す意図推定単位抽出結果163が得られる。
続いて、意図推定部6はステップST4として図21に示すターム列164を抽出した上で、部分意図推定結果および部分スコアを算出する。次に、意図列推定部3は、ステップST5として意図列推定単位を用いて音声認識結果161の全体に一致する意図列を生成し、全体スコアを計算する。これにより、図22で示した抽出パターン、当該抽出パターンンに応じた部分スコア、および部分スコアに基づいた全体スコアが得られる。
次に、意図列変換部12は、ステップST11として部分意図列の中から、図10で示した意図列変換ルールに一致する置換パターンを検索し、一致する置換パターンが存在した場合には該当する意図列を意図列変換ルールに従って変換する。
具体的には、図22で示した意図列178の場合、抽出パターンiの部分意図列および抽出パターンhの部分意図列で構成され、当該意図列178は図10で示した意図列変換ルール81に一致するため、以下のように変換される。
変換前:経由地設定[施設=$施設$_1]、施設検索[施設=$施設$_2]
変換後:経由地設定[施設=$施設$_1]、目的地設定[施設=$施設$_2]
次に、ステップST6として意図列推定部3が分割重みスコア175を算出し、当該分割重みスコア175に意図共起重み計算部8が計算した意図共起重み176および音声認識スコアを積算し、最終スコア177を算出する。最後に、意図列推定部3はステップST7として最終スコア177が最大である意図列178の「経由地設定[施設=$施設$_1]、目的地設定[施設=$施設$_2]」がユーザの入力音声に最も適した意図列推定結果であるとして出力する。
以上のように、この実施の形態4によれば、意図列の置換パターンを示した意図列変換テーブルを蓄積した意図列変換テーブル蓄積部11と、当該意図列変換テーブル蓄積部11に蓄積された意図変換テーブルを参照して該当する意図列が出現した場合に置換パターンに従って意図列を置き換える意図列変換部12とを備えるように構成したので、ユーザの発話において省略が行われた場合であっても、ユーザの入力音声に最も適した意図列推定結果を得ることができる。
なお、上述した実施の形態1から実施の形態4では、日本語および英語を例に意図列推定結果を得る構成示したが、意図抽出単位に関する抽出方法をそれぞれの言語毎に変更することにより、ドイツ語および中国語など様々な言語に対して適用することが可能である。
また、上述した実施の形態1から実施の形態4において、単語が特定のシンボル(スペースなど)で区切られる言語の場合であって、言語的な構造を解析することが難しい場合には、入力の自然言語テキストに対してパターンマッチのような方法で、$施設$、$住所$などの抽出処理を行った後に、直接意図推定処理を実行するように構成することも可能である。
また、上述した実施の形態1から実施の形態4では、入力が音声入力である場合を例に説明を行ったが、入力手段として音声認識を用いることなく、キーボードなどの入力手段によるテキスト入力の場合であっても同様の効果が期待できる。
また、上述した実施の形態1から実施の形態4では、高い分割重みスコアを有する上位2つの候補を評価処理対象とする例を示したが、評価処理対象数を限定するものではない。また、音声認識結果がテキストのみでなく、形態素単位で出力される場合には、形態素解析を行う手段を省略してそのまま意図推定タームを抽出して処理を行うように構成してもよい。
また、上述した実施の形態1から実施の形態4では、意図推定の方法として最大エントロピー法による学習モデルを想定した例で説明したが、意図推定の方法を限定するものではない。
また、上述した実施の形態1から実施の形態4では、各部分意図推定対象の組み合わせとして、第1位の意図のみの組み合わせを使って説明したが、ある一定のスコア以上の候補すべてに対して候補を生成して意図列推定結果を計算することも可能である。
また、上述した実施の形態1から実施の形態4では、ナビゲーションシステムに適用される場合を例に説明を行ったが、意図推定を行うシステムであれば種々適用可能である。
なお、本願発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
1 音声認識部、2 形態素解析部、3 意図列推定部、4 意図推定単位抽出部、5 意図推定モデル蓄積部、6 意図推定部、7 意図階層グラフデータ蓄積部、8 意図共起重み計算部、10 意図推定装置、11 意図列変換テーブル蓄積部、12 意図列変換部。
この発明に係る意図推定装置は、入力された言語から意図を推定する単位である1個以上の意図推定単位を抽出する意図推定単位抽出部と、意図推定単位抽出部が抽出したそれぞれの意図推定単位から意図推定単位を構成する部分の意図である部分意図を推定する意図推定部と、意図間の関係性に従って意図を階層化して定義した意図階層グラフデータを参照し、各階層を構成する各意図に定義された重みを用いて意図推定部が推定した部分意図間の関係に基づいた意図共起重みを計算する意図共起重み計算部とを有し、意図推定部が推定した1個以上の部分意図を用いて入力された言語に相当する意図列を生成し、生成した意図列の尤もらしさを示すスコアと、生成した意図列を構成する部分意図について意図共起重み計算部が計算した意図共起重みとを用いて、入力された言語に対応した意図推定結果を生成する意図列推定部を備えるものである。

Claims (6)

  1. ユーザの言語入力から前記ユーザの意図を推定する意図推定装置であって、
    前記入力された言語の形態素解析を行い、形態素列に変換する形態素解析部と、
    前記形態素解析部が変換した形態素列を部分形態素に分割し、前記意図を推定する単位である意図推定単位を抽出する意図推定単位抽出部と、前記意図推定単位抽出部が抽出した各意図推定単位を構成する部分形態素の意図を推定する意図推定部と、前記意図推定部が推定した意図間の関係に基づいた意図共起重みを計算する意図共起重み計算部とを備え、前記意図推定部が推定した1または複数の意図を用いて前記入力された言語に相当する意図列を生成し、生成した前記意図列の尤もらしさを示すスコアと、生成した前記意図列を構成する前記意図について前記意図共起重み計算部が計算した意図共起重みとを用いて、前記入力された言語に対応した意図推定結果を生成する意図列推定部とを備えたことを特徴とする意図推定装置。
  2. 前記意図共起重み計算部は、前記意図間の関係性に従って当該意図を階層化して定義した意図階層グラフデータを参照し、各階層を構成する前記各意図に定義された重みを用いて前記意図共起重みを計算することを特徴とする請求項1記載の意図推定装置。
  3. 前記意図階層グラフデータは、下位の意図がより上位の意図を具体化した関係性を有し、
    前記意図共起重み計算部は、前記意図階層グラフデータを参照し、前記意図列推定部が生成した前記意図列を構成する連続する2つの意図に共通する上位の意図が存在する場合に、当該上位の意図に定義された重みを用いて前記意図共起重みを計算することを特徴とする請求項2記載の意図推定装置。
  4. 前記意図階層グラフデータは、下位の意図がより上位の意図を具体化した関係性を有し、
    前記意図共起重み計算部は、前記意図階層グラフデータを参照し、前記意図列推定部が生成した前記意図列を構成する連続する2つの意図に上位と下位の関係が存在する場合に、あらかじめ設定された値を前記意図共起重みとすることを特徴とする請求項2記載の意図推定装置。
  5. 前記意図列を構成する連続する前記意図間の関係性に従って前記意図を変換する意図列変換ルールを保持した意図列変換テーブルと、
    前記意図列推定部が生成した前記意図列を構成する連続する前記意図のうち、前記意図列変換テーブルに記載された意図列変換ルールに合致する関係性を有する前記意図を、前記意図列変換ルールに従って変換する意図列変換部とを備えたことを特徴とする請求項1記載の意図推定装置。
  6. ユーザの言語入力から前記ユーザの意図を推定する意図推定方法であって、
    形態素解析部が、前記入力された言語の形態素解析を行い、形態素列に変換するステップと、
    意図推定単位抽出部が、前記変換された形態素列を部分形態素に分割し、前記意図を推定する単位である意図推定単位を抽出するステップと、
    意図推定部が、前記抽出された各意図推定単位を構成する部分形態素の意図を推定するステップと、
    意図共起重み計算部が、前記推定された意図間の関係に基づいた意図共起重みを計算するステップと、
    意図列推定部が、前記推定された1または複数の意図を用いて前記入力された言語に相当する意図列を生成し、生成した前記意図列の尤もらしさを示すスコアと、生成した前記意図列を構成する前記意図について前記意図共起重み計算部が計算した意図共起重みとを用いて、前記入力された言語に対応した意図推定結果を生成するステップとを備えたことを特徴とする意図推定方法。
JP2014550077A 2012-11-30 2013-10-09 意図推定装置および意図推定方法 Active JP5921716B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2012262593 2012-11-30
JP2012262593 2012-11-30
PCT/JP2013/077504 WO2014083945A1 (ja) 2012-11-30 2013-10-09 意図推定装置および意図推定方法

Publications (2)

Publication Number Publication Date
JP5921716B2 JP5921716B2 (ja) 2016-05-24
JPWO2014083945A1 true JPWO2014083945A1 (ja) 2017-01-05

Family

ID=50827591

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014550077A Active JP5921716B2 (ja) 2012-11-30 2013-10-09 意図推定装置および意図推定方法

Country Status (5)

Country Link
US (1) US9530405B2 (ja)
JP (1) JP5921716B2 (ja)
CN (1) CN104756100B (ja)
DE (1) DE112013005742T5 (ja)
WO (1) WO2014083945A1 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103400579B (zh) * 2013-08-04 2015-11-18 徐华 一种语音识别系统和构建方法
WO2015151157A1 (ja) * 2014-03-31 2015-10-08 三菱電機株式会社 意図理解装置および方法
KR102304052B1 (ko) * 2014-09-05 2021-09-23 엘지전자 주식회사 디스플레이 장치 및 그의 동작 방법
JP6514503B2 (ja) * 2014-12-25 2019-05-15 クラリオン株式会社 意図推定装置、および意図推定システム
JP6334815B2 (ja) * 2015-03-20 2018-05-30 株式会社東芝 学習装置、方法、プログラムおよび音声対話システム
US10224034B2 (en) * 2016-02-03 2019-03-05 Hua Xu Voice recognition system and construction method thereof
DE112016006512T5 (de) * 2016-03-30 2018-11-22 Mitsubishi Electric Corporation Absichtseinschätzungsvorrichtung und Absichtseinschätzungsverfahren
US10139243B2 (en) * 2016-04-30 2018-11-27 Toyota Motor Engineering & Manufacturing North America, Inc. High level instruction for navigational routing systems
KR20180052347A (ko) * 2016-11-10 2018-05-18 삼성전자주식회사 음성 인식 장치 및 방법
CN108287858B (zh) * 2017-03-02 2021-08-10 腾讯科技(深圳)有限公司 自然语言的语义提取方法及装置
CN109101475B (zh) * 2017-06-20 2021-07-27 北京嘀嘀无限科技发展有限公司 出行语音识别方法、系统和计算机设备
WO2018228515A1 (en) * 2017-06-15 2018-12-20 Beijing Didi Infinity Technology And Development Co., Ltd. Systems and methods for speech recognition
CN108022586B (zh) * 2017-11-30 2019-10-18 百度在线网络技术(北京)有限公司 用于控制页面的方法和装置
US11481558B2 (en) 2018-09-12 2022-10-25 Samsung Electroncis Co., Ltd. System and method for a scene builder
CN109710941A (zh) * 2018-12-29 2019-05-03 上海点融信息科技有限责任公司 基于人工智能的用户意图识别方法和装置
CN110096595A (zh) * 2019-05-06 2019-08-06 上海互问信息科技有限公司 一种基于混合策略的复句用户查询语句的意图识别方法
US11705114B1 (en) * 2019-08-08 2023-07-18 State Farm Mutual Automobile Insurance Company Systems and methods for parsing multiple intents in natural language speech
JP6954549B1 (ja) * 2021-06-15 2021-10-27 ソプラ株式会社 エンティティとインテントとコーパスの自動生成装置及びプログラム
CN116959433B (zh) * 2023-09-18 2023-12-08 腾讯科技(深圳)有限公司 文本处理方法、装置、电子设备和存储介质

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61105671A (ja) * 1984-10-29 1986-05-23 Hitachi Ltd 自然言語処理装置
JP3454897B2 (ja) * 1994-01-31 2003-10-06 株式会社日立製作所 音声対話システム
JP3350293B2 (ja) * 1994-08-09 2002-11-25 株式会社東芝 対話処理装置及び対話処理方法
JP2000200273A (ja) 1998-11-04 2000-07-18 Atr Interpreting Telecommunications Res Lab 発話意図認識装置
ITTO20011035A1 (it) * 2001-10-30 2003-04-30 Loquendo Spa Metodo per la gestione di dialoghi persona-macchina ad iniziativa mista basato sull'interazione vocale.
US7747601B2 (en) * 2006-08-14 2010-06-29 Inquira, Inc. Method and apparatus for identifying and classifying query intent
KR100679043B1 (ko) * 2005-02-15 2007-02-05 삼성전자주식회사 음성 대화 인터페이스 장치 및 방법
US7409344B2 (en) * 2005-03-08 2008-08-05 Sap Aktiengesellschaft XML based architecture for controlling user interfaces with contextual voice commands
US8265939B2 (en) * 2005-08-31 2012-09-11 Nuance Communications, Inc. Hierarchical methods and apparatus for extracting user intent from spoken utterances
DE102005061365A1 (de) * 2005-12-21 2007-06-28 Siemens Ag Verfahren zur Ansteuerung zumindest einer ersten und zweiten Hintergrundapplikation über ein universelles Sprachdialogsystem
US7818166B2 (en) * 2007-01-31 2010-10-19 Motorola, Inc. Method and apparatus for intention based communications for mobile communication devices
US8521511B2 (en) * 2007-06-18 2013-08-27 International Business Machines Corporation Information extraction in a natural language understanding system
JP2011033680A (ja) * 2009-07-30 2011-02-17 Sony Corp 音声処理装置及び方法、並びにプログラム
KR101253104B1 (ko) * 2009-09-01 2013-04-10 한국전자통신연구원 패턴 데이터베이스화 장치 및 그 방법, 이를 이용한 음성 이해 장치 및 그 방법
KR101699720B1 (ko) * 2010-08-03 2017-01-26 삼성전자주식회사 음성명령 인식 장치 및 음성명령 인식 방법
JP2012047924A (ja) * 2010-08-26 2012-03-08 Sony Corp 情報処理装置、および情報処理方法、並びにプログラム
JP5695199B2 (ja) * 2010-08-30 2015-04-01 本田技研工業株式会社 対話システムにおける思考追跡および行動選択
US9524291B2 (en) * 2010-10-06 2016-12-20 Virtuoz Sa Visual display of semantic information
US8346563B1 (en) * 2012-04-10 2013-01-01 Artificial Solutions Ltd. System and methods for delivering advanced natural language interaction applications
US20120296638A1 (en) * 2012-05-18 2012-11-22 Ashish Patwa Method and system for quickly recognizing and responding to user intents and questions from natural language input using intelligent hierarchical processing and personalized adaptive semantic interface
US9105268B2 (en) * 2012-09-19 2015-08-11 24/7 Customer, Inc. Method and apparatus for predicting intent in IVR using natural language queries
US8484025B1 (en) * 2012-10-04 2013-07-09 Google Inc. Mapping an audio utterance to an action using a classifier

Also Published As

Publication number Publication date
US20150255064A1 (en) 2015-09-10
CN104756100A (zh) 2015-07-01
JP5921716B2 (ja) 2016-05-24
DE112013005742T5 (de) 2015-09-10
US9530405B2 (en) 2016-12-27
CN104756100B (zh) 2017-07-28
WO2014083945A1 (ja) 2014-06-05

Similar Documents

Publication Publication Date Title
JP5921716B2 (ja) 意図推定装置および意図推定方法
Mairesse et al. Phrase-based statistical language generation using graphical models and active learning
US10037758B2 (en) Device and method for understanding user intent
JP6310150B2 (ja) 意図理解装置、方法およびプログラム
US7860719B2 (en) Disfluency detection for a speech-to-speech translation system using phrase-level machine translation with weighted finite state transducers
WO2016067418A1 (ja) 対話制御装置および対話制御方法
KR102375115B1 (ko) 엔드-투-엔드 모델들에서 교차-언어 음성 인식을 위한 음소-기반 컨텍스트화
JP4968036B2 (ja) 韻律語グルーピング方法及び装置
Sak et al. Morpholexical and discriminative language models for Turkish automatic speech recognition
JP5276610B2 (ja) 言語モデル生成装置、そのプログラムおよび音声認識システム
JP6830226B2 (ja) 換言文識別方法、換言文識別装置及び換言文識別プログラム
JP2012037790A (ja) 音声対話装置
US10354646B2 (en) Bilingual corpus update method, bilingual corpus update apparatus, and recording medium storing bilingual corpus update program
JPWO2009107441A1 (ja) 音声合成装置、テキスト生成装置およびその方法並びにプログラム
JP5243325B2 (ja) 音声認識に仮名漢字変換システムを用いた端末、方法及びプログラム
JP2009295101A (ja) 音声データ検索システム
Donaj et al. Context-dependent factored language models
JP4478042B2 (ja) 頻度情報付き単語集合生成方法、プログラムおよびプログラム記憶媒体、ならびに、頻度情報付き単語集合生成装置、テキスト索引語作成装置、全文検索装置およびテキスト分類装置
KR102042991B1 (ko) 한국어 접사 기반 토크나이징 장치 및 그 방법
JP6276516B2 (ja) 辞書作成装置、及び辞書作成プログラム
JP2006107353A (ja) 情報処理装置および方法、記録媒体、並びにプログラム
JP2017167378A (ja) 単語スコア計算装置、単語スコア計算方法及びプログラム
JP4674609B2 (ja) 情報処理装置および方法、プログラム、並びに記録媒体
JP2008116650A (ja) 読み情報生成装置、読み情報生成方法、読み情報生成プログラムおよび音声合成装置
Rajeev et al. Parts of speech Tagger for Malayalam

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160315

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160412

R150 Certificate of patent or registration of utility model

Ref document number: 5921716

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250