説明

複合語生成装置、複合語生成方法、および複合語生成プログラム

【課題】 学習テキストなどを利用することなく、複合語を生成することができる複合語生成装置および複合語生成方法を提供することを目的とする。
【解決手段】 テキスト分割部101が入力されたテキストを、空白文字に基づいて複数の文字列に分割し、文字列生起回数集計部102が、テキスト分割部101により分割された文字列の各々について生起回数を計数するとともに、分割された文字列を候補文字列として含む文字列集合を作成する。そして、文字列生起回数集計部102により作成された文字列集合に含まれる候補文字列に基づいて、要素文字列組合せ抽出部103は、複合語の要素となる要素文字列を複数連結して候補文字列を構成可能な要素文字列の組み合わせを文字列集合から抽出する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、統計的処理に基づく言語処理を行う装置に関し、特に、音声認識などへの応用を想定して、複合語を生成する複合語生成装置、複合語生成方法、および複合語生成プログラムに関する。
に関する。
【背景技術】
【0002】
音声認識においては、音声入力の内容として想定される多量のテキストをコーパスとして作成したN-gram言語モデルを利用することが有用である。N-gram言語モデルを作る際には、通常、コーパスの単語境界の情報が必要である。日本語・中国語など、単語をスペースで分かち書きしない言語では、単語境界の判定には形態素解析が広く用いられる。ここでは、web検索のクエリログデータをコーパスとして用いる場合を主に想定する。
【0003】
N-gram言語モデルを用いた音声認識においては、連鎖して現れることの多い単語を複合語として取り扱い、1語に連結した後に認識辞書に追加することにより性能の向上が得られる(非特許文献1)。たとえば、「音声認識」という語がひとまとまりで用いられる場合が多い場合には、「音声」および「認識」の2語を認識辞書に追加するより、「音声認識」と1語に連結して認識辞書に追加したほうが、認識の精度向上という観点においてよいと考えられる。
【0004】
そのため、複合語を生成するための技術が考えられており、例えば、特開2007−171724号公報(特許文献1)には、単語区切りと文節区切りとが予め付与された学習テキストにおいて、単語ペアを複数の単語とみなしたときのエントロピーと、単語ペアを1つの単語とみなしたときのエントロピーとの差分をそれぞれ計算し、この差分が最大となる単語ペアを抽出することにより複合語を生成する技術が開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2007−171724号公報
【非特許文献】
【0006】
【非特許文献1】和田陽介、外3 名、「大語彙連続音声認識における連鎖語の追加による語彙拡大の効果」、情報処理学会論文誌、社団法人情報処理学会、1999年、第40巻、第4号、p.1413−1420
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、特許文献1に記載の方法では、形態素解析を利用することを前提にしたものであって、未知語を多く含むテキストから精度よく複合語の生成をできないという問題があった。すなわち、形態素解析には、テキストに登場する語彙を含む辞書を必要とするため、未知語を含むテキストの解析時には多くの誤りを伴う。
【0008】
そこで、本発明においては、未知語を含んだテキストに対して、精度よく複合語を生成することができる複合語生成装置、複合語生成方法、および複合語生成プログラムを提供することを目的とする。
【課題を解決するための手段】
【0009】
上述の課題を解決するために、本発明の複合語生成装置は、入力されたテキストを、空白文字に基づいて複数の文字列に分割するテキスト分割手段と、前記テキスト分割手段により分割された文字列を候補文字列として含む文字列集合を作成する文字列集合作成手段と、前記文字列集合作成手段により作成された文字列集合に含まれる候補文字列に基づいて、複合語の要素となる要素文字列を複数連結して候補文字列を構成可能な要素文字列組み合わせを前記文字列集合から抽出する要素文字列組合せ抽出手段と、を備えている。
【0010】
また、本発明の複合語生成方法は、入力されたテキストを、空白文字に基づいて複数の文字列に分割するテキスト分割ステップと、前記テキスト分割ステップにより分割された文字列を候補文字列として含む文字列集合を作成する文字列集合作成ステップと、前記文字列生起集計ステップにより作成された文字列集合に含まれる候補文字列に基づいて、複合語の要素となる要素文字列を複数連結して候補文字列を構成可能な要素文字列組み合わせを前記文字列集合から抽出する要素文字列組合せ抽出ステップと、を備えている。
【0011】
また、本発明の複合語生成プログラムは、入力されたテキストを、空白文字に基づいて複数の文字列に分割するテキスト分割モジュールと、前記テキスト分割モジュールにより分割された文字列を候補文字列として含む文字列集合を作成する文字列集合作成モジュールと、前記文字列生起集計モジュールにより作成された文字列集合に含まれる候補文字列に基づいて、複合語の要素となる要素文字列を複数連結して候補文字列を構成可能な要素文字列組み合わせを前記文字列集合から抽出する要素文字列組合せ抽出モジュールと、を備えている。
【0012】
この発明によれば、入力されたテキストを、空白文字に基づいて複数の文字列に分割し、分割された文字列を候補文字列として含む文字列集合を作成する。そして、作成された文字列集合に含まれる候補文字列に基づいて、複合語の要素となる要素文字列を複数連結して候補文字列を構成可能な要素文字列の組み合わせを文字列集合から抽出する。
【0013】
これにより、web検索のクエリログデータのように、未知語を多く含むテキストから複合語の生成のための要素文字列の組合せを抽出することができ、複合語の生成を効率的に行うことができる。
【0014】
また、本発明の複合語生成装置において、前記文字列集合作成手段は、前記テキスト分割手段により分割された文字列の各々の生起回数を計数し、前記文字列集合作成手段により作成された文字列集合に含まれる候補文字列と前記要素文字列組合せ抽出手段により抽出された要素文字列とのそれぞれの生起回数を比較することによって前記候補文字列が複合語として適正であるか否かを判定する複合語判定手段をさらに備えていることが好ましい。
【0015】
この発明によれば、作成された文字列集合に含まれる候補文字列と抽出された要素文字列とのそれぞれの生起回数を比較することによって候補文字列が複合語として適正であるか否かを判定することができ、複合語の生成を精度よく行うことができる。
【0016】
また、本発明の複合語生成装置において、複合語判定手段は、要素文字列組み合わせの各々に対して複合語スコアを求め、全ての要素文字列組み合わせについて複合語スコアが閾値以上であるときは、前記候補文字列は複合語であると判定する、ことが好ましい。
【0017】
この発明によれば、要素文字列組み合わせの各々に対して複合語スコアを求め、全ての要素文字列組み合わせについて複合語スコアが閾値以上であるときは、候補文字列は複合語であると判定することで、複合語の判定を精度よく行うことができる。すなわち、要素文字列組合せのうち一つでも、その複合語スコアが閾値未満である場合には、複合語と判定しないことで、より精度のよい判定を行うことができる。
【0018】
また、本発明の複合語生成装置において、前記複合語判定手段は、前記要素文字列組合せ抽出手段により抽出された要素文字列のそれぞれの組み合わせにおける生起回数の相乗平均と、前記文字列集合作成手段により計数された候補文字列の生起回数とを比較することで複合語として適正か否かの判定を行うことが好ましい。
【0019】
この発明によれば、抽出された要素文字列のそれぞれの組み合わせにおける生起回数の相乗平均と、文字列集合作成手段により計数された候補文字列の生起回数とを比較することで複合語として適正か否かの判定を行うことで、複合語の判定を精度よく行うことができる。
【0020】
また、本発明の複合語生成装置において、文字列集合作成手段は、特定の文字列を除外した文字列集合を作成することが好ましい。
【0021】
この発明によれば、特定の文字列を文字列集合から除外することで、複合語の生成の際において、望ましくない複合語が生成されることを防止することができる。
【0022】
また、本発明の複合語生成装置において、文字列集合作成手段は、前記文字列集合作成手段により計数された文字列の生起回数に基づいて、所定の生起回数以下の文字列を文字列集合から除外することが好ましい。
【0023】
この発明によれば、計数された文字列の生起回数に基づいて、所定の生起回数以下の文字列を除外した文字列集合を作成することで、複合語の生成の際において、要素文字列の組合せの探索処理速度を向上させることができる。
【発明の効果】
【0024】
本発明によれば、web検索のクエリログデータのように、未知語を多く含むテキストから複合語の生成を精度よく行うことができる。
【図面の簡単な説明】
【0025】
【図1】本実施形態の複合語生成装置100の機能構成を示すブロック図である。
【図2】複合語生成装置100のハードウェア構成図である。
【図3】複合語生成装置100の処理を示すフローチャートである。
【図4】入力テキスト例を示す説明図である。
【図5】空白に基づいて分割された文字列を示す説明図である。
【図6】その文字列の生起回数が付与された状態を示す説明図である。
【図7】要素文字列の組合せ例を示す説明図である。
【発明を実施するための形態】
【0026】
添付図面を参照しながら本発明の実施形態を説明する。可能な場合には、同一の部分には同一の符号を付して、重複する説明を省略する。
【0027】
図1は、本実施形態の複合語生成装置100の機能構成を示すブロック図である。図1に示されているとおり、複合語生成装置100は、テキスト分割部101(テキスト分割手段)、文字列生起回数集計部102(文字列集合作成手段)、要素文字列組み合わせ抽出部103(要素文字列組合せ抽出手段)、および複合語判定部104(複合語判定手段)を含んでいる。この複合語生成装置100は、例えば携帯電話などに搭載されているものであって、そのハードウェア構成は図2に示されているものとなる。
【0028】
図2は、複合語生成装置100のハードウェア構成図である。図1に示される複合語生成装置100は、物理的には、図2に示すように、CPU11、主記憶装置であるRAM12及びROM13、入力デバイスであるキーボード及びマウス等の入力装置14、ディスプレイ等の出力装置15、ネットワークカード等のデータ送受信デバイスである通信モジュール16、ハードディスク等の補助記憶装置17などを含むコンピュータシステムとして構成されている。図1において説明した各機能は、図2に示すCPU11、RAM12等のハードウェア上に所定のコンピュータソフトウェアを読み込ませることにより、CPU11の制御のもとで入力装置14、出力装置15、通信モジュール16を動作させるとともに、RAM12や補助記憶装置17におけるデータの読み出し及び書き込みを行うことで実現される。以下、図1に示す機能ブロックに基づいて、各機能ブロックを説明する。
【0029】
テキスト分割部101は、入力テキストを空白区切りで分割し、複数の文字列を出力する部分である。なお、この入力テキストは、上述ハードウェア構成における入力装置14から、ウェブブラウザを介して入力された検索語からなるものであり、本実施形態では、検索語のクエリログデータが入力テキストとなる。入力テキストは、単一のテキストであってもよいが、たとえば図4のように、複数のテキスト片を含むものを主に想定する。例として、図4の入力テキスト例を入力とした場合、テキスト分割部101の出力は図5のようになる。すなわち、空白を挟んで入力された文字列は、その空白に基づいて分割されて出力される。
【0030】
図4は、入力テキスト例を示す説明図であり、図5は、空白に基づいて分割された文字列を示す説明図である。図4に示されるように、「音声認識」「画像認識」「音声 合成」「画像 認識」「手話 認識」が検索ログとして記憶されたものであり、それがそのまま入力テキストとして入力される。そして、図5に示されるように、空白に基づいて、文字列が分割される。例えば、「音声 合成」という文字列については、「音声」と「合成」に分割される。
【0031】
文字列生起回数集計部102は、テキスト分割部101において分割して得られた複数の文字列から、同一の文字列が出現した生起回数を計数し、出現した文字列を全て集めた文字列集合を生成する部分である。文字列集合には、各々の文字列の生起回数の情報が付属している。例えば、分割された文字列(図5)に、その文字列の生起回数が付与される(図6)。
【0032】
図6は、その文字列の生起回数が付与された状態を示す説明図である。図5に示されるとおり、「音声認識」は2回、「認識」は2回生起していることから、図6においては、それぞれの生起回数が対応付けて付与される。
【0033】
要素文字列組み合わせ抽出部103は、文字列生起回数集計部102から得られた文字列集合に含まれる文字列のうち、まだ複合語であるとも複合語でないとも判定されていない1つの文字列を候補文字列として選択する。そして、要素文字列組み合わせ抽出部103は、文字列生起回数集計部102から得られた文字列集合を参照し、文字列集合に含まれる複数の文字列を連結することで候補文字列が得られるような要素文字列組み合わせを抽出する。
【0034】
図7(a)は、要素文字列の組合せ例を示す説明図である。「音声認識」という候補文字列に着目した場合、図6(a)の文字列集合に含まれる「音声」と「認識」という複数の文字列を連結して得ることができるので、図7(a)に示されるとおり、{音声,認識}という文字列の組み合わせを要素文字列組み合わせとして抽出する。この例の場合には、要素文字列組み合わせは1通りしか存在しないが、複数の要素文字列組み合わせが存在する場合には、要素文字列組み合わせ抽出部103は、全ての要素文字列組み合わせを抽出する。別の例として、図4または図5の例において、「音 声」などの文字列があったと仮定した場合には、図6(b)に示される文字列集合は、さらに「音」と「声」という文字列を含み、図7(a)においては、上記の{音声,認識}に加えて{音,声,認識}も要素文字列組み合わせとして抽出される。
【0035】
要素文字列組み合わせ抽出部103における要素文字列組み合わせの全抽出は、当業者にはよく知られたハッシュテーブルと再帰呼び出しと呼ばれる技術を用いることで、高速な処理が容易に実現できる。
【0036】
複合語判定部104は、文字列生起回数集計部102により作成された文字列集合に含まれる候補文字列と要素文字列組合せ抽出部103により抽出された要素文字列とのそれぞれの生起回数を比較することによって候補文字列が複合語として適正であるか否かを判定する部分である。
【0037】
より具体的には、複合語判定部104は、要素文字列組み合わせ抽出部103において要素文字列組み合わせが1つ以上抽出されたか否かを参照し、要素文字列組み合わせが1つ以上存在する場合には、要素文字列組み合わせのうち、未判定の候補文字列を1つ選択する。つぎに、複合語判定部104は、選択された要素文字列組み合わせに含まれる文字列の各々の生起回数と、候補文字列の生起回数とを比較することにより、候補文字列が複合語でないか、否かを判定する。そして、候補文字列が複合語でないと判定できる場合には、複合語判定部104は、現在処理対象としている候補文字列に対する処理をスキップして、つぎの候補文字列の処理を行う。
【0038】
候補文字列が複合語ではないと判定されない場合には、複合語判定部104は、さらに未判定の要素文字列組み合わせを探し、全ての要素文字列組み合わせが判定済みとなるまで、処理を繰り返し行う。
【0039】
全ての要素文字列組み合わせが判定済みとなり、いずれの要素文字列組み合わせについても候補文字列が複合語ではないと判定できない場合には、複合語判定部104は候補文字列が複合語であると判定し、候補文字列を複合語として出力する。候補文字列が複合語であるまたは複合語ではない、のいずれかであると判定された場合には、複合語判定部104は、現在処理対象としている候補文字列に対する処理を終了し、文字列集合に含まれる全ての文字列に対する複合語の判定処理を繰り返し行う。
【0040】
さらに、複合語判定部104における候補文字列が複合語であるか否かの判定手法について、より具体的な実施方法を説明する。以下の説明においては、候補文字列をW、要素文字列組み合わせを{w1,w2,…wN}とする。ただし、Nは2以上の整数である。また、入力テキスト中の文字列wの生起回数をC(w)で表す。
【0041】
処理の一例として、複合語判定部104は、候補文字列Wの複合語スコアS(W, W1,W2,…,WN)を以下のようにして求めることができる。
【数1】


式(1)は、複合語スコアSが要素文字列組み合わせに含まれる文字列の生起回数の相乗平均に対する、候補文字列の生起回数の比率を示す。
【0042】
式(1)の右辺分母は、単に、要素文字列組み合わせに含まれる文字列の生起回数を互いに乗算したもの、それらを加算したもの等、C(wn)の各々について単調増加する異なる関数であってもよい。
【0043】
なお、式(1)は、各要素文字列の生起回数に対する候補文字列の生起回数の比率を算出するものであればよく、その分母は、上述のとおり相乗平均でもよいし、相加平均をとってもよいし、そのほか何らかの各要素文字列の生起回数の平均値を算出する関数を採用してもよい。
【0044】
処理の一例として、複合語判定部104は、式(1)に類する処理によって求められた複合語スコアSが予め定められた閾値Tを下回るときには候補文字列Wが複合語でないと判定し、複合語スコアSが予め定められた閾値T以上であるときにはWが複合語でないとは判定しないという動作をしてよい。
【0045】
そして、要素文字列組み合わせが1つ以上存在し、かつ、全ての要素文字列組み合わせについて複合語スコアSが閾値T以上であるときは、Wは複合語であると判定されることになる。
【0046】
以上の方法での、候補文字列が複合語であるか否かの判定を、図6(a)の文字列集合を用いて説明する。図6(a)において、「音声認識」という候補文字列は、要素文字列組み合わせを{音声,認識}の1通りのみ持ち、C(音声認識)=2、C(音声)=1、C(認識)=1のため、S(音声認識, 音声, 認識)=2である。閾値T=1であるとすると、「音声認識」という候補文字列の全ての要素文字列組み合わせについてS≧Tであるため、「音声認識」は複合語であると判定される。
【0047】
別の例として、もし、図6(b)の文字列集合を例にみてみると、「音」「声」という文字列をさらに含んでおり、C(音)=8、C(声)=8だったとすると、「音声認識」という候補文字列は{音声,認識}のほか{音,声,認識}という要素文字列組み合わせを持つ。このとき、S(音声認識,音,声,認識)=0.5となるため、「音声認識」という候補文字列はS<Tとなる要素文字列組み合わせを1つ以上持つ。したがって、この例の場合には「音声認識」という候補文字列は複合語でないと判定される。
【0048】
複合語判定部104における処理は省略されてもよく、この際には、要素文字列組み合わせ抽出部103において要素文字列組み合わせが1つ以上存在する候補文字列を全て複合語として出力してもよい。
【0049】
つぎに、本実施形態の複合語生成装置100の処理について説明する。図3は、複合語生成装置100の処理を示すフローチャートである。入力テキストが入力されると、テキスト分割部101により、入力テキストは空白区間に基づいて分割され、複数の文字列が抽出され、出力される(S101)。文字列生起回数集計部102により、入力された文字列の生起回数が計数されるとともに、生起回数が付属した文字列集合が作成される(S102)。
【0050】
つぎに、生起回数が付属した文字列集合において、一の文字列が候補文字列として選択される(S103)。図3において、foreach文を利用した例が記載されている。そして、要素文字列組み合わせ抽出部103により、要素文字列を複数連結して候補文字列が表現できるような要素文字列組み合わせが、文字列集合から全て抽出される(S104)。つぎに、複合語判定部104により、抽出された要素文字列の組み合わせが存在するか否かが判断される(S105)。
【0051】
複合語判定部104により、要素文字列の組み合わせが存在すると判断されると、要素文字列の組み合わせの抽出結果において、一の要素文字列の組み合わせが選択される(S106)。foreach文を利用した例が記載されている。そして、複合語判定部104により、要素文字列の組み合わせに含まれる文字列のそれぞれの生起回数と、候補文字列の生起回数とを比較し、候補文字列が複合語であるか否かが判定される(S107)。
【0052】
候補文字列が複合語でないとは判定されなかった場合(すなわち、上述式(1)におけるスコアSが閾値T以下ではない)には、複合語判定部104により、いまだS107における判定の対象としていない要素文字列組み合わせが探索される。そして、未判定の要素文字列組合せに対する複合語の判定処理が行われ、全ての要素文字列組み合わせがS107において判定済みとなるまで、S106およびS107の処理が繰り返し行われる(S108)。
【0053】
全ての要素文字列組み合わせが判定済みとなり(S107)、いずれの要素文字列組み合わせについても候補文字列が複合語でないとは判定されなかった場合(すなわち、複合語ではないといいきれない場合)には、複合語判定部104により、候補文字列が複合語であると判定され、候補文字列は複合語として出力される(S109)。
【0054】
そして、候補文字列が複合語であると判定されるか、複合語でないと判定された場合には、複合語判定部104により、現在処理対象としている候補文字列に対する処理を終了し、文字列集合に含まれる全ての文字列が複合語であると判定されるか、複合語でないと判定されるまでS103〜S109の処理が繰り返し行われる(S110)。
【0055】
なお、S105において、要素文字列の組み合わせが存在しないと判断された場合も、同様にS110において、つぎの候補文字列の選択に移行し、複合語の判定処理が終了するまで処理が繰り返される。また、S107において、複合語ではないと判定された場合も、同様にS110において、つぎの候補文字列の選択に移行し、複合語の判定処理が終了するまで処理が繰り返される。
【0056】
このようにして、入力テキストに基づいて、複数の文字列に分割し、その分割した文字列に基づいて複合語を抽出することができる。
【0057】
なお、上述の本実施形態における文字列生起回数集計部102は、文字列の生起回数の集計が全て終了した後に、生起回数が一定の閾値に満たない文字列を文字列集合から除外してよい。これにより、要素文字列組み合わせの探索処理を高速化する効果が得られる。
【0058】
さらに変形例として、以下の処理が考えられる。すなわち、文字列生起回数集計部102は、文字列生起回数の集計が全て終了した後に、予め定められた特定の文字列を文字列集合から除外してもよい。具体的に文字列集合が除外するべき文字列は「の」などの文字列であり、予め記憶部(図示せず)に記憶した特定の文字列を除外対象としてもよいし、記憶部に辞書データを記憶しておき、その辞書データに基づいて単独では意味をなさない文字列を除外対象としてもよい。
【0059】
すなわち、「の」などの文字列は助詞として名詞間の連結に使われることが多いが、単独では意味をなさないため、本実施形態における集計方法での生起回数は少ない場合が多い。「の」などの文字列を文字列集合から除外することにより、一般的な名詞を助詞で連結したときのみの、本来複合語として判定すべきでない文字列が複合語と判定されやすくなる問題を解決することができる。
【0060】
例えば、文字列集合が「嵐」,「の」,「画像」,「嵐の画像」を含む場合を考える。「嵐の画像」という候補文字列に対応する要素文字列組み合わせが{嵐,の,画像}のみであるとする。C(嵐)=10000、C(の)=10、C(画像)=10000、C(嵐の画像)=1000であるとすると、C(嵐の画像、嵐、の、画像)=100のため、T=1であれば、「嵐の画像」は複合語であると判定される。しかし、実際には「嵐の画像」は頻出の単語である「嵐」と「画像」を助詞で接続した句であり、これを複合語であると判定することはN-gramデータのスパース化を招くとともに、複合語の数を増大させる恐れがあり、望ましくない。
【0061】
この変形例によれば、文字列「の」が文字列集合から除外されることにより、「嵐の画像」という候補文字列は{嵐,の,画像}という要素文字列組み合わせを持たなくなり、結果として「嵐の画像」という候補文字列は複合語でないと判定される。このように、特定の文字列を文字列集合から除外することにより、望ましくない複合語が生成されなくなる効果が得られる。
【0062】
また、本実施形態および変形例における複合語生成装置100を、プログラムとして記録媒体に格納されて提供することもできる。記録媒体としては、フロッピーディスク(登録商標)、CD−ROM、DVD、あるいはROM等の記録媒体、あるいは半導体メモリ等が例示される。
【0063】
例えば、コンピュータに、フロッピーディスクドライブ装置(フロッピーディスクは登録商標)、CD−ROMドライブ装置、DVDドライブ装置等の読取装置と、オペレーティングシステムを常駐させた作業用メモリ(RAM)と、記録媒体に記憶されたプログラムを記憶するメモリと、ディスプレイといった表示装置と、入力装置であるマウス及びキーボードと、データ等の送受を行うための通信装置と、プログラムの実行を制御するCPUとを備えさせ、当該コンピュータは、記録媒体が読取装置に挿入されると、読取装置から記録媒体に格納された複合語生成プログラムにアクセス可能になり、当該複合語生成プログラムによって、本実施形態に係る複合語生成装置100として動作することが可能になる。
【0064】
また、複合語生成プログラムは、搬送波に重畳されたコンピュータデータ信号としてネットワークを介して提供されるものであってもよい。この場合、コンピュータは、通信装置によって受信した複合語生成プログラムをメモリに格納し、当該複合語生成プログラムを実行することができる。
【0065】
これら複合語生成プログラムは、入力されたテキストを、空白文字に基づいて複数の文字列に分割するテキスト分割モジュールと、分割された文字列を候補文字列として含む文字列集合を作成する文字列集合作成モジュールと、文字列生起集計モジュールにより作成された文字列集合に含まれる候補文字列に基づいて、複合語の要素となる要素文字列を複数連結して候補文字列を構成可能な要素文字列組み合わせを文字列集合から抽出する要素文字列組合せ抽出モジュールと、から構成されている。
【0066】
つぎに、本実施形態および変形例における複合語生成装置100の作用効果について説明する。
【0067】
本実施形態の複合語生成装置100によれば、テキスト分割部101が入力されたテキストを、空白文字に基づいて複数の文字列に分割し、文字列生起回数集計部102が、分割された文字列を候補文字列として含む文字列集合を作成する。そして、文字列生起回数集計部102により作成された文字列集合に含まれる候補文字列に基づいて、要素文字列組合せ抽出部103は、複合語の要素となる要素文字列を複数連結して候補文字列を構成可能な要素文字列の組み合わせを文字列集合から抽出する。
【0068】
これにより、web検索のクエリログデータのように、未知語を多く含むテキストから複合語の生成のための要素文字列の組合せを抽出することができ、複合語の生成を効率的に行うことができる。とりわけ、入力テキストに含まれている文字列から複合語作成することができ、無駄な複合語を作成することがない。
【0069】
さらに、この複合語生成装置100によれば、複合語判定部104は、作成された文字列集合に含まれる候補文字列と抽出された要素文字列とのそれぞれの生起回数を比較することによって候補文字列が複合語として適正であるか否かを判定することができ、複合語の生成を精度よく行うことができる。すなわち、その生起回数に基づいて複合語を生成することで、生起回数が少ない文字列については複合語としないなど、その生起頻度によって妥当な複合語を生成することができる。よって、単純に連結ルールなどに基づいて文字列を連結することにより複合語を生成しようとする技術などと比較して、より妥当な複合語を生成することができる。生起回数が少なく、連鎖して現れることのないような複合語までも生成してしまうと、それら複合語を、音声認識のモデルに適用した際に、音声認識の精度の劣化を招く恐れがある。
【0070】
また、複合語生成装置100によれば、複合語判定部104は、要素文字列組み合わせの各々に対して複合語スコアを求め、全ての要素文字列組み合わせについて複合語スコアが閾値以上であるときは、候補文字列は複合語であると判定することで、複合語の判定を精度よく行うことができる。すなわち、要素文字列組合せのうち一つでも、その複合語スコアが閾値未満である場合には、複合語と判定しないことで、より精度のよい判定を行うことができる。
【0071】
また、複合語生成装置100によれば、複合語判定部104は、抽出された要素文字列のそれぞれの組み合わせにおける生起回数の相乗平均と、文字列集合作成手段により計数された候補文字列の生起回数とを比較することで複合語として適正か否かの判定を行うことで、複合語の判定を精度よく行うことができる。
【0072】
また、変形例における複合語生成装置100によれば、文字列生起回数集計部102は、特定の文字列を文字列集合から除外することで、複合語の生成の際において、望ましくない複合語が生成されることを防止することができる。例えば、特定の文字列として「の」については、文字列集合から除外することで、複合語として不適切な文字列を除外することができる。
【0073】
また、変形例における複合語生成装置100によれば、文字列生起回数集計部102は、計数された文字列の生起回数に基づいて、所定の生起回数以下の文字列を文字列集合から除外することで、複合語の生成の際において、要素文字列の組合せの探索処理速度を向上させることができる。
【符号の説明】
【0074】
100…複合語生成装置、101…テキスト分割部、102…文字列生起回数集計部、103…要素文字列組み合わせ抽出部、104…複合語判定部。

【特許請求の範囲】
【請求項1】
入力されたテキストを、空白文字に基づいて複数の文字列に分割するテキスト分割手段と、
前記テキスト分割手段により分割された文字列を候補文字列として含む文字列集合を作成する文字列集合作成手段と、
前記文字列集合作成手段により作成された文字列集合に含まれる候補文字列に基づいて、複合語の要素となる要素文字列を複数連結して候補文字列を構成可能な要素文字列組み合わせを前記文字列集合から抽出する要素文字列組合せ抽出手段と、
を備える複合語生成装置。
【請求項2】
前記文字列集合作成手段は、前記テキスト分割手段により分割された文字列の各々の生起回数を計数し、
前記文字列集合作成手段により作成された文字列集合に含まれる候補文字列と前記要素文字列組合せ抽出手段により抽出された要素文字列とのそれぞれの生起回数を比較することによって前記候補文字列が複合語として適正であるか否かを判定する複合語判定手段、
をさらに備える請求項1の複合語生成装置。
【請求項3】
複合語判定手段は、
要素文字列組み合わせの各々に対して複合語スコアを求め、全ての要素文字列組み合わせについて複合語スコアが閾値以上であるときは、前記候補文字列は複合語であると判定する、
ことを特徴とする請求項2の複合語生成装置。
【請求項4】
前記複合語判定手段は、
前記要素文字列組合せ抽出手段により抽出された要素文字列のそれぞれの組み合わせにおける生起回数の相乗平均と、前記文字列集合作成手段により計数された候補文字列の生起回数とを比較することで複合語として適正か否かの判定を行うことを特徴とする請求項1の複合語生成装置。
【請求項5】
文字列集合作成手段は、特定の文字列を除外した文字列集合を作成することを特徴とする請求項1または2に記載の複合語生成装置。
【請求項6】
文字列集合作成手段は、前記文字列集合作成手段により計数された文字列の生起回数に基づいて、所定の生起回数以下の文字列を除外した文字列集合を作成ることを特徴とする請求項1から3のいずれか一項に記載の複合語生成装置。
【請求項7】
入力されたテキストを、空白文字に基づいて複数の文字列に分割するテキスト分割ステップと、
前記テキスト分割ステップにより分割された文字列を候補文字列として含む文字列集合を作成する文字列集合作成ステップと、
前記文字列集合作成ステップにより作成された文字列集合に含まれる候補文字列に基づいて、複合語の要素となる要素文字列を複数連結して候補文字列を構成可能な要素文字列組み合わせを前記文字列集合から抽出する要素文字列組合せ抽出ステップと、
を備える複合語生成方法。
【請求項8】
入力されたテキストを、空白文字に基づいて複数の文字列に分割するテキスト分割モジュールと、
前記テキスト分割モジュールにより分割された文字列を候補文字列として含む文字列集合を作成する文字列集合作成モジュールと、
前記文字列集合作成モジュールにより作成された文字列集合に含まれる候補文字列に基づいて、複合語の要素となる要素文字列を複数連結して候補文字列を構成可能な要素文字列組み合わせを前記文字列集合から抽出する要素文字列組合せ抽出モジュールと、
を備える複合語生成プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate