JP6964558B2 - 音声対話システムとモデル作成装置およびその方法 - Google Patents

音声対話システムとモデル作成装置およびその方法 Download PDF

Info

Publication number
JP6964558B2
JP6964558B2 JP2018119325A JP2018119325A JP6964558B2 JP 6964558 B2 JP6964558 B2 JP 6964558B2 JP 2018119325 A JP2018119325 A JP 2018119325A JP 2018119325 A JP2018119325 A JP 2018119325A JP 6964558 B2 JP6964558 B2 JP 6964558B2
Authority
JP
Japan
Prior art keywords
value
slot
character string
learning data
list
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.)
Active
Application number
JP2018119325A
Other languages
English (en)
Other versions
JP2019220115A (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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2018119325A priority Critical patent/JP6964558B2/ja
Priority to US16/420,479 priority patent/US20190392005A1/en
Priority to CN201910489647.8A priority patent/CN110634480B/zh
Publication of JP2019220115A publication Critical patent/JP2019220115A/ja
Application granted granted Critical
Publication of JP6964558B2 publication Critical patent/JP6964558B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9032Query formulation
    • G06F16/90332Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/174Form filling; Merging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • G06F40/35Discourse or dialogue representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/027Frames
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • 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/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • 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/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • 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/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • 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/26Speech to text systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/08Text analysis or generation of parameters for speech synthesis out of text, e.g. grapheme to phoneme translation, prosody generation or stress or intonation determination
    • 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/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • G10L2015/0631Creating reference templates; Clustering

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Acoustics & Sound (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Algebra (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Machine Translation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、音声対話システムとモデル作成装置およびその方法に関する。
従来のテキスト対話システム(以降、従来システム)としては、ユーザに対して複数回の質問文を出力し、ユーザが入力した複数の回答文に基づいて、情報提示するシステムがある。例えば、乗車時間を提示するサービスとして、従来システムを使用する場合、ユーザに出発地と目的地の入力を促し、入力された出発地と目的地の情報に基づいて乗車時間を提示する。
従来システムに関連する技術としては、例えば、特許文献1の記載されている技術が挙げられる。特許文献1には、想定回答及び前記想定回答に導くために聞き返す聞き返し質問を含む複数の応答内容が格納される記憶部と、ユーザ質問を受付ける受付部と、前記受付部が受付けた前記ユーザ質問に基づき前記複数の応答内容を検索して、前記ユーザ質問に対応する、前記想定回答及び前記聞き返し質問の何れか一方を取得する検索部と、前記検索部が取得した応答内容を出力する出力部と、を備える情報検索装置が、記載されている。
特開2015-225402号公報
特許文献1に記載の技術では、ユーザの質問に対する質問順を事前に決めておく必要がある。そこで、ユーザの質問に対して、回答文や質問文を適切に選択して出力する音声対話システムとして、スロットバリュー抽出部と複数のスロットバリュー抽出モデルを備えた音声対話システムの構築が試みられている。しかし、スロットバリュー抽出モデルの作成に使用する多数の想定入力文字列を人手で作成する必要があり、作業が煩雑という課題がある。
本発明の目的は、複数のスロットバリュー抽出モデルを自動で作成することにある。
前記課題を解決するために、本発明は、入力される入力用音声を入力文字列の情報に変換し、変換された前記入力文字列の情報を基に回答文又は質問文の情報を含む出力文字列を作成し、作成した前記出力文字列の情報を合成音声に変換し、変換された前記合成音声を出力用音声として出力する音声対話システムであって、文字列を構成する情報であって、予め想定された文字列の候補を示す複数のバリューと、前記複数のバリューの各々を識別する複数のバリュー識別子とが紐付けられて記憶されたバリューリストと、前記文字列を構成する情報を識別する識別子を示す複数のスロットの各々と、前記複数のバリュー識別子の各々とが紐付けられて記憶され、且つ前記複数のスロットの各々と前記複数のバリュー識別子の各々とが1以上の回答文に紐付けられて記憶された回答文リストと、前記複数のスロットの各々と、前記複数のスロットの各々に隣接配置される複数の周辺文字列とが紐付けられて記憶された周辺文字列リストと、予め想定された複数の想定入力文字列と、前記複数の想定入力文字列の各々に紐付けられた1又は2以上の前記スロット及び前記バリューを含む複数のスロットバリュー抽出モデルを記憶する記憶部と、前記入力文字列と前記複数のスロットバリュー抽出モデルの中の前記各想定入力文字列との類似度を比較し、類似度の高い想定入力文字列に紐付けられた前記スロットを基に前記入力文字列における前記スロットの位置を推定し、推定した前記スロットの位置に対応した前記バリューを前記入力文字列から抽出するスロットバリュー抽出部と、前記バリューリストと前記回答文リスト及び前記周辺文字列リストを基に第1の学習データを作成する学習データ作成部と、前記第1の学習データを基に第1のスロットバリュー抽出モデルを作成し、作成した前記第1のスロットバリュー抽出モデルを、前記複数のスロットバリュー抽出モデルに属するモデルとして前記記憶部に格納するモデル作成部と、を備えることを特徴とする。
本発明によれば、複数のスロットバリュー抽出モデルを自動で作成することができ、結果として、スロットバリュー抽出モデルの作成に要する作業コストを低減することができる。
本実施の形態1における音声対話システム及びテキスト対話システムの全体構成を示すブロック図である。 本実施の形態1におけるテキスト対話支援装置及びモデル作成装置が備えるハードウェアの一例を示す構成図である。 本実施の形態1におけるスロットバリュー抽出モデルの一例を示す構成図である。 本実施の形態1におけるバリューリストの一例を示す構成図である。 本実施の形態1における回答文リストの一例を示す構成図である。 本実施の形態1における質問文リストの一例を示す構成図である。 本実施の形態1における周辺文字列リストの一例を示す構成図である。 本実施の形態1における学習データの一例を示す構成図である。 本実施の形態1における音声対話システムの音声認識処理の一例を示す処理フロー図である。 本実施の形態1における音声対話システムの音声合成処理の一例を示す処理フロー図である。 本実施の形態1におけるテキスト対話システムの処理の一例を示す処理フロー図である。 本実施の形態1におけるモデル作成装置の処理の一例を示す処理フロー図である。 本実施の形態2において、特定スロットに関する想定入力文字列のみ除去した学習データを作成する処理の一例を示す処理フロー図である。 本実施の形態2における特定のスロットに関する想定入力文字列のみ除去した学習データの一例を示す構成図である。 本実施の形態3における対話ログの一例を示す構成図である。 本実施の形態3における管理テーブルの一例を示す構成図である。 本実施の形態3における学習データの一例を示す構成図である。
(実施の形態1)
以下、図面に基づいて、本発明の一実施の形態を詳述する。
(音声対話システム2000の構成)
図1は、本発明の実施の形態1に係る音声対話システム2000の構成の一例を示すブロック図である。本実施の形態1の音声対話システム2000は、例えば、人間との音声対話を行う、いわゆる対話型ロボット(サービスロボット)であり、対話に係る音声の入出力処理を行う音声処理システム3000と、対話に関する情報処理を行うテキスト対話システム1000と、を含んで構成されている。
音声処理システム3000は、マイク等を有し、音声が入力される音声入力部10、音声入力部10から入力された音声100から、音声以外の音(雑音)を除去し、雑音を除去した音声を文字列の情報(入力文字列200)に変換する音声認識部20、テキスト対話システム1000から出力された出力文字列300から、合成音声400を作成する音声合成部60、スピーカー等を有し、音声合成部60で作成された合成音声400から、所定の合成音声を出力する音声出力部70を備える。
テキスト対話システム1000は、テキスト対話支援装置1200及びモデル作成装置1100を備える。テキスト対話支援装置1200は、音声処理システム3000と接続しており、音声処理システム3000から受信した入力文字列200に基づき、所定の情報処理を行うことにより、対応する出力文字列300を音声処理システム3000に送信する。
テキスト対話支援装置1200は、スロットバリュー抽出部30、バリュー識別子推定部40、回答絞込み部50、複数のスロットバリュー抽出モデル500、バリューリスト510、回答文リスト520、質問文リスト530を備える。スロットバリュー抽出部30は、複数のスロットバリュー抽出モデル500を参照し、入力文字列200に含まれる情報に関する識別子(以降、スロットという)を推定し、入力文字列200からスロットに関する文字列(以降、バリューという)を抽出する。バリュー識別子推定部40は、バリューと、バリューリスト510に事前に登録されたバリューであって、複数の想定されるバリューとの類似度を比較する。バリューリスト510の中に、バリューとの類似度が高い、想定されるバリューが存在する場合、バリュー識別子推定部40は、想定バリューの識別子(以降、バリュー識別子という)を、バリューのバリュー識別子と判定する。
回答絞込み部50は、情報提示のために必要なスロットのバリュー識別子が揃っているかを判断する。例えば、乗車時間の提示に必要なスロットのバリュー識別子が揃っている場合、回答絞込み部50は、前記バリュー識別子と紐付いた回答文(乗車時間が記載された文字列)を出力する。一方、前記スロットのバリュー識別子が揃ってない場合、回答絞込み部50は、不足しているスロット(例、<出発地>)に関する入力を促す質問文(例、出発地は?)を出力する。
モデル作成装置1100は、音声対話システム2000およびテキスト対話システム1000の管理者等が利用する情報処理装置であり、スロットバリュー抽出部30が参照するスロットバリュー抽出モデル500を作成する。モデル作成装置1100は、学習データ作成部80、モデル作成部90、周辺文字列リスト540、複数の学習データ550を備える。学習データ作成部80は、テキスト対話支援装置1200と情報の送受信を行って、バリューリスト510と回答文リスト502に記録された情報を取り込み、バリューリスト510と回答文リスト502及び周辺文字列リスト540に記録された情報を基に、スロットバリュー抽出モデル500の作成に必要な複数の学習データ550を作成する。モデル作成部90は、学習データ550に対する変換処理を行って、例えば、機械学習による処理を行って、学習データ550からスロットバリュー抽出モデル500を作成し、作成したスロットバリュー抽出モデル500をテキスト対話支援装置1200に送信する。
図2は、テキスト対話支援装置1200及びモデル作成装置1100が備えるハードウェアの一例を示す構成図である。図2に示すように、テキスト対話支援装置1200及びモデル作成装置1100は、CPU(Central Processing Unit)等の、処理の制御を司るプロセッサ11と、RAM(Random Access Memory)、ROM(Read Only Memory)等の主記憶装置12と、HDD(Hard Disk Drive)、SSD(Solid State Drive)等の補助記憶装置13と、キーボード、マウス、タッチパネル等の入力装置14と、モニタ(ディスプレイ)等の出力装置15と、有線LANカード、無線LANカード、モデム等の通信装置16、を備える。また、テキスト対話支援装置1200とモデル作成装置1100との間は、所定の通信線により直接に、もしくは、LAN(Local Area Network)、WAN(Wide Area Network)、インターネット、専用線等の通信網を介して接続される。
なお、複数のスロットバリュー抽出モデル500、バリューリスト510、回答文リスト520、質問文リスト530、周辺文字列リスト540、複数の学習データ550は、主記憶装置12又は補助記憶装置13で構成される記憶部に記憶される。また、スロットバリュー抽出部30、バリュー識別子推定部40、回答絞込み部50、学習データ作成部80、モデル作成部90は、例えば、CPUが、主記憶装置12又は補助記憶装置13に記憶される各種処理プログラム(スロットバリュー抽出プログラム、バリュー識別子推定プログラム、回答絞込みプログラム、学習データ作成プログラム、モデル作成プログラム)を実行することにより、その機能を実現することができる。
図3は、スロットバリュー抽出モデルの構成を示す構成図である。図3において、スロットバリュー抽出モデル500は、ID501、想定入力文字列502、スロットとバリュー503を含む。ID501は、スロットバリュー抽出モデルを一意に識別する識別子である。想定入力文字列502は、事前に想定される入力文字列として定義された情報である。想定入力文字列502には、各ID501に対応して、事前に定義された想定入力文字列に関する情報が登録される。例えば、ID501の「1」には、「勝田駅から国分寺駅まで行きたい」の情報が登録される。スロットとバリュー503は、想定入力文字列502に登録された想定入力文字列の中のスロットとバリューを管理するための情報である。スロットとバリュー503には、例えば、ID501の「1」に対応して、「<出発地>=勝田駅」、「<目的地>=国分寺駅」の情報が登録される。ここで、「<出発地>」と「<目的地>」は、スロットを意味し、「勝田駅」と「国分寺駅」は、バリューを意味する。なお、スロットバリュー抽出モデル500は、事前に定義した想定入力文字列とスロットとバリューを入力として、機械学習(例えば、Conditional Random Fields法)で作成されることもある。
図4は、バリューリストの構成を示す構成図である。図4において、バリューリスト510は、バリュー識別子511と、想定されるバリュー512を含むデータベースである。バリュー識別子511は、バリューを一意に識別する識別子である。バリュー識別子511には、例えば、バリューである「東京駅」を識別する識別子として、「<東京駅>」の情報が登録される。想定されるバリュー512は、事前に想定された(予め想定された)文字列の候補を示す情報である。想定されるバリュー512には、事前に想定されたバリューの情報が複数の項目に分かれて登録される。例えば、想定されるバリュー512には、バリュー識別子511の「<東京駅>」に対応して、「東京駅」、「関東の東京駅」の情報が登録される。すなわち、バリューリスト510には、文字列を構成する情報であって、予め想定された文字列の候補を示す複数のバリューと、複数のバリューの各々を識別する複数のバリュー識別子とが紐付けられて記憶される。なお、想定されるバリュー512には、3以上の項目について、各バリュー識別子511に対応した情報が登録される。
図5は、回答文リストの構成を示す構成図である。図5において、回答文リスト520は、ID521、スロットとバリュー識別子522、回答文523を含む。ID521は、回答文を一意に識別する識別子である。スロットとバリュー識別子522は、スロットとバリュー識別子との関係を管理するための情報である。スロットとバリュー識別子522には、例えば、ID521の「1」に対応して、「<出発地>=<勝田駅>」、「<目的地>=<東京駅>」の情報が登録される。ここで、「<出発地>」と「<目的地>」は、スロットを意味し、「<勝田駅>」と「<東京駅>」は、バリュー識別子を意味する。回答文523は、回答文に関する情報である。回答文523には、例えば、ID521の「1」に対応して、「乗車時間は約2時間です。」の情報が登録される。すなわち、回答文リスト520には、文字列を構成する情報を識別する識別子を示す複数のスロットの各々と、複数のバリュー識別子の各々とが紐付けられて記憶され、且つ複数のスロットの各々と複数のバリュー識別子の各々とが1以上の回答文に紐付けられて記憶される。
図6は、質問文リストの構成を示す構成図である。図6において、質問文リスト530は、スロット531、質問文532を含む。スロット531は、質問文532を特定するための情報である。スロット531には、例えば、「<目的地>」の情報が登録される。質問文532は、質問文を構成する情報である。質問文532には、例えば、スロット531の「<目的地>」に対応して、「目的地はどこですか?」の情報が登録される。
図7は、周辺文字列リストの構成を示す構成図である。図7において、周辺文字列リスト540は、スロット541、スロットの周辺文字列542を含む。スロット541は、スロットの周辺文字列542を特定するための情報である。スロット531には、例えば、「<出発地>」の情報が登録される。スロットの周辺文字列542は、スロット541に隣接配置される周辺文字列の候補として予め想定された情報である。スロットの周辺文字列542には、例えば、「<出発地>」に隣接配置される周辺文字列として、「@から」、「@から行きたい」の情報が記録される。
図8は、学習データの構成を示す構成図である。図8において、学習データ550は、ID551、想定入力文字列552、スロットとバリュー553を含む。ID551は、学習データを一意に識別する識別子である。想定入力文字列552は、事前に想定される入力文字列として定義された情報である。想定入力文字列552には、各ID551に対応して、事前に定義された想定入力文字列に関する情報が登録される。例えば、ID551の「1」には、「勝田駅から国分寺駅まで行きたい」の情報が登録される。スロットとバリュー553は、想定入力文字列552に登録された想定入力文字列の中のスロットとバリューを管理するための情報である。スロットとバリュー553には、例えば、ID551の「1」に対応して、「<出発地>=勝田駅」、「<目的地>=国分寺駅」の情報が登録される。ここで、「<出発地>」と「<目的地>」は、スロットを意味し、「勝田駅」と「国分寺駅」は、バリューを意味する。
(音声対話システム2000の処理フロー)
次に、本発明の実施の形態1における音声対話システム2000の処理フローについて説明する。図9に音声対話システム2000における音声認識処理フローを示す。図9に示すように、マイクを含む音声入力部10は、音声対話システム2000の対話相手の音声(入力用音声)100を取得する(S10)。音声認識部20は、音声入力部10で取得した音声100から対話相手の音声以外の音(雑音という)を除去し、音声100に含まれるテキスト情報を入力文字列200の情報に変換する(S11)。次に、音声認識部20は、テキスト対話システム1000に対して入力文字列200の情報を送信し(S12)、ステップS10に移行する。この後、ステップS10〜ステップS12の処理が繰り返される。
次に、図10に音声対話システム2000における音声合成処理フローを示す。図10に示すように、音声合成部60は、テキスト対話システム1000の出力文字列300の情報を受信する(S20)。次に、音声合成部60は、出力文字列300から合成音声400を作成する(S21)。次に、音声合成部60は、スピーカーを含む音声出力部70を使って合成音声(出力用音声)400を再生し(S22)、ステップS20に移行する。この後、ステップS20〜ステップS22の処理が繰り返される。
以上、一連の処理フローにより、音声入力部10に入力された対話相手の音声100を入力文字列200の情報に変換し、変換された入力文字列200の情報をテキスト対話システム1000へ送信可能となる。また、テキスト対話システム1000から出力された出力文字列300の情報を合成音声400に変換し、変換された合成音声400を音声出力部70から対話相手に向けて再生可能となる。
(テキスト対話システム1000の処理フロー)
次に、テキスト対話システム1000の処理フローについて説明する。図11にテキスト対話システム1000の基本的な処理フローを示す。図11に示すように、スロットバリュー抽出部30は、事前に作成したスロットバリュー抽出モデル500を参照し、実際の入力文字列200から、スロットに関する文字列(バリュー)の位置を推定し、推定した位置のバリューを抽出し、バリューとスロットの情報をバリュー識別子推定部40に転送する(S30)。
例えば、スロットバリュー抽出部30は、入力文字列200として、「東京駅まで行きたいです」の情報が入力された場合、入力文字列200と、図3のスロットバリュー抽出モデル500の想定入力文字列502との間の類似度を比較し、想定入力文字列502の中から、類似度の高い想定入力文字列として、「東京駅まで行きたい」を選択し、選択された想定入力文字列「東京駅まで行きたい」と紐付いたスロット(例、<目的地>)に関して、入力文字列200の中のスロットの位置を推定する。例えば、想定入力文字列502の中のスロットは、「まで行きたい」という文字(以降、スロット周辺文字列という)の前(又は、後ろ)に隣接配置されているので、スロット周辺文字列の前(又は、後ろ)に隣接する入力文字列200の位置をスロットの位置と推定する。最後に、スロットバリュー抽出部30は、スロットの位置の単語、例えば、「東京駅」をバリューとして抽出する。なお、機械学習で作成されたスロットバリュー抽出モデルを使用する場合、前述したスロットおよびバリューの抽出方法を使用せず、スロットバリュー抽出部30が、入力文字列200におけるスロット及びバリューの推定結果をバリュー識別子推定部40へ転送する。
次に、バリュー識別子推定部40は、スロットバリュー抽出部30から、スロットとバリューの情報を受信した場合、バリューリスト510を参照し、受信したバリューと想定されるバリュー512との類似度を比較し、類似度が高い場合、想定されるバリュー512に対応したバリュー識別子511を推定し、推定結果(バリュー識別子)の情報とバリューの情報を回答絞込み部50に転送する(S31)。例えば、受信したバリューが、「東京駅」である場合、バリュー識別子推定部40は、「<東京駅>」をバリュー識別子511として推定する。
次に、回答絞込み部50は、バリュー識別子推定部40から推定結果(バリュー識別子)の情報(「<東京駅>」)とバリューの情報(「東京駅」)を受信した場合、回答文リスト520を参照し、情報提示のために必要なスロットのバリュー識別子が揃っているか判断する(S32、S33)。例えば、乗車時間の提示に必要なスロットのバリュー識別子(例、スロット<目的地>のバリュー識別子が<東京駅>、スロット<出発地>のバリュー識別子が<勝田駅>)が揃っている場合、回答絞込み部50は、バリュー識別子(「<東京駅>」、「<勝田駅>」)と紐付いた回答文523として、例えば、「乗車時間は約2時間です。」の情報を出力し(S34)、このルーチンでの処理を終了する。
一方、バリュー識別子が、<目的地>を示す「<東京駅>」のみであって、乗車時間の提示に必要なスロットのバリュー識別子が揃ってない場合、回答絞込み部50は、質問文リスト530を参照し、不足しているスロット(例、<出発地>)に関する入力を促す質問文532として、例えば、「出発地はどこですか?」の情報を出力する(S35)。次に、回答絞込み部50は、取得済みバリュー識別子の情報をメモリ(記憶部)に記録し(S36)、このルーチンでの処理を終了する。
以上、一連のテキスト対話システム1000の処理フローにより、ユーザに対して複数回の質問文を出力し、ユーザが入力した複数の回答文に基づいて、適切な情報提示が可能になる。
(モデル作成装置1100の処理フロー)
次に、本発明の実施の形態1におけるモデル作成装置1100の処理フローについて説明する。図12にモデル作成装置1100の処理フローを示す。図12に示すように、学習データ作成部80は、バリューリスト510と回答文リスト520及び周辺文字列リスト540を参照し、参照結果を基に学習データ550を作成する。学習データ550は、想定入力文字列とスロットとバリューを含むデータである。以下、学習データ550の具体的な作成方法について説明する。
(学習データ550の作成方法)
学習データ作成部80は、想定入力文字列を作成する為、回答文リスト520から、回答文523の中の1つの回答文と紐付いた複数のバリュー識別子を取得する(S40)。次に、学習データ作成部80は、取得した複数のバリュー識別子の中から、N個(N=1〜Nmax(事前に定義された最大値))を選択する組合せを作成し(S41)、作成した各組み合毎に、順列を作成する(S42)。例えば、回答文523と紐付いたバリュー識別子が2個の場合、2個のバリュー識別子として、例えば、「<勝田駅>」、「<東京駅>」を使った順列として、例えば、M21=[<勝田駅>,<東京駅>]、M22=[<東京駅>,<勝田駅>])を作成し、1個のバリュー識別子を使った順列として、例えば、M11=[<勝田駅>]、M12=[<東京駅>])を作成する。
次に、学習データ作成部80は、全ての回答文に関して、バリュー識別子の順列を作成したか否かを判定する(S43)。ステップS43で、否定の判定結果を得た場合、学習データ作成部80は、ステップS40へ移行し、ステップS40〜ステップS43の処理を繰り返す。一方、ステップS43で、肯定の判定結果を得た場合、学習データ作成部80は、ステップS42で作成した順列の中から順列を1個選択し(S44)、選択した順列のバリュー識別子を1個選択する(S45)。
次に、学習データ作成部80は、順列から選択したバリュー識別子を基にバリューリスト510を参照し、バリューリスト510の中から、順列、例えば、M21=[<勝田駅>,<東京駅>]のバリュー識別子(例えば、<勝田駅>)と紐付いたバリューとして、想定されるバリュー512の中から、例えば、「勝田駅」を取得する(S46)。
この際、学習データ作成部80は、順列から選択したバリュー識別子を基に回答文リスト520を参照し、回答文リスト520の中から、順列、例えば、M21=[<勝田駅>,<東京駅>]のバリュー識別子(例えば、<勝田駅>)と紐付いたスロットとして、スロットとバリュー識別子522の中から、例えば、「<出発地>」を取得する(S47)。さらに、学習データ作成部80は、取得したスロット「<出発地>」を基に周辺文字列リスト540を参照し、周辺文字列リスト540の中から、取得したスロット「<出発地>」と紐付く周辺文字列として、スロットの周辺文字列542の中から、例えば、「@から」を取得する(S48)。
次に、学習データ作成部80は、ステップS46で取得したバリュー(「勝田駅」)と、ステップS47で取得したスロット(<出発地>)と、ステップS48で取得した周辺文字列(「@から」)を基に、周辺文字列のバリュー挿入位置、例えば、「@」に、バリュー、例えば、「勝田駅」を挿入した文字列、例えば、C1=「勝田駅から」を作成する(S49)。
次に、学習データ作成部80は、順列内の全バリュー識別子に関して、文字列を作成したか否かを判定する(S50)。ステップS50で否定の判定結果を得た場合、学習データ作成部80は、ステップS45へ移行し、ステップS45〜ステップS50の処理を繰り返す。
この際、学習データ作成部80は、順列=M21の中の別のバリュー識別子として、例えば、バリュー識別子(<東京駅>)と紐付いたバリューとして、バリューリスト510の想定されるバリュー512の中から、例えば、「東京駅」を取得する。また、学習データ作成部80は、別のバリュー識別子として、例えば、バリュー識別子(<東京駅>)と紐付いたスロットとして、回答文リスト520のスロットとバリュー識別子522の中から、例えば、「<目的地>」を取得する。さらに、学習データ作成部80は、取得したスロット「<目的地>」を基に周辺文字列リスト540を参照し、周辺文字列リスト540の中から、取得したスロット「<目的地>」と紐付く周辺文字列として、スロットの周辺文字列542の中から、周辺文字列として、例えば、「@まで行きたい」を取得する。この際、学習データ作成部80は、周辺文字列のバリュー挿入位置に、バリューとして、例えば、「東京駅」を挿入した文字列として、例えば、C2=「東京駅まで行きたい」を作成する。
一方、ステップS50で肯定の判定結果を得た場合、学習データ作成部80は、各バリュー識別子から作成した文字列を結合し想定入力文字列の情報を作成する(S51)。例えば、学習データ作成部80は、順列に含まれる各バリュー識別子から作成した文字列を結合して、想定入力文字列として、C1+C2=「勝田駅から東京駅まで行きたい」を作成する。
次に、学習データ作成部80は、全順列に関して、想定入力文字列を作成したか否かを判定する(S52)。ステップS52で否定の判定結果を得た場合、学習データ作成部80は、ステップS45へ移行し、ステップS44〜ステップS52の処理を繰り返す。一方、ステップS52で肯定の判定結果を得た場合、学習データ作成部80は、複数の想定入力文字列の作成に使用したスロット及びバリューと、想定入力文字列とを紐付けたデータを学習データ(第1の学習データ)550として作成し(S53)、その後、このルーチンでの処理を終了する。
この際、学習データ作成部80は、バリュー識別子の順列の組み合わせ毎に、バリュー識別子の順列に属する各要素のバリュー識別子に紐付けられたバリューを各要素のバリューとしてバリューリスト510の中からそれぞれ取得し、各要素のバリュー識別子に紐付けられたスロットを、各要素のスロットとして回答文リスト520の中からそれぞれ取得し、各要素のスロットに紐付けられた周辺文字列を各要素の周辺文字列として、周辺文字列リスト540の中からそれぞれ取得し、取得した各要素のバリューと取得した各要素の周辺文字列とを結合した文字列を各要素の文字列として作成し、各要素の文字列を結合して複数の想定入力文字列を作成し、作成した複数の想定入力文字列と、複数の想定入力文字列の各々の作成に用いた各要素のスロット及び各要素のバリューを基に、各想定入力文字列と、各要素のスロット及び各要素のバリューとを紐付けたデータを第1の学習データ550として作成する。
(モデル作成方法)
モデル作成部90は、学習データ(第1の学習データ)550からスロットバリュー抽出モデル(第1のスロットバリュー抽出モデル)500を作成する。スロットバリュー抽出モデル500は、事前に定義した想定入力文字列とスロットとバリューが登録されている。例えば、学習データ550とスロットバリュー抽出モデル500が同一であっても良い。また、スロットバリュー抽出モデル500は、学習データ550の想定入力文字列とスロット及びバリューを入力として、機械学習(例えば、Conditional Random Fields法)で作成しても良い。
本実施の形態によれば、複数のスロットバリュー抽出モデルを自動で作成することができ、結果として、スロットバリュー抽出モデルの作成に要する作業コストを低減することができる。
(実施の形態2)
本実施の形態2は、実施の形態1に記載の音声対話システム2000において、複数のスロットバリュー抽出モデル(第1又は第2のスロットバリュー抽出モデル)を切替えることにより、高精度なスロットバリュー抽出を可能とする。また、複数のスロットバリュー抽出モデルの作成に必要な作業コストを軽減する。
実施の形態1において、情報提示に必要なスロットのバリュー識別子が揃ってない場合、回答絞込み部50は、質問文リスト530を参照して不足しているスロット(例、<出発地>)に関する入力を促す質問文(例、出発地はどこですか?)を出力する。これに対して、本実施の形態2のスロットバリュー抽出部30は、対話相手の入力文字列から高精度にスロットバリュー抽出するため、取得済みのスロットに関する想定入力文字列のみ含まれてないスロットバリュー抽出モデル(第2のスロットバリュー抽出モデル)を使用する。取得済みスロットに関する想定入力文字列のみスロットバリュー抽出モデルに含めないことにより、スロットバリュー抽出部30は、誤って取得済みスロットを抽出する可能性が無くなる。よって、本実施の形態2のスロットバリュー抽出の精度は、実施の形態1より高くなる。
また、複数のスロットバリュー抽出モデルの作成に必要な作業コストを低減する為、本実施の形態2の学習データ作成部80は、実施の形態1で作成した学習データ(第1の学習データ)550から、特定のスロットに関する想定入力文字列のみ除去した学習データを第2の学習データとして作成する。そして、モデル作成部90が、第2の学習データから第2のスロットバリュー抽出モデルを作成する。
学習データ作成の処理フローを図13に示す。図13に示すように、学習データ作成部80は、実施の形態1で作成した学習データ550に使用された全スロット(M個)の内、N個(N=1〜M-1)のスロットを選択する組合せを作成する。そして、組み合わせ毎に、組み合わせに含まれていないスロットに関する想定入力文字列のみ、学習データ550から除去したデータ(第2の学習データ)を作成する。
具体的には、実施の形態1で作成した学習データ550の場合、学習データ作成部80は、全スロット(M=2)の内、N個(N=1〜M-1)のスロットを選択する組合せ、例えば、2種類を作成する(S60)。次に、学習データ作成部80は、ステップS60で作成した組み合わせ(2種類)の中から組み合わせを1つ選択し、選択した組み合わせ毎に、組み合わせに含まれていないスロットに関する想定入力文(想定入力文字列)のみ、学習データ550から除去したデータを、図14に示すように、学習データ(第2の学習データ)550(2A、2B)として作成する(S61)。
図14(a)は、図8の学習データ550のうち、特定のスロット「<目的地>」に関する想定入力文字列のみが除去された学習データ550(2A)の例を示す。すなわち、図14(a)の学習データ550(2A)は、図8の学習データ550のスロットとバリュー553の中に、「<目的地>」が存在する情報であって、ID551が「1」〜「6」の情報が削除された学習データである。また、図14(b)は、図8の学習データ550のうち、特定のスロット「<出発地>」に関する想定入力文字列のみが除去された学習データ550(2B)の例を示す。すなわち、図14(b)の学習データ550(2B)は、図8の学習データ550のスロットとバリュー553の中に、「<出発地>」が存在する情報であって、ID551が「1」〜「4」と「7」の情報が削除された学習データである。
本実施の形態によれば、実施の形態1に記載の音声対話システム2000において、複数のスロットバリュー抽出モデルを第1のスロットバリュー抽出モデルから第2のスロットバリュー抽出モデルに切替えることにより、高精度なスロットバリュー抽出モデルの抽出が可能になる。また、複数のスロットバリュー抽出モデルの作成に必要な作業コストを低減することができる。
(実施の形態3)
対話相手の入力文字列から高精度にスロットバリュー抽出するため、本実施の形態3のスロットバリュー抽出部30は、対話ログに基づいて、使用するスロットバリュー抽出モデルを第1のスロットバリュー抽出モデルから第3のスロットバリュー抽出モデルに切替える。対話ログの一例を図15に示す。
図15は、対話ログの構成を示す構成図である。対話ログ560は、ID561、質問文562、スロット563を含む。スロット563は、<出発地>564、<目的地>565、<出発時刻>566、<出発地><目的地>567、<目的地><出発時刻>568、<出発時刻><出発地>569、<出発地><目的地><出発時刻>570を含む。
ID561は、対話ログを一意に識別する識別子である。質問文562は、ユーザに対する質問文を管理する情報である。質問文562には、例えば、「目的地はどこですか?」の情報が登録される。スロット563は、質問文562に含まれるスロットの確率(割合)を管理する情報である。スロット563には、例えば、ID561の「1」に示すように、「−」(質問文出力無し)の質問文562として、「<出発地>」の情報が含まれる確率が「20%」である場合、<出発地>564には、「20%」の情報が登録される。ID561の「2」に示すように、「目的地はどこですか?」の質問文562として、「<出発地>」の情報が含まれる確率が「0%」である場合、<出発地>564には、「0%」の情報が登録される。また、ID561の「3」に示すように、「出発地はどこですか?」の質問文562として、「<出発地>」の情報が含まれる確率が「80%」である場合、<出発地>564には、「80%」の情報が登録される。さらに、ID561の「4」に示すように、「出発時刻はいつですか?」の質問文562として、「<出発地>」の情報が含まれる確率が「0%」である場合、<出発地>564には、「0%」の情報が登録される。
対話ログは、対話相手の入力文字列に各スロットが含まれる確率とした。例えば、テキスト対話システム1000の質問文出力が無い状態(ID561の「1」)での対話相手の入力文字列200は、スロット563のうち<出発地>564に関する文字列のみ含まれる確率が、閾値(例えば、10%)以上の「20%」であり、スロット563のうち<目的地>565に関する文字列のみ含まれる確率が、閾値以上の「80%」である。よって、スロットバリュー抽出の精度向上のため、質問文の出力が無い状態における入力文字列200のスロットバリュー抽出において、スロットバリュー抽出部30は、スロット563のうち<出発地>564のみに関する想定入力文字列と、スロット563のうち<目的地>565のみに関する想定入力文字列の両方を登録したスロットバリュー抽出モデル550(図17(a)参照)を使用する。
同様に、質問文「目的地はどこですか?」に対する入力文字列200のスロットバリュー抽出において、スロットバリュー抽出部30は、スロット563のうち<目的地>565のみに関する想定入力文字列を登録したスロットバリュー抽出モデル550(図17(b)参照)を使用する。
また、質問文「出発地はどこですか?」に対する入力文字列200のスロットバリュー抽出において、スロットバリュー抽出部30は、スロット563のうち<出発地>564のみに関する想定入力文字列と、スロット563のうち<出発時刻>566と、<出発地>564が共に含まれる想定入力文字列を登録したスロットバリュー抽出モデル550(図17(c)参照)を使用する。
また、質問文「出発時刻はいつですか?」に対する入力文字列200のスロットバリュー抽出において、スロットバリュー抽出部30は、スロット563のうち<出発時刻>566のみに関する想定入力文字列と、スロット563のうち<出発時刻>566と、<出発地>564が共に含まれる想定入力文字列とを登録したスロットバリュー抽出モデル550(図17(d)参照)を使用する。
よって、対話ログ560に基づいて、特定スロットに関する想定入力文字列を登録したスロットバリュー抽出モデル550を管理テーブルで管理する必要がある。
図16は、管理テーブルの構成を示す構成図である。図16において、管理テーブル580は、質問文とスロットバリュー抽出モデルとの関係を管理するテーブルであって、ID581、質問文582、スロットバリュー抽出モデル583を含む。ID581は、質問文582を一意に識別する識別子である。質問文582は、ユーザに対する質問文を管理する情報である。質問文582には、例えば、「目的地はどこですか?」の情報が登録される。スロットバリュー抽出モデル583は、スロットバリュー抽出モデル(第3のスロットバリュー抽出モデル)500(3A〜3D)を作成するための学習データ(第3の学習データ)550(3A〜3D)を特定する情報である。スロットバリュー抽出モデル583には、例えば、学習データ550(3A)を特定する情報として、「3A」が登録される。
この際、学習データ作成部80は、複数のスロットバリュー抽出モデル500の作成に必要な作業コストを軽減するため、対話ログ560に基づいた特定スロットに関する学習データを作成する(図17参照)。一方、モデル作成部90は、学習データ作成部80により作成された各種学習データ550(3A〜3D)からスロットバリュー抽出モデル500(3A〜3D)を作成する。
図17は、対話ログに基づいた特定スロットに関する学習データの構成を示す構成図である。図17(a)は、管理テーブル580のスロットバリュー抽出モデル583の「3A」で特定される学習データ550(3A)である。学習データ550(3A)は、ID551、想定入力文字列552、スロットとバリュー553を含む。ID551の「1」に示すように、想定入力552には、例えば、目的地のみの情報として、「国分寺駅まで行きたい」が登録され、スロットとバリュー553には、例えば、スロットとして、「<目的地>」が登録され、バリューとして、「国分寺駅」が登録される。また、ID551の「3」に示すように、想定入力552には、出発地のみの情報として、「勝田駅から行きたい」が登録され、スロットとバリュー553には、スロットとして、「<出発地>」が登録され、バリューとして、「勝田駅」が登録される。
図17(b)は、管理テーブル580のスロットバリュー抽出モデル583の「3B」で特定される学習データ550(3B)である。学習データ550(3B)は、ID551、想定入力文字列552、スロットとバリュー553を含む。ID551の「1」に示すように、学習データ550(3B)の想定入力552には、例えば、目的地のみの情報として、「国分寺駅まで行きたい」が登録され、スロットとバリュー553には、例えば、スロットとして、「<目的地>」が登録され、バリューとして、「国分寺駅」が登録される。
図17(c)は、管理テーブル580のスロットバリュー抽出モデル583の「3C」で特定される学習データ550(3C)である。学習データ550(3C)は、ID551、想定入力文字列552、スロットとバリュー553を含む。ID551の「1」に示すように、学習データ550(3C)の想定入力552には、例えば、出発時刻と出発地の情報として、「10時発で勝田駅から行きたい」が登録され、スロットとバリュー553には、例えば、スロットとして、「<出発地>」が登録され、バリューとして、「勝田駅」が登録されると共に、スロットとして、「<出発時刻>」が登録され、バリューとして、「10時」が登録される。また、ID551の「2」に示すように、学習データ550(3C)の想定入力552には、出発地のみの情報として、「勝田駅から行きたい」が登録され、スロットとバリュー553には、スロットとして、「<出発地>」が登録され、バリューとして、「勝田駅」が登録される。
図17(d)は、管理テーブル580のスロットバリュー抽出モデル583の「3D」で特定される学習データ550(3D)である。学習データ550(3D)は、ID551、想定入力文字列552、スロットとバリュー553を含む。ID551の「1」に示すように、学習データ550(3D)の想定入力552には、例えば、出発時刻と出発地の情報として、「10時発で勝田駅から行きたい」が登録され、スロットとバリュー553には、例えば、スロットとして、「<出発地>」が登録され、バリューとして、「勝田駅」が登録されると共に、スロットとして、「<出発時刻>」が登録され、バリューとして、「10時」が登録される。また、ID551の「2」に示すように、学習データ550(3D)の想定入力552には、出発時刻のみの情報として、「10時発に乗りたい」が登録され、スロットとバリュー553には、スロットとして、「<出発時刻>」が登録され、バリューとして、「10時」が登録される。
本実施の形態によれば、実施の形態1に記載の音声対話システム2000において、複数のスロットバリュー抽出モデルを第1のスロットバリュー抽出モデルから第3のスロットバリュー抽出モデルに切替えることにより、高精度なスロットバリュー抽出モデルの抽出が可能になる。また、複数のスロットバリュー抽出モデルの作成に必要な作業コストを軽減することができる。
尚、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は、前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々の変更が可能であることはいうまでもない。例えば、バリューリスト510、回答文リスト520をモデル作成装置1100に配置することもできる。
本発明は、音声対話システムを備えた対話用ロボットや、テキスト対話システムを備えたチャットボットなど、音声及びテキストを入力とした対話システムに広く適用することができる。
また、上記の各構成、機能等は、それらの一部又は全部を、例えば、集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、IC(Integrated Circuit)カード、SD(Secure Digital)メモリカード、DVD(Digital Versatile Disc)等の記録媒体に記録して置くことができる。
10 音声入力部、11 プロセッサ(CPU)、12 主記憶装置(メモリ)、13補助記憶装置、14 入力装置、15 出力装置、16 通信装置、20 音声認識部、30 スロットバリュー抽出部、40 バリュー識別子、50 回答絞込み部、60 音声合成部、70 音声出力部、80 学習データ作成部、90 モデル作成部、100 音声、200 入力文字列、300 出力文字列、400 合成音声、500 スロットバリュー抽出モデル、510 バリューリスト、520 回答文リスト、530 質問文リスト、540 周辺文字列リスト、550 学習モデル、560 対話ログ、580 管理テーブル、1000 テキスト対話システム、1100 モデル作成装置、1200 テキスト対話支援装置、2000 音声対話システム、3000 音声処理システム

Claims (11)

  1. 入力される入力用音声を入力文字列の情報に変換し、変換された前記入力文字列の情報を基に回答文又は質問文の情報を含む出力文字列を作成し、作成した前記出力文字列の情報を合成音声に変換し、変換された前記合成音声を出力用音声として出力する音声対話システムであって、
    文字列を構成する情報であって、予め想定された文字列の候補を示す複数のバリューと、前記複数のバリューの各々を識別する複数のバリュー識別子とが紐付けられて記憶されたバリューリストと、
    前記文字列を構成する情報を識別する識別子を示す複数のスロットの各々と、前記複数のバリュー識別子の各々とが紐付けられて記憶され、且つ前記複数のスロットの各々と前記複数のバリュー識別子の各々とが1以上の回答文に紐付けられて記憶された回答文リストと、
    前記複数のスロットの各々と、前記複数のスロットの各々に隣接配置される複数の周辺文字列とが紐付けられて記憶された周辺文字列リストと、
    予め想定された複数の想定入力文字列と、前記複数の想定入力文字列の各々に紐付けられた1又は2以上の前記スロット及び前記バリューを含む複数のスロットバリュー抽出モデルを記憶する記憶部と、
    前記入力文字列と前記複数のスロットバリュー抽出モデルの中の前記各想定入力文字列との類似度を比較し、類似度の高い想定入力文字列に紐付けられた前記スロットを基に前記入力文字列における前記スロットの位置を推定し、推定した前記スロットの位置に対応した前記バリューを前記入力文字列から抽出するスロットバリュー抽出部と、
    前記バリューリストと前記回答文リスト及び前記周辺文字列リストを基に第1の学習データを作成する学習データ作成部と、
    前記第1の学習データを基に第1のスロットバリュー抽出モデルを作成し、作成した前記第1のスロットバリュー抽出モデルを、前記複数のスロットバリュー抽出モデルに属するモデルとして前記記憶部に格納するモデル作成部と、を備えることを特徴とする音声対話システム。
  2. 請求項1に記載の音声対話システムであって、
    前記学習データ作成部は、
    前記回答文リストを基に、前記回答文リストの中の前記回答文に紐付けられた前記バリュー識別子の組み合わせを1又は2以上作成し、前記1又は2以上の組み合わせ毎に前記バリュー識別子の順列を作成し、
    前記バリュー識別子の順列の組み合わせ毎に、前記バリュー識別子の順列に属する各要素の前記バリュー識別子に紐付けられた前記バリューを前記各要素のバリューとして前記バリューリストの中からそれぞれ取得し、且つ前記各要素のバリュー識別子に紐付けられた前記スロットを、前記各要素のスロットとして前記回答文リストの中からそれぞれ取得し、さらに、前記各要素のスロットに紐付けられた前記周辺文字列を前記各要素の周辺文字列として前記周辺文字列リストの中からそれぞれ取得し、
    前記バリュー識別子の順列の組み合わせ毎に、取得した前記各要素のバリューと取得した前記各要素の周辺文字列とを結合した文字列を前記各要素の文字列として作成し、且つ前記各要素の文字列を結合して複数の想定入力文字列を作成し、
    作成した前記複数の想定入力文字列と、前記複数の想定入力文字列の各々の作成に用いた前記各要素のスロット及び前記各要素のバリューを基に、前記各想定入力文字列と、前記各要素のスロット及び前記各要素のバリューとを紐付けたデータを前記第1の学習データとして作成することを特徴とする音声対話システム。
  3. 請求項2に記載の音声対話システムであって、
    前記学習データ作成部は、
    前記第1の学習データに紐付けられた前記各要素の前記スロットのうち1又は2以上の特定のスロットの組み合わせを作成し、作成した前記特定のスロットの組み合わせから除外されたスロットに紐付けられた学習データを前記第1の学習データの中から除外して、第2の学習データを作成し、
    前記モデル作成部は、
    前記第2の学習データを基に第2のスロットバリュー抽出モデルを作成し、作成した前記第2のスロットバリュー抽出モデルを、前記複数のスロットバリュー抽出モデルに属するモデルとして前記記憶部に格納することを特徴とする音声対話システム。
  4. 請求項2又は3に記載の音声対話システムであって、
    予め設定された1又は2以上の音声出力用文字列に、少なくとも前記各要素のスロットが含まれる確率が紐付けられた対話ログを更に備え、
    前記学習データ作成部は、
    前記第1の学習データに紐付けられた前記各要素の前記スロットのうち前記対話ログで規定された前記確率が閾値以上のスロットに関する前記想定入力文字列を含むデータを前記第1の学習データの中から抽出して、第3の学習データを作成し、
    前記モデル作成部は、
    前記第3の学習データを基に第3のスロットバリュー抽出モデルを作成し、作成した前記第3のスロットバリュー抽出モデルを、前記複数のスロットバリュー抽出モデルに属するモデルとして前記記憶部に格納することを特徴とする音声対話システム。
  5. 請求項1〜4のうちいずれか1項に記載の音声対話システムであって、
    前記複数のスロットの各々と複数の質問文の各々とが紐付けられて記憶された質問文リストと、
    前記スロットバリュー抽出部の抽出による前記バリューと前記バリューリストの中の前記バリューとの類似度を比較し、類似度の高いバリューと紐付けられた前記バリュー識別子を、前記スロットバリュー抽出部の抽出による前記バリューの前記バリュー識別子として推定するバリュー識別子推定部と、
    前記バリュー識別子推定部で推定された前記バリュー識別子を基に前記回答文リストを参照し、情報提示に用いる前記スロットの前記バリュー識別子が前記回答文に存在する場合、前記情報提示に用いる前記スロットの前記バリュー識別子に紐付けられた前記回答文を前記出力文字列として出力し、前記情報提示に用いる前記スロットの前記バリュー識別子が前記回答文に存在しない場合、前記質問文リストを参照し、前記情報提示に用いる前記スロットに対して不足している前記スロットに紐付けられた前記質問文を前記出力文字列として出力する回答絞込み部と、を更に備えることを特徴とする音声対話システム。
  6. 文字列を構成する情報であって、予め想定された文字列の候補を示す複数のバリューと、前記複数のバリューの各々を識別する複数のバリュー識別子とが紐付けられて記憶されたバリューリストと、
    前記文字列を構成する情報を識別する識別子を示す複数のスロットの各々と、前記複数のバリュー識別子の各々とが紐付けられて記憶され、且つ前記複数のスロットの各々と前記複数のバリュー識別子の各々とが1以上の回答文に紐付けられて記憶された回答文リストと、
    前記複数のスロットの各々と、前記複数のスロットの各々に隣接配置される複数の周辺文字列とが紐付けられて記憶された周辺文字列リストと、
    前記バリューリストと前記回答文リスト及び前記周辺文字列リストを基に第1の学習データを作成する学習データ作成部と、
    前記第1の学習データを基に第1のスロットバリュー抽出モデルを作成するモデル作成部と、を備え、
    前記学習データ作成部は、
    前記回答文リストを基に、前記回答文リストの中の前記回答文に紐付けられた前記バリュー識別子の組み合わせを1又は2以上作成し、前記1又は2以上の組み合わせ毎に前記バリュー識別子の順列を作成し、
    前記バリュー識別子の順列の組み合わせ毎に、前記バリュー識別子の順列に属する各要素のバリュー識別子に紐付けられたバリューを前記各要素のバリューとして前記バリューリストの中からそれぞれ取得し、且つ前記各要素のバリュー識別子に紐付けられたスロットを、前記各要素のスロットとして前記回答文リストの中からそれぞれ取得し、さらに、前記各要素のスロットに紐付けられた前記周辺文字列を前記各要素の周辺文字列として前記周辺文字列リストの中からそれぞれ取得し、
    前記バリュー識別子の順列の組み合わせ毎に、取得した前記各要素のバリューと取得した前記各要素の周辺文字列とを結合した文字列を前記各要素の文字列として作成し、且つ前記各要素の文字列を結合して複数の想定入力文字列を作成し、
    作成した前記複数の想定入力文字列と、前記複数の想定入力文字列の各々の作成に用いた前記各要素のスロット及び前記各要素のバリューを基に、前記各想定入力文字列と、前記各要素のスロット及び前記各要素のバリューとを紐付けたデータを前記第1の学習データとして作成することを特徴とするモデル作成装置。
  7. 請求項6に記載のモデル作成装置であって、
    前記学習データ作成部は、
    前記第1の学習データに紐付けられた前記各要素のスロットのうち1又は2以上の特定のスロットの組み合わせを作成し、作成した前記特定のスロットの組み合わせから除外されたスロットに紐付けられた学習データを前記第1の学習データの中から除外して、第2の学習データを作成し、
    前記モデル作成部は、
    前記第2の学習データを基に第2のスロットバリュー抽出モデルを作成することを特徴とするモデル作成装置。
  8. 請求項6又は7に記載のモデル作成装置であって、
    予め設定された1又は2以上の音声出力用文字列に、少なくとも前記各要素のスロットが含まれる確率が紐付けられた対話ログを更に有し、
    前記学習データ作成部は、
    前記第1の学習データに紐付けられた前記各要素のスロットのうち前記対話ログで規定された前記確率が閾値以上のスロットに関する前記想定入力文字列を含むデータを前記第1の学習データの中から抽出して、第3の学習データを作成し、
    前記モデル作成部は、
    前記第3の学習データを基に第3スロットバリュー抽出モデルを作成することを特徴とするモデル作成装置。
  9. 文字列を構成する情報であって、予め想定された文字列の候補を示す複数のバリューと、前記複数のバリューの各々を識別する複数のバリュー識別子とが紐付けられて記憶されたバリューリストと、
    前記文字列を構成する情報を識別する識別子を示す複数のスロットの各々と、前記複数のバリュー識別子の各々とが紐付けられて記憶され、且つ前記複数のスロットの各々と前記複数のバリュー識別子の各々とが1以上の回答文に紐付けられて記憶された回答文リストと、
    前記複数のスロットの各々と、前記複数のスロットの各々に隣接配置される複数の周辺文字列とが紐付けられて記憶された周辺文字列リストと、
    前記バリューリストと前記回答文リスト及び前記周辺文字列リストを基に第1の学習データを作成する学習データ作成部と、
    前記第1の学習データを基に第1のスロットバリュー抽出モデルを作成するモデル作成部と、を備えたモデル作成装置におけるモデル作成方法であって、
    前記学習データ作成部が、前記回答文リストを基に、前記回答文リストの中の前記回答文に紐付けられた前記バリュー識別子の組み合わせを1又は2以上作成し、前記1又は2以上の組み合わせ毎に前記バリュー識別子の順列を作成する順列作成ステップと、
    前記学習データ作成部が、前記バリュー識別子の順列の組み合わせ毎に、前記バリュー識別子の順列に属する各要素の前記バリュー識別子に紐付けられたバリューを前記各要素のバリューとして前記バリューリストの中からそれぞれ取得し、且つ前記各要素のバリュー識別子に紐付けられたスロットを、前記各要素のスロットとして前記回答文リストの中からそれぞれ取得し、さらに、前記各要素のスロットに紐付けられた前記周辺文字列を前記各要素の周辺文字列として前記周辺文字列リストの中からそれぞれ取得する取得ステップと、
    前記学習データ作成部が、前記バリュー識別子の順列の組み合わせ毎に、取得した前記各要素のバリューと取得した前記各要素の周辺文字列とを結合した文字列を前記各要素の文字列として作成し、且つ前記各要素の文字列を結合して複数の想定入力文字列を作成する想定入力文字列作成ステップと、
    前記学習データ作成部が、前記想定入力文字列作成ステップで作成した前記複数の想定入力文字列と、前記複数の想定入力文字列の各々の作成に用いた前記各要素のスロット及び前記各要素のバリューを基に、前記各想定入力文字列と、前記各要素のスロット及び前記各要素のバリューとを紐付けたデータを前記第1の学習データとして作成する第1の学習データ作成ステップと、を含むことを特徴とするモデル作成方法。
  10. 請求項9に記載のモデル作成方法であって、
    前記学習データ作成部が、前記第1の学習データに紐付けられた前記各要素のスロットのうち1又は2以上の特定のスロットの組み合わせを作成し、作成した前記特定のスロットの組み合わせから除外されたスロットに紐付けられた学習データを前記第1の学習データの中から除外して、第2の学習データを作成する第2の学習データ作成ステップと、
    前記モデル作成部が、前記第2の学習データ作成ステップで作成された前記第2の学習データを基に第2のスロットバリュー抽出モデルを作成する第2のスロットバリュー抽出モデル作成ステップと、を含むことを特徴とするモデル作成方法。
  11. 請求項9又は10に記載のモデル作成方法であって、
    予め設定された1又は2以上の音声出力用文字列に、少なくとも前記各要素のスロットが含まれる確率が紐付けられた対話ログを更に備え、
    前記学習データ作成部が、前記第1の学習データに紐付けられた前記各要素のスロットのうち前記対話ログで規定された前記確率が閾値以上のスロットに関する前記想定入力文字列を含むデータを前記第1の学習データの中から抽出して、第3の学習データを作成する第3の学習データ作成ステップと、
    前記モデル作成部が、前記第3の学習データ作成ステップで作成された前記第3の学習データを基に第3のスロットバリュー抽出モデルを作成する第3のスロットバリュー抽出モデル作成ステップと、を含むことを特徴とするモデル作成方法。
JP2018119325A 2018-06-22 2018-06-22 音声対話システムとモデル作成装置およびその方法 Active JP6964558B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2018119325A JP6964558B2 (ja) 2018-06-22 2018-06-22 音声対話システムとモデル作成装置およびその方法
US16/420,479 US20190392005A1 (en) 2018-06-22 2019-05-23 Speech dialogue system, model creating device, model creating method
CN201910489647.8A CN110634480B (zh) 2018-06-22 2019-06-06 语音对话系统与模型创建装置及其方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018119325A JP6964558B2 (ja) 2018-06-22 2018-06-22 音声対話システムとモデル作成装置およびその方法

Publications (2)

Publication Number Publication Date
JP2019220115A JP2019220115A (ja) 2019-12-26
JP6964558B2 true JP6964558B2 (ja) 2021-11-10

Family

ID=68968838

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018119325A Active JP6964558B2 (ja) 2018-06-22 2018-06-22 音声対話システムとモデル作成装置およびその方法

Country Status (3)

Country Link
US (1) US20190392005A1 (ja)
JP (1) JP6964558B2 (ja)
CN (1) CN110634480B (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111145734A (zh) * 2020-02-28 2020-05-12 北京声智科技有限公司 一种语音识别方法及电子设备
JP2021149267A (ja) * 2020-03-17 2021-09-27 東芝テック株式会社 情報処理装置、情報処理システム及びその制御プログラム

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002023783A (ja) * 2000-07-13 2002-01-25 Fujitsu Ltd 対話処理システム
JP2005157494A (ja) * 2003-11-20 2005-06-16 Aruze Corp 会話制御装置及び会話制御方法
JP4075067B2 (ja) * 2004-04-14 2008-04-16 ソニー株式会社 情報処理装置および情報処理方法、並びに、プログラム
JP4464770B2 (ja) * 2004-08-31 2010-05-19 日本電信電話株式会社 対話戦略学習方法および対話戦略学習装置
JP2009244639A (ja) * 2008-03-31 2009-10-22 Sanyo Electric Co Ltd 発話装置、発話制御プログラムおよび発話制御方法
JP5346327B2 (ja) * 2010-08-10 2013-11-20 日本電信電話株式会社 対話学習装置、要約装置、対話学習方法、要約方法、プログラム
JP5660441B2 (ja) * 2010-09-22 2015-01-28 独立行政法人情報通信研究機構 音声認識装置、音声認識方法、及びプログラム
JP6078964B2 (ja) * 2012-03-26 2017-02-15 富士通株式会社 音声対話システム及びプログラム
DE102013007502A1 (de) * 2013-04-25 2014-10-30 Elektrobit Automotive Gmbh Computer-implementiertes Verfahren zum automatischen Trainieren eins Dialogsystems und Dialogsystem zur Erzeugung von semantischen Annotationen
JP6235360B2 (ja) * 2014-02-05 2017-11-22 株式会社東芝 発話文収集装置、方法、及びプログラム
JP6604542B2 (ja) * 2015-04-02 2019-11-13 パナソニックIpマネジメント株式会社 対話方法、対話プログラム及び対話システム
JP2017027234A (ja) * 2015-07-17 2017-02-02 日本電信電話株式会社 フレーム作成装置、方法、及びプログラム
US10176463B2 (en) * 2015-12-17 2019-01-08 International Business Machines Corporation Machine learning system for intelligently identifying suitable time slots in a user's electronic calendar
CN105632495B (zh) * 2015-12-30 2019-07-05 百度在线网络技术(北京)有限公司 语音识别方法和装置
JP6651973B2 (ja) * 2016-05-09 2020-02-19 富士通株式会社 対話処理プログラム、対話処理方法および情報処理装置
US20180032884A1 (en) * 2016-07-27 2018-02-01 Wipro Limited Method and system for dynamically generating adaptive response to user interactions
CN106448670B (zh) * 2016-10-21 2019-11-19 竹间智能科技(上海)有限公司 基于深度学习和强化学习的自动回复对话系统
US9977778B1 (en) * 2016-11-03 2018-05-22 Conduent Business Services, Llc Probabilistic matching for dialog state tracking with limited training data
US20180129484A1 (en) * 2016-11-04 2018-05-10 Microsoft Technology Licensing, Llc Conversational user interface agent development environment
CN107220292A (zh) * 2017-04-25 2017-09-29 上海庆科信息技术有限公司 智能对话装置、反馈式智能语音控制系统及方法
CN110019699B (zh) * 2017-09-05 2023-10-20 声音猎手公司 域间通过语法槽的分类
US11010656B2 (en) * 2017-10-30 2021-05-18 Clinc, Inc. System and method for implementing an artificially intelligent virtual assistant using machine learning
EP3483746A1 (en) * 2017-11-09 2019-05-15 Snips Methods and devices for generating data to train a natural language understanding component
US10572801B2 (en) * 2017-11-22 2020-02-25 Clinc, Inc. System and method for implementing an artificially intelligent virtual assistant using machine learning

Also Published As

Publication number Publication date
JP2019220115A (ja) 2019-12-26
CN110634480B (zh) 2023-04-28
US20190392005A1 (en) 2019-12-26
CN110634480A (zh) 2019-12-31

Similar Documents

Publication Publication Date Title
JP5245255B2 (ja) 固有表現抽出プログラム、固有表現抽出方法および固有表現抽出装置
JP2019212321A (ja) 意味情報生成方法、意味情報生成装置、およびプログラム
US20170277672A1 (en) Information processing device, information processing method, and computer program product
US20150179173A1 (en) Communication support apparatus, communication support method, and computer program product
CN109360550A (zh) 语音交互系统的测试方法、装置、设备和存储介质
US20130035929A1 (en) Information processing apparatus and method
US10410632B2 (en) Input support apparatus and computer program product
CN107992523B (zh) 移动应用的功能选项查找方法及终端设备
JP6964558B2 (ja) 音声対話システムとモデル作成装置およびその方法
JP2017204018A (ja) 検索処理方法、検索処理プログラムおよび情報処理装置
WO2016112782A1 (zh) 一种用户的生活圈提取方法及系统
CN110209780B (zh) 一种问题模板生成方法、装置、服务器及存储介质
JP7031462B2 (ja) 分類プログラム、分類方法、および情報処理装置
JP5355483B2 (ja) 略語完全語復元装置とその方法と、プログラム
CN111326142A (zh) 基于语音转文本的文本信息提取方法、系统和电子设备
US11893814B2 (en) Extraction method, computer-readable recording medium storing extraction program, and information processing device
CN110580905B (zh) 识别装置及方法
KR20190061460A (ko) 신뢰도 기반 질의응답 시스템 및 방법
JP6123372B2 (ja) 情報処理システム、名寄せ判定方法及びプログラム
KR20200079629A (ko) 대화형 정보 제공 시스템 및 그 방법
JP2014085874A (ja) 情報検索装置、情報検索システム、及び情報検索方法
JP6085574B2 (ja) 作業記録内容解析装置及び方法及びプログラム
JPWO2019171537A1 (ja) 意味推定システム、方法およびプログラム
JP2019135593A (ja) 言語処理方法及び言語処理システム
JP2003173335A (ja) 自然言語対話装置及び方法並びに記憶媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201109

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210915

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: 20211012

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211019

R150 Certificate of patent or registration of utility model

Ref document number: 6964558

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150