(57)【要約】【課題】自動生成された別名やシステム管理者が入力した別名を、それらの登録を有効とするか否かも含めて統合的に管理できる登録語管理装置、音声対話システム、登録語管理方法およびプログラムを提供する。【解決手段】実施形態の登録語管理装置は、語句データベースに登録されている正式名称を言い換えた語句である別名を自動生成し、生成した別名を登録候補として語句データベースに記録する別名生成部と、語句データベースに記録されている別名を、該別名が自動生成されたものであるかユーザが入力したものであるかを識別可能に、かつ、該別名の登録を有効とするか無効とするかを切り替え可能にユーザに提示する登録語管理画面を表示し、登録語管理画面に対するユーザ操作を受け付けて操作内容を語句データベースに反映させるＵＩ制御部と、を備える。【選択図】図１
2019191646.tif 000002
【特許請求の範囲】
【請求項１】
音声対話システムで用いられる語句データベースの登録語を管理する登録語管理装置であって、
前記語句データベースに登録されている正式名称を言い換えた語句である別名を自動生成し、生成した別名を登録候補として前記語句データベースに記録する別名生成部と、
前記語句データベースに記録されている別名を、該別名が自動生成されたものであるかユーザが入力したものであるかを識別可能に、かつ、該別名の登録を有効とするか無効とするかを切り替え可能にユーザに提示する登録語管理画面を表示し、前記登録語管理画面に対するユーザ操作を受け付けて操作内容を前記語句データベースに反映させるＵＩ制御部と、を備える登録語管理装置。
【請求項２】
前記登録語管理画面は、前記別名生成部により生成された別名については、該別名の重要性を表すスコアをさらに提示する、請求項１に記載の登録語管理装置。
【請求項３】
前記登録語管理画面は、前記語句データベースに登録する別名をユーザが入力するための画面パーツを有する、請求項１または２に記載の登録語管理装置。
【請求項４】
前記登録語管理画面は、前記語句データベースに登録する正式名称をユーザが入力するための画面パーツを有する、請求項１乃至３のいずれか一項に記載の登録語管理装置。
【請求項５】
前記別名生成部は、前記音声対話システムの対話ログを解析して別名を自動生成する、請求項１乃至４のいずれか一項に記載の登録語管理装置。
【請求項６】
前記別名生成部は、語句データベースに登録されている正式名称に対して予め定めた別名生成ルールを適用して別名を自動生成する、請求項１乃至５のいずれか一項に記載の登録語管理装置。
【請求項７】
前記別名生成部は、語句データベースに登録されている正式名称を言語解析して別名を自動生成する、請求項１乃至６のいずれか一項に記載の登録語管理装置。
【請求項８】
請求項１乃至７のいずれか一項に記載の登録語管理装置と、
前記語句データベースと、
前記語句データベースを用いて対話処理を行う対話処理部と、を備える音声対話システム。
【請求項９】
音声対話システムで用いられる語句データベースの登録語を管理する登録語管理方法であって、
前記語句データベースに登録されている正式名称を言い換えた語句である別名を自動生成し、生成した別名を登録候補として前記語句データベースに記録するステップと、
前記語句データベースに記録されている別名を、該別名が自動生成されたものであるかユーザが入力したものであるかを識別可能に、かつ、該別名の登録を有効とするか無効とするかを切り替え可能にユーザに提示する登録語管理画面を表示するステップと、
前記登録語管理画面に対するユーザ操作を受け付けて操作内容を前記語句データベースに反映させるステップと、を含む登録語管理方法。
【請求項１０】
コンピュータに、
語句データベースに登録されている正式名称を言い換えた語句である別名を自動生成し、生成した別名を登録候補として前記語句データベースに記録する機能と、
前記語句データベースに記録されている別名を、該別名が自動生成されたものであるかユーザが入力したものであるかを識別可能に、かつ、該別名の登録を有効とするか無効とするかを切り替え可能にユーザに提示する登録語管理画面を表示する機能と、
前記登録語管理画面に対するユーザ操作を受け付けて操作内容を前記語句データベースに反映させる機能と、を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、登録語管理装置、音声対話システム、登録語管理方法およびプログラムに関する。
【背景技術】
【０００２】
音声対話システムは、エンドユーザとの対話を通じて、所定の目的を達成するために必要な情報を獲得する。例えばスロットフィル型の音声対話システムでは、様々な語句が登録された語句データベースを参照し、目的とするアプリケーションの実行に必要な項目の情報として当てはまる語句をエンドユーザの発話から抽出して、項目ごとのスロットに埋めていく。このとき、語句が指し示す対象の正式名称だけでなく、その正式名称を言い換えた別名（通称、略称など）を、正式名称と対応付けたかたちで語句データベースに登録しておけば、エンドユーザが別名を発話した場合でも、その別名を正式名称に置き換えてスロットに埋めることができ、スムーズな対話を実現できる。
【０００３】
音声対話システムで用いられる語句データベースは、一般的に、システム管理者が専用ツールを用いて汎用のものをカスタマイズできる構成となっている。システム管理者は、この専用ツールを用い、アプリケーションに応じて必要となる語句の正式名称やその別名などを対応付けて、語句データベースに追加登録することができる。なお、別名については、予め定めたルールに従って正式名称から略称などを自動生成する技術も提案されている。
【０００４】
しかし、語句データベースに登録される別名は、必ずしもシステムの性能を高める上で有効となるとは限らない。例えば、登録された別名の読みが他の正式名称の読みに類似している場合、実際にシステムを稼働させると、この別名と他の正式名称との混同が生じてシステムの性能が却って低下することがある。また、自動生成された別名が、実際にはエンドユーザがほとんど発話することがないものである場合もある。こうした観点から、自動生成された別名やシステム管理者が入力した別名を、それらの登録を有効とするか否かも含めて統合的に管理できる仕組みの構築が求められている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−１８１４４２号公報
【特許文献２】特開２００８−７７３３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明が解決しようとする課題は、自動生成された別名やシステム管理者が入力した別名を、それらの登録を有効とするか否かも含めて統合的に管理できる登録語管理装置、音声対話システム、登録語管理方法およびプログラムを提供することである。
【課題を解決するための手段】
【０００７】
実施形態の登録語管理装置は、音声対話システムで用いられる語句データベースの登録語を管理する登録語管理装置であって、別名生成部と、ＵＩ制御部と、を備える。別名生成部は、前記語句データベースに登録されている正式名称を言い換えた語句である別名を自動生成し、生成した別名を登録候補として前記語句データベースに記録する。ＵＩ制御部は、前記語句データベースに記録されている別名を、該別名が自動生成されたものであるかユーザが入力したものであるかを識別可能に、かつ、該別名の登録を有効とするか無効とするかを切り替え可能にユーザに提示する登録語管理画面を表示し、前記登録語管理画面に対するユーザ操作を受け付けて操作内容を前記語句データベースに反映させる。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施形態に係る音声対話システムの機能的な構成例を示すブロック図である。
【図２】図２は、語句データベースの構成例を説明する図である。
【図３】図３は、別名生成部のログ解析による生成機能の処理手順を示すフローチャートである。
【図４】図４は、別名生成部のルールによる生成機能の処理手順を示すフローチャートである。
【図５】図５は、別名生成部の言語解析による生成機能の処理手順を示すフローチャートである。
【図６】図６は、ＵＩ制御部が表示する登録語管理画面の一例を示す図である。
【図７】図７は、ＵＩ制御部の処理手順を示すフローチャートである。
【図８】図８は、実施形態に係る音声対話システムのハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【０００９】
以下、実施形態の登録語管理装置、音声対話システム、登録語管理方法およびプログラムについて、図面を参照しながら詳細に説明する。なお、以下で示す実施形態はスロットフィル型の音声対話システムへの適用例であるが、適用可能な音声対話システムはこれに限らず、対話処理に必要な語句が登録された語句データベース（以下、データベースを「ＤＢ」と略称する）を用いて対話処理を行うあらゆるタイプの音声対話システムに適用できる。また、以下で示す実施形態では、エンドユーザとの対話を音声で行うものとするが、エンドユーザに対するシステムからの応答は、音声の出力とテキストの表示を組み合わせて行ってもよいし、テキストの表示のみで行ってもよい。
【００１０】
図１は、本実施形態に係る音声対話システム１の機能的な構成例を示すブロック図である。この音声対話システム１は、図１に示すように、対話処理部１０と、対話知識ＤＢ２０と、対話ログＤＢ３０と、語句ＤＢ４０とを備える。また、この音声対話システム１は、語句ＤＢに登録された語句（登録語）を管理するための機能として、別名生成部１１０およびＵＩ（ユーザインタフェース）制御部１２０を備える。別名生成部１１０およびＵＩ制御部１２０は、本実施形態に係る登録語管理装置１００を構成する。この登録語管理装置１００は、例えば、音声対話システム１を管理するシステム管理者が使用する専用の管理ツールとして、音声対話システム１に組み込まれる。
【００１１】
対話処理部１０は、例えば、音声認識エンジン、意図理解エンジン、対話制御エンジン、音声合成エンジンなどの音声対話で必要とされる各種タスクを実行する各種エンジンを含み、対話知識ＤＢ２０および語句ＤＢ４０を適宜利用しながら、エンドユーザとの間の音声による対話処理を行う。そして、対話処理部１０は、エンドユーザとの対話を通じて、目的とするアプリケーションの実行に必要な項目の情報を獲得する。例えば、目的とするアプリケーションが「商談記録」であれば、「訪問日時」、「訪問先」、「次回予定日」、「特記事項」などの各項目の情報が獲得すべき情報となる。また、目的とするアプリケーションが「宿泊予約」であれば、「チェックイン予定日時」、「チェックアウト予定日時」、「宿泊人数」、「宿泊プラン」などの各項目の情報が獲得すべき情報となる。
【００１２】
対話処理部１０がエンドユーザとの対話を通じて獲得した情報は、スロットテーブル５０内の対応する項目のスロット５１に埋められる。スロットテーブル５０は、目的とするアプリケーションの実行に必要な項目ごとの情報（項目値）が埋められるスロット５１を有する。スロットテーブル５０の各スロット５１が埋まると、そのスロットテーブル５０に基づいて、目的とするアプリケーションが実行される。例えば、目的とするアプリケーションが「商談記録」であれば、商談記録が例えば外部システムなどに登録され、目的とするアプリケーションが「宿泊予約」であれば宿泊予約クエリが実行される。
【００１３】
スロットテーブル５０は、エンドユーザとの対話によって目的とするアプリケーションが特定されることに応じて、そのアプリケーションに対応するテンプレートに基づいて作成される。テンプレートは、アプリケーションの実行に必要な項目ごとに、項目番号（スロット番号）と、項目名と、その項目のスロット５１の種類とを定義する。スロット５１の種類には、例えば、日時の情報が埋められる日時型、予め定められた選択肢の中から選ばれた語句が埋められる選択肢型、自然文が埋められる自由記述型などがある。スロット５１の種類が選択肢型の項目については、さらに、スロット５１に埋められる語句の選択肢がテンプレートにより定義される。テンプレートは、例えばシステム管理者により適宜作成され、対話知識の一つとして対話知識ＤＢ２０に格納される。
【００１４】
対話処理部１０は、例えば、対話知識の一つとして対話知識ＤＢ２０に格納されている対話シナリオに基づいて、エンドユーザとの対話を制御する。そして、エンドユーザの発話を音声認識して得られる認識結果テキストから、スロットテーブル５０の各スロット５１に埋める情報を獲得する。例えば選択肢型のスロット５１については、テンプレートで定義された選択肢のいずれかに当てはまる語句を認識結果テキストから抽出する。例えば、認識結果テキストに含まれる各語句の認識スコア、各語句の出現順やスロット５１の項目名との関係、認識スロットに含まれる語句の読みと各選択肢として定義されている語句の読みとの一致度などを手掛かりとして、選択肢型のスロット５１に埋める語句を認識結果テキストから抽出することができる。
【００１５】
選択肢型のスロット５１に埋められる語句の選択肢としてテンプレートにより定義された語句は、語句ＤＢ４０に正式名称として登録されている。語句ＤＢ４０には、音声対話システム１が扱う様々な単語やフレーズなど（本実施形態ではこれらを総称して「語句」と呼ぶ）が登録されている。語句ＤＢ４０は、それぞれの語句が指し示す対象の正式名称に加えて、その正式名称を言い換えた語句である別名を、正式名称と対応付けたかたちで登録可能である。語句ＤＢ４０に登録される別名は、後述の別名生成部１１０により自動生成される別名や、後述の登録語管理画面を通じてシステム管理者（ユーザ）により入力された別名を含む。上述の選択肢としてテンプレートにより定義された語句（正式名称）の別名が語句ＤＢ４０に登録されていれば、エンドユーザがその別名を発話した場合であっても、その音声認識テキストから別名を抽出して正式名称に置き換え、選択肢型のスロット５１に埋めることができる。
【００１６】
なお、語句ＤＢ４０は、エンドユーザの発話を音声認識して得られる認識結果テキストからスロット５１を埋める語句を抽出するためだけでなく、エンドユーザの発話を音声認識する際の辞書としても利用できる。
【００１７】
対話処理部１０は、エンドユーザとの間の一連の対話を通じて、目的とするアプリケーションの実行に必要な各項目の情報（スロットテーブル５０の各スロット５１に埋められる語句）をエンドユーザの発話（認識結果テキスト）から獲得する。このとき、エンドユーザの１回の発話に複数の項目の情報が含まれていれば、対話処理部１０は、エンドユーザの１回の発話からスロットテーブル５０の複数のスロット５１に埋める情報を一度に獲得することが可能である。そして、情報が未確定のスロット５１があれば、対話処理部１０は、対話シナリオに基づいてそのスロット５１に埋めるべき情報の問い合わせなどを行い、スロットテーブル５０の各スロット５１に埋める情報を逐次獲得していく。こうした対話処理部１０によるエンドユーザとの対話の履歴は、対話ログとして対話ログＤＢ３０に記録される。
【００１８】
対話知識ＤＢ２０は、上述の対話シナリオやテンプレートのほか、対話処理部１０がエンドユーザとの間で適切な対話処理を実施するために有用な様々な対話知識を格納する。
【００１９】
対話ログＤＢ３０は、上述のように、対話処理部１０とエンドユーザとの対話の履歴を記録した対話ログを格納する。この対話ログＤＢ３０に格納された対話ログは、後述の別名生成部１１０が別名を自動生成する際に利用される。また、この対話ログＤＢ３０に格納された対話ログは、対話知識ＤＢ２０に格納された対話知識を更新するために利用することもできる。例えば、対話がスムーズに行われていない事象を対話ログから抽出し、スムーズな対話を阻害する要因を特定して、スムーズな対話を実現できるように対話知識を更新する。この処理は、システム管理者などの操作によって行うだけでなく、例えばニューラルネットワークの技術を利用して自動で行うこともできる。
【００２０】
語句ＤＢ４０は、上述のように、音声対話システム１が扱う様々な語句を格納する。図２は、語句ＤＢ４０の構成例を説明する図である。語句ＤＢ４０は、例えば図２に示すように、正式名称マスタ４１と、種別マスタ４２と、別名テーブル４３とを含む。
【００２１】
正式名称マスタ４１は、語句ＤＢ４０に登録された正式名称を管理するためのテーブルであり、語句ＤＢ４０に登録された正式名称ごとに、各正式名称に割当てられた固有のＩＤ（正式名称ＩＤ）とその正式名称の表記および読みとを対応付けて格納する。語句ＤＢ４０に登録された正式名称には、システム導入前に汎用の語句として登録されたもののほか、システム導入時やシステム導入後に、例えばシステム管理者の操作によって追加登録されたものが含まれる。正式名称の追加登録は、例えば上述のテンプレート作成時にテンプレート作成用の専用ツールを用いて行うこともできるし、後述の登録語管理画面上の操作を通じて行うこともできる。例えば、システム管理者などの操作に応じて正式名称マスタ４１に新たな正式名称に対応するレコードを追加することで、語句ＤＢ４０に正式名称が追加登録される。
【００２２】
種別マスタ４２は、語句ＤＢ４０に登録する別名（登録候補の別名を含む）の種別を管理するためのテーブルである。本実施形態では一例として、語句ＤＢ４０に登録する別名を、後述の別名生成部１１０により自動生成される別名（「システム提案」の別名）と、後述の登録語管理画面上でシステム管理者が入力した別名（「ユーザ入力」の別名）との２種類に分類し、さらに、「システム提案」の別名を、ルールによる自動生成、対話ログ解析による自動生成、言語解析による自動生成の３種類に分類する。種別マスタ４２は、これら各種別に割当てられた固有のＩＤ（種別ＩＤ）とその種別とを対応付けて格納する。
【００２３】
別名テーブル４３は、語句ＤＢ４０に登録された別名（登録候補の別名を含む）を管理するためのテーブルであり、登録候補の別名として語句ＤＢ４０に記録された別名ごとに、各別名に割当てられた固有のＩＤと、その別名に対応する正式名称を識別する正式名称ＩＤと、その別名の表記および読みと、その別名の種別を識別する種別ＩＤと、その別名の重要性を表すスコアと、その別名の登録が有効か無効かを示す有効フラグとを対応付けて格納する。スコアは、「システム提案」の別名（種別ＩＤが１〜３の別名）に対して後述の別名生成部１１０により算出される。有効フラグは、例えば「システム提案」の別名については初期値が無効を表す「false」、「ユーザ入力」の別名については初期値が有効を表す「true」に設定され、後述の登録語管理画面上のシステム管理者による操作に応じて切り替え可能とされる。後述の別名生成部１１０により新たな別名が自動生成された場合や、システム管理者が後述の登録語管理画面上で新たな別名を追加する操作を行った場合は、別名テーブル４３にその新たな別名に対応するレコードが追加され、その新たな別名が登録候補の別名として語句ＤＢ８０に記録される。
【００２４】
本実施形態に係る音声対話システム１では、語句ＤＢ４０の登録語（正式名称や別名）が登録語管理装置１００により管理される。登録語管理装置１００は、システム管理者が正式名称や別名を入力する操作を行った場合や、登録候補の別名を自動生成した場合に、語句ＤＢ４０の正式名称マスタ４１や別名テーブル４３を更新し、語句ＤＢ４０の登録語を管理する。この登録語管理装置１００は、上述のように、別名生成部１１０とＵＩ制御部１２０とを備える。
【００２５】
別名生成部１１０は、登録されている正式名称の別名を自動生成し、登録候補の別名として語句ＤＢ４０に記録する。この別名生成部１１０は、種別マスタ４２で定義されている別名の種別のうちの「システム提案」の３種類の種別に応じて、ログ解析による生成機能１１１と、ルールによる生成機能１１２と、言語解析による生成機能１１３とを含む。
【００２６】
ログ解析による生成機能１１１は、対話ログＤＢ３０に格納されている対話ログを解析することにより登録候補の別名を自動生成する機能である。ログ解析による生成機能１１１は、例えば、対話ログを解析することで、一つのスロット５１を埋めるためにエンドユーザが複数回発話している箇所、つまり、エンドユーザが言い回しを変えながら繰り返し発話した箇所を特定する。そして、スロット５１に埋められなかった語句（スロットフィルに失敗した語句）を登録候補の別名として抽出し、語句ＤＢ４０に記録する。
【００２７】
具体的には、ログ解析による生成機能１１１は、語句ＤＢ４０の別名テーブル４３に新たなレコードを追加し、自動生成した別名のＩＤと、その別名に対応する正式名称（上述のスロット５１に埋められた語句）の正式名称ＩＤと、その別名の表記および読みと、その別名の種別が対話ログ解析による自動生成であることを示す種別ＩＤ（＝３）とを対応付けて格納する。また、ログ解析による生成機能１１１は、対話ログから抽出した別名の重要性を表すスコアを算出し、別名テーブル４３に併せて格納する。スコアは、例えば、その登録候補の別名が対話ログの中で出現した回数（スロットフィルに失敗した回数）が多いほど高い値とするなど、対話ログの解析結果に基づいて算出することができる。なお、有効フラグは、例えば無効を表す「false」が初期値として設定されるが、有効を表す「true」を初期値として設定してもよい。
【００２８】
図３は、別名生成部１１０のログ解析による生成機能１１１の処理手順を示すフローチャートである。ログ解析による生成機能１１１は、例えば、音声対話システム１の処理負荷が低くなる時間帯などの予め定めたタイミングで図３のフローチャートで示す一連の処理を実行し、登録候補の別名を自動生成する。
【００２９】
すなわち、ログ解析による生成機能１１１は、対話ログＤＢ３０から対話ログを取得し（ステップＳ１０１）、取得した対話ログの中で、同一スロット５１を埋めるのにエンドユーザの複数回の発話が行われた箇所を探す（ステップＳ１０２）。そして、複数回の発話が行われた箇所がなければ（ステップＳ１０３：Ｎｏ）、そのまま処理を終了する。一方、複数回の発話が行われた箇所があれば（ステップＳ１０３：Ｙｅｓ）、その箇所においてスロットフィルに失敗した語句を、登録候補の別名として語句ＤＢ４０に記録し（ステップＳ１０４）、処理を終了する。このとき、ステップＳ１０２の処理で複数回の発話が行われた箇所が複数見つかった場合は、ログ解析による生成機能１１１は、それぞれの箇所においてステップＳ１０４の処理を実施して、処理を終了する。
【００３０】
ルールによる生成機能１１２は、語句ＤＢ４０に登録されている正式名称に対して予め定めた別名生成ルールを適用することにより登録候補の別名を自動生成する機能である。別名生成ルールは、例えば、正式名称として登録されている語句が「株式会社」で終わっている場合はこれを削除するといった語句の変換ルールや、正式名称として登録されている語句が製品名であれば製品番号に置き換えるといった語句の変換ルールなどを含むルール群で構成される。ルールによる生成機能１１２は、別名生成の対象となる正式名称に対してこれらの変換ルールを順次適用し、別名が生成されるとそれを登録候補の別名として語句ＤＢ４０に記録する。
【００３１】
具体的には、ルールによる生成機能１１２は、語句ＤＢ４０の別名テーブル４３に新たなレコードを追加し、自動生成した別名のＩＤと、その別名に対応する正式名称の正式名称ＩＤと、その別名の表記および読みと、その別名の種別がルールによる自動生成であることを示す種別ＩＤ（＝１）とを対応付けて格納する。また、ルールによる生成機能１１２は、別名生成ルールの適用により生成した別名の重要性を表すスコアを算出し、別名テーブル４３に併せて格納する。スコアは、例えば、その別名を生成するために適用されたルールごとに予め定めておくことができる。なお、有効フラグは、例えば無効を表す「false」が初期値として設定されるが、有効を表す「true」を初期値として設定してもよい。
【００３２】
図４は、別名生成部１１０のルールによる生成機能１１２の処理手順を示すフローチャートである。ルールによる生成機能１１２は、語句ＤＢ４０に登録されている正式名称のうち、システム管理者の操作によって新たに追加登録された正式名称など、過去に別名生成ルールを適用して別名を自動生成していない正式名称を対象として、例えば、音声対話システム１の処理負荷が低くなる時間帯などの予め定めたタイミングで図４のフローチャートで示す一連の処理を実行し、登録候補の別名を自動生成する。
【００３３】
すなわち、ルールによる生成機能１１２は、語句ＤＢ４０に登録されている正式名称のうち、過去に別名生成ルールを適用した別名の自動生成を行っていない正式名称を一つ取得する（ステップＳ２０１）。そして、ステップＳ２０１で取得した正式名称に対して、別名生成ルールを構成するルール群の一つを適用して別名の生成処理を行い（ステップＳ２０２）、別名が生成された場合は（ステップＳ２０３：Ｙｅｓ）、それを登録候補の別名として語句ＤＢ４０に記録する（ステップＳ２０４）。ルールによる生成機能１１２は、ステップＳ２０１で取得した正式名称に対して別名生成ルールを構成する全てのルールを適用するまで、以上のステップＳ２０２の処理を繰り返し、別名生成ルールを構成する全てのルールを適用したら（ステップＳ２０５）、処理を終了する。なお、別名生成の対象となる正式名称が複数ある場合は、それぞれの正式名称に対して図４のフローチャートで示す一連の処理を繰り返し実行すればよい。
【００３４】
言語解析による生成機能１１３は、語句ＤＢ４０に登録されている正式名称を言語解析して登録候補の別名を自動生成する機能である。言語解析による生成機能１１３は、例えば、別名生成の対象となる正式名称を形態素に分解し、特定の品詞の形態素を除去して別名を生成するといった方法や、別名生成の対象となる正式名称が上述の選択肢型のスロット５１に埋められる語句の選択肢である場合、他の選択肢と共通する字句を除去して残った字句を別名とするといった方法で、別名を自動生成することができる。そして、言語解析による生成機能１１３は、別名が生成されるとそれを登録候補の別名として語句ＤＢ４０に記録する。
【００３５】
具体的には、言語解析による生成機能１１３は、語句ＤＢ４０の別名テーブル４３に新たなレコードを追加し、自動生成した別名のＩＤと、その別名に対応する正式名称の正式名称ＩＤと、その別名の表記および読みと、その別名の種別が言語解析による自動生成であることを示す種別ＩＤ（＝３）とを対応付けて格納する。また、言語解析による生成機能１１３は、言語解析により生成した別名の重要性を表すスコアを算出し、別名テーブル４３に併せて格納する。スコアは、例えば、言語解析の方法ごとに予め定めておくことができる。なお、有効フラグは、例えば無効を表す「false」が初期値として設定されるが、有効を表す「true」を初期値として設定してもよい。
【００３６】
図５は、別名生成部１１０の言語解析による生成機能１１３の処理手順を示すフローチャートである。言語解析による生成機能１１３は、語句ＤＢ４０に登録されている正式名称のうち、システム管理者の操作によって新たに追加登録された正式名称など、過去に言語解析による別名の自動生成を行っていない正式名称を対象として、例えば、音声対話システム１の処理負荷が低くなる時間帯などの予め定めたタイミングで図５のフローチャートで示す一連の処理を実行し、登録候補の別名を自動生成する。
【００３７】
すなわち、言語解析による生成機能１１３は、語句ＤＢ４０に登録されている正式名称のうち、過去に言語解析による別名を自動生成していない正式名称を一つ取得し（ステップＳ３０１）、取得した正式名称に対して言語解析による別名の生成処理を行う（ステップＳ３０２）。そして、別名が生成されなければ（ステップＳ３０３：Ｎｏ）、そのまま処理を終了する。一方、言語解析により別名が生成された場合は（ステップＳ３０３：Ｙｅｓ）、それを登録候補の別名として語句ＤＢ４０に記録し（ステップＳ３０４）、処理を終了する。なお、別名生成の対象となる正式名称が複数ある場合は、それぞれの正式名称に対して図５のフローチャートで示す一連の処理を繰り返し実行すればよい。
【００３８】
ＵＩ制御部１２０は、例えば、本実施形態に係る音声対話システム１にアクセスしたシステム管理者の要求に応じて、語句ＤＢ４０に登録された正式名称や別名（登録候補の別名を含む）を管理するためのユーザインタフェースである登録語管理画面をシステム管理者が使用する端末の表示装置などに表示する。そして、この登録語管理画面に対するシステム管理者の操作（ユーザ操作）を受け付けて、その操作内容を語句ＤＢ４０に反映させる。
【００３９】
ＵＩ制御部１２０が表示する登録語管理画面の一例を図６に示す。この登録語管理画面２００は、語句ＤＢ４０の正式名称マスタ４１および別名テーブル４３に基づいて作成され、システム管理者が使用する端末の表示装置などに表示される。登録語管理画面２００は、例えば図６に示すように、語句ＤＢ４０に登録されている正式名称を提示する正式名称提示領域２１０と、その正式名称に対応する別名を提示する別名提示領域２２０と、その別名の種別を提示する種別提示領域２３０と、その別名のスコアを提示するスコア提示領域２４０と、その別名の有効／無効の状態を切り替え可能に提示するチェックボックス２５０と、登録語管理画面２００上のユーザ操作を語句ＤＢ４０に反映させるために操作される「更新」ボタン２６０とを含む。
【００４０】
正式名称提示領域２１０は、語句ＤＢ４０に登録されている正式名称のうち、選択された複数の正式名称を提示することができる。提示する正式名称の選択は、例えば、システム管理者の操作に応じて行ってもよいし、システムが自動的に行ってもよい。システム管理者の操作に応じて提示する正式名称を選択する場合は、例えば、別の画面で正式名称の一覧を表示し、その中からシステム管理者が選択した正式名称を提示するといった方法がある。システムが自動的に正式名称を選択する場合は、例えば、新たに別名が自動生成された正式名称を優先的に提示するといった方法や、上述のテンプレートの作成に伴い、選択肢型のスロット５１の選択肢として定義された正式名称を優先的に提示するといった方法がある。
【００４１】
正式名称提示領域２１０は、提示する正式名称ごとに、その正式名称の表記が記入されたテキストボックス２１１と、その正式名称の読みが記入されたテキストボックス２１２が設けられている。システム管理者は、これらテキストボックス２１１，２１２に記入されている文字列を書き換えることにより、語句ＤＢ４０に登録されている正式名称の表記や読みを修正することができる。
【００４２】
また、正式名称提示領域２１０には、新たな正式名称を語句ＤＢ４０に追加登録するために操作される「追加」ボタン２１３（語句ＤＢ４０に登録する正式名称をユーザが入力するための画面パーツ）が設けられている。システム管理者がこの「追加」ボタン２１３を操作すると、新たな正式名称の表記や読みを書き込む新たなテキストボックス２１１，２１２が表示され、ここに文字列を記入することで新たな正式名称を語句ＤＢ４０に追加登録することができる。
【００４３】
別名提示領域２２０は、正式名称提示領域２１０に提示されている正式名称ごとに、その正式名称に対応付けて語句ＤＢ４０に登録されている別名（登録候補の別名を含む）を提示する。別名提示領域２２０は、提示する別名ごとに、その別名の表記が記入されたテキストボックス２２１と、その別名の読みが記入されたテキストボックス２２２が設けられている。システム管理者は、これらテキストボックス２２１，２２２に記入されている文字列を書き換えることにより、語句ＤＢ４０に登録されている別名（登録候補の別名を含む）の表記や読みを修正することができる。
【００４４】
また、別名提示領域２２０には、正式名称提示領域２１０に提示されている正式名称ごとに、その正式名称に対応する新たな別名をシステム管理者が入力して語句ＤＢ４０に追加するために操作される「追加」ボタン２２３（語句ＤＢ４０に登録する別名をユーザが入力するための画面パーツ）が設けられている。システム管理者がこの「追加」ボタン２２３を操作すると、新たな別名の表記や読みを書き込む新たなテキストボックス２２１，２２２が表示され、ここに文字列を記入することで新たな別名を登録候補の別名として語句ＤＢ４０に追加することができる。
【００４５】
種別提示領域２３０は、別名提示領域２２０に提示されている別名ごとに、その別名が「システム提案」の別名であるか、あるいは「ユーザ入力」の別名であるかを提示する。なお、「システム提案」の別名については、上述のように、ログ解析による生成機能１１１により自動生成された別名であるか、ルールによる生成機能１１２により自動生成された別名であるか、言語解析による生成機能１１３により自動生成された別名であるかといった、さらに細かな種別を提示するようにしてもよい。システム管理者は、この登録語管理画面２００の種別提示領域２３０を参照することで、提示された別名の種別を認識し、その別名の登録を有効にすべきか無効にすべきかを判断することができる。
【００４６】
スコア提示領域２４０は、別名提示領域２２０に提示されている別名のうち、種別が「システム提案」の別名について、その別名の重要性を表すスコアを提示する。このスコアは、上述のように別名生成部１１０において別名が自動生成される際に算出され、語句ＤＢ４０の別名テーブル４３に格納されたスコアである。システム管理者は、この登録語管理画面２００のスコア提示領域２４０を参照することで、種別が「システム提案」の別名の重要性を認識し、その別名の登録を有効にすべきか無効にすべきかを判断することができる。
【００４７】
チェックボックス２５０は、別名提示領域２２０に提示されている別名ごとに設けられ、このチェックボックス２５０にチェックが入れられた別名は登録が有効であることを示している。システム管理者は、この登録語管理画面２００上で別名ごとに設けられたチェックボックス２５０にチェックを入れたり、チェックを外したりする操作を行うことで、その別名の登録の有効／無効を切り替えることができる。登録が有効とされた別名は、上述の対話処理部１０がエンドユーザとの対話処理を行う際に正式名称を置き換える語句として利用することができる。登録が無効とされた別名は、登録候補の別名として語句ＤＢ４０に格納された状態は維持されるが、対話処理部１０での対話処理には使用されない。
【００４８】
ＵＩ制御部１２０は、例えば以上のように構成される登録語管理画面２００をシステム管理者が使用する端末の表示装置などに表示し、この登録語管理画面２００上で行われるシステム管理者の操作を受け付ける。そして、システム管理者により登録語管理画面２００上の「更新」ボタン２６０が操作されると、受け付けたシステム管理者による操作内容を語句ＤＢ４０に反映させる。
【００４９】
図７は、ＵＩ制御部１２０の処理手順を示すフローチャートである。ＵＩ制御部１２０は、システム管理者により登録語管理画面２００の表示が要求されると、図７のフローチャートで示す一連の処理を実行し、システム管理者の操作に応じて語句ＤＢ４０を更新する。
【００５０】
すなわち、システム管理者により登録語管理画面２００の表示が要求されると、ＵＩ制御部１２０は、まず、語句ＤＢ４０の正式名称マスタ４１および別名テーブル４３に基づいて、例えば図６に示すような登録語管理画面２００を生成し、システム管理者が使用する端末の表示装置に表示する（ステップＳ４０１）。そして、ＵＩ制御部１２０は、この登録語管理画面２００上で正式名称を追加する操作があれば（ステップＳ４０２：Ｙｅｓ）、その操作を受け付けて正式名称マスタ４１に追加する正式名称を取得する（ステップＳ４０３）。また、ＵＩ制御部１２０は、この登録語管理画面２００上で別名を追加する操作があれば（ステップＳ４０４：Ｙｅｓ）、その操作を受け付けて別名テーブル４３に追加する別名を取得する（ステップＳ４０５）。また、ＵＩ制御部１２０は、この登録語管理画面２００上で、いずれかの別名に対応するチェックボックス２５０に対する操作、つまりその別名の登録の有効／無効を切り替える操作があれば（ステップＳ４０６：Ｙｅｓ）、その操作を受け付けて切り替え対象の別名とその別名の登録を有効にするか無効にするかを取得する（ステップＳ４０７）。
【００５１】
ＵＩ制御部１２０は、システム管理者が使用する端末の表示装置に登録語管理画面２００を表示させている間、この登録語管理画面２００上の「更新」ボタン２６０に対する操作を常に監視する（ステップＳ４０８）。そして、「更新」ボタン２６０が操作されない間は（ステップＳ４０８：Ｎｏ）、上述のステップＳ４０２からステップＳ４０７までの判定および処理を繰り返す。そして、「更新」ボタン２６０が操作されると、それまでに上述のステップＳ４０３、ステップＳ４０５、ステップＳ４０６の少なくともいずれかで取得された情報に基づいて語句ＤＢ４０を更新し（ステップＳ４０９）、一連の処理を終了する。
【００５２】
以上、具体的な例を挙げながら詳細に説明したように、本実施形態によれば、別名生成部１１０が、語句ＤＢ４０に登録されている正式名称の別名を自動生成して、登録候補の別名（「システム提案」の別名）として語句ＤＢ４０に記録する。また、ＵＩ制御部１２０が、例えばシステム管理者からの要求に応じて、システム管理者が使用する端末の表示装置に登録語管理画面２００を表示して、語句ＤＢ４０に記録されている別名を、その別名が「システム提案」の別名であるか、システム管理者が入力した「ユーザ入力」の別名であるかを識別可能に、かつ、その別名の登録を有効とするか無効とするかを切り替え可能に、システム管理者に提示する。そして、ＵＩ制御部１２０は、登録語管理画面２００に対するシステム管理者の操作を受け付けて、その操作内容を語句ＤＢ４０に反映させる。したがって、本実施形態によれば、自動生成された別名やシステム管理者が入力した別名を、それらの登録を有効とするか否かも含めて統合的に管理することができる。
【００５３】
また、本実施形態によれば、「システム提案」の別名については、登録語管理画面２００上でその重要性を表すスコアを提示するようにしているので、「システム提案」の別名の登録を有効にするか無効にするかを、システム管理者に的確に判断させることができる。
【００５４】
また、本実施形態によれば、語句ＤＢ４０に追加する正式名称や別名を登録語管理画面２００上で入力できるようにしているので、システム管理者は、登録語管理画面２００を参照しながら、正式名称や別名の入力操作を簡便且つ適切に行うことができる。
【００５５】
＜補足説明＞
上述の音声対話システム１は、例えば、一般的なコンピュータを構成するハードウェアと、コンピュータで実行されるプログラム（ソフトウェア）との協働により実現することができる。例えば、コンピュータが所定のプログラムを実行することによって、上述の対話処理部１０、登録語管理装置１００の別名生成部１１０およびＵＩ制御部１２０などの機能的な各部を実現することができる。また、コンピュータが備える大容量記憶装置を用いて、上述の対話知識ＤＢ２０、対話ログＤＢ３０および語句ＤＢ４０などを実現することができる。
【００５６】
図８は、上述の音声対話システム１のハードウェア構成例を示すブロック図である。上述の音声対話システム１は、例えば図８に示すように、ＣＰＵなどのプロセッサ（ハードウェアプロセッサ、プロセッサ回路）２と、ＲＡＭやＲＯＭなどのメモリ３と、ＨＤＤやＳＳＤなどのストレージ（大容量記憶装置）４と、ネットワークを介して外部と通信を行う通信Ｉ／Ｆ５などを備えた一般的なコンピュータのハードウェア構成を用いて実現できる。
【００５７】
このとき、コンピュータで実行される上述のプログラムは、例えば、磁気ディスク、光ディスク、半導体メモリ、またはこれに類する記録媒体に記録されて提供される。プログラムを記録する記録媒体は、コンピュータが読み取り可能な記録媒体であれば、その記憶形式は何れの形態であってもよい。また、コンピュータで実行される上述のプログラムを、コンピュータに予めインストールするように構成してもよいし、ネットワークを介して配布されるプログラムをコンピュータに適宜インストールするように構成してもよい。
【００５８】
コンピュータで実行される上述のプログラムは、例えば、上述の対話処理部１０、登録語管理装置１００の別名生成部１１０およびＵＩ制御部１２０などの機能的な各部を含むモジュール構成となっており、プロセッサ２がこのプログラムを適宜読み出して実行することにより、これらの機能的な各部がＲＡＭなどのメモリ３上に生成されるようになっている。対話処理部１０を実現するためのプログラムと、登録語管理装置１００の別名生成部１１０およびＵＩ制御部１２０を実現するためのプログラムは、各々独立したプログラムであってもよい。
【００５９】
なお、上述の音声対話システム１は、上述の機能的な各部の一部または全部を、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field-Programmable  Gate  Array）などの専用のハードウェアにより実現する構成であってもよい。
【００６０】
また、上述の音声対話システム１は、複数台のコンピュータを通信可能に接続したネットワークシステムとして構成し、上述の機能的な各部を複数台のコンピュータに分散して実現する構成であってもよい。例えば、対話処理部１０と登録語管理装置１００の別名生成部１１０およびＵＩ制御部１２０とが異なるコンピュータ上で実現される構成であってもよい。また、上述の音声対話システム１は、クラウドシステム上で動作する仮想マシンであってもよい。
【００６１】
以上、本発明の実施形態を説明したが、この実施形態は例として提示したものであり、発明の範囲を限定することは意図していない。この新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００６２】
１  音声対話システム
１０  対話処理部
２０  対話知識ＤＢ
３０  対話ログＤＢ
４０  語句ＤＢ
１００  登録語管理装置
１１０  別名生成部
１１１  ログ解析による生成機能
１１２  ルールによる生成機能
１１３  言語解析による生成機能
１２０  ＵＩ制御部
２００  登録語管理画面
２１０  正式名称提示領域
２１３  正式名称「追加」ボタン
２２０  別名提示領域
２２３  別名「追加」ボタン
２３０  種別提示領域
２４０  スコア提示領域
２５０  チェックボックス
２６０  「更新」ボタン
【図１】
2019191646.tif 000003
【図２】
2019191646.tif 000004
【図３】
2019191646.tif 000005
【図４】
2019191646.tif 000006
【図５】
2019191646.tif 000007
【図６】
2019191646.tif 000008
【図７】
2019191646.tif 000009
【図８】
2019191646.tif 000010