JPWO2018123139A1 - 応答装置、応答装置の制御方法、および制御プログラム - Google Patents

応答装置、応答装置の制御方法、および制御プログラム Download PDF

Info

Publication number
JPWO2018123139A1
JPWO2018123139A1 JP2018558806A JP2018558806A JPWO2018123139A1 JP WO2018123139 A1 JPWO2018123139 A1 JP WO2018123139A1 JP 2018558806 A JP2018558806 A JP 2018558806A JP 2018558806 A JP2018558806 A JP 2018558806A JP WO2018123139 A1 JPWO2018123139 A1 JP WO2018123139A1
Authority
JP
Japan
Prior art keywords
word
sentence
response
category
input
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
JP2018558806A
Other languages
English (en)
Other versions
JP6810757B2 (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.)
Sharp Corp
Original Assignee
Sharp 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 Sharp Corp filed Critical Sharp Corp
Publication of JPWO2018123139A1 publication Critical patent/JPWO2018123139A1/ja
Application granted granted Critical
Publication of JP6810757B2 publication Critical patent/JP6810757B2/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/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/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1815Semantic context, e.g. disambiguation of the recognition hypotheses based on word meaning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/242Dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/253Grammatical analysis; Style critique
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/55Rule-based translation
    • G06F40/56Natural language generation
    • 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/02Methods for producing synthetic speech; Speech synthesisers
    • G10L13/027Concept to speech synthesisers; Generation of natural phrases from machine-based concepts
    • 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
    • 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/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
    • 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
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command

Landscapes

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

Abstract

ユーザの意に沿った応答文を生成する。応答装置(1)は、入力文に未知語が含まれている場合に、共用語が未知語と共通する既知語である関連語を検出する関連語検索部(13)と、関連語検索部(13)が検出した関連語に関連した内容の応答文を生成する応答文生成部(16)と、を備えている。

Description

本発明は、ユーザの入力文に対する応答文を生成する応答装置等に関する。
従来から、ユーザから入力文の入力文を受け付けて、これに対する応答文を生成する装置やシステムの研究開発が進められている。例えば、下記の特許文献1には、ユーザ発言から検出した呼び名と不揮発性メモリに記憶された各人物の呼び名との類似性から、当該呼び名の指し示す人物を判定して、その人物に関する発言をユーザに対する返事として返す技術が開示されている。
日本国公開特許公報「特開2004−334591号公報(2004年11月25日公開)」
しかしながら、上記従来技術では、ユーザの意に沿った応答文を生成することができない場合がある。例えば、ユーザ発言に語義等が不明な未知語が含まれていた場合に、上記従来技術ではその未知語の内容に即した返事を返すことができない。また、一般的に、同じ人物について類似しない複数の呼び方がされる場合があるが、上記従来技術では、このような場合に適切な返事を返すことができない。
本発明の一態様は、ユーザの意に沿った応答文を生成することができる応答装置等を実現することを目的とする。
上記の課題を解決するために、本発明の一態様に係る応答装置は、入力文に対する応答文を生成する応答装置であって、当該応答装置が上記応答文の生成に用いる所定の情報が対応付けられていない語である未知語が上記入力文に含まれている場合に、同一文中で用いられる語である共用語が上記未知語と共通する既知語である関連語を検出する検出部と、上記検出部が検出した関連語に関連した内容の応答文を生成する応答文生成部と、を備えている構成である。
上記の課題を解決するために、本発明の一態様に係る他の応答装置は、上記入力文に他の呼称を有する単語が含まれているか、上記入力文が当該単語に関連した文であるかの少なくとも何れかに該当する場合に、同一文中で用いられる語である共用語が上記単語と共通する呼称である関連呼称を検出する検出部と、上記検出部が検出した関連呼称に関連した内容の応答文を生成する応答文生成部と、を備えている構成である。
上記の課題を解決するために、本発明の一態様に係る応答装置の制御方法は、入力文に対する応答文を生成する応答装置の制御方法であって、当該応答装置が上記応答文の生成に用いる所定の情報が対応付けられていない語である未知語が上記入力文に含まれている場合に、同一文中で用いられる語である共用語が上記未知語と共通する既知語である関連語を検出する検出ステップと、上記検出ステップで検出した関連語に関連した内容の応答文を生成する応答文生成ステップと、を含む方法である。
上記の課題を解決するために、本発明の一態様に係る他の応答装置の制御方法は、入力文に対する応答文を生成する応答装置の制御方法であって、上記入力文に他の呼称を有する単語が含まれているか、上記入力文が当該単語に関連した文であるかの少なくとも何れかに該当する場合に、同一文中で用いられる語である共用語が上記単語と共通する呼称である関連呼称を検出する検出ステップと、上記検出ステップで検出した関連呼称に関連した内容の応答文を生成する応答文生成ステップと、を含む方法である。
本発明の一態様によれば、ユーザの意に沿った応答文を生成することが可能になるという効果を奏する。
本発明の実施形態1に係る応答装置の要部構成の一例を示すブロック図である。 対話履歴DBの一例を示す図である。 関連語の検索方法を説明する図である。 関連名の検索方法を説明する図である。 「お母さん」と「小百合」が同一人物を示すとの推測に基づいて図4における各単語間の関連付けを再構築した図である。 音声入力受付から応答音声出力までに上記応答装置が実行する処理の一例を示すフローチャートである。 未知語のカテゴリを推測した上でシナリオを検索する場合に上記応答装置が実行する処理の一例を示すフローチャートである。 関連名を検索した上でシナリオを検索する場合に上記応答装置が実行する処理の一例を示すフローチャートである。
〔実施形態1〕
〔応答装置の構成〕
本実施形態に係る応答装置について図1に基づいて説明する。図1は、応答装置1の要部構成の一例を示すブロック図である。応答装置1は、ユーザの入力文に対する応答文を生成する装置である。本実施形態では、応答装置1が、ユーザが音声で発したメッセージを入力文として、この入力文に対する応答文を音声で出力する例を説明する。以下、入力文と応答文とを総称して「入出力文」と記載する場合がある。「入出力文」と記載した場合、それは入力文および出力文の何れかまたは両方を指す。なお、入力文と応答文の少なくとも何れかがテキストメッセージであってもよい。応答文がテキストメッセージである場合、応答文の出力は表示または印字で行えばよい。
応答装置1は、応答装置1の各部を統括して制御する制御部10、応答装置1が使用する各種データを記憶する記憶部20、音声入力を受け付ける音声入力部30、および音声を出力する音声出力部40を備えている。また、制御部10には、音声認識部11、形態素解析部12、関連語検索部(検出部)13、カテゴリ推測部14、シナリオ検索部15、応答文生成部16、および音声合成部17が含まれている。そして、記憶部20には、辞書21、対話履歴DB(データベース)22、およびシナリオDB23が格納されている。
音声認識部11は、音声入力部30に入力された音声を音声認識し、この音声認識の結果としてテキストデータを生成する。つまり、音声認識部11は、入力文のテキストデータを生成する。
形態素解析部12は、音声認識結果である入力文のテキストデータを形態素解析する。形態素解析では、入力文のテキストデータは形態素に分けられ、各形態素について辞書21に基づいて品詞や品詞の意味、カテゴリ等の情報が付与される。同じカテゴリの語は、そのカテゴリに対応する共通の属性を有している。また、同じカテゴリの文は、そのカテゴリに対応する共通の属性を有している。どのような単語をどのようなカテゴリに分類し、どのような文をどのようなカテゴリに分類するか、および各カテゴリをどのように規定するかは予め定められている。形態素解析結果は、入力文のテキストデータと共に対話履歴DB22等に格納され、関連語検索部13等の各部で利用される。
関連語検索部13は、入力文に未知語が含まれている場合に、文中での用いられ方が該未知語と共通する既知語である関連語を検索する。より詳細には、関連語検索部13は、対話履歴DB22等のデータベースから未知語と組み合わせて用いられている語である共用語を検出すると共に、それらデータベースから当該共用語と組み合わせて用いられている既知語を関連語として検出する。言い換えれば、関連語検索部13は、共用語が未知語と共通する関連語を検出する。なお、未知語とは、応答装置1が応答文の生成に用いる所定の情報が対応付けられていない語である。上記所定の情報としては、例えば語義およびその語が属するカテゴリが挙げられる。本実施形態では、辞書21に見出し語として登録されていない語を未知語として扱う。辞書21に見出し語として登録されていない、新語、造語、略語等も未知語の範疇に含まれる。一方、既知語は、上記所定の情報が対応付けられている語である。本実施形態では、辞書21に見出し語として登録されている語には、語義やカテゴリも辞書21に登録されているとする。つまり、本実施形態では、辞書21に見出し語として登録されている語を既知語として扱う。
また、関連語検索部13は、入力文に他の呼称を有する単語が含まれている場合に、文中での用いられ方が上記単語と共通する呼称である関連呼称を検出する。言い換えれば、関連語検索部13は、他の呼称を有する単語と共用語が共通する関連呼称を検出する。以下では、他の呼称を有する単語が人を表す普通名詞である例を説明する。このような普通名詞には、少なくともその人を表す固有名詞という他の呼称が存在する。また、上記単語が人を表す普通名詞であるから、以下の説明では、上記関連呼称を関連名と呼ぶ。なお、他の呼称を有する単語は、他の呼称を有していればよく、この例に限られない。また、関連呼称を検出する上記の処理は、関連語検索部13とは別の処理ブロックを設けて、その処理ブロックが実行するようにしてもよい。
カテゴリ推測部14は、未知語のカテゴリを入力文の文脈から推測する。より詳細には、カテゴリ推測部14は、入力文における未知語の共用語のカテゴリを、未知語のカテゴリであると判定する。さらに詳細には、カテゴリ推測部14は、未知語が入力文の主語であり、共用語がその述語である場合に、当該述語が主語の状態または性質を示す語であれば、未知語のカテゴリを当該共用語と同じカテゴリであると判定する。つまり、カテゴリ推測部14は、入力文が「<未知語>は<A>です/だ」のような文章構造を有している場合、未知語のカテゴリは「A」のカテゴリと同じであると判定する。例えば、「紅玉」が未知語である場合に、入力文が「紅玉はリンゴだよ」であれば、カテゴリ推測部14は、「紅玉」のカテゴリを「リンゴ」と同じカテゴリ(例えば、果物)であると判定する。これにより、新しいリンゴの品種が会話に登場したときにもリンゴに関連した会話を継続することができる。
同様に、カテゴリ推測部14は、入力文が「<B>は<未知語>です/だ」のような文章構造を有している場合、未知語のカテゴリは「B」のカテゴリと同じであると判定してもよい。例えば、入力文が「製菓に向くリンゴは紅玉です」である場合にもカテゴリ推測部14は、「紅玉」のカテゴリを「リンゴ」と同じカテゴリ(例えば、果物)であると判定してもよい。
また、カテゴリ推測部14は、入力文が入力される直前の出力文のカテゴリから、未知語のカテゴリを判定する。より詳細には、カテゴリ推測部14は、あいさつのように1文節から構成されるような入力文が未知語を含む場合、その未知語のカテゴリを、直前の出力文と同じカテゴリであると判定する。例えば、応答装置1が「おはよう(カテゴリ:あいさつ)」と音声出力した後の入力文が「ちーす(未知語)」であった場合、カテゴリ推測部14は、「ちーす」のカテゴリをあいさつであると判定する。これにより、「ちーす」のような未知語に対しても、例えば「今日もいい天気だね」等の適切な応答文を返すことができる。
シナリオ検索部15は、応答文の生成に用いるシナリオをシナリオDB23から検索する。なお、本実施形態における「シナリオ」は、応答文の内容の大枠を定めたものであり、応答文を生成するためのテンプレートを含む。シナリオの検索方法については、シナリオDB23の詳細と共に後述する。
応答文生成部16は、応答文を生成する。応答文の生成方法については後述するが、関連語検索部13が関連語を検出した場合には、応答文生成部16は、その関連語に関連した内容の応答文を生成する。また、関連語検索部13が関連名を検出した場合には、応答文生成部16は、その関連名に関連した内容の応答文を生成する。
音声合成部17は、応答文生成部16が生成した応答文を音声データに合成する。合成した音声データは音声出力部40から音声出力される。
辞書21は、形態素解析を行うためのものである。辞書21は、例えば、見出し語に対してその品詞、語義等が対応付けられたデータ構造を有していてもよい。入力文の形態素解析が可能な情報を含む任意の辞書を辞書21として適用することができる。形態素解析部12は、辞書21に見出し語として含まれていない語を未知語と判定する。形態素解析部12が未知語であると判定しなかった語は既知語である。
対話履歴DB22は、応答装置1に対する入力文および応答装置1の出力文を記憶したデータベースである。対話履歴DB22は、例えば図2のようなデータ構造を有していてもよい。図2は、対話履歴DB22の一例を示す図である。なお、同図の(a)のテーブルが対話履歴DB22であり、同図の(b)は対話履歴DB22に付随するノードDB(データベース)、同図の(c)はノードデータベースに付随するノードリンクDB(データベース)である。
図2の(a)に示す対話履歴DB22は、入出力文、ユーザ、システム、日時、位置情報、カテゴリ、親カテゴリ、意図、およびノードリンク、のレコードが対応付けられたテーブルである。「入出力文」は入力文または出力文のテキストデータである。また、「ユーザ」のレコードはユーザからの発話であるか否かを示し、「システム」のレコードはシステムすなわち応答装置1からの発話であるか否かを示す。図示の例では「1」が肯定、「0」が否定を示している。つまり、「リンゴは赤い」はユーザによる発話すなわち入力文であり、「大阪のお土産はたこ焼きだね」は応答装置1による発話すなわち出力文である。「日時」は「入出力文」が発された日時および時刻を示し、「位置情報」は「入出力文」が発された場所を示している。「カテゴリ」は「入出力文」の内容のカテゴリ、「親カテゴリ」は上記「カテゴリ」の親(上位の)カテゴリである。「意図」は、「入出力文」の内容の行動解析結果であり、例えば「肯定」、「提案」の他、「疑問」、「願望」等も「意図」である。「ノードリンク」は、入出力文に含まれるノードのノードDBにおけるエントリを示している。
図2の(b)に示すノードDBは、ノード番号、ノード、ヨミ、カテゴリ、親カテゴリ、品詞、および付属情報のレコードが対応付けられたテーブルである。「ノード番号」は、ノードのエントリ番号である。「ノード」は、入出力文に含まれる単語であり、「ヨミ」はこの単語の読みを示す。「カテゴリ」は単語のカテゴリ、「親カテゴリ」は上記「カテゴリ」の親(上位の)カテゴリ、「品詞」は単語の品詞を示している。「付属情報」は、入出力文における単語の使われ方を示しており、何(what)、いつ(when)、どこ(where)、誰(who)、どのようだ(どのように)(how)、およびする(do)の何れかである。
図2の(c)に示すノードリンクDBは、助詞、ノード1、およびノード2が対応付けられたテーブルである。「ノード1」と「ノード2」は、「助詞」で接続されている単語を、ノードDBのエントリ番号で示したものである。例えば、図2の(c)1行目のレコードでは、「ノード1」が「1」、「ノード2」が「2」、「助詞」が「は」となっている。これは、同図の(b)の「リンゴ」(ノード番号1)と、「赤い」(ノード番号2)が、「助詞」である「は」でリンクされていることを表している。
形態素解析部12が辞書21を用いて入出力文を形態素解析することにより、上述した各データベースにおける各レコードの値が特定される。つまり、カテゴリ(入出力文全体)、親カテゴリ(入出力文全体)、意図、ノードリンク、ノード、ヨミ、カテゴリ(ノード単体)、親カテゴリ(ノード単体)、品詞、付属情報、および助詞、の値が特定される。
このように、ノードDBおよびノードリンクDBは、複数の入出力文における語と語の組み合わせを記憶したデータベースである。詳細は後述するが、関連語検索部13は、これらのデータベースから、未知語(または他の呼称を有する単語)と組み合わされている共用語を検出する。また、関連語検索部13は、これらのデータベースから、上記検出した共用語と組み合わされている既知語(呼称)を関連語(関連呼称)として検出する。
シナリオDB23は、応答文の生成に用いるシナリオを記憶したデータベースである。シナリオDB23は、様々な適用条件に応じたシナリオを検索できるデータ構造となっている。例えば、シナリオDB23は、各シナリオについて、そのシナリオの適用条件と、応答文のテンプレートとを対応付けたデータ構造であってもよい。上記適用条件は、入力文のカテゴリ、入力文に含まれる単語、および入力文に含まれる単語と関連した単語等に関する条件であってもよい。
また、シナリオの適用条件には、入力文に基づく条件(以下、入力文条件)と、過去の入出力文の記憶内容に基づく条件(以下、記憶条件)とが含まれていてもよい。この場合、シナリオ検索部15は、入力文条件を充足するか否かを、入力文の音声認識結果および形態素解析結果を参照して判定する。入力文条件は、例えば入力文全体のカテゴリが所定のカテゴリであり、かつ入力文に所定の単語が含まれているという条件であってもよい。なお、入力文が入力された日時、場所、および単語のカテゴリ等の少なくとも何れかが入力文条件に含まれていてもよい。また、この場合、シナリオ検索部15は、記憶条件を充足するか否かを、対話履歴DB22、ノードDB、およびノードリンクDBを参照して判定する。記憶条件は、所定のカテゴリの単語と、所定の単語とがリンクされているという条件であってもよい。この他、所定の単語と所定の単語がリンクされている、所定のカテゴリの単語と所定のカテゴリ(先の「所定のカテゴリ」と同じであってもよいし異なっていてもよい)の単語とがリンクされている等であってもよい。また、日時や場所等を記憶条件に含めてもよい。
例えば、下記のようなシナリオがシナリオDB23に含まれていたとする。
入力文条件:入力文のカテゴリが「果物・果物加工品」、かつ「赤い」との単語を含む。記憶条件:「果物・果物加工品」のカテゴリの単語が「赤い」との単語とリンク。
テンプレート:「<mNode1>も赤いね」
この場合、シナリオ検索部15は、入力文の音声認識結果および形態素解析結果から入力文が上記入力文条件を充足すると判定し、かつ対話履歴DB22、ノードDB、およびノードリンクDBから上記記憶条件も充足すると判定すればこのシナリオを検出する。例えば、ユーザが「リンゴは赤いね」と発話した場合、音声認識結果および形態素解析結果から、この発話に係る入力文は、カテゴリが「果物・果物加工品」であり、「赤い」を含むと判定される。つまり、シナリオ検索部15は、この入力文は上記シナリオの入力文条件を充足すると判定する。また、この場合に、対話履歴DB22に「イチゴは赤い」との文が記憶されていれば、ノードDBとノードリンクDBから、カテゴリが「果物・果物加工品」である単語と、「赤い」がリンクされていると判定される。つまり、シナリオ検索部15は、上記シナリオの記憶条件も充足されていると判定する。よって、シナリオ検索部15は、シナリオDB23からこのシナリオを検出する。そして、応答文生成部16は、このシナリオのテンプレートにおける<mNode1>の部分に、記憶条件の判定時に検出した単語(果物・果物加工品のカテゴリに属し、ノードリンクDBにおいて「赤い」とリンクされている単語)である「イチゴ」を挿入する。これにより、「イチゴも赤いね」との応答文が生成される。なお、対話履歴DB22に「さくらんぼが赤い」との文がさらに記憶されていた場合、「さくらんぼも赤いね」との応答文を生成することもできる。<mNode1>の部分に挿入可能な単語が複数検出された場合に、挿入する単語を決定する方法は予め定めておけばよい。
〔関連語の検索〕
共通の言葉とつながっている(組み合わせて用いられている)語はカテゴリも同一である可能性が高いと考えられるため、関連語検索部13は、未知語とつながっている語に基づいて、未知語とカテゴリが同一である可能性が高い関連語を検索する。これについて、図3に基づいて説明する。図3は、関連語の検索方法を説明する図である。
同図において楕円内には対話履歴DB22に記憶されている単語(形態素)とその形態素解析結果を記載している。また、楕円と楕円とを結ぶ線分は、該線分で結ばれた楕円内の単語が組み合わせて用いられたことを示し、この線分上の円内にはこれら単語を結ぶ助詞を記載している。この例では、「紅玉」のみが未知語であり、他の語は何れも既知語である。
図示の例において、「紅玉」は未知語である。また、「紅玉」は、「買う」、「赤い」、「甘い」と結ばれており、これらの単語と組み合わせて用いられている。よって、関連語検索部13は、まず、「紅玉」と組み合わせて用いられている語である共用語を、「買う」、「赤い」、「甘い」の3つであると特定する。
次に、関連語検索部13は、上記特定した共用語を有する他の語を検索する。関連語検索部13は、この検索により、「赤い」を共用語とする「リンゴ」、「イチゴ」、「飴」を検出すると共に、「甘い」を共用語とする「リンゴ」、「飴」を検出する。このうち、「イチゴ」は「紅玉」との共用語が「赤い」の1つのみであるから関連語とはしない。また、「飴」も共用語が1つのみであるから関連語とはしない。一方、「リンゴ」は、「紅玉」との共用語が複数(「赤い」と「甘い」)あるから関連語とする。言い換えれば、「リンゴ」は、「紅玉」と「赤い」および「甘い」という2つの性質を共有しているので、「紅玉」の関連語であるとされる。さらに言い換えれば、関連語検索部13は、未知語について複数種類の共用語を検出すると共に、当該複数種類の共用語のうち少なくとも2種類と組み合わせて用いられている既知語を関連語として検出する。
これにより、関連語検索部13は、「紅玉」の関連語として「リンゴ」を検出することができる。また、「リンゴ」は既知語であるから、「リンゴ」のカテゴリは特定することができる。そして、「リンゴ」と「紅玉」は共通の性質を有しているため、カテゴリも共通であると推測することができる。例えば、「リンゴ」のカテゴリが果物であった場合、「紅玉」のカテゴリも果物とみなすことができる。
なお、図2に示す各DBを用いて関連語を検出する方法を説明すれば以下の通りである。まず、関連語検索部13は、ノードDB(図2の(b))から「ノード」が「紅玉」となっているレコードを検出し、そのレコードから「紅玉」のノード番号を特定する。次に、関連語検索部13は、ノードリンクDB(図2の(c))から、上記特定したノード番号と対応付けられているノード番号を複数検出する。関連語検索部13は、これらのノード番号の語を共用語と特定する。
次に、関連語検索部13は、上記検出した複数のノード番号(共用語のノード番号)のそれぞれについて、ノードリンクDBにおいて、当該ノード番号と対応付けられているノード番号(関連語の候補となる語のノード番号)を検出する。そして、検出したノード番号のうち、共用語の複数のノード番号のうち少なくとも2つと組み合わされているノード番号を抽出する。なお、共用語のノード番号の1つと組み合わされているノード番号についても抽出の対象に加えてもよい。最後に、関連語検索部13は、上記抽出したノード番号のノードをノードDBから特定し、このノードの語を関連語として検出する。
よって、関連語検索部13を備える応答装置1は、未知語である「紅玉」について、果物のシナリオから応答文を生成することができ、ユーザとの自然な会話が実現される。例えば、「[果物]は冷やすとおいしいよね」というシナリオがあった場合、応答装置1は、ユーザの「紅玉」に関する入力文に対し、「紅玉は冷やすとおいしいよね」との応答文を返すことができる。
なお、図3の例において、「イチゴ」の共用語に「甘い」が含まれていた場合には、「イチゴ」と「紅玉」も2つの共用語を共有することになるから、「イチゴ」も関連語として検出される。また、図示していないが、「さくらんぼ」という名詞の共用語に「甘い」、「赤い」が含まれていた場合には、「さくらんぼ」も関連語として検出される。このように、複数の関連語を検出した場合であっても、各関連語のカテゴリが同じ(本実施形態では何れも「果物」)であれば、そのカテゴリをそのまま未知語のカテゴリとみなせばよい。
一方、図示の「飴」の共用語に「赤い」が含まれていた場合、「飴」も関連語として検出され得る。「飴」はカテゴリが「菓子」であり、「リンゴ」のカテゴリである「果物」とは相違する。このような場合、関連語検索部13は、「果物」のカテゴリの名詞と、「菓子」のカテゴリの名詞の中で、他に「紅玉」と共通の共有語を有するものを検索し、検出した名詞のカテゴリを適用すればよい。例えば、図示の例では、「果物」のカテゴリである「イチゴ」は、「紅玉」との共有語である「赤い」を有している。一方、「菓子」のカテゴリの単語は「飴」以外にない。よって、関連語検索部13は、「紅玉」のカテゴリとして「果物」を適用すればよい。なお、関連語のカテゴリを決定する処理は、シナリオ検索部15側で行うようにしてもよい。
このように、応答装置1は、自然会話の中によく出てくる、略語や新語等のような、カテゴリが特定できない未知語についても、カテゴリを推測して割り当てる。よって、適切なシナリオから応答文を生成することが可能になる。
〔関連名の検索〕
関連名の検索について、図4に基づいて説明する。図4は、関連名の検索方法を説明する図である。関連名の検索は、関連語の検索と概ね同様であるが、入出力文が発された時間帯および場所を考慮した検索を行う点で関連語の検索と相違している。
同図において楕円内には対話履歴DB22に記憶されている単語(形態素)とその形態素解析結果を記載している。また、楕円と楕円とを結ぶ線分は、該線分で結ばれた楕円内の単語が組み合わせて用いられたことを示し、この線分上の円内にはこれら単語を結ぶ助詞を記載している。さらに、楕円内の単語を含む入力文が応答装置1に入力された(出力文を応答装置1が出力した)時刻および場所を矩形内に記載している。
図示の例において、「お母さん」は人を表す普通名詞である。まず、関連語検索部13は、「お母さん」の共用語を、「イチゴ」、「選択する」、「料理する」の3つであると特定する。
次に、関連語検索部13は、上記特定した共用語を有し、発された場所および時間帯が「お母さん」を含む入力文と共通しており、人名を示す他の語を検索する。共用語が共通している呼称は、同一人物の呼称であると推察できる。さらに、その呼称を含む入出力文が発された場所および時間帯が、入力文が発された場所および時間帯と共通する場合には、それらの文が発されたシチュエーションも共通しているので、それらの文に含まれる呼称は、同一人物の呼称である可能性が高い。よって、上記の検索によれば、「お母さん」と同一人物の呼称を関連名として検出することができる。なお、関連名の検索条件として、場所および時間帯の何れか一方を用いてもよい。また、上記「人名を示す他の語」は、人名を示す固有名詞であってもよいし、人名を示す他の普通名詞であってもよい。さらに、人名を示すか否か、普通名詞であるか、固有名詞であるか等を検索条件に含めずに、広く名詞全般を関連名の検索対象としてもよい。
例えば、図示の例では、関連語検索部13は、「イチゴ」を共用語とする、人名を示す固有名詞「小百合」を検出する。また、図示の例では、「お母さん」が「洗濯する」との入力文が発された時刻が8:00、場所が自宅であり、「小百合」が「洗濯する」との入力文が発された時刻が8:30、場所が自宅である。よって、関連語検索部13は、これらの入力文が発された場所および時間帯が共通していると判定し、「洗濯する」も「小百合」と「お母さん」との共用語であると判定する。
なお、時間帯の区分は予め定めておけばよい。例えば、5:00〜10:00の時間帯を規定しておけば、8:00と8:30は何れもこの時間帯に含まれるので、時間帯が共通していると判定することができる。また、場所についても例えば緯度・経度の範囲により区分しておけばよい。例えば、「自宅」の緯度・経度の範囲を予め応答装置1に登録しておけば、入力文が入力されたときの応答装置1の位置を示す緯度・経度情報をGPS(Global Positioning System)等で取得することにより、当該入力が自宅で行われたか、他の場所で行われたかを判定することができる。無論、場所および時間帯が共通しているか否かを判定する方法は、これらの方法に限られず、例えば、時刻の差が所定時間以内であれば時間帯(時刻)が共通していると判定してもよい。同様に、緯度・経度の差が所定値以内であれば場所が共通していると判定してもよい。
さらに、関連語検索部13は、「料理する」も「洗濯する」と同様にして「小百合」と「お母さん」との共用語であると判定する。以上の処理により、関連語検索部13は、「お母さん」と共通の共用語を複数有する関連名として「小百合」を検出する。
なお、図2に示す各DBを用いて関連語を検出する方法を説明すれば以下の通りである。まず、関連語検索部13は、ノードDB(図2の(b))から「ノード」が「お母さん」となっているレコードを検出し、そのレコードから「お母さん」のノード番号を特定する。次に、関連語検索部13は、ノードリンクDB(図2の(c))から、上記特定したノード番号と対応付けられているノード番号を複数検出する。関連語検索部13は、これらのノード番号の語を共用語と特定する。また、関連語検索部13は、対話履歴DB22(図2(a))から、これらノード番号の語を含む入出力文が発された時間帯および場所を特定する。
次に、関連語検索部13は、上記検出した複数のノード番号(共用語のノード番号)のそれぞれについて、ノードリンクDBにおいて、当該ノード番号と対応付けられているノード番号(関連名の候補となる語のノード番号)を検出する。なお、検出対象は、上記特定した時間帯および場所で発された入出力文に含まれるノードのノード番号である。そして、検出したノード番号のうち、共用語の複数のノード番号のうち少なくとも2つと組み合わされているノード番号を抽出する。最後に、関連語検索部13は、上記抽出したノード番号のノードをノードDBから特定し、このノードの語を関連名として検出する。
〔関連名を特定することの意義〕
関連名を特定することにより、対話履歴DB22に記憶されている、その関連名を含む各入出力文に関連した応答文を生成することが可能になる。これについて、図5に基づいて説明する。図5は、「お母さん」と「小百合」が同一人物を示すとの推測に基づいて図4における各単語間の関連付けを再構築した図である。
「お母さん」と「小百合」が同一人物を示すとみなした場合、「お母さん」を含む入出力文は「小百合」についての入出力文でもあるとみなすことができ、同様に「小百合」を含む入出力文は「お母さん」についての入出力文でもあるとみなすことができる。例えば、図4に示したように、「小百合」は「温泉」が「好き」との入力文に基づいて、「お母さん」は「温泉」が「好き」であるとみなすことができる。これにより、入力文に「お母さん」が含まれる場合に、温泉が好きであることに関連した応答文を生成することが可能になる。例えば、「お母さんは、明日、お休みだよ」との入力文に対して、「お母さんの好きな温泉に行こう」との応答文を生成することも可能になる。よって、ユーザは、同一人物に対して固定の称呼を用いる必要がない。つまり、入力文の言葉を選ぶ際のユーザの負担を軽減することができる。
また、関連語検索部13は、人を表す普通名詞について関連名を検出した場合、当該普通名詞と関連名の対応付けを記憶しておくことが望ましい。これにより、同じ人物について同様の応答文を生成してユーザに冗長であると感じさせることを避けることができる。例えば、「お母さん」と「小百合」が同一人物である場合に、「お母さん、お誕生日おめでとう」との応答文を生成して出力した後で、「小百合さん、お誕生日おめでとう」との応答文をさらに生成して出力することを避けることができる。
〔処理の流れ(音声入力受付〜応答音声出力)〕
図6に基づいて応答装置1が実行する処理の流れ(応答装置の制御方法)を説明する。図6は、音声入力受付から応答音声出力までに応答装置1が実行する処理の一例を示すフローチャートである。
S1では、音声入力部30がユーザの発する音声、すなわちユーザが発話したメッセージの音声入力を受け付ける。この音声を音声認識部11が音声認識してテキストデータを生成する。そして、このテキストデータを形態素解析部12が形態素解析する。その結果は、上述のように対話履歴DB22等に記録される。また、音声入力を受け付けた時刻および場所についても併せて記録する。なお、場所は、例えばGPSを利用する等により特定することができる。
S2では、関連語検索部13は、上記形態素解析結果に未知語が含まれているか否かを判定する。ここで未知語が含まれていると判定した場合(S2でYES)、S3の処理に進み、未知語が含まれていないと判定した場合(S2でNO)、S11の処理に進む。
S3(検出ステップ)では、関連語検索部13は、S2で含まれていると判定した未知語の関連語を検索する。続くS4では、関連語検索部13は、上記検索によって関連語を検出したか否かを判定する。ここで検出したと判定した場合(S4でYES)、S5の処理に進み、検出していないと判定した場合(S4でNO)、S6の処理に進む。
S5では、シナリオ検索部15は、関連語検索部13が検出した関連語のカテゴリに属するシナリオを検索し、この後処理はS7に進む。また、詳細は図7に基づいて後述するが、S6では、カテゴリを推測した上でシナリオの検索が行われ、その後処理はS7に進む。
S7では、シナリオ検索部15は、シナリオを検出したか否かを判定する。ここでシナリオを検出したと判定した場合(S7でYES)、S8の処理に進み、検出しなかったと判定した場合(S7でNO)、S9の処理に進む。
S8(応答文生成ステップ)では、応答文生成部16は、シナリオ検索部15が検出したシナリオを用いて応答文を生成し、この後処理はS10に進む。S3の検索により関連語が検出されていれば、S8で生成する応答文の内容は、関連語に関連したものとなる。また、S12の処理において関連名が検出されていれば、S8で生成する応答文の内容は、関連名に関連したものとなる。
S9では、応答文生成部16は、シナリオが検出されなかった場合用に予め用意された応答文を生成し、この後処理はS10に進む。このような応答文は、例えばシナリオDB23等に予め登録しておけばよい。
S10では、音声合成部17は、応答文生成部16がS8またはS9で生成した応答文から音声データを合成し、合成した音声データを音声出力部40に出力させる。これにより、図示の処理は終了する。
S11では、関連語検索部13は、形態素解析結果に人を表す普通名詞が含まれているか否かを判定する。ここで人を表す普通名詞が含まれていると判定した場合(S11でYES)、S12の処理に進み、人を表す普通名詞が含まれていないと判定した場合(S11でNO)、S13の処理に進む。
詳細は図8に基づいて後述するが、S12では、上記普通名詞の関連名を検索した上でシナリオの検索が行われ、その後処理はS7に進む。一方、S13では、シナリオ検索部15は、形態素解析結果と、それに関連する入出力文(対話履歴DB22等に記憶)に基づいてシナリオを検索し、その後処理はS7に進む。S7以降の処理は上述した通りである。
〔処理の流れ(カテゴリ推測〜シナリオ検索)〕
図7に基づいて図6のS6の処理の詳細を説明する。図7は、未知語のカテゴリを推測した上でシナリオを検索する場合に応答装置1が実行する処理の一例を示すフローチャートである。
S21では、カテゴリ推測部14は、入力文における未知語の前後の文脈、または入力文が入力される直前に応答装置1が出力した出力文と当該入力文との文脈から未知語のカテゴリを推測(判定)する。具体的な判定方法は上述した通りである。続くS22では、カテゴリ推測部14は、カテゴリが推測(判定)できたか否かを判定し、推測(判定)できていれば(S22でYES)S23の処理に進み、推測(判定)できていなければ(S22でNO)S24の処理に進む。
S23では、シナリオ検索部15は、カテゴリ推測部14が推測したカテゴリでシナリオを検索し、この後処理は図6のS7に進む。一方、S24では、シナリオ検索部15は、入力文における未知語は未知語のままとしてシナリオを検索し、この後処理は図6のS7に進む。例えば、S24では、入力文全体のカテゴリや、入力文における未知語以外の語のカテゴリ等に関連したシナリオを検索してもよい。
〔処理の流れ(関連名検索〜シナリオ検索)〕
図8に基づいて図6のS12の処理の詳細を説明する。図8は、関連名を検索した上でシナリオを検索する場合に応答装置1が実行する処理の一例を示すフローチャートである。
S31(検出ステップ)では、関連語検索部13は、S11で含まれていると判定した普通名詞と使用時間および使用場所が共通する関連名を検索する。続くS32では、関連語検索部13は、上記検索によって関連名を検出したか否かを判定する。ここで検出したと判定した場合(S32でYES)、S33の処理に進み、検出していないと判定した場合(S32でNO)、S34の処理に進む。
S33では、シナリオ検索部15は、検出した関連名に関連するシナリオを検索し、この後処理は図6のS7に進む。例えば、S33では、シナリオ検索部15は、形態素解析結果、入力文の形態素を含む入出力文(対話履歴DB22等に格納)、関連名、および関連名を含む入出力文(対話履歴DB22等に格納)の少なくとも何れかに応じたシナリオを検索してもよい。例えば、入力文に人を表す名詞と「休み」との単語が含まれており、関連名を含む入出力文に「<関連名>は<C>が好き」(Cのカテゴリは地域)というものがある、という条件が対応付けられたシナリオがシナリオDB23に格納されていたとする。また、このシナリオのテンプレートが「<D>が好きな<C>へ行こう」であったとする(Dは入力文における人を表す名詞)。この場合、「お母さんは、明日、お休みだよ」との入力文が入力されると、シナリオ検索部15は上記のシナリオを検出し、これにより応答文生成部16が「お母さんが好きな<C>へ行こう」との応答文を生成することになる。
一方、S34では、シナリオ検索部15は、関連名を考慮することなくシナリオを検索し、この後処理は図6のS7に進む。例えば、S34では、形態素解析結果とそれに関連する過去の入出力文に応じたシナリオを検索してもよい。
〔実施形態2〕
上記実施形態では、応答文の内容を関連語に関連した内容とする例として、関連語のカテゴリで検出したシナリオを用いて応答文を生成する例を説明した。しかしながら、関連語を検出した場合に生成する応答文は、関連語に関連した内容の文であればよく、上述の例に限られない。例えば、「紅玉(未知語)が売っていたよ」との入力文に対し、「紅玉はリンゴ(関連語)の仲間ですか?」との応答文を生成する等のように、関連語を応答文に含めてもよい。また、上記の入力文に対して、「ボク、リンゴ(関連語)大好き」のように、未知語を関連語に置き換えた応答文を生成してもよい。
同様に、上記実施形態では、応答文の内容を関連名に関連した内容とする例として、関連名を主語として含む入出力文において、「好き」と助詞「が」でリンクされている単語を含む応答文を生成する例を説明した。しかしながら、関連名を検出した場合に生成する応答文は、関連名に関連した内容の文であればよく、上述の例に限られない。例えば、「お母さんと会ったよ」との入力文に対し、「お母さんとは小百合さんのことですか?」との応答文を生成する等のように、関連名を応答文に含めてもよい。
また、上記実施形態では、入力文に他の呼称を有する単語(具体例として人を表す普通名詞を例示)が含まれている場合に、関連名を検索する例を説明したが、入力文が上記単語を含まない場合であっても、当該単語に関連した文であれば関連名を検索してもよい。例えば、下記のシナリオがシナリオDB23に含まれていたとする。
入力文条件:入力文に「時間(タイミング)を示す語」と「休み」との単語を含む。
記憶条件:「家族を示す語」と、<mNode1>と、「好き」の単語とがリンク。
テンプレート:「家族を示す語」が好きな「<mNode1>に行こう」
そして、対話履歴DB22には「小百合」と「温泉」と「好き」のリンクが記憶されていて、「明日はお休みだよ」との入力文が入力されたとする。この入力文には人を表す普通名詞は含まれていない。
上記の例において、「小百合」が「家族を示す語」であるか否かは不明であるが、「家族を示す語」である「お母さん」の関連名を検索することによって、「小百合」との関連名が検出されれば、「小百合」が「家族を示す語」であるとみなすことができる。よって、上記の入力文に対して、「お母さんの好きな温泉に行こう」との応答文を生成することができる。
〔実施形態3〕
応答装置1は、ユーザと音声で対話する機能以外の機能についても備えていてもよい。例えば、応答装置1は、自立歩行機能等を備えた人型のロボットであってもよい。また、携帯電話機、スマートフォン、タブレット端末、パーソナルコンピュータ、家電機器(例えばテレビ、冷蔵庫、空気調和機、掃除機等)、カーナビゲーション装置等に上述の応答装置1の機能を持たせた機器も、本開示における「応答装置」の範疇に含まれる。本開示における「応答装置」は、家族など特定の人物が利用する装置であることが好ましい。
〔実施形態4〕
上記各実施形態の応答装置1の機能は、複数の装置を通信ネットワークで通信可能に接続してなる応答システムによって実現することもできる。この応答システムは、例えば、形態素解析部12、関連語検索部13、カテゴリ推測部14、シナリオ検索部15、応答文生成部16、および音声合成部17に相当する機能を備えたサーバ(応答装置)と、音声入力部30および音声出力部40を備えた音声入出力装置とを含む構成であってもよい。この場合、音声入出力装置がユーザの入力文の入力を受け付け、その入力文をサーバに送信する。そして、サーバがこの入力文に対する応答文を生成し、音声入出力装置に送信することにより、当該応答文が音声入出力装置から出力される。この応答システムでは、音声認識部11、形態素解析部12、および音声合成部17等を音声入出力装置側に持たせてもよい。また、複数のサーバを設けて、上記の各機能ブロックをそれらのサーバに分散して配置してもよい。
〔変形例〕
上記実施形態では、入力文に人を表す普通名詞が含まれている場合に、その関連名を検索する例を示したが、上記「人を表す普通名詞」は、任意の「他の呼称を有する単語」に置換できる。例えば、入力文に人を表す固有名詞が含まれている場合に、その関連名を検索してもよい。人を表す固有名詞にも、他の呼称があることが多いためである。また、例えば、人の名前以外にも物の名前やペットの名前にも応用できる。例えば、ある会話に含まれる固有名詞(名前)が動物と推論できたときに、その会話が発生した場所が自宅付近であればその固有名詞がペットの名前を示すとみなしてもよい。この場合、ペットというカテゴリのシナリオを用いた応答文や、ペットに関する対話履歴を用いた応答文を生成することも可能である。一方、その会話が発生した場所が自宅から離れているもしくは動物園であれば、その固有名詞を単に動物の名前とみなしてもよい。
対話履歴DB22は、応答装置1に対する入力文および応答装置1の出力文以外にも、様々な文を記憶していてもよい。例えば、書籍から取り込んだ文を記憶していてもよいし、インターネット上の様々な情報ソース(例えばニュースサイト等)から取り込んだ文を記憶していてもよい。ただし、応答内容が汎用化してしまわないようにするため、ニュースサイトや書籍から取り込む文は、「AはBだ」のような客観的な事実を示す文のみに留めることが好ましい。
〔ソフトウェアによる実現例〕
応答装置1の制御ブロック(特に関連語検索部13、カテゴリ推測部14、シナリオ検索部15、および応答文生成部16)は、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェアによって実現してもよい。
後者の場合、応答装置1は、各機能を実現するソフトウェアであるプログラムの命令を実行するCPU、上記プログラムおよび各種データがコンピュータ(またはCPU)で読み取り可能に記録されたROM(Read Only Memory)または記憶装置(これらを「記録媒体」と称する)、上記プログラムを展開するRAM(Random Access Memory)などを備えている。そして、コンピュータ(またはCPU)が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記コンピュータに供給されてもよい。なお、本発明の一態様は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
〔まとめ〕
本発明の態様1に係る応答装置は、入力文に対する応答文を生成する応答装置であって、当該応答装置が上記応答文の生成に用いる所定の情報が対応付けられていない語である未知語が上記入力文に含まれている場合に、同一文中で用いられる語である共用語が上記未知語と共通する既知語である関連語を検出する検出部と、上記検出部が検出した関連語に関連した内容の応答文を生成する応答文生成部と、を備えている構成である。
上記の構成によれば、入力文に未知語が含まれている場合に、関連語を検出して、該関連語に関連した内容の応答文を生成する。ここで、関連語は、共用語が未知語と共通であるから、未知語と語義やカテゴリ等が同一であるかまたは類似している可能性がある。そして、関連語は既知語であるから応答文の生成に用いる所定の情報(例えば語義やカテゴリ等)も既知である。よって、入力文に含まれる未知語の語義やカテゴリ等を加味してユーザの意に沿った応答文を生成することが可能になるという効果を奏する。
本発明の態様2に係る応答装置は、上記態様1において、上記検出部は、複数の文における語と語の組み合わせを記憶したデータベースから、上記未知語と組み合わされている上記共用語を検出すると共に、上記データベースから、上記共用語と組み合わされている既知語を上記関連語として検出する構成としてもよい。
同じ共用語と組み合わせて用いられている語は、語義やカテゴリ等が類似している可能性があるから、上記の構成によれば、入力文に含まれる未知語の語義やカテゴリ等に関連した応答文を生成することが可能になる。なお、上記データベースが、どのような文における語と語の組み合わせを記憶しているかは特に限定されないが、例えば過去に(上記入力文より前に)応答装置に入力された文、および過去に応答装置が出力した文における語と語の組み合わせを記憶したものであってもよい。また、上記データベースには、上記入力文における語と語の組み合わせも記憶されていてもよい。
本発明の態様3に係る応答装置は、上記態様2において、上記検出部は、複数の上記共用語を検出すると共に、複数の当該共用語のうち少なくとも2つと組み合わされている既知語を上記関連語として検出する構成としてもよい。
未知語と既知語とで共通する共用語の種類が多いほど、それらの語は語義やカテゴリ等が類似している可能性が高くなるので、上記の構成によれば、入力文に含まれる未知語の語義やカテゴリ等に関連した応答文を生成することができる確度を高めることができる。
本発明の態様4に係る応答装置は、上記態様1から3の何れか1態様において、上記検出部が上記関連語を検出できなかった場合に、上記入力文における上記未知語の上記共用語のカテゴリを、当該未知語のカテゴリであると判定するカテゴリ推測部をさらに備え、上記応答文生成部は、カテゴリ毎に予め記憶された複数のテンプレートのうち、上記カテゴリ推測部が判定したカテゴリと対応付けられたテンプレートを用いて上記応答文を生成する構成としてもよい。
未知語の共用語は、未知語とカテゴリが同じである可能性がある。よって、上記の構成によれば、未知語のカテゴリを正しく判定して、適切な内容の応答文を生成することが可能になる。
本発明の態様5に係る応答装置は、上記態様1から3の何れか1態様において、上記検出部が上記関連語を検出できなかった場合に、上記入力文が入力される直前に上記応答装置が出力した出力文のカテゴリから、当該未知語のカテゴリを判定するカテゴリ推測部をさらに備え、上記応答文生成部は、カテゴリ毎に予め記憶された複数のテンプレートのうち、上記カテゴリ推測部が判定したカテゴリと対応付けられたテンプレートを用いて上記応答文を生成する構成としてもよい。
出力文とその直後の入力文の内容には通常、関連性があり、このため、直前の出力文のカテゴリから、それに続く入力文のカテゴリを特定することが可能である。また、入力文のカテゴリが特定できれば、その入力文に含まれる未知語のカテゴリも特定できる場合がある。よって、上記の構成によれば、未知語のカテゴリを正しく判定して、適切な内容の応答文を生成することが可能になる。
本発明の態様6に係る応答装置は、ユーザの入力文に対する応答文を生成する応答装置であって、上記入力文に他の呼称を有する単語が含まれているか、上記入力文が当該単語に関連した文であるかの少なくとも何れかに該当する場合に、同一文中で用いられる語である共用語が上記単語と共通する呼称である関連呼称を検出する検出部と、上記検出部が検出した関連呼称に関連した内容の応答文を生成する応答文生成部と、を備えている構成である。
上記の構成によれば、入力文に他の呼称を有する単語が含まれている場合に、共用語が共通する呼称である関連呼称を検出して、該関連呼称に関連した内容の応答文を生成する。ここで、関連呼称は、共用語が上記単語と共通する呼称であるから、該単語の他の呼称である可能性がある。よって、入力文に含まれる単語の他の呼称を加味して、ユーザの意に沿った応答文を生成することが可能になるという効果を奏する。
本発明の態様7に係る応答装置は、上記態様6において、上記検出部は、複数の文における語と語の組み合わせと、当該文が発された場所および時間帯の少なくとも何れかと、を記憶したデータベースから、発された場所および時間帯の少なくとも何れかが上記入力文と共通する上記関連呼称を検出する構成としてもよい。
発された場所および時間帯の少なくとも何れかが入力文と共通する文で用いられている関連称呼は、入力文に含まれる単語の他の呼称である可能性が高いので、上記の構成によれば、より確度の高い関連呼称を検出することができる。そして、これにより、ユーザの意に沿った応答文を生成することができる確度を高めることができる。
本発明の態様8に係る応答装置の制御方法は、入力文に対する応答文を生成する応答装置の制御方法であって、当該応答装置が上記応答文の生成に用いる所定の情報が対応付けられていない語である未知語が上記入力文に含まれている場合に、同一文中で用いられる語である共用語が上記未知語と共通する既知語である関連語を検出する検出ステップと、上記検出ステップで検出した関連語に関連した内容の応答文を生成する応答文生成ステップと、を含む方法である。該方法によれば上記態様1と同様の効果を奏する。
本発明の態様9に係る応答装置の制御方法は、入力文に対する応答文を生成する応答装置の制御方法であって、上記入力文に他の呼称を有する単語が含まれているか、上記入力文が当該単語に関連した文であるかの少なくとも何れかに該当する場合に、同一文中で用いられる語である共用語が上記単語と共通する呼称である関連呼称を検出する検出ステップと、上記検出ステップで検出した関連呼称に関連した内容の応答文を生成する応答文生成ステップと、を含む方法である。該方法によれば上記態様5と同様の効果を奏する。
本発明の各態様に係る応答装置は、コンピュータによって実現してもよく、この場合には、コンピュータを上記応答装置が備える各部(ソフトウェア要素)として動作させることにより上記応答装置をコンピュータにて実現させる応答装置の制御プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。さらに、各実施形態にそれぞれ開示された技術的手段を組み合わせることにより、新しい技術的特徴を形成することができる。
1 応答装置
13 関連語検索部(検出部)
14 カテゴリ推測部
16 応答文生成部
22 対話履歴DB(データベース)

Claims (10)

  1. 入力文に対する応答文を生成する応答装置であって、
    当該応答装置が上記応答文の生成に用いる所定の情報が対応付けられていない語である未知語が上記入力文に含まれている場合に、同一文中で用いられる語である共用語が上記未知語と共通する既知語である関連語を検出する検出部と、
    上記検出部が検出した関連語に関連した内容の応答文を生成する応答文生成部と、を備えていることを特徴とする応答装置。
  2. 上記検出部は、複数の文における語と語の組み合わせを記憶したデータベースから、上記未知語と組み合わされている上記共用語を検出すると共に、上記データベースから、上記共用語と組み合わされている既知語を上記関連語として検出することを特徴とする請求項1に記載の応答装置。
  3. 上記検出部は、複数の上記共用語を検出すると共に、複数の当該共用語のうち少なくとも2つと組み合わされている既知語を上記関連語として検出することを特徴とする請求項2に記載の応答装置。
  4. 上記検出部が上記関連語を検出できなかった場合に、上記入力文における上記未知語の上記共用語のカテゴリを、当該未知語のカテゴリであると判定するカテゴリ推測部をさらに備え、
    上記応答文生成部は、カテゴリ毎に予め記憶された複数のテンプレートのうち、上記カテゴリ推測部が判定したカテゴリと対応付けられたテンプレートを用いて上記応答文を生成することを特徴とする請求項1から3の何れか1項に記載の応答装置。
  5. 上記検出部が上記関連語を検出できなかった場合に、上記入力文が入力される直前に上記応答装置が出力した出力文のカテゴリから、当該未知語のカテゴリを判定するカテゴリ推測部をさらに備え、
    上記応答文生成部は、カテゴリ毎に予め記憶された複数のテンプレートのうち、上記カテゴリ推測部が判定したカテゴリと対応付けられたテンプレートを用いて上記応答文を生成することを特徴とする請求項1から3の何れか1項に記載の応答装置。
  6. 入力文に対する応答文を生成する応答装置であって、
    上記入力文に他の呼称を有する単語が含まれているか、上記入力文が当該単語に関連した文であるかの少なくとも何れかに該当する場合に、同一文中で用いられる語である共用語が上記単語と共通する呼称である関連呼称を検出する検出部と、
    上記検出部が検出した関連呼称に関連した内容の応答文を生成する応答文生成部と、を備えていることを特徴とする応答装置。
  7. 上記検出部は、複数の文における語と語の組み合わせと、当該文が発された場所および時間帯の少なくとも何れかと、を記憶したデータベースから、発された場所および時間帯の少なくとも何れかが上記入力文と共通する上記関連呼称を検出することを特徴とする請求項6に記載の応答装置。
  8. 入力文に対する応答文を生成する応答装置の制御方法であって、
    当該応答装置が上記応答文の生成に用いる所定の情報が対応付けられていない語である未知語が上記入力文に含まれている場合に、同一文中で用いられる語である共用語が上記未知語と共通する既知語である関連語を検出する検出ステップと、
    上記検出ステップで検出した関連語に関連した内容の応答文を生成する応答文生成ステップと、を含むことを特徴とする応答装置の制御方法。
  9. 入力文に対する応答文を生成する応答装置の制御方法であって、
    上記入力文に他の呼称を有する単語が含まれているか、上記入力文が当該単語に関連した文であるかの少なくとも何れかに該当する場合に、同一文中で用いられる語である共用語が上記単語と共通する呼称である関連呼称を検出する検出ステップと、
    上記検出ステップで検出した関連呼称に関連した内容の応答文を生成する応答文生成ステップと、を含むことを特徴とする応答装置の制御方法。
  10. 請求項1または6に記載の応答装置としてコンピュータを機能させるための制御プログラムであって、上記検出部および上記応答文生成部としてコンピュータを機能させるための制御プログラム。
JP2018558806A 2016-12-27 2017-08-29 応答装置、応答装置の制御方法、および制御プログラム Active JP6810757B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2016253889 2016-12-27
JP2016253889 2016-12-27
PCT/JP2017/031012 WO2018123139A1 (ja) 2016-12-27 2017-08-29 応答装置、応答装置の制御方法、および制御プログラム

Publications (2)

Publication Number Publication Date
JPWO2018123139A1 true JPWO2018123139A1 (ja) 2019-10-31
JP6810757B2 JP6810757B2 (ja) 2021-01-06

Family

ID=62707066

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018558806A Active JP6810757B2 (ja) 2016-12-27 2017-08-29 応答装置、応答装置の制御方法、および制御プログラム

Country Status (4)

Country Link
US (1) US11062701B2 (ja)
JP (1) JP6810757B2 (ja)
CN (1) CN110168544A (ja)
WO (1) WO2018123139A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020071668A (ja) * 2018-10-31 2020-05-07 富士通株式会社 要約生成方法及び要約生成プログラム

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10585922B2 (en) * 2018-05-23 2020-03-10 International Business Machines Corporation Finding a resource in response to a query including unknown words
US11604831B2 (en) * 2018-06-08 2023-03-14 Ntt Docomo, Inc. Interactive device
US11056127B2 (en) * 2019-04-30 2021-07-06 At&T Intellectual Property I, L.P. Method for embedding and executing audio semantics
KR20210033837A (ko) * 2019-09-19 2021-03-29 삼성전자주식회사 전자 장치 및 이의 제어 방법
CN111694935A (zh) * 2020-04-26 2020-09-22 平安科技(深圳)有限公司 多轮问答的情绪确定方法、装置、计算机设备及存储介质
WO2023189521A1 (ja) * 2022-03-30 2023-10-05 ソニーグループ株式会社 情報処理装置および情報処理方法

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3161942B2 (ja) * 1995-06-14 2001-04-25 シャープ株式会社 訳振り機械翻訳装置
US6246989B1 (en) * 1997-07-24 2001-06-12 Intervoice Limited Partnership System and method for providing an adaptive dialog function choice model for various communication devices
US7711672B2 (en) * 1998-05-28 2010-05-04 Lawrence Au Semantic network methods to disambiguate natural language meaning
JP4543294B2 (ja) * 2000-03-14 2010-09-15 ソニー株式会社 音声認識装置および音声認識方法、並びに記録媒体
US6810376B1 (en) * 2000-07-11 2004-10-26 Nusuara Technologies Sdn Bhd System and methods for determining semantic similarity of sentences
US7124081B1 (en) * 2001-09-28 2006-10-17 Apple Computer, Inc. Method and apparatus for speech recognition using latent semantic adaptation
US20030105638A1 (en) * 2001-11-27 2003-06-05 Taira Rick K. Method and system for creating computer-understandable structured medical data from natural language reports
JP2003271593A (ja) * 2002-03-15 2003-09-26 Nippon Telegr & Teleph Corp <Ntt> 未知語属性確認型情報提供装置及び方法、プログラム並びに記録媒体
US8126713B2 (en) * 2002-04-11 2012-02-28 Shengyang Huang Conversation control system and conversation control method
JP2004334591A (ja) 2003-05-08 2004-11-25 Casio Comput Co Ltd 会話システム及び会話処理プログラム
US7689410B2 (en) * 2004-04-23 2010-03-30 Microsoft Corporation Lexical semantic structure
WO2005122016A1 (ja) * 2004-06-10 2005-12-22 Matsushita Electric Industrial Co., Ltd. 入力補助装置、情報検索装置、入力補助方法、及びプログラム
JP4301102B2 (ja) * 2004-07-22 2009-07-22 ソニー株式会社 音声処理装置および音声処理方法、プログラム、並びに記録媒体
JP2006039120A (ja) * 2004-07-26 2006-02-09 Sony Corp 対話装置および対話方法、並びにプログラムおよび記録媒体
US7765098B2 (en) * 2005-04-26 2010-07-27 Content Analyst Company, Llc Machine translation using vector space representations
US20070005701A1 (en) * 2005-06-30 2007-01-04 International Business Machines Corporation Synchronizing email content with IM content
JP4803709B2 (ja) * 2005-07-12 2011-10-26 独立行政法人情報通信研究機構 単語用法差異情報取得プログラム及び同装置
US8407040B2 (en) * 2008-02-29 2013-03-26 Sharp Kabushiki Kaisha Information processing device, method and program
US20120010870A1 (en) * 2010-07-09 2012-01-12 Vladimir Selegey Electronic dictionary and dictionary writing system
US8515736B1 (en) * 2010-09-30 2013-08-20 Nuance Communications, Inc. Training call routing applications by reusing semantically-labeled data collected for prior applications
CN102663129A (zh) * 2012-04-25 2012-09-12 中国科学院计算技术研究所 医疗领域深度问答方法及医学检索系统
US9037464B1 (en) * 2013-01-15 2015-05-19 Google Inc. Computing numeric representations of words in a high-dimensional space
US10102845B1 (en) * 2013-02-25 2018-10-16 Amazon Technologies, Inc. Interpreting nonstandard terms in language processing using text-based communications
US9171542B2 (en) * 2013-03-11 2015-10-27 Nuance Communications, Inc. Anaphora resolution using linguisitic cues, dialogue context, and general knowledge
US9189742B2 (en) * 2013-11-20 2015-11-17 Justin London Adaptive virtual intelligent agent
RU2592395C2 (ru) * 2013-12-19 2016-07-20 Общество с ограниченной ответственностью "Аби ИнфоПоиск" Разрешение семантической неоднозначности при помощи статистического анализа
US10055402B2 (en) * 2014-03-17 2018-08-21 Accenture Global Services Limited Generating a semantic network based on semantic connections between subject-verb-object units
JP2016080981A (ja) * 2014-10-21 2016-05-16 トヨタ自動車株式会社 応答生成装置、応答生成方法及び応答生成プログラム
WO2016067418A1 (ja) * 2014-10-30 2016-05-06 三菱電機株式会社 対話制御装置および対話制御方法
KR20160056548A (ko) * 2014-11-12 2016-05-20 삼성전자주식회사 질의 응답을 위한 디스플레이 장치 및 방법
CN104516986B (zh) * 2015-01-16 2018-01-16 青岛理工大学 一种语句识别方法及装置
CN104679910A (zh) * 2015-03-25 2015-06-03 北京智齿博创科技有限公司 智能应答方法及系统
JP6583686B2 (ja) * 2015-06-17 2019-10-02 パナソニックIpマネジメント株式会社 意味情報生成方法、意味情報生成装置、およびプログラム
US10606946B2 (en) * 2015-07-06 2020-03-31 Microsoft Technology Licensing, Llc Learning word embedding using morphological knowledge
JP2017049471A (ja) * 2015-09-03 2017-03-09 カシオ計算機株式会社 対話制御装置、対話制御方法及びプログラム
US20170103059A1 (en) * 2015-10-08 2017-04-13 International Business Machines Corporation Method and system for preserving sensitive information in a confidential document
US20170118269A1 (en) * 2015-10-21 2017-04-27 Qualcomm Incorporated Dynamic adjustment of connection settings based on per-ue system status and usage information
US10843080B2 (en) * 2016-02-24 2020-11-24 Virginia Tech Intellectual Properties, Inc. Automated program synthesis from natural language for domain specific computing applications
CA3093066A1 (en) * 2018-03-08 2019-09-12 Frontive, Inc. Methods and systems for speech signal processing
JP7132090B2 (ja) * 2018-11-07 2022-09-06 株式会社東芝 対話システム、対話装置、対話方法、及びプログラム
KR20200084260A (ko) * 2019-01-02 2020-07-10 삼성전자주식회사 전자 장치 및 이의 제어 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020071668A (ja) * 2018-10-31 2020-05-07 富士通株式会社 要約生成方法及び要約生成プログラム

Also Published As

Publication number Publication date
CN110168544A (zh) 2019-08-23
WO2018123139A1 (ja) 2018-07-05
JP6810757B2 (ja) 2021-01-06
US20200090645A1 (en) 2020-03-19
US11062701B2 (en) 2021-07-13

Similar Documents

Publication Publication Date Title
JP6810757B2 (ja) 応答装置、応答装置の制御方法、および制御プログラム
US11669918B2 (en) Dialog session override policies for assistant systems
US10650815B2 (en) Voice interaction device, voice interaction method, voice interaction program, and robot
US10176804B2 (en) Analyzing textual data
CN107797984B (zh) 智能交互方法、设备及存储介质
US11030400B2 (en) System and method for identifying and replacing slots with variable slots
JP2022551788A (ja) 補助システムのためのプロアクティブコンテンツを生成すること
US11915693B2 (en) System and method for rule based modifications to variable slots based on context
CN112236766A (zh) 用个性化和上下文的通信内容帮助用户
US11861315B2 (en) Continuous learning for natural-language understanding models for assistant systems
US10755177B1 (en) Voice user interface knowledge acquisition system
US11586689B2 (en) Electronic apparatus and controlling method thereof
US20180068659A1 (en) Voice recognition device and voice recognition method
JP6370962B1 (ja) 生成装置、生成方法および生成プログラム
JP6927318B2 (ja) 情報処理装置、情報処理方法、及びプログラム
US20220374645A1 (en) Task Execution Based on Real-world Text Detection for Assistant Systems
JP2019139574A (ja) 情報提供装置、情報提供方法、およびプログラム
CN110457454A (zh) 一种对话方法、服务器、对话系统及存储介质
JP2020027548A (ja) キャラクタ属性に応じた対話シナリオを作成するプログラム、装置及び方法
CN111508497B (zh) 语音识别方法、装置、电子设备及存储介质
TW202301080A (zh) 輔助系統的多裝置調解
WO2022143349A1 (zh) 一种确定用户意图的方法及装置
JP2019082987A (ja) 情報処理方法、情報処理装置およびプログラム
CN113743126B (zh) 一种基于用户情绪的智能交互方法和装置
CN115017282A (zh) 一种回复信息推荐方法、装置、存储介质及电子设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190520

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200609

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200806

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201211

R150 Certificate of patent or registration of utility model

Ref document number: 6810757

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150