説明

概念ベクトル推定方法及び装置及びプログラム

【課題】テキスト中の任意の単語に対し、該単語の意味を表現する概念ベクトルを求めるとともに、未登録語の概念ベクトルを推定する。
【解決手段】本発明は、入力されたテキストについて、単語・意味情報データベースを参照して単語の意味ベクトル(共起行列)を生成し、該共起行列に対して特異値分解による次元圧縮を行うことにより概念ベースを生成し、また、概念ベースに含まれない未登録語の概念ベクトルを推定するため、単語間の距離関係を保存したまま、意味ベクトルを概念空間へ射影する射影行列を導出し、射影行列により意味ベクトルを概念空間へ射影し、未登録語の概念ベクトルを求める。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、概念ベクトル推定方法及び装置及びプログラムに係り、特に、単語の意味を表現する概念ベクトルを推定するための概念ベクトル推定方法及び装置及びプログラムに関する。
【背景技術】
【0002】
属性とその重みにより構成された概念ベースを用い、単語(観点)を指定したときに、観点に応じて概念間の類似性を判別する方法がある。この方法は、概念同士の類似性判別を行う前に、概念中の属性の重みを観点に基づいて強調するものである(例えば、特許文献1、非特許文献1参照)。
【0003】
また、単語の意味を表現する概念ベクトルを生成する手法として、単語と該単語の意味情報の組の集合を格納するデータベースを参照して、テキストにおける単語と意味情報との共起頻度を記録した単語・意味情報間の共起行列を生成する。共起行列における行ベクトルは、対応する単語の、意味情報との共起パターンを表しており、2つの単語の対応する行ベクトルが近ければ共起パターンが似ているので、その2つの単語は意味的に近いと推察される。この共起行列の各行ベクトルが、対応する単語の概念ベクトルとなる(例えば、特許文献2参照)。
【0004】
意味情報の数、すなわち、概念ベクトルの次元数が大きい場合、概念ベクトルを利用した言語処理の処理時間も非常に長くなる。このため、当該手法では、共起行列を特異値分解により列数を少なくした行列に変換する手法も述べている。この変換後の行列の各行ベクトルを、対応する単語の概念ベクトルとしてもよい。この概念ベクトルを利用した言語処理の処理時間は、次元数が少ないので短くなる。なお、単語とその概念ベクトルの対の集合を概念ベースと呼ぶ。
【特許文献1】特開2002−182195号公報
【特許文献2】特開2006−113917号公報
【非特許文献1】笠原要、松澤和光、石川勉:『国語辞書を利用した日常語の類似性判別』情報処理学会論文誌、Vol. 38, No. 7, pp. 1272-1283, July 1997
【発明の開示】
【発明が解決しようとする課題】
【0005】
上記従来の属性とその重みにより生成された概念ベースは、単語と属性との間の重みを成分値とするマトリクスであるが、計算量低減と精度向上のため、特異値分解による次元圧縮を行っても、概念ベースに含まれない単語には、概念ベクトルを付与できないという問題がある。
【0006】
また、上記従来の概念ベクトルを生成する際に特異値分解を用いる方法は、特異値分解処理が多量のメモリを必要とするため、共起行列の行数を制限する必要がある。一般に、テキスト中の高頻度語の集合をとり、この集合中の単語と意味情報との間の共起行列に対して、特異値分解を実行する。この結果、当該集合に含まれない単語の概念ベクトルは生成されない。
【0007】
概念ベクトルを利用した言語処理において、概念ベクトルが付与されていない単語の概念は考慮されないため、精度の低下を招くという問題がある。
【0008】
本発明は、上記の点に鑑みなされたもので、テキスト中の任意の単語に対し、当該単語の対応する概念ベクトルを推定することを可能とする概念ベクトル推定方法及び装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0009】
図1は、本発明の原理を説明するための図である。
【0010】
本発明(請求項1)は、単語の意味を表現する概念ベクトルを推定する概念ベクトル推定装置における概念ベクトル推定方法であって、
共起行列生成手段において、
単語と該単語の意味情報の組の集合を格納する単語・意味情報データベースを参照することにより、入力されたテキストAから、該テキストA中のある単語集合における任意の単語と、意味情報集合における任意の意味情報の対に対し、該テキストAにおける1つまたは複数の所定の範囲のそれぞれにおいて、該単語と該意味情報とが共起する事象を、該テキストAの全体にわたって計数した頻度を導出することにより、該単語集合と該意味情報集合との間の共起行列Xを生成する共起行列生成ステップ(ステップ1)と、
射影行列取得手段において、
共起行列生成ステップで生成された共起行列Xに対し、
X=UΣV
が成立するような該共起行列Xの特異値分解を構成する行列Uの左から指定した数の列ベクトルをとって得られる行列U’、行列Σの左上から指定した数の行数、列数をもつ正方行列をとって得られる行列Σ’、行列Vの左から指定した数の列ベクトルをとって得られる行列V’を取得し、該行列V’またはV’Σ’−1を射影行列として射影行列記憶手段に記憶する射影行列取得ステップ(ステップ2)と、
射影手段において、
テキストAまたは別のテキストBにおける単語wに対し、該単語wと、意味情報集合における任意の意味情報の対をとり、該テキストAまたは該テキストBにおける一つまたは複数の所定の範囲のそれぞれにおいて、該単語wと該意味情報とが共起する事象を、該テキストAまたは該テキストBの全体にわたって計数した頻度を必要に応じて導出し、各座標が意味情報に対応し、該座標の値が該単語wと該意味情報との間で導出された頻度または該頻度の変換値であるベクトルhをとり、射影行列記憶手段に格納されている射影行列V’またはV’Σ’−1を用いて積演算を行った、hV’またはhV’Σ’−1、またはそれらの長さを正規化して得られるベクトルを単語wの概念ベクトルとして推定する射影ステップ(ステップ3)と、を行う。
【0011】
図2は、本発明の原理構成図である。
【0012】
本発明(請求項2)は、単語の意味を表現する概念ベクトルを推定する概念ベクトル推定装置であって、
単語と該単語の意味情報の組の集合を格納する単語・意味情報データベース121と、
単語・意味情報データベース121を参照することにより、入力されたテキストAから、該テキストA中のある単語集合における任意の単語と、意味情報集合における任意の意味情報の対に対し、該テキストAにおける1つまたは複数の所定の範囲のそれぞれにおいて、該単語と該意味情報とが共起する事象を、該テキストAの全体にわたって計数した頻度を導出することにより、該単語集合と該意味情報集合との間の共起行列Xを生成する共起行列生成手段111と、
共起行列生成手段111で生成された共起行列Xに対し、
X=UΣV
が成立するような該共起行列Xの特異値分解を構成する行列Uの左から指定した数の列ベクトルをとって得られる行列U’、行列Σの左上から指定した数の行数、列数をもつ正方行列をとって得られる行列Σ’、行列Vの左から指定した数の列ベクトルをとって得られる行列V’を取得し、該行列V’またはV’Σ’−1を射影行列として射影行列記憶手段122に記憶する射影行列取得手段112と、
テキストAまたは別のテキストBにおける単語wに対し、該単語wと、意味情報集合における任意の意味情報の対をとり、該テキストAまたは該テキストBにおける一つまたは複数の所定の範囲のそれぞれにおいて、該単語wと該意味情報とが共起する事象を、該テキストAまたは該テキストBの全体にわたって計数した頻度を必要に応じて導出し、各座標が意味情報に対応し、該座標の値が該単語wと該意味情報との間で導出された頻度または該頻度の変換値であるベクトルhをとり、射影行列記憶手段122に格納されている射影行列V’またはV’Σ’−1を用いて積演算を行った、hV’またはhV’Σ’−1、またはそれらの長さを正規化して得られるベクトルを単語wの概念ベクトルとして推定する射影手段113と、を有する。
【0013】
本発明(請求項3)は、コンピュータに、請求項2記載の概念ベクトル推定装置の各手段を実行させる概念ベクトル推定プログラムである。
【発明の効果】
【0014】
上記のように本発明によれば、上記のU’Σ ’またはU’の各行ベクトル、または、その長さを1に正規化して得られるベクトルが、対応する単語の概念ベクトルであり、単語とその概念ベクトルの対の集合が概念ベースである。
【0015】
ここで、XV=UΣより、XV’=U’Σ’、XV’Σ’−1=U’となるため、任意の単語wに対応するベクトルhに対して、hV’またはhVΣ’−1、またはそれらの長さを1に正規化して得られるベクトルをとることによって、単語wの真の概念ベクトルに近い概念ベクトルを推定することが可能になる。
【発明を実施するための最良の形態】
【0016】
以下、図面と共に本発明の実施の形態を説明する。
【0017】
図3は、本発明の一実施の形態における概念ベクトル推定装置の構成を示す。
【0018】
同図に示す概念ベクトル推定装置100は、共起行列生成部111、射影行列取得部112、射影部113、単語・意味情報データベース121、射影行列記憶部122から構成される。
【0019】
単語・意味情報データベース121は、単語と該単語の意味情報の組の集合を格納する。
【0020】
ここで、単語の意味情報とは、単語の属する意味カテゴリを表す。意味カテゴリとは一般に、事物を抽象化した概念である。これは一般に、人が個々の単語の意味を吟味した上で得られるものである。意味カテゴリの集合は、一例として、図4で示されるような体系をなしている。図4では、各意味カテゴリを言葉として表現しているが、意味カテゴリ自体は必ずしも言葉として表現されているとは限らない概念である。各意味カテゴリには、それを特定するためのIDが付与されている。本実施の形態では、このIDを便宜上意味情報と同一視する。
【0021】
共起行列生成部111は、コーパス(テキストA)が入力されると、単語・意味情報データベース121を参照することにより、入力されたテキストAから、当該テキストA中のある単語集合における任意の単語と、意味情報集合における任意の意味情報の対に対し、該テキストAにおける1つまたは複数の所定の範囲のそれぞれにおいて、該単語と該意味情報とが共起する事象を、該テキストAの全体にわたって係数した頻度を導出することにより、該単語集合と該意味情報集合との間の共起行列Xを生成する。生成した共起行列Xを射影行列取得部112に出力する。
【0022】
射影行列取得部112は、共起行列生成部111によって生成された共起行列Xに対し、
X=UΣV
が成立するような共起行列Xの特異値分解を構成する行列Uの左から指定した数の列ベクトルをとって得られる行列U’、行列Σの左上から指定した数の行数、列数を持つ正方行列をとって得られる行列Σ’、行列Vの左から指定した数の列ベクトルをとって得られる行列V’を取得し、該行列V’またはV’Σ’−1を射影行列として射影行列記憶部122に記憶する。共起行列はスパースであるため、精度的に問題であり、また、次元数が多いため計算量的にも問題であるが、この処理により精度向上、計算量低減を図ることができる。
【0023】
射影部113は、射影行列取得部112で生成した射影行列により、未登録語を概念ベクトルの存在する空間である概念空間へ射影し、概念ベクトルを求めるものである。テキストAまたは別のテキストBにおける単語wに対し、該単語wと、意味情報集合における任意の意味情報の対をとり、該テキストAまたは該テキストBにおける一つまたは複数の所定の範囲のそれぞれにおいて、該単語wと該意味情報とが共起する事象を、該テキストAまたは該テキストBの全体にわたって計数した頻度を必要に応じて導出し、各座標が意味情報に対応し、該座標の値が該単語wと該意味情報との間で導出された頻度または該頻度の変換値であるベクトルhをとり、射影行列記憶部122に格納されている射影行列V’またはV’Σ−1を用いて積演算を行った、hV’またはhV’Σ−1、またはそれらの長さを正規化して得られるベクトルを単語wの概念ベクトルとして推定する。
【0024】
射影行列を用いた積演算は、単語間の距離関係をできるだけ保存したまま、単語群を概念空間へ射影するので、射影部113により、未登録語の的確な概念ベクトルが得られる。
【0025】
図5は、本発明の一実施の形態における共起行列生成部の構成を示す。
【0026】
同図に示す共起行列生成部111は、単語・意味情報データベース121、不要単語テーブル123、不要品詞テーブル124、形態素解析部211、必要語判断部212、単語頻度算出部213、共起行列初期化部214、頻度ハッシュクリア部216、頻度ハッシュ更新部219、共起行列更新部222、制御部A215、制御部B217、制御部C218、制御部D220、制御部E221から構成される。
【0027】
図6は、本発明の一実施の形態における共起行列生成部の動作のフローチャートである。
【0028】
形態素解析部211は、入力されたテキストを、単語・意味情報データベース121を参照することにより形態素解析する(ステップ101)。
【0029】
図7は、本発明の一実施の形態における単語・意味情報データベース121の内容の一例を示す。同図では、単語・意味情報データベース121は、1レコードが1単語に関する情報となっており、1レコードは、カンマで区切られた3つの項目から構成されている。第1項目は単語の表記であり、第2項目は該単語の品詞情報である。第3項目は該単語の意味情報である。一般に内容語には、1つまたは複数の意味情報が対応している。図7においては、複数の意味情報をコロンで区切っている。1単語に複数の意味情報があるとき、よく使用される順に意味情報を並べておいてもよい。単語に関するこれらの情報は、一般に、人が個々の単語の品詞や意味を吟味した上で付与する。活用語に対しては、終止形も登録しておいてもよい。
【0030】
図8は、本発明の一実施の形態における形態素解析部211に入力されるテキストの一例であり、図9は、図8のテキストの形態素解析結果の一例である。各形態素間は“/”で区切られている。各形態素は、単語表記、終止形、品詞情報、意味情報、必要語フラグからなっており、それぞれ“,”で区切られている。単語・意味情報データベース121に終止形が登録されていない場合は、形態素解析後に、単語表記と品詞情報から終止形を導出する。終止形がない単語に対しては、単語表記を終止形とする。必要語フラグは、形態素解析後はヌル(NULL)である。
【0031】
必要語判断部212は、不要単語テーブル123、不要品詞テーブル124を参照することにより、形態素解析結果中の形態素が、その後の処理に必要な語かそうでないかを判断し、必要語ならば必要語フラグを“1”とし、必要語でないならば必要語フラグを“0”とする(ステップ102)。図10は、不要単語テーブル123の一例である。不要とされる各単語の表記が1レコードとして記述されている。図11は、不要品詞テーブル124の一例である。不要とされる各品詞情報が1レコードとして記述されている。必要語判断部212は、対象としている形態素の単語表記が不要単語テーブル123のあるレコードと一致するか、あるいは、対象としている形態素の品詞情報が、不要品詞テーブル124にあるレコードと一致する場合、当該形態素を必要語でないと判断する。必要語判断部212の処理により、図9の形態素解析結果は図12のようになる。
【0032】
単語頻度算出部213は、形態素解析結果中の各形態素を順に見ていき、該形態素の必要語フラグが“1”ならば、該形態素の終止形の頻度を1だけ増やす。このようにして、形態素解析結果中の必要語の終止形とその頻度の組の集合を導出する(ステップ103)。
【0033】
共起行列初期化部214は、単語頻度算出部213で得られた必要語の終止形とその頻度の組の集合から、必要語の終止形のある集合を取得する(ステップ104)。ここで、取得する必要語の終止形の集合を、必要語の終止形の全てをとったものとしてもよいし、高頻度の必要語の終止形を上位から一定数とったものとしてもよい。そして、図13のような、取得した必要語の終止形の集合(単に単語集合と呼ぶ)と意味情報集合との間の共起行列を生成する。共起行列における各行は一単語に対応し、各列は一意味情報に対応する。各行ベクトルは、対応する単語の、各座標が意味情報に対応し、該座標の値が該単語と該意味情報との間の共起頻度であるようなベクトルである。各行ベクトルの全座標値を0にセットする。
【0034】
制御部A215は、単語と意味情報とが共起する頻度を算出する処理の対象となるテキスト中の範囲を決定する(ステップ105)。所定の範囲としては、一文、一段落や所定の数の単語の列等がある。所定の範囲を一文とした場合は、まず、テキスト中の最初の文を処理対象とする。処理対象とした文に関する処理が終了したならば、その次の文を処理対象とする。最後の文に関する処理が終了したならば、処理対象の文ではないので、共起行列生成部111の処理を終了する。所定の範囲を、他のものとした場合も同様である。
【0035】
頻度ハッシュクリア部216は、意味情報とその頻度の組の集合を記憶する頻度ハッシュを、ヌル(NULL)にクリアする(ステップ106)。
【0036】
制御部B217は、処理対象のテキストの範囲における、処理対象とする形態素を決定する(ステップ107)。まず、処理対象のテキストの範囲における最初の形態素を処理対象とする。処理対象とした形態素に関する処理が終了したならば、その次の形態素を処理対象とする。最後の形態素に関する処理が終了したならば、処理対象の形態素はないので、制御手段D220の処理(ステップ110)に移る。
【0037】
制御部C218は、処理対象の形態素が必要語かどうかを判断する。処理対象の形態素の必要語フラグが“1”ならば頻度ハッシュ更新部219の処理(ステップ109)に移り、そうでなければ制御部B217の処理(ステップ107)に移る(ステップ108)
頻度ハッシュ更新部219は、処理対象の形態素の各意味情報に対し、該意味情報が頻度ハッシュになければ、該意味情報とその頻度1を頻度ハッシュに追加する。該意味情報が頻度ハッシュにあれば、頻度ハッシュにおける該意味情報の頻度を1だけ増やす。ここで、単語・意味情報データベース121において、1単語における複数の意味情報が、よく使用される順に並べられており、形態素解析結果における意味情報の順番もそれを引き継いでいる場合、意味情報の列の中の最初から指定した数だけの意味情報のみを頻度ハッシュ更新部219の処理対象としてもよい。図12に示した、テキストの1範囲の形態素解析結果からは、制御部B217で処理対象の形態素がなくなった時点で、図14の頻度ハッシュが得られる(ステップ109)。
【0038】
制御部D220は、処理対象のテキストの範囲における、処理対象とする形態素を決定する。まず、処理対象のテキストの範囲における最初の形態素を処理対象とする。処理対象とした形態素に関する処理が終了したならば、その次の形態素を処理対象とする。最後の形態素に関する処理が終了したならば、処理対象の形態素はないので、制御部A215の処理(ステップ105)に移る(ステップ110)。
【0039】
制御部E221は、処理対象の形態素が必要語かどうかを判断する。処理対象の形態素の必要語フラグが“1”ならば、共起行列更新部222の処理(ステップ112)に移り、そうでないならば、制御部D220の処理(ステップ110)に移る(ステップ111)。
【0040】
共起行列更新部222は、処理対象の形態素の終止形で共起行列の単語集合を検索し、ヒットしたならば、該形態素の終止形に対応する行ベクトルの、頻度ハッシュにおける各意味情報に対応する座標の値に、頻度ハッシュにおける該意味情報の頻度を加算する(ステップ112)。制御部A215において、共起行列が図13であり、かつ、図12に示した、テキストの1範囲の形態素解析結果を処理対象と決定した場合、その後、次に制御部A215に制御が回ってきた時点で、図15の共起行列が得られている。
【0041】
共起行列生成部111の処理により、図16に示すような共起行列Xが得られる。この共起行列Xを、特異値分解を行う対象としての共起行列Xとする。但し、共起行列Xの行数が大きいと、メモリの制約により、特異値分解の実行が不可能になる。このような場合は、高頻度の単語を上位から一定数だけとり、この高頻度語の集合と意味情報集合との間の共起行列Xをとり、この共起行列Xを、特異値分解を行う対象としての共起行列Xとする。ここで、生成される概念ベクトルの質の向上のため、特異値分解を実行する前に、Xの各成分をその平方根に変換しておいてもよい。この変換後の共起行列も、便宜上Xと表記することとする。
【0042】
次に、射影行列取得部112の処理について説明する。
【0043】
図17は、本発明の一実施の形態における射影行列取得部112の構成を示す。
【0044】
射影行列取得部112は、特異値分解部1121、射影行列導出部1122、射影行列記憶部122から構成される。
【0045】
特異値分解部1121は、共起行列が入力されると、該共起行列を特異値分解し、その結果を射影行列導出部1122に出力する。
【0046】
射影行列導出部1122は、特異値分解結果が入力されると、概念ベースと射影行列を導出し、射影行列を射影行列記憶部122に格納する。
【0047】
まず、特異値分解部1121の処理について詳しく説明する。
【0048】
共起行列Xをp×qの行列としたとき、特異値分解部1121により、Xは以下のように分解できる。
【0049】
【数1】

ここで、添字tは行列の転置を表す。
【0050】
【数2】

のr個の行ベクトルは、q次元空間中の正規直交基底であり、Xの第i番目のq次元行ベクトルは、この正規直交基底の張るr次元部分空間において、UΣの第i番目のr次元行ベクトルで表される。
【0051】
ここで、
【0052】
【数3】

に対し、Uの最初のr’列、Vの最初のr’行、Σの最初のr’行、r’列をとり、
【0053】
【数4】

とする。U’Σ’の第i番目の行ベクトルは、UΣの第i番目の行ベクトルの1番目からr’番目までの座標をとったものであり、UΣの第i番目の行ベクトルを、V’の行ベクトルの張るr’次元部分空間に射影して得られるものである。Xの第i番目のq次元行ベクトルは、U’Σ’の第i番目のr’次元行ベクトルに射影される。V’の行ベクトルが張るr’次元部分空間は、Xの各行ベクトルとその射影した点との距離の自乗和が最小となるr’次元部分空間であり、その意味でXの行ベクトルの分布に最もあてはまりのよいr’次元部分空間である。このV’の行ベクトルが張るr’次元部分空間を概念空間と呼ぶ。U’Σ’の各行ベクトルは、U’の対応する行ベクトルを、各座標ごとに対応する特異値の割合で伸縮したものである。
【0054】
特異値分解部1121は、U、Σ、Vを導出してから、U’、Σ’、V’を導出してもよいし、そうではなく、直接U’、Σ’、V’を導出してもよい。
【0055】
U’Σ’またはU’の各行ベクトル、または、その長さを1に正規化して得られるベクトルが、対応する単語の概念ベクトルであり、単語とその概念ベクトルの対の集合が概念ベースである。
【0056】
射影行列導出部1122は、この概念ベースを導出する。また、該行列V’またはV’Σ’−1を射影行列として射影行列記憶部122に記憶する。
【0057】
次に、射影部113の処理について説明する。
【0058】
図18は、本発明の一実施の形態における射影部113の構成を示す。
【0059】
同図に示す射影部113は、射影行列記憶部122に記憶された射影行列を用いて未登録語の概念ベクトルを導出する行列積演算部1131と、未登録語とその概念ベクトルを概念ベース125に追加登録する概念ベース格納部1132から構成される。
【0060】
行列積演算部1131の処理について説明する。
【0061】
入力とするのが、テキストAである場合、テキストA中の必要語の終止形の集合は、形態素解析部211、必要語判断部212、単語頻度算出部213の処理(ステップ101,102,103)で得られている。共起行列初期化部214で取得する必要語の終止形の集合に含まれる単語wに対しては、共起行列生成部111の処理が終了した時点で、ベクトルhは既に得られている。共起行列初期化部214で取得する必要語の終止形の集合に含まれない必要語の終止形の集合に対しては、該集合と意味情報集合との間の共起行列をとり、共起行列生成部111における共起行列初期化部214以降(ステップ104)の処理を行い、該集合に含まれる任意の単語wのベクトルhを取得する。
【0062】
入力とするのがテキストAとは別のテキストBである場合、テキストBを入力として形態素解析部211、必要語判断部212、単語頻度算出部213の処理(ステップ101,102,103)を行う。共起行列初期化部214では、全必要語の終止形の集合と意味情報集合との間の共起行列をとり、共起行列生成部111における共起行列初期化部214(ステップ104)以降の処理を行い、該集合に含まれる任意の単語wのベクトルhを取得する。
【0063】
特異値分解実行前に、共起行列Xの各成分をその平方根に変換していた場合は、ベクトルhの各成分をその平方根に変換する。この変換後のベクトルも、便宜上hと表記することとする。
【0064】
本発明の基本的な考え方は、共起行列Xの中に存在しない行ベクトルhに対しても、V’の行ベクトルの張るr’次元部分空間に射影したものを概念ベクトルとしようというものである。特異値分解の対象となる点の集合が異なれば、真の概念空間も当然異なり、その結果、各点の対応する真の概念ベクトルも異なる。しかし、点集合の分布の差異がそれ程大きくなければ、Xから得られた概念空間をそのまま使っても、概念空間に大きなずれはなく、従って射影した点は、真の概念ベクトルと大きくずれることはなく、精度よく真の概念ベクトルを推定できる。
【0065】
XV=UΣよりXV’=U’Σ’となる。これに倣い、ベクトルhに対しhV’としたものは、各成分がV’の対応する行ベクトルとhとの内積であるため、確かにV’の行ベクトルが張るr’次元部分空間へのhの射影となっている。よって、hV’またはそれらの長さを1に正規化して得られるベクトルは、U’Σ’の行ベクトル及びその長さを1に正規化して得られるベクトルとしての概念ベクトルに相当する。また、XV’=U’Σ’よりXV’Σ’−1=U’となるため、hV’Σ’−1及びその長さを1に正規化して得られるベクトルは、U’の行ベクトル及びその長さを1に正規化して得られるベクトルとしての概念ベクトルに相当する。
【0066】
行列積演算部1131は、U’Σ’の各行ベクトルを概念ベクトルとする場合は、hV’を推定概念ベクトルとし、U’Σ ’の各行ベクトルの長さを1に正規化して得られるベクトルを概念ベクトルとする場合はhV’の長さを1に正規化して得られるベクトルを推定概念ベクトルとし、U’の各行ベクトルを概念ベクトルとする場合はhV’Σ’−1を推定概念ベクトルとし、U’の各行ベクトルの長さを1に正規化して得られるベクトルを概念ベクトルとする場合は、hV’Σ’−1の長さを1に正規化して得られるベクトルを推定概念ベクトルとする。
【0067】
概念ベース格納部1132は、未登録語とその推定した概念ベクトルを概念ベース125に追加登録する。
【0068】
なお、射影部113において、概念ベース格納部1132及びその処理は、必ずしもなくともよいし、また、射影行列取得部112の射影行列導出部1122において、概念ベース125の導出は、必ずしもなくともよい。
【0069】
上記に示した処理を行うことにより、概念ベクトルが付与されていない単語の概念ベクトルとして、本発明により推定された単語の意味を的確に表す概念ベクトルを使用することにより、概念ベクトルを用いた言語処理の精度が向上する。
【0070】
上記の実施の形態における各構成要素の機能をプログラムとして構築し、概念ベクトル推定装置として利用されるコンピュータにインストールして実行させる、または、ネットワークを介して流通させることが可能である。
【0071】
また、構築されたプログラムを、ハードディスクや、フレキシブルディスク・CD−ROM等の可搬記憶媒体に格納し、概念ベクトル推定装置として利用されるコンピュータにインストールする、または、配布することが可能である。
【0072】
なお、本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において種々変更・応用が可能である。
【産業上の利用可能性】
【0073】
本発明は、単語の意味を表現する概念ベクトルを生成する技術に適用可能である。
【図面の簡単な説明】
【0074】
【図1】本発明の原理を説明するための図である。
【図2】本発明の原理構成図である。
【図3】本発明の一実施の形態における概念ベクトル推定装置の構成図である。
【図4】本発明の一実施の形態における意味カテゴリの体系を示す図である。
【図5】本発明の一実施の形態における共起行列生成部の構成図である。
【図6】本発明の一実施の形態における共起行列生成部の動作のフローチャートである。
【図7】本発明の一実施の形態における単語・意味情報データベースの内容の一例を示す図である。
【図8】本発明の一実施の形態における形態素解析部に入力されるテキストの一例である。
【図9】本発明の一実施の形態における形態素解析結果の一例である。
【図10】本発明の一実施の形態における不要単語テーブルの一例である。
【図11】本発明の一実施の形態における不要品詞テーブルの一例である。
【図12】本発明の一実施の形態における形態素解析結果の例である。
【図13】本発明の一実施の形態における単語集合と意味情報集合との間の共起行列の例である。
【図14】本発明の一実施の形態における頻度ハッシュ更新処理で得られた頻度ハッシュの例である。
【図15】本発明の一実施の形態における共起行列更新処理で得られた共起行列の例である。
【図16】本発明の一実施の形態における共起行列生成部により得られた共起行列の例である。
【図17】本発明の一実施の形態における射影行列取得部の構成図である。
【図18】本発明の一実施の形態における射影部の構成図である。
【符号の説明】
【0075】
111 共起行列生成手段、共起行列生成部
112 射影行列取得手段、射影行列取得部
113 射影手段、射影部
121 単語・意味情報データベース
122 射影行列記憶手段、射影行列記憶部
123 不要単語テーブル
124 不要品詞テーブル
125 概念ベース
211 形態素解析部
212 必要語判断部
213 単語頻度算出部
214 共起行列初期化部
215 制御部A
216 頻度ハッシュクリア部
217 制御部B
218 制御部C
219 頻度ハッシュ更新部
220 制御部D
221 制御部E
222 共起行列更新部
1121 特異値分解部
1122 射影行列導出部
1131 行列積演算部
1132 概念ベース格納部

【特許請求の範囲】
【請求項1】
単語の意味を表現する概念ベクトルを推定する概念ベクトル推定装置における概念ベクトル推定方法であって、
共起行列生成手段において、
単語と該単語の意味情報の組の集合を格納する単語・意味情報データベースを参照することにより、入力されたテキストAから、該テキストA中のある単語集合における任意の単語と、意味情報集合における任意の意味情報の対に対し、該テキストAにおける1つまたは複数の所定の範囲のそれぞれにおいて、該単語と該意味情報とが共起する事象を、該テキストAの全体にわたって計数した頻度を導出することにより、該単語集合と該意味情報集合との間の共起行列Xを生成する共起行列生成ステップと、
射影行列取得手段において、
前記共起行列生成ステップで生成された前記共起行列Xに対し、
X=UΣV
が成立するような該共起行列Xの特異値分解を構成する行列Uの左から指定した数の列ベクトルをとって得られる行列U’、行列Σの左上から指定した数の行数、列数をもつ正方行列をとって得られる行列Σ’、行列Vの左から指定した数の列ベクトルをとって得られる行列V’を取得し、該行列V’またはV’Σ’−1を射影行列として射影行列記憶手段に記憶する射影行列取得ステップと、
射影手段において、
前記テキストAまたは別のテキストBにおける単語wに対し、該単語wと、前記意味情報集合における任意の意味情報の対をとり、該テキストAまたは該テキストBにおける一つまたは複数の所定の範囲のそれぞれにおいて、該単語wと該意味情報とが共起する事象を、該テキストAまたは該テキストBの全体にわたって計数した頻度を必要に応じて導出し、各座標が意味情報に対応し、該座標の値が該単語wと該意味情報との間で導出された前記頻度または該頻度の変換値であるベクトルhをとり、前記射影行列記憶手段に格納されている前記射影行列V’またはV’Σ’−1を用いて積演算を行った、hV’またはhV’Σ’−1、またはそれらの長さを正規化して得られるベクトルを単語wの概念ベクトルとして推定する射影ステップと、
を行うことを特徴とする概念ベクトル推定方法。
【請求項2】
単語の意味を表現する概念ベクトルを推定する概念ベクトル推定装置であって、
単語と該単語の意味情報の組の集合を格納する単語・意味情報データベースと、
前記単語・意味情報データベースを参照することにより、入力されたテキストAから、該テキストA中のある単語集合における任意の単語と、意味情報集合における任意の意味情報の対に対し、該テキストAにおける1つまたは複数の所定の範囲のそれぞれにおいて、該単語と該意味情報とが共起する事象を、該テキストAの全体にわたって計数した頻度を導出することにより、該単語集合と該意味情報集合との間の共起行列Xを生成する共起行列生成手段と、
前記共起行列生成手段で生成された前記共起行列Xに対し、
X=UΣV
が成立するような該共起行列Xの特異値分解を構成する行列Uの左から指定した数の列ベクトルをとって得られる行列U’、行列Σの左上から指定した数の行数、列数をもつ正方行列をとって得られる行列Σ’、行列Vの左から指定した数の列ベクトルをとって得られる行列V’を取得し、該行列V’またはV’Σ’−1を射影行列として射影行列記憶手段に記憶する射影行列取得手段と、
前記テキストAまたは別のテキストBにおける単語wに対し、該単語wと、前記意味情報集合における任意の意味情報の対をとり、該テキストAまたは該テキストBにおける一つまたは複数の所定の範囲のそれぞれにおいて、該単語wと該意味情報とが共起する事象を、該テキストAまたは該テキストBの全体にわたって計数した頻度を必要に応じて導出し、各座標が意味情報に対応し、該座標の値が該単語wと該意味情報との間で導出された前記頻度または該頻度の変換値であるベクトルhをとり、前記射影行列記憶手段に格納されている前記射影行列V’またはV’Σ’−1を用いて積演算を行った、hV’または、hV’Σ’−1、またはそれらの長さを正規化して得られるベクトルを単語wの概念ベクトルとして推定する射影手段と、
を有することを特徴とする概念ベクトル推定装置。
【請求項3】
コンピュータに、
請求項2記載の概念ベクトル推定装置の各手段を実行させることを特徴とする概念ベクトル推定プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate


【公開番号】特開2007−317132(P2007−317132A)
【公開日】平成19年12月6日(2007.12.6)
【国際特許分類】
【出願番号】特願2006−148895(P2006−148895)
【出願日】平成18年5月29日(2006.5.29)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】