(57)【要約】【課題】A中の単語とB中の単語の意味が遠くても、A中の単語間の関係性とB中の単語間の関係性が近ければ、A、Bの類似性は高いと評価する類似性評価装置を提供する。【解決手段】類似性評価装置は、単語と該単語の概念を表すベクトルとの対の集合が格納される概念ベースを備え、2つのテキストそれぞれの単語集合で要素数が大きくはない方をXとし、もう一方をYとし、X中の要素をY中の要素に写像する、XからYへの単射φを決定し、単射φのもと、X中の任意の要素対と、その要素対に対応するY中の要素対との距離を算出し、全ての要素対に対する該距離の総和を、単射φの距離スコアとして算出し、全ての単射に対応する全ての距離スコアの最小値を、2つのテキストの距離スコアとする。【選択図】図６
2019211808.tif 000002
【特許請求の範囲】
【請求項１】
単語と該単語の概念を表すベクトルとの対の集合が格納される概念ベースと、
テキストを単語分割する単語分割手段と、
2つのテキストそれぞれの単語集合で要素数が大きくはない方を{X1,…,Xm}とし、もう一方を{Y1,…,Yn}とする単語集合特定手段と、
{X1,…,Xm}中の要素XiをYφ_iに写像する、{X1,…,Xm}から{Y1,…,Yn}への単射φを決定する単射決定手段と、
単語Zの前記概念ベース中の対応するベクトルをV(Z)とするとき、{X1,…,Xm}中の任意の要素対Xi,Xj(i<j)に対し、V(Xj)-V(Xi)とV(Yφ_j)-V(Yφ_i)の距離を算出し、全ての要素対Xi,Xj(i<j)に対する該距離の総和を、単射φの距離スコアとして算出する単射距離スコア算出手段と、
単射距離スコア算出手段で算出した全ての単射に対応する全ての距離スコアの最小値を、前記2つのテキストの距離スコアとするテキスト間距離スコア算出手段とを備える、
類似性評価装置。
【請求項２】
単語と該単語の概念を表すベクトルとの対の集合が格納される概念ベースと、
テキストを単語分割する単語分割手段と、
クエリテキストの単語集合と、1つ以上の検索対象テキストのそれぞれの単語集合とで、要素数が大きくはない方を{X1,…,Xm}とし、もう一方を{Y1,…,Yn}とする単語集合特定手段と、
{X1,…,Xm}中の要素XiをYφ_iに写像する、{X1,…,Xm}から{Y1,…,Yn}への単射φを決定する単射決定手段と、
単語Zの前記概念ベース中の対応するベクトルをV(Z)とするとき、{X1,…,Xm}中の任意の要素対Xi,Xj(i<j)に対し、V(Xj)-V(Xi)とV(Yφ_j)-V(Yφ_i)の距離を算出し、全ての要素対Xi,Xj(i<j)に対する該距離の総和を、全ての要素対Xi,Xj(i<j)の数で割った値を単射φの距離スコアとして算出する単射距離スコア算出手段と、
単射距離スコア算出手段で算出した前記検索対象テキストに対する全ての単射に対応する全ての距離スコアの最小値を、前記クエリテキストと前記検索対象テキストとの距離スコアとするテキスト間距離スコア算出手段とを備え、
前記テキスト間距離スコア算出手段は、前記クエリテキストと1つ以上の前記検索対象テキストのそれぞれとの距離スコアを用いて、評価結果を生成する、
類似性評価装置。
【請求項３】
概念ベースには単語と該単語の概念を表すベクトルとの対の集合が格納されるものとし、
単語分割手段が、テキストを単語分割する単語分割ステップと、
単語集合特定手段が、2つのテキストそれぞれの単語集合で要素数が大きくはない方を{X1,…,Xm}とし、もう一方を{Y1,…,Yn}とする単語集合特定ステップと、
単射決定手段が、{X1,…,Xm}中の要素XiをYφ_iに写像する、{X1,…,Xm}から{Y1,…,Yn}への単射φを決定する単射決定ステップと、
単射距離スコア算出手段が、単語Zの前記概念ベース中の対応するベクトルをV(Z)とするとき、{X1,…,Xm}中の任意の要素対Xi,Xj(i<j)に対し、V(Xj)-V(Xi)とV(Yφ_j)-V(Yφ_i)の距離を算出し、全ての要素対Xi,Xj(i<j)に対する該距離の総和を、単射φの距離スコアとして算出する単射距離スコア算出ステップと、
テキスト間距離スコア算出手段が、単射距離スコア算出ステップで算出した全ての単射に対応する全ての距離スコアの最小値を、前記2つのテキストの距離スコアとするテキスト間距離スコア算出ステップとを備える、
類似性評価方法。
【請求項４】
概念ベースには単語と該単語の概念を表すベクトルとの対の集合が格納されるものとし、
単語分割手段が、テキストを単語分割する単語分割ステップと、
単語集合特定手段が、クエリテキストの単語集合と、1つ以上の検索対象テキストのそれぞれの単語集合とで、要素数が大きくはない方を{X1,…,Xm}とし、もう一方を{Y1,…,Yn}とする単語集合特定ステップと、
単射決定手段が、{X1,…,Xm}中の要素XiをYφ_iに写像する、{X1,…,Xm}から{Y1,…,Yn}への単射φを決定する単射決定ステップと、
単射距離スコア算出手段が、単語Zの前記概念ベース中の対応するベクトルをV(Z)とするとき、{X1,…,Xm}中の任意の要素対Xi,Xj(i<j)に対し、V(Xj)-V(Xi)とV(Yφ_j)-V(Yφ_i)の距離を算出し、全ての要素対Xi,Xj(i<j)に対する該距離の総和を、全ての要素対Xi,Xj(i<j)の数で割った値を単射φの距離スコアとして算出する単射距離スコア算出ステップと、
テキスト間距離スコア算出手段が、単射距離スコア算出ステップで算出した前記検索対象テキストに対する全ての単射に対応する全ての距離スコアの最小値を、前記クエリテキストと前記検索対象テキストとの距離スコアとするテキスト間距離スコア算出ステップと、
前記テキスト間距離スコア算出手段が、前記クエリテキストと1つ以上の前記検索対象テキストのそれぞれとの距離スコアを用いて、評価結果を生成する評価結果生成ステップとを備える、
類似性評価方法。
【請求項５】
請求項１または請求項２の類似性評価装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、2つのテキストA、Bの類似性を評価する類似性評価装置、その方法、及びプログラムに関する。
【背景技術】
【０００２】
単語と該単語の概念を表すベクトルとの対の集合である概念ベースとして、非特許文献１や非特許文献２で述べられている手法がある。
【０００３】
これらの手法はいずれもコーパスを入力として単語のベクトルを生成するものであり、意味的に近い単語のベクトルは近くなるような配置となる。生成アルゴリズムは、各単語の概念は、コーパスにおける該単語の周辺単語の出現パターン（周辺分布）によって推定できるという分布仮説をベースにしている。
【０００４】
これらの手法により生成した概念ベースを用いて、テキスト間の類似性を表す距離を算出することができる。任意のテキストに対し、該テキスト中の単語のベクトルを合成する（例えば単語ベクトルの重心をとる）ことにより、該テキストのベクトルを生成する。テキスト間の距離を、対応するテキストベクトル間の距離として算出する。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】別所克人, 内山俊郎, 内山匡, 片岡良治, 奥雅博,“単語・意味属性間共起に基づくコーパス概念ベースの生成方式”,情報処理学会論文誌, Vol.49, No.12, pp.3997-4006, Dec. 2008.
【非特許文献２】Tomas Mikolov, Kai Chen, Greg Corrado, Jeffrey Dean,“Efficient estimation of word representations in vector space”,ICLR, 2013.
【発明の概要】
【発明が解決しようとする課題】
【０００６】
2つのテキストA、Bについて、A中の単語とB中の単語の意味が遠いが、A中の単語間の関係性とB中の単語間の関係性が近いため、類似性が高くなるケースがある。すなわち、内容そのものは遠いものの、それぞれのテキスト中の事象間の関係性が類似するため、類似性が高くなるテキストの対が存在する。
【０００７】
例えば図１のテキストA「会社で携帯を失くした。」と、図２の「問題」列の1行目のテキストB「駅で定期を落とした。」について、A中の単語の集合は図3の｛会社,携帯,失くす｝となり、B中の単語の集合は図4の｛駅,定期,落とす｝となる。A中の単語とB中の単語の組（例：（会社,駅）,（携帯,定期）,（失くす,落とす））は意味が遠い。しかし、A中の単語間の関係性とB中の単語間の関係性の組（例：（（会社⇔携帯）,（駅⇔定期））,（（会社⇔失くす）,（駅⇔落とす））,（（携帯⇔失くす）,（定期⇔落とす）））は近い。図２のように、「問題」と「解決策」の組のリストが載っているデータベースに対し、ユーザが直面している問題である「会社で携帯を失くした。」を入力したとき、内容そのものは遠いものの、事象間の関係性が類似する「問題」のテキスト「駅で定期を落とした。」がヒットすれば、対応する「解決策」のテキスト「駅の事務室に問い合わせる。」を取得できる。ユーザは問題である「駅で定期を落とした。」と、それに対する解決策「駅の事務室に問い合わせる。」を参考情報として、自身が直面している問題である「会社で携帯を失くした。」に対しては、「会社の管理室に問い合わせる。」という解決策が考えられると類推することができる。このように、A中の単語とB中の単語の意味が遠くても、A中の単語間の関係性とB中の単語間の関係性が近ければ、AとBの類似性を高く判断することが有用となる。
【０００８】
しかしながら現状はテキストA、Bの類似性を評価するにあたり、A中の単語のベクトルとB中の単語のベクトルとの近さを基準に評価しているため、A中の単語とB中の単語の意味が遠いが、A中の単語間の関係性とB中の単語間の関係性が近い場合、AとBの類似性が高いと評価することができない。
【０００９】
本発明は、上記課題を解決するためのものであり、A中の単語とB中の単語の意味が遠くても、A中の単語間の関係性とB中の単語間の関係性が近ければ、A、Bの類似性は高いと評価する類似性評価装置、その方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記の課題を解決するために、本発明の一態様によれば、類似性評価装置は、単語と該単語の概念を表すベクトルとの対の集合が格納される概念ベースと、テキストを単語分割する単語分割手段と、2つのテキストそれぞれの単語集合で要素数が大きくはない方を{X1,…,Xm}とし、もう一方を{Y1,…,Yn}とする単語集合特定手段と、{X1,…,Xm}中の要素XiをYφ_iに写像する、{X1,…,Xm}から{Y1,…,Yn}への単射φを決定する単射決定手段と、単語Zの概念ベース中の対応するベクトルをV(Z)とするとき、{X1,…,Xm}中の任意の要素対Xi,Xj(i<j)に対し、V(Xj)-V(Xi)とV(Yφ_j)-V(Yφ_i)の距離を算出し、全ての要素対Xi,Xj(i<j)に対する該距離の総和を、単射φの距離スコアとして算出する単射距離スコア算出手段と、単射距離スコア算出手段で算出した全ての単射に対応する全ての距離スコアの最小値を、2つのテキストの距離スコアとするテキスト間距離スコア算出手段とを備える。
【００１１】
上記の課題を解決するために、本発明の他の態様によれば、類似性評価装置は、単語と該単語の概念を表すベクトルとの対の集合が格納される概念ベースと、テキストを単語分割する単語分割手段と、クエリテキストの単語集合と、1つ以上の検索対象テキストのそれぞれの単語集合とで、要素数が大きくはない方を{X1,…,Xm}とし、もう一方を{Y1,…,Yn}とする単語集合特定手段と、{X1,…,Xm}中の要素XiをYφ_iに写像する、{X1,…,Xm}から{Y1,…,Yn}への単射φを決定する単射決定手段と、単語Zの概念ベース中の対応するベクトルをV(Z)とするとき、{X1,…,Xm}中の任意の要素対Xi,Xj(i<j)に対し、V(Xj)-V(Xi)とV(Yφ_j)-V(Yφ_i)の距離を算出し、全ての要素対Xi,Xj(i<j)に対する該距離の総和を、全ての要素対Xi,Xj(i<j)の数で割った値を単射φの距離スコアとして算出する単射距離スコア算出手段と、単射距離スコア算出手段で算出した検索対象テキストに対する全ての単射に対応する全ての距離スコアの最小値を、クエリテキストと検索対象テキストとの距離スコアとするテキスト間距離スコア算出手段とを備え、テキスト間距離スコア算出手段は、クエリテキストと1つ以上の検索対象テキストのそれぞれとの距離スコアを用いて、評価結果を生成する。
【発明の効果】
【００１２】
本発明によれば、テキストA中の単語とテキストB中の単語の意味が遠くても、テキストA中の単語間の関係性とテキストB中の単語間の関係性が近ければ、テキストA、Bの類似性は高いと評価することができるという効果を奏する。
【図面の簡単な説明】
【００１３】
【図１】類似性を評価する対象テキストの例を示す図。
【図２】類似性を評価する対象テキストの例を示す図。
【図３】単語集合の例を示す図。
【図４】単語集合の例を示す図。
【図５】２つのテキスト中の単語の意味が遠くても、単語間の関係性が近い場合の例を示す図。
【図６】第一実施形態に係る類似性評価装置の機能ブロック図。
【図７】概念ベースの例を示す図。
【図８】第一実施形態に係る類似性評価装置の処理フローの例を示す図。
【図９】単射の例を示す図。
【図１０】第二実施形態に係る類似性評価装置の事前処理の処理フローの例を示す図。
【図１１】第二実施形態に係る類似性評価装置の検索処理の処理フローの例を示す図。
【発明を実施するための形態】
【００１４】
以下、本発明の実施形態について、説明する。なお、以下の説明に用いる図面では、同じ機能を持つ構成手段や同じ処理を行うステップには同一の符号を記し、重複説明を省略する。以下の説明において、ベクトルや行列の各要素単位で行われる処理は、特に断りが無い限り、そのベクトルやその行列の全ての要素に対して適用されるものとする。
【００１５】
＜第一実施形態のポイント＞
特定の概念ベースには、同一の関係性にある単語対の各単語のベクトルの差ベクトルは、ほぼ同一であるという性質がある。すなわち、単語ZのベクトルをV(Z)としたとき、同一の関係性にある単語対（a、b）と単語対（c、d）に対し、
【００１６】
【数１】
2019211808.tif 000003
【００１７】
が成り立つ。これは単語対（a、b）の関係性をV(b)-V(a)と捉えることができることを意味している。
【００１８】
本発明の処理において、一方のテキストの単語集合{X1,…,Xm}の要素と、もう一方のテキストの単語集合{Y1,…,Yn}の要素との対応付けφは一般に複数ある。
【００１９】
あるφのもとで、単語集合{X1,…,Xm}の要素Xiに対応する単語集合{Y1,…,Yn}の要素をYφ_i(ただし、下付き添え字A_Bは、ABを意味する)とすると、V(Xi)とV(Yφ_i)が遠くても、任意の要素対Xi,Xj(i<j)の関係性と、対応する要素対Yφ_i,Yφ_jの関係性とが近い場合、上記の概念ベースの性質により
【００２０】
【数２】
2019211808.tif 000004
【００２１】
が成り立ち、V(Xj)-V(Xi)とV(Yφ_j)-V(Yφ_i)の距離は小さくなり、該距離の総和としてのφの距離スコアは小さくなる。したがってφの距離スコアの最小値としてのテキスト間距離スコアも小さくなる。
【００２２】
あるφのもとで、ある要素対Xi,Xj(i<j)の関係性と、対応する要素対Yφ_i,Yφ_jの関係性とが遠い場合、一般に
【００２３】
【数３】
2019211808.tif 000005
【００２４】
が成り立たず、V(Xj)-V(Xi)とV(Yφ_j)-V(Yφ_i)の距離は大きくなり、該距離の総和としてのφの距離スコアは大きくなる。
【００２５】
したがってφの距離スコアの最小値としてのテキスト間距離スコアが小さければ、最小値の距離スコアをとるφのもとで、任意の要素対Xi,Xj(i<j)の関係性と、対応する要素対Yφ_i,Yφ_jの関係性とが近いことがいえ、テキスト間の類似性が高いと評価することができる。
【００２６】
あるφのもとで、任意の要素対Xi,Xj(i<j)に対し、
【００２７】
【数４】
2019211808.tif 000006
【００２８】
が成り立つ場合は、単語ベクトルのリストV(X1),…,V(Xm)を平行移動することにより、単語ベクトルのリストV(Yφ_1),…,V(Yφ_m)にほぼ重ね合わせることができる。
【００２９】
発明が解決しようとする課題で挙げたテキストA、Bの例に対しては、図５のように、A中の単語のベクトルとB中の単語のベクトルは遠い。単射φを、
φ：会社→駅,携帯→定期,失くす→落とす
としたとき、V(携帯)-V(会社)とV(定期)-V(駅)の距離、V(失くす)-V(会社)とV(落とす)-V(駅)の距離、V(失くす)-V(携帯)とV(落とす)-V(定期)の距離が小さく、φの距離スコアが小さくなる。これにより、テキスト間距離スコアが小さくなり、テキストA、Bの類似性が高いと評価することができる。
【００３０】
＜第一実施形態＞
図６は本実施形態に係る類似性評価装置の構成例である。
【００３１】
類似性評価装置は、概念ベース１０６と単語分割手段１０１と単語集合特定手段１０２と単射決定手段１０３と単射距離スコア算出手段１０４とテキスト間距離スコア算出手段１０５とを備える。
【００３２】
類似性評価装置は、2つのテキストを入力とし、2つのテキストの類似性を評価し、評価結果を出力する。
【００３３】
類似性評価装置は、例えば、中央演算処理装置（CPU: Central Processing Unit）、主記憶装置（RAM: Random Access Memory）などを有する公知又は専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。類似性評価装置は、例えば、中央演算処理装置の制御のもとで各処理を実行する。類似性評価装置に入力されたデータや各処理で得られたデータは、例えば、主記憶装置に格納され、主記憶装置に格納されたデータは必要に応じて中央演算処理装置へ読み出されて他の処理に利用される。類似性評価装置の各処理手段は、少なくとも一部が集積回路等のハードウェアによって構成されていてもよい。類似性評価装置が備える各記憶部は、例えば、RAM（Random Access Memory）などの主記憶装置、またはリレーショナルデータベースやキーバリューストアなどのミドルウェアにより構成することができる。ただし、各記憶部は、必ずしも類似性評価装置がその内部に備える必要はなく、ハードディスクや光ディスクもしくはフラッシュメモリ（Flash Memory）のような半導体メモリ素子により構成される補助記憶装置により構成し、類似性評価装置の外部に備える構成としてもよい。
【００３４】
以下、各部について説明する。
【００３５】
＜概念ベース１０６＞
概念ベース１０６には、単語と該単語の概念を表すベクトルとの対の集合が格納される。図７は、概念ベース１０６の例である。概念ベース１０６は、例えば、非特許文献１や非特許文献２の手法によって生成する。
【００３６】
概念ベース１０６中の単語に重複するものはない。
【００３７】
各単語のベクトルはp次元ベクトルであり、意味的に近い単語のベクトルは、近くに配置されている。なお、ここでいう「近い」、「遠い」は、ベクトル間の距離(例えばユークリッド距離やその2乗)を意味する。
【００３８】
概念ベース１０６には名詞、動詞、形容詞等の内容語のみを登録するというようにしてもよいし、さらにそれ以外の品詞の単語も登録するというようにしてもよい。本実施形態では、内容語のみを登録する。概念ベース１０６において単語を終止形で登録し、概念ベース１０６を検索する際は、単語の終止形で検索するというようにしてもよいし、全ての活用形を登録し概念ベース１０６を検索する際はテキスト中に表れた活用形で検索するというようにしてもよい。本実施形態では、終止形で検索する。
【００３９】
図８は、類似性評価装置の処理ルーチンの一例を示す図である。以下、図８の各ステップの処理内容を述べることにより、類似性評価装置の各手段の説明をする。
【００４０】
図８の処理ルーチンは、2つのテキストA、Bを入力として、A、Bの類似性を評価するルーチンである。例として、発明が解決しようとする課題で挙げたテキストA、Bをとる。
【００４１】
＜単語分割手段１０１＞
処理対象テキストG決定ステップＳ１１では、単語分割手段１０１が、入力テキストA、Bを入力とし、入力テキストA、Bの内、未処理のテキストがある場合、未処理のテキストから処理対象とするテキストを決定し、決定したテキストをGとし、Ｓ１２に移る。未処理のテキストがない場合、Ｓ１３に移る。
【００４２】
単語分割ステップＳ１２では、単語分割手段１０１が、テキストGを単語分割し、出力する。具体的には、テキストGを形態素解析し、単語の異なりの集合(テキストGを構成する異なる単語からなる集合であり、テキストGの中で同一の単語が何度用いられていてもこれを1つの要素とする集合)を取得する。ここで単語として、名詞、動詞、形容詞等の内容語のみとしてもよいし、さらにそれ以外の品詞の単語を加えてもよい。本実施形態では、内容語のみとする。また、本実施形態では、活用形を単語の終止形に変換した上で、単語集合の要素とする。処理の終了後、Ｓ１１に移る。
【００４３】
テキストGが「会社で携帯を失くした。」の場合、単語分割ステップＳ１２の処理結果は、｛会社,携帯,失くす｝となる。テキストGが「駅で定期を落とした。」の場合、単語分割ステップＳ１２の処理結果は、｛駅,定期,落とす｝となる。
【００４４】
＜単語集合特定手段１０２＞
単語集合特定ステップＳ１３では、単語集合特定手段１０２が、Ｓ１２で取得した、2つのテキストそれぞれの単語集合を入力とし、2つのテキストそれぞれの単語集合で要素数が大きくはない方を{X1,…,Xm}とし、もう一方を{Y1,…,Yn}として出力する。処理の終了後、Ｓ１４に移る。
【００４５】
Ｓ１２で取得した単語集合｛会社,携帯,失くす｝と｛駅,定期,落とす｝はどちらも要素数が3で同じなので、どちらの単語集合を{X1,…,Xm}としてもよい。ここでは、「X1=会社,X2=携帯,X3=失くす」とし、「Y1=駅,Y2=定期,Y3=落とす」とする。
【００４６】
＜単射決定手段１０３＞
単射φ決定ステップＳ１４では、単射決定手段１０３が、単語集合{X1,…,Xm}、{Y1,…,Yn}を入力とし、{X1,…,Xm}中の要素XiをYφ_iに写像する、{X1,…,Xm}から{Y1,…,Yn}への単射の内、未処理の単射がある場合、未処理の単射から処理対象とする単射を決定し、決定した単射をφとして出力し、Ｓ１５に移る。未処理の単射がない場合、Ｓ１６に移る。
【００４７】
{X1,X2,X3}から{Y1,Y2,Y3}への単射は、図９のように6個ある。ここでは、図９の1行目の単射「X1→Y1,X2→Y2,X3→Y3」すなわち「会社→駅,携帯→定期,失くす→落とす」を処理対象の単射φとする。
【００４８】
＜単射距離スコア算出手段１０４＞
単射距離スコア算出ステップＳ１５では、単射距離スコア算出手段１０４が、単射決定手段１０３で処理対象として決定された単射φを入力とし、単語Zの概念ベース１０６中の対応するベクトルをV(Z)とするとき、{X1,…,Xm}に対応するベクトルV(X1),…,V(Xm)と、{Yφ_1,…,Yφ_m}に対応するベクトルV(Yφ_1),…,V(Yφ_m)を概念ベース１０６から取り出す。{X1,…,Xm}中の任意の要素対Xi,Xj(i<j)に対し、V(Xj)-V(Xi)とV(Yφ_j)-V(Yφ_i)の距離を算出し、全ての要素対Xi,Xj(i<j)に対する該距離の総和を、単射φの距離スコアとして算出し、出力する。V(Xj)-V(Xi)とV(Yφ_j)-V(Yφ_i)の距離としては、ユークリッド距離を採用してもよいし、ユークリッド距離の二乗を採用してもよい。処理の終了後、Ｓ１４に移る。
【００４９】
単射φ「X1→Y1,X2→Y2,X3→Y3」に対しては、V(X2)-V(X1)とV(Y2)-V(Y1)の距離、V(X3)-V(X1)とV(Y3)-V(Y1)の距離、V(X3)-V(X2)とV(Y3)-V(Y2)の距離を算出し、該距離の総和を、単射φの距離スコアとして算出する。すなわち単射φ「会社→駅,携帯→定期,失くす→落とす」に対しては、V(携帯)-V(会社)とV(定期)-V(駅)の距離、V(失くす)-V(会社)とV(落とす)-V(駅)の距離、V(失くす)-V(携帯)とV(落とす)-V(定期)の距離を算出し、該距離の総和を、単射φの距離スコアとして算出する。各単語ベクトルが図５の配置のとき、単射φの距離スコアは0に近い値となる。
【００５０】
＜テキスト間距離スコア算出手段１０５＞
テキスト間距離スコア算出ステップＳ１６では、テキスト間距離スコア算出手段１０５が、単射距離スコア算出手段１０４で算出した全ての単射に対応する全ての距離スコア（図９の場合、6個の単射に対応する6個の距離スコア）を入力とし、全ての距離スコアの最小値を、2つのテキストA、Bの距離スコアとして評価し、評価結果を出力する。例えば、(i)距離スコア自体を評価結果として出力してもよいし、(ii)テキストA、Bの距離スコアが、ある閾値以下あるいは未満の場合、テキストA、Bは類似性があるという評価結果を出力し、それ以外の場合には、類似性がないという評価結果を出力してもよい。処理の終了後、図８の処理ルーチンを終了する。
【００５１】
例のテキストA、Bの距離スコアは0に近い値となり、テキストA、Bは類似性があると評価する。
【００５２】
＜効果＞
以上の構成により、テキストA中の単語とテキストB中の単語の意味が遠くても、テキストA中の単語間の関係性とテキストB中の単語間の関係性が近ければ、テキストA、Bの類似性は高いと評価することができる。
【００５３】
＜第二実施形態＞
第一実施形態と異なる部分を中心に説明する。
【００５４】
図１０は類似性評価装置の事前処理ルーチンの一例を示す図であり、図１１は類似性評価装置の検索処理ルーチンの一例を示す図である。図１０、１１は、図２のように、「問題」と「解決策」の組のリストが載っているデータベースが与えられたとき、「問題」列の各行のテキストを検索対象として、図１のような「問題」相当のテキストがクエリとして入力されたとき、該クエリテキストと類似性の高い検索対象テキストを求める処理のルーチンである。類似性の高い検索対象テキストが求まると、該検索対象テキスト及び対応する「解決策」のテキストが返される。図１０は、検索対象テキストのリストを入力として行う、検索の事前処理のルーチンであり、図１１は、クエリテキストを入力として行う検索処理のルーチンである。
【００５５】
＜事前処理＞
図１０の処理ルーチンを説明する。
【００５６】
＜単語分割手段１０１＞
処理対象テキストH決定ステップＳ２１では、単語分割手段１０１が、検索対象テキストのリスト（例えば、図２の「問題」のリスト）を入力とし、検索対象テキストの内、未処理の検索対象テキストがある場合、未処理の検索対象テキストから処理対象とする検索対象テキストを決定し、決定した検索対象テキストをHとし、Ｓ２２に移る。未処理の検索対象テキストがない場合、図１０の処理ルーチンを終了する。
【００５７】
単語分割ステップＳ２２では、単語分割手段１０１が、Ｓ２１で決定した検索対象テキストHを単語分割し、検索対象テキストHと対応付けて前述のリストに加える。なお、リストは図示しない記憶部に格納される。処理内容は、図８の単語分割ステップＳ１２における単語分割手段１０１の処理内容と同じである。処理の終了後、Ｓ２１に移る。
【００５８】
＜検索処理＞
図１１の処理ルーチンを説明する。
【００５９】
＜単語分割手段１０１＞
単語分割ステップＳ３１では、単語分割手段１０１が、クエリテキストを入力とし、クエリテキストを単語分割し、出力する。処理内容は、図８の単語分割ステップＳ１２における単語分割手段１０１の処理内容と同じである。処理の終了後、Ｓ３２に移る。
【００６０】
＜単語集合特定手段１０２＞
処理対象テキストH決定ステップＳ３２では、単語集合特定手段１０２は、クエリテキストの単語集合を入力とし、図示しない記憶部に格納された検索対象テキストのリストを参照し、検索対象テキストの内、未処理の検索対象テキストがある場合、未処理の検索対象テキストから処理対象とする検索対象テキストを決定し、決定した検索対象テキストをHとし、Ｓ３３に移る。未処理の検索対象テキストがない場合、Ｓ３７に移る。
【００６１】
単語集合特定ステップＳ３３では、単語集合特定手段１０２が、Ｓ２２で取得した検索対象テキストHの単語集合を図示しない記憶部から取り出し、検索対象テキストHの単語集合と、Ｓ３１で取得したクエリテキストの単語集合の内、要素数が大きくはない方を{X1,…,Xm}とし、もう一方を{Y1,…,Yn}として出力する。処理の終了後、Ｓ３４に移る。
【００６２】
＜単射決定手段１０３＞
単射φ決定ステップＳ３４では、単射決定手段１０３が、単語集合{X1,…,Xm}、{Y1,…,Yn}を入力とし、{X1,…,Xm}中の要素XiをYφ_iに写像する、{X1,…,Xm}から{Y1,…,Yn}への単射の内、未処理の単射がある場合、未処理の単射から処理対象とする単射を決定し、決定した単射をφとして出力し、Ｓ３５に移る。未処理の単射がない場合、Ｓ３６に移る。
【００６３】
＜単射距離スコア算出手段１０４＞
単射距離スコア算出ステップＳ３５では、単射距離スコア算出手段１０４が、単射決定手段１０３で処理対象として決定された単射φを入力とし、図８の単射距離スコア算出ステップＳ１５における単射距離スコア算出手段１０４の処理と同じ処理を行う。あるいは、{X1,…,Xm}中の全ての要素対Xi,Xj(i<j)に対するV(Xj)-V(Xi)とV(Yφ_j)-V(Yφ_i)の距離の総和を、{X1,…,Xm}中の全ての要素対Xi,Xj(i<j)の数で割った値を、単射φの距離スコアとして算出し、出力するというようにしてもよい。これは距離の総和だと、単語集合{X1,…,Xm}の要素数が少ないほど、対応する検索対象テキストのテキスト間距離スコアが小さくなる傾向があるのを是正するための措置である。よって、要素数が大きくはない方の単語集合{X1,…,Xm}の要素数が検索対象テキスト毎に変わらない場合には、第一実施形態の算出方法を採用し、変わる場合には上述の是正措置を採用するとよい。処理の終了後、Ｓ３４に移る。
【００６４】
＜テキスト間距離スコア算出手段１０５＞
テキスト間距離スコア算出ステップＳ３６では、テキスト間距離スコア算出手段１０５が、単射距離スコア算出手段１０４で算出した、検索対象テキストHに対する全ての単射に対応する全ての距離スコアを入力とし、全ての距離スコアの最小値を、クエリテキストと検索対象テキストHとの間の距離スコアとして評価する。処理の終了後、Ｓ３２に移る。
【００６５】
前述の通り、Ｓ３２において未処理の検索対象テキストがない場合、Ｓ３７に移る。評価結果生成ステップＳ３７では、テキスト間距離スコア算出手段１０５は、クエリテキストと各検索対象テキストとの間の距離スコアをもとに、評価結果を生成し、出力する。評価結果としては、以下のようなものが考えられる。
(1)クエリテキストと全ての検索対象テキストとの間の全ての距離スコアの中で最小の距離スコアをとる検索対象テキストと該距離スコア
(2)ある閾値以下あるいは未満の距離スコアをとる検索対象テキストと該距離スコアの組のリスト
(3)検索対象テキストを、クエリテキストとの距離スコアの昇順にランキングし、該ランキングの順に、並べた検索対象テキストと対応する距離スコアの組のリスト。ここで、評価結果をリスト中の上位何番目かまでの組のリスト、あるいは、距離スコアがある閾値以下あるいは未満の組のリストに限定してもよい。
【００６６】
図２のデータベースを対象として、図１のクエリテキストを入力とした場合、最小のテキスト間距離スコアをとる検索対象テキストとして「駅で定期を落とした。」を出力する。
【００６７】
本実施形態では、上述の通り、評価結果とともに対応する「解決策」のテキストを出力する。
【００６８】
＜効果＞
このような構成とすることで、第一実施形態と同様の効果を得ることができる。
【００６９】
＜変形例＞
なお任意のテキストA、Bの類似性を評価するにあたり、第一実施形態、第二実施形態で説明したテキスト間距離スコアの他に、背景技術で述べたようなテキスト間距離を始めとする、A中の単語のベクトルとB中の単語のベクトルとの距離をベースとするテキスト間距離を算出し、算出した2つの距離を重み付き線形結合した値を最終的なテキスト間距離とし、当該テキスト間距離をもとに類似性を評価するというようにしてもよい。
【００７０】
＜その他の変形例＞
本発明は上記の実施形態及び変形例に限定されるものではない。例えば、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。
【００７１】
＜プログラム及び記録媒体＞
また、上記の実施形態及び変形例で説明した各装置における各種の処理機能をコンピュータによって実現してもよい。その場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
【００７２】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【００７３】
また、このプログラムの流通は、例えば、そのプログラムを記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させてもよい。
【００７４】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶部に格納する。そして、処理の実行時、このコンピュータは、自己の記憶部に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実施形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよい。さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるＡＳＰ（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。なお、プログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
【００７５】
また、コンピュータ上で所定のプログラムを実行させることにより、各装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【産業上の利用可能性】
【００７６】
本発明は、2つのテキストA、Bについて、A中の単語とB中の単語の意味が遠くても、A中の単語間の関係性とB中の単語間の関係性が近ければ、A、Bの類似性は高いと評価する類似性評価技術に適用可能である。
【図１】
2019211808.tif 000007
【図２】
2019211808.tif 000008
【図３】
2019211808.tif 000009
【図４】
2019211808.tif 000010
【図５】
2019211808.tif 000011
【図６】
2019211808.tif 000012
【図７】
2019211808.tif 000013
【図８】
2019211808.tif 000014
【図９】
2019211808.tif 000015
【図１０】
2019211808.tif 000016
【図１１】
2019211808.tif 000017