(57)【要約】【課題】テキストを語句に分割する分割装置が有する辞書に新たに登録すべき新規語句を検索する。【解決手段】このシステムは、学習用テキストを分割装置に入力して語句に分割させることにより、それぞれが学習用テキストの分割結果として互いに組合せの異なる語句を含む複数の分割候補のそれぞれを、分割結果の確信度に対応付けて生成し、語句毎に、当該語句を含むそれぞれの分割候補に対応する確信度を合計することにより、当該語句が新規語句であることの尤度を算出し、少なくとも何れか１つの分割候補に含まれる語句の組合せのうち、その組合せに属する語句によって学習用テキスト全体を表記できる範囲内で、その組合せに属する各語句が対応する尤度に応じた頻度で学習用テキストに出現するとみなした場合の語句の情報エントロピーを最小化する組合せを検索して、新規語句を含む語句の組合せとして出力する。【選択図】図１
2008151926.tif 000002
【特許請求の範囲】
【請求項１】
入力されるテキストを複数の語句に分割する分割装置が有する辞書に新たに登録すべき語句である新規語句を検索するシステムであって、
学習用テキストを前記分割装置に入力して語句に分割させることにより、それぞれが前記学習用テキストの分割結果として互いに組合せの異なる語句を含む複数の分割候補のそれぞれを、分割結果の確信度に対応付けて生成する分割候補生成部と、
語句毎に、当該語句を含むそれぞれの前記分割候補に対応する前記確信度を合計することにより、当該語句が前記新規語句であることの尤度を算出する合計算出部と、
少なくとも何れか１つの前記分割候補に含まれる語句の組合せのうち、その組合せに属する語句によって前記学習用テキスト全体を表記できる範囲内で、その組合せに属する各語句が対応する前記尤度に応じた頻度で前記学習用テキストに出現するとみなした場合の語句の情報エントロピーを最小化する組合せを検索して、前記新規語句を含む語句の組合せとして出力する検索部と
を備えるシステム。
【請求項２】
前記検索部は、
それぞれの語句が当該語句に対応する前記尤度に応じた頻度で前記学習用テキストに出現するとみなした場合の当該語句の情報量を算出する情報量算出部と、
少なくとも何れか１つの前記分割候補に含まれる語句のうち、第１語句について算出した第１の前記情報量よりも、前記第１語句を示す文字列を含む第２語句の情報量である第２の前記情報量が小さいことを条件に、前記新規語句を含む語句の組合せから前記第１語句を除外して前記第２語句を追加する語句結合部と、
少なくとも何れか１つの前記分割候補に含まれる語句のうち、第３語句について算出した第３の前記情報量、および、第４語句について算出した第４の前記情報量の合計が、第３語句を示す文字列および第４語句を示す文字列を連結した第５語句について算出した第５の前記情報量よりも小さいことを条件に、前記新規語句を含む語句の組合せから前記第５語句を除外して前記第３語句および前記第４語句を追加する語句分割部と
を有する請求項１に記載のシステム。
【請求項３】
前記検索部は、前記新規語句を含む語句の組合せから除外または追加するべき語句が、少なくとも何れか１つの前記分割候補に含まれる語句の中から検索されなくなるまで、前記語句結合部および前記語句分割部による処理を交互に繰り返させ、除外または追加するべき語句が検索されなくなったことを条件に、前記新規語句を含む語句の組合せを出力する請求項２に記載のシステム。
【請求項４】
前記情報量算出部は、各語句について算出した情報量をメモリに記憶し、さらに、
前記語句結合部により前記第１語句が除外されて前記第２語句が追加されたことを条件に、前記第２語句の尤度を、前記第１語句の尤度および前記第２語句の尤度の合計であるとみなして、前記第２語句の情報量を算出して、メモリに記憶している前記第２の情報量を更新し、さらに、
前記語句分割部により第５語句が除外され前記第３語句および前記第４語句が追加されたことを条件に、前記第３語句の尤度を、前記第３語句の尤度および前記第５語句の尤度の合計であるとみなし、前記第４語句の尤度を、前記第４語句の尤度および前記第５語句の尤度の合計であるとみなして、前記第３語句および前記第４語句の情報量を算出して、メモリに記憶している前記第３および前記第４の情報量を更新し、
前記語句結合部および前記語句分割部は、メモリに記憶された、更新された前記情報量を用いて、語句を追加または除外するべきか否かを判断する
請求項３に記載のシステム。
【請求項５】
前記分割装置は、語句毎に、当該語句と連続して表記される他のそれぞれの語句について、当該語句と当該他の語句とが連続して表記される頻度を示す指標値を記憶している記憶部を有し、当該指標値に基づいて複数の前記分割候補を生成するものであり、
前記検索部により検索された、前記新規語句を含む語句の組合せに含まれる語句について、当該語句が前記記憶部に既に記憶されている場合には当該語句に対応する前記指標値を増加させ、当該語句が前記記憶部に記憶されていない場合には当該語句を前記記憶部に新たに登録する分割学習部を更に備える請求項１に記載のシステム。
【請求項６】
前記検索部は、少なくとも何れか１つの前記分割候補に含まれる語句の組合せのうち、前記情報エントロピーの値と、その組合せに属する語句の数に応じて増加する予め定められた指標の指標値との合計を最小化する語句の組合せを検索する
請求項１に記載のシステム。
【請求項７】
入力されるテキストを複数の語句に分割する分割装置が有する辞書に新たに登録すべき語句である新規語句を検索する方法であって、
学習用テキストを前記分割装置に入力して語句に分割させることにより、それぞれが前記学習用テキストの分割結果として互いに組合せの異なる語句を含む複数の分割候補のそれぞれを、分割結果の確信度に対応付けて生成することと、
語句毎に、当該語句を含むそれぞれの前記分割候補に対応する前記確信度を合計することにより、当該語句が前記新規語句であることの尤度を算出することと、
少なくとも何れか１つの前記分割候補に含まれる語句の組合せのうち、その組合せに属する語句によって前記学習用テキスト全体を表記できる範囲内で、その組合せに属する各語句が対応する前記尤度に応じた頻度で前記学習用テキストに出現するとみなした場合の語句の情報エントロピーを最小化する組合せを検索して、前記新規語句を含む語句の組合せとして出力することと、
を備える方法。
【請求項８】
入力されるテキストを複数の語句に分割する分割装置が有する辞書に新たに登録すべき語句である新規語句を検索するシステムとして、情報処理装置を機能させるプログラムであって、
前記情報処理装置を、
学習用テキストを前記分割装置に入力して語句に分割させることにより、それぞれが前記学習用テキストの分割結果として互いに組合せの異なる語句を含む複数の分割候補のそれぞれを、分割結果の確信度に対応付けて生成する分割候補生成部と、
語句毎に、当該語句を含むそれぞれの前記分割候補に対応する前記確信度を合計することにより、当該語句が前記新規語句であることの尤度を算出する合計算出部と、
少なくとも何れか１つの前記分割候補に含まれる語句の組合せのうち、その組合せに属する語句によって前記学習用テキスト全体を表記できる範囲内で、その組合せに属する各語句が対応する前記尤度に応じた頻度で前記学習用テキストに出現するとみなした場合の語句の情報エントロピーを最小化する組合せを検索して、前記新規語句を含む語句の組合せとして出力する検索部と
して機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、語句を検索する技術に関する。特に、本発明は、音声処理用の辞書に登録するべき新規語句を検索する技術に関する。
【背景技術】
【０００２】
日本語のような語句の境界が明示されていない言語について、音声認識や音声合成をするためには、テキストを複数の語句に正しく分割することが望ましい。そして、高精度な分割を実現するためには、テキストを語句に分割する分割装置の辞書に様々な語句をその出現頻度に対応付けて予め登録しておくことが望ましい。従来、充分な量の語句を登録するためには、語句の境界が判明している学習用テキストが必要となっていた。しかしながら、このような学習用テキストは、人手で構築されるため充分な量の確保が難しかった。
【０００３】
【非特許文献１】浅原, 松本: 形態素解析とチャンキングの組み合わせによる日本語テキスト中の未知語出現箇所同定, 情報処理学会研究報告, NL154-8, pp. 47-54, (2003)
【非特許文献２】伊東他: n-gramを用いた日本語テキストの単語単位への分割, 情報処理学会研究報告, NL-122,  (1997).
【非特許文献３】森他: 日本語の情報量の上限の推定, 情報処理学会論文誌, Vol.38, No. 11, pp. 2191-2199, (1997).
【非特許文献４】森, 長尾: nグラム統計によるコーパスからの未知語抽出, 情報処理学会論文誌, Vol. 39, No. 7, pp. 2093-2100, (1998).
【非特許文献５】長野他: N-gramモデルを用いた音声合成のための読みおよびアクセントの同時推定, 情報処理学会論文誌, Vol. 47, No. 6, (2006).
【非特許文献６】永田: 単語頻度の再推定による自己組織化単語分割, 情報処理学会研究報告, NL121, pp.9-16, (1997).
【非特許文献７】永田: 統計的言語モデルとN-best探索を用いた日本語形態素解析法, 情報処理学会論文誌, Vol. 40, No. 9, pp. 3420-3431, (1999).
【非特許文献８】内元他: 最大エントロピーモデルに基づく形態素解析 - 未知語の問題の解決策, 自然言語処理, Vol. 8, No. 1, pp. 127-141, (2001).
【非特許文献９】Yamamoto, M., Church, K. W.: Using Suffix Arrays to Compute Term Frequency and Document Frequency for all Substrings in a Corpus, Computational Linguistics, Vol. 27, No. 1, pp. 1-30, (2001).
【非特許文献１０】Viterbi, A. J.: Error Bounds for Convolutional Codes and an Asymptotically Optimum Decoding Algorithm, IEEE Trans. on Information Theory, Vol. IT-13, No.2, pp.260-269, (1967).
【発明の開示】
【発明が解決しようとする課題】
【０００４】
これに対し、従来、充分な量の学習用テキストが無くても、語句の境界を判断できるようにする技術が提案されている。１つは、語句の中である文字と他の文字とが連続して表記される頻度や、語句に含まれる文字数などの統計情報を学習用テキストから予め算出しておき、それを辞書未登録語の判断に用いる技術である（非特許文献３、非特許文献７、非特許文献２、非特許文献８および非特許文献１を参照。）。他の技術として、ある入力文字列に対し、その文字列の語句らしさを示す指標値を算出する技術が提案されている（非特許文献４および非特許文献９を参照。）。しかしながら何れの技術によっても、辞書未登録の語句を精度良く判断しようとすれば、判断しようとする未登録語句の性質について充分な情報が必要となる矛盾が生じる場合があった。また、未登録語句についての情報が一定の場合には、未登録語句として検出可能な語句の数を増やそうとすると、検出の精度が低下し易いというトレードオフがあった。
【０００５】
そこで本発明は、上記の課題を解決することのできるシステム、方法およびプログラムを提供することを目的とする。この目的は特許請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明の一側面においては、入力されるテキストを複数の語句に分割する分割装置が有する辞書に新たに登録すべき語句である新規語句を検索するシステムであって、学習用テキストを分割装置に入力して語句に分割させることにより、それぞれが学習用テキストの分割結果として互いに組合せの異なる語句を含む複数の分割候補のそれぞれを、分割結果の確信度に対応付けて生成する分割候補生成部と、語句毎に、当該語句を含むそれぞれの分割候補に対応する確信度を合計することにより、当該語句が新規語句であることの尤度を算出する合計算出部と、少なくとも何れか１つの分割候補に含まれる語句の組合せのうち、その組合せに属する語句によって学習用テキスト全体を表記できる範囲内で、その組合せに属する各語句が対応する尤度に応じた頻度で学習用テキストに出現するとみなした場合の語句の情報エントロピーを最小化する組合せを検索して、新規語句を含む語句の組合せとして出力する検索部とを備えるシステムを提供する。また、当該システムにより新規語句を検索する方法および当該システムとして情報処理装置を機能させるプログラムを提供する。
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【発明を実施するための最良の形態】
【０００７】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【０００８】
図１は、検索システム１０の全体構成を示す。検索システム１０は、分割候補生成部１００と、合計算出部１１０と、検索部１２０と、分割学習部１３０とを備え、分割装置６０が有する辞書に新たに登録すべき語句である新規語句を検索することを目的とする。分割候補生成部１００は、外部から学習用テキストを取得し、取得したその学習用テキストを分割装置６０に入力して語句に分割させる。分割装置６０は、テキストを語句に分割するための辞書を格納した記憶部６１０と、その辞書に基づきテキストを語句に分割する分割部６００とを有する。分割部６００は、分割候補生成部１００から入力された学習用テキストを辞書に基づいて分割する。
【０００９】
たとえば、記憶部６１０における辞書には、語句の表記がその語句の出現頻度に対応付けて記録されている。この出現頻度は、予め与えられた膨大な量のテキストの中からそれぞれの語句の出現回数をカウントすることなどによって、予め算出されたものである。分割部６００は、学習用テキストに含まれる文字列が記憶部６１０に記憶された辞書に登録されている場合には、その文字列がその辞書に登録されていない場合と比較して高い確率でその文字列を語句と判断する。また、同じ登録された状態であっても、より高い出現頻度に対応付けて辞書に記録された語句は、より高い確率で語句と判断される。
【００１０】
分割部６００は、分割結果を一意に定めるものであるから、入力されたテキストについて、そのテキストの複数の語句への分割のうち、辞書に記録された出現頻度に基づき最も確からしい分割結果を出力するものである。しかしながら、分割部６００は、最も確からしい分割結果を生成する過程の内部処理において、必ずしも最も確からしくは無いが、入力されたテキストを複数の語句へ分割する候補を生成する場合がある。分割候補生成部１００は、分割装置６０に指示して、このような分割の候補を複数生成させる。そして、分割候補生成部１００は、それぞれの分割候補をその分割結果の確信度に対応付けて分割装置６０により生成させ、合計算出部１１０に対し出力する。これらの分割候補および確信度を分割候補データ１５とする。
【００１１】
なお、分割候補生成部１００は、生成した複数の分割候補を全て出力するのではなく、これらの中から、対応する確信度の値の大きいものから予め定められた数の分割候補を選択して、出力するのが望ましい。当該予め定められた数は任意に設定することができるが、一例としては１０個である。更に他の例として、分割候補生成部１００は、分割候補をその個数ではなくその確信度に基づいて選択し、出力してもよい。たとえば、分割候補生成部１００は、生成した複数の分割候補の中から、最大の確信度との差分が予め定められた範囲内の確信度に対応する分割候補を選択して、出力してもよい。
【００１２】
分割候補データ１５において、複数の分割候補のそれぞれは、学習用テキストの分割結果として互いに組合せの異なる語句を含む。たとえば「これはサンプル文です。」という学習用テキストについて、ある分割候補は、「これ」、「は」、「サンプル文」、「です」および「。」の５つの語句の組合せを含む。他の分割候補は、「これは」、「サンプル」、「文」、「です」および「。」の５つの語句の組合せを含む。ここで、語句とは、意味解析の単位を示すものであり、必ずしも単語そのものや、文節、または句とは限らない。詳細には、語句とは、たとえば、文法上の品詞のみならず、意味解析に必要な拡張的な品詞（たとえば接尾的な文末表現や句読点そのものなど）を含む品詞群に分解可能な文字列の単位である。
【００１３】
それぞれの分割候補に対応付けられる確信度は、図１ではｐ１からｐ４と変数により示したが、実際には具体的な数値、たとえば５０％などの百分率であってもよいし、頻度スコア３０などの指標値であってもよい。合計算出部１１０は、語句毎に、当該語句を含むそれぞれの分割候補に対応するこの確信度を合計することにより、その語句が新規語句であることの尤度を算出する。たとえば、語句「これ」は、第１の分割候補にも第３の分割候補にも第４の分割候補にも含まれているので、それぞれに対応する確信度ｐ１、ｐ３およびｐ４を合計した（ｐ１＋ｐ３＋ｐ４）がこの語句が新規語句であることの尤度として算出される。
【００１４】
検索部１２０は、少なくとも何れか１つの分割候補に含まれる語句の組み合わせのうち、その組合せに属する語句によって学習用テキストを表記できる組合せを生成する。たとえば、「これ」「これは」「サンプル文」「です」「。」から構成される組合せは、「これはサンプル文です。」という文を文字を欠落させることなく表記できる。一方、「これ」「サンプル文」「です」「。」から構成される組合せは、「は」という文字列が不足しているので、「これはサンプル文です。」という文を表記するためには語句が不足している。このように、学習用テキストを表記できる語句の組合せとは、重複は許し不足を許さない範囲内で選択した語句の組合せのことをいう。
【００１５】
そして、検索部１２０は、そのそれぞれの組合せの中から、その組合せに属する各語句が対応する尤度に応じた頻度で学習用テキストに出現するとみなした場合の語句の情報エントロピーを最小化する組合せを検索する。たとえば、語句「これ」は、実際には、第１、第３および４の分割候補に含まれるので、合計３回出現している。しかしながら、検索部１２０の処理においては、この語句「これ」が、検索部１２０により算出された尤度（ｐ１＋ｐ３＋ｐ４）に応じた頻度で出現するものとみなす。尤度に応じた頻度とは、たとえば尤度そのものであってもよいし、尤度に比例する数値であってもよい。尤度に比例する数値としては、たとえば、生成した全ての分割候補に対応する確信度の合計（すなわちｎ個の分割候補があるとしたらｐ１からｐｎの合計）を１として正規化した数値を用いるのが好ましい。このような計算の一例は非特許文献６を参照されたい。
【００１６】
そして、語句の情報エントロピーは、たとえば以下の式（１）に示す数式によって計算される数値である。
【数１】
2008151926.tif 000003
ここで、Ｖは、少なくとも何れかの分割候補に含まれる語句の集合を示す。Ｖのうえに−（バー）を付したものが、求めるべき語句の組合せである。Ｖ´は、語句の組合せを求める過程で一時的に語句の組合せを格納する変数である。Ｈ（Ｖ´）は、Ｖ´に含まれる語句の情報エントロピーを示し、ａｒｇｍｉｎはこれを最小化するＶ´を求めることを示す演算子である。語句の情報エントロピーＨ（Ｖ´）は、Ｖ´に含まれる語句のそれぞれ（ｗｉ）について、その出現確率であるＰ（ｗｉ）とその対数を乗じたものに−１を乗じた値を求め、各語句について合計したものである。出現確率Ｐ（ｗｉ）は、たとえば、上記で説明した頻度の値を、何れかの分割候補に出現する全ての語句の出現確率の合計が１となるように正規化したものであり、つまりは、各語句についての上記頻度の合計で除することによって算出される。
【００１７】
具体的な計算方法としては、たとえば、検索部１２０は、少なくとも何れかの分割候補に含まれる語句のあらゆる組合せのそれぞれを、入力された学習用テキストと比較して、当該あらゆる組合せの中から、この学習用テキストを表記できる組合せを選択する。そして、検索部１２０は、選択したそれぞれの組合せを式（１）中のＶ´とおいてＨ（Ｖ´）の値を計算する。そして、検索部１２０は、計算したＨ（Ｖ´）の値のそれぞれを比較して、その値の最も小さいときのＶ´を検索して、情報エントロピーを最小化する語句の組合せとする。語句の組合せの数が膨大な場合にはこの方法では計算時間が大きくなり過ぎる場合があるので、他の方法についても図２等を参照して後に説明する。
【００１８】
検索部１２０は、このように検索した語句の組合せを、新規語句を含む語句の組合せとして分割学習部１３０に出力する。分割学習部１３０は、検索部１２０により検索された、新規語句を含む語句の組合せに含まれる語句について、その語句が記憶部６１０に既に記憶されている場合にはその語句に対応する頻度の指標値を増加させる。分割学習部１３０は、その語句が記憶部６１０に記憶されていない場合にはその語句を記憶部６１０中の辞書に新たに登録する。これにより、検索された新規語句を分割装置６０により語句として判断され易くすることができる。
【００１９】
図２は、検索部１２０の機能構成を示す。本図を参照して、上述の情報エントロピーに関する処理において、語句の組合せが多すぎて計算時間が問題となる場合について、行う他の処理について説明する。この処理によれば、近似的に情報エントロピーを最小化する語句の組合せをより高速に検索することができる。検索部１２０は、情報量算出部２００と、メモリ２１０と、語句結合部２２０と、語句分割部２３０とを有する。情報量算出部２００は、少なくとも何れか１つの分割候補に含まれる語句のそれぞれについて、その語句が、その語句に対応する尤度に応じた頻度で学習用テキストに出現するとみなした場合のその語句の情報量を算出する。情報量の算出処理は、たとえば以下の式（２）によって表される。
【数２】
2008151926.tif 000004
【００２０】
この式に示すように、各語句ｗの情報量は、その語句ｗの尤度に応じた出現確率であるＰ（ｗ）の２を底とする対数に−１を乗じることにより算出される。情報量算出部２００は、このように算出した各語句についての情報量をメモリ２１０に記憶する。また、メモリ２１０に記憶された語句の組合せが、暫定的に、新規語句を含むとして検索するべき語句の組合せを示すものとする。さらに、後述の処理機能において複数語句を結合したり語句を複数語句に分割するときに、情報量を再計算するために、メモリ２１０は、各語句について合計算出部１１０により算出された尤度を記憶していることが望ましい。
【００２１】
語句結合部２２０は、少なくとも何れか１つの分割候補に含まれる語句のうち、ある第１語句について算出した第１の情報量と、その第１語句を示す文字列を含む第２語句の情報量である第２の情報量とを比較する。処理の具体例としては、まず、語句結合部２２０は、メモリ２１０にアクセスして、ある第１語句と、その第１語句を示す文字列を含む第２語句とを検索する。検索するべき第１語句および第２語句は前方一致または後方一致の関係、即ち、第１語句は、第２語句の中央部分でなく先頭部分又は末尾部分に含まれることが望ましい。そして、語句結合部２２０は、検索した第１語句に対応する第１の情報量と、検索した第２語句に対応する第２の情報量とをメモリ２１０から読み出す。そして、語句結合部２２０は、読み出した第１の情報量および第２の情報量を比較する。
【００２２】
そして、語句結合部２２０は、第１の情報量よりも第２の情報量が小さいことを条件に、新規語句を含む語句の組合せとしてメモリ２１０に記憶されている語句の中から、この第１語句を除外する。また、語句結合部２２０は、第２語句が、新規語句を含む語句の組合せとしてメモリ２１０に記憶されていなければ、メモリ２１０に第２語句を追加する。但し、本実施形態でははじめに全ての語句がメモリ２１０に記憶されているという前提であるから、第２語句を追加する必要はない。
【００２３】
語句分割部２３０は、少なくとも何れか１つの分割候補に含まれる語句のうち、第３語句、第４語句、および、第３語句を示す文字列および第４語句を示す文字列を連結した第５文字列を検索する。検索はメモリ２１０を走査することによって実現される。そして、語句分割部２３０は、第３語句について算出した第３の情報量、および、第４語句について算出した第４の情報量の合計を計算して、その合計と、第５語句について算出した第５の情報量とを比較する。各情報量は、各語句に対応する情報量の値をメモリ２１０から検索することによって取得できる。
【００２４】
そして、語句分割部２３０は、第３の情報量および第４の情報量の合計が、第５の情報量よりも小さいことを条件に、新規語句を含む語句の組合せとしてメモリ２１０に記憶された語句の組合せの中から第５語句を除外する。また、語句分割部２３０は、第３語句および第４語句が、新規語句を含む語句の組み合わせとしてメモリ２１０に記憶されていなければ、メモリ２１０に第３語句および第４語句を追加する。上述の説明と同様、本実施形態においては追加する必要はない。
【００２５】
なお、ここでは、第５語句が第３語句および第４語句という２つの語句の連結で表記できる場合について説明したが、３以上の語句の連結で表記できる場合も同様である。この場合において第５語句を除外する条件は、以下の式（３）のように表される。
【数３】
2008151926.tif 000005
【００２６】
情報量算出部２００は、メモリ２１０および語句結合部２２０による処理の毎に、その処理後のメモリ２１０に記憶された語句のそれぞれについて、情報量を再度計算してメモリ２１０を更新する。検索部１２０は、以上の情報量算出部２００、語句結合部２２０および語句分割部２３０による処理を、処理によってメモリ２１０の内容が変更されなくなるまで繰り返し、変更されなくなった時点のメモリ２１０の内容を出力する。
【００２７】
図３は、検索システム１０により新規語句を検索する処理の流れを示す。分割候補生成部１００は、分割装置６０に指示して、それぞれが学習用テキストの分割結果を示す複数の分割候補のそれぞれを、分割結果の確信度に対応付けて生成する（Ｓ３００）。確信度は、分割の確からしさを示す指標値であればどのようなものでもよく、その算出方法は分割装置６０において採用する技術に依存するが、図４にその算出方法の一例を示す。
【００２８】
図４は、確信度算出の処理の一例を示す。ｎ−ｇｒａｍモデルと呼ばれる技術においては、テキスト中で連続して表記され得るｎ個の語句の組合せごとに、その語句の組合せの出現頻度を示す数値を予め記憶している。図４（ａ）に、２個の語句の組合せに関するｂｉ−ｇｒａｍモデルにつき、予め記憶している頻度を模式的に示す。この図において、「これ」という語句の次に「は」という語句が連続して表記される頻度はａ１であり、「は」と「サンプル文」とが連続して表記される頻度はａ２であり、「サンプル文」と「です」とが連続して表記される頻度はａ３である。
【００２９】
また、「です」の次に句点「。」が連続する頻度はａ４である。また、同じ「サンプル文」という文字列でも、それが「サンプル」という語句と「文」という語句との連続である頻度はｂ２である一方、「サン」という語句と「プル」という語句との連続である頻度はｃ２であり、「プル」という語句と「文」という語句との連続である頻度はｃ３である。このように、このような頻度の情報は、語句と語句の連続する頻度を示すものであるとともに、与えられた文字列をどのような語句に分割するのが尤もらしいかということも表している。そして、このような頻度は、言語の専門家などが意味解析のうえで正しい語句の区切りを、膨大なテキストについて判断して決定することによって予め求められている。
【００３０】
もちろん、全ての語句の組合せについて予めこのような頻度が予め与えられていれば、本実施形態のような新規語句の検索は不要であるが、全ての語句についてあらかじめ頻度を決定しておくのは現実的ではない。このため、分割装置６０によっては、頻度の与えられていない語句の組合せについては、予め定められた極めて小さい頻度値を設定したり、文字と文字とが連続する頻度を予め記憶しておいて、その頻度に基づき頻度値を算出するなどする。このように、予め記憶されたり、予め記憶されていないため分割装置６０に生成された頻度の値が図４（ａ）に示すａ１−４、ｂ１−３、ｃ１−３、および、ｄ１である。
【００３１】
そして、分割部６００は、このようにして頻度の与えられた語句の組合せをどのように組合せると、入力された学習用テキストを表記できるかを判断する。たとえば、分割部６００は、学習用テキストの少なくとも一部と一致する語句を記憶部６１０から検索してノードとし、その語句に対応して記憶されている頻度の値をエッジとしたグラフを生成する。このようにして生成したのが図４（ａ）のグラフである。そして、分割部６００は、このグラフを学習用テキストの先頭文字列から順に後尾に辿って得られるそれぞれの経路について、各エッジに対応する頻度の値を乗じる。この計算を図４（ｂ）に示す。
【００３２】
たとえば、分割部６００は、「これ」「は」「サンプル文」「です」および「。」を順次辿る経路上の各エッジの頻度ａ１、ａ２、ａ３およびａ４を乗じる。このようにして算出したのがこの分割候補の確信度ｐ１である。他の経路についても同様である、他の経路を辿る各エッジには、頻度ｂ１、ｂ２、ｂ３およびａ４がそれぞれ対応付けられているので、これらを乗じたものがこの経路の示す分割候補の確信度ｐ２となる。分割部６００は、このように各経路について計算した確信度のうち最大の確信度を選択して、その確信度に対応する経路が示す分割候補を、分割結果として出力する。最大確信度の選択は例えばビタービのアルゴリズムとして知られた従来手法により高速な処理として実現できる（非特許文献１０を参照。）。また、分割部６００は、分割候補生成部１００からの指示を受けて分割候補を複数出力する場合には、グラフ中の複数の経路に対応する複数の分割候補を、その経路上の頻度を乗じることによって得られる確信度に対応付けて出力する。
【００３３】
図３に戻る。次に、合計算出部１１０は、語句毎に、その語句を含む各分割候補に対応する確信度を合計して、その語句が新規語句であることの尤度とする（Ｓ３１０）。そして、検索部１２０は、少なくとも何れか１つの分割候補に含まれる語句の組合せのうち、その組合せに属する語句によって学習用テキスト全体を表記できる範囲内で、その組合せに属する各語句が、対応する尤度に応じた頻度で学習用テキストに出現するとみなした場合の語句の情報エントロピーを最小化する組合せを検索する（Ｓ３２０）。
【００３４】
検索部１２０は、情報エントロピーに代えて、情報エントロピーの性質を併せ持つ他の指標値を用いてもよい。この指標値は、たとえば、情報エントロピーの値と、語句の組合せに属する語句の数を示す指標値との合計を示すものである。このような指標値は、具体的には、ＭＤＬ（Ｍｉｎｉｍｕｍ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌｅｎｇｔｈ）、ＢＩＣ（Bayesian Information Criterion）、ＡＩＣ（Akaike Information Criterion）として知られている。このような指標値を最小化することで、検索部１２０は、情報エントロピーをある程度小さくしつつも、検索される語句の数を少なく抑えることができるので、新規語句を含む語句の組合せが検索されてもそれに含まれる語句の数が多すぎてどれが本来の新規語句であるか判断が困難となるのを防ぐことができる。そして、次に、分割学習部１３０は、検索部１２０により検索された語句を記憶部６１０に新たに登録する（Ｓ３３０）。
【００３５】
図５は、Ｓ３２０における処理の詳細を示す。情報量算出部２００は、少なくとも何れか１つの分割候補に含まれる語句のそれぞれについて、その語句が、その語句に対応する尤度に応じた頻度で学習用テキストに出現するとみなした場合のその語句の情報量を算出し、その結果をメモリ２１０に記憶する（Ｓ５００）。
【００３６】
次に、語句結合部２２０は、算出したこの情報量に基づいて、本来１つの語句として認識されるべきだが複数の語句として認識されているために１つの語句として結合するべき語句があるかどうかを判断する（Ｓ５１０）。具体的には、語句結合部２２０は、少なくとも何れか１つの分割候補に含まれる語句のうち、ある第１語句について算出した第１の情報量よりも、その第１語句を示す文字列を含む第２語句の情報量である第２の情報量が小さいことを条件に（Ｓ５２０：ＹＥＳ）、メモリ２１０からこの第１語句を除外する（Ｓ５３０）。この除外の処理の一例を、図６を参照して説明する。
【００３７】
図６は、メモリ２１０に記憶された語句の第１例を示す。図６において、メモリ２１０は、第１語句の一例である「心房細」を、その情報量２５．６に対応付けて記憶し、第２語句の一例である「心房細動」を、その情報量４．４×１０−５に対応付けて記憶している。また、メモリ２１０は、それぞれの語句について合計算出部１１０により算出した尤度を記憶している。メモリ２１０には、尤度に代えて、その尤度に基づいて算出された各語句の出現確率が記憶されていてもよい。なお、これらの語句は、ある医学レポートを学習用テキストとして入力して得られたものである。「細動」というのはある業種ではひと続きの意味のある語として用いられるから、その一部である「細」が心臓の部分器官を意味する心房と結びついて「心房細」として語句を構成するのは意味解析上不都合と考えられる。
【００３８】
語句結合部２２０は、第１語句である「心房細」が第２語句である「心房細動」に含まれ、かつ第１の情報量である２５．６よりも第２の情報量である４．４×１０−５の方が小さいと判断する。これは、「心房細」よりも「心房細動」が極めて高頻度で分割候補中に現れることを示している。この場合には、語句結合部２２０は、第１語句である「心房細」をメモリ２１０から除外する。さらに、語句結合部２２０は、この「心房細動」の尤度を、「心房細」の尤度および「心房細動」の尤度の合計であるとみなして、あらたに「心房細動」の情報量を算出して、メモリ２１０に記憶している第２の情報量を更新する。具体的には、「心房細動」の新たな尤度は、「心房細」に対応して記憶されていた尤度Ｘと、「心房細動」に対応して記憶されていた尤度Ｙとの合計となる。この尤度に基づいて第２の情報量が再計算される。
このように、語句結合部２２０によれば、本来ひと続きの語句とするべきだが複数の語句に分割されている語句群を１つの語句群として判断することができる。
【００３９】
図３に戻る。次に、語句分割部２３０は、本来２つの語句として認識されるべきだが１つの語句として認識されているために２つの語句に分割するべき語句があるかどうかを判断する（Ｓ５４０）。具体的には、語句分割部２３０は、少なくとも何れか１つの分割候補に含まれる語句のうち、第３語句、第４語句、および、第３語句を示す文字列および第４語句を示す文字列を連結した第５文字列を検索し、第３語句について算出した第３の情報量、および、第４語句について算出した第４の情報量の合計が、第５語句について算出した第５の情報量よりも小さいことを条件に（Ｓ５５０）、メモリ２１０から第５語句を除外する（Ｓ５６０）。この除外の処理の一例を図７を参照して説明する。
【００４０】
図７は、メモリ２１０に記憶された語句の第２例を示す。図７において、メモリ２１０は、第３語句の一例である「先日」を、その情報量１３に対応付けて記憶し、第４語句の一例である「細動」を、その情報量７．４に対応付けて記憶し、第５語句の一例である「心室細動」をその情報量３２．９に対応付けて記憶している。また、メモリ２１０は、第３から第５語句のそれぞれに対応付けて、当該語句について合計算出部１１０により算出された尤度Ｚ、ＷおよびＫを記憶している。「心室」や「細動」という語句は、それ自体で独立した意味を有していると考えられるから、「心室細動」というように互いに結びついた語句として認識されるのは意味解析上不都合と考えられる。
【００４１】
これらの語句について、語句分割部２３０は、語句「心室」についての第３の情報量である１３、および、語句「細堂」についての第４の情報量である７．４の合計である２０．４が、「心室」および「細動」の結合である「心室細動」について算出した第５の情報量である３２．９よりも小さいと判断する。これは、「心室細動」というひと続きの表記よりも、「心室」や「細動」という表記が独立して出現する頻度が高いことを示している。この場合には、語句分割部２３０は、第５語句である「心室細動」をメモリ２１０から除外する。
【００４２】
さらに、語句分割部２３０は、「心室」の尤度を、「心室」の尤度および「心室細動」の尤度の合計であるとみなして、あらたに「心室」の情報量を算出して、メモリ２１０に記憶している第３の情報量を更新する。具体的には、「細動」の新たな尤度は、「心室」に対応して記憶されていた尤度Ｗと、「心室細動」に対応して記憶されていた尤度Ｚとの合計となる。この尤度に基づいて第３の情報量が再計算される。
【００４３】
語句「細動」についても同様に、語句分割部２３０は、「細動」の尤度を、「細動」の尤度および「心室細動」の尤度の合計であるとみなして、新たに「細動」の情報量を算出して、メモリ２１０に記憶している第４の情報量を更新する。具体的には、「細動」の新たな尤度は、「細動」に対応して記憶されていた尤度Ｋと、「心室細動」に対応して記憶されていた尤度Ｚとの合計となる。この尤度に基づいて第４の情報量が再計算される。
【００４４】
このように、語句分割部２３０によれば、意味解析上別個独立の語句とするべきだが１つの語句として認識されている語句を、複数の語句と判断することができる。
【００４５】
図３に戻る。検索部１２０は、以上の処理によってメモリ２１０に記憶されている内容が変化したかどうかを判断する（Ｓ５７０）。これは、語句結合部２２０および語句分割部２３０による処理が収束したことを意味し、即ち、新規語句を含む語句の組合せから除外又は追加するべき語句が、分割候補生成部１００によって生成された分割候補の少なくとも１つに含まれる語句の中から検索されなくなったことを意味する。このような語句が検索されなくなるまで、検索部１２０はＳ５１０に処理を戻して、語句結合部２２０および語句分割部２３０による処理を交互に繰り返させる。この際、語句結合部２２０および語句分割部２３０は、メモリ２１０に記憶された、更新後の情報量を用いて語句を追加又は除外するべきか否かを順次判断していく。除外又は追加する語句が検索されなくなったことを条件に（Ｓ５７０：ＮＯ）、検索部１２０は、新規語句を含む語句の組合せを出力する（Ｓ５８０）。
【００４６】
図８は、検索システム１０として機能する情報処理装置８００のハードウェア構成の一例を示す。情報処理装置８００は、ホストコントローラ１０８２により相互に接続されるＣＰＵ１０００、ＲＡＭ１０２０、及びグラフィックコントローラ１０７５を有するＣＰＵ周辺部と、入出力コントローラ１０８４によりホストコントローラ１０８２に接続される通信インターフェイス１０３０、ハードディスクドライブ１０４０、及びＣＤ−ＲＯＭドライブ１０６０を有する入出力部と、入出力コントローラ１０８４に接続されるＲＯＭ１０１０、フレキシブルディスクドライブ１０５０、及び入出力チップ１０７０を有するレガシー入出力部とを備える。
【００４７】
ホストコントローラ１０８２は、ＲＡＭ１０２０と、高い転送レートでＲＡＭ１０２０をアクセスするＣＰＵ１０００及びグラフィックコントローラ１０７５とを接続する。ＣＰＵ１０００は、ＲＯＭ１０１０及びＲＡＭ１０２０に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィックコントローラ１０７５は、ＣＰＵ１０００等がＲＡＭ１０２０内に設けたフレームバッファ上に生成する画像データを取得し、表示装置１０８０上に表示させる。これに代えて、グラフィックコントローラ１０７５は、ＣＰＵ１０００等が生成する画像データを格納するフレームバッファを、内部に含んでもよい。
【００４８】
入出力コントローラ１０８４は、ホストコントローラ１０８２と、比較的高速な入出力装置である通信インターフェイス１０３０、ハードディスクドライブ１０４０、及びＣＤ−ＲＯＭドライブ１０６０を接続する。通信インターフェイス１０３０は、ネットワークを介して外部の装置と通信する。ハードディスクドライブ１０４０は、情報処理装置８００が使用するプログラム及びデータを格納する。ＣＤ−ＲＯＭドライブ１０６０は、ＣＤ−ＲＯＭ１０９５からプログラム又はデータを読み取り、ＲＡＭ１０２０又はハードディスクドライブ１０４０に提供する。
【００４９】
また、入出力コントローラ１０８４には、ＲＯＭ１０１０と、フレキシブルディスクドライブ１０５０や入出力チップ１０７０等の比較的低速な入出力装置とが接続される。ＲＯＭ１０１０は、情報処理装置８００の起動時にＣＰＵ１０００が実行するブートプログラムや、情報処理装置８００のハードウェアに依存するプログラム等を格納する。フレキシブルディスクドライブ１０５０は、フレキシブルディスク１０９０からプログラム又はデータを読み取り、入出力チップ１０７０を介してＲＡＭ１０２０またはハードディスクドライブ１０４０に提供する。入出力チップ１０７０は、フレキシブルディスク１０９０や、例えばパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して各種の入出力装置を接続する。
【００５０】
情報処理装置８００に提供されるプログラムは、フレキシブルディスク１０９０、ＣＤ−ＲＯＭ１０９５、又はＩＣカード等の記録媒体に格納されて利用者によって提供される。プログラムは、入出力チップ１０７０及び/又は入出力コントローラ１０８４を介して、記録媒体から読み出され情報処理装置８００にインストールされて実行される。プログラムが情報処理装置８００等に働きかけて行わせる動作は、図１から図７において説明した検索システム１０における動作と同一であるから、説明を省略する。
【００５１】
以上に示したプログラムは、外部の記憶媒体に格納されてもよい。記憶媒体としては、フレキシブルディスク１０９０、ＣＤ−ＲＯＭ１０９５の他に、ＤＶＤやＰＤ等の光学記録媒体、ＭＤ等の光磁気記録媒体、テープ媒体、ＩＣカード等の半導体メモリ等を用いることができる。また、専用通信ネットワークやインターネットに接続されたサーバシステムに設けたハードディスク又はＲＡＭ等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムを情報処理装置８００に提供してもよい。
【００５２】
以上、本実施形態に係る検索システム１０によれば、与えられたテキストを語句に分割する分割装置に対し、新たに辞書登録するべき新規語句を精度良く検索することができる。この際、予め言語の専門家などによって作成され、語句の境界が与えられたテキストは新たに必要とされないので、新規語句の登録に要する費用や時間をこれまでより大幅に削減できる。このような費用や時間の削減は、特定分野の辞書を構築する際に特に有用である。たとえば、標準語の語句分割についての辞書は、標準語については解析の完了したテキストが比較的安価かつ膨大に入手し易いことから、比較的容易に構築することができる。ただし、このような辞書を用いても、特定の技術分野や特定用途のテキストを高精度に語句に分割することは難しい場合がある。一方、このような特定分野については、需要が小さいため費用や時間を多くかけることができず、そもそもテキストの量も小さいため、専門家の解析が完了した充分な量のテキストを準備することが難しい。本実施形態に係る検索システム１０は、このような特定分野のテキストについて、比較的小さい費用をもってしても、新規語句を高精度かつ高効率に検索して、語句分割の精度を向上させることができる。
【００５３】
また、本実施形態において対象とする分割装置は、分割結果をその確信度に対応付けて出力する機能を有していれば充分であり、様々な手法を採用した様々な分割装置について新規語句の登録を可能とすることができる。さらには、新規語句の検索は、情報エントロピーの最小化について近似的な手法を採用することで、高速に処理させて現実的な時間で完了させることができる。また、語句の分割は音声合成や音声認識といった様々な技術に応用でき、その分割精度の向上は、音声の認識精度の向上や、合成音声の品質向上を実現することができる。
【００５４】
本実施形態に係る検索システム１０を用いて実験した結果、その有用性を示す様々な実験結果が得られた。たとえば、検索システム１０によって新規語句を順次登録した辞書は、従来手法によって生成した辞書と比較して、ある実験用の文章を被覆する語彙の割合を大幅に向上できた。即ちこれにより、文章を語句に分割する精度を向上できることが確かめられた。また、検索システム１０によって新規語句を順次登録した辞書は、専門家が人手で解析した場合と比較して、１割程度多い数の語句によって、同程度の文章を表記可能な語彙を登録できた。即ちこれにより、誤って検索してしまう新規語句も少なく、検索の精度が高いことが確かめられた。また、実際に、入力テキストの読みを認識するシステム（非特許文献５を参照。）に、本実施形態に係る検索システム１０を適用した結果、その認識率も非常に高いことが確かめられた。
【００５５】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【図面の簡単な説明】
【００５６】
【図１】図１は、検索システム１０の全体構成を示す。
【図２】図２は、検索部１２０の機能構成を示す。
【図３】図３は、検索システム１０により新規語句を検索する処理の流れを示す。
【図４】図４は、確信度算出の処理の一例を示す。
【図５】図５は、Ｓ３２０における処理の詳細を示す。
【図６】図６は、メモリ２１０に記憶された語句の第１例を示す。
【図７】図７は、メモリ２１０に記憶された語句の第２例を示す。
【図８】図８は、検索システム１０として機能する情報処理装置８００のハードウェア構成の一例を示す。
【符号の説明】
【００５７】
１０  検索システム
１５  分割候補データ
６０  分割装置
１００  分割候補生成部
１１０  合計算出部
１２０  検索部
１３０  分割学習部
２００  情報量算出部
２１０  メモリ
２２０  語句結合部
２３０  語句分割部
６００  分割部
６１０  記憶部
８００  情報処理装置
【図１】
2008151926.tif 000006
【図２】
2008151926.tif 000007
【図３】
2008151926.tif 000008
【図４】
2008151926.tif 000009
【図５】
2008151926.tif 000010
【図６】
2008151926.tif 000011
【図７】
2008151926.tif 000012
【図８】
2008151926.tif 000013