【文献】
秋葉 友良,音声入力による質問応答システムのための音声認識用言語モデルの検討,言語処理学会第8回年次大会発表論文集 Proceedings of The Eighth Annual Meeting of The Association for Natural Language Processing,日本,言語処理学会 The Association for Natural Language Processing,2002年 3月18日,p.244-247
【文献】
秋葉 友良 Tomoyoshi AKIBA,部分N−gram頻度情報を利用した質問応答定型表現への言語モデル適応 Using Extra N-gram Counts for Statistical Language Model Adaptation in Speech-Driven Question Answering,情報処理学会研究報告 Vol.2002 No.65 IPSJ SIG Notes,日本,社団法人情報処理学会 Information Processing Society of Japan,2002年 7月13日,p.31-38
(58)【調査した分野】(Int.Cl.,DB名)
1語の開始語と1語以上の中間語と1語の終了語とから構成される単位文の音声入力を音声認識するルール型音声認識エンジンからなる音声認識プログラム用の文法作成を支援するための文法作成支援処理をコンピュータに実行させる音声認識用文法作成支援プログラムであって、
前記文法作成支援処理は、
ユーザーが前記開始語、中間語及び終了語をそれぞれ入力するための入力インタフェースを出力し、前記ユーザーにより当該入力インタフェースに入力された開始語、中間語及び終了語を、それぞれ、所定の入力記憶領域に記憶する入力記憶手順と、
前記入力記憶領域に記憶した開始語、中間語及び終了語に基づき、開始語、中間語及び終了語からなる単位文の音声入力を音声認識するための文法を構築する文法生成手順とを備え、
前記文法生成手順は、少なくとも、
前記入力記憶領域に記憶した開始語、中間語及び終了語に基づき、左辺に開始記号を配置すると共に、右辺に、前記入力記憶領域に記憶した開始語に対応する開始語用非終端記号または開始語用終端記号、前記入力記憶領域に記憶した中間語に対応する第1の中間語用非終端記号、及び、前記入力記憶領域に記憶した終了語に対応する終了語用非終端記号または終了語用終端記号をこの順に配置したルート規則を、前記ルール型音声認識エンジンの生成規則として生成するルート規則生成手順と、
前記入力記憶領域に記憶した中間語に基づき、左辺に前記第1の中間語用非終端記号を配置すると共に、右辺に前記第1の中間語用非終端記号よりも下位の階層となる第2の中間語用非終端記号を配置した中間語規則を、前記ルール型音声認識エンジンの生成規則として生成する中間語規則生成手順とを含み、
前記文法生成手順は、
文法ファイルと語彙ファイルとを使用する文法用の第1の文法ファイル作成処理、または、単一の文法ファイルを使用する文法用の第2の文法ファイル作成処理を含み、
前記第1の文法ファイル作成処理は、白紙の文法ファイルに対して、前記ルート規則を親構文として抽出及びセットする第1の手順と、前記入力記憶領域に記憶した中間語の入力パターンの全てのパターンを抽出して、当該全てのパターンの各々に対応する前記中間語規則を中間語構文として抽出及びセットする第2の手順とを含み、
前記文法生成手順は、前記第1の文法ファイル作成処理の後、語彙ファイル作成処理を含み、
前記語彙ファイル作成処理は、前記文法ファイルにセットした前記中間語構文の各々について、右辺の各非終端記号のうち最下位の非終端記号を抽出し、左辺位置または最上位置の非終端記号として、白紙の語彙ファイルに順次配置して書き込み、語彙ファイルを作成する第3の手順と、前記非終端記号に対応する実際の語彙として、前記入力記憶領域に記憶した中間語を抽出する第4の手順と、前記第3の手順で書き込んだ前記非終端記号の各々に対し、前記第4の手順で抽出した前記中間語を終端記号として順次配置して書き込む第5の手順とを含み、
前記第2の文法ファイル作成処理は、前記第1の手順及び前記第2の手順に加え、前記文法ファイルにセットした前記中間語構文の各々について、右辺の各非終端記号のうち最下位の非終端記号を抽出し、左辺の非終端記号として順次配置して書き込む第6の手順と、前記非終端記号に対応する実際の語彙として、前記入力記憶領域に記憶した中間語を抽出する第7の手順と、前記第6の手順で書き込んだ前記非終端記号の各々に対し、前記第7の手順で抽出した前記中間語を右辺の終端記号として順次配置して書き込む
ことを特徴とする音声認識用文法作成支援プログラム。
【発明を実施するための形態】
【0027】
以下、本発明を実施するための形態(以下、実施の形態という)を説明する。なお、各実施の形態を通じ、同一の部材、要素または部分には同一の符号を付して、その説明を省略する。
【0028】
実施の形態1
本発明の実施の形態1に係る音声認識用文法作成支援プログラムは、一般的な各種プログラムと同様、公知のコンピュータ装置のハードウエア資源(CPU、ROM、RAM等)に所定の処理手順を実行させるものである。また、実施の形態1に係る音声認識用文法作成支援装置は、典型的には、当該音声認識用文法作成支援プログラムをHDD(ハードディスクドライブ)やSSD(ソリッドステートドライブ)等の外部記憶装置に格納して実装し、使用時(プログラム実行時)に当該プログラムを外部記憶装置から呼出すことにより、CPU,RAM等のハードウエアを利用した各種機能実現手段によって、対応する各種機能を実現する。無論、本音声認識用文法作成支援装置の機能の一部を、ハードウエアロジックにより実現することも可能である。詳細には、音声認識用文法作成支援プログラムは、1語の開始語と1語以上の中間語と1語の終了語とから構成される単位文の音声入力を音声認識する音声認識プログラムへの利用を意図したものであり、当該音声認識プログラム用の文法作成を支援するための文法作成支援処理をコンピュータに実行させる。まず、音声認識用文法作成支援プログラムを実装した音声認識用文法作成装置の入力インタフェース(通常はGUIにより構成)について説明する。
【0029】
[入力インタフェース1・開始語終了語入力シート10]
図1に示すように、音声認識用文法作成装置の入力インタフェース1は、音声認識用文法作成支援プログラムの入力記憶手順によりコンピュータのモニタに出力(画面表示)されるものであり、開始語と終了語との対、中間語と記録語との対、並びに、文法パターンをそれぞれ入力するための入力手段を構成する。詳細には、入力インタフェース1は、開始語終了語入力部としての開始語終了語入力シート10と、中間語入力部としての中間語記録語入力シート20と、接語入力部としての中間語記録語文法パターンシート30とを備える。開始語終了語入力シート10は、単位文を構成する開始語、中間語及び終了語のうち、1語の開始語と1語の終了語とからなる対を入力するためのものであり、開始語入力欄11と、終了語入力欄12と、文法チェック欄13とを含む。開始語入力欄11は、左右に分割された入力領域を有し、左側の入力領域は開始語の表記を入力するための開始語表記入力欄を構成し、右側の入力領域は開始語の読みを入力するための開始語読み入力欄を構成する。同様に、終了語入力欄12は、左右に分割された入力領域を有し、左側の入力領域は終了語の表記を入力するための終了語表記入力欄を構成し、右側の入力領域は終了語の読みを入力するための終了語読み入力欄を構成する。なお、開始語入力欄11の左側には単位文ごとに付与される文ID(オートID等)を示すID欄が設けられている。ユーザーは、音声入力したい(即ち、音声認識してほしい)全ての文を、それぞれが1語の開始語(1語の連結開始語を含む)と1語以上の中間語と1語の終了語(1語の連結終了語を含む)とからなる単位文として、入力インタフェース1を使用して別個に入力する。そして、ユーザーは、まず、単位文ごとの開始語と終了語との対を、開始語終了語入力シート10を使用して入力する。即ち、ユーザーは、単位文ごとに、逐一、使用したい開始語を開始語入力欄11に入力し、その開始語と対をなす(使用したい)終了語を終了語入力欄12に入力するが、このとき、単位文ごとに逐次入力した開始語と終了語との対が、文ID(図示の例では、英数字「1、2、3・・・」等で表示)に対応して、当該文IDの列に並んで(直列的に)表示される。
【0030】
また、単位文ごとに入力した開始語と終了語との対は、互いに関連付けて、かつ、文IDをキーとして、開始語終了語記憶領域としての後述する開始語終了語テーブルに記憶される。開始語は、その表記を開始語表記入力欄に入力し、その読みを開始語読み入力欄に入力する。同様に、終了語は、その表記を終了語表記入力欄に入力し、その読みを終了語読み入力欄に入力する。
図1の例では、開始語及び終了語の例として「それでは」と「あるのですね」を表示するため、その表記がいずれもひらがな表記となっているが、開始語及び終了語として漢字表記のものを使用する場合、その表記は漢字表記となり、この漢字表記のものが開始語終了語テーブルの該当欄(開始語表記欄及び終了語表記欄)に格納される。また、開始語及び終了語の読みも、
図1の例では、ひらがな入力としているが、このひらがな入力は、システム上は、音声認識用文法で使用されるローマ字表記に自動変換して開始語終了語テーブルの該当欄(開始語読み欄及び終了語読み欄)に格納される。よって、開始語及び終了語の読みをローマ字入力とすることもできる。また、
図1の例では、4つ目までの単位文の開始語及び終了語の対が入力された状態を示しているが、5つ目以降の単位文がある場合も、同様に、開始語及び終了語が入力される。なお、(例えば一つ目の単位文の)後の単位文用の開始語及び終了語の対として、以前の単位文の開始語及び終了語の対と同一のものを使用する場合も、システム上は、単位文ごとに同一の開始語及び終了語を格納するため、開始語入力欄11及び終了語入力欄12には同一の開始語及び終了語が表示される。しかし、複数の単位文で同一の開始語と終了語の対を使用する場合は、開始語終了語入力シート10では、それら複数の単位文について一つの開始語と終了語の対のみを入力し(例えば、それら複数の単位分の最初の単位文のみについて開始語と終了語の対を入力し)、例えば図示しないボタン等の関連付け手段により、それら複数の単位文について当該同一の開始語及び終了語の対を自動的に関連付けることもできる。通常は、開始語及び終了語の対は、音声入力したい単位文が多数ある場合でも、それらの単位文が同種の内容を表す場合(例えば、医療カルテ入力用途、検索キーワード入力用途等、同一用途の表現となる場合)、少数(1〜2対)の開始語と終了語の対があれば十分である(十分に単位文の表現が可能となる)場合が多く、開始語終了語入力シート10に入力される開始語及び終了語の対も通常は少数乃至限定された数となる。
【0031】
文法チェック欄13は、中間語記録語文法パターンシート30に設定された所定複数(図示の例では7個)の文法パターンの中から、所定の文法パターンを選択する(チェックする)ことにより、各列の開始語と終了語の対を当該文法パターンと関連付けるものである。文法チェック欄13についても、ユーザーは、単位文ごとに、逐一、同一列に入力済みの開始語及び終了語の対をどの文法パターンに関連付けるかを選択し、文法チェック欄13の対応するチェック欄にチェックを入れる。なお、同一の開始語と終了語の対については、以後の文法チェック欄13の入力は省略することができ、この場合も、システム上は、以前の文法チェック欄13の入力(どの文法パターンがチェックされたか)を判断し、同一のチェック入力を自動的に実行するよう構成することができる。なお、
図1の開始語終了語入力シート10は、単一の単語からなる(複数の単語を連結した一つの連結語ではない)開始語と終了語とを入力する例を示しているが、複数の単語を連結した一つの連結語からなる開始語及び/または終了語を入力する場合は、連結語からなる開始語及び/または終了語の連結語数と同一数の開始語入力欄及び/または終了語入力欄が設けられる。
【0032】
[中間語記録語入力シート20]
図2に示すように、中間語記録語入力シート20は、中間語入力欄21と、記録語入力欄22と、文法チェック欄23とを含む。中間語入力欄21は、中間語を予め定めた所定複数の範囲内で、直列的に1語単位で入力するためのものであり、所定複数の中間語入力領域(図示の例では3個の直列的な中間語入力領域)M1,M2,M3を有する。即ち、中間語入力領域M1,M2,M3は、前記所定複数の中間語の語順乃至中間語入力欄21における直列的な位置情報を示すものであり、M1,M2,M3の順で中間語が入力される(そして、音声認識時にその順番で音声入力される)ことを表している。中間語入力領域M1,M2,M3は、それぞれ、左右に分割された入力領域を有し、左側の入力領域は各中間語の表記を入力するための中間語表記入力欄を構成し、右側の入力領域は各中間語の読みを入力するための中間語読み入力欄を構成する。記録語入力欄22は、中間語入力欄21と同一の所定複数の記録語入力領域(図示の例では3個の直列的な記録語入力領域)R1,R2,R3を有する。記録語入力領域R1,R2,R3は、それぞれ、記録語の表記を入力するための記録語表記入力欄からなる。ここで、中間語は、音声入力される単語そのもの(音声入力単語と同一単語)であるが、記録語は、かかる中間語と同一の意味内容または(同一ではないが)対応する意味内容を有する単語であり、中間語と同一表記となる場合もあるが、異なる表記となる場合もある。即ち、記録語は、音声認識した単位文をテキスト出力または文字コード出力等の出力文とする場合において、出力文中で使用する単語として中間語より好ましい表記の単語である。例えば、単位文として医療カルテの文を音声入力する場合において、医師等のユーザーが医療カルテに記録したい事項を文として発話するときは、当該発話文は口語文であるが、医療カルテに実際に記録したい文が文語文である場合、口語文で発話される中間語に対応する(同一の意味の)文語文で記載される単語を記録語として中間語に対応付ける。
図2の中間語及び当該中間語に対応する記録語の表示例は、医療カルテの例を示す。或いは、中間語に対応する記録語として、例えば、ロボット制御用の指示文(例えば、「前進」、「後退」、「右旋回」、「停止」等)を中間語として入力し、当該中間語に対応するコマンドを記録語として対応付けておくこともでき、こうすると、単なる文入力や文記録だけではなく、ロボット制御等の制御動作に適用可能な音声入力処理を実現することもできる。なお、中間語入力欄21の左側には単位文ごとに付与される文ID(オートID等)を示すID欄が設けられている。このID欄は、開始語終了語入力シート10のID欄に対応している。ユーザーは、音声入力したい単位文を入力するとき、単位文ごとに、開始語終了語入力シート10で入力した開始語と終了語の対に対応して(対応する文IDの列に)、中間語入力欄21に中間語を入力し、当該中間語に対応する記録語を記録語入力欄22に入力する。即ち、ユーザーは、単位文ごとに、逐一、表現したい1個以上の中間語(通常は、中間文を構成すべく複数の中間語)を中間語入力欄21に入力し、その中間語に対応するを記録語入力欄22に入力するが、このとき、単位文ごとに逐次入力した中間語と記録語との対が、文ID(図示の例では、英数字「1、2、3・・・」等で表示)に対応して、当該文IDの列に並んで(直列的に)表示される。
【0033】
また、単位文ごとに入力した中間語と記録語との対は、互いに関連付けて、かつ、文IDをキーとして、中間語記録語記憶領域としての後述する中間語記録語テーブルに記憶される。中間語は、その表記を中間語表記入力欄に入力し、その読みを中間語読み入力欄に入力する。一方、記録語は、その表記のみを記録語表記入力欄に入力する。なお、
図2の例では、1列目(ID=1)に、中間語の例として「きのう」、「39度」、「熱」が表記されると共に、これに対応して記録語である「昨日」、「39度」、「発熱」が表記されているが、これらの表記が中間語記録語テーブルの該当欄(中間語表記欄及び記録語表記欄)に格納される。また、中間語の読みも、
図2の例では、ひらがな入力としているが、このひらがな入力は、システム上は、音声認識用文法で使用されるローマ字表記に自動変換して中間語記録語テーブルの該当欄(中間語読み欄)に格納される。よって、中間語の読みをローマ字入力とすることもできる。また、
図2の例では、4つ目までの単位文の中間語及び記録語の対が入力された状態を示しているが、5つ目以降の単位文がある場合も、同様に、中間語及び記録語が入力される。なお、中間語は、単位文ごとに異なる内容(単語)となり、文IDごとに異なる中間語及び記録語が入力され、中間語記録語入力シート20に入力される中間語及び記録語の対は、通常は多数となる。
【0034】
文法チェック欄23は、中間語記録語文法パターンシート30に設定された所定複数(図示の例では7個)の文法パターンの中から、所定の文法パターンを選択する(チェックする)ことにより、各列の中間語と記録語の対を当該文法パターンと関連付けるものである。文法チェック欄23についても、ユーザーは、単位文ごとに、逐一、同一列に入力済みの中間語及び記録語の対をどの文法パターンに関連付けるかを選択し、文法チェック欄23の対応するチェック欄にチェックを入れる。
【0035】
[中間語記録語文法パターンシート30]
図3に示すように、中間語記録語文法パターンシート30は、接語入力部を構成する。詳細には、中間語記録語文法パターンシート30は、中間語文法欄31と、記録語文法欄32とを含む。中間語文法欄31は、前記中間語記録語入力シート20の中間語入力領域M1,M2,M3と同一数(図示の例では3個)の中間語文法入力領域31a,31b,31cを有する。中間語文法入力領域31a,31b,31cは、それぞれ、左右方向に3列に分割された領域を有している。中間語文法入力領域31a,31b,31cの各々において、左側の領域は、前記中間語入力欄21の中間語入力領域M1,M2,M3に対応する記号M1,M2,M3を表示する中間語位置表示欄を構成している。また、中間語文法入力領域31a,31b,31cの各々において、中央の領域は、中間語に接続する接語の表記を入力するための中間語用接語表記入力欄を構成し、右側の入力領域は当該接語の読みを入力するための中間語用接語読み入力欄を構成している。そして、中間語記録語文法パターンシート30では、中間語記録語入力シート20に設定された直列入力される中間語の最大数(図示の例では3個)に応じて決定される当該最大数の中間語の全ての入力パターンが、中間語文法欄31に並列的に(上下方向に並べて)設定及び表示されている。なお、接語は、一つの単位文において、開始語と終了語との間に複数の中間語からなる中間文が配置される場合は、前の中間語とその次の中間語とを接続する語(即ち、接語)である。例えば、3語の中間語からなる中間文の場合、先頭乃至1番目の(第1の)中間語と中間乃至2番目の(第2の)中間語とを接続する第1の接語と、第2の中間語と最後乃至3番目の(第3の)中間語とを接続する第2の接語とがあり、当該中間語の後に次の中間語が配置されない場合、即ち、前記3語の中間語の場合における最後の(第3の)中間語の場合は、当該最後の中間語と終了語とを接続する接語がある。
【0036】
ここで、中間語の入力パターンとしては、図示のように中間語が3個直列入力される例では、中間語が1個の場合には、中間語入力領域M1,M2,M3のいずれか一つに中間語が入力される(「M1」、「M2」、「M3」のいずれかとなる)合計3パターン(
図3のNo.1〜No.3)となり、中間語が2個の場合には、中間語入力領域M1,M2,M3のいずれか2つに中間語が入力される(「M1,M2」、「M2,M3」、「M1,M3」のいずれかとなる)合計3パターン(
図3のNo.4〜No.6)となり、中間語が3個の場合には、中間語入力領域M1,M2,M3の全てに中間語が入力される(「M1,M2,M3」となる)1パターン(
図3のNo.7)となり、総合計で7つの入力パターンがある。したがって、中間語文法欄31は、これら7つの入力パターンに対応して、前記中間語文法入力領域31a,31b,31cを配置し、各入力パターンの中間語の直後に接語(表記及び読み)を入力自在としている。なお、第1〜第3の入力パターン(No.1〜No.3)は、1語の中間語のみが存在するため、これに合わせて、接語の入力領域も一つ(中間語文法入力領域31aのみ)とされている。また、第4〜第6の入力パターン(No.4〜No.6)は、2語の中間語のみが存在するため、これに合わせて、接語の入力領域も2つ(中間語文法入力領域31a及び31bのみ)とされている。なお、第7の入力パターン(No.7)は、3語の中間語が存在するため、これに合わせて、接語の入力領域も3つ(中間語文法入力領域31a,31b及び31c)とされている。このように、
図3中、不要な接語の入力領域(中間語文法入力領域31a,31b,31cにおいて影付きで示す領域)は入力不能とされており、白色(ブランク)で示す入力領域にのみ接語(「表記」及び「読み」)を入力自在となっている。そして、7つの入力パターンの各々について各中間語について接語が入力されるかどうかにより(中間語に後置される接語の有無により)決定される組み合わせパターン(3語の範囲内での中間語と接語の組み合わせパターン)として、合計26の組み合わせパターンが存在する。即ち、7つの入力パターンの全てについて接語が全く入力されない場合(接語が0個入力される場合)の7パターンと、7つの入力パターンの各々について接語が1個以上入力される場合の19パターンとを合わせて、合計26の組み合わせパターンがある。この組み合わせパターンについては、中間語規則の説明で詳述する。
【0037】
一方、記録語文法欄32は、前記中間語記録語入力シート20の記録語入力領域と同一数(図示の例では3個)の記録語文法入力領域32a,32b,32cを有する。記録語文法入力領域32a,32b,32cは、それぞれ、左右方向に3列に分割された領域を有している。記録語文法入力領域32a,32b,32cの各々において、左側の入力領域は、前記記録語入力欄22の記録語入力領域R1,R2,R3に対応する記号R1,R2,R3を表示する記録語位置表示欄を構成している。また、記録語文法入力領域32a,32b,32cの各々において、中央の領域は、記録語に接続する接語の表記を入力するための記録語用接語表記入力欄を構成し、右側の入力領域は当該接語の読みを入力するための記録語用接語読み入力欄を構成している。なお、右側の記録語用接語読み入力欄は省略してもよい。そして、中間語記録語文法パターンシート30では、前記中間語の7つの入力パターンに対応して、合計7つの記録語の入力パターンが、記録語文法欄32に並列的に(上下方向に並べて)設定及び表示されている。なお、記録語の各入力パターンは上記した中間語の入力パターンと同様であるため、詳細な説明は割愛するが、中間語文法欄31の場合と同様に、記録語文法欄32においても、不要な接語の入力領域(記録語文法入力領域32a,32b,32cにおいて影付きで示す領域)は入力不能とされており、白色(ブランク)で示す入力領域にのみ接語(「表記」及び「読み」)を入力自在となっている。
【0038】
なお、前記開始語終了語入力シート10と、中間語記録語入力シート20と、中間語記録語文法パターンシート30とは、それぞれ、別個に(相互に独立して)設けられ、開始語終了語入力シート10における開始語や終了語の入力と、中間語記録語入力シート20における中間語や記録語の入力と、中間語記録語文法パターンシート30における接語の入力とは、それぞれ、別個に実行される(相互に独立した入力とされる)ようになっている。また、開始語終了語入力シート10の文法チェック欄13及び中間語記録語入力シート20の文法チェック欄23の各々における合計7つの文法パターン(「1」〜「7」の番号)は、前記中間語記録語文法パターンシート30の7つの入力パターン(No.1〜No.7)に対応している。そして、開始語終了語入力シート10の開始語終了語入力欄11,12の各入力列の入力値(開始語と終了語の入力対)と、中間語記録語入力シート20の中間語入力欄21と記録語入力欄22との各入力列の入力値(中間語の直列的入力値乃至連続する入力値及び記録語の直列的入力値乃至連続する入力値)とが、文法チェック欄13及び文法チェック欄23でチェックした文法パターンと関連付けて記憶(対応するデータベースのテーブルに格納)される。なお、中間語記録語文法パターンシート30の文法パターンは、中間語と接語との関係を定義するものであるため、中間語記録語入力シート20の入力値(中間語及び記録語)とのみ関連づけて格納し、開始語終了語入力シート10の入力値(開始語及び終了語の対)とは関連付けない構成とすることも可能である。この場合も、中間語記録語入力シート20の各入力列の入力値(中間語及び記録語)は、開始語終了語入力シート10の対応する入力列(同一の文ID)の入力値(開始語及び終了語の対)と関連付けて格納することにより、各文IDの開始語及び終了語の対と中間語乃至(複数の中間語からなる)中間文とが当該文IDで関連付けされ、かつ、各文IDの中間語乃至中間文が文法パターンと(文法パターンIDで)関連付けされるため、結果として、格納したデータから、開始語、中間語乃至中間文及び終了語をそれぞれ抽出し、かつ、その中間語乃至中間文の文法パターンがいずれの文法パターンであるかを判断して、その文法パターンの接語を対応する中間語の直後に後置することができ、これにより、開始語、中間語及び接語(中間語が複数の場合は、この中間語及び接語の対が複数連続する)、並びに、終了語からなる一つの単位文を構築することができる。この単位文は、前記文法パターンにしたがった単位文ということができる。
【0039】
[入力文例確認シート40]
図4に示すように、入力文例確認シート40は、単位文表示欄40Mと記録文表示欄40Rとを所定箇所に表示している。単位文表示欄40Mは、前記開始語終了語入力シート10に入力した開始語及び終了語の対、並びに、中間語記録語入力シート20の中間語入力欄21に入力した中間語を、その入力列(文ID)ごとに、中間語記録語文法パターンシート30の中間語文法欄31の対応する文法パターンの接語を中間語に後置して表示するものであり、開始語表示欄41Mと、中間語表示欄42Mと、終了語表示欄43Mとを含む。開始語表示欄41Mには、対応する文IDの開始語が入力され、終了語表示欄43Mには、対応する文IDの終了語が入力される。また、中間語表示欄42Mには、対応する文IDの中間語と、当該中間語に後置される(対応する文法パターンの)接語とが、それぞれ、スペースを置いて、連続的に表示(直列的に表示)される。一方、記録文表示欄40Rは、中間語記録語入力シート20の記録語入力欄22に入力した記録語を、その入力列(文ID)ごとに、中間語記録語文法パターンシート30の記録語文法欄32の対応する文法パターンの接語を記録語に後置して表示するものであり、記録語表示欄42Rを含む。
【0040】
例えば、
図1に示すように、開始語及び終了語として「それでは」及び「あるのですね」を入力した場合、データベースの入力値記憶領域(開始語終了語テーブル)からそれらの入力値(開始語及び終了語)が抽出され、単位文表示欄40Mの開始語表示欄41Mには「それでは」が、終了語表示欄43Mには「あるのですね」が表示される。また、この場合において、中間語として中間語入力領域M1,M2,M3に「昨日」、「39度」及び「熱」を入力した場合(文IDが「1」の場合)、データベースの入力値記憶領域(中間語記録語テーブル)からそれらの入力値(中間語)が抽出される。このとき、同時に、データベースの入力値記憶領域(接語テーブル)から当該中間語に対応する文法パターンの入力値(接語)が抽出されて当該中間語に後置される。即ち、当該中間語の文法パターン(No.7)の接語である「から」、「の」及び「が」がそれぞれ抽出されて対応する中間語に後置され、単位文表示欄40Mの中間語表示欄42Mには、「昨日」、「から」、「39度」、「の」、「熱」、「が」という一連の単語、即ち、中間語及び接語からなる音声入力文(音声認識対象文)としての中間文が表示される。一方、記録文表示欄40Rの記録語表示欄42Rには、当該文IDの入力値(記録語)がデータベースの入力値記憶領域(中間語記録語テーブル)から抽出されると共に、データベースの入力値記憶領域(接語テーブル)から当該記録語に対応する文法パターンの入力値(接語)が抽出されて当該中間語に後置される。即ち、当該文IDの記録語として記録語入力欄32に入力した(データベースに格納した)「昨日」、「39度」及び「発熱」が抽出されると共に、当該記録語の文法パターン(No.7)の接語である「より」、「の」及び「あり」が抽出されて対応する記録語に後置され、記録文表示欄40Rの記録語表示欄42Rには、「昨日」、「より」、「39度」、「の」、「発熱」、「あり」という一連の単語、即ち、記録語及び接語からなる(医療カルテ記録用等の)記録文が表示される。同様に、中間語として中間語入力領域M1,M3に「昨夜」及び「せき」を入力した場合(文IDが「3」の場合)、当該中間語の文法パターン(No.6)の接語である「から」及び「が」がそれぞれ抽出されて対応する中間語に後置され、単位文表示欄40Mの中間語表示欄42Mには、「昨夜」、「から」、「せき」、「が」という一連の単語(中間語及び接語)からなる中間文が表示される。一方、記録文表示欄40Rの記録語表示欄42Rには、記録語である「昨夜」及び「せき」が抽出されると共に、当該記録語の文法パターン(No.6)の接語である「より」及び「あり」が抽出されて対応する中間語に後置され、記録文表示欄40Rの記録語表示欄42Rには、「昨夜」、「より」、「せき」、「あり」という一連の単語(記録語及び接語)からなる記録文が表示される。このようにして、ユーザーは、前記開始語終了語入力シート10に入力した開始語と終了語、及び、中間語記録語入力シート20に入力した中間語乃至中間文と記録語乃至記録文とが、中間語記録語入力シート20の文法チェック欄13でチェックした文法パターン(中間語記録語文法パターンシート30の対応する文法パターンの接語)にしたがって、どのような単位文となるかを単位文表示欄40Mの表示によって確認し、どのような記録文となるかを記録文表示欄40Rの表示によって確認することができる。
【0041】
[文法パターンと文法の規則の生成処理]
実施の形態1では、ユーザーは、音声認識用文法作成支援プログラムを起動し、
図1〜
図4に示す入力インタフェース1を使用して、開始語と終了語との対、中間語乃至中間文と記録語乃至記録文、及び、文法パターンを入力する。このとき、ユーザーは、ある特定のテーマや用途(医療カルテ記録用途、検索エンジン入力用途等)について、当該テーマや用途について発話されて音声入力される(即ち、音声認識対象となる)単位文を予想し、まず、自己が予想した単位文において最初と最後に発話される単語の対を開始語と終了語の対として(通常は数対程度の限定された対数だけ)入力し、次に、様々な発話内容を想定して、その中核内容として発話される(音声入力される)中間語(通常は複数の中間語からなる中間文)を入力し、次に、当該中間語乃至中間文に対応する記録語(通常は複数の記録語からなる記録文)を入力し、これと併せて、各文IDの中間語に後置される接語を判断してその接語を入力すると共に、当該文IDの中間語及び記録語に(及び、必要な場合は、開始語及び終了語にも)前記文法パターンを関連付ける。このようにして、最終的に一文の単位文を構成する全ての単語(開始語、終了語、中間語、記録語、接語)が入力されて記憶され、かつ、その語順(音声入力用の単位文については開始語、中間語、(中間語に後置される場合の)接語及び終了語の順で並ぶ語順、記録文作成用の単位文については開始語、記録語、(記録語に後置される場合の)接語及び終了語の順で並ぶ語順)に関する情報も記憶されることになる。
【0042】
したがって、音声認識用文法作成支援プログラムは、ユーザーが、一つの文IDについて、開始語及び終了語、中間語及び記録語、並びに、文法パターンの入力を完了した時点で、「一文完了」ボタン等の一つの単位文の入力完了を指示するコマンドボタンを選択実行(クリック等)することで、当該文IDの単位文について、開始語及び終了語、中間語及び記録語、並びに、文法パターン(どの中間語にどの接語が接続するか)を記憶すると共に、開始語及び終了語と中間語及び記録語と文法パターンの接語との関連付けを行うよう構成することができる。この場合、当該文IDの単位文について、特に、中間文として中間語が何語含まれるかが特定され、かつ、当該中間語の後に接語が接続するかどうか(及びどのような接語が接続するか)も特定されるため、結果として、音声認識用の文法を構築する上で必要となる文型乃至構文が特定される。この場合の「文型」乃至「構文」とは、文法の規則を構成する開始記号、非終端記号及び終端記号の配置態様(及び非終端記号及び終端記号のそれぞれの数)を定義するパターンのことである。そして、音声認識用文法作成支援プログラムは、上記のようにして特定のテーマや用途についてユーザーが想定する全ての単位文の単語(特に、多種多様な中間語とそれに対応する記録語)を入力した時点で、ユーザーが、「全文完了」ボタン等の全ての単位文の入力完了を指示するコマンドボタンを選択実行(クリック等)することで、全ての文IDの単位文についての、開始語及び終了語、中間語及び記録語、並びに、文法パターンの記憶が完了すると共に、開始語及び終了語と中間語及び記録語と文法パターンの接語との関連付けが完了するよう構成することができる。この場合、全ての文IDの単位文について、音声認識用の文法を構築する上で必要となる文型乃至構文が特定される。そして、音声認識用文法作成支援プログラムは、このように入力値(開始語等)に基づいて特定した文型ごとに、文法の規則(後述する開始語規則や終了語規則や中間語規則)を生成する。
【0043】
ここで、文型としては、上記の最大で3語の中間語を入力する例の場合、「開始語(必須)」、「中間語(1〜3個)」、「接語(0〜3個)」、「終了語(必須)」の組み合わせパターン(中間語が何語で、どの中間語にどの接語が接続するかを表すパターン)により、上記のとおり、(接語が0個の場合は)全7パターンがあり、(接語が1個〜3個の場合は)全19パターンがあり、合計で全26パターンがある。そして、音声認識用文法作成支援プログラムは、入力値(開始語等)に基づいて特定した文型を、これら26パターンの文型と対比し、特定した文型について対応する文型の規則、特に、入力された全ての文型のパターンに対応する(文型のパターンの数と同一数の)中間語規則を生成する。即ち、音声認識用文法作成支援プログラムは、入力インタフェース1の入力値に基づいて、音声認識用の文法の各規則を自動生成する。また、当該文型で使用される具体的な単語も入力値(所定の記憶領域へ記憶した値)から特定されているため、文法ファイルにおいて終端記号を有する規則の当該終端記号(文脈自由文法の場合)や、語彙ファイルの語彙を構成する単語(Julianの場合)も特定することができる。このようにして、音声認識用文法作成支援プログラムは、上記特定のテーマや用途ごとに、入力値に基づいた文型に対応する構文となる各種の規則からなる一つの文法ファイルを構築する。即ち、特定の一つのテーマや用途についての全ての入力値(入力開始から入力完了までの入力値)が、音声認識文法に対応する一つのグループを形成し、この一つのグループについて一つの文法ファイルが構築される。
【0044】
[文法の規則]
次に、音声認識用文法作成支援プログラムによる、上記の入力インタフェース1からの入力値に基づく音声認識用文法の規則生成処理や文法ファイルの構築処理については後段で詳述するが、以下、音声認識用文法の規則生成処理や文法ファイルの構築処理の前提となる文法ファイルの構成用途である各種規則(ルール)について説明する。
A)ルート規則
まず、単位文は、開始語、中間文及び終了語からなるのが一般的であるため、音声認識用文法作成支援プログラムは、左辺に開始記号を配置し、右辺に、開始語用記号(開始語用非終端記号または開始語用終端記号)、中間語用記号(中間語用非終端記号)、及び、終端語用記号(終了語用非終端記号または終了語用終端記号)をこの順番で配置したルート規則を生成する。例えば、開始語及び終了語の対として、「それでは」及び「あるのですね」の対と、「じゃあ」及び「となります」の対を入力(及び記憶)した場合、下記の第1のルート規則〜第5のルート規則の5種類のルート規則のうちから、所定のルート規則が選択されて文法ファイルの最初の位置に配置される。なお、以下の規則の表記は、文脈自由文法(典型的にはABNF)による文法ファイルの構築を前提としている。また、規則中、左辺と右辺とを区切る区切りとして、以下の例では、便宜上、前記Julianの変形ABNFで使用する区切り記号「:」(コロン)を使用している(ABNFでは右向き矢印「→」となる)。また、非終端記号や終端記号の表記は、あくまで一例であり、各種の表記が可能である。更に、単位文の中間文が単一となる(一つの中間文のみ入力される)ことは通常はないため、ルート規則の右辺の中間語用記号は、必ず、非終端記号となり、後続の中間語規則で下位の中間語用非終端記号または中間語用終端記号が定義される。
第1のルート規則
S:SNT_START SNT_MID SNT_END
第2のルート規則
S:KW_START SNT_MID KW_END
第3のルート規則
S:それでは|じゃあ SNT_MID あるのですね|となります
第4のルート規則
S:それでは|じゃあ SNT_MID KW_END
第5のルート規則
S:KW_START SNT_MID あるのですね|となります
【0045】
次に、上記各ルート規則について詳述する。各ルート規則は、(Julianのように語彙ファイルがある場合も)文法ファイル中に配置される。
1)第1のルート規則
第1のルート規則は、上記のとおり、左辺に開始記号(S)を配置し、右辺には、最上位の開始語用非終端記号(SNT_START)、最上位の中間語用非終端記号(SNT_MID)、最上位の終了語用非終端(SNT_END)を配置したものである。なお、「最上位」とは、後続の下位となる規則(開始語規則、中間語規則、終了語規則)中で下位の同種の非終端記号(開始語用非終端記号、中間語用非終端記号、終了語用非終端記号)が定義されることを意味する。
2)第2のルート規則
第2のルート規則は、上記のとおり、左辺に開始記号を配置し、右辺には、最下位の開始語用非終端記号(KW_START)、最上位の中間語用非終端記号、最下位の終了語用非終端記号(KW_END)を配置したものである。なお、「最下位」とは、後続の下位となる規則中で下位の同種の非終端記号は定義されず、必ず、終端記号(開始語用終端記号としての「それでは」や、終了語用終端記号としての「あるのですね」等)が定義されるものをいう。
3)第3のルート規則
第3のルート規則は、上記のとおり、左辺に開始記号を配置し、右辺には、開始語用終端記号、第1の中間語用非終端記号、終了語用終端記号を配置したものである。なお、開始語用終端記号は、記憶した開始語である「それでは」と「じゃあ」を択一的に(記号「|」を挟んで)配置したものであり、終了語用終端記号は、記憶した終了語である「あるのですね」と「となります」を択一的に配置したものである。
4)第4のルート規則
第4のルート規則は、上記のとおり、左辺に開始記号を配置し、右辺には、開始語用終端記号(複数の開始語がある場合はそれらを択一配置)、第1の中間語用非終端記号、終了語用非終端記号を配置したものである。
5)第5のルート規則
第5のルート規則は、上記のとおり、左辺に開始記号を配置し、右辺には、開始語用非終端記号、第1の中間語用非終端記号、終了語用終端記号(複数の終了語がある場合はそれらを択一配置)を配置したものである。
【0046】
また、上記第1〜第5のルート規則の各々において、更に、右辺の最初にNS_B(開始無声区間)を追加したり、最後にNS_E(終了無声区間)を追加したりしてもよい。例えば、第1〜第3のルート規則の変形例として、下記の変形ルート規則1〜3が生成可能である(他の第4〜第6のルート規則についても同様の変形ルート規則が生成可能である)。
変形ルート規則1
S:NS_B SNT_START SNT_MID SNT_END NS_E
変形ルート規則2
S:NS_B KW_START SNT_MID KW_END NS_E
変形ルート規則3
S:NS_B それでは|じゃあ SNT_MID あるのですね|となります NS
_E
【0047】
更に、下記のように、上記非終端記号及び終端記号、並びに、NOISE(中間無声区間乃至ノイズ)の任意の1以上の組み合わせからなるルート規則を追加生成してもよい。例えば、第1のルート規則について、以下の無声区間含有変形ルート規則を生成可能である。同様に、第2〜第5のルート規則についても同様にして無声区間含有変形ルート規則を生成可能である。
S:NS_B NS_E
S:NS_B NOISE NS_E
S:NS_B SNT_START SNT_MID NS_E
S:NS_B SNT_MID SNT_END NS_E
S:NS_B SNT_START NS_E
S:NS_B SNT_MID NS_E
【0048】
また、上記第1〜第3のルート規則のいずれの場合も、必ず、(最上位の中間語用非終端記号を含む)ルート規則の下位となる(前記下位の最上位の中間語用非終端記号を展開するための複数の下位の中間語用非終端記号を含む)中間語規則が生成されるが、これは、中間語が、1語以上所定複数語以下の範囲(通常は2語以上)で入力されることから、各単位文における中間語の入力語数に応じた数の下位の中間語用非終端記号を配置した中間語規則が必要となるためである。例えば、中間語が1語の単位文だけが入力・記憶されている場合は、1個のみの下位の中間語用非終端記号を右辺に配置した中間語規則を生成すればよいが、中間語が2語以上となる(中間文となる)単位文が入力・記憶されている場合は、中間語と同一数(2個以上)の下位の中間語用非終端記号を右辺に配置した中間語規則を生成する必要がある。即ち、中間語が2個の単位文と、中間語が3個の中間文とが入力・記憶されている場合は、2個の下位の中間語用非終端記号を右辺に配置した中間語規則と、3個の下位の中間語用非終端記号を右辺に配置した中間語規則とを別個に生成する必要がある。一方、開始語規則については、ルート規則で開始語用終端記号が定義されている場合は生成不要であり、同様に、終了語規則については、ルート規則で終了語用終端記号が定義されている場合は生成不要である。開始語規則、終了語規則及び中間語規則については以下に詳述する。
【0049】
[入力値とルート規則との関係の例示]
例えば、単位文の開始語及び終了語の対、並びに、(1語以上の)中間語及び(0語以上の)接語が入力・記憶されている場合、音声認識用文法作成支援プログラムは、後述するルート規則生成手順で、開始語及び終了語の対の入力と中間語の入力(接語なしの場合)があったこと、或いは、開始語及び終了語の対の入力と中間語及び接語の入力(接語ありの場合)があったことを認識し、これに対応するルート規則として、上記第2のルート規則を生成する。通常の入力ではこの第2のルート規則(及び/またはその変形ルート規則)が生成される。或いは、これに代えて、音声認識用文法作成支援プログラムは、記憶された開始語及び終了語を択一的に配置した前記第3のルート規則(及び/またはその変形ルート規則)を生成したり、記憶された開始語のみを択一的に配置した前記第4のルート規則(及び/またはその変形ルート規則)を生成したり、記憶された終了語のみを択一的に配置した前記第5のルート規則(及び/またはその変形ルート規則)を生成したりすることもできる。なお、第1のルート規則については、最上位の開始語用非終端記号を展開する後続の開始語規則(下位の開始語用非終端記号を含むもの)及び終了語規則(下位の終了語用非終端記号を含むもの)がある場合にのみ生成されるが、特に、Julianのように文法ファイルと別個の語彙ファイルで語彙を定義する記法の場合に生成することが好ましく、この場合、後述する第1の開始語規則及び第1の終了語規則を文法ファイル中に定義し、後述する第2の開始語規則及び第2の終了語規則を語彙ファイルで定義することになる。
【0050】
B)開始語規則
例えば、開始語及び終了語の対として、「それでは」及び「あるのですね」の対と、「じゃあ」及び「となります」の対を入力(及び記憶)した場合、下記の第1の開始語規則〜第2の開始語規則の2種類の開始語規則のうちから、所定の開始語規則が選択されて文法ファイルの所定位置(例えば、前記ルート規則の次の位置)に配置される。
第1の開始語規則
SNT_START:KW_START
第2の開始語規則
KW_START:それでは|じゃあ
【0051】
次に、上記各開始語規則について詳述する。
1)第1の開始語規則
第1の開始語規則は、上記のとおり、左辺に第1の開始語用非終端記号(SNT_START)を配置し、右辺には、最下位の開始語用非終端記号(KW_START)を配置したものである。この第1の開始語規則は、ルート規則に上位の開始語用非終端記号がある場合、即ち、前記第1のルート規則の場合に生成される。第1の開始語規則は、(Julianのように語彙ファイルがある場合も)文法ファイル中に配置される。
2)第2の開始語規則
第2の開始語規則は、上記のとおり、左辺に最下位の開始語用非終端記号を配置し、右辺には、開始語用終端記号を配置(「それでは」、「じゃあ」を択一配置)したものである。第2の開始語規則は、ルート規則に最下位の開始語用非終端記号がある場合、即ち、前記第2または第5のルート規則の場合に生成される。第2の開始語規則は、SRGSのABNFではルート規則と同一の文法ファイル内に生成されるが、Julianの変形BNFでは文法ファイル(GRAMMAR FILE)とは別個の語彙ファイル(VOCA FILE)内に生成される。この場合、左辺の開始語用非終端記号はカテゴリー記号とも呼ばれる。
【0052】
上記の第1及び第2の開始語規則の各々において、下記の通り、最後にNOISEを追加した変形開始語規則を追加生成してもよい。
第1の変形開始語規則
SNT_START:KW_START NOISE
第2の変形開始語規則
SNT_START:それでは|じゃあ NOISE
【0053】
上記のように、前記第3及び第4のルート規則の場合は、開始語規則は生成不要となる。また、開始語規則の終端記号となる開始語(入力・記憶された文字列としての開始語)は、原則として1個であるが、2個以上の単語を連結した1個の連結語(例えば、「はい」及び「それでは」を連結した「はいそれでは」)を開始語として構成することもできる。
【0054】
[入力値と開始語規則との関係の例示]
音声認識用文法作成支援プログラムは、ルート規則生成手順で生成したルート規則が第1、第2または第5のルート規則の場合、後述する開始語規則生成手順で、当該ルート規則の開始語用非終端記号を展開する開始語規則(第1のルート規則の場合は第1の開始語規則、第2及び第5のルート規則の場合は第2の開始語規則)及び/またはその変形開始語規則を生成する。
【0055】
C)終了語規則
例えば、開始語及び終了語の対として、「それでは」及び「あるのですね」の対と、「じゃあ」及び「となります」の対を入力(及び記憶)した場合、下記の第1の終了語規則〜第2の終了語規則の2種類の終了語規則のうちから、所定の終了語規則が選択されて文法ファイルの所定位置(例えば、前記開始語規則の次の位置)に配置される。
第1の終了語規則
SNT_END:KW_END
第2の終了語規則
KW_END:あるのですね|となります
【0056】
次に、上記各終了語規則について詳述する。
1)第1の終了語規則
第1の終了語規則は、左辺に第1の終了語用非終端記号(SNT_END)を配置し、右辺には、最下位の終了語用非終端記号(KW_END)を配置したものである。この第1の終了語規則は、ルート規則に上位の終了語用非終端記号がある場合、即ち、前記第1のルート規則の場合に生成される。第1の終了語規則は、(Julianのように語彙ファイルがある場合も)文法ファイル中に配置される。
2)第2の終了語規則
第2の終了語規則は、左辺に最下位の終了語用非終端記号を配置し、右辺には、終了語用終端記号を配置(「あるのですね」、「となります」を択一配置)したものである。第2の終了語規則は、ルート規則に最下位の終了語用非終端記号がある場合、即ち、前記第2または第4のルート規則の場合に生成される。第2の終了語規則は、SRGSのABNFではルート規則と同一の文法ファイル内に生成されるが、Julianの変形BNFでは文法ファイル(GRAMMAR FILE)とは別個の語彙ファイル(VOCA FILE)内に生成され、この場合の左辺の終了語用非終端記号はカテゴリー記号とも呼ばれる。
【0057】
上記の第1及び第2の終了語規則の各々において、下記の通り、最初にNOISEを追加した変形終了語規則を追加生成してもよい。
第1の変形開始語規則
SNT_END:NOISE KW_END
第2の変形開始語規則
SNT_END:NOISE あるのですね|となります
【0058】
上記のように、前記第3及び第5のルート規則の場合は、終了語規則は生成不要となる。また、終了語規則の終端記号となる終了語は原則として1個であるが、2個以上の単語を連結した1個の連結語(例えば、「ということ」及び「ですね」を連結した「ということですね」)を終了語として構成することもできる。
【0059】
[入力値と終了語規則との関係の例示]
音声認識用文法作成支援プログラムは、ルート規則生成手順で生成したルート規則が第1、第2または第4のルート規則の場合、後述する終了語規則生成手順で、当該ルート規則の終了語用非終端記号を展開する開始語規則(第1のルート規則の場合は第1の終了語規則、第2及び第4のルート規則の場合は第2の終了語規則)及び/またはその変形終了語規則を生成する。
【0060】
D)中間語規則
各文IDについて1語〜3語の範囲内で中間語が入力・記憶されると共に、全ての文IDについて接語が1個も入力されない文法パターンを関連付けた場合(即ち、接語が後置されない中間語を入力・記憶した場合)、中間語の入力パターンは上記のとおり合計7パターンとなるため、下記の第1の中間語規則〜第7の中間語規則の7種類の中間語規則のうちから、所定の中間語規則が選択されて文法ファイルの所定位置(例えば、前記終了語規則の次の位置)に配置される。なお、中間語として単語(名詞等)を入力・記憶した場合、中間文を形成するためには、接語(典型的には助詞)を中間語に後置することになる(例えば、中間語として「昨日」、「39度」、「熱」を入力した場合、それぞれ、「から」「の」「が」という接語が後置される)。しかし、例えば、中間語として単語に接語を連結したものを入力・記憶することもできる(例えば、上記の例で、中間語として「昨日から」、「39度の」、「熱が」を入力・記憶することもできる)。この場合、文法ファイルの中間語規則は、下記の7種類の中間語規則から選択する構成とすることができる。なお、接語がない場合(0個の場合)とは、入力インタフェース1に接語入力部(上記中間語記録語文法パターンシート30等)を設けた場合において接語入力が全くない場合、または、入力インタフェース1に接語入力部を設けない場合がある。
【0061】
1)第1の中間語規則
第1の中間語規則は、左辺に最上位の中間語用非終端記号(第1の中間語用非終端記号)を配置し、右辺には、1個以上の最下位の中間語用非終端記号(第2の中間語用非終端記号)を配置したものである。ルート規則には最上位の中間語用非終端記号がある(即ち、第1の中間語規則の中間語用非終端記号から見て必ず上位の中間語用非終端記号がある)ため、第1の中間語規則は、最上位の中間語規則として、全てのルート規則で生成されることになり、文法ファイル内の所定位置(複数の中間語規則がある場合は、それらの中の最上位の位置)に配置される。また、第1の中間語規則は、各単位文(文IDごと)における中間語の語数と語順に応じた入力パターンのそれぞれについて生成される(例えば、上記文法パターン1〜7のそれぞれごとに生成される)。したがって、右辺の内容(中間語用非終端記号の数及び種類)が異なる第1の中間語規則が、入力インタフェース1からの中間語の入力値(数及び語順)にしたがって、即ち、前記文法パターンにしたがって生成される。ここで、上記中間語記録語入力シート20のように、入力インタフェース1の中間語入力部に3個の中間語入力欄を設けた場合の全ての入力可能な中間語の組み合わせは、以下の通り(全7パターン)となる。下記では、中間語が1語、2語、3語の場合について、それぞれ、文法パターンに対応づけて説明している。なお、入力インタフェースにおける(一つの単位文における)中間語入力部の中間語の最大入力語数が2語または4語以上の場合も、対応する入力パターンを(数学的な組み合わせ法により)得ることができるため、下記の場合と同様にして、全ての入力パターンについての第1の中間語規則を生成することができる。
【0062】
イ)1語の中間語の場合
1−1)第1−1の中間語規則(文法パターン1)
SNT_MID:KW_MID1
1−2)第1−2の中間語規則(文法パターン2)
SNT_MID:KW_MID2
1−3)第1−3の中間語規則(文法パターン3)
SNT_MID:KW_MID3
ロ)2語の中間語の場合
1−4)第1−4の中間語規則(文法パターン4)
SNT_MID:KW_MID1 KW_MID2
1−5)第1−5の中間語規則(文法パターン5)
SNT_MID:KW_MID2 KW_MID3
1−6)第1−6の中間語規則(文法パターン6)
SNT_MID:KW_MID1 KW_MID3
ハ)3語の中間語の場合
1−7)第1−7の中間語規則(文法パターン7)
SNT_MID:KW_MID1 KW_MID2 KW_MID3
【0063】
上記のとおり、第1−1(第1の1)の中間語規則は、左辺に最上位の中間語規則用非終端記号(SNT_MID)を配置し、右辺には、最下位の中間語用非終端記号のうち1番目の中間語に対応する第1の最下位の中間語用非終端記号(第1−1の最下位の中間語用非終端記号)(KW_MID1)を配置したものである。また、第1−2(第1の2)の中間語規則は、左辺に最上位の中間語規則用非終端記号を配置し、右辺には、最下位の中間語用非終端記号のうち2番目の中間語に対応する第2の最下位の中間語用非終端記号(第1−2の最下位の中間語用非終端記号)(KW_MID2)を配置したものである。更に、第1−3(第1の3)の中間語規則は、左辺に最上位の中間語規則用非終端記号を配置し、右辺には、最下位の中間語用非終端記号のうち3番目の中間語に対応する第3の最下位の中間語用非終端記号(第1−3の最下位の中間語用非終端記号)(KW_MID3)を配置したものである。次に、第1−4(第1の4)の中間語規則は、左辺に最上位の中間語規則用非終端記号を配置し、右辺には、最下位の中間語用非終端記号のうち第1−1の最下位の中間語用非終端記号と第1−2の最下位の中間語用非終端記号を配置したものである。また、第1−5(第1の5)の中間語規則は、左辺に最上位の中間語規則用非終端記号を配置し、右辺には、最下位の中間語用非終端記号のうち第1−2の最下位の中間語用非終端記号と第1−3の最下位の中間語用非終端記号を配置したものである。更に、第1−6(第1の6)の中間語規則は、左辺に最上位の中間語規則用非終端記号を配置し、右辺には、最下位の中間語用非終端記号のうち第1−1の最下位の中間語用非終端記号と第1−3の最下位の中間語用非終端記号を配置したものである。次に、第1−7(第1の7)の中間語規則は、左辺に最上位の中間語規則用非終端記号を配置し、右辺には、最下位の中間語用非終端記号のうち第1−1の最下位の中間語用非終端記号と第1−2の最下位の中間語用非終端記号と第1−3の最下位の中間語用非終端記号(即ち、全ての最下位の中間語用非終端中間語記号)を配置したものである。
【0064】
[入力値と第1の中間語規則との関係の例示]
例えば、単位文の中間語として、前記中間語記録語入力シート20の中間語入力欄21の第1の中間語入力領域(M1)及び第3の中間語入力領域(M3)に、「昨日から」及び「せきが」のような2語の中間語(接語なし)がそれぞれ入力・記憶された場合、音声認識用文法作成支援プログラムは、後述する中間語規則生成手順で、2語の中間語の入力(接語なし)があったこと、及び、その入力位置(M1,M3)を認識し、これに対応する中間語規則として、上記第1−6の中間語規則を生成する。同様に、単位文の中間語として、前記中間語記録語入力シート20の中間語入力欄21の第1〜第3の中間語入力領域(M1〜M3)に、「昨日から」、「39度の」、「熱が」のような3語の中間語(接語なし)がそれぞれ入力・記憶された場合、音声認識用文法作成支援プログラムは、3語の中間語の入力(接語なし)があったこと、及び、その入力位置(M1,M2,M3)を認識し、これに対応する中間語規則として、上記第1〜第7の中間語規則のうちの対応するもの(前記中間語の入力パターンに対応する中間語規則の全て)を生成する。
【0065】
2)第2の中間語規則
第2の中間語規則は、左辺に最上位の中間語用非終端記号を配置し、右辺には、1個以上の最下位の中間語用非終端記号と、1個以上の接語用非終端記号とを配置したものである。即ち、第1の中間語規則が、接語がない場合(0個の場合)についての中間語規則であるのに対し、第2の中間語規則は、少なくとも1つの中間語について接語が後置される場合の中間語規則である。第2の中間語規則も、第1の中間語規則と同様の理由により、最上位の中間語規則として、全てのルート規則で生成されることになり、文法ファイル内の所定位置(上記最上位の位置)に配置される。また、第2の中間語規則は、各単位文における中間語の語数と語順並びに接語の語数と位置(どの中間語に後置されるか)に応じた入力パターンのそれぞれについて生成される。即ち、第2の中間語規則は、前記中間語のみかる場合の当該中間語の入力パターンのそれぞれについて、いずれか1つ以上の中間語に接語を後置する場合の全ての組み合わせパターンのそれぞれについて生成される。したがって、右辺の内容(中間語用非終端記号の数及び種類、並びに、接語用非終端記号の数及び種類)が異なる第2の中間語規則が、入力インタフェース1からの中間語の入力値(数及び語順)並びに接語の入力値(数及び位置)にしたがって、即ち、前記組み合わせパターンにしたがって生成される。ここで、上記中間語記録語入力シート20及び中間語記録語文法パターンシート30のように、入力インタフェース1の中間語入力部に3個の中間語入力欄を設けると共に接語入力部に対応する3個の接語入力欄を設けた場合の全ての可能な中間語及び接語の組み合わせは、以下の通り(全19パターン)となる。下記では、中間語が1語、2語、3語で、接語が1語、2語、3語の場合について、それぞれ、前記文法パターンに対応づけて説明している。なお、下記の文法パターンにおける「1−1」、「1−2」等のハイフンと数字の部分(−1、−2・・・)は、文法パターン1における1番目のパターン(接語が1番目に来る)、2番目のパターン(接語が2番目に来る・・・といった意味で使用している。また、入力インタフェースにおける中間語入力部の(一つの単位文における)中間語の最大入力語数及び接語の最大入力語数が2語または4語以上の場合も、対応する組み合わせパターンを(数学的な組み合わせ法により)得ることができるため、下記の場合と同様にして、全ての組み合わせパターンについての第2の中間語規則を生成することができる。
【0066】
イ)1個の中間語及び1個の接語の場合(3パターン)
2−1)第2−1の中間語規則(文法パターン1−1)
SNT_MID:KW_MID1 IW_1
2−2)第2−2の中間語規則(文法パターン2−1)
SNT_MID:KW_MID2 IW_2
2−3)第2−3の中間語規則(文法パターン3−1)
SNT_MID:KW_MID3 IW_3
ロ)2個の中間語及び1個または2個の接語の場合(3パターン)
2−4)第2−4の中間語規則(文法パターン4−1)
SNT_MID:KW_MID1 IW_1 KW_MID2
2−5)第2−5の中間語規則(文法パターン4−2)
SNT_MID:KW_MID1 KW_MID2 IW_2
2−6)第2−6の中間語規則(文法パターン4−3)
SNT_MID:KW_MID1 IW_1 KW_MID2 IW_2
ハ)2個の中間語+1個または2個の接語(3パターン)
2−7)第2−7の中間語規則(文法パターン5−1)
SNT_MID:KW_MID2 IW_2 KW_MID3
2−8)第2−8の中間語規則(文法パターン5−2)
SNT_MID:KW_MID2 KW_MID3 IW_3
2−9)第2−9の中間語規則(文法パターン5−3)
SNT_MID:KW_MID2 IW_2 KW_MID3 IW_3
ニ)2個の中間語+1個または2個の接語(3パターン)
2−10)第2−10の中間語規則(文法パターン6−1)
SNT_MID:KW_MID1 IW_1 KW_MID3
2−11)第2−11の中間語規則(文法パターン6−2)
SNT_MID:KW_MID1 KW_MID3 IW_3
2−12)第2−12の中間語規則(文法パターン6−3)
SNT_MID:KW_MID1 IW_1 KW_MID3 IW_3
ニ)3個の中間語+1個または2個または3個の接語(7パターン)
2−13)第2−13の中間語規則(文法パターン7−1)
SNT_MID:KW_MID1 IW_1 KW_MID2 KW_MID3
2−14)第2−14の中間語規則(文法パターン7−2)
SNT_MID:KW_MID1 KW_MID2 IW_2 KW_MID3
2−15)第2−15の中間語規則(文法パターン7−3)
SNT_MID:KW_MID1 KW_MID2 KW_MID3 IW_3
2−16)第2−16の中間語規則(文法パターン7−4)
SNT_MID:KW_MID1 IW_1 KW_MID2 IW_2 KW_MID3
2−17)第2−17の中間語規則(文法パターン7−5)
SNT_MID:KW_MID1 KW_MID2 IW_2 KW_MID3 IW_3
2−18)第2−18の中間語規則(文法パターン7−6)
SNT_MID:KW_MID1 IW_1 KW_MID2 KW_MID3 IW_3
2−19)第2−19の中間語規則(文法パターン7−7)
SNT_MID:KW_MID1 IW_1 KW_MID2 IW_2 KW_MID3 IW_3
【0067】
上記のとおり、第2−1(第2の1)の中間語規則は、左辺に最上位の中間語規則用非終端記号(SNT_MID)を配置し、右辺には、第1−1の最下位の中間語用非終端記号(KW_MID1)及びその接語を定義するための接語用非終端記号(IW_1)を配置したものである。また、第2−2(第2の2)の中間語規則は、左辺に最上位の中間語規則用非終端記号を配置し、右辺には、第1−2の最下位の中間語用非終端記号(KW_MID2)及びその接語を定義するための接語用非終端記号(IW_2)を配置したものである。また、第2−3(第2の3)の中間語規則は、左辺に最上位の中間語規則用非終端記号を配置し、右辺には、第1−3の最下位の中間語用非終端記号(KW_MID3)及びその接語を定義するための接語用非終端記号(IW_3)を配置したものである。また、第2−4(第2の4)の中間語規則は、左辺に最上位の中間語規則用非終端記号を配置し、右辺には、第1−1の最下位の中間語用非終端記号及びその接語を定義するための接語用非終端記号と、第1−2の最下位の中間語用非終端記号とを配置したものである。また、第2−5(第2の5)の中間語規則は、左辺に最上位の中間語規則用非終端記号を配置し、右辺には、第1−1の最下位の中間語用非終端記号と、第1−2の最下位の中間語用非終端記号及びその接語を定義するための接語用非終端記号とを配置したものである。また、第2−6(第2の6)の中間語規則は、左辺に最上位の中間語規則用非終端記号を配置し、右辺には、第1−1の最下位の中間語用非終端記号及びその接語を定義するための接語用非終端記号と、第1−2の最下位の中間語用非終端記号及びその接語を定義するための接語用非終端記号とを配置したものである。
【0068】
また、第2−7(第2の7)の中間語規則は、左辺に最上位の中間語規則用非終端記号を配置し、右辺には、第1−2の最下位の中間語用非終端記号及びその接語を定義するための接語用非終端記号と、第1−3の最下位の中間語用非終端記号とを配置したものである。また、第2−8(第2の8)の中間語規則は、左辺に最上位の中間語規則用非終端記号を配置し、右辺には、第1−2の最下位の中間語用非終端記号と、第1−3の最下位の中間語用非終端記号及びその接語を定義するための接語用非終端記号とを配置したものである。また、第2−9(第2の9)の中間語規則は、左辺に最上位の中間語規則用非終端記号を配置し、右辺には、第1−2の最下位の中間語用非終端記号及びその接語を定義するための接語用非終端記号と、第1−3の最下位の中間語用非終端記号及びその接語を定義するための接語用非終端記号とを配置したものである。また、第2−10(第2の10)の中間語規則は、左辺に最上位の中間語規則用非終端記号を配置し、右辺には、第1−1の最下位の中間語用非終端記号及びその接語を定義するための接語用非終端記号と、第1−3の最下位の中間語用非終端記号とを配置したものである。また、第2−11(第2の11)の中間語規則は、左辺に最上位の中間語規則用非終端記号を配置し、右辺には、第1−1の最下位の中間語用非終端記号と、第1−3の最下位の中間語用非終端記号及びその接語を定義するための接語用非終端記号とを配置したものである。また、第2−12(第2の12)の中間語規則は、左辺に最上位の中間語規則用非終端記号を配置し、右辺には、第1−1の最下位の中間語用非終端記号及びその接語を定義するための接語用非終端記号と、第1−3の最下位の中間語用非終端記号及びその接語を定義するための接語用非終端記号とを配置したものである。
【0069】
また、第2−13(第2の13)の中間語規則は、左辺に最上位の中間語規則用非終端記号を配置し、右辺には、第1−1の最下位の中間語用非終端記号及びその接語を定義するための接語用非終端記号と、第1−2の最下位の中間語用非終端記号と、第1−3の最下位の中間語用非終端記号とを配置したものである。また、第2−14(第2の14)の中間語規則は、左辺に最上位の中間語規則用非終端記号を配置し、右辺には、第1−1の最下位の中間語用非終端記号と、第1−2の最下位の中間語用非終端記号及びその接語を定義するための接語用非終端記号と、第1−3の最下位の中間語用非終端記号とを配置したものである。また、第2−15(第2の15)の中間語規則は、左辺に最上位の中間語規則用非終端記号を配置し、右辺には、第1−1の最下位の中間語用非終端記号と、第1−2の最下位の中間語用非終端記号及びその接語を定義するための接語用非終端記号と、第1−3の最下位の中間語用非終端記号及びその接語を定義するための接語用非終端記号とを配置したものである。また、第2−16(第2の16)の中間語規則は、左辺に最上位の中間語規則用非終端記号を配置し、右辺には、第1−1の最下位の中間語用非終端記号及びその接語を定義するための接語用非終端記号と、第1−2の最下位の中間語用非終端記号及びその接語を定義するための接語用非終端記号と、第1−3の最下位の中間語用非終端記号とを配置したものである。また、第2−17(第2の17)の中間語規則は、左辺に最上位の中間語規則用非終端記号を配置し、右辺には、第1−1の最下位の中間語用非終端記号と、第1−2の最下位の中間語用非終端記号及びその接語を定義するための接語用非終端記号と、第1−3の最下位の中間語用非終端記号及びその接語を定義するための接語用非終端記号とを配置したものである。また、第2−18(第2の18)の中間語規則は、左辺に最上位の中間語規則用非終端記号を配置し、右辺には、第1−1の最下位の中間語用非終端記号及びその接語を定義するための接語用非終端記号と、第1−2の最下位の中間語用非終端記号と、第1−3の最下位の中間語用非終端記号及びその接語を定義するための接語用非終端記号とを配置したものである。また、第2−19(第2の19)の中間語規則は、左辺に最上位の中間語規則用非終端記号を配置し、右辺には、第1−1の最下位の中間語用非終端記号及びその接語を定義するための接語用非終端記号と、第1−2の最下位の中間語用非終端記号及びその接語を定義するための接語用非終端記号と、第1−3の最下位の中間語用非終端記号及びその接語を定義するための接語用非終端記号とを配置したものである。
【0070】
また、第1−2(第1の2)の中間語規則は、左辺に最上位の中間語規則用非終端記号を配置し、右辺には、最下位の中間語用非終端記号のうち2番目の中間語に対応する第2の最下位の中間語用非終端記号(第1−2の最下位の中間語用非終端記号)(KW_MID2)を配置したものである。更に、第1−3(第1の3)の中間語規則は、左辺に最上位の中間語規則用非終端記号を配置し、右辺には、最下位の中間語用非終端記号のうち3番目の中間語に対応する第3の最下位の中間語用非終端記号(第1−3の最下位の中間語用非終端記号)(KW_MID3)を配置したものである。次に、第1−4(第1の4)の中間語規則は、左辺に最上位の中間語規則用非終端記号を配置し、右辺には、最下位の中間語用非終端記号のうち第1−1の最下位の中間語用非終端記号と第1−2の最下位の中間語用非終端記号を配置したものである。また、第1−5(第1の5)の中間語規則は、左辺に最上位の中間語規則用非終端記号を配置し、右辺には、最下位の中間語用非終端記号のうち第1−2の最下位の中間語用非終端記号と第1−3の最下位の中間語用非終端記号を配置したものである。更に、第1−6(第1の6)の中間語規則は、左辺に最上位の中間語規則用非終端記号を配置し、右辺には、最下位の中間語用非終端記号のうち第1−1の最下位の中間語用非終端記号と第1−3の最下位の中間語用非終端記号を配置したものである。次に、第1−7(第1の7)の中間語規則は、左辺に最上位の中間語規則用非終端記号を配置し、右辺には、最下位の中間語用非終端記号のうち第1−1の最下位の中間語用非終端記号と第1−2の最下位の中間語用非終端記号と第1−3の最下位の中間語用非終端記号(即ち、全ての最下位の中間語用非終端中間語記号)を配置したものである。
【0071】
[入力値と第2の中間語規則との関係の例示]
例えば、単位文の中間語として、前記中間語記録語入力シート20の中間語入力欄21の第1の中間語入力領域(M1)及び第3の中間語入力領域(M3)に、「昨日」及び「せき」のような2語の中間語がそれぞれ入力・記憶され、中間語記録語文法パターンシート30の中間語文法欄31の中間語文法入力領域M1及びM3に、「から」及び「が」のような2語の接語がそれぞれ入力・記憶された場合、音声認識用文法作成支援プログラムは、後述する中間語規則生成手順で、2語の中間語の入力があったこと、及び、その入力位置(M1,M3)を認識すると共に、2語の中間語にそれぞれ後置される接語の入力があったこと、及び、接続対象となる中間語の位置(M1,M3)を認識し、これに対応する中間語規則として、上記第2−12の中間語規則を生成する。同様に、単位文の中間語として、前記中間語記録語入力シート20の中間語入力欄21の第1〜第3の中間語入力領域(M1〜M3)に、「昨日」、「39度」、「熱」のような3語の中間語がそれぞれ入力・記憶され、中間語記録語文法パターンシート30の中間語文法欄31の中間語文法入力領域M1,M2及びM3に、「から」、「の」及び「が」のような3語の接語がそれぞれ入力・記憶された場合、音声認識用文法作成支援プログラムは、3語の中間語の入力があったこと、及び、その入力位置(M1,M2,M3)を認識すると共に、3語の中間語にそれぞれ後置される接語の入力があったこと、及び、接続対象となる中間語の位置(M1,M2,M3)を認識し、これに対応する中間語規則として、上記第2〜第19の中間語規則のうちの対応するもの(前記中間語及び接語の組み合わせパターンに対応する中間語規則の全て)を生成する。
【0072】
このように、上記いずれのルート規則の場合も、必ず、第1の中間語規則または第2の中間語規則は生成される。即ち、接語がない単位文のみから構成される場合は第1の中間語規則が生成され、接語がある単位文のみから構成される場合は第2の中間語規則が生成され、接語のない単位文と接語がある単位文から構成される場合は第1の中間語生成規則及び第2の中間語規則が生成される。
【0073】
上記の第1の中間語規則及び第2の中間語規則の各々において、下記の通り、中間語間、または、接語と中間語との間にNOISEを追加した変形中間語規則(第1の変形中間語規則、第2の変形中間語規則)を追加生成してもよい。
第1の変形中間語規則
SNT_MID:KW_MID1 NOISE KW_MID2
第2の変形中間語規則
SNT_MID:KW_MID1 IW_1 NOISE KW_MID2
【0074】
[入力インタフェース1の別例の中間語記録語入力シート50]
図5は実施の形態1の入力インタフェース1の別例の中間語記録語入力シート50を示す。この中間語記録語入力シート50は、
図2の中間語記録語入力シート20と同様、中間語入力欄51と、記録語入力欄52とを含む。即ち、中間語入力欄51は、中間語入力欄21と同様、所定複数の中間語入力領域(図示の例では3個の直列的な中間語入力領域)M1,M2,M3を有する。一方、中間語入力欄51の各中間語入力領域M1,M2,M3は、左右に3つに分割された入力領域を有している。即ち、中間語入力欄51の各中間語入力領域M1,M2,M3は、中間語入力欄21の中間語入力領域M1,M2,M3と同様の中間語表記入力欄(中央の入力欄)と中間語読み入力欄(右側の入力欄)に加え、分類入力欄(左側の入力欄)を有している。分類入力欄は、各文IDの各中間語の入力値に対して、その分類を入力するためのものであり、音声認識対象のテーマや用途に応じて予め定めた分類を定義する用語(例えば、医療カルテ記録用途の場合、
図5に示すように、左欄の「時期」、中欄の「体温」、「部位」、「既往症」、右欄の「症状」等)をプルダウンメニューにより選択するようにしたり、個別入力するようにしたりすることができる。なお、記録語入力欄52は、記録語入力欄31と同様の構成である。中間語記録語入力シート50の場合、分類入力欄に入力・記憶した「分類」を、例えば、Julianの非終端記号である「カテゴリー」記号としてそのまま利用することができる。なお、このとき、入力値を漢字入力・漢字表示としている場合は、入力値をローマ字等の音声認識用文法に沿った形態に変換したもの(例えば、「価格」を「KAKAKU」に変換した値等)を「カテゴリー」記号として利用する。同様に、上記入力インタフェース1における入力値が漢字入力・漢字表示やかな入力・かな表示となっている場合も、入力値をローマ字等の音声認識用文法に沿った形態に変換したものを非終端記号や終端記号として利用する。
【0075】
[機能実現手段]
次に、
図6を参照して、音声認識用文法作成支援プログラムによる音声認識用文法作成装置の各種機能実現手段について説明する。
まず、音声認識用文法作成装置は、音声認識用文法作成支援プログラムの起動により、図示しない描画手段によってフォーム状の入力GUIとしての入力インタフェース1をモニタ5に画面表示してユーザーに入力を促す。詳細には、音声認識用文法作成装置は、データ入力手段100を備えている。データ入力手段100は、前記入力インタフェース1による各入力値の入力機能を実現するものであり、開始語終了語入力手段110、中間語入力手段120、文法パターン入力手段130を備えている。開始語終了語入力手段110は、開始語終了語入力シート10をモニタ5に表示し、開始語及び終了語の入力機能を実現する。また、中間語入力手段120は、中間語記録語入力シート20をモニタ5に表示し、中間語及び記録語の入力機能を実現する。また、文法パターン入力手段130は、中間語記録語文法パターンシート30をモニタ5に表示し、中間語文法(中間語の接語のパターン)及び記録語文法(記録語の接語のパターン)の入力機能を実現する。一方、開始語終了語入力手段110を介して入力された開始語及び終了語は、開始語終了語格納手段140によって開始語終了語テーブル(
図17参照)に格納される。また、中間語記録語入力手段120を介して入力された中間語及び記録語は、中間語格納手段150によって中間語テーブル(
図18参照)に格納される。また、文法パターン入力手段130を介して入力された中間語文法(中間語の接語のパターン)及び記録語文法(記録語の接語のパターン)は、文法パターン格納手段160によって文法パターンテーブル(
図18参照)に格納される。前記データ入力手段100及び格納手段140〜160は、本実施の形態の入力記憶手段を構成する。
【0076】
[文法作成手段170]
音声認識用文法作成装置は、更に、文法生成手段としての文法作成手段170を備えている。文法作成手段170は、前記開始語終了語テーブル、中間語テーブル及び文法パターンテーブルから抽出した記憶値に基づいて、上記の各規則を定義した文法ファイルを作成する。詳細には、文法作成手段170は、構文マスタ(マスタファイル)171、構文抽出手段172及び語抽出手段173を備えている。構文マスタ171は、上記の各種ルート規則(第1のルート規則等)、各種開始語規則(第1の開始語規則等)、各種終了語規則(第1の終了語規則等)、各種中間語規則(第1の中間語規則及び第2の中間語規則等)をテキストベースのテンプレートとして予め作成し格納したものである。具体的には、構文マスタ171は、右辺に非終端記号のみを含む規則(第1〜第2のルート規則、第1の開始語規則、第1の終了語規則、並びに、全ての第1の中間語規則及び全ての第2の中間語規則)とそれらの変則規則を格納している。構文抽出手段172は、上記各種規則について「入力値と・・・規則との関係の例示」の項で説明したように、開始語終了語テーブル、中間語テーブル及び文法パターンテーブルに格納した記憶値(開始語、終了語、中間語、接語)に基づいて、所定のルート規則、所定の開始語規則、所定の終了語規則及び所定の中間語規則を構文マスタ171から抽出して、白紙(ブランク)の文法ファイルに順次書き込む。
【0077】
[構文抽出手段172]
具体的には、構文抽出手段172は、まず、所定のルート規則を構文マスタ171から抽出して、白紙(ブランク)の文法ファイルの最上位の位置に書き込む。なお、このときのルート規則としては、通常の文脈自由文法のように単一文法ファイルを作成する場合は、前記第2のルート規則を書き込むよう構成することができ、また、Julianのように文法ファイルと語彙ファイルを必要とする文法では、前記第1のルート規則を書き込むよう構成することができる。また、必要に応じて、これに加えて、その変形ルート規則を追加して書き込むよう構成することもできる。更に、これに代えて、前記第3〜第5のルート規則及び/またはその変形ルート規則を書き込むよう構成することもできる。次に、構文抽出手段172は、書き込んだルート規則の種類に従って、開始語規則を文法ファイルの所定位置(通常はルート規則の次の位置)に書き込み、また、終了語規則を文法ファイルの所定位置(通常は開始語規則の次の位置)に書き込む。次に、構文抽出手段172は、中間語テーブル及び文法テーブルの記憶値(中間語、接語)を参照し、その記憶値に基づいて、上記したように、中間語の入力パターンや中間語と接語の組み合わせパターンを判断及び認識し、認識した(実際に存在する)中間語の入力パターンや中間語と接語の組み合わせパターンごとに、対応する中間語規則を構文マスタ171から抽出して、その中間語規則を文法ファイルの所定位置(通常は終了語規則の次の位置)に書き込む。また、必要に応じて、これに加えて、その変形中間語規則を追加して書き込むよう構成することもできる。更に、ルート規則を除く規則(開始語規則、終了語規則及び中間語規則)のうちの(上位の規則がある場合の)最下位の規則であって終端記号を定義する規則については、構文マスタ171に各終端規則の左辺及び区切り記号のみを並べた終端規則用テンプレートを格納しておき、構文抽出手段172が上位の規則(開始語規則、終了語規則及び中間語規則)を書き込んだ後に、当該上位の規則(開始語規則、終了語規則及び中間語規則)の後に、対応する終端規則用テンプレートを書き込む。なお、説明の便宜上、このような最下位の規則を、終端記号を定義する規則という意味で「終端規則」といい、これより上位の規則を、非終端記号を定義する規則という意味で「非終端規則」と称する。
【0078】
[語抽出手段173]
語抽出手段173は、構文抽出手段172による文法ファイルSF(または文法ファイルGF)へのルート規則、開始語規則、終了語規則及び中間語規則の書き込みが完了すると、開始語終了語テーブル、中間語テーブル及び文法パターンテーブルから、それぞれ、文字列である開始語、終了語、中間語及び接語を逐一(1語ずつ)抽出し、開始語終端規則、終了語終端規則及び中間語終端規則を生成する。具体的には、上記のように、前記構文抽出手段172により文法ファイルに前記終端規則用テンプレートを書き込んだ場合は、語抽出手段173は、開始語終端規則の右辺の開始語用終端記号として、その記憶値である開始語を開始語終了語テーブルから逐一(1語ずつ)抽出し、抽出した開始語を、図示しない構文生成手段により、対応する開始語用終端規則の右辺に択一的に配置して書き込む。同様に、語抽出手段173は、終了語終端規則の右辺の終了語用終端記号として、その記憶値である終了語を開始語終了語テーブルから逐一(1語ずつ)抽出し、抽出した終了語を、構文生成手段により、対応する終了語用終端規則の右辺に択一的に配置して書き込む。同様に、語抽出手段173は、中間語終端規則の右辺の中間語用終端記号として、その記憶値である中間語を中間語テーブルから逐一(1語ずつ)抽出し、抽出した中間語を、構文生成手段により、対応する中間語用終端規則の右辺に択一的に配置して書き込むと共に、中間語終端規則の右辺の接語用終端記号として、その記憶値である接語を文法パターンテーブルから逐一(1語ずつ)抽出し、抽出した接語を、構文生成手段により、対応する接語用終端規則の右辺に択一的に配置して書き込む。或いは、構文マスタ171には前記終端規則用テンプレートは格納せず、構文抽出手段172による終端規則生成用の終端規則用テンプレートの抽出も行わないようにし、その代わりに、前記構文生成手段により、左辺に最下位の非終端記号を配置し、区切り記号を挟んで、上記と同様の処理により、右辺に終端記号を択一的に配置して各終端規則を生成するよう構成することもできる。
【0079】
ところで、本発明では、構文マスタ171を設けて各規則用のテンプレートを予め格納することなく、上記各種規則について「入力値と・・・規則との関係の例示」の項で説明したように、開始語終了語テーブル、中間語テーブル及び文法パターンテーブルに格納した記憶値(開始語、終了語、中間語、接語)に基づいて、随時、ルート規則、開始語規則、終了語規則及び中間語規則を生成することもできる。この場合、音声認識用文法作成装置は、構文マスタ171及び構文抽出手段172の代わりに、前記構文生成手段により、上記構成(左辺と右辺における記号の配置構成)を有する各規則の自動生成機能を実現することができる。例えば、プログラミング言語に応じた文字列演算機能(文字列の生成、連結等)を利用して、上記の各規則の左辺の記号、区切り記号及び右辺の記号を文字列としてそれぞれ生成すると共に、それらの文字列を連結して、各規則を自動生成することができる。なお、構文生成手段による前記終端規則の生成も、これと同様の処理により実現可能である。また、後述するように、書き込んだ中間語規則を更に展開する必要がある場合、即ち、当該中間語規則中の中間語用非終端記号の下位となる中間語用非終端記号を下位の中間語規則で定義する必要がある場合、音声認識用文法作成装置は、更に、構文生成手段の一部として、下位の中間語規則を生成するための中間語規則生成手段を備えるよう構成することができる。
【0080】
上記ルート規則、並びに、開始語規則、終了語規則及び中間語規則のうちの非終端規則は、通常の文脈自由文法の単一の文法ファイル(例えば、SRGS文法ファイル)SFや、Julianのような変形文脈自由文法の文法ファイルGFに書き込まれる。一方、開始語規則、終了語規則及び中間語規則のうちの終端規則は、通常の文脈自由文法では単一の文法ファイル(例えば、SRGS文法ファイル)SF中において前記非終端規則の後に書き込まれるが、Julianのような変形文脈自由文法では、文法ファイルGFとは別個の白紙(ブランク)の語彙ファイルVFに書き込まれる。この場合、開始語については、前記第2の開始語規則と同様にして、具体的な開始語が書き込まれ、終了語については、前記第2の終了語規則と同様にして、具体的な開始語が書き込まれる。一方、中間語及び接語については、第2の開始語規則及び第2の終了語規則と同様の記法により書き込みが行われる。
【0081】
このように構築した文法ファイルを使用して、音声認識エンジン乃至音声認識プログラムが、開始語、中間語及び終了語からなる一連の文としての単位文の音声入力についての音声認識処理をコンピュータに実行させる。
【0082】
[データ入力処理・データ格納処理]
次に、
図7を参照して、音声認識用文法作成支援プログラムによる音声認識用文法作成処理のうち、データ入力処理及びデータ格納処理について並行して説明する。
まず、
図7に示すように、データ入力処理については、音声認識用文法作成支援プログラムを起動すると、入力画面が起動及び初期化されると共に(STEP11)、新規の文法ファイルが作成され、当該文法ファイルにグループ設定(グループID付与)がなされる(STEP12)。この一意のグループID(GRID)は、音声認識用文法作成支援プログラムが作成する文法ファイルごとに付与され、データ格納用のデータベースのグループテーブル(
図16参照)にグループ名及び文法ファイル名と関連付けて格納される(STEP31)。このグループIDにより文法ファイルを管理することができる。以降、前記入力インタフェース1を利用して、入力が行われる。まず、開始語及び終了語の表記入力(STEP13)及び読み入力(STEP14)があると、前記データベースの開始語終了語テーブル(
図16参照)に、入力した開始語及び終了語の表記及び読みが、それぞれ、前記グループIDと関連付けて格納される(STEP32,STEP33)。また、このとき、入力した開始語及び終了語ごとに、一意の開始終了語ID(SEID)が関連付けて格納される。次に、入力した開始語及び終了語の対に対して文法パターンが指定されると(STEP15)、文法パターンごとに割り当てられた一意の文法パターンID(GPID)が、当該開始語及び終了語の対に関連付けて、開始終了語テーブルに格納される(STEP34)。次に、中間語の表記入力(STEP16)及び読み入力(STEP17)があると、前記データベースの中間語テーブル(
図17参照)に、入力した中間語の表記及び読みが、前記グループID及び開始語終了語IDとそれぞれ関連付けて格納される(STEP35,STEP36)。また、このとき、入力した中間語ごとに、一意の中間語ID(MDID)が関連付けて格納される。次に、記録語の表記入力があると(STEP18)、前記中間語テーブルに、入力した記録語の表記が、前記グループID及び開始語終了語ID並びに中間語IDとそれぞれ関連付けて格納される(STEP37)。なお、この例では、記録語の読みは格納しない構成としている。次に、入力した中間語及び記録語に対して文法パターンが指定されると(STEP19)、その文法パターンIDが、当該中間語及び記録語の対に関連付けて、中間語テーブルに格納される(STEP38)。次に、当該文法パターンに対応して、その接語の表記入力(STEP20)及び読み入力(STEP21)があると、前記データベースの文法パターンテーブル(
図18参照)に、入力した接語の表記及び読みが、前記グループID及び文法パターンIDとそれぞれ関連付けて格納される(STEP39,STEP40)。次に、入力値(開始語、終了語、中間語、記録語、接語)に基づき、対応する単位文及び記録文が、それぞれ、前記入力文例確認シート40に表示される。
【0083】
次に、
図8に示すように、入力値についての修正の有無の確認及び判断(STEP51)、次入力の有無の確認及び判断(STEP52)がされ、次入力がある場合は、次入力が開始語及び終了語の入力であるか(STEP53)、中間語の入力であるか(STEP54)が判断され、対応するステップに移行する。一方、中間語の入力が完了した場合、文法ファイル名の設定がされ(STEP61)、そのファイル名がグループ名に代入され(STEP62)、それらの値が前記グループテーブルに格納され(STEP63)、その後、その文法ファイル名についての文法が作成される。なお、グループ名や文法ファイル名は、最終的に全入力を完了してデータ(文法ファイル)を格納するときに、或いは、任意の段階で、ユーザーが入力するよう構成することができる。
【0084】
[データ入力処理・データ格納処理の別例]
図9は
図7のデータ入力処理・データ格納処理の別例であり、
図5の別例の入力インタフェースの中間語記録語入力シート50の入力値に対応する処理を示すものである。
図9に示すように、中間語の入力の前に、中間語及び記録語の入力と共に、当該中間語の分類(カテゴリー)を示す中間語カテゴリーの入力があると(STEP15A)、当該カテゴリーが、中間語テーブル(
図19参照)において、前記グループID及び開始語終了語IDとそれぞれ関連付けて格納される(STEP34A)。なお、このカテゴリー入力は、中間語入力の後としてもよい。最終的に、このカテゴリーの入力値は、中間語及び記録語の入力値と関連付けて格納される。
図19の格納例では、所定複数(3語)の中間語の各々について、それぞれ、カテゴリー(カテゴリ1、カテゴリ2、カテゴリ3)が入力されて格納されるようになっている。
【0085】
[文法ファイル作成処理1]
次に、
図10を参照して、音声認識用文法作成支援プログラムによる音声認識用文法作成処理について説明する。なお、
図10は、前記Julianのように文法ファイルと語彙ファイルを使用する文法用に、当該文法ファイルと語彙ファイルとを作成する場合の処理を示す。
まず、ユーザーの選択実行による任意のタイミングで、或いは、音声認識用文法作成支援プログラムによる予め定められたタイミングで、開始語等を入力して作成した特定のグループが指定されてファイル作成が指示されると(STEP71)、白紙の文法ファイルに対して、構文抽出手段172によって、構文マスタ171から、それぞれ、前記ルート規則が親構文として抽出及びセットされ(STEP72)、前記開始語規則が開始語構文として抽出及びセットされ(STEP73)、前記終了語規則が終了語構文として抽出及びセットされる(STEP74)。次に、構文抽出手段172によって、中間語テーブル及び文法テーブルの記憶値(中間語、接語)が参照され、その記憶値に基づいて、中間語の入力パターンや中間語と接語の組み合わせパターンが判断及び認識され、認識された中間語の入力パターンや中間語と接語の組み合わせパターンごとに、対応する中間語規則が構文マスタ171から抽出されて、その中間語規則が文法ファイルに順次書き込まれる。具体的には、構文抽出手段172によって、入力シート1から入力されて中間語テーブルに格納された中間語の入力パターンの全てのパターンが抽出されると共に、当該入力パターンごとに入力された接語のパターン(前記中間語と接語の組み合わせパターン)が判断される。即ち、前記中間語テーブルにおける各中間語IDの中間語の入力値、当該中間語の文法パターン(即ち、文法ID)、及び、前記文法パターンテーブルにおける当該文法パターンの接語の数及び位置とが判断され、中間語と接語の組み合わせパターンの全てのパターンが抽出される(STEP76)。次に、構文抽出手段172によって構文マスタ171から各組み合わせパターンに対応する前記中間語規則を中間語構文として抽出して文法ファイルにセットし(STEP77)、次の語彙ファイル作成処理(STEP78)に移行する。これらSTEP71〜STEP77における各規則(非終端規則)の文法ファイルへの書き込み処理については、上記[文法の規則]の項や、上記[文法作成手段170]及び[構文抽出手段172]の項でも詳細に説明している。なお、文法ファイル作成後(STEP77の後)、前記グループ名(拡張子「.grammar」を付したもの)を文法ファイル名として格納する(STEP79)。
【0086】
[語彙ファイル作成処理]
次に、上記のように文法ファイルにセットした各構文(ルート規則、開始語規則、終了語規則、及び、最上位から下位までの各中間語規則)について、右辺の各非終端記号のうち最下位の非終端記号を(当該各構文から、または、前記構文マスタ171から)抽出し、左辺位置または最上位置のシンボル乃至非終端記号(Julianの場合は「%KW_START」といった表記)として、白紙の語彙ファイルに順次配置して書き込み、語彙ファイル(vocaファイル)を作成する(STEP80)。次に、当該シンボル(非終端記号)に対応する実際の語彙、即ち、開始語終了語テーブルの開始語と終了語の入力値、中間語テーブルの中間語の入力値(及び、対応するカテゴリ入力がある場合はそのカテゴリの入力値)、並びに、文法パターンテーブルの接語の入力値を、各テーブルから抽出する(STEP81)。次に、各シンボルに対して(Julianの場合はシンボルの下側に)、抽出した語を終端記号として順次配置して書き込む(STEP82)。このとき、各終端記号は、ひらがな、カタカナ等、音声認識文法固有の表記で書き込む。そして、全ての語彙の抽出及び書き込みが完了したか否かを判断し(STEP83)、完了した場合は、前記グループ名(拡張子「.voca」を付したもの)を語彙ファイル名として格納する(STEP84)。
【0087】
[文法ファイル作成処理2]
次に、
図11を参照して、音声認識用文法作成支援プログラムによる音声認識用文法作成処理の別例について説明する。なお、
図11は、前記SRGSのように単一の文法ファイル(語彙を定義する終端規則を含む)を使用する文法用に、当該文法ファイルを作成する場合の処理を示す。
まず、前記STEP71〜STEP77の手順の後、上記のように文法ファイルにセットした各構文(ルート規則、開始語規則、終了語規則、及び、最上位から下位までの各中間語規則)について、右辺の各非終端記号のうち最下位の非終端記号を(当該各構文から、または、前記構文マスタ171から)抽出し、左辺の非終端記号として、上記非終端規則の後の位置に順次配置して書き込む(STEP91)。次に、当該非終端記号に対応する実際の語彙、即ち、開始語終了語テーブルの開始語と終了語の入力値、中間語テーブルの中間語の入力値(及び、対応するカテゴリ入力がある場合はそのカテゴリの入力値)、並びに、文法パターンテーブルの接語の入力値を、各テーブルから抽出する(STEP92)。次に、各非終端記号に対して、区切り記号を介して右辺に、抽出した語を終端記号として順次配置して書き込む(STEP93)。このとき、各終端記号は、ひらがな、カタカナ等、音声認識文法固有の表記で書き込む。そして、(必要な場合は、全ての語彙の抽出及び書き込みが完了したか否かを判断し、前記グループ名を文法ファイル名として格納し(STEP94)、確認画面を表示して(STEP95)、必要であればユーザーの指令に基づく修正等を実行し、全体の処理を終了する。
【0088】
下記に、
図1〜
図3の入力シート10,20,30を使用して、開始語及び終了語の対と、中間語及び記録語の対と、中間語に対応する接語を入力し、
図13〜
図15の開始語終了語テーブル、中間語テーブル及び文法パターンテーブルに格納した場合における、非終端規則(ルート規則、開始語規則、終了語規則、中間語規則)の生成例と、終端規則(開始語、終了語、中間語及び接語についての語彙規則)の生成例について例示する。なお、各規則の左側に付記する(カッコ書きの)説明は、当該規則の種類(ルート規則、中間語規則、開始語規則、終了語規則)と、当該規則が非終端規則及び終端規則のいずれであるかを示すものであり、実際の文法ファイルには記載されない。
イ)2語の(接語を一体に含む)中間語の場合
(ルート規則・非終端)S:SNT_START SNT_MID SNT_END
(中間語規則・非終端)SNT_MID:KW_MID1 KW_MID3
(開始語規則・終端)KW_START:それでは
(終了語規則・終端)KW_END:あるのですね
(中間語規則・終端)KW_MID1:きのうから|おとといから|さくやから|けさ
から
(中間語規則・終端)KW_MID3:せきが|吐き気が
ロ)2語の(接語を含まない)中間語と2語の接語の場合
(ルート規則・非終端)S:SNT_START SNT_MID SNT_END
(中間語規則・非終端)SNT_MID:KW_MID1 IW_1 KW_MID3
IW_3
(開始語規則・終端)KW_START:それでは
(終了語規則・終端)KW_END:あるのですね
(中間語規則・終端)KW_MID1:きのう|おととい|さくや|けさ
(中間語規則・終端)KW_MID3:せき|はきけ
(接語規則・終端)IW_1:から
(接語規則・終端)IW_3:が
ハ)3語の(接語を一体に含む)中間語の場合
(ルート規則・非終端)S:SNT_START SNT_MID SNT_END
(中間語規則・非終端)SNT_MID:KW_MID1 KW_MID2 KW_MID3
(開始語規則・終端)KW_START:それでは
(終了語規則・終端)KW_END:あるのですね
(中間語規則・終端)KW_MID1:きのうから|おとといから|さくやから|けさから
(中間語規則・終端)KW_MID2:39度の|のどの
(中間語規則・終端)KW_MID3:熱が|痛みが
ニ)3語の(接語を含まない)中間語と3語の接語の場合
(ルート規則・非終端)S:SNT_START SNT_MID SNT_END
(中間語規則・非終端)SNT_MID:KW_MID1 IW_1 KW_MID2
IW_2 KW_MID3 IW_3
(開始語規則・終端)KW_START:それでは
(終了語規則・終端)KW_END:あるのですね
(中間語規則・終端)KW_MID1:きのう|おととい|さくや|けさ
(中間語規則・終端)KW_MID2:さんじゅうくど|のど
(中間語規則・終端)KW_MID3:ねつ|いたみ
(接語規則・終端)IW_1:から
(接語規則・終端)IW_2:の
(接語規則・終端)IW_3:が
【0089】
下記に、
図1、
図5及び
図3の入力シート10,50,30を使用して、開始語及び終了語の対と、カテゴリ及び中間語及び記録語の組と、中間語に対応する接語を入力し、
図13、
図16及び
図15の開始語終了語テーブル、中間語テーブル及び文法パターンテーブルに格納した場合における、非終端規則の生成例と、終端規則の生成例について例示する。この場合、非終端となる中間語規則の中間語用非終端記号として、中間語に対応してカテゴリー(カテゴリ1、カテゴリ2、カテゴリ3)に入力された文字列の読みが(例えば、ローマ字変換されて)終端規則の左辺の非終端記号(Julianの場合はカテゴリー記号)として代入される。
イ)3語の(接語を含まない)中間語と3語の接語の場合
(ルート規則・非終端)S:SNT_START SNT_MID SNT_END
(中間語規則・非終端)SNT_MID:CATEGORY_1 IW_1 CATEGORY_2 IW_2 CATEGORY_3 IW_3
(開始語規則・終端)KW_START:それでは
(終了語規則・終端)KW_END:あるのですね
(中間語規則・非終端)CATEGORY_1:JIKI
(中間語規則・非終端)CATEGORY_2:TAION BUI KIOUSYOU
(中間語規則・非終端)CATEGORY_3:SYOUJOU
(中間語規則・終端)JIKI:きのう|おととい|さくや|けさ|さくねん|いっさくねん
(中間語規則・終端)TAION:さんじゅうくど|よんじゅうど
(中間語規則・終端)BUI:のど|くび
(中間語規則・終端)KIOUSYOU:つうふう|こうけつあつ
(中間語規則・終端)SYOUJOU:ねつ|いたい|はれ
(接語規則・終端)IW_1:から
(接語規則・終端)IW_2:の
(接語規則・終端)IW_3:が
【0090】
上記カテゴリーの入力値がある場合の文法ファイル作成処理では、特に、前記中間語規則を生成するための中間語規則生成手順として、以下のような手順を採用することもできる。例えば、インターネットの検索エンジン等に対して検索用のキーワードを入力するための検索用途の文法を作成する場合において、開始語及び終了語として、それぞれ、「検索」及び「お願い」を入力し、カテゴリ1、カテゴリ2、カテゴリ3として、それぞれ、「場所」、「ジャンル」及び「価格」を入力し、「場所」に対応する中間語として「名古屋」、「岐阜」、大垣」を並列的に(異なる単位文の中間語として)入力し、「ジャンル」に対応する中間語として、「和食」、「洋食」、「中華」を並列的に入力し、「価格」に対応する中間語として、「安い店」、「高い店」を並列的に入力した場合、以下のような処理とすることができる。
STEP101:まず、以下のルート規則を生成する(或いは、生成済みのルート規則を構文マスタから呼び出す)。
S:SNT_START SNT_MID SNT_END
STEP102:次に、最上位の中間語用非終端記号SNT_MIDを展開する次の階層の中間語規則を生成する(或いは、生成済みの中間語規則を構文マスタから呼び出す)。このとき、右辺の中間語用非終端記号KW_MID1、KW_MID2、KW_MID3の右側の文字列「MID1」、「MID2」及び「MID3」を変数として設定する。
SNT_MID:KW_MID1 KW_MID2 KW_MID3
STEP103:次に、中間語用非終端記号の変数「MID1」、「MID2」及び「MID3」に、それぞれ、カテゴリ1、カテゴリ2、カテゴリ3の設定値を代入して、最下位の中間語規則を生成する。
SNT_MID:KW_BASYO KW_JANRU KW_KAKAKU
STEP104:次に、生成した中間語規則の中間語用非終端記号(KW_PLACE KW_GENRE KW_KAKAKU)のそれぞれに対して、中間語テーブルに格納した各カテゴリーに対応する中間語を終端記号として割り当てて中間語の終端規則を生成する。このとき、終端記号は、音声認識エンジンが認識可能な表記とするが、以下の例では、音声認識固有の英字表記としている。
KW_BASYO:nagoya|gifu|o:gaki
KW_JANRU:washoku|yo:syoku|chu:ka
KW_KAKAKU:yasuimise|takaimise
【0091】
また、上記の場合において、中間語規則の中間語用非終端記号(KW_BASYO KW_JANRU KW_KAKAKU)に対応する接語が、それぞれ、入力インタフェース1から入力して文法パターンテーブルに関連付けて格納されている場合(例えば、カテゴリ1の「BASYO」に対する「の」、カテゴリ2の「JANRU」に対する「no」、カテゴリ3の「KAKAKU」に対する「o」)、以下の代替処理及び追加処理が実行される。
STEP105:STEP102の代わりに、最上位の中間語規則(SNT_MID:KW_MID1 KW_MID2 KW_MID3)の各中間語用非終端記号(KW_MID1 KW_MID2 KW_MID3)の直後に、接語用非終端記号(IW1 IW2 IW3)をそれぞれ連結して、中間語用非終端記号及び接語用非終端記号から構成される中間語規則(SNT_MID:KW_MID1 IW1 KW_MID2 IW2 KW_MID3 IW3)を生成する。このとき、同様に、右辺の中間語用非終端記号KW_MID1、KW_MID2、KW_MID3の右側の文字列「MID1」、「MID2」及び「MID3」を変数として設定する。
STEP106:次に、前記STEP103と同様の処理により、中間語用非終端記号の変数「MID1」、「MID2」及び「MID3」に、それぞれ、カテゴリ1、カテゴリ2、カテゴリ3の設定値を代入して、最下位の中間語規則を生成する。
SNT_MID:KW_BASYO IW1 KW_JANRU IW2 KW_KAKAKU IW3
STEP107:次に、前記STEP104と同様の処理により、生成した中間語規則の中間語用非終端記号(KW_PLACE KW_GENRE KW_KAKAKU)のそれぞれに対して、中間語テーブルに格納した各カテゴリーに対応する中間語を終端記号として割り当てると共に、接語用非終端記号(IW1 IW2 IW3)のそれぞれに対して、文法パターンテーブルに格納した対応する接語を終端記号として割り当てて中間語の終端規則を生成する。
KW_BASYO:nagoya|gifu|o:gaki
KW_JANRU:washoku|yo:syoku|chu:ka
KW_KAKAKU:yasuimise|takaimise
IW1:no
IW2:no
IW3:o
【0092】
ところで、上記処理において、グループIDは、特定のテーマや用途に関する一群の単位文の語(特定グループの入力値)についての入力を行うべく、入力インタフェース1を開いて所望の入力値を入力した後、入力インタフェース1を閉じるまでの一連の入力値に対して、一つの(一意の)グループIDを付与するよう構成してもよく、或いは、同一グループに属する入力値の入力開始と入力終了とを指定する開始コマンドと終了コマンドとの間の一連の入力値に対して一つの(一意の)グループIDを付与するよう構成してもよい。この場合、次回の新たなグループの入力処理では、新たなグループIDが付与される。こうすると、医療用、検索用、ロボット制御用等、グループごとに文法ファイルを生成することができる(新たなグループでは新たな文法ファイルを生成することができる)。
【0093】
実施の形態2
次に、本発明の実施の形態2に係る音声認識用文法作成支援プログラムについて説明する。実施の形態2に係る音声認識用文法作成支援プログラムは、主に、入力インタフェースの構成において、実施の形態1に係る音声認識用文法作成支援プログラムと異なる。詳細には、入力インタフェースは、
図17の上段に示す入力用テーブル210と、
図18の上段に示す出力用テーブル220とを備えている。
【0094】
[入力用テーブル210]
図17に示すように、入力用テーブル210は、文IDを自動入力(自動表示)する文ID欄211、開始語を入力するための開始語入力欄212、任意の数の中間語の配列(中間文)を入力するための中間語入力欄213、及び、終了語を入力するための終了語入力欄214を含む。即ち、入力用テーブル210は、前記開始語終了語入力シート10の開始語入力欄11及び終了語入力欄12と、中間語記録語入力シート20の中間語入力欄21を一体化した構成となっている。なお、文IDごとに入力された開始語と終了語の対、及び、当該対に対応する中間語の配列(中間文)は、実施の形態1と同様、文IDをキーとして、互いに関連付けて格納される。ユーザーは、音声入力したい全ての文を、それぞれが1語の開始語(1語の連結開始語を含む)と1語以上の中間語(通常は複数語からなる中間文)と1語の終了語(1語の連結終了語を含む)とからなる単位文として、入力用テーブル210を使用して別個に入力する。このとき、中間語入力欄213では、複数の中間語は、それぞれ、(全角または半角の)スペースを挟んで入力するよう構成され、スペースを挟まない、即ち、連続する文字列は、一つの中間語として認識される。また、実施の形態2では、実施の形態1のように、中間語と接語を区別することなく、中間語入力欄213に入力される語は、全て、中間語として取り扱う。よって、中間語入力欄213への中間語の入力操作は非常に自由度が高く、ユーザーが選択または嗜好する任意のパターンの中間語の入力が可能である。ただし、基本的には、ユーザーは、単語単位で(通常の単語を1語単位で、また、単語に接続する接語がある場合は接語を分離して単語に後置するよう)中間語入力欄213への入力を行うよう、プロンプト画面やダイアログ画面等により促すよう構成することが好ましい。
【0095】
また、入力用テーブル210における中間文入力では、中間語の読みだけが入力され、実施の形態1のように中間語の表記は入力されない。これは、中間文の表記は、出力として使用されることがない(通常は対応する記録文の表記が出力される)ため、中間語表記の必要性が小さいことから、実施の形態2では中間語表記を省略している。なお、中間語の入力は、ひらがな以外に、カタカナ入力やローマ字入力も可能である。更に、中間文は、複数の中間語(例えば、「きのう から さんじゅうきゅう ど の ねつ が」の場合は7語の中間語)をスペースを置いて入力するが、スペースの代わりに、コンマ等、中間語を区分する記号であれば任意のもので代替可能である。一方、開始語及び終了語は、実施の形態1と同様、基本的に1語から構成されるが、上記のとおり、単語を複数連結した1語の「連結語」が開始語や終了語になる場合もある。
【0096】
[入力用テーブル210の入力値の数字ID化]
入力用テーブル210の開始語入力欄212に入力された各語については、それぞれ、異なる語ごとに一意の語ID(英数字ID)が付与され、当該語IDにより入力値が格納されて管理される。例えば、
図17の中段の入力値対応IDテーブルに示すように、開始語入力欄212に入力された開始語、中間語入力欄213に入力された中間語、及び終了語入力欄214に入力された終了語には、それぞれ、同一の語ごとに、「ST01、「ST02・・・」、「ED01、ED02・・・」、「MD001,MD002・・・」というように、一意の語IDが付与される。なお、
図17の語IDの例では、開始語、終了語、及び、中間語のそれぞれごとに、個別の種類の(「ST」、「ED」、「MD」で区別した)一意の語IDが使用されている。こうすると、語IDにより開始語と終了語と中間語とを区別して管理することができる。一方、語IDは、このように語の種類で区別することなく、開始語と終了語と中間語とに共通の体系の語ID(例えば、単に英数字のみからなる語ID)を付与してもよい。例えば、文ID「001」の「それでは」、「きのう」、「から」、「さんじゅうきゅう」、「ど」、「の」、「ねつ」、「が」、「あるのですね」の語の配列に対して、「0001」、「0002」、「0003」、「0004」、「0005」、「0006」、「0007」、「0008」、「0009」というような語IDを付与することもできる。また、開始語と終了語とは対として管理されるため、開始語の語IDと終了語の語IDとは共通する同一のものとすることができる(例えば、「それじゃあ」及び「あるのですね」について1個の語IDである「SE01」を付与する等)。即ち、
図17に示す語IDの例は一例である。
【0097】
入力用テーブル210の入力値は、
図19に示すように、対応するテーブルに対応する語IDをキーとして格納される。詳細には、開始語及び終了語の入力値については、
図19の上段の文法テーブルに示すように、それらが属する文法の文法IDと関連付けて、かつ、それらの語ID(開始語ID及び終了ID)をキーとして互いに関連付けて、対となるように格納される。また、中間語の入力値については、各中間語の前後に来る開始語及び終了語の語IDと関連付けて、当該中間語の語ID(中間語ID)をキーとして格納される。
【0098】
実施の形態2の音声認識用文法作成支援プログラムは、開始語入力欄212に同一の語が入力された場合、異なる文IDについて当該同一の語を集約する。即ち、例えば、開始語で「それじゃあ」という単語が複数の入力列(「No.」の「1」、「2」、「3」・・・、文IDの「001」、「002」、「003」・・・)で入力された場合、それらの入力語を(文字コードの対比等によって)自動的に認識し、同一の単語については、同一の語IDを付してデータベースの(例えば、テーブルの「開始語」の欄に)格納しておく。終了語入力欄214の終了語入力についても同様の処理を行う。また、中間語入力欄213の中間文の中間語入力についても、同様に、同一の単語については同一の語IDを付しておき(即ち、テキスト文のインデックス化と同様の処理を行って)、単語を語IDで格納及び管理する。これにより、文IDごとに、開始語と中間語(中間文)と終了語との組み合わせを語IDで自動検出することができ、特に、音声認識対象となる中間文についての中間語の組み合わせを自動検出することができるため、同一の中間語の組み合わせの中間文については同一の単位文として同一の中間語規則で処理することができる。また、このように入力語の組み合わせを自動検出し、検出乃至抽出した語の語IDを列挙することで、当該入力文について語IDを列挙して数字コード化することができる。したがって、以前に入力された単語(語IDを既に付与したもの)が次の入力欄で再度入力されたときに、その単語の語IDを認識して、単位文(開始語、中間文、終了語の組み合わせ文)を自動生成することもできる。よって、単語の語IDは、文法ファイルの語彙定義部分である終端規則(Julianの場合はVocaファイル)を作成するときに使用することができる。即ち、語IDに基づいて単位文を自動生成すれば、文法ファイルの終端規則を生成することができる。
【0099】
具体的には、
図17上段の入力用テーブル210の入力値に基づき、
図17の中段の入力値対応IDテーブルに示すように、文ID、開始語ID、中間語ID、終了語IDが付与されると共に、同一の語については同一の語IDが付与される。例えば、中間語の「から」や「の」や「が」については同一の語ID「MD002」、「MD005」、「MD007」が付与される。そして、各単位文の入力値に基づいて、文IDごとに対応する語IDが列挙される。また、
図17上段の入力用テーブル210の入力値、または、
図17の中段の入力値対応IDテーブルに示す語ID列に基づき、
図17の下段の入力値対応文法規則テーブルに示すように、文IDごとに非終端規則としての中間語規則が生成される。例えば、左辺にルート規則の中間語用非終端記号(SNT_MID)を配置し、右辺には、前記入力値に対応する語IDを列記して、文IDごとの中間語規則が生成される。
【0100】
[出力用テーブル220]
図18に示すように、出力用テーブル220は、入力用テーブル210の文ID欄211と同様の文ID欄221、及び、入力用テーブル210の中間語入力欄213に対応する記録語の配列(記録文)を入力するための記録語入力欄212を含む。なお、文IDごとに入力された記録語の配列(記録文)は、実施の形態1と同様、文IDをキーとして、互いに関連付けて格納される。ユーザーは、入力用テーブル210の中間語入力欄213に入力した中間文の中間語に対応して、対応する数の記録語を記録文として、出力用テーブル220を使用して別個に入力する。このとき、記録語入力欄222では、複数の記録語は、中間語入力欄213と同様、スペースを挟んで入力するよう構成される。記録語は、記録文としてテキスト表示されるため、通常の漢字やかなとして入力される。
【0101】
[出力用テーブル220の入力値の数字ID化]
出力用テーブル220の記録語入力欄222に入力された各記録語については、それぞれ、異なる記録語ごとに一意の記録語ID(英数字ID)が付与され、当該記録語IDにより入力値が格納されて管理される。記録語は、中間語に逐一対応する形で入力されるため、この記録語IDは、中間語IDと1対1で対応する語IDとなっている。例えば、
図18の中段の入力値対応IDテーブルに示すように、記録語入力欄222に入力された記録語には、それぞれ、同一の語ごとに、「RC001,RC002・・・」というように、一意の記録語IDが付与される。なお、
図18の記録語IDの例では、中間語IDと別個の体系の語ID(中間語IDの「MD001」に対する記録語IDの「RC001」等)が使用されている。こうすると、語IDにより中間語と記録語とを区別して管理することができる。一方、記録語IDは、中間語IDと同一体系の語IDを付与してもよい(例えば、中間語及び記録語に同一の英数字のみからなる語IDを付与してもよい)。例えば、文ID「001」の中間語の「きのう」、「から」、「さんじゅうきゅう」、「ど」、「の」、「ねつ」、「が」の語の配列に対して、「0002」、「0003」、「0004」、「0005」、「0006」、「0007」、「0008」というような語IDを付与すると共に、対応する記録語の「昨日」、「から」、「39」、「℃」、「の」、「熱」、「あり」の語の配列に対して、同一の、「0002」、「0003」、「0004」、「0005」、「0006」、「0007」、「0008」というような語IDを付与することもできる。この場合でも、中間語IDは音声認識処理で使用され、記録語IDは音声認識後の記録文表示処理で使用されるため、ID処理上の問題はない。即ち、
図18に示す記録語IDの例は一例である。出力用テーブル220の記録語の入力値は、
図19に示すように、対応する中間語の中間語IDと関連付けて、当該記録語の記録語IDと共に格納される。
【0102】
入力用テーブル210の場合と同様、出力用テーブル220においても、
図18上段の出力テーブル220の入力値に基づき、
図18の中段の入力値対応IDテーブルに示すように、文ID及び記録語IDが付与されると共に、同一の記録語については同一の記録語IDが付与される。例えば、記録語の「から」や「の」や「あり」については同一の語ID「RC002」、「RC005」、「RC007」が付与される。そして、各記録文の入力値に基づいて、文IDごとに対応する記録語IDが列挙される。また、
図18上段の出力用テーブル220の入力値、または、
図18の中段の入力値対応IDテーブルに示す記録語ID列に基づき、
図18の下段の記録ファイル用テーブルに示すように、文IDごとに記録文が自動生成される。例えば、(医療カルテ等の)通常の記録文の場合は、記録語入力欄222の記録語間のスペースを削除して記録文が生成され、(検索キーワード列挙等の)特殊な記録文の場合は、(検索エンジンの仕様に合わせて)スーペースをそのまま残して記録文が生成される。
【0103】
このように、記録文ごとに単位文と同一の文IDを付与して、同一の文ID(対応する対として入力される中間文及び記録文の同一の文ID)については、中間文の中間語と記録文の記録語をと対応させる。これにより、
図18の下段の記録ファイル用テーブルに示すように、文IDごとに記録語を列記した記録文を列挙して、記録文ファイル(RECファイル)を作成することができる。また、このとき、記録文ファイルの各記録文は文IDで識別可能であり、また、各記録文中の各記録語は記録語IDで識別可能である。一方、このように生成した記録語IDについては、音声認識語の記録文表示処理で使用する以外にも、例えば、コマンドで動作する各種アプリケーションプログラムに引き渡すことで、当該アプリケーションプログラムの操作を音声コマンドにより実行するよう構成することもできる。音声コマンドで動作するアプリケーションプログラムでは、音声入力された単語や文等のコマンド(指令語や指令文)を当該アプリケーションプログラムが音声認識して、その該認識結果である指令語や指令文をその文字コードとして対応する指令動作用に引き渡すことが考えられるが、これに代えて、本発明の音声認識用文法作成支援プログラムによって音声認識した中間語となる指令語(指令文の場合は当該指令文を構成する指令語)について、対応する(基本的には英数字列という簡単なID体系である)語IDで管理するため、当該語IDを指令語の代わりにアプリケーションプログラムに渡すことで、音声コマンドによる指令処理を簡素化し、かつ、指令語の認識精度や実際の指令動作精度を向上することができる。このとき、実際の指令語に対応するよう中間語を記録語に変換した後で、当該記録語の語IDをアプリケーションプログラムに引き渡せば、一層、指令語の認識精度や実際の指令動作精度を向上することができる。
【0104】
[中間語規則の生成例の別例]
図17に示すように、中間文として、例えば、以下のものが入力されたとする。
中間文1−1:きのう から さんじゅうきゅう ど の ねつ が
中間文1−2:きのう から よんじゅう ど の ねつ が
中間文1−3:おととい から せき が
中間文1−4:けさ から はきけ が
この場合、上記のように、中間文の中間語の中間語IDをそのまま中間語用非終端記号として中間語規則を生成することができ、この場合、以下の中間語規則1−1〜1−4が生成される。
中間語規則1−1
SNT_MID:MD001 MD002 MD003 MD004 MD005
MD006 MD007
中間語規則1−2
SNT_MID:MD001 MD002 MD008 MD004 MD005
MD006 MD007
中間語規則1−3
SNT_MID:MD008 MD002 MD010 MD007
中間語規則1−4
SNT_MID:MD010 MD002 MD012 MD007
【0105】
ここで、中間文の文ID「1」、「2」、「3」及び「4」では、1番目の中間語が異なる(MD001,MD008,MD010)ものの、2番目の中間語が同一(MD002)であることから、当該2番目の中間語とその直前の中間語が密接な関係にあるとの統語論上の経験則から、最初の2語の中間語が共通の構文部分(同種の意味や用法を表す表現部分)であると認識して、異なる中間語規則1−1〜1−4のそれぞれの右辺について、2番目の非終端記号(KW_MID2)のみならず、1番目の非終端記号も同一の記号(KW_MID1)を使用することができる。一方、中間文の文ID「1」、「2」、「3」及び「4」では、最後から2番目までの中間語が異なるものの、最後の中間語が同一(MD007)であることから、当該最後の中間語とその直前の中間語が密接な関係にあるとの統語論上の経験則から、最後の2語の中間語が共通の構文部分(同種の意味や用法を表す表現部分)であると認識して、異なる中間語規則1−1〜1−24それぞれの右辺について、最後の非終端記号(KW_MID7)のみならず、最後から2番目の非終端記号も同一の記号(KW_MID6)を使用することができる。このようにして、複数の中間語規則の右辺の非終端記号を共通の記法としてまとめて集約することで、全体の中間語規則の数を大幅に減少して、文法の構造を簡略化することができ、音声認識の精度及び効率を大幅に向上することができる。下記に、この場合の集約後の中間語規則の例を示す。
【0106】
中間語規則1
非終端規則としての中間語規則1は、中間語規則1−1及び1−2を集約したものである。
SNT_MID:KW_MID1 KW_MID2 KW_MID3 KW_MID4
KW_MID5 KW_MID6 KW_MID7
この場合、文法ファイル中の終端規則は、以下のように生成される(Julianでは別個の語彙ファイルとして生成される)。
終端規則
KW_MID1:きのう(MD001)|おととい(MD009)|けさ(MD011)
KW_MID2:から(MD002)
KW_MID3:さんじゅうきゅう(MD003)|よんじゅう(MD008)
KW_MID4:ど(MD004)
KW_MID5:の(MD005)
KW_MID6:ねつ(MD006)
KW_MID7:が(MD007)
【0107】
中間規則2
非終端規則としての中間語規則2は、中間語規則1−3及び1−4を集約したものである。
SNT_MID:KW_MID1 KW_MID2 KW_MID6 KW_MID7 この場合、中間文3及び4の中間語が文法ファイル中の終端規則に追加される。なお、生成済みの終端規則については、新たな中間語が択一的に追加される。
終端規則
KW_MID1:きのう(MD001)|おととい(MD009)|けさ(MD011)
KW_MID2:から(MD002)
KW_MID3:さんじゅうきゅう(MD003)|よんじゅう(MD008)
KW_MID4:ど(MD004)
KW_MID5:の(MD005)
KW_MID6:ねつ(MD006)|せき(MD010)|はきけ(MD012)
KW_MID7:が(MD007)
【0108】
ところで、本発明の音声認識用文法作成支援プログラムでは、上記実施の形態で説明した中間語としては、通常、複数の中間語からなる中間文を使用する(典型的には、句または節からなる中間文を使用する)ことが好ましく、こうすると、中間語のパターン数を少なくして文法作成のために必要なルールの数(またはルール作成用のパターン数)を削減し、システムの負荷を低減することができる。また、文法作成処理では、実施の形態1で述べたように、単語と助詞等を別個に入力することもできるが、単語と助詞等を一体化した語(結合語)として入力処理するように構成することが好ましく、こうすると、ユーザー(入力者)にとって自然な言葉(話し言葉等)に近い形態での入力が可能となり、よりユーザーフレンドリーなシステムとなる。更に、上記のように、本発明は、ユーザーの入力値をパターンごとに分けて文法のルールを作成処理するが、このようにして作成して文法に基づく音声認識処理では、開始語が(中間語音声認識処理の動作開始のための)オンスイッチとして機能し、終了語が(中間語音声認識処理の動作終了のための)オフスイッチとして機能する。したがって、このような音声認識処理では、音声コマンド入力処理等において、音声認識必要個所(中間語または中間文)についての音声認識処理の開始及び終了のためのオン・オフ動作を、開始語(典型的には、「では」等の短い語)及び終了語(典型的には、「ね」等の短い語)の音声入力により行うことができ、完全なハンズフリーによる音声入力処理及び音声認識処理が可能となる。
【0109】
実施の形態3
[システム概要]
次に、本発明の実施の形態3に係る音声認識用文法作成支援プログラムについて説明する。実施の形態3に係る音声認識用文法作成支援プログラムは、実施の形態1に係る音声認識用文法作成支援プログラムと同様の処理をコンピュータに実行させるものであるが、特定情報を検索するための音声認識プログラムで使用する文法の作成支援に特に適するよう設計されたものである。例えば、実施の形態の3に係る音声認識用文法作成支援プログラムは、検索用途として、個人の電話番号や電子メールアドレスの検索用途の音声認識用文法の作成支援プログラムに特化することができる。具体的には、実施の形態3に係る音声認識用文法作成支援プログラムは、音声認識する中間文または(1語以上の)中間語として、個人の氏名を入力及び記憶すると共に、その個人の氏名に対して、当該個人の(一意の)電話番号や電子メールアドレスを関連付けて入力及び記憶し、記憶値である個人の氏名に基づいて語彙ファイルや辞書ファイルを自動生成する。なお、文法ファイルは、基本的には記憶値とは無関係に自動生成される。そして、かかる文法ファイル等を使用して、特定の個人の氏名を音声認識することにより、その個人の電話番号や電子メールアドレスを出力(典型的には画面表示)したり、この出力処理と共に対応するプログラム(メールプログラム等)を自動的に起動したりする処理をコンピュータが実行するよう、音声認識プログラムを作成することができる。
【0110】
[入力・記憶]
図20〜
図24は、中間語として氏名を一体として登録する場合を説明するものである。詳細には、
図20に示すように、実施の形態3では、ユーザーが、中間語として、特定の個人の氏名を一体的に(姓名を結合して単一の連結語として)入力し、所定の記憶領域に記憶するようになっている。一方、開始語及び終了語は、(ユーザー入力によることなく)予め一対の開始語及び終了語が選択して設定され、所定の記憶領域に固定的に記憶されている。したがって、開始語及び記憶語の対はユーザーが入力する必要はないが、上記実施の形態と同様に、ユーザーが用途等に応じて所望の開始語及び終了語を入力できるよう構成したり、あらかじめ設定した開始語及び終了後の対を修正できるよう構成することも可能である。なお、図示はしないが、中間語入力用の(並びに、開始語及び終了語をユーザーが入力自在、または、修正自在とした場合の)入力インタフェースは、上記実施の形態のものと同様のものを使用することができるが、単に、
図20に示すテーブルの各フィールド(氏名表記、読み、記録語1、記録語2)を有するGUIを作成し、各フィールドへユーザーが入力した入力値を対応する所定の記憶領域に記憶するよう構成してもよい。したがって、中間語の入力内容及び記憶領域への記憶内容は、
図20のテーブルの各フィールドの表示内容と同様の内容となる。なお、個人IDは、特定の個人を一意に識別するためのものであり、個人情報(氏名表記等)の入力時に自動で設定され、氏名表記等の個人情報と関連付けて(主キーとして)所定の記憶領域に記憶される。
【0111】
実施の形態3では、ユーザーが、個人情報のうち、氏名表記(主に漢字表記、必要な場合は英語表記等も含む)と氏名の読み(ひらがな若しくはカタカナ表記、または、必要な場合はローマ字表記等も含む)とを、中間語として入力インタフェースの対応する中間語の入力欄に入力すると共に、登録したい電話番号を記録語1の入力欄に、登録したい電子メールアドレスを記録語2の入力欄に、それぞれ、入力する。すると、これら氏名表記、読み、記録語1及び記録語2の入力値が対応する所定の記憶領域に関連付けて記憶される。
【0112】
[ファイル自動生成]
上記のように記憶した個人情報に基づき、文法ファイル及び語彙ファイルを自動生成することができる。詳細には、例えば、上記Julian用のファイル(文法ファイル及び語彙ファイル)を作成する場合を例にとって説明すると、まず、STEP171で、所定のイベント等(ユーザーの個人情報入力完了等)によって文法・語彙ファイルの作成が開始されると、STEP172で、上記実施の形態で述べたと同様の構文マスタから、実施の形態3の文法定義用の基本文法ファイル(TelMail.GRAMMAR_base_ittai)が、テンプレートファイルとして、所定の記憶領域から抽出して(一次記憶領域等に)セットされる。
図22に基本文法ファイルの一例を示す。この基本文法ファイルは、上記のルート規則(第1のルート規則及びその変形ルート規則等)と、開始語規則(第1の開始語規則)と、終了語規則(第1の終了語規則)と、最上位の中間語規則(第1−1の中間語規則等)とを定義したものである。次に、STEP173で、基本文法ファイルに所定の文法ファイル名(例えば、TelMail.GRAMMAR_ittai)を設定し、当該文法ファイルを、上記個人情報に対応する個別の文法ファイルとして、所定の記憶領域に記憶する。
【0113】
次に、STEP174で、構文マスタから実施の形態3の語彙定義用の基本語彙ファイル(TelMail.voca_base_ittai)が、テンプレートファイルとして、抽出してセットされる。
図23に基本語彙ファイルの一例を示す。この基本語彙ファイルは、上記文法ファイルの開始語用非終端記号(KW_START1)及び終了語用非終端記号(KW_END1)について、それぞれ、(典型的には固定的に記憶した)所定の開始語用終端記号(例えば、「でんわ」及び「メール」)と、所定の終了語用終端記号(例えば、「けんさく」及び「をけんさく」)とを(設定済みの全てのものに関して)定義すると共に、中間語用非終端記号(KW_NAME)について、中間語テーブルに格納した氏名代入用の変数($name_nnnn)と、読み代入用の変数($name_yomi_nnnn)とを定義したものである。
【0114】
次に、STEP175で、中間語テーブルから、入力・記憶済みの各個人の氏名(name)が抽出され、基本語彙ファイルの氏名変数(name_nnnn)に代入される。次に、STEP176で、中間語テーブルから(STEP175で代入した氏名に対応する)読み(name_yomi)が抽出され、STEP177で、発音記号に変換された上で、変換した読み(name_yomi)の発音記号が、基本語彙ファイルの読み変数(name_yomi_nnnn)に代入される。なお、かかる変換処理手段としては、例えば、氏名のひらがなやカタカナを発音記号と1対1で対応づけた「読み⇒発音記号変換テーブル」を作成または用意し、この変換テーブルに基づき、氏名の読みから発音記号への変換処理をコンピュータに実行させることができる。次に、STEP178で、基本語彙ファイルに所定の語彙ファイル名(例えば、TelMail.voca_ittai)を設定し、当該語彙ファイルを、上記個人情報に対応する個別の語彙ファイルとして、所定の記憶領域に記憶する。次に、STEP179で次データ(次の個人情報)の有無が判断され、記憶済みの全ての個人について上記STEP175〜STEP178の処理が繰り返され、全ての個人についての処理が完了すると、文法・語彙ファイルの作成処理を完了する。
【0115】
ここで、語彙ファイルについては、開始語及び終了語が固定の場合(ユーザーが変更等する構成ではない場合)、語彙ファイルの内容は、基本語彙ファイルの内容と同一である。一方、ユーザーが開始語及び終了語を入力・変更自在な構成の場合、ユーザーの入力値が語彙ファイルの対応する開始語用終端記号及び終了語用終端記号として代替入力される。また、中間語用終端記号については、ユーザーの入力値が語彙ファイルの対応する中間語用終端記号として代入される。
【0116】
実施の形態3では、Julianを音声認識プログラムとして使用する場合、(従来は手動で)作成した文法ファイル及び語彙ファイルに基づき、所定の有限状態文法ファイル(DFAファイル)及び辞書ファイル(DICファイル)が自動生成されるが、上記文法ファイル及び語彙ファイルに基づき生成される辞書ファイルは、例えば、
図24に示す内容となる。したがって、語彙ファイルの中間語の内容(変数部分への代入結果)も、
図24の辞書ファイルの中間語の定義と同様の内容となる。
【0117】
更に、実施の形態3では、上記のように自動生成した語彙ファイルに基づいて辞書ファイルを生成する以外に、
図25に示すような辞書ファイル自動生成用のテンプレートファイルとしての基本辞書ファイル(TelMail.dict_base)を構文マスタに格納しておき、上記基本語彙ファイルの中間語用終端語記号への中間語テーブルの記憶値代入処理と同様の処理により、この基本辞書ファイルの中間語用終端記号の変数($name_yomi_nnnn)に、中間語テーブルの記憶値を)代入して、辞書ファイルを直接的に自動生成することもできる。このように自動生成した辞書ファイルの内容は、
図24に示すものと同様になる。
【0118】
実施の形態4
[システム概要]
次に、本発明の実施の形態4に係る音声認識用文法作成支援プログラムについて説明する。実施の形態4に係る音声認識用文法作成支援プログラムは、実施の形態3に係る音声認識用文法作成支援プログラムと同様、特定情報として、個人の電話番号や電子メールアドレスの検索用途の音声認識用文法の作成支援プログラムに特化したものであるが、個人の氏名を一体的に記憶するのではなく、姓と名とに分けて記憶する。
【0119】
[入力・記憶]
図26〜
図29は、中間語として氏名を個別に登録する場合を説明するものである。詳細には、
図26に示すように、実施の形態4では、ユーザーが、中間語として、特定の個人の氏名を個別に(姓と名とに区別して別箇の語として)入力し、所定の記憶領域に記憶するようになっている。一方、開始語及び終了語は、実施の形態3と同様、基本的には、固定的に記憶されている。また、図示はしないが、中間語入力用の(並びに、開始語及び終了語をユーザーが入力自在、または、修正自在とした場合の)入力インタフェースは、上記実施の形態のものと同様のものを使用することができるが、単に、
図26に示すテーブルの各フィールドを有するGUIを作成し、各フィールドへユーザーが入力した入力値を対応する所定の記憶領域に記憶するよう構成してもよい。したがって、中間語の入力内容及び記憶領域への記憶内容は、
図26のテーブルの各フィールドの表示内容と同様の内容となる。
【0120】
[ファイル自動生成]
上記のように記憶した個人情報に基づき、文法ファイル及び語彙ファイルを自動生成することができる。詳細には、例えば、上記Julian用のファイル(文法ファイル及び語彙ファイル)を作成する場合を例にとって説明すると、まず、STEP181で、文法・語彙ファイルの作成が開始されると、STEP182で、構文マスタから、実施の形態4の文法定義用の基本文法ファイル(TelMail.GRAMMAR_base_kobetu)が、テンプレートファイルとして、所定の記憶領域から抽出してセットされる。
図28に基本文法ファイルの一例を示す。この基本文法ファイルは、実施の形態3の基本文法ファイルにおいて、中間語規則の定義として、氏名全体で(即ち、姓及び名の結合として)特定の個人の氏名を音声認識できるようにするための定義(SNT_MID1)に加え、氏名のうちの姓のみで音声認識できるようにするための定義(SNT_MID2)も備えている。次に、STEP183で、基本文法ファイルに所定の文法ファイル名(例えば、TelMail.GRAMMAR_kobetu)を設定し、当該文法ファイルを、上記個人情報に対応する個別の文法ファイルとして、所定の記憶領域に記憶する。
【0121】
次に、STEP184で、構文マスタから実施の形態4の語彙定義用の基本語彙ファイル(TelMail.voca_base_kobetu)が、テンプレートファイルとして、抽出してセットされる。
図29に基本語彙ファイルの一例を示す。この基本語彙ファイルは、開始語用非終端記号(KW_START1)及び終了語用非終端記号(KW_END1)については、実施の形態3と同様であるが、文法ファイルの2つの中間語用非終端記号(KW_NAME1及びKW_NAME2)をそれぞれ定義している。即ち、一方の中間語用非終端記号(KW_NAME1)については、中間語テーブルに格納した氏名のうちの姓代入用の変数($name1_nnnn)と、読み代入用の変数($name1_yomi_nnnn)とを定義し、他方の中間語用非終端記号(KW_NAME2)については、中間語テーブルに格納した氏名のうちの名代入用の変数($name2_nnnn)と、読み代入用の変数($name2_yomi_nnnn)とを定義したものである。
【0122】
次に、STEP185で、中間語テーブルから、入力・記憶済みの各個人の氏名の姓(name1)及び名(name2)が抽出され、基本語彙ファイルの姓変数(name1_nnnn)及び名変数(name2_nnnn)にそれぞれ代入される。次に、STEP186で、中間語テーブルから(STEP185で代入した姓及び名に対応する)読み(name1_yomi及びname2_yomi)がそれぞれ抽出され、STEP187で、発音記号に変換された上で、変換した読み(name1_yomi及びname2_yomi)の発音記号が、基本語彙ファイルの読み変数(name1_yomi_nnnn及びname2_yomi_nnnn)にそれぞれ代入される。なお、かかる変換処理手段としては、例えば、姓及び名のひらがなやカタカナをそれぞれ発音記号と1対1で対応づけた「読み⇒発音記号変換テーブル」を作成または用意し、この変換テーブルに基づき、氏名の読みから発音記号への変換処理をコンピュータに実行させることができる。次に、STEP188で、基本語彙ファイルに所定の語彙ファイル名(例えば、TelMail.voca_kobetu)を設定し、当該語彙ファイルを、上記個人情報に対応する個別の語彙ファイルとして、所定の記憶領域に記憶する。次に、STEP189で次データ(次の個人情報)の有無が判断され、記憶済みの全ての個人について上記STEP185〜STEP188の処理が繰り返され、全ての個人についての処理が完了すると、文法・語彙ファイルの作成処理を完了する。
【0123】
上記文法ファイル及び語彙ファイルに基づき生成される辞書ファイルは、例えば、
図24に示す内容と同様の内容(正確には、中間語用終端記号として氏名(姓及び名)を一体で定義するものに加え、中間語用終端記号として姓のみを定義する内容)となる。また、実施の形態4で生成したファイルに基づき、音声認識処理を実行する場合、実施の形態3と同様、中間語用終端記号としての氏名(姓及び名)一体定義を利用して、氏名(姓及び名)を一体で音声認識(そして、電話番号等の出力及び対応するプログラム起動)をすることもできることに加え、中間語用終端記号としての姓のみの定義を利用して姓のみで音声認識(そして、電話番号等の出力及び対応するプログラム起動)をすることもできる。
【0124】
ところで、実施の形態3及び4では、Julian用の文法生成を例にとって説明したため、文法ファイル、語彙ファイル、辞書ファイルの生成について説明したが、上記実施の形態で述べたとおり、他の音声認識プログラム用の文法ファイルについても、同様の処理により自動生成することができる。
【0125】
実施の形態5
次に、本発明の実施の形態5に係る音声認識用文法作成支援プログラムについて説明する。実施の形態5に係る音声認識用文法作成支援プログラムは、中間語として、数字のみからなる文字または文字列(即ち、1個以上の数字からなる中間語)を入力して所定の記憶領域に記憶し、音声認識用の定義ファイル(特に、語彙ファイル)を自動生成することで、この記憶した数字を音声認識することにより、当該数字に対応する所定のコマンドを出力したり、所定のコンテンツを出力したりすることを可能にするものである。
【0126】
詳細には、
図30に示すように、実施の形態5では、ユーザーが、中間語として、特定の数字を入力し、所定の記憶領域に記憶するようになっている。一方、開始語及び終了語は、(ユーザー入力によることなく)予め一対の開始語及び終了語を選択して設定し、所定の記憶領域に固定的に記憶するようにしてもよい。この場合、開始語及び記憶語の対はユーザーが入力する必要はない。或いは、上記実施の形態と同様に、ユーザーが用途等に応じて所望の開始語及び終了語を入力できるよう構成したり、あらかじめ設定した開始語及び終了後の対を修正できるよう構成することも可能である。なお、図示はしないが、中間語入力用の(並びに、開始語及び終了語をユーザーが入力自在、または、修正自在とした場合の)入力インタフェースは、上記実施の形態のものと同様のものを使用することができるが、例えば、(開始語及び終了語をユーザー入力とする場合の事例では)
図30に示すテーブルの各フィールド(開始語表記、開始語読み、中間語、終了語表記、終了語読み、記録語)を有するGUIを作成し、各フィールドへユーザーが入力した入力値を対応する所定の記憶領域に記憶するよう構成してもよい。したがって、この場合、中間語の入力内容及び記憶領域への記憶内容は、
図30のテーブルの各フィールドの表示内容と同様の内容となる。なお、グループIDは、音声認識で自動実行しようとする所定のプログラム等の特定の用途乃至機能を一意に識別するためのものであり、自動実行するプログラムのカテゴリーごとに自動で設定され、開始語等の一連の情報と関連付けて(主キーとして)所定の記憶領域に記憶される。例えば、
図30では、自動実行するプログラムのカテゴリーとして、所定のウエブサイトのコンテンツ表示(GR0001〜GR0100の区分)、所定の楽曲データ出力(GR0101〜GR0200の区分)、所定の課金データ出力(GR0201〜の区分)を例示している。
【0127】
[入力・記憶]
実施の形態5では、ユーザーが、音声認識により自動出力したいコンテンツや自動実行したいプログラムに応じて、そのコンテンツ表示に必要な情報(例えば、ウエブサイトのURLや楽曲データの記憶位置参照情報等)やプログラム実行に必要な情報(例えば、課金データの記憶位置参照情報等)を記録語として、入力インタフェースの対応する中間語の入力欄に入力すると共に、当該記録語に対応する一意の数字乃至数字列を、中間語として、入力インタフェースの対応する中間語の入力欄に入力する。また、所望の開始語及び終了語の情報(表記及び読み)を対応する入力欄に入力する。すると、これらの入力値が対応する所定の記憶領域に関連付けて記憶される。また、実施の形態5では、上記のように記憶した情報に基づき、必要な文法ファイルを自動生成することができる。そして、このように自動生成した文法ファイルを使用した音声認識処理においては、音声認識した数字に応じて、所定のウエブサイトが自動表示されたり、所定の楽曲が自動演奏されたり、購入品に対する所定の課金処理が自動実行されたりする。
【0128】
実施の形態6
上記実施の形態では、開始語として所定の語(1以上の形態素)を使用しているが、所定の語(1以上の形態素)からなる開始語の代わりに、開始語として無声音(NS_B)を設定することもでき、この場合も、上記の処理により同様の文法ファイルを自動生成することができる。同様に、上記実施の形態では、終了語として所定の語(1以上の形態素)を使用しているが、所定の語(1以上の形態素)からなる終了語の代わりに、終了語として無声音(NS_E)を設定することもでき、この場合も、上記の処理により同様の文法ファイルを自動生成することができる。この場合、音声入力処理において開始語入力時から所定の時間間隔(例えば、5秒間隔)経過後に、終了語入力がない場合でも、自動的に終了語入力が有ったものとして、中間語の音声認識処理を実行することができる。