(57)【要約】【課題】  学習テキストなどを利用することなく、複合語を生成することができる複合語生成装置および複合語生成方法を提供することを目的とする。【解決手段】  テキスト分割部１０１が入力されたテキストを、空白文字に基づいて複数の文字列に分割し、文字列生起回数集計部１０２が、テキスト分割部１０１により分割された文字列の各々について生起回数を計数するとともに、分割された文字列を候補文字列として含む文字列集合を作成する。そして、文字列生起回数集計部１０２により作成された文字列集合に含まれる候補文字列に基づいて、要素文字列組合せ抽出部１０３は、複合語の要素となる要素文字列を複数連結して候補文字列を構成可能な要素文字列の組み合わせを文字列集合から抽出する。【選択図】  図１
2012159875.tif 000002
【特許請求の範囲】
【請求項１】
入力されたテキストを、空白文字に基づいて複数の文字列に分割するテキスト分割手段と、
前記テキスト分割手段により分割された文字列を候補文字列として含む文字列集合を作成する文字列集合作成手段と、
前記文字列集合作成手段により作成された文字列集合に含まれる候補文字列に基づいて、複合語の要素となる要素文字列を複数連結して候補文字列を構成可能な要素文字列組み合わせを前記文字列集合から抽出する要素文字列組合せ抽出手段と、
を備える複合語生成装置。
【請求項２】
前記文字列集合作成手段は、前記テキスト分割手段により分割された文字列の各々の生起回数を計数し、
前記文字列集合作成手段により作成された文字列集合に含まれる候補文字列と前記要素文字列組合せ抽出手段により抽出された要素文字列とのそれぞれの生起回数を比較することによって前記候補文字列が複合語として適正であるか否かを判定する複合語判定手段、
をさらに備える請求項１の複合語生成装置。
【請求項３】
複合語判定手段は、
要素文字列組み合わせの各々に対して複合語スコアを求め、全ての要素文字列組み合わせについて複合語スコアが閾値以上であるときは、前記候補文字列は複合語であると判定する、
ことを特徴とする請求項２の複合語生成装置。
【請求項４】
前記複合語判定手段は、
前記要素文字列組合せ抽出手段により抽出された要素文字列のそれぞれの組み合わせにおける生起回数の相乗平均と、前記文字列集合作成手段により計数された候補文字列の生起回数とを比較することで複合語として適正か否かの判定を行うことを特徴とする請求項１の複合語生成装置。
【請求項５】
文字列集合作成手段は、特定の文字列を除外した文字列集合を作成することを特徴とする請求項１または２に記載の複合語生成装置。
【請求項６】
文字列集合作成手段は、前記文字列集合作成手段により計数された文字列の生起回数に基づいて、所定の生起回数以下の文字列を除外した文字列集合を作成ることを特徴とする請求項１から３のいずれか一項に記載の複合語生成装置。
【請求項７】
入力されたテキストを、空白文字に基づいて複数の文字列に分割するテキスト分割ステップと、
前記テキスト分割ステップにより分割された文字列を候補文字列として含む文字列集合を作成する文字列集合作成ステップと、
前記文字列集合作成ステップにより作成された文字列集合に含まれる候補文字列に基づいて、複合語の要素となる要素文字列を複数連結して候補文字列を構成可能な要素文字列組み合わせを前記文字列集合から抽出する要素文字列組合せ抽出ステップと、
を備える複合語生成方法。
【請求項８】
入力されたテキストを、空白文字に基づいて複数の文字列に分割するテキスト分割モジュールと、
前記テキスト分割モジュールにより分割された文字列を候補文字列として含む文字列集合を作成する文字列集合作成モジュールと、
前記文字列集合作成モジュールにより作成された文字列集合に含まれる候補文字列に基づいて、複合語の要素となる要素文字列を複数連結して候補文字列を構成可能な要素文字列組み合わせを前記文字列集合から抽出する要素文字列組合せ抽出モジュールと、
を備える複合語生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、統計的処理に基づく言語処理を行う装置に関し、特に、音声認識などへの応用を想定して、複合語を生成する複合語生成装置、複合語生成方法、および複合語生成プログラムに関する。
に関する。
【背景技術】
【０００２】
音声認識においては、音声入力の内容として想定される多量のテキストをコーパスとして作成したN-gram言語モデルを利用することが有用である。N-gram言語モデルを作る際には、通常、コーパスの単語境界の情報が必要である。日本語・中国語など、単語をスペースで分かち書きしない言語では、単語境界の判定には形態素解析が広く用いられる。ここでは、ｗｅｂ検索のクエリログデータをコーパスとして用いる場合を主に想定する。
【０００３】
N-gram言語モデルを用いた音声認識においては、連鎖して現れることの多い単語を複合語として取り扱い、１語に連結した後に認識辞書に追加することにより性能の向上が得られる(非特許文献１)。たとえば、「音声認識」という語がひとまとまりで用いられる場合が多い場合には、「音声」および「認識」の２語を認識辞書に追加するより、「音声認識」と１語に連結して認識辞書に追加したほうが、認識の精度向上という観点においてよいと考えられる。
【０００４】
そのため、複合語を生成するための技術が考えられており、例えば、特開２００７−１７１７２４号公報（特許文献１）には、単語区切りと文節区切りとが予め付与された学習テキストにおいて、単語ペアを複数の単語とみなしたときのエントロピーと、単語ペアを１つの単語とみなしたときのエントロピーとの差分をそれぞれ計算し、この差分が最大となる単語ペアを抽出することにより複合語を生成する技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−１７１７２４号公報
【非特許文献】
【０００６】
【非特許文献１】和田陽介、外３ 名、「大語彙連続音声認識における連鎖語の追加による語彙拡大の効果」、情報処理学会論文誌、社団法人情報処理学会、1999年、第40巻、第４号、p.1413−1420
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１に記載の方法では、形態素解析を利用することを前提にしたものであって、未知語を多く含むテキストから精度よく複合語の生成をできないという問題があった。すなわち、形態素解析には、テキストに登場する語彙を含む辞書を必要とするため、未知語を含むテキストの解析時には多くの誤りを伴う。
【０００８】
そこで、本発明においては、未知語を含んだテキストに対して、精度よく複合語を生成することができる複合語生成装置、複合語生成方法、および複合語生成プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述の課題を解決するために、本発明の複合語生成装置は、入力されたテキストを、空白文字に基づいて複数の文字列に分割するテキスト分割手段と、前記テキスト分割手段により分割された文字列を候補文字列として含む文字列集合を作成する文字列集合作成手段と、前記文字列集合作成手段により作成された文字列集合に含まれる候補文字列に基づいて、複合語の要素となる要素文字列を複数連結して候補文字列を構成可能な要素文字列組み合わせを前記文字列集合から抽出する要素文字列組合せ抽出手段と、を備えている。
【００１０】
また、本発明の複合語生成方法は、入力されたテキストを、空白文字に基づいて複数の文字列に分割するテキスト分割ステップと、前記テキスト分割ステップにより分割された文字列を候補文字列として含む文字列集合を作成する文字列集合作成ステップと、前記文字列生起集計ステップにより作成された文字列集合に含まれる候補文字列に基づいて、複合語の要素となる要素文字列を複数連結して候補文字列を構成可能な要素文字列組み合わせを前記文字列集合から抽出する要素文字列組合せ抽出ステップと、を備えている。
【００１１】
また、本発明の複合語生成プログラムは、入力されたテキストを、空白文字に基づいて複数の文字列に分割するテキスト分割モジュールと、前記テキスト分割モジュールにより分割された文字列を候補文字列として含む文字列集合を作成する文字列集合作成モジュールと、前記文字列生起集計モジュールにより作成された文字列集合に含まれる候補文字列に基づいて、複合語の要素となる要素文字列を複数連結して候補文字列を構成可能な要素文字列組み合わせを前記文字列集合から抽出する要素文字列組合せ抽出モジュールと、を備えている。
【００１２】
この発明によれば、入力されたテキストを、空白文字に基づいて複数の文字列に分割し、分割された文字列を候補文字列として含む文字列集合を作成する。そして、作成された文字列集合に含まれる候補文字列に基づいて、複合語の要素となる要素文字列を複数連結して候補文字列を構成可能な要素文字列の組み合わせを文字列集合から抽出する。
【００１３】
これにより、ｗｅｂ検索のクエリログデータのように、未知語を多く含むテキストから複合語の生成のための要素文字列の組合せを抽出することができ、複合語の生成を効率的に行うことができる。
【００１４】
また、本発明の複合語生成装置において、前記文字列集合作成手段は、前記テキスト分割手段により分割された文字列の各々の生起回数を計数し、前記文字列集合作成手段により作成された文字列集合に含まれる候補文字列と前記要素文字列組合せ抽出手段により抽出された要素文字列とのそれぞれの生起回数を比較することによって前記候補文字列が複合語として適正であるか否かを判定する複合語判定手段をさらに備えていることが好ましい。
【００１５】
この発明によれば、作成された文字列集合に含まれる候補文字列と抽出された要素文字列とのそれぞれの生起回数を比較することによって候補文字列が複合語として適正であるか否かを判定することができ、複合語の生成を精度よく行うことができる。
【００１６】
また、本発明の複合語生成装置において、複合語判定手段は、要素文字列組み合わせの各々に対して複合語スコアを求め、全ての要素文字列組み合わせについて複合語スコアが閾値以上であるときは、前記候補文字列は複合語であると判定する、ことが好ましい。
【００１７】
この発明によれば、要素文字列組み合わせの各々に対して複合語スコアを求め、全ての要素文字列組み合わせについて複合語スコアが閾値以上であるときは、候補文字列は複合語であると判定することで、複合語の判定を精度よく行うことができる。すなわち、要素文字列組合せのうち一つでも、その複合語スコアが閾値未満である場合には、複合語と判定しないことで、より精度のよい判定を行うことができる。
【００１８】
また、本発明の複合語生成装置において、前記複合語判定手段は、前記要素文字列組合せ抽出手段により抽出された要素文字列のそれぞれの組み合わせにおける生起回数の相乗平均と、前記文字列集合作成手段により計数された候補文字列の生起回数とを比較することで複合語として適正か否かの判定を行うことが好ましい。
【００１９】
この発明によれば、抽出された要素文字列のそれぞれの組み合わせにおける生起回数の相乗平均と、文字列集合作成手段により計数された候補文字列の生起回数とを比較することで複合語として適正か否かの判定を行うことで、複合語の判定を精度よく行うことができる。
【００２０】
また、本発明の複合語生成装置において、文字列集合作成手段は、特定の文字列を除外した文字列集合を作成することが好ましい。
【００２１】
この発明によれば、特定の文字列を文字列集合から除外することで、複合語の生成の際において、望ましくない複合語が生成されることを防止することができる。
【００２２】
また、本発明の複合語生成装置において、文字列集合作成手段は、前記文字列集合作成手段により計数された文字列の生起回数に基づいて、所定の生起回数以下の文字列を文字列集合から除外することが好ましい。
【００２３】
この発明によれば、計数された文字列の生起回数に基づいて、所定の生起回数以下の文字列を除外した文字列集合を作成することで、複合語の生成の際において、要素文字列の組合せの探索処理速度を向上させることができる。
【発明の効果】
【００２４】
本発明によれば、ｗｅｂ検索のクエリログデータのように、未知語を多く含むテキストから複合語の生成を精度よく行うことができる。
【図面の簡単な説明】
【００２５】
【図１】本実施形態の複合語生成装置１００の機能構成を示すブロック図である。
【図２】複合語生成装置１００のハードウェア構成図である。
【図３】複合語生成装置１００の処理を示すフローチャートである。
【図４】入力テキスト例を示す説明図である。
【図５】空白に基づいて分割された文字列を示す説明図である。
【図６】その文字列の生起回数が付与された状態を示す説明図である。
【図７】要素文字列の組合せ例を示す説明図である。
【発明を実施するための形態】
【００２６】
添付図面を参照しながら本発明の実施形態を説明する。可能な場合には、同一の部分には同一の符号を付して、重複する説明を省略する。
【００２７】
図１は、本実施形態の複合語生成装置１００の機能構成を示すブロック図である。図１に示されているとおり、複合語生成装置１００は、テキスト分割部１０１（テキスト分割手段）、文字列生起回数集計部１０２（文字列集合作成手段）、要素文字列組み合わせ抽出部１０３（要素文字列組合せ抽出手段）、および複合語判定部１０４（複合語判定手段）を含んでいる。この複合語生成装置１００は、例えば携帯電話などに搭載されているものであって、そのハードウェア構成は図２に示されているものとなる。
【００２８】
図２は、複合語生成装置１００のハードウェア構成図である。図１に示される複合語生成装置１００は、物理的には、図２に示すように、ＣＰＵ１１、主記憶装置であるＲＡＭ１２及びＲＯＭ１３、入力デバイスであるキーボード及びマウス等の入力装置１４、ディスプレイ等の出力装置１５、ネットワークカード等のデータ送受信デバイスである通信モジュール１６、ハードディスク等の補助記憶装置１７などを含むコンピュータシステムとして構成されている。図１において説明した各機能は、図２に示すＣＰＵ１１、ＲＡＭ１２等のハードウェア上に所定のコンピュータソフトウェアを読み込ませることにより、ＣＰＵ１１の制御のもとで入力装置１４、出力装置１５、通信モジュール１６を動作させるとともに、ＲＡＭ１２や補助記憶装置１７におけるデータの読み出し及び書き込みを行うことで実現される。以下、図１に示す機能ブロックに基づいて、各機能ブロックを説明する。
【００２９】
テキスト分割部１０１は、入力テキストを空白区切りで分割し、複数の文字列を出力する部分である。なお、この入力テキストは、上述ハードウェア構成における入力装置１４から、ウェブブラウザを介して入力された検索語からなるものであり、本実施形態では、検索語のクエリログデータが入力テキストとなる。入力テキストは、単一のテキストであってもよいが、たとえば図４のように、複数のテキスト片を含むものを主に想定する。例として、図４の入力テキスト例を入力とした場合、テキスト分割部１０１の出力は図５のようになる。すなわち、空白を挟んで入力された文字列は、その空白に基づいて分割されて出力される。
【００３０】
図４は、入力テキスト例を示す説明図であり、図５は、空白に基づいて分割された文字列を示す説明図である。図４に示されるように、「音声認識」「画像認識」「音声  合成」「画像  認識」「手話  認識」が検索ログとして記憶されたものであり、それがそのまま入力テキストとして入力される。そして、図５に示されるように、空白に基づいて、文字列が分割される。例えば、「音声  合成」という文字列については、「音声」と「合成」に分割される。
【００３１】
文字列生起回数集計部１０２は、テキスト分割部１０１において分割して得られた複数の文字列から、同一の文字列が出現した生起回数を計数し、出現した文字列を全て集めた文字列集合を生成する部分である。文字列集合には、各々の文字列の生起回数の情報が付属している。例えば、分割された文字列（図５）に、その文字列の生起回数が付与される（図６）。
【００３２】
図６は、その文字列の生起回数が付与された状態を示す説明図である。図５に示されるとおり、「音声認識」は２回、「認識」は２回生起していることから、図６においては、それぞれの生起回数が対応付けて付与される。
【００３３】
要素文字列組み合わせ抽出部１０３は、文字列生起回数集計部１０２から得られた文字列集合に含まれる文字列のうち、まだ複合語であるとも複合語でないとも判定されていない1つの文字列を候補文字列として選択する。そして、要素文字列組み合わせ抽出部１０３は、文字列生起回数集計部１０２から得られた文字列集合を参照し、文字列集合に含まれる複数の文字列を連結することで候補文字列が得られるような要素文字列組み合わせを抽出する。
【００３４】
図７（ａ）は、要素文字列の組合せ例を示す説明図である。「音声認識」という候補文字列に着目した場合、図６（ａ）の文字列集合に含まれる「音声」と「認識」という複数の文字列を連結して得ることができるので、図７（ａ）に示されるとおり、{音声，認識}という文字列の組み合わせを要素文字列組み合わせとして抽出する。この例の場合には、要素文字列組み合わせは１通りしか存在しないが、複数の要素文字列組み合わせが存在する場合には、要素文字列組み合わせ抽出部１０３は、全ての要素文字列組み合わせを抽出する。別の例として、図４または図５の例において、「音  声」などの文字列があったと仮定した場合には、図６（ｂ）に示される文字列集合は、さらに「音」と「声」という文字列を含み、図７（ａ）においては、上記の{音声,認識}に加えて{音,声,認識}も要素文字列組み合わせとして抽出される。
【００３５】
要素文字列組み合わせ抽出部１０３における要素文字列組み合わせの全抽出は、当業者にはよく知られたハッシュテーブルと再帰呼び出しと呼ばれる技術を用いることで、高速な処理が容易に実現できる。
【００３６】
複合語判定部１０４は、文字列生起回数集計部１０２により作成された文字列集合に含まれる候補文字列と要素文字列組合せ抽出部１０３により抽出された要素文字列とのそれぞれの生起回数を比較することによって候補文字列が複合語として適正であるか否かを判定する部分である。
【００３７】
より具体的には、複合語判定部１０４は、要素文字列組み合わせ抽出部１０３において要素文字列組み合わせが1つ以上抽出されたか否かを参照し、要素文字列組み合わせが1つ以上存在する場合には、要素文字列組み合わせのうち、未判定の候補文字列を1つ選択する。つぎに、複合語判定部１０４は、選択された要素文字列組み合わせに含まれる文字列の各々の生起回数と、候補文字列の生起回数とを比較することにより、候補文字列が複合語でないか、否かを判定する。そして、候補文字列が複合語でないと判定できる場合には、複合語判定部１０４は、現在処理対象としている候補文字列に対する処理をスキップして、つぎの候補文字列の処理を行う。
【００３８】
候補文字列が複合語ではないと判定されない場合には、複合語判定部１０４は、さらに未判定の要素文字列組み合わせを探し、全ての要素文字列組み合わせが判定済みとなるまで、処理を繰り返し行う。
【００３９】
全ての要素文字列組み合わせが判定済みとなり、いずれの要素文字列組み合わせについても候補文字列が複合語ではないと判定できない場合には、複合語判定部１０４は候補文字列が複合語であると判定し、候補文字列を複合語として出力する。候補文字列が複合語であるまたは複合語ではない、のいずれかであると判定された場合には、複合語判定部１０４は、現在処理対象としている候補文字列に対する処理を終了し、文字列集合に含まれる全ての文字列に対する複合語の判定処理を繰り返し行う。
【００４０】
さらに、複合語判定部１０４における候補文字列が複合語であるか否かの判定手法について、より具体的な実施方法を説明する。以下の説明においては、候補文字列をＷ、要素文字列組み合わせを{ｗ１，ｗ２，…ｗＮ}とする。ただし、Ｎは２以上の整数である。また、入力テキスト中の文字列ｗの生起回数をＣ（ｗ）で表す。
【００４１】
処理の一例として、複合語判定部１０４は、候補文字列Ｗの複合語スコアＳ(W, W1,W2,…,WN)を以下のようにして求めることができる。
【数１】
2012159875.tif 000003
式（１）は、複合語スコアＳが要素文字列組み合わせに含まれる文字列の生起回数の相乗平均に対する、候補文字列の生起回数の比率を示す。
【００４２】
式（１）の右辺分母は、単に、要素文字列組み合わせに含まれる文字列の生起回数を互いに乗算したもの、それらを加算したもの等、Ｃ（ｗｎ）の各々について単調増加する異なる関数であってもよい。
【００４３】
なお、式（１）は、各要素文字列の生起回数に対する候補文字列の生起回数の比率を算出するものであればよく、その分母は、上述のとおり相乗平均でもよいし、相加平均をとってもよいし、そのほか何らかの各要素文字列の生起回数の平均値を算出する関数を採用してもよい。
【００４４】
処理の一例として、複合語判定部１０４は、式（１）に類する処理によって求められた複合語スコアＳが予め定められた閾値Ｔを下回るときには候補文字列Ｗが複合語でないと判定し、複合語スコアＳが予め定められた閾値Ｔ以上であるときにはＷが複合語でないとは判定しないという動作をしてよい。
【００４５】
そして、要素文字列組み合わせが１つ以上存在し、かつ、全ての要素文字列組み合わせについて複合語スコアＳが閾値Ｔ以上であるときは、Ｗは複合語であると判定されることになる。
【００４６】
以上の方法での、候補文字列が複合語であるか否かの判定を、図６（ａ）の文字列集合を用いて説明する。図６（ａ）において、「音声認識」という候補文字列は、要素文字列組み合わせを{音声,認識}の1通りのみ持ち、Ｃ（音声認識）＝２、Ｃ（音声）＝１、Ｃ（認識）＝１のため、Ｓ（音声認識, 音声, 認識）=２である。閾値Ｔ＝１であるとすると、「音声認識」という候補文字列の全ての要素文字列組み合わせについてＳ≧Ｔであるため、「音声認識」は複合語であると判定される。
【００４７】
別の例として、もし、図６（ｂ）の文字列集合を例にみてみると、「音」「声」という文字列をさらに含んでおり、Ｃ（音）＝８、Ｃ（声）＝８だったとすると、「音声認識」という候補文字列は{音声,認識}のほか{音,声,認識}という要素文字列組み合わせを持つ。このとき、Ｓ（音声認識,音,声,認識）=０．５となるため、「音声認識」という候補文字列はＳ＜Ｔとなる要素文字列組み合わせを１つ以上持つ。したがって、この例の場合には「音声認識」という候補文字列は複合語でないと判定される。
【００４８】
複合語判定部１０４における処理は省略されてもよく、この際には、要素文字列組み合わせ抽出部１０３において要素文字列組み合わせが１つ以上存在する候補文字列を全て複合語として出力してもよい。
【００４９】
つぎに、本実施形態の複合語生成装置１００の処理について説明する。図３は、複合語生成装置１００の処理を示すフローチャートである。入力テキストが入力されると、テキスト分割部１０１により、入力テキストは空白区間に基づいて分割され、複数の文字列が抽出され、出力される（Ｓ１０１）。文字列生起回数集計部１０２により、入力された文字列の生起回数が計数されるとともに、生起回数が付属した文字列集合が作成される（Ｓ１０２）。
【００５０】
つぎに、生起回数が付属した文字列集合において、一の文字列が候補文字列として選択される（Ｓ１０３）。図３において、foreach文を利用した例が記載されている。そして、要素文字列組み合わせ抽出部１０３により、要素文字列を複数連結して候補文字列が表現できるような要素文字列組み合わせが、文字列集合から全て抽出される（Ｓ１０４）。つぎに、複合語判定部１０４により、抽出された要素文字列の組み合わせが存在するか否かが判断される（Ｓ１０５）。
【００５１】
複合語判定部１０４により、要素文字列の組み合わせが存在すると判断されると、要素文字列の組み合わせの抽出結果において、一の要素文字列の組み合わせが選択される（Ｓ１０６）。foreach文を利用した例が記載されている。そして、複合語判定部１０４により、要素文字列の組み合わせに含まれる文字列のそれぞれの生起回数と、候補文字列の生起回数とを比較し、候補文字列が複合語であるか否かが判定される（Ｓ１０７）。
【００５２】
候補文字列が複合語でないとは判定されなかった場合（すなわち、上述式（１）におけるスコアＳが閾値Ｔ以下ではない）には、複合語判定部１０４により、いまだＳ１０７における判定の対象としていない要素文字列組み合わせが探索される。そして、未判定の要素文字列組合せに対する複合語の判定処理が行われ、全ての要素文字列組み合わせがＳ１０７において判定済みとなるまで、Ｓ１０６およびＳ１０７の処理が繰り返し行われる（Ｓ１０８）。
【００５３】
全ての要素文字列組み合わせが判定済みとなり（Ｓ１０７）、いずれの要素文字列組み合わせについても候補文字列が複合語でないとは判定されなかった場合（すなわち、複合語ではないといいきれない場合）には、複合語判定部１０４により、候補文字列が複合語であると判定され、候補文字列は複合語として出力される（Ｓ１０９）。
【００５４】
そして、候補文字列が複合語であると判定されるか、複合語でないと判定された場合には、複合語判定部１０４により、現在処理対象としている候補文字列に対する処理を終了し、文字列集合に含まれる全ての文字列が複合語であると判定されるか、複合語でないと判定されるまでＳ１０３〜Ｓ１０９の処理が繰り返し行われる（Ｓ１１０）。
【００５５】
なお、Ｓ１０５において、要素文字列の組み合わせが存在しないと判断された場合も、同様にＳ１１０において、つぎの候補文字列の選択に移行し、複合語の判定処理が終了するまで処理が繰り返される。また、Ｓ１０７において、複合語ではないと判定された場合も、同様にＳ１１０において、つぎの候補文字列の選択に移行し、複合語の判定処理が終了するまで処理が繰り返される。
【００５６】
このようにして、入力テキストに基づいて、複数の文字列に分割し、その分割した文字列に基づいて複合語を抽出することができる。
【００５７】
なお、上述の本実施形態における文字列生起回数集計部１０２は、文字列の生起回数の集計が全て終了した後に、生起回数が一定の閾値に満たない文字列を文字列集合から除外してよい。これにより、要素文字列組み合わせの探索処理を高速化する効果が得られる。
【００５８】
さらに変形例として、以下の処理が考えられる。すなわち、文字列生起回数集計部１０２は、文字列生起回数の集計が全て終了した後に、予め定められた特定の文字列を文字列集合から除外してもよい。具体的に文字列集合が除外するべき文字列は「の」などの文字列であり、予め記憶部（図示せず）に記憶した特定の文字列を除外対象としてもよいし、記憶部に辞書データを記憶しておき、その辞書データに基づいて単独では意味をなさない文字列を除外対象としてもよい。
【００５９】
すなわち、「の」などの文字列は助詞として名詞間の連結に使われることが多いが、単独では意味をなさないため、本実施形態における集計方法での生起回数は少ない場合が多い。「の」などの文字列を文字列集合から除外することにより、一般的な名詞を助詞で連結したときのみの、本来複合語として判定すべきでない文字列が複合語と判定されやすくなる問題を解決することができる。
【００６０】
例えば、文字列集合が「嵐」,「の」,「画像」,「嵐の画像」を含む場合を考える。「嵐の画像」という候補文字列に対応する要素文字列組み合わせが{嵐,の,画像}のみであるとする。Ｃ（嵐）＝１００００、Ｃ（の）＝１０、Ｃ（画像）＝１００００、Ｃ（嵐の画像）＝１０００であるとすると、Ｃ（嵐の画像、嵐、の、画像）＝１００のため、Ｔ＝１であれば、「嵐の画像」は複合語であると判定される。しかし、実際には「嵐の画像」は頻出の単語である「嵐」と「画像」を助詞で接続した句であり、これを複合語であると判定することはN-gramデータのスパース化を招くとともに、複合語の数を増大させる恐れがあり、望ましくない。
【００６１】
この変形例によれば、文字列「の」が文字列集合から除外されることにより、「嵐の画像」という候補文字列は{嵐,の,画像}という要素文字列組み合わせを持たなくなり、結果として「嵐の画像」という候補文字列は複合語でないと判定される。このように、特定の文字列を文字列集合から除外することにより、望ましくない複合語が生成されなくなる効果が得られる。
【００６２】
また、本実施形態および変形例における複合語生成装置１００を、プログラムとして記録媒体に格納されて提供することもできる。記録媒体としては、フロッピーディスク（登録商標）、ＣＤ−ＲＯＭ、ＤＶＤ、あるいはＲＯＭ等の記録媒体、あるいは半導体メモリ等が例示される。
【００６３】
例えば、コンピュータに、フロッピーディスクドライブ装置（フロッピーディスクは登録商標）、ＣＤ−ＲＯＭドライブ装置、ＤＶＤドライブ装置等の読取装置と、オペレーティングシステムを常駐させた作業用メモリ（ＲＡＭ）と、記録媒体に記憶されたプログラムを記憶するメモリと、ディスプレイといった表示装置と、入力装置であるマウス及びキーボードと、データ等の送受を行うための通信装置と、プログラムの実行を制御するＣＰＵとを備えさせ、当該コンピュータは、記録媒体が読取装置に挿入されると、読取装置から記録媒体に格納された複合語生成プログラムにアクセス可能になり、当該複合語生成プログラムによって、本実施形態に係る複合語生成装置１００として動作することが可能になる。
【００６４】
また、複合語生成プログラムは、搬送波に重畳されたコンピュータデータ信号としてネットワークを介して提供されるものであってもよい。この場合、コンピュータは、通信装置によって受信した複合語生成プログラムをメモリに格納し、当該複合語生成プログラムを実行することができる。
【００６５】
これら複合語生成プログラムは、入力されたテキストを、空白文字に基づいて複数の文字列に分割するテキスト分割モジュールと、分割された文字列を候補文字列として含む文字列集合を作成する文字列集合作成モジュールと、文字列生起集計モジュールにより作成された文字列集合に含まれる候補文字列に基づいて、複合語の要素となる要素文字列を複数連結して候補文字列を構成可能な要素文字列組み合わせを文字列集合から抽出する要素文字列組合せ抽出モジュールと、から構成されている。
【００６６】
つぎに、本実施形態および変形例における複合語生成装置１００の作用効果について説明する。
【００６７】
本実施形態の複合語生成装置１００によれば、テキスト分割部１０１が入力されたテキストを、空白文字に基づいて複数の文字列に分割し、文字列生起回数集計部１０２が、分割された文字列を候補文字列として含む文字列集合を作成する。そして、文字列生起回数集計部１０２により作成された文字列集合に含まれる候補文字列に基づいて、要素文字列組合せ抽出部１０３は、複合語の要素となる要素文字列を複数連結して候補文字列を構成可能な要素文字列の組み合わせを文字列集合から抽出する。
【００６８】
これにより、ｗｅｂ検索のクエリログデータのように、未知語を多く含むテキストから複合語の生成のための要素文字列の組合せを抽出することができ、複合語の生成を効率的に行うことができる。とりわけ、入力テキストに含まれている文字列から複合語作成することができ、無駄な複合語を作成することがない。
【００６９】
さらに、この複合語生成装置１００によれば、複合語判定部１０４は、作成された文字列集合に含まれる候補文字列と抽出された要素文字列とのそれぞれの生起回数を比較することによって候補文字列が複合語として適正であるか否かを判定することができ、複合語の生成を精度よく行うことができる。すなわち、その生起回数に基づいて複合語を生成することで、生起回数が少ない文字列については複合語としないなど、その生起頻度によって妥当な複合語を生成することができる。よって、単純に連結ルールなどに基づいて文字列を連結することにより複合語を生成しようとする技術などと比較して、より妥当な複合語を生成することができる。生起回数が少なく、連鎖して現れることのないような複合語までも生成してしまうと、それら複合語を、音声認識のモデルに適用した際に、音声認識の精度の劣化を招く恐れがある。
【００７０】
また、複合語生成装置１００によれば、複合語判定部１０４は、要素文字列組み合わせの各々に対して複合語スコアを求め、全ての要素文字列組み合わせについて複合語スコアが閾値以上であるときは、候補文字列は複合語であると判定することで、複合語の判定を精度よく行うことができる。すなわち、要素文字列組合せのうち一つでも、その複合語スコアが閾値未満である場合には、複合語と判定しないことで、より精度のよい判定を行うことができる。
【００７１】
また、複合語生成装置１００によれば、複合語判定部１０４は、抽出された要素文字列のそれぞれの組み合わせにおける生起回数の相乗平均と、文字列集合作成手段により計数された候補文字列の生起回数とを比較することで複合語として適正か否かの判定を行うことで、複合語の判定を精度よく行うことができる。
【００７２】
また、変形例における複合語生成装置１００によれば、文字列生起回数集計部１０２は、特定の文字列を文字列集合から除外することで、複合語の生成の際において、望ましくない複合語が生成されることを防止することができる。例えば、特定の文字列として「の」については、文字列集合から除外することで、複合語として不適切な文字列を除外することができる。
【００７３】
また、変形例における複合語生成装置１００によれば、文字列生起回数集計部１０２は、計数された文字列の生起回数に基づいて、所定の生起回数以下の文字列を文字列集合から除外することで、複合語の生成の際において、要素文字列の組合せの探索処理速度を向上させることができる。
【符号の説明】
【００７４】
１００…複合語生成装置、１０１…テキスト分割部、１０２…文字列生起回数集計部、１０３…要素文字列組み合わせ抽出部、１０４…複合語判定部。
【図１】
2012159875.tif 000004
【図２】
2012159875.tif 000005
【図３】
2012159875.tif 000006
【図４】
2012159875.tif 000007
【図５】
2012159875.tif 000008
【図６】
2012159875.tif 000009
【図７】
2012159875.tif 000010