(57)【要約】【課題】  専門分野向けの音声認識に用いるクラス言語モデルの学習データを追加するにあたり、ユーザに負担をかけることなく新規登録文に含まれる未知語に対し適切にクラスを推定してクラス言語モデルを作成できる言語モデル作成装置を提供する。【解決手段】  形態素解析して分割した入力文の単語のうち、既知語クラス辞書４の既知語に一致するものにその単語クラスを付与し、この入力文とクラス推定用文例辞書６のマッチング対象文例とのパターンマッチング処理により、入力文中の未知語にマッチするマッチング対象文例中のクラス語の単語クラスを未知語の単語クラスとして推定すると共に、このクラス語で未知語を置き換えた入力文を言語モデル作成用の文例である学習データとして登録し、この学習データに含まれる単語列の出現確率を算出して言語モデルとして出力する。【選択図】        図１
2006059105.tif 000002
【特許請求の範囲】
【請求項１】
入力文を形態素解析して単語毎に分割する形態素解析部と、
言語モデル作成用の文例を格納する言語モデル作成用データ記憶部と、
単語クラスに分類する単語とその単語クラスを格納する既知語クラス記憶部と、
上記形態素解析部により分割された上記入力文の単語のうち、上記既知語クラス記憶部に格納される単語に一致するものにその単語クラスを付与する既知語クラス付与部と、
上記言語モデル作成用の文例のうち、単語をこれに付与した単語クラスを示すクラス語で置き換えた文例をマッチング対象文例として格納するクラス推定用文例記憶部と、
上記既知語クラス付与部により単語クラスが付与された単語を含む上記入力文と上記マッチング対象文例とのパターンマッチング処理により、上記入力文中の未知語と上記マッチング対象文例中のクラス語とがマッチするか否かを判定し、マッチすると判定したクラス語の単語クラスをこの未知語の単語クラスとして推定すると共に、上記マッチすると判定したクラス語で上記未知語を置き換えた上記入力文を上記言語モデル作成用の文例として上記言語モデル作成用データ記憶部に登録する未知語クラス推定部と、
上記言語モデル作成用の文例に含まれる単語列の出現確率を算出して言語モデルとして出力する言語モデル作成部と
を備えた言語モデル作成装置。
【請求項２】
未知語クラス推定部は、パターンマッチング処理として入力文とマッチング対象文例との各文字列上でのＤＰマッチング処理を実行することを特徴とする請求項１記載の言語モデル作成装置。
【請求項３】
未知語クラス推定部は、ＤＰマッチング処理の終了後に入力文における文字又は単語の挿入文字数と脱落文字数をカウントし、上記挿入文字数又は上記脱落文字数が許容値を超える場合、パターンマッチングのマッチングスコアを０とすることを特徴とする請求項２記載の言語モデル作成装置。
【請求項４】
未知語クラス推定部は、入力文の文字列で最初に出現する未知語より前方の文字を挿入文字数としてカウントしないことを特徴とする請求項３記載の言語モデル作成装置。
【請求項５】
未知語クラス推定部は、入力文の文字列で最後に出現する未知語より後方に接続詞又は接続助詞が存在する場合、この接続詞又は接続助詞を含めて後方に存在する文字を挿入文字数及び脱落文字数としてカウントしないことを特徴とする請求項４記載の言語モデル作成装置。
【請求項６】
未知語クラス推定部は、クラス推定用文例記憶部の複数のマッチング対象文例中の各クラス語に未知語がマッチするか否かを判定して当該未知語に対する１個以上の単語クラス候補を抽出し、当該単語クラス候補から上記未知語に付与すべき単語クラスを推定することを特徴とする請求項１記載の言語モデル作成装置。
【請求項７】
クラス推定用文例記憶部に格納される文例中のクラス語にマッチしない未知語を含む入力文をクラス推定保留文例として格納するクラス推定保留データ記憶部を備え、
未知語クラス推定部は、既知語クラス付与部により単語クラスが付与された単語を含む入力文と上記クラス推定保留文例とのパターンマッチング処理により、上記既知語クラス付与部により単語クラスが付与された単語と上記クラス推定保留文例中の未知語とがマッチするか否かを判定し、マッチすると判定した単語の単語クラスをこの未知語の単語クラスとして推定することを特徴とする請求項１記載の言語モデル作成装置。
【請求項８】
未知語クラス推定部が推定した単語クラスを提示して、未知語に対する上記単語クラスの付与の可否に関する情報を受け付ける推定結果確認部を備え、
上記未知語クラス推定部は、上記推定結果確認部が受け付けた情報に基づいて上記未知語の単語クラスを推定することを特徴とする請求項１記載の言語モデル作成装置。
【請求項９】
入力文を形態素解析して単語毎に分割する形態素解析ステップと、
上記形態素解析ステップで分割された上記入力文の単語のうち、単語クラスに分類する単語とその単語クラスを格納する既知語クラス記憶部から読み出した単語に一致するものにその単語クラスを付与する既知語クラス付与ステップと、
言語モデル作成用の文例のうち、単語をこれに付与した単語クラスを示すクラス語で置き換えた文例をマッチング対象文例と上記既知語クラス付与ステップで単語クラスが付与された単語を含む上記入力文とのパターンマッチング処理により、上記マッチング対象文例中のクラス語と上記入力文中の未知語とがマッチするか否かを判定し、マッチすると判定したクラス語の単語クラスをこの未知語の単語クラスとして推定するクラス推定ステップと、
上記クラス推定ステップでマッチすると判定されたクラス語で上記未知語を置き換えた入力文を上記言語モデル作成用の文例として言語モデル作成用データ記憶部に登録する登録ステップと、
上記言語モデル作成用データ記憶部から読み出した言語モデル作成用の文例に含まれる単語列の出現確率を算出して言語モデルとして出力する言語モデル作成ステップと
を備えた言語モデル作成方法。
【請求項１０】
入力文を形態素解析して単語毎に分割する形態素解析部、
上記形態素解析部により分割された上記入力文の単語のうち、単語クラスに分類する単語とその単語クラスを格納する既知語クラス記憶部から読み出した単語に一致するものにその単語クラスを付与する既知語クラス付与部、
言語モデル作成用の文例のうち、単語をこれに付与した単語クラスを示すクラス語で置き換えたマッチング対象文例と上記既知語クラス付与部により単語クラスが付与された単語を含む上記入力文とのパターンマッチング処理により、上記マッチング対象文例中のクラス語と上記入力文中の未知語とがマッチするか否かを判定し、マッチすると判定したクラス語の単語クラスをこの未知語の単語クラスとして推定すると共に、上記マッチすると判定したクラス語で上記未知語を置き換えた入力文を上記言語モデル作成用の文例として言語モデル作成用データ記憶部に登録する未知語クラス推定部、
上記言語モデル作成用データ記憶部から読み出した言語モデル作成用の文例に含まれる単語列の出現確率を算出して言語モデルとして出力する言語モデル作成部
としてコンピュータを機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、専門分野向けの音声認識に用いるクラス言語モデルを効率的に作成できる言語モデル作成装置及び言語モデルの作成方法並びにコンピュータを言語モデル作成装置として機能させるプログラムに関するものである。
【背景技術】
【０００２】
近年、ユーザが発話した文章を認識して文字化する音声認識技術が盛んである。音声認識技術では統計言語モデルを用いているため、その認識率は統計言語モデルの学習に大きく依存する。実用的な認識性能を得るためには、あらゆる分野を認識対象とするのではなく、特定分野の事項に特化した学習データを収集することが必要である。医療分野であるならば、例えば診断所見の入力データに特化して言語モデルを作成する。しかしながら、特定分野に限定した場合でも当該分野に特有な固有名詞を全て含んだ学習データを収集するのは困難である。
【０００３】
この学習データ収集の困難さに対処するため、クラス言語モデルを導入した技術が一般化されつつある。クラス言語モデルでは、例えば医療分野において薬品名を一つのクラスにまとめることにより、学習データに出現しない薬品名に対しても統計言語モデルのパラメータを求めることができる。
【０００４】
しかしながら、クラス言語モデルの学習データに新規に文例を追加する場合は、人手で新規文例中の単語分割やクラス付与を行う必要がある。このため、専門知識のないエンドユーザが文単位でクラス言語モデルの学習データを登録するのは困難である。
【０００５】
この不具合を解消する技術として、例えば特許文献１に開示される類似語による未知語登録方式がある。この方式では、新規に入力した文例中にクラスが未知の単語がある場合、ユーザにクラス未知の単語の類似語を入力させる。そして、この類似語が予め用意したクラス推定用辞書内に存在する場合、辞書内のクラスと新規文例中のクラス未知の単語のクラスとが同じクラスであるものとして登録する。
【０００６】
【特許文献１】特開平２−２１３５９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
従来では、専門知識のないエンドユーザでも類似語さえ入力すれば未知語のクラス推定ができるものの、類似語の入力操作が不可欠であり登録作業が煩雑であるという課題があった。
【０００８】
この発明は上記課題を解決するためになされたもので、専門分野向けの音声認識に用いるクラス言語モデルの学習データを追加するにあたり、ユーザに負担をかけることなく新規登録文に含まれる未知語に対し適切にクラスを推定してクラス言語モデルを作成できる言語モデル作成装置及び言語モデルの作成方法並びに言語モデル作成装置としてコンピュータを機能させるプログラムを得ることを目的とする。
【課題を解決するための手段】
【０００９】
この発明に係る言語モデル作成装置は、入力文を形態素解析して単語毎に分割する形態素解析部と、言語モデル作成用の文例を格納する言語モデル作成用データ記憶部と、単語クラスに分類する単語とその単語クラスを格納する既知語クラス記憶部と、形態素解析部により分割された入力文の単語のうち、既知語クラス記憶部に格納される単語に一致するものにその単語クラスを付与する既知語クラス付与部と、言語モデル作成用の文例のうち、単語をこれに付与した単語クラスを示すクラス語で置き換えた文例をマッチング対象文例として格納するクラス推定用文例記憶部と、既知語クラス付与部により単語クラスを付与した単語を含む入力文とマッチング対象文例とのパターンマッチング処理により、入力文中の未知語とマッチング対象文例中のクラス語とがマッチするか否かを判定し、マッチすると判定したクラス語の単語クラスをこの未知語の単語クラスとして推定すると共に、マッチすると判定したクラス語で未知語を置き換えた入力文を言語モデル作成用の文例として言語モデル作成用データ記憶部に登録する未知語クラス推定部と、言語モデル作成用の文例に含まれる単語列の出現確率を算出して言語モデルとして出力する言語モデル作成部とを備えるものである。
【発明の効果】
【００１０】
この発明によれば、入力文を形態素解析して単語毎に分割する形態素解析部と、言語モデル作成用の文例を格納する言語モデル作成用データ記憶部と、単語クラスに分類する単語とその単語クラスを格納する既知語クラス記憶部と、形態素解析部により分割された入力文の単語のうち、既知語クラス記憶部に格納される単語に一致するものにその単語クラスを付与する既知語クラス付与部と、言語モデル作成用の文例のうち、単語をこれに付与した単語クラスを示すクラス語で置き換えた文例をマッチング対象文例として格納するクラス推定用文例記憶部と、既知語クラス付与部により単語クラスを付与した単語を含む入力文とマッチング対象文例とのパターンマッチング処理により、入力文中の未知語とマッチング対象文例中のクラス語とがマッチするか否かを判定し、マッチすると判定したクラス語の単語クラスをこの未知語の単語クラスとして推定すると共に、マッチすると判定したクラス語で未知語を置き換えた入力文を言語モデル作成用の文例として言語モデル作成用データ記憶部に登録する未知語クラス推定部と、言語モデル作成用の文例に含まれる単語列の出現確率を算出して言語モデルとして出力する言語モデル作成部とを備えるので、言語モデルに関して専門的知識を有しないエンドユーザであっても、ユーザに負担をかけることなく新規登録文である入力文に含まれる登録対象の未知語に対して適切に単語クラスを推定してクラス言語モデルを作成することができるという効果がある。これにより、未知語に対して入力文に含まれる単語連鎖に加えて、言語モデル作成用の文例のうち、未知語に付与した単語クラスを含む文例の単語連鎖も未知語のバイグラム出力確率に反映させることができる。従って、少ない文例で効率的に言語モデルを作成できるという効果がある。
【発明を実施するための最良の形態】
【００１１】
実施の形態１．
図１は、この発明の実施の形態１による言語モデル作成装置の構成を示すブロック図である。本実施の形態１による言語モデル作成装置は、文例入力部１、形態素解析部２、既知語クラス付与部３、既知語クラス辞書（既知語クラス記憶部）４、未知語クラス推定部５、クラス推定用文例辞書（クラス推定用文例記憶部）６、未知語推定クラス辞書７、言語モデル作成用データメモリ（言語モデル作成用データ記憶部）８及び言語モデル作成部９を含んで構成される。
【００１２】
文例入力部１は、ユーザが装置内に文例を入力する際に使用する構成部であって、例えば本発明の言語モデル作成装置を具現化するコンピュータに標準的に搭載されたキーボードやディスプレイなどのハードウェア資源と入力操作に関するソフトウェア資源とが協働した手段として実現される。
【００１３】
形態素解析部２は、入力文に対して形態素解析を行い単語単位に分割する。形態素解析の手法としては、例えば下記の参考文献１に示される形態素解析を行う。また、形態素解析部２は、入力文の形態素解析に加え、未知語検出処理を行う。これにより、入力文中の未知語に対して未知語フラグを付与したり、接続詞や接続助詞に対して接続詞フラグを付与して既知語クラス付与部３に出力する。
参考文献１；森信介、長尾眞、”ｎグラム統計によるコーパスからの未知語抽出”、電子情報通信学会技術研究報告、ＮＬＣ９５−８、（１９９５年７月）。
【００１４】
既知語クラス付与部３では、形態素解析部２により形態素解析された入力文のうち、未知語フラグが付与されていない未知語以外の単語（以降、既知語と称する）に対して既知語クラス辞書４に存在する単語のクラス（単語クラス）で対応するものを検出して付与する。
【００１５】
図２は、既知語クラス辞書の一例を示す図であり、自治体の無線放送を音声認識して文字表示するタスクに関するものである。図に示すように、既知語クラス辞書４には、当該タスクで使用する単語のうち、クラス化対象とする全単語の表記とこれに対応するクラス名とが関連付けられた情報が電子データとして格納されている。ここで、クラス名は、＜＞で囲って表すものとする。また、＜月＞、＜日＞や＜行事＞などのように＜＞で囲まれた単語クラスを示す語をクラス語と称する。
【００１６】
なお、本実施の形態では、クラス化されていない通常の単語とクラス語の混在を許す「単語クラス混合モデル」を取り扱うが、記載上の簡単のために単に「クラス言語モデル」と呼ぶことにする。以降では、図２に示した自治体の無線放送を音声認識して文字表示するタスク用の言語モデルをクラス言語モデルとして作成する例について説明する。
【００１７】
未知語クラス推定部５は、入力文中の未知語がクラス推定用文例辞書６に格納された文例のクラス語部分とマッチする（属する）か否かを判定し、マッチしていると判定されればそのクラス語を当該未知語のクラスであると推定する。クラス推定用文例辞書６には、音声認識により言語モデルを作成する対象タスクにおいて発話が予想されるクラス語を含んだ文例が格納される。
【００１８】
本実施の形態では、クラス推定用文例辞書６に言語モデル作成用データメモリ８中のクラス語を含む全ての文例を格納しておく。なお、言語モデル作成用データメモリ８には、音声認識により言語モデルを作成する対象タスクの言語モデルを作成するための学習データが格納される。
【００１９】
図３は、言語モデル作成用データメモリの一例であり、図２に示した自治体の無線放送を音声認識して文字表示するタスクでの言語モデルを作成するための学習データを示している。図に示すように、言語モデル作成用データメモリ８には、言語モデルを作成するための文例である学習データが予め単語単位に分割された情報が電子データとして格納されている。
【００２０】
ここで、図３に示す学習データにおける文例中の＜＞で囲まれたクラスは、ユーザによって文例入力部１を介して適当な文例を構成する単語ごとに付与される。図示の例では、＜行事＞、＜施設＞、＜地域＞というクラス語が含まれる。このクラスは、上述のようにユーザによる人手で行うか、あるいは既存のクラス語との比較などにより自動で付与される。なお、本実施の形態では、クラスの指定を人手で行うものとする。
【００２１】
クラス推定用文例辞書６には、図３に示す言語モデル作成用データメモリ８中のクラス語を含む全ての文例が電子データとして格納されることになる。即ち、このクラス推定用文例辞書６には、図３に示す＜行事＞、＜施設＞、＜地域＞などのクラス語を含む文例、即ち、単語をこれに付与した単語クラスを示すクラス語で置き換えた文例が、言語モデル作成用データメモリ８から抽出されて格納される。この場合のクラス推定用文例辞書６の内容の一例を図４に示す。
【００２２】
未知語推定クラス辞書７は、形態素解析部２により形態素解析された入力文のうち、未知語フラグが付与されている未知語の表記と共に、当該未知語に対して未知語クラス推定部５が推定したクラスを対応付けて格納する。言語モデル作成部９は、既知語クラス辞書４、未知語推定クラス辞書７及び言語モデル作成用データメモリ８に格納されているデータを用いて統計モデルであるクラスｎ−ｇｒａｍ言語モデルを作成し出力する。
【００２３】
なお、言語モデルは、音声認識における単語系列の出現確率の推定値を与える電子データである。本願は、電子データとしての言語モデルの作成方法を開示するものであり、ユーザに負担を与えることなく、その内容を容易に更新することができるという、従来にない特有な効果を奏する。
【００２４】
また、上述した、文例入力部１、形態素解析部２、既知語クラス付与部３、未知語クラス推定部５及び言語モデル作成部９は、例えば汎用コンピュータ等を用いて本発明に従う言語モデル作成プログラムを実行させることで具現化できる。もう少し詳細に説明すると、本発明に従う言語モデル作成プログラムを、コンピュータに読み込ませて、その動作を制御することにより、コンピュータ上に図１に示す形態素解析部２、既知語クラス付与部３、未知語クラス推定部５及び言語モデル作成部９を実現することができる。
【００２５】
また、既知語クラス辞書４、クラス推定用文例辞書６、未知語推定クラス辞書７及び言語モデル作成用データメモリ８は、例えば上記コンピュータの記憶装置上に構成することができる。なお、以下の説明において、本発明の言語モデル作成装置を具現化するコンピュータ自体の構成及びその基本的な機能については、当業者が当該分野の技術常識に基づいて容易に認識できるものであり、本発明の本質に直接関わるものでないので詳細な記載を省略する。
【００２６】
次に動作について説明する。
先ず、ユーザが本実施の形態１による言語モデル作成装置に登録文を入力する。具体的には、ユーザが、文例入力部１（例えば、キーボードなど）を用いて登録文を入力することで、当該登録文が電子データとして形態素解析部２に入力される。
【００２７】
形態素解析部２では、文例入力部１を介して入力された入力文に対して形態素解析を行い、単語単位に分割する。形態素解析は、上述したように、例えば参考文献１に示される手法を用いられる。また、形態素解析部２は、形態素解析と共に未知語検出処理を実行する。この未知語検出処理により、入力文中の未知語に対して未知語フラグが付与され、さらに接続詞や接続助詞に対しては接続詞フラグが付与されて既知語クラス付与部３に出力される（形態素解析ステップ）。
【００２８】
図５は、形態素解析部の出力内容の一例を示す図であり、形態素解析部２の出力内容の理解を助けるために各単語の電子データとその付加データであるフラグの関係を図表として表現したものである。この図では、入力文が「１０月２３日に合併問題説明会を新市民会館で行いますのでご参加下さい」であった場合を例として挙げている。この文のうち、「ので」は接続助詞なので接続詞フラグが付与される。
【００２９】
また、例えば「合併問題説明会」と「新市民会館」が未知語であった場合、この２語に未知語フラグが付与される。なお、接続詞フラグや未知語フラグは、対応する単語の電子データの付加データとして付与されるものであり、図示のごとく例えばディジタル値１が設定される。
【００３０】
既知語クラス付与部３では、形態素解析部２から入力した各単語の電子データのうち、未知語フラグが設定されているか否かにより未知語以外の単語である既知語を抽出する。そして、既知語クラス付与部３は、未知語フラグの有無に基づき抽出した既知語のうち、既知語クラス辞書４に存在する単語に一致するものを検出し、検出結果の単語のクラスを既知語に付与する（既知語クラス付与ステップ）。このようにクラスが付与された既知語を含む入力文の電子データは、既知語クラス付与部３から未知語クラス推定部５に出力される。
【００３１】
図６は、既知語クラス付与部の出力内容の一例を示す図であり、既知語クラス付与部３の出力内容の理解を助けるために各単語の電子データ及びその付加データであるフラグ並びにクラスの関係を図表として表現したものである。既知語クラス付与部３は、形態素解析部２からの入力文が図５に示す内容である場合、図６に示すように、既知語に対応するクラスが既知語クラス辞書４にあれば、そのクラスを付与する。図示の例では、単語「１０月」、「２３日」に対して、クラス＜月＞、＜日＞がそれぞれ付与されている。
【００３２】
未知語クラス推定部５は、既知語クラス付与部３の出力データを入力すると、このデータのうち、未知語フラグが付与された単語を記号「＊（ｊ）」に置き換える。記号「＊（ｊ）」は、通常の単語とはマッチせず、クラス語に対しては全クラスにマッチする未知語及びクラス語を表す電子データである。なお、ｊは、入力文の文頭から未知語が出現した順番に１，２，・・・の順で番号を付与したものである。
【００３３】
図６に示す入力文の場合、「＜月＞＜日＞に＊（１）を＊（２）で行います」となる。これを単語単位ではなく文字単位で分割し直す。但し、クラス語及び未知語を表す「＊（ｊ）」は、全て１文字とみなすこととする。つまり、＜月＞、＜日＞、＊（１）、＊（２）等は全て一文字とする。
【００３４】
次に、未知語クラス推定部５は、上述の処理を施した入力文の電子データとクラス推定用文例辞書６に格納されている各文例の電子データとのパターンマッチング処理を行う。なお、本実施の形態では、パターンマッチングとしてＤＰマッチングを用いる。
【００３５】
図７は、ＤＰマッチングにおけるマッチング対象文と入力文の対応関係を示すグラフである。図において、符号Ａを付した文はマッチング対象文を示し、符号Ｂを付した文は入力文を示している。また、符号ｐを付したルートは、対象文Ａと入力文ＢとのＤＰマッチングのパスを示している。このパターンマッチングは、図８に示す手順で行う。
【００３６】
図８のフローチャートに沿って、未知語クラス推定部５によるパターンマッチング処理を説明する。先ず、未知語クラス推定部５は、上述した処理を施して文字単位に分割して規定した入力文を、図７に示すグラフの横軸（ｉ軸）のパラメータとして１文字単位に設定する（ステップＳＴ１００）。
【００３７】
次に、未知語クラス推定部５は、クラス推定用文例辞書６に格納されているパターンマッチングの対象となる文例（以降、マッチング対象文例と称する）を順次読み出すにあたり、その読み出し順に番号ｒを設定する。ここで、番号ｒは１からＮまでの正の自然数をとり、Ｎはクラス推定用文例辞書６に格納されているマッチング対象文例数を示している。先ず、未知語クラス推定部５は、クラス推定用文例辞書６から最初に読み出した文例の番号ｒに１を設定する（ステップＳＴ１１０）。
【００３８】
続いて、未知語クラス推定部５は、ｒ番目のマッチング対象文例の各文字を、図７に示す縦軸（ｊ軸）のパラメータとして１文字単位に分割して設定する（ステップＳＴ１２０）。このあと、未知語クラス推定部５は、下記式（１）〜（３）に示す漸化式に従ってＤＰマッチングを行う（ステップＳＴ１３０）。
（１）初期化
ｇ［ｉ］［０］＝ｉ，ｉ＝１〜Ｉ      ・・・（１）
ｇ［０］［ｊ］＝ｊ，ｊ＝１〜Ｊ      ・・・（２）
（２）漸化式
ｇ［ｉ］［ｊ］＝ＭＩＮ（ｇ［ｉ−１］［ｊ］＋１，ｇ［ｉ］［ｊ−１］，
ｇ［ｉ−１］［ｊ−１］＋ｄ［ｉ］［ｊ］），ｉ
＝１〜Ｉ，ｊ＝１〜Ｊ      ・・・（３）
【００３９】
ここで、ＭＩＮ（）は、（）内の最小値を選択する演算子である。ｇ［ｉ］［ｊ］は、入力文のｉ番目の文字とマッチング対象文例のｊ番目の文字までの累積距離を示している。ｄ［ｉ］［ｊ］は、入力文のｉ番目の文字とマッチング対象文例のｊ番目の文字との距離であり、両者がマッチする場合は０、マッチしない場合は正の大きな値（例えば、１０００）とする。また、Ｉは入力文の文字数、Ｊはマッチング対象文例の文字数である。
【００４０】
上述のようにしてＤＰマッチングが終了すると、図７に示すＤＰマッチングパスｐが得られる。このあと、未知語クラス推定部５は、ＤＰパスｐをトレースバックして入力文の文末での累積距離ｇ［Ｉ］［Ｊ］が最小となる最適ＤＰパスを求める（ステップＳＴ１４０）。図９は、図７と同様にして最適なＤＰマッチングパスが得られるマッチング対象文例Ａと入力文Ｂとの対応関係を示すグラフであって、マッチング対象文例Ａと入力文Ｂとの最適なＤＰマッチングパスに符号Ｐを付して示している。
【００４１】
この最適ＤＰパスＰ上で、未知語クラス推定部５は、図９に示すグラフを用いて、マッチした全文字数ｎ１、入力文中の未知語「＊（ｊ）」がマッチした文字数ｎ２、脱落文字数ｎｄ、挿入文字数ｎｉをそれぞれ数える。
【００４２】
但し、「＊（１）」と表記された入力文Ｂ中に出現する最初の未知語より前方の文字に対しては挿入文字数としてカウントしない。例えば、図９では、入力文Ｂの「＜月＞  ＜日＞  に」の部分が挿入となっているが挿入文字数としてはカウントしない。このように「＊（１）」より前方の文字に対して挿入数をカウントしないことにより、入力文における「＊（１）」より前方の文字の違いに起因するマッチング対象文例Ａとのミスマッチを避けることができる。
【００４３】
また、入力文Ｂ中で最後に出現する未知語より後方に接続詞又は接続助詞が存在する場合、未知語クラス推定部５は、接続詞又は接続助詞を含めて後方の挿入文字数と脱落文字数はカウントしない。さらに、入力文Ｂ中の「ので」は接続助詞であり、図５に示すように接続詞フラグが付与されており、「ので」を含めた後方の文字については挿入文字数及び脱落文字数としてカウントしない。
【００４４】
例えば、図９では、入力文Ｂの「のでご参加下さい」が挿入になるが、その挿入数はカウントしない。このように接続詞フラグの後方を処理することにより、重文や複文によるミスマッチを防止することができる。
【００４５】
次に、未知語クラス推定部５は、ｒ番目のマッチング対象文例についてのマッチングスコアＳ（ｒ）を算出する（ステップＳＴ１５０）。このとき、入力文Ｂ中の未知語「＊（ｊ）」が、「マッチした文字数ｎ２が１以上であり、且つ脱落文字数ｎｄが予め定めた閾値ＴＨ＿ｄ以下、挿入文字数ｎｉが予め定めた閾値ＴＨ＿ｉ以下」というスコア付与条件を満たさない場合、マッチングスコアＳ（ｒ）＝０とする。
【００４６】
なお、閾値ＴＨ＿ｄ及び閾値ＴＨ＿ｉは、それぞれ脱落文字数ｎｄ及び挿入文字数ｎｉについてマッチングスコアを付与すべき許容上限値を規定する値であり、最適なマッチング結果を与える上限値を予め求めておく。
【００４７】
一方、上記スコア付与条件を満たす場合、未知語クラス推定部５は、マッチングスコアＳ（ｒ）を下記式（４）に従って算出する。
Ｓ（ｒ）＝ｎ１−ａ＊ｎｄ−ｂ＊ｎｉ      ・・・（４）
ここで、ａ，ｂは予め値を定めた正の定数であり、ｎ１はマッチした全文字数、ｎｄは脱落文字数及びｎｉは挿入文字数である。
【００４８】
このあと、未知語クラス推定部５は、上記処理を施したマッチング対象文例の番号ｒがＮであるか否かを判定し、クラス推定用文例辞書６に格納されている全てのマッチング対象文例に対してステップＳＴ１２０からステップＳＴ１５０までの処理を施したかどうかを確認する（ステップＳＴ１６０）。
【００４９】
このとき、番号ｒがＮであり、全てのマッチング対象文例に対して処理が行われていれば、本フローチャートによる処理を終了する。一方、番号ｒがＮでなければ、未知語クラス推定部５は、ステップＳＴ１７０の処理に移行する。
【００５０】
未知語クラス推定部５は、クラス推定用文例辞書６から新たなマッチング対象文例を読み出し、その読み出し番号ｒに１を加え、当該マッチング対象文例に対してステップＳＴ１２０からステップＳＴ１５０までの処理を施す。このようにして、ステップＳＴ１２０からステップＳＴ１５０までの処理を、クラス推定用文例辞書６に格納されている全てのマッチング対象文例に対して繰り返して、それぞれのマッチングスコアＳ（ｒ）（但し、ｒ＝１〜Ｎ）を求める（ステップＳＴ１７０）。
【００５１】
次に、未知語クラス推定部５は、上述した処理で得られた入力文に関する電子データを用いて、文例選択処理、クラス推定処理及び登録処理を行う。図１０は、未知語クラス推定部による文例選択処理を示すフローチャートであり、この図に沿って説明する。
【００５２】
先ず、未知語クラス推定部５は、上述の処理にて得たマッチングスコアＳ（ｒ），（ｒ＝１〜Ｎ）を予め定めた閾値ＴＨＳと比較し、マッチングスコアＳ（ｒ）が閾値ＴＨＳ以上の文例を選択する（ステップＳＴ２００）。これが文例選択処理である。なお、閾値ＴＨＳは、クラス推定をすべきマッチングスコアの許容下限値を規定する値であり、最適なクラス推定を行える下限値を予め求めておく。
【００５３】
このとき、１個以上の文例が選択された場合、未知語クラス推定部５は、ステップＳＴ２２０の処理に移行する。一方、マッチングスコアＳ（ｒ）が閾値ＴＨＳ以上の文例が選択されなかった場合、未知語クラス推定部５は、入力文Ｂの「＊（ｊ）」と表記していた未知語部分を元の単語表記に戻して言語モデル作成用データメモリ８に格納して登録処理を終了する（ステップＳＴ２８０）。
【００５４】
つまり、「＜月＞  ＜日＞  に  ＊（１）  を  ＊（２）  で  行い  ます」なる文は、「＜月＞  ＜日＞  に  合併問題説明会  を  新市民会館  で  行い  ます」という表記に戻される。なお、この際、以下に説明するステップＳＴ２２０からステップＳＴ２７０までの処理は行わない。
【００５５】
ステップＳＴ２２０において、未知語クラス推定部５は、ステップＳＴ２００で選択された文例のうちマッチングスコアＳ（ｒ）が最大の文例１個又は上位のＲ（但し、Ｒは１以上Ｎ以下の自然数）個以上の文例を抽出する（ステップＳＴ２２０）。ここで、Ｒは抽出された文例数である。
【００５６】
次に、未知語クラス推定部５は、ステップＳＴ２２０で抽出した全ての文例に番号ｒ（ｒ＝１〜Ｒ）を付与し、番号ｒ＝１にセットする（ステップＳＴ２３０）。続いて、未知語クラス推定部５は、入力文中の未知語「＊（ｊ）」が、ステップＳＴ２２０で抽出したｒ番目の文例におけるクラス語部分とマッチしているか否かを調べ、マッチしている場合はマッチしたクラス語を当該未知語のクラスであると推定する（ステップＳＴ２４０）。
【００５７】
例えば、図９に示すマッチング対象文例「＜行事＞を＜施設＞で行っています」の部分に入力文の「＊（１）を＊（２）で行います」がマッチした場合、図６に示すように、この入力文の第１番目の未知語である「合併問題説明会」のクラスを＜行事＞、第２番目の未知語「新市民会館」のクラスを＜施設＞と推定する。以上がクラス推定処理（クラス推定ステップ）である。
【００５８】
未知語クラス推定部５は、推定結果として未知語推定クラス辞書７に当該単語の標記に関連付けて上述のようにして推定したクラス語を格納し登録する。このときの未知語推定クラス辞書７の内容を図１１に示す。なお、図１１は、未知語推定クラス辞書の内容の一例を示す図であり、その内容の理解を助けるために各単語の標記を表す電子データ及びこれに関連付けられたクラスを表す電子データの関係を図表として表現したものである。
【００５９】
続いて、未知語クラス推定部５は、入力文の未知語部分を、上述のようにして推定したクラス語に置き換えて、言語モデル作成用データメモリ８に格納し登録する（ステップＳＴ２５０）。具体的には、上述した「＜月＞  ＜日＞  に  合併問題説明会  を  新市民会館  で  行い  ます」という入力文であるならば、これを「＜月＞  ＜日＞  に  ＜行事＞  を  ＜施設＞  で  行い  ます」という表記に変換して言語モデル作成用データメモリ８に格納する。以上が登録処理（登録ステップ）である。
【００６０】
このあと、未知語クラス推定部５は、現在の文番号ｒとステップＳＴ２２０で抽出された文例の個数Ｒとの値を比較して、ｒ＝Ｒであれば処理を終了し、ｒ＜Ｒであれば、ステップＳＴ２７０の処理に移行する（ステップＳＴ２６０）。
【００６１】
ステップＳＴ２７０では、未知語クラス推定部５は、現在の文番号ｒに１を加えてステップＳＴ２４０の処理に戻り、ステップＳＴ２２０で抽出された全ての文例についてステップＳＴ２４０からステップＳＴ２７０までの処理を繰り返す（ステップＳＴ２７０）。
【００６２】
次に、言語モデル作成部９は、既知語クラス辞書４、未知語推定クラス辞書７及び言語モデル作成用データメモリ８に格納されているデータを入力として統計モデルであるクラスｎ−ｇｒａｍ言語モデルを作成する（言語モデル作成ステップ）。ｎ−ｇｒａｍのｎは、例えばｎ＝２、すなわちバイグラムモデルとする。この場合、言語モデルは２単語の連鎖確率となる。
【００６３】
単語列がｗ１，ｗ２，・・・，ｗｉ−１，ｗｉ，・・・，ｗＮであるとき、単語ｗｉの出現確率ｐ（ｗｉ｜ｗｉ−１）の算出方法は、単語ｗｉがクラスに属するか否かで異なる。そこで、言語モデル作成部９は、既知語クラス辞書４及び未知語推定クラス辞書７に格納されているデータを用いて、言語モデル作成用データメモリ８から読み出した出現確率の算出対象の単語ｗｉがクラスに属するか否かを判定する。
【００６４】
このとき、出現確率の算出対象の単語ｗｉがクラスに属さない場合、言語モデル作成部９は、下記式（５）に従ってその出現確率を算出する。
ｐ（ｗｉ｜ｗｉ−１）＝Ｎ（ｗｉ−１，ｗｉ）
／ΣｋＮ（ｗｉ−１，ｗｋ）・・・（５）
ここで、Ｎ（ｗｉ−１，ｗｉ）は、言語モデル作成用データメモリ８中に含まれるデータの単語連鎖｛ｗｉ−１，ｗｉ｝の出現数である。
【００６５】
一方、クラスに属する場合、言語モデル作成部９は、属するクラスをＣｘとして下記式（６）に従って単語ｗｉの出現確率を算出する。
ｐ（ｗｉ｜ｗｉ−１）＝ｐ（ｗｉ｜Ｃｘ）＊ｐ（Ｃｘ｜ｗｉ−１）・・・（６）
ここで、ｐ（ｗｉ｜Ｃｘ）＝Ｎ（ｗｉ）／Ｎ（Ｃｘ）            ・・・（７）
ｐ（Ｃｘ｜ｗｉ−１）＝Ｎ（ｗｉ−１，Ｃｘ）
／ΣｋＮ（ｗｉ−１，ｗｋ）            ・・・（８）
Ｎ（ｗｉ）は、言語モデル作成用データメモリ８に格納されている学習データ中に単語ｗｉが出現する個数を示している。また、Ｎ（Ｃｘ）は言語モデル作成用データメモリに格納される学習データ中にクラス語Ｃｘが出現する個数であり、Ｎ（ｗｉ−１，Ｃｘ）は言語モデル作成用データメモリに格納される学習データに含まれる単語とクラス語の連鎖｛ｗｉ−１，Ｃｘ｝の出現数である。
【００６６】
なお、上記式（８）では、単語ｗｉがクラスＣｘから出現する確率を求めるが、学習データ数が十分でない場合には確率の推定精度が低下するという問題がある。そこで、本実施の形態では、下記式（９）に示すように、クラスに属する単語について当該クラスから出現する確率を均等とみなすことにする。
ｐ（ｗｉ｜Ｃｘ）＝１／Ｚ（Ｃｘ）      ・・・（９）
ここで、Ｚ（Ｃｘ）はクラスＣｘに属する単語の種類数である。
既知語クラス辞書４及び未知語推定クラス辞書７に格納されているデータを参照して、上記式（９）の値を算出する。即ち、Ｃｘを＜月＞とすると、クラス＜月＞に属する単語の種類数Ｚ（Ｃｘ）を既知語クラス辞書４及び未知語推定クラス辞書７に格納されているデータを数え上げることによって求める。
【００６７】
例えば、＜月＞というクラスに属する単語が「１月」から「１２月」までの１２個とし、出現確率の算出対象の単語ｗｉを「１月」として、「１月」のクラスＣｘが＜月＞であることから、単語ｗｉである「１月」の出現確率は下記式（１０）のようになる。
ｐ（ｗｉ｜Ｃｘ）＝１／１２          ・・・（１０）
【００６８】
上述した出現確率の算出処理により、言語モデル計算部９は、言語モデル作成用データメモリ８に含まれる全ての２単語連鎖に対してｐ（ｗｉ｜ｗｉ−１）を計算し、計算結果を言語モデル、つまり音声認識における単語系列の出現確率の推定値を与える電子データとして出力する。
【００６９】
以上のように、実施の形態１によれば、入力文を形態素解析して単語毎に分割し、分割した入力文の単語のうち、単語クラスに分類する単語とその単語クラスを格納する既知語クラス辞書４から読み出した単語に一致するものにその単語クラスを付与し、この入力文とクラス推定用文例辞書６に格納されるマッチング対象文例とのパターンマッチング処理により、マッチング対象文例中のクラス語と入力文中の未知語とがマッチするか否かを判定し、マッチすると判定したクラス語の単語クラスをこの未知語の単語クラスとして推定すると共に、マッチすると判定したクラス語で未知語を置き換えた入力文を言語モデル作成用の文例である学習データとして言語モデル作成用データメモリ８に登録し、この学習データに含まれる単語列の出現確率を算出して、算出結果を言語モデルとして出力するので、入力文に未知語が存在する場合であってもクラス推定文例辞書６中のマッチング対象文例とのパターンマッチングで未知語にマッチするクラス語を判定することから、エンドユーザに言語モデルに関する専門知識を要求することなく、新規登録文に含まれる未知語に対して適切にクラスを推定してクラス言語モデルを作成することができる。
【００７０】
これにより、入力文に含まれる未知語についての単語連鎖に加えて、言語モデル作成用データメモリ８中の文例のうち未知語に付与したクラスを含む文例の単語連鎖も、当該未知語のバイグラム出力確率に反映させることができる。従って、少ない文例で効率的に言語モデルを作成することができる。
【００７１】
また、マッチング対象文例を複数個抽出した場合には、複数種類のクラス推定結果が得られることから、正しいクラスが含まれる確率が高くなる。これによっても、より効率的な言語モデル作成を期待することができる。
【００７２】
実施の形態２．
図１２は、この発明の実施の形態２による言語モデル作成装置の構成を示すブロック図であり、図１と同一若しくは相当する構成要素には同一符号を付している。本実施の形態２による言語モデル作成装置は、上記実施の形態１の構成に加え、クラス推定保留データメモリ（クラス推定保留データ記憶部）１０を含んで構成される。クラス推定保留データメモリ１０は、クラスを推定できなかった未知語を格納する。
【００７３】
本実施の形態２による未知語クラス推定部５は、最初にクラスを推定できなかった未知語をクラス推定保留データメモリ１０に格納し、未知語を含まない入力文によってクラス推定保留データメモリ１０に格納されている文の未知語のクラスを推定する。本実施の形態２による言語モデル作成部９は、既知語クラス辞書４、クラス推定用文例辞書６、未知語推定クラス辞書７、言語モデル作成用データメモリ８及びクラス推定保留データメモリ１０に格納されているデータに基づいて統計モデルであるクラスｎ−ｇｒａｍ言語モデルを作成し出力する。
【００７４】
上述した、文例入力部１、形態素解析部２、既知語クラス付与部３、未知語クラス推定部５及び言語モデル作成部９は、例えば汎用コンピュータ等を用いて本発明に従う言語モデル作成プログラムを実行させることで具現化できる。もう少し詳細に説明すると、本発明に従う言語モデル作成プログラムを、コンピュータに読み込ませて、その動作を制御することにより、コンピュータ上に図１２に示す形態素解析部２、既知語クラス付与部３、未知語クラス推定部５及び言語モデル作成部９を実現することができる。
【００７５】
また、既知語クラス辞書４、クラス推定用文例辞書６、未知語推定クラス辞書７、言語モデル作成用データメモリ８及びクラス推定保留データメモリ１０は、例えば上記コンピュータの記憶装置上に構成することができる。なお、以下の説明において、本発明の言語モデル作成装置を具現化するコンピュータ自体の構成及びその基本的な機能については、当業者が当該分野の技術常識に基づいて容易に認識できるものであり、本発明の本質に直接関わるものでないので詳細な記載を省略する。
【００７６】
次に動作について説明する。
先ず、上記実施の形態１と同様にして、ユーザが、文例入力部１（例えば、キーボードなど）を用いて、登録文を電子データとして形態素解析部２に入力する。形態素解析部２では、文例入力部１を介して入力された入力文を形態素解析し、単語単位に分割する。この形態素解析は、上記実施の形態１と同様に、例えば参考文献１に示す手法を用いる。
【００７７】
また、形態素解析部２は、上記形態素解析と共に未知語検出処理を実行する。この未知語検出処理により、入力文中の未知語に対して未知語フラグが付与され、さらに接続詞や接続助詞に対しては接続詞フラグが付与されて既知語クラス付与部３に出力される。
【００７８】
既知語クラス付与部３では、形態素解析部２から入力した各単語の電子データのうち、未知語フラグが設定されているか否かにより未知語以外の単語である既知語を抽出する。そして、既知語クラス付与部３は、未知語フラグの有無に基づいて抽出した既知語のうち、既知語クラス辞書４に存在する単語のクラスに対応するものを検出し、検出結果のクラスを既知語に付与する。このように、クラスが付与された既知語を含む入力文の電子データは、既知語クラス付与部３から未知語クラス推定部５に出力される。
【００７９】
本実施の形態２による未知語クラス推定部５は、上記実施の形態１とは異なりクラス推定保留データメモリ１０を利用したクラス推定処理を実行する。
図１３は、実施の形態２の未知語クラス推定部の動作を示すフローチャートであり、この図に沿って動作の詳細を説明する。
【００８０】
先ず、未知語クラス推定部５は、既知語クラス付与部３の出力データを入力すると、このデータのうち、未知語フラグがセットされた単語があるか否か調べる（ステップＳＴ３００）。このとき、未知語フラグがセットされた単語があると、ステップＳＴ３１０の処理に移行し、未知語フラグがセットされた単語がない場合、ステップＳＴ３５０の処理に移行する。
【００８１】
ステップＳＴ３１０において、未知語クラス推定部５は、上記実施の形態１と同様にして、クラス推定用文例辞書６に格納されている各文例とのパターンマッチングに基づく文例選択処理を実行する。
【００８２】
続いて、未知語クラス推定部５は、上記実施の形態１と同様にマッチングスコアを予め定めた閾値ＴＨＳ１と比較して、閾値ＴＨＳ１以上の文例を選択する（ステップＳＴ３２０）。なお、閾値ＴＨＳ１は、クラス推定をすべきマッチングスコアの許容下限値を規定する値であり、クラス推定用文例辞書６に格納されている各文例に対して最適なクラス推定を行える下限値を予め求めておく。
【００８３】
このとき、１個以上の文例が選択された場合、未知語クラス推定部５は、上記実施の形態１と同様の処理によって未知語推定クラス辞書７の登録処理及び言語モデル作成用データメモリ８への登録処理を行う（ステップＳＴ３３０）。これにより、未知語クラス推定部５における処理を終了する。
【００８４】
一方、マッチングスコアが閾値ＴＨＳ１以上の文例が選択されなかった場合、未知語クラス推定部５は、入力文の「＊（ｊ）」と表記していた未知語部分を元の単語表記に戻し、言語モデル作成用データメモリ８に格納せずに、クラス推定保留データメモリ１０に格納して登録処理を終了する（ステップＳＴ３４０）。このクラス推定保留データメモリ１０に格納するという動作が上記実施の形態１との違いの一つである。
【００８５】
ステップＳＴ３００で、入力文中に未知語フラグがセットされた単語がない場合、未知語クラス推定部５は、クラス推定保留データメモリ１０に格納されているデータがあるか否か調べる（ステップＳＴ３５０）。このとき、クラス推定保留データメモリ１０にデータがある場合、ステップＳＴ３６０の処理に移行し、クラス推定保留データメモリ１０にデータがない場合、ステップＳＴ４１０の処理に移行する。
【００８６】
ステップＳＴ３６０において、未知語クラス推定部５は、クラス推定保留データメモリ１０に格納されている全ての文例（以降、クラス推定保留文例と称する）に、例えば格納順で番号ｒ（ｒ＝１〜Ｑ）を付与し、番号ｒ＝１にセットする（ステップＳＴ３６０）。なお、Ｑは、クラス推定保留データメモリ１０に格納されている文例の個数である。
【００８７】
次に、未知語クラス推定部５は、文番号ｒのクラス推定保留文例と入力文との間でパターンマッチング処理を実行してマッチングスコアＳ（ｒ）を算出する。このパターンマッチングの方法は、上記実施の形態１で説明した方法と基本的に同一である。
【００８８】
詳細に説明すると、未知語クラス推定部５が、上記実施の形態１と同様に、文番号ｒのクラス推定保留文例中の未知語を「＊（ｊ）」に置き換え、クラス推定保留文例中の未知語「＊（ｊ）」が、「マッチした文字数ｎ２が１以上であり、且つ脱落文字数ｎｄが予め定めた閾値ＴＨ＿ｄ以下、且つ挿入文字数ｎｉが予め定めた閾値ＴＨ＿ｉ以下」というスコア付与条件を満たさない場合、マッチングスコアＳ（ｒ）＝０とする。
【００８９】
なお、閾値ＴＨ＿ｄ及び閾値ＴＨ＿ｉは、それぞれ脱落文字数ｎｄ及び挿入文字数ｎｉについてマッチングスコアを付与すべき許容上限値を規定する値であり、最適なマッチング結果を与える上限値を予め求めておく。
【００９０】
一方、上記スコア付与条件を満たす場合、未知語クラス推定部５は、マッチングスコアＳ（ｒ）を上記式（４）に従って算出する。このあと、未知語クラス推定部５は、上記処理を施したクラス推定保留文例の番号ｒがＱであるか否かを判定し、クラス推定保留データメモリ１０に格納されている全てのクラス推定保留文例に対してマッチングスコアＳ（ｒ）の算出処理を施したかどうかを確認する。
【００９１】
このとき、番号ｒがＱであり、全てのマッチング対象文例に対して処理が行われていれば、マッチングスコア算出処理を終了する。一方、番号ｒがＱでなければ、未知語クラス推定部５は、クラス推定保留データメモリ１０から新たなクラス推定保留文例を読み出し、その読み出し番号ｒに１を加え、当該クラス推定保留文例に対してマッチングスコア算出処理を施す。
【００９２】
この処理を、クラス推定保留データメモリ１０に格納されている全てのクラス推定保留文例に対して繰り返して、それぞれのマッチングスコアＳ（ｒ）（但し、ｒ＝１〜Ｑ）を求める。
【００９３】
次に、未知語クラス推定部５は、上述の処理にて得たマッチングスコアＳ（ｒ），（ｒ＝１〜Ｑ）を予め定めた閾値ＴＨＳ２と比較し、マッチングスコアＳ（ｒ）が閾値ＴＨＳ２以上の文例を選択する。なお、閾値ＴＨＳ２は、クラス推定をすべきマッチングスコアの許容下限値を規定する値であり、クラス推定保留文例に対して最適なクラス推定を行える下限値を予め求めておく。
【００９４】
このとき、マッチングスコアＳ（ｒ）が閾値ＴＨＳ２以上であれば、未知語クラス推定部５は、クラス推定保留文例が入力文とマッチしたと判定して、ステップＳＴ３８０の処理に移行する。また、マッチングスコアＳ（ｒ）が閾値ＴＨＳ２未満の場合、ステップＳＴ３９０の処理に移行する。
【００９５】
ステップＳＴ３８０において、未知語クラス推定部５は、クラス推定保留文例の未知語部分を入力文にマッチした既知語のクラスで置き換えた電子データを言語モデル作成用データメモリ８に格納する。また、未知語推定クラス辞書７に未知語の表記と共に推定されたクラスを格納する。さらに、上述のクラス推定を行ったクラス推定保留文例をクラス推定保留データメモリ１０から消去する。このようにクラス推定保留データメモリ１０に格納されていたデータにクラスを付与し、言語モデル作成用データメモリ８と未知語クラス辞書７に、前記クラス推定保留データメモリ１０に格納されていたデータを格納することにより、前記データ中のクラスを付与された未知語部分は、実施の形態１と同様に上記式（９）の確率値計算時に前記データが利用され、クラス言語モデルに反映されるようになる。
【００９６】
例えば、文番号ｒがクラス推定保留文例が「新市民会館に避難して下さい」で「新市民会館」に未知語フラグを付与している。また、入力文が「○○小学校に避難して下さい」であって、「○○小学校」が図２に示す既知語クラス辞書４に登録されており、＜施設＞というクラスが付与されている場合を考える。このとき、上述したクラス推定保留文例と上記入力文はマッチするので、「新市民会館」のクラスを＜施設＞と推定する。
【００９７】
ステップＳＴ３９０において、未知語クラス推定部５は、現在の文番号ｒとクラス推定保留データメモリ１０に格納されている文例の個数Ｑの値を比較して、クラス推定保留データメモリ１０に格納される全てのクラス推定保留文例にステップＳＴ３７０からステップＳＴ３８０までの処理を施したか否かを判定する。このとき、ｒ＝Ｑであれば、ステップＳＴ４１０の処理に移行する。一方、ｒ＜Ｑであれば、ステップＳＴ４００の処理に移行する。
【００９８】
ステップＳＴ４００で、未知語クラス推定部５は、現在の文番号ｒに１を加えてステップＳＴ３７０の処理に戻り、クラス推定保留データメモリ１０に格納される全てのクラス推定保留文例にステップＳＴ３７０からステップＳＴ３８０までの処理を繰り返す。
【００９９】
ステップＳＴ４１０において、未知語クラス推定部５は、クラス推定保留文例とパターンマッチングを行った入力文を言語モデル作成用データメモリ８に格納する。以上で未知語クラス推定部５における処理が終了する。
【０１００】
次に、言語モデル作成部９は、上記実施の形態１と同様の動作をしてクラスｎ−ｇｒａｍ言語モデルを作成する。但し、クラス推定保留データメモリ１０にデータが格納されている場合には、そのデータも入力とする。この場合にはクラス推定保留データメモリ１０のデータに含まれる未知語部分はクラス語としてみなされないが、通常の単語として言語モデルが作成される。
【０１０１】
以上のように、実施の形態２では、クラス推定用文例辞書６に格納されている各文例とのパターンマッチングに基づく文例選択処理によっても入力文の未知語のクラスが推定できない場合、当該未知語を含む入力文をクラス推定保留文例としてクラス推定保留データメモリ１０に格納しておき、未知語を除く入力文中の既知語とクラス推定保留文例の未知語とのマッチするか否かによって当該未知語に付与すべきクラスを推定するので、未知語に対してクラスが付与される割合が向上し、さらに効率的に言語モデルを作成できる。
【０１０２】
実施の形態３．
図１４は、この発明の実施の形態３による言語モデル作成装置の構成を示すブロック図であり、図１と同一若しくは相当する構成要素には同一符号を付している。本実施の形態３による言語モデル作成装置は、上記実施の形態１の構成に加え、推定結果確認部１１を含んで構成される。
【０１０３】
推定結果確認部１１は、ユーザと実施の形態３による言語モデル作成装置との間で未知語クラス推定部５により推定された未知語のクラスの確認やクラス候補の受け付けのために使用する構成部である。例えば、デイスプレイ上にクラス推定結果を提示し、マウスなどで確認結果やクラス候補を入力することができるクラス推定結果確認用ＧＵＩ（Grafical User Interface)を提供する。
【０１０４】
実施の形態３による未知語クラス推定部５は、推定したクラスを推定結果確認部１１を介してユーザに確認させたり、ユーザから受け付けたクラス候補を未知語に付与する。本実施の形態３の言語モデル作成用データメモリ８には、推定結果確認部１１を介して確認や設定が行われたクラスを用いた言語モデルを作成するための学習データが格納される。
【０１０５】
上述した、文例入力部１、形態素解析部２、既知語クラス付与部３、未知語クラス推定部５、言語モデル作成部９及び推定結果確認部１１は、例えば汎用コンピュータ等を用いて本発明に従う言語モデル作成プログラムを実行させることで具現化できる。もう少し詳細に説明すると、本発明に従う言語モデル作成プログラムを、コンピュータに読み込ませて、その動作を制御することにより、コンピュータ上に図１４に示す形態素解析部２、既知語クラス付与部３、未知語クラス推定部５、言語モデル作成部９及び推定結果確認部１１を実現することができる。
【０１０６】
また、既知語クラス辞書４、クラス推定用文例辞書６、未知語推定クラス辞書７、言語モデル作成用データメモリ８及びクラス推定保留データメモリ１０は、例えば上記コンピュータの記憶装置上に構成することができる。なお、以下の説明において、本発明の言語モデル作成装置を具現化するコンピュータ自体の構成及びその基本的な機能については、当業者が当該分野の技術常識に基づいて容易に認識できるものであり、本発明の本質に直接関わるものでないので詳細な記載を省略する。
【０１０７】
次に動作について説明する。
先ず、上記実施の形態１と同様にして、ユーザが、文例入力部１（例えば、キーボードなど）を用いて、登録文を電子データとして形態素解析部２に入力する。形態素解析部２では、文例入力部１を介して入力された入力文を形態素解析し、単語単位に分割する。この形態素解析は、上記実施の形態１と同様に、例えば参考文献１に示す手法を用いる。
【０１０８】
また、形態素解析部２は、上記形態素解析と共に未知語検出処理を実行する。この未知語検出処理により、入力文中の未知語に対して未知語フラグが付与され、さらに接続詞や接続助詞に対しては接続詞フラグが付与されて既知語クラス付与部３に出力される。
【０１０９】
既知語クラス付与部３では、形態素解析部２から入力した各単語の電子データのうち、未知語フラグが設定されているか否かにより未知語以外の単語である既知語を抽出する。そして、既知語クラス付与部３は、未知語フラグの有無に基づいて抽出した既知語のうち、既知語クラス辞書４に存在する単語のクラスに対応するものを検出し、検出結果のクラスを既知語に付与する。このように、クラスが付与された既知語を含む入力文の電子データは、既知語クラス付与部３から未知語クラス推定部５に出力される。
【０１１０】
未知語クラス推定部５では、既知語クラス付与部３の出力データを入力すると、このデータのうち、未知語フラグが付与された単語を記号「＊（ｊ）」に置き換える。記号「＊（ｊ）」は、通常の単語とはマッチせず、クラス語に対しては全クラスにマッチする未知語及びクラス語を表す電子データである。なお、ｊは、入力文の文頭から未知語が出現した順番に１，２，・・・の順で番号を付与したものである。
【０１１１】
次に、未知語クラス推定部５は、上述の処理を施した入力文の電子データとクラス推定用文例辞書６に格納されている各文例の電子データとのパターンマッチング処理を行う。例えば、上記実施の形態１と同様にＤＰマッチングを用いる。
【０１１２】
これにより、未知語クラス推定部５が、上記実施の形態１と同様にして、クラス推定用文例辞書６に格納されているパターンマッチングの対象となるマッチング対象文例についてのマッチングスコアＳ（ｒ）を算出する。
【０１１３】
次に、未知語クラス推定部５は、上述の処理にて得たマッチングスコアＳ（ｒ），（ｒ＝１〜Ｎ）を予め定めた閾値ＴＨＳと比較し、マッチングスコアＳ（ｒ）が閾値ＴＨＳ以上の文例を選択する。なお、閾値ＴＨＳは、クラス推定をすべきマッチングスコアの許容下限値を規定する値であり、最適なクラス推定を行える下限値を予め求めておく。Ｎは、クラス推定用文例辞書６に格納されているマッチング対象文例数を示している。
【０１１４】
このとき、未知語クラス推定部５は、マッチングスコアＳ（ｒ）が閾値ＴＨＳ以上の文例が選択されなかった場合、入力文の「＊（ｊ）」と表記していた未知語部分を元の単語表記に戻して言語モデル作成用データメモリ８に格納して登録処理を終了する。
【０１１５】
１個以上の文例が選択された場合、未知語クラス推定部５は、上述のようにしてマッチングスコアＳ（ｒ）に基づき選択した文例のうちマッチングスコアＳ（ｒ）が最大の文例１個又は上位のＲ（但し、Ｒは１以上Ｎ以下の自然数）個以上の文例を抽出する。ここで、Ｒは抽出された文例数である。
【０１１６】
このあと、未知語クラス推定部５は、上述のようにしてマッチングスコアＳ（ｒ）に基づき選択した全ての文例に番号ｒ＝１〜Ｒについて、入力文中の未知語「＊（ｊ）」が、ｒ番目の文例におけるクラス語部分とマッチしているか否かを調べ、マッチしている場合はマッチしたクラス語のクラスを当該未知語のクラスであると推定する。
【０１１７】
次に、未知語クラス推定部５は、上述のようにして推定された１個又は複数種類のクラスを推定結果確認部１１に出力する。推定結果確認部１１では、その構成要素であるディスプレイに未知語クラス推定部５からのクラス推定結果を表示してユーザに提示する。ユーザは、このデイスプレイ上で提供されるクラス推定結果の確認用ＧＵＩを介して、表示されたクラス候補をマウスでクリックすることにより未知語のクラスとして選択することができる。
【０１１８】
このとき、正しいクラスがないことを示す「候補なし」も選択できるように構成する。つまり、ユーザは、ディスプレイにクラス候補が表示されると、マウスでクリックすることによって正しいクラス候補、あるいは「候補なし」を選択する。
【０１１９】
推定結果確認部１１は、ユーザがクラス候補を選択すると、この選択結果を該当する単語の表記と共に未知語推定クラス辞書７に格納する。また、入力文の未知語部分を、選択結果のクラス語に置き換えて、言語モデル作成用データメモリ８に格納する。ユーザが「候補なし」を選択した場合には、入力文の未知語部分を元の単語表記に戻して言語モデル作成用データ８に格納する。
【０１２０】
このあと、言語モデル作成部９は、上記実施の形態１と同様の動作をして、音声認識における単語系列の出現確率の推定値を与える電子データである、クラスｎ−ｇｒａｍ言語モデルを算出して出力する。
【０１２１】
以上のように、実施の形態３によれば、未知語クラス推定部５が推定したクラスを提示して、未知語に対する当該クラスの付与の可否に関する情報を受け付ける推定結果確認部１１を設け、未知語クラス推定部５が、推定結果確認部１１が受け付けた情報に基づいて未知語のクラスを推定するので、正確なクラスを付与することが可能となり、より効率的に言語モデルを作成することができる。
【０１２２】
なお、上記実施の形態１から３ではそれぞれの構成を別個に説明したが、これらを組み合わせて、取り扱うタスクなどにより言語モデル作成手順を適宜切り替えるように構成しても良い。
【図面の簡単な説明】
【０１２３】
【図１】この発明の実施の形態１による言語モデル作成装置の構成を示すブロック図である。
【図２】既知語クラス辞書の一例を示す図である。
【図３】言語モデル作成用データメモリの一例である。
【図４】クラス推定用文例辞書の内容の一例を示す図である。
【図５】形態素解析部の出力内容の一例を示す図である。
【図６】既知語クラス付与部の出力内容の一例を示す図である。
【図７】ＤＰマッチングにおけるマッチング対象文と入力文の対応関係を示すグラフである。
【図８】マッチング対象文と入力文とのパターンマッチング手順を示すフローチャートである。
【図９】最適ＤＰパスを得たマッチング対象文例Ａと入力文Ｂとの対応関係を示すグラフである。
【図１０】未知語クラス推定部による文例選択処理を示すフローチャートである。
【図１１】未知語推定クラス辞書の内容の一例を示す図である。
【図１２】この発明の実施の形態２による言語モデル作成装置の構成を示すブロック図である。
【図１３】実施の形態２による未知語クラス推定部の動作を示すフローチャートである。
【図１４】この発明の実施の形態３による言語モデル作成装置の構成を示すブロック図である。
【符号の説明】
【０１２４】
１  文例入力部、２  形態素解析部、３  既知語クラス付与部、４  既知語クラス辞書（既知語クラス記憶部）、５  未知語クラス推定部、６  クラス推定用文例辞書（クラス推定用文例記憶部）、７  未知語推定クラス辞書、８  言語モデル作成用データメモリ（言語モデル作成用データ記憶部）、９  言語モデル作成部、１０  クラス推定保留データメモリ（クラス推定保留データ記憶部）、１１  推定結果確認部。
【図１】
2006059105.tif 000003
【図２】
2006059105.tif 000004
【図３】
2006059105.tif 000005
【図４】
2006059105.tif 000006
【図５】
2006059105.tif 000007
【図６】
2006059105.tif 000008
【図７】
2006059105.tif 000009
【図８】
2006059105.tif 000010
【図９】
2006059105.tif 000011
【図１０】
2006059105.tif 000012
【図１１】
2006059105.tif 000013
【図１２】
2006059105.tif 000014
【図１３】
2006059105.tif 000015
【図１４】
2006059105.tif 000016