(57)【要約】【課題】入力文の表現する意味内容を捉えて計算された類似度に基づいて、入力文同士を適切に比較する。【解決手段】言語解析部１２が、自然言語で記述された複数の入力文の各々の文法的な言語の構文構造を解析し、意味解析部１４が、言語解析部１２による構文解析結果に基づいて、複数の入力文の各々の意味的な構造を解析し、意味表現比較部１６が、意味解析部１４による解析結果である意味表現に基づいて、入力文同士を比較して、入力文間の類似度を計算する。【選択図】図１
2019204153.tif 000002
【特許請求の範囲】
【請求項１】
自然言語で記述された複数の入力文の各々の文法的な言語の構文構造を解析する言語解析部と、
前記言語解析部による解析結果に基づいて、前記複数の入力文の各々の意味的な構造を解析する意味解析部と、
前記意味解析部による解析結果に基づいて、前記入力文同士を比較して、前記入力文間の類似度を計算する意味表現比較部と、
を含む文比較装置。
【請求項２】
前記意味解析部は、文の意味的な構造を論理式により表現する論理形式型意味表現により、前記複数の入力文の各々の意味的な構造を解析する請求項１に記載の文比較装置。
【請求項３】
前記意味解析部は、文に含まれる概念に対応するノード間をノード間の意味的な関係に基づいてエッジで接続した意味グラフにより、前記複数の入力文の各々の意味的な構造を解析する請求項１に記載の文比較装置。
【請求項４】
前記意味表現比較部は、
前記意味解析部の解析結果を、前記入力文中に含まれる概念に対応する変数と概念との関係を示す意味タプル、及び前記変数間の関係を示す意味タプルに変換する意味タプル変換部と、
前記入力文間で、前記意味タプル変換部により変換された前記意味タプルの対応付けを行う意味タプルアライメント部と、
を含む請求項１〜請求項３のいずれか１項に記載の文比較装置。
【請求項５】
前記意味タプル変換部は、前記変数間の関係を示す意味タプルのうち、前記変数間の関係及び前記意味タプルに含まれる変数の一方が共通する意味タプルに基づいて、前記意味タプルに含まれる他方の変数を組み合わせた、拡張意味タプルを追加する請求項４に記載の文比較装置。
【請求項６】
言語解析部と、意味解析部と、意味表現比較部とを含む文比較装置における文比較方法であって、
前記言語解析部が、自然言語で記述された複数の入力文の各々の文法的な言語の構文構造を解析し、
前記意味解析部が、前記言語解析部による解析結果に基づいて、前記複数の入力文の各々の意味的な構造を解析し、
前記意味表現比較部が、前記意味解析部による解析結果に基づいて、前記入力文同士を比較して、前記入力文間の類似度を計算する
文比較方法。
【請求項７】
コンピュータを、請求項１〜請求項５のいずれか１項に記載の文比較装置の各部として機能させるための文比較プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文比較装置、方法、及びプログラムに関する。
【背景技術】
【０００２】
自然言語処理において、例えば、記述式試験問題の回答の採点、論文等の剽窃検出、機械翻訳の評価などを行う際に、複数の異なる文（テキストデータ）の類似性を測定することが行われている。文の類似性を測定する手法として、例えば、入力された文に含まれる単語や単語列の類似性に基づいて、複数の入力された文間の類似度を計算する手法が存在する（例えば、非特許文献１参照）。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Frane ▲S▼ari▲c▼, Goran Glava▲s▼, Mladen Karan, Jan ▲S▼najder and Bojana Dalbelo Ba▲s▼i▲c▼: TakeLab: Systems for Measuring Semantic Text Similarity, In Proceedings of the First Joint Conference on Lexical and Computational Semantics, SemEval '12, pp.441-448, (2012).
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、単語や単語列などの表層的な情報に基づく入力文の比較方法では、類似した単語や単語列が出現する入力文間において、本来の入力文の意味内容を適切に捉えた類似度を計算することが困難な場合がある。
【０００５】
例えば、"The dog wearing a hat was running."という原文に対して、比較対象の  （１）"The dog wear with a hat was running out."、及び（２）"He saw the chihuahua with a hat run."という２文のどちらが意味的に類似しているかを判定することを考える。単純に原文の単語が比較対象の文に現れる割合を類似度と定義すると、 （１）には、原文の７語が全てが出現しているので、類似度は７／７、（２）には、原文の７語中、"the"、"a"、"hat"、及び"run"の４語が出現しているので、類似度は４／７となり、（１）の方が原文に類似しているという結果になってしまう。
【０００６】
これは、"dog"と"chihuahua"とが類似した意味内容を持つ語であること、原文と（２）とで共通する意味内容として、"run"の動作主が"dog"又は類似する概念であること、及び"hat"が付随している対象が"dog"又は類似する概念であることが、正しく捉えられていないことにより、類似度を適切に計算できていないことが原因である。
【０００７】
本発明は、上記の点に鑑みてなされたものであり、テキストデータである入力文の表現する意味内容を捉えて計算された類似度に基づいて、入力文同士を適切に比較することができる文比較装置、方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明に係る文比較装置は、自然言語で記述された複数の入力文の各々の文法的な言語の構文構造を解析する言語解析部と、前記言語解析部による解析結果に基づいて、前記複数の入力文の各々の意味的な構造を解析する意味解析部と、前記意味解析部による解析結果に基づいて、前記入力文同士を比較して、前記入力文間の類似度を計算する意味表現比較部と、を含んで構成されている。
【０００９】
本発明に係る文比較装置によれば、言語解析部が、自然言語で記述された複数の入力文の各々の文法的な言語の構文構造を解析し、意味解析部が、言語解析部による解析結果に基づいて、複数の入力文の各々の意味的な構造を解析し、意味表現比較部が、意味解析部による解析結果に基づいて、入力文同士を比較して、入力文間の類似度を計算する。
【００１０】
これにより、入力文の表現する意味内容を捉えて計算された類似度に基づいて、入力文同士を適切に比較することができる。
【００１１】
また、前記意味解析部は、文の意味的な構造を論理式により表現する論理形式型意味表現により、前記複数の入力文の各々の意味的な構造を解析することができる。また、前記意味解析部は、文に含まれる概念に対応するノード間をノード間の意味的な関係に基づいてエッジで接続した意味グラフにより、前記複数の入力文の各々の意味的な構造を解析することができる。このような意味表現を比較することで、入力文の表現する意味内容を捉えた適切な類似度を計算することができる。
【００１２】
また、前記意味表現比較部は、前記意味解析部の解析結果を、前記入力文中に含まれる概念に対応する変数と概念との関係を示す意味タプル、及び前記変数間の関係を示す意味タプルに変換する意味タプル変換部と、前記入力文間で、前記意味タプル変換部により変換された前記意味タプルの対応付けを行う意味タプルアライメント部と、を含んで構成することができる。これにより、意味表現の比較を容易に行うことができる。
【００１３】
また、前記意味タプル変換部は、前記変数間の関係を示す意味タプルのうち、前記変数間の関係及び前記意味タプルに含まれる変数の一方が共通する意味タプルに基づいて、前記意味タプルに含まれる他方の変数を組み合わせた、拡張意味タプルを追加することができる。これにより、入力文の表現する意味内容を柔軟に捉えた類似度を計算することができる。
【００１４】
また、本発明に係る文比較方法は、言語解析部と、意味解析部と、意味表現比較部とを含む文比較装置における文比較方法であって、前記言語解析部が、自然言語で記述された複数の入力文の各々の文法的な言語の構文構造を解析し、前記意味解析部が、前記言語解析部による解析結果に基づいて、前記複数の入力文の各々の意味的な構造を解析し、前記意味表現比較部が、前記意味解析部による解析結果に基づいて、前記入力文同士を比較して、前記入力文間の類似度を計算する方法である。
【００１５】
また、本発明に係る文比較プログラムは、コンピュータを、上記の文比較装置の各部として機能させるためのプログラムである。
【発明の効果】
【００１６】
以上説明したように、本発明の文比較装置、方法、及びプログラムによれば、入力文の意味的な構造を入力文間で比較して類似度を計算することにより、入力文の表現する意味内容を捉えて計算された類似度に基づいて、入力文同士を適切に比較することができる、という効果が得られる。
【図面の簡単な説明】
【００１７】
【図１】本実施の形態に係る文比較装置の機能ブロック図である。
【図２】入力文Ｓ１及びＳ２の構文解析結果の一例を示す図である。
【図３】入力文Ｓ１及びＳ２の意味解析結果の一例を示す図である。
【図４】意味タプルの一例を示す図である。
【図５】アライメント結果及び類似度計算の一例を示す図である。
【図６】本実施の形態における文比較処理ルーチンの一例を示すフローチャートである。
【図７】入力文Ｓ１及びＳ２の意味解析結果の他の例を示す図である。
【発明を実施するための形態】
【００１８】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【００１９】
本実施の形態に係る文比較装置１０は、ＣＰＵと、ＲＡＭと、後述する文比較処理ルーチンを実行するためのプログラムや各種データを記憶したＲＯＭとを含むコンピュータで構成することができる。文比較装置１０は、機能的には、図１に示すように、言語解析部１２と、意味解析部１４と、意味表現比較部１６と、結果出力部２２とを含んだ構成で表すことができる。また、文比較装置１０の所定の記憶領域には、言語解析モデル３２と、意味解析モデル３４と、概念間類似計算モデル３６とが記憶される。
【００２０】
言語解析部１２は、自然言語で記述された文（テキストデータ）であって、文比較装置１０に入力された文（以下、「入力文」という）を受け付ける。以下では、入力文として、入力文Ｓ１"The dog wearing a hat was running. "と、入力文Ｓ２"He saw the chihuahua with a hat run. "とが入力される場合を例にとって説明する。
【００２１】
言語解析部１２は、言語解析モデル３２を用いて、受け付けた入力文に対して、構文解析等の言語的な解析を行い（参考文献１）、構文解析結果を意味解析部１４に受け渡す。なお、本実施の形態では、言語解析部１２は、解析に用いる構文構造として、Universal Dependenciesの規定（参考文献２）を用いる場合について説明する。この場合、言語解析モデル３２には、Universal Dependenciesの規定に従った解析に必要な情報が定義されている。なお、言語解析部１２での解析に用いる構文構造は上記の例に限定されず、他の構文構造を用いてもよい。
【００２２】
参考文献１：Joakim Nivre et al.: MaltParser: A language-independent system for data-driven dependency parsing, Natural Language Engineering, 13(2), pp. 95{135 (2007). 
参考文献２：Joakim Nivre: Towards a Universal Grammar for Natural Language Processing, In Proceedings of CICLing 2015, pp.3{16, (2015).
【００２３】
図２に、Universal Dependenciesの規定に従って入力文Ｓ１及びＳ２を解析した構文解析結果の例を示す。図２に示す構文解析結果では、文法的に依存関係のある２語が矢印で結ばれており、矢印の根元の語が主辞、矢印の先の語が従属部を示している。また、矢印に付与されたラベル（図２では、角丸四角で示している）は、矢印で結ばれた２語間の関係の種類を示している。例えば、図２の上図に示す入力文S1の構文解析結果において、「dog←(nsubj)←running」は、「dog」と「running」との間には、主語−述語の関係 nsubjがあり、「running」が主辞であることを示している。
【００２４】
意味解析部１４は、言語解析部１２から構文解析結果を受け取って、意味解析モデル３４を用いて、入力文の意味的な構造を解析し、構文解析結果を意味表現に変換した意味解析結果を、意味表現比較部１６に受け渡す。なお、本実施の形態では、意味解析部１４は、意味表現として、UDepLambdaの規定（参考文献３）を用いる場合について説明する。この場合、意味解析モデル３４には、UDepLambdaの規定に従った解析に必要な情報が定義されている。なお、意味解析部１４での解析に用いる意味表現は上記の例に限定されず、Abstract Meaning Representation（ＡＭＲ、参考文献４）のような意味グラフ型の意味表現などの他の意味表現の規定を用いてもよい。
【００２５】
参考文献３： Siva Reddy, Oscar Tackstrom, Slav Petrov, Mark Steedman and Mirella Lapata: Universal Semantic Parsing, In Proceedings of the Conference on Empirical Methods in Natural Language Processing, EMNLP 2017, (2017).
参考文献４： Laura Banarescu, Claire Bonial, Shu Cai, Madalina Georgescu, Kira Griffitt, Ulf Hermjakob, Kevin Knight, Philipp Koehn, Mrtha Palmer and Nathan Schneider: Abstract Meaning Representation for Sembanking, In Proceedings of the Linguistic Annotation Workshop, (2013).
【００２６】
図３に、UDepLambdaの規定に従って入力文Ｓ１及びＳ２を解析した意味解析結果の例を示す。図３に示す意味解析結果は、UDepLambdaの規定に従った、述語論理形式型の意味表現であり、個体（individual）やイベント（event）を指す変数と、関数とからなる。ya、xe等の添え字 aは、変数のタイプが個体であることを示し、添え字eは、変数のタイプがイベントであることを示している。なお、本実施の形態における述語論理形式型の意味表現では、入力文に含まれる語のうち、単独で概念を持つ語（以下、単に「概念」ともいう）を変数として扱う。
【００２７】
また、図３に示す入力文Ｓ１の意味解析結果において、λxで示される変数xは文の中心となる述語を表し、変数y、z、及びwは、その他の変数を表す。また、単項の論理式（例えば、「run(xe)」）は、概念と変数との紐付けを示す。例えば、run(xe)は、概念"run"を変数"xe"で表すことを示す。また、２項からなる関数（例えば、「arg1(xe,ya)」）は、変数で表す概念間の関係を示す。例えば、arg1(xe,ya)は、変数"ya"で表す個体（dog）が、変数"xe"で表すイベント（run）の動作主であることを示している。
【００２８】
意味表現比較部１６は、意味解析部１４から受け渡された意味解析結果である意味表現に基づいて、入力文同士を比較して、入力文間の類似度を計算する。図１に示すように、意味表現比較部１６は、意味タプル変換部１８と、意味タプルアライメント部２０とを含む。
【００２９】
意味タプル変換部１８は、意味解析部１４から受け取った意味表現を、意味タプルに変換する。意味タプルは、「rel(variable1, variable2)」、及び「inst(variable, concept)」から構成される。前者の意味タプルは、２つの変数間の関係がラベル"rel"で示される関係であることを表し、後者の意味タプルは、変数と入力文中の概念（個体やイべント等）との紐づけを表す。例えば、inst(x, run)は、変数"x"が"run"という概念に属するものであることを示し、inst(y, dog)は、変数"y"が"dog"という概念に属するものであることを示している。
【００３０】
具体的には、意味タプル変換部１８は、意味解析部１４から受け取った、入力文S1及びS2の各々についての意味表現から、下記(1)式及び(2)式に示すように、それぞれ変数の集合V1及びV2を抜き出す。
【００３１】
V1= {v11, v12, v13, v14} = {x, y, z, w}                              (1)
V2 = {v21, v22, v23, v24, v25} = {p, q, r, s, t}                         (2)
【００３２】
なお、vijは、入力文Siのj番目の変数を示す。
【００３３】
意味タプル変換部１８は、変数の集合V1及びV2それぞれについて、入力文S1及びS2の各々についての意味表現に含まれる単項の論理式から、inst(variable, concept)の形の意味タプルを作り、下記(3)式及び(4)式に示すように、意味タプル集合T1及びT2に追加する。
【００３４】
T1= {t11, t12, t13, t14} 
= {inst(x, run), inst(y, dog), inst(z, hat), inst(w, wear)}  (3)
T2 = {t21, t22, t23, t24, t25} 
= {inst(p, see), inst(q, he), inst(r, chihuahua), inst(s, hat),
inst(t, run)}      (4)
【００３５】
なお、tijは、入力文Siのj番目の意味タプルを示す。
【００３６】
また、意味タプル変換部１８は、入力文S1及びS2の各々についての意味表現に含まれる２項からなる関数から、rel(variable1, variable2)の形の意味タプルを作り、意味タプル集合T1及びT2に追加する。rel(variable1, variable2)の形の意味タプルを追加した後の意味タプル集合T1及びT2を、図４の「直接抽出したタプル」に示す。
【００３７】
さらに、意味タプル変換部１８は、ラベルが共通し（添え字を除く）、かつ第１項に共通する変数を持つ意味タプルを併合して、新しい意味タプルを追加する。具体的には、意味タプル変換部１８は、r1(a, b)及びr2(a, c)のような２つの意味タプルから、新たな意味タプルrel*(b, c)及びrel*(c, b)を、拡張意味タプルとして作成して追加する。ここで、図４におけるラベルarg1、arg2は、それぞれ第２項が第１項の動作主、対象にあたることを示す。これらの拡張意味タプルにおける変数の関係を示すラベル"rel*"は、後述する意味タプルのアライメント（対応付け）時に他のあらゆるラベルと対応付けが可能なことを示すラベルである。拡張意味タプルを図４の右側に示す。これらの拡張意味タプルを意味タプル集合T1 に追加する。
【００３８】
意味タプル変換部１８は、変換及び追加した意味タプルを意味タプルアライメント部２０へ受け渡す。
【００３９】
意味タプルアライメント部２０は、意味タプル変換部１８から受け渡された、入力文S1及びS2の各々についての意味タプル間の最適なアライメントを求める。本実施の形態では、山登り法によるヒューリスティックな探索によって低い計算量で簡易にアライメントを行う場合について説明するが、整数計画法（Integer Linear Programming、ＩＬＰ）などの方法で厳密解を求めることも可能である。
【００４０】
具体的には、意味タプルアライメント部２０は、意味タプル変換部１８により抽出された変数の集合の間で初期アライメント列を設定する。|V1|≦|V2|のとき、V1からV2への１対１のアライメントを考える。(t1i, t2j)にアライメントがある場合、ai=jと表し、V1から V2へのアライメント列をA=(a1, ..., am)と表す（ただし、m=|V1|）。t1iに対応するアライメントがない場合、ai=0とする。ここで、意味タプルアライメント部２０は、初期アライメント列A0を、下記(5)式のように設定する。
【００４１】
A0= (1, 2, 3, 4)                                                       (5)
【００４２】
これは、変数の組(x, p)、(y, q)、(z, r)、及び(w, s)をアライメントすることを示している。
【００４３】
意味タプルアライメント部２０は、意味タプル集合T1及びT2において、設定したアライメントのスコア（以下、「アライメントスコア」という）σalignを、下記(6)式により計算する。
【００４４】
【数１】
2019204153.tif 000003
【００４５】
ここで、 意味タプルt1i(∈T1)及びt2j(∈T2)を、t1i=r1(h1i, d1i)、及びt2j=r2(h2j, d2j)とし、意味タプルt1iとt2jとの間の類似度σT(t1i, t2j)を、下記(7)〜(9)式のように定義する。
【００４６】
【数２】
2019204153.tif 000004
【００４７】
(7)〜(9)式における、添え字付きの"r"は、relationの頭文字で、意味タプルのラベルを示すものであり、(2)式に示すV2の要素である添え字なしの"r"とは別物である。なお、(7)〜(9)式における"h"は、headの頭文字、"d"は、dependentの頭文字で、それぞれ、意味タプルの第１項及び第２項を示す。
【００４８】
また、(9)式において、 I(・)は、変数と紐付いている概念への写像であり、例えば、入力文S1の意味解析結果の例では、I(x) = runである。また、simcon(・,・)は、概念間の類似度で、WordNet（参考文献５）のようなオントロジや、word2vec（参考文献６）やGloVe（参考文献７）などの単語分散表現によるものを定義することができる。
【００４９】
参考文献５：George A. Miller, WordNet: A Lexical Database for English, COMMUNICATIONS OF THE ACM, Vol. 38, pp.39-41, (1995).
参考文献６：Tomas Mikolov, Kai Chen, Greg Corrado and Jeffrey Dean, Efficient Estimation of Word Representations in Vector Space, In the International Conference on Learning Representations (ICLR) 2013 Workshop Papers, (2013).
参考文献７：Jeffrey Pennington, Richard Socher and Christopher D. Manning, Glove: Global Vectors for word representation, In Proceedings of the Conference on Empirical Methods in Natural Language Processing,   EMNLP 2014, pp. 1532-1543, (2014).
【００５０】
本実施の形態では、類似度を０から１の実数の値とし、類似度が１のとき、比較対象の意味表現の部分構造が示す意味内容が完全に一致しているとする。例えば、意味タプルアライメント部２０は、概念と、その概念を単語の分散表現に変換したベクトルとの対応関係が定義された概念間類似計算モデル３６を用いて、下記(10)式に示すように、概念c1及びc2をベクトルvc1とvc2とに変換し、ベクトルvc1とvc2との間のコサイン距離を、概念間の類似度simcon(vc1,vc2)として用いる。
【００５１】
【数３】
2019204153.tif 000005
【００５２】
また、α(・,・)は、下記(11)式に示すように、アライメントの有無を表す関数である。
【００５３】
【数４】
2019204153.tif 000006
【００５４】
意味タプルアライメント部２０は、(6)〜(11)式により、初期アライメント列A0に対するアライメントスコア σalign(A0)を計算する。|T1|+|T2|、すなわち、入力文S1及びS2の意味表現から得られた意味タプルの数は１８である。また、アライメントされていない変数を含む意味タプルの組み合わせに対しては、α(・,・)=0になるので、σalign(A0)は、下記(12)式により計算される。
【００５５】
【数５】
2019204153.tif 000007
【００５６】
意味タプルアライメント部２０は、初期アライメント列A0からできるだけ少ない操作でアライメントを変更し、アライメント列候補集合Qを生成する。すなわち，初期アライメント列A0に対して１つの変数を他の変数に対応付ける操作を行うか、又は、２つのアライメントの対応付けを入れ替える操作を行うかいずれかによって、最適なアライメント列の候補として、下記(13)式に示すように、アライメント列候補集合Qを生成する。
【００５７】
Q = {(1, 2, 3, 5), (1, 2, 5, 4), (1, 5, 3, 4), (5, 2, 3, 4),
(2, 1, 3, 4), (1, 3, 2, 4), (1, 2, 4, 3), (4, 2, 3, 1),
(3, 2, 1, 4), (1, 4, 3, 2)}                               (13)
【００５８】
意味タプルアライメント部２０は、アライメント列候補集合Qに含まれる各アライメント列候補に対して、アライメントスコアを計算し、最も高いアライメントスコアを持つアライメント列候補を求める。具体的には、意味タプルアライメント部２０は、アライメント列候補集合Qの中からアライメント列候補を１つ選択し、アライメントスコアを計算する。例えば、アライメント列候補A1 = (1, 2, 4, 3)が選択された場合、アライメントスコアσalign(A1)は、下記(14)式のように計算される。
【００５９】
【数６】
2019204153.tif 000008
【００６０】
(14)式に示すσalign(A1)は、元のアライメントスコア σalign(A0)より高いので、意味タプルアライメント部２０は、アライメント列候補A1を、次のアライメント列として設定する。また、意味タプルアライメント部２０は、元のアライメント列 A0を、アライメント列候補集合Qから取り除くと共に、アライメントスコアを計算済みのアライメント列候補集合Cに追加する。意味タプルアライメント部２０は、この処理を、アライメントスコアが元のアライメント列より高いアライメント列候補がなくなるまで、すなわち、全てのアライメント列候補がアライメント列候補集合Cに追加されるまで繰り返す。(13)式に示すアライメント列候補集合Qの場合、アライメント列An = (5, 3, 4, 1)の場合に、下記(15)及び(16)式に示すように、アライメントスコアが最大になる。
【００６１】
【数７】
2019204153.tif 000009
【００６２】
意味タプルアライメント部２０は、最大のアライメントスコアを入力文S1とS2との類似度の計算結果とする。また、意味タプルアライメント部２０は、アライメントスコアが最大となるアライメント列が示す、意味タプルの最適なアライメント、及び最大のアライメントスコアの計算過程におけるアライメントされた意味タプル間の類似度を、意味タプルのアライメント結果とする。意味タプルアライメント部２０は、類似度の計算結果及びアライメント結果を、結果出力部２２へ受け渡す。
【００６３】
結果出力部２２は、意味タプルアライメント部２０から受け渡された意味タプルのアライメント結果及び類似度の計算結果を出力する。図５に、結果出力部２２により出力される結果の一例を示す。図５の例では、入力文S1とS2との全体の類似度「0.5222」が示されると共に、意味タプルのアライメント結果として、アライメントされた意味タプル間の類似度（図５において「部分類似度」）とが示されている。このように、意味タプルのアライメント結果も示されることにより、意味表現の部分構造において一致又は類似する部分の情報も把握することができる。
【００６４】
次に、本実施の形態に係る文比較装置１０の作用について説明する。比較対象の２つの入力文が文比較装置１０に入力されると、文比較装置１０によって図６に示す文比較処理ルーチンが実行される。
【００６５】
ステップＳ１０で、言語解析部１２が、文比較装置１０に入力された入力文を受け付け、言語解析モデル３２を用いて、受け付けた入力文の各々に対して、構文解析等の言語的な解析を行い、構文解析結果を意味解析部１４に受け渡す。
【００６６】
次に、ステップＳ１２で、意味解析部１４が、言語解析部１２から構文解析結果を受け取って、意味解析モデル３４を用いて、入力文の意味的な構造を解析し、構文解析結果を意味表現に変換した意味解析結果を、意味表現比較部１６に受け渡す。
【００６７】
次に、ステップＳ１４で、意味タプル変換部１８が、意味解析部１４から受け取った意味解析結果である意味表現を、「rel(variable1, variable2)」、及び「inst(variable, concept)」から構成される意味タプルに変換する。
【００６８】
次に、ステップＳ１６で、意味タプル変換部１８が、ラベルが共通し（添え字を除く）、かつ第１項に共通する変数を持つ意味タプルを併合して、新しい意味タプル（拡張意味タプル）を作成して追加する。
【００６９】
次に、ステップＳ１８で、意味タプルアライメント部２０が、意味タプル変換部１８により抽出された変数の集合の間で初期アライメント列A0を設定する。そして、意味タプルアライメント部２０は、初期アライメント列A0のアライメントスコアσalign(A0)を、例えば、(6)〜(11)式により計算し、σalign_maxに設定する。
【００７０】
次に、ステップＳ２０で、意味タプルアライメント部２０が、初期アライメント列A0から、１つの変数を他の変数に対応付けるか、又は、２つアライメントの対応付けを入れ替えるかのいずれかによって、アライメント列候補集合Qを生成する。また、意味タプルアライメント部２０は、アライメントスコアを計算済みのアライメント列候補集合Cを空集合として用意する。
【００７１】
次に、ステップＳ２２で、意味タプルアライメント部２０は、アライメント列候補集合Qに、未選択のアライメント列候補が存在するか否かを判定する。未選択のアライメント列候補が存在する場合には、ステップＳ２３へ移行し、未選択のアライメント列候補が存在しない場合には、ステップＳ３０へ移行する。
【００７２】
ステップＳ２３では、意味タプルアライメント部２０が、アライメント列候補集合Qから未選択のアライメント列候補Aiを１つ選択し、選択したアライメント列候補Aiについて、Aiに隣接するアライメント列候補を生成し、アライメント列候補集合Qに追加する。Aiに隣接するアライメント列候補の生成は、上記ステップＳ２０で初期アライメント列A0に対して行ったものと同様の方法で行う。ただし、既にアライメント列候補集合Q及びCに含まれているアライメント列候補は、アライメント列候補集合Qに加えない。
【００７３】
次に、ステップＳ２４で、意味タプルアライメント部２０が、選択したアライメント列候補Aiについて、アライメントスコアσalign(Ai)を計算する。
【００７４】
次に、ステップＳ２５で、意味タプルアライメント部２０が、選択したアライメント列候補Aiを、アライメント列候補集合Qから取り除くと共に、計算済みのアライメント列候補集合Cに追加する。
【００７５】
次に、ステップＳ２６で、意味タプルアライメント部２０が、上記ステップＳ２４で計算したアライメントスコアσalign(Ai)が、上記ステップＳ１８で設定したσalign_maxより大きいか否かを判定する。σalign(Ai)＞σalign_maxの場合には、ステップＳ２８へ移行し、σalign(Ai)≦σalign_maxの場合には、ステップＳ２２に戻る。
【００７６】
ステップＳ２８では、意味タプルアライメント部２０が、上記ステップＳ２４で計算したアライメントスコアσalign(Ai)をσalign_maxに設定し、ステップＳ２２に戻る。
【００７７】
ステップＳ３０では、意味タプルアライメント部２０が、現在σalign_maxに設定されている最大のアライメントスコアσalign(AM)を入力文S1とS2との類似度の計算結果とする。また、意味タプルアライメント部２０は、アライメントスコアが最大となるアライメント列AMが示す、意味タプルの最適なアライメント、及び最大のアライメントスコアの計算過程におけるアライメントされた意味タプル間の類似度を、意味タプルのアライメント結果とする。そして、意味タプルアライメント部２０が、意味タプルのアライメント結果及び類似度の計算結果を、結果出力部２２へ受け渡し、結果出力部２２が、結果を出力して、文比較処理は終了する。
【００７８】
以上説明したように、本実施の形態に係る文比較装置によれば、比較対象の入力文（テキストデータ）の意味解析を行って、意味表現間の比較を行うことにより、入力文間の類似度を計算する。これにより、単純な単語や単語列の類似性に基づく類似度ではなく、入力文の表現する意味内容を捉えて計算された類似度に基づいて、入力文同士を適切に比較することができる。
【００７９】
また、上記実施の形態では、意味表現を変換した意味タプル間の類似度も得られるため、入力文全体の類似度だけではなく、意味表現の部分構造の一致又は類似を把握することができる。
【００８０】
また、上記実施の形態では、意味表現から、「rel(variable1, variable2)」、及び「inst(variable, concept)」の形式の意味タプルに変換し、さらに、ラベルが共通し（添え字を除く）、かつ第１項に共通する変数を持つ意味タプルを併合して、新しい意味タプルを拡張意味タプルとして追加する。このような意味表現の拡張を行わない場合、意味解析により得られる意味表現（参考文献８及び９）のみを比較して、入力文間の類似度を計算することになる（参考文献１０及び１１）。この場合、内容語を介した関係と付属語を介した関係とを柔軟に対応付けることができない場合がある。
【００８１】
例えば、入力文S1＝"The dog wearing a hat was running."、入力文S2＝"He saw the chihuahua with a hat run."の場合、入力文S1では、arg1(wear, dog)及びarg2(wear, hat)という内容語"wear"を介した２つの関係（意味タプル）が得られるが、入力文S2からは、nmod.with(dog,hat)という付属語を介した関係が得られ、両者を適切に対応付けることができない。
【００８２】
本実施の形態では、上記のように、拡張意味タプルを追加することにより、意味表現の対応付けを柔軟に行うことができるため、意味的内容を捉えた適切な類似度を計算することができる。
【００８３】
参考文献８：Laura Banarescu, Claire Bonial, Shu Cai, Madalina Georgescu, Kira Griffitt, Ulf Hermjakob, Kevin Knight, Philipp Koehn, Mrtha Palmer and Nathan Schneider: Abstract Meaning Representation for Sembanking, In Proceedings of the Linguistic Annotation Workshop, (2013).
参考文献９：Sebastian Schuster, Ranjay Krishna, Angel Chang, Li Fei-Fei and Christopher D. Manning: Generating Semantically Precise Scene Graphs from Textual Descriptions for Improved Image Retrieval, In Proceedings of the Workshop on Vision and Language (VL15), (2015).
参考文献１０：Shu Cai and Kevin Knight: Smatch: an Evaluation Metric for Semantic Feature Structures, In Proceedings of the 51st Annual Meeting of the Association for Computational Linguistics, ACL 2013, (2013).
参考文献１１：Peter Anderson, Basura Fernando, Mark Johnson and Stephen Gould: SPICE: Semantic Propositional Image Caption Evaluation, In Proceedings of the 14th European Conference on Computer Vision, ECCV 2016, (2016).
【００８４】
なお、上記の実施の形態では、各意味タプル間の類似度を計算する際には、動作主と述語との関係(arg1)であっても、名詞間の修飾関係(nmod)であっても、同じ重みで類似度を計算する場合について説明したが、simrel(r1,r2)を変更することにより、意味タプルの relationによって重みを変えてもよい。
【００８５】
また、上記の実施の形態では、UDepLambdaの論理形式型の意味表現を用いたが、 Abstract Meaning Representation（ＡＭＲ）など他の論理形式型の意味表現や、意味グラフ型意味表現を用いてもよい。図７に、上記実施の形態で用いた入力文S1及びS2と同じ２文を意味グラフ型意味解析によって解析した例を示す。意味グラフの各ノードは、図３に示す論理形式型意味表現の変数にあたり、図７の例では、ノード内に、そのノードに対応する変数を明示している。また、ノード間を接続するエッジには、エッジの両端のノードに対応する変数間の関係を示すラベルが付与されている。また、各ノードが示す変数に対応する概念が、葉ノードとして各ノードに接続されている。この各ノードに対応する変数、エッジに付与されたラベル、及び葉ノードが示す概念を用いて、上記実施の形態と同様の手順を行うことで、図４と同じ意味タプルを抽出することができる。意味タプルの抽出以降は、上記実施の形態の論理形式型意味表現の場合と同様に意味タプルのアライメント及び類似度の計算を行うことが可能である。
【００８６】
また、例えば、上記実施の形態では、文比較装置１０の各機能部を、プログラムを実行することによって実現する場合を例に説明したが、これに限定されない。文比較装置１０の各機能部を、ＦＰＧＡ（Field-Programmable Gate Array）等のハードウェアで実現してもよいし、ハードウェアとソフトウェアとの組み合わせで実現してもよい。
【００８７】
また、本願明細書中において、プログラムが予めインストールされている実施の形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能であるし、ネットワークを介して提供することも可能である。
【符号の説明】
【００８８】
１０   文比較装置
１２   言語解析部
１４   意味解析部
１６   意味表現比較部
１８   意味タプル変換部
２０   意味タプルアライメント部
２２   結果出力部
３２   言語解析モデル
３４   意味解析モデル
３６   概念間類似計算モデル
【図１】
2019204153.tif 000010
【図２】
2019204153.tif 000011
【図３】
2019204153.tif 000012
【図４】
2019204153.tif 000013
【図５】
2019204153.tif 000014
【図６】
2019204153.tif 000015
【図７】
2019204153.tif 000016