(57)【要約】【課題】文書データから、高速かつ高精度に単語間の類似度を計算することが可能な技術を提供する。【解決手段】文書データから単語間類似度を計算する単語間類似度計算プログラムにおいて、該文書データから類似度計算の対象となる注目単語と共起関係にある表意文字の頻度を要素とする共起ベクトルを作成し、記憶手段に記憶し、該共起ベクトルの類似性に基づき注目単語間の類似度を計算する。【効果】表意文字の頻度を要素とする共起ベクトルを用いることにより単語間の類似度を高速に計算できる。【選択図】  図１
2004326479.tif 000002
【特許請求の範囲】
【請求項１】
記憶手段から文書データを読み出すステップと、
上記文書データを単語に分割するステップと、
注目単語と共起関係にある単語を上記単語データから抽出するステップと、
上記抽出された単語を表意文字に分解し、上記注目単語と表意文字との共起関係を抽出するステップと、上記抽出された共起関係の分布の類似性により単語間の類似度を計算するステップと、
上記計算された類似度を用いて、注目単語と類似度の高い単語を出力するステップとを有する単語間類似度計算方法をコンピュータに実現させるプログラム。
【請求項２】
記憶手段から文書データを読み出すステップと、
上記文書データを単語に分割するステップと、
注目単語と共起関係にある表意文字を上記単語データから抽出するステップと、上記抽出された共起関係の分布の類似性により単語間の類似度を計算するステップと、
上記計算された類似度を用いて、注目単語と類似度の高い単語を出力するステップとを有する単語間類似度計算方法をコンピュータに実現させるプログラム。
【請求項３】
表意文字を表示手段に表示させて、該表意文字各々の重みの値の入力または修正を受けるステップを有し、前記類似度計算ステップは、該表意文字各々の重みを用いることを特徴とする請求項１又は２に記載のプログラム。
【請求項４】
表意文字を表示手段に表示させて、該表意文字間の関連度の入力または修正を受けるステップを有し、前記類似度計算ステップは、該表意文字間の関連度を用いることを特徴とする請求項１乃至３の何れかに記載のプログラム。
【請求項５】
複数の単語各々の複数の表意文字との共起関係分布の情報を記憶する記憶手段と、入力手段を有し、上記入力手段を介して上記複数の単語の何れかの入力を受け、該単語の共起関係分布に類似する共起関係分布を上記記憶手段から検索して、該検索された共起関係分布を有する単語を表示させることを特徴とする文書処理装置。
【請求項６】
各々の語義に応じた表意文字の頻度からなる共起関係分布の情報を記憶する記憶手段と、入力手段を有し、語義を複数有する多義語の語義判別は、上記入力手段を介して入力された単語が出現する文脈に含まれる表意文字の頻度と、上記共起関係分布の類似性により計算することを特徴とする請求項５記載の文書処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、２つの単語間の類似度を計算する単語間類似度計算プログラム及び装置に関する。
【０００２】
【従来の技術】
従来、単語間の類似度を計算する手法として、単語の特徴を、その単語と共起する単語の頻度を要素とする共起ベクトルで定義し、類似度を計算しようとする２つの単語の類似度を、共起ベクトルの類似性に基づき計算する技術がある（例えば、特許文献１参照）。
【特許文献１】特開２０００−１３７７１８号公報
【発明が解決しようとする課題】
上記従来のプログラムは、単語の頻度を要素とする共起ベクトルの類似性に基づき単語間の類似度を計算するため、共起ベクトルを構成する単語の語彙数が多いと、共起ベクトルを構成する単語の語彙数である共起ベクトルの次元数が大きくなり、上記共起ベクトルを用いての類似度計算にかかる時間が長く、リアルタイムでの処理が困難であった。又、共起ベクトルのサイズが大きく、メモリやハードディスク等の記憶装置に格納することが困難であった。また、低頻度語においては、共起対象となる単語が少ないために、低頻度語と、その他の単語間で共通した共起対象の数が少ない、または共通した共起対象を有さないために、類似度計算が困難であるという問題があった。
【０００３】
本発明の目的は、単語間の類似度計算速度を高速化し、注目単語と、それ以外の複数の単語との類似度計算をリアルタイムで行うことを可能にすることと、共起ベクトルのサイズを小さくし、メモリやハードディスク等の記憶装置に、上記共起ベクトルを格納することにある。
本発明の他の目的は、低頻度語に対する類似度計算精度を向上することにある。
【０００４】
【課題を解決するための手段】
上記目的を達成するために、本願で開示する発明の概要を説明すれば以下の通りである。本発明の単語間類似度計算プログラムは、記憶装置から文書データを読み出し、該文書データを形態素解析処理を用いて単語に分割し、類似度を計算する各々の注目単語について、その注目単語と共起関係にある単語を抽出し、該共起関係にある単語から表意文字を抽出し、各々の注目単語について、その注目単語と共起関係にある表意文字の頻度を要素とする共起ベクトルを作成し、メモリやハードディスク等の記憶装置に格納する。
次に、類似する単語を抽出しようとする注目単語と、その他の単語との類似度を、該共起ベクトルの類似性に基づき計算し、該注目単語と類似度の高い単語を抽出する。
【０００５】
【発明の実施の形態】
以下、本発明の実施例を図を用いて説明する。
図１は、本発明の第１の実施形態である単語間の類似度を計算するための手順を示すフローチャートである。まず、メモリやハードディスク等の記憶装置から文書データを読み出し（Ｓ１１）、形態素解析処理を用いて文書データを単語に分割し（Ｓ１２）、単語の品詞情報を用いて、類似度を計算する各々の注目単語に対して共起関係にある単語を抽出する（Ｓ１３）。ここで、注目単語と共起関係にある単語は、注目単語と係り受けの関係にある単語、注目単語を含む文書中で出現する単語、注目単語の前後で指定した文字数の範囲にある単語等であって、この他にも注目単語と共起関係、つまり注目単語が出現する文脈に含まれる単語であれば構わない。例えば、類似度を計算する注目単語を名詞とし、注目単語と係り受けの関係にある動詞を共起関係にある単語とすると、「パソコンを起動する」という文からは、注目単語「パソコン」という注目単語と、注目単語と係り受けの関係にある単語「起動する」が得られる。
【０００６】
次に、注目単語と共起関係にある単語から表意文字を抽出し（Ｓ１４）、注目単語と共起関係にある表意文字の頻度の集計によって、各々の注目単語と共起関係にある表意文字の頻度を要素とする共起ベクトルを作成し（Ｓ１５）、メモリやハードディスク等の記憶装置に格納する。ここで、表意文字は漢字とするが、限られた注目単語と共起し、その注目単語を特徴づける文字であれば、仮名、英数字等の文字を用いても構わない。また、共起ベクトルの要素は、表意文字の出現分布を示すものであれば、頻度でなくとも構わない。例えば、「パソコン−起動する」という注目単語と単語の共起関係からは、「パソコン−起」「パソコン−動」という注目単語と表意文字の共起関係が得られる。図２に示す、複数の文書データから、注目単語と共起関係にある表意文字を抽出し、その頻度を集計した結果の例からは、注目単語「パソコン」に対して、
［１７０（入），１６０（用），１００（購），８０（利），８０（使），２０（動），１５（起），…］
、という共起ベクトルが得られる。
【０００７】
次に、類似する単語を抽出しようとする１つの注目単語と、それ以外の複数の注目単語との類似度を、上記共起ベクトルの類似性に基づき計算する（Ｓ１６）。ここでは注目単語として「パソコン、ＰＣ、ＨＤＤ、メモリ、プリンタ」があった場合に、「パソコン」が１つの注目単語で、それ以外の複数の注目単語が「ＰＣ、ＨＤＤ、メモリ、プリンタ」となり、共起ベクトルが似た単語である「ＰＣ」を抽出することになる。そして、注目単語と類似度の高い単語を、指定した個数、あるいは類似度が指定した閾値以上であるといった基準で抽出する（Ｓ１７）。ここで、類似度の計算式は、類似度を計算しようとする２つの単語各々に対する共起ベクトルのなす角を示すコサイン距離のように、共起ベクトルの類似性が求まるものであれば、方式を問わない。例えば、「パソコン」の共起ベクトル［１７０（入），１６０（用），１００（購），８０（利），８０（使）］と、「ＰＣ」の共起ベクトル［１４０（入），１２０（用），８０（購），７０（利），５０（使）］からコサイン距離を用いて類似度を計算すると、
【０００８】
【数１】
2004326479.tif 000003
【０００９】
という類似度が得られる。ここで、括弧内の値は、注目単語と共起する表意文字と、表意文字各々の注目単語と共起する頻度を示す。
【００１０】
したがって、図３に構成を示すテキストマイニング装置や文書検索装置等の文書処理装置において、キーボードやマウス等の入力装置（３０４）によって指定された注目単語と類似度の高い単語を、記憶されている文書データ（３０６）から抽出できるので、図４に示すように、同義語、類義語、関連語といった注目単語と類似する単語をディスプレイ等の表示装置（３０３）に表示させるために用いる。尚、本願の構成は、ハードディスク等の記憶装置に記憶されたプログラム（３０７、３０８）をメモリ（３０２）に読み込んでＣＰＵが制御することで実現される。
【００１１】
本実施形態によれば、表意文字である漢字はＪＩＳ第一水準漢字すべての文字を用いたとしても最大２９６５文字と限られているため、ＪＩＳ第一水準漢字の頻度を要素とする共起ベクトルを用いることによって、母集団が未知であり語彙数の多い単語の頻度を共起ベクトルの要素に用いた場合と比較し、共起ベクトルの次元数が大きく削減できるので、類似度計算速度の高速化に効果がある。共起ベクトルを作成するために用いる文書データのサイズに依存するが、単語を用いた場合には数千〜数十万次元である共起ベクトルが、表意文字を用いることにより数百〜２９６５次元（ＪＩＳ第一水準漢字を用いる場合）に削減できるので、コサイン距離を用いた場合の処理速度は、数倍〜数十倍に高速化できる効果と、共起ベクトルのサイズを数分の一から数十分の一に削減できるという効果がある。
【００１２】
また、漢字を用いることによって、文字コードと共起ベクトルを構成する各次元の要素とを対応させることができるので、単語を用いる場合に必要な単語と、共起ベクトルを構成する各次元の要素との対応情報が不要となり、メモリ使用量の削減および処理速度の高速化ができるという効果がある。また、「利用」と「使用」のように意味が類似していても単語では異なるものとして扱われているものが、表意文字を用いると「用」が共通するといったように、共起対象を単語とした場合に異なっていた共起ベクトルの要素が、共起対象を表意文字にすることによって一部が共通するという特徴があるため、共起対象である表意文字が少ない低頻度語についても類似度の計算ができるという効果がある。
【００１３】
次に、本発明の第２の実施形態を説明する。第２の実施形態は、図５に示すフローチャートのように、第１の実施形態における注目単語と共起関係にある単語を抽出するステップを省略するもので、注目単語の前後の指定した文字数内にある文字、あるいは文書内で共起する文字等の、注目単語と共起する表意文字を直接抽出する。例えば、「パソコン」という単語に注目した場合、「パソコン」と共起関係にある単語を抽出することなく、「パソコン」と共起関係にある表意文字「入、用、購、利、使」の頻度が得られる。本実施形態によれば、注目単語と共起する単語を抽出するステップが省略できるため、共起ベクトルの作成に要する時間が短縮できるという効果がある。
【００１４】
次に、本発明の第３の実施形態を説明する。第３の実施形態は、第１または第２の何れかの実施形態における類似度を計算するステップにおいて、単語間の類似度計算に貢献する表意文字と貢献しない表意文字を考慮し、類似度計算に貢献する表意文字には大きな重みを定義し、類似度計算に貢献しない表意文字には小さな重みを定義し、共起ベクトルの各要素に重みを積算した共起ベクトルを用いて、第１の実施形態で示す方式のように類似度を計算する。ここでは、表意文字の重みを共起ベクトルの要素に積算する方式を用いるが、重みの大きい表意文字が類似度計算へ反映できる方式であれば、どのような方式であっても構わない。ここで、表意文字の重みは、ディスプレイ等の表示装置に、重みを定義または修正しようとする表意文字を表示し、該表意文字の重みの入力を受けることで設定する。例えば、図６に示すような表意文字の重みエディタを用いて表意文字の重みを定義することができる。重みが未定義の表意文字には、予め設定されている値をする重みを用いれば良い。
【００１５】
例として、表意文字の重みを「８（入），３（用），１０（購），５（利），６（使）」と定義し、「パソコン」「ＰＣ」の共起ベクトルを、
パソコン  ⇒  ［１７０（入），１６０（用），１００（購），８０（利），８０（使）］
ＰＣ  ⇒  ［１４０（入），１２０（用），８０（購），７０（利），５０（使）］
とすると、類似度計算に用いる共起ベクトルは、
パソコン  ⇒  ［１７０×８（入），１６０×３（用），１００×１０（購），８０×５（利），８０×６（使）］
ＰＣ  ⇒  ［１４０×８（入），１２０×３（用），８０×１０（購），７０×５（利），５０×６（使）］
となる。
【００１６】
本実施形態によれば、類似度計算の精度を低下させてしまう表意文字の重みを小さく定義することにより精度低下を防止することができ、類似度計算に貢献する表意文字の重みを大きく定義することによって、該表意文字の類似度計算への貢献度を高めることができるので、類似度計算の精度向上ができるという効果がある。
【００１７】
次に、本発明の第４の実施形態を説明する。第４の実施形態は、表意文字間の関連度を図７のように定義し、第１乃至第３の実施形態における類似度を計算するステップにおいて、類似度を計算しようとする２つの単語間で共通しない共起対象の表意文字も類似度計算に利用する方法である。例えば、図７に示す表意文字「使」と「用」の関連度は８と定義されており、「使」と「用」は関連が強い単語であるために、「使」と「用」の頻度の類似性を考慮して類似度を計算できる。
【００１８】
ここで、表意文字間の関連度は、ディスプレイ等の表示装置に、関連度を定義しようとする２つの表意文字を表示し、該２つの表意文字間の関連度の入力を受けることで設定することができる。例えば、図８に示すような表意文字間の関連度エディタを表示して、入力装置を介してのユーザからの設定を受けることで、表意文字間の関連度を定義、または修正できる。
【００１９】
また、本実施例で用いる類似度の計算式は、異なる表意文字間の関連度を考慮するものであれば、どのような計算式であっても構わない。例えば、単語Ｗ１と単語Ｗ２の類似度計算式は、単語Ｗ１のｉ番目の文字をＣｉ、単語Ｗ２のｊ番目の文字をＣｊ、文字Ｃｉと文字Ｃｊの関連度をＲｅｌ（Ｃｉ，Ｃｊ）、単語Ｗ１の共起ベクトルをＸ＝｛ｘ１，ｘ２，…，ｘＩ｝、単語Ｗ２の共起ベクトルをＹ＝｛ｙ１，ｙ２，…，ｙＪ｝、とすると、
【００２０】
【数２】
2004326479.tif 000004
【００２１】
という計算式となる。
【００２２】
本実施形態によれば、類似度を計算しようとする２つの単語間で共通する共起対象の表意文字が少ない、あるいは共通する共起対象の表意文字がないといった場合にも、類似度が計算できるため、低頻度語等の共起対象が少ない単語と、その他の単語との類似度の計算ができるという効果がある。
次に、本発明の第５の実施形態を説明する。第５の実施形態は、類似度の計算対象となる複数の単語のすべての組に対して第１乃至第４の実施形態に示した方法を用いて類似度を計算し、図９に示すように２つの単語の組と、その単語間の類似度からなるデータをメモリやハードディスク等の記憶装置に格納しておく。更に、類似した単語を抽出しようとする注目単語を指定し、該単語の組とその単語間の類似度からなるデータから該注目単語が含まれる単語の組を検索することによって、該注目単語と類似度の高い単語を指定した個数あるいは指定する閾値以上の類似度を持つ単語といった基準で抽出する。
【００２３】
本実施例によれば、類似する単語を抽出しようとする注目単語が指定された際に、単語間の類似度を計算する必要がないため、高速に注目単語と類似する単語を抽出できるという効果がある。また、文書データの更新や新語の登場等に伴い、単語の組とその類似度からなるデータを更新する必要があるが、表意文字の頻度を要素とする共起ベクトルを用いて類似度を計算することによって、該単語の組と類似度からなるデータを高速に作成できる。
【００２４】
次に、本発明の第６の実施形態を説明する。第６の実施形態は、第１乃至第５の実施形態によって、各々の注目単語と同義関係にある同義語を抽出し、ユーザが指定する注目単語と、その同義語の組を、その同義関係が成り立つ文脈情報と共に、図１０に示すような同義語辞書としてメモリやハードディスクの記憶装置に記憶する。。ここで、文脈情報は、その文脈で出現する表意文字の頻度を要素とする文脈ベクトルで定義し、文脈に依存せず常に同義関係が成り立つ同義語には、文脈情報を格納しなくても構わない。この文脈情報は、多義語の存在によって、複数の語義がある場合に語義を判定するために用いる。例としては、注目単語「米国」とその同義語「米」の組と、注目単語「お米」とその同義語「米」が挙げられ、米を同義語辞書を用いて「米国」または「お米」に置換しようとする場合に、同義関係が成立する文脈情報を示す文脈ベクトルを確認すると、
「米国−米」⇒［１００（旅），８０（政），７０（府），６０（発），５５（表），…］
「お米−米」⇒［２００（食），１５０（買），８０（炊），３０（作），２０（育），…］
となっており、注目している文脈中に含まれている表意文字からなる文脈ベクトルは、［２（食），１（炊），１（飯），…］となっているため、この文脈ベクトルと「米国−米」「お米−米」の文脈ベクトルの比較をすることによって、「お米−米」の文脈ベクトルとの距離が近いことが判別でき、ここで置換すべき単語は「お米」であるということが分かる。
本実施例によれば、多義語を含む同義語の組について、最適な同義語を自動で選択できるという効果がある。また、表意文字の頻度を要素とする文脈ベクトルを用いるため、文脈ベクトルの次元数が小さく、メモリやハードディスク等の記憶装置へ文脈ベクトルを記憶できるという効果がある。
【００２５】
【発明の効果】
本発明によれば、表意文字の頻度を要素とする共起ベクトルを単語間の類似度計算に用いることによって、単語の頻度を要素とする共起ベクトルを用いる場合と比較し、共起ベクトルの次元が大きく削減できるので、類似度計算速度の高速化と、共起ベクトルのサイズの削減といった効果がある。また、共起対象である単語で、意味が類似していても異なる表記であるために別のものとして扱われていた単語が、表意文字を用いることによって、共通する文字が発生し、共通する共起対象の数が増加するために類似度計算精度が向上するという効果がある。また、語義判定に用いる文脈ベクトルの要素に、表意文字の頻度を用いることによって、文脈ベクトルのサイズを小さくできるので、メモリやハードディスク等の記憶装置へ文脈ベクトルを記憶できるという効果がある。
【図面の簡単な説明】
【図１】本発明の第１の実施形態である単語間類似度を計算する手順を示すフローチャートである。
【図２】注目単語と共起する表意文字の頻度の例を示す図である。
【図３】文書処理装置の構成を示す図である。
【図４】注目単語に類似する単語を表示する画面を示す図である。
【図５】本発明の第２の実施形態である単語間類似度を計算する手順を示すフローチャートである。
【図６】表意文字の類似度計算への貢献度を示す重みを修正する画面を示す図である。
【図７】表意文字間の関連度の定義例を示す図である。
【図８】表意文字間の関連度を修正する画面を示す図である。
【図９】単語間の類似度の保存形式を示す図である。
【図１０】同義語となる単語の組と、同義関係が成り立つ文脈情報の保存形式を示す図である。
【図１】
2004326479.tif 000005
【図２】
2004326479.tif 000006
【図３】
2004326479.tif 000007
【図４】
2004326479.tif 000008
【図５】
2004326479.tif 000009
【図６】
2004326479.tif 000010
【図７】
2004326479.tif 000011
【図８】
2004326479.tif 000012
【図９】
2004326479.tif 000013
【図１０】
2004326479.tif 000014