(57)【要約】【課題】適切な単語同士の対応付けを行うことを目的としている。【解決手段】コンピュータによる言語処理方法であって、前記コンピュータが、第一のテキストデータに含まれる第一の単語群と、第二のテキストデータに含まれる第二の単語群と、で取り得る全ての単語の組み合わせについて、単語同士の対応付きやすさの度合いを示す値を算出し、前記対応付きやすさの度合いを示す値に基づき、第一の単語と第二の単語との対応付けを行い、前記対応付けの結果と、前記単語同士の対応付きやすさの度合いを示す値と、を用いて、前記第一の単語を含む第一のテキストデータの単語群と前記第二の単語を含む第二のテキストデータの単語群とについて、単語群同士の対応付きやすさの度合いを示す値を算出し、前記単語群同士の対応付きやすさの度合いを示す値を用いて、前記単語同士の対応付きやすさの度合いを示す値を更新する。【選択図】図４
2020057105.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータによる言語処理方法であって、前記コンピュータが、
第一のテキストデータに含まれる第一の単語群と、第二のテキストデータに含まれる第二の単語群と、で取り得る全ての単語の組み合わせについて、単語同士の対応付きやすさの度合いを示す値を算出し、
前記対応付きやすさの度合いを示す値に基づき、第一の単語と第二の単語との対応付けを行い、
前記対応付けの結果と、前記単語同士の対応付きやすさの度合いを示す値と、を用いて、前記第一の単語を含む第一のテキストデータの単語群と前記第二の単語を含む第二のテキストデータの単語群とについて、単語群同士の対応付きやすさの度合いを示す値を算出し、前記単語群同士の対応付きやすさの度合いを示す値を用いて、前記単語同士の対応付きやすさの度合いを示す値を更新する、言語処理方法。
【請求項２】
前記対応付けを行った結果が、終了条件を満たす場合に、前記対応付けを行った結果を出力する、請求項１記載の言語処理方法。
【請求項３】
前記終了条件は、
更新された前記単語同士の対応付きやすさの度合いを示す値に基づき、記第一の単語と前記第二の単語との対応付けを行った結果が更新前と一致することである、請求項２記載の言語処理方法。
【請求項４】
前記単語群は、
複数の単語を含む文脈を示すテキストデータ、１つの文、複数の文の集合の何れかである、請求項１乃至３の何れか一項に記載の言語処理方法。
【請求項５】
第一のテキストデータに含まれる第一の単語群と、第二のテキストデータに含まれる第二の単語群と、で取り得る全ての単語の組み合わせについて、単語同士の対応付きやすさの度合いを示す値を算出する処理と、
前記対応付きやすさの度合いを示す値に基づき、第一の単語と第二の単語との対応付けを行う処理と、
前記対応付けの結果と、前記単語同士の対応付きやすさの度合いを示す値と、を用いて、前記第一の単語を含む第一のテキストデータの単語群と前記第二の単語を含む第二のテキストデータの単語群とについて、単語群同士の対応付きやすさの度合いを示す値を算出し、前記単語群同士の対応付きやすさの度合いを示す値を用いて、前記単語同士の対応付きやすさの度合いを示す値を更新する処理と、をコンピュータに実行させる、言語処理プログラム。
【請求項６】
第一のテキストデータに含まれる第一の単語群と、第二のテキストデータに含まれる第二の単語群と、で取り得る全ての単語の組み合わせについて、単語同士の対応付きやすさの度合いを示す値を算出する算出部と、
前記対応付きやすさの度合いを示す値に基づき、第一の単語と第二の単語との対応付けを行う対応付け部と、
前記対応付けの結果と、前記単語同士の対応付きやすさの度合いを示す値と、を用いて、前記第一の単語を含む第一のテキストデータの単語群と前記第二の単語を含む第二のテキストデータの単語群とについて、単語群同士の対応付きやすさの度合いを示す値を算出し、前記単語群同士の対応付きやすさの度合いを示す値を用いて、前記単語同士の対応付きやすさの度合いを示す値を更新する更新部と、を有する言語処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、言語処理方法、言語処理プログラム及び言語処理装置に関する。
【背景技術】
【０００２】
従来では、２つのテキストデータの内容が合致しているか否かを判定する場合に、この判定を行う人物は、両テキストデータに含まれる単語間の対応関係を把握する作業を行うことになる。例えば、２つのテキストデータが、模範解答を示すテキストデータと答案を示すテキストデータであった場合には、採点を行う教師は、２つのテキストデータに含まれる単語同士の対応関係を把握した上で、答案の内容が模範解答の内容と合致するか否かを判定することになる。
【０００３】
しかし、この作業は、各テキストデータに含まれる単語の数が多いほど負担が大きくなる。そこで、従来では、Ｇａｌｅ−Ｓｈａｐｌｅｙアルゴリズムを用いて、単語同士の対応付けを自動的に行うことが考えられている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述したアルゴリズムは、予め、単語同士の対応のし易さの度合いが決められており、決められた度合いに基づき、単語同士を対応させるものである。このため、２つのテキストデータのそれぞれに含まれる単語同士の対応付けを行う際に、従来のアルゴリズムを用いた場合、文脈や文脈における単語の使われ方等が考慮されず、適切な対応付けを行うことが困難な場合がある。
【０００５】
本発明は、上記事情に鑑みて成されたものであり、適切な単語同士の対応付けを行うことを目的としている。
【課題を解決するための手段】
【０００６】
開示の技術は、コンピュータによる言語処理方法であって、前記コンピュータが、第一のテキストデータに含まれる第一の単語群と、第二のテキストデータに含まれる第二の単語群と、で取り得る全ての単語の組み合わせについて、単語同士の対応付きやすさの度合いを示す値を算出し、前記対応付きやすさの度合いを示す値に基づき、第一の単語と第二の単語との対応付けを行い、前記対応付けの結果と、前記単語同士の対応付きやすさの度合いを示す値と、を用いて、前記第一の単語を含む第一のテキストデータの単語群と前記第二の単語を含む第二のテキストデータの単語群とについて、単語群同士の対応付きやすさの度合いを示す値を算出し、前記単語群同士の対応付きやすさの度合いを示す値を用いて、前記単語同士の対応付きやすさの度合いを示す値を更新する。
【発明の効果】
【０００７】
適切な単語同士の対応付けを行うことができる。
【図面の簡単な説明】
【０００８】
【図１】言語処理装置の動作の概略を説明する図である。
【図２】言語処理装置のハードウェア構成の一例を示す図である。
【図３】対応付け処理部の機能を説明する図である。
【図４】言語処理装置の動作を説明する第一のフローチャートである。
【図５】言語処理装置の動作を説明する第二のフローチャートである。
【図６】テキストデータの一例を示す図である。
【図７】単語対応度情報の一例を示す図である。
【図８】対応付け情報の一例を示す図である。
【図９】単語対応度情報の更新を説明する第一の図である。
【図１０】単語対応度情報の更新を説明する第二の図である。
【図１１】更新された単語対応度情報の一例を示す図である。
【図１２】対応付け結果情報を用いた表示例を示す図である。
【図１３】言語処理装置を含むシステムのシステム構成の一例を示す図である。
【発明を実施するための形態】
【０００９】
以下に図面を参照して、実施形態について説明する。図１は、言語処理装置の動作の概略を説明する図である。
【００１０】
本実施形態の言語処理装置１００は、単語ベクトルデータベース１１０、対応付け処理部１２０、出力部１３０を有する。
【００１１】
本実施形態の単語ベクトルデータベース１１０は、単語毎の出現頻度を表現するものであれば良く、単語毎に予め求められて、単語ベクトルデータベース１１０に格納されている。
【００１２】
対応付け処理部１２０は、テキストデータ１０と、テキストデータ２０の入力を受け付けると、単語ベクトルデータベース１１０を参照して、テキストデータ１０に含まれる単語と、テキストデータ２０に含まれる単語との対応付けを行い、出力部１３０により対応付け結果情報３０を出力する。
【００１３】
このとき、本実施形態の対応付け処理部１２０は、テキストデータ１０に含まれる単語と、テキストデータ２０に含まれる単語と、の対応付きやすさの度合い（対応のしやすさの度合い）を示す値を、それぞれの単語が含まれる文脈同士の対応付きやすさに応じた値（文脈同士の対応付きやすさの度合いを示す値）とする。
【００１４】
以下の説明では、単語同士の対応付きやすさの度合いを示す値を単語対応度と呼び、文脈同士の対応付きやすさの値を文脈対応度と呼ぶ。尚、対応付きやすさは、単語の一致、品詞、混成(合成)語等を考慮して決められても良い。
【００１５】
具体的には、本実施形態の言語処理装置１００は、単語ベクトルデータベース１１０を参照して、テキストデータ１０に含まれる単語と、テキストデータ２０に含まれる単語との単語対応度を求める。そして、次に言語処理装置１００は、テキストデータ１０における単語が含まれる文脈と、テキストデータ２０において単語が含まれる文脈との文脈対応度を求め、この文脈対応度に基づき、単語対応度を更新する。
【００１６】
本実施形態の言語処理装置１００は、更新した単語対応度を用いてテキストデータ１０に含まれる単語と、テキストデータ２０に含まれる単語と対応付けた結果を、対応付け結果情報３０として出力する。
【００１７】
このように、本実施形態では、単語が含まれる文脈同士の文脈対応度を用いて、単語同士の対応付けを行うため、適切に単語同士の対応付けを行うことができる。
【００１８】
尚、図１の例では、単語ベクトルデータベース１１０が言語処理装置１００に設けられるものとしたが、これに限定されない。単語ベクトルデータベース１１０は、言語処理装置１００の外部に設けられていても良い。また、単語ベクトルデータベース１１０に、例えば、テキストデータ１０とテキストデータ２０が示す内容が含まれる分野の単語の単語ベクトルが格納されていても良い。
【００１９】
尚、本実施形態のテキストデータ１０、テキストデータ２０は、複数の単語を含む文脈（ユニット）を示すテキストデータであれば良い。具体的には、例えば、テキストデータ１０、２０のそれぞれは、例えば、１つの文であっても良いし、複数の文の集合であっても良い。
【００２０】
また、テキストデータ１０、２０のそれぞれは、例えば、単なる文字列群であっても良く、文を含んでいなくても良い。具体的には、例えば、特定の文書データから切り出された文字列群を、テキストデータ１０、２０としても良い。
【００２１】
言い換えれば、本実施形態の文脈対応度は、テキストデータ１０に含まれる単語群や、テキストデータ２０に含まれる単語群との対応付きやすさの度合いを示す値（単語群同士の対応付きやすさの度合いを示す値）と言える。
【００２２】
以下に、本実施形態の言語処理装置１００について、さらに説明する。図２は、言語処理装置のハードウェア構成の一例を示す図である。
【００２３】
本実施形態の言語処理装置１００は、それぞれバスＢで相互に接続されている入力装置１１、出力装置１２、ドライブ装置１３、補助記憶装置１４、メモリ装置１５、演算処理装置１６及びインターフェース装置１７を含む情報処理装置である。
【００２４】
入力装置１１は、各種の情報の入力を行うための装置であり、例えばキーボードやポインティングデバイス等であっても良い。出力装置１２は、各種の情報の出力を行うためものであり、例えばディスプレイ等であっても良い。インターフェース装置１７は、ＬＡＮカード等を含み、ネットワークに接続する為に用いられる。
【００２５】
言語処理プログラムは、言語処理装置１００を制御する各種プログラムの少なくとも一部である。言語処理プログラムは例えば記憶媒体１８の配布やネットワークからのダウンロード等によって提供される。言語処理プログラムを記録した記憶媒体１８は、ＣＤ−ＲＯＭ、フレキシブルディスク、光磁気ディスク等の様に情報を光学的、電気的或いは磁気的に記録する記憶媒体、ＲＯＭ、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記憶媒体を用いることができる。
【００２６】
また、言語処理プログラムは、言語処理プログラムを記録した記憶媒体１８がドライブ装置１３にセットされると、記憶媒体１８からドライブ装置１３を介して補助記憶装置１４にインストールされる。ネットワークからダウンロードされた言語処理プログラムは、インターフェース装置１７を介して補助記憶装置１４にインストールされる。
【００２７】
補助記憶装置１４は、インストールされた言語処理プログラムを格納すると共に、必要なファイル、データ等を格納する。メモリ装置１５は、言語処理装置１００の起動時に補助記憶装置１４から言語処理プログラムを読み出して格納する。そして、演算処理装置１６はメモリ装置１５に格納された言語処理プログラムに従って、後述するような各種処理を実現している。
【００２８】
次に、図３を参照して、本実施形態の言語処理装置１００の対応付け処理部１２０の機能について説明する。図３は、対応付け処理部の機能を説明する図である。以下の説明する各部は、演算処理装置１６が、メモリ装置１５に格納された言語処理プログラムを読み出して実行することで実現される。
【００２９】
本実施形態の対応付け処理部１２０は、入力受付部１２１、単語対応度算出部１２２、単語対応付け部１２３、対応付け履歴保持部１２４、単語対応度更新部１２５、終了判定部１２６を有する。
【００３０】
入力受付部１２１は、言語処理装置１００において、単語の対応付けが行われるテキストデータ１０（第一のテキストデータ）と、テキストデータ２０（第二のテキストデータ）の入力を受け付ける。
【００３１】
単語対応度算出部１２２は、単語ベクトルデータベース１１０を参照し、入力受付部１２１が受け付けたテキストデータ１０に含まれる各単語と、テキストデータ２０に含まれる各単語とを対応付けたときの単語の組み合わせ毎の単語対応度を算出する。以下の説明では、単語の組み合わせ毎の単語対応度を含む情報を、単語対応度情報と呼ぶ。
【００３２】
単語対応付け部１２３は、単語対応度算出部１２２によって算出された単語対応度情報に基づき、例えば、Ｇａｌｅ−Ｓｈａｐｌｅｙアルゴリズムを用いて、テキストデータ１０に含まれる単語とテキストデータ２０に含まれる単語の対応付けを行う。そして、単語対応付け部１２３は、その結果として、対応付け情報を出力する。
【００３３】
対応付け履歴保持部１２４は、単語対応度算出部１２２により算出された単語対応度情報と、対応付け情報とを含む情報を、単語の対応付けの履歴を示す対応付け履歴情報１２８として保持する。
【００３４】
単語対応度更新部１２５は、対応付け履歴保持部１２４に格納された対応付け履歴情報１２８を参照して、テキストデータ１０とテキストデータ２０の文脈対応度を算出する。そして、単語対応度更新部１２５は、文脈対応度と対応付け履歴情報１２８とを用いて、単語の組み合わせ毎の単語対応度を更新する。
【００３５】
終了判定部１２６は、単語対応度更新部１２５による処理を実行した後に、対応付け履歴情報１２８が変化するか否かを判定し、変化しなくなった場合に、対応付け処理部１２０の処理を終了させる。
【００３６】
次に、図４を参照して、本実施形態の言語処理装置１００の動作について説明する。図４は、言語処理装置の動作を説明する第一のフローチャートである。
【００３７】
本実施形態の言語処理装置１００において、対応付け処理部１２０は、入力受付部１２１がテキストデータ１０とテキストデータ２０の入力を受け付けると、単語対応度算出部１２２により、各テキストデータに含まれる単語の組み合わせ毎の単語対応度を算出する（ステップＳ４０１）。尚、単語の組み合わせ毎の単語対応度は、単語対応度情報として、対応付け履歴情報１２８の一部として対応付け履歴保持部１２４に保持される。
【００３８】
以下に、単語対応度算出部１２２による単語対応度の算出について説明する。以下の説明では、テキストデータ１０に含まれるｘ番目のユニットのｉ番目の単語を、ａｘｉと示し、テキストデータ２０に含まれるｙ番目のユニットのｊ番目の単語を、ｂｙｊと示す。尚、ユニットとは、例えば、一文や、一行等の単位であり、任意に決めることができる。
【００３９】
また、以下の説明では、単語ａｘｉから単語ｂｙｊへの単語対応度をＰ（ａｘｉ→ｂｙｊ）と示す。言い換えれば、単語ａｘｉと単語ｂｙｊとの対応付けやすさの度合いを示す値をＰ（ａｘｉ→ｂｙｊ）と示す。対応付けやすさとは、例えば、意味が似ている、文脈において配置される位置が近い、等という表現で表すこともできる。
【００４０】
本実施形態の単語対応度算出部１２２は、単語対応度Ｐを以下の式（１）によって算出する。
【００４１】
単語対応度Ｐ（ａｘｉ→ｂｙｊ）＝＜ａｘｉ，ｂｙｊ＞    式（１）
ここで、＜ａｘｉ，ｂｙｊ＞は、単語ベクトルデータベース１１０における単語ａｘｉの単語ベクトルと、単語ｂｙｊの単語ベクトルとの内積を示す。
【００４２】
単語ベクトルとしては、単語の出現分布を表現するものであればよく、予め単に単語毎に求めて、単語ベクトルデータベース１１０に格納しておく。例えば、単語ベクトルは、テキスト集合（ｔ１，ｔ２，・・・，ｔｎ）の各テキストｔｋにおける単語の出現の有無を表す０または１を要素としたｎ次元のベクトルであっても良い。また、単語ベクトルは、深層学習を用いた文献（Distributed Representations of Sentences and Documents Proceedings of The 31st International Conference on Machine Learning (ICML 2014), pp. 1188 - 1196, 2014）による方法で作成したベクトルを用いても良い。
【００４３】
意味が類似している単語は、その出現分布（使用場面）も類似するため、出現分布に応じて定まる単語ベクトルの内積は、単語の意味内容が類似しているほど大きくなる。よって単語同士の単語対応度Ｐ（ａｘｉ→ｂｙｊ）も大きくなる。
【００４４】
例えば、「犬」と「学校」という２単語について考えると、「犬」はペット関連の書籍（テキスト）等に多く出現し、「学校」は教育関連の書籍（テキスト）等に多く出現する。また、「猫」という単語も、「犬」と同様にペット関連の書籍（テキスト）等に多く出現し、「大学」という単語も、「学校」と同様に教育関連の書籍（テキスト）等に多く出現する。
【００４５】
ここで、ペット関連の書籍ｔ１，ｔ２と教育関連の書籍ｔ３，ｔ４における単語の出現回数を並べた単語ベクトル（ｎ１，ｎ２，ｎ３，ｎ４）を考えると、「犬」と「猫」の単語ベクトルはｎ１，ｎ２が大きく、ｎ３，ｎ４が小さくなる。これに対して、「学校」や「大学」の単語ベクトルは、ｎ１，ｎ２が小さく、ｎ３，ｎ４が大きくなる。よって、「犬」と「猫」の単語ベクトルの内積は、「犬」と「大学」の単語ベクトルの内積のよりも大きくなる。つまり、「犬」と「猫」の組み合わせの単語対応度は、「犬」と「大学」の組み合わせの単語対応度よりも大きくなる。
【００４６】
本実施形態の単語対応度算出部１２２は、テキストデータ１０に含まれる単語と、テキストデータ２０に含まれる単語とで、取り得る全ての単語の組み合わせについて、単語対応度Ｐ（ａｘｉ→ｂｙｊ）を算出する。
【００４７】
そして、単語対応度算出部１２２は、単語対応度Ｐ（ａｘｉ→ｂｙｊ）の集合を、単語対応度情報として、対応付け履歴保持部１２４に保持させる。
【００４８】
続いて、対応付け処理部１２０は、単語対応付け部１２３により、単語対応度情報を参照して、テキストデータ１０に含まれる単語と、テキストデータ２０に含まれる単語との対応付けを行い、対応付け情報を取得する（ステップＳ４０２）。尚、対応付け情報は、対応付け履歴情報１２８の一部として対応付け履歴保持部１２４に保持される。ステップＳ４０２の処理の詳細は後述する。
【００４９】
続いて、対応付け処理部１２０は、単語対応度情報を更新する（ステップＳ４０３）。言い換えれば、単語対応度更新部１２５は、単語の組み合わせ毎の単語対応度を更新する。
【００５０】
以下に、単語対応度更新部１２５の処理について説明する。本実施形態の単語対応度更新部１２５は、以下の式（２）によって、単語対応度情報を更新する。
【００５１】
Ｐ（ａｘｉ→ｂｙｊ）＝Ｐ（ａｘｉ→ｂｙｊ｜ｕｘ→ｕｙ）×Ｐ（ｕｘ→ｕｙ）  式（２）
尚、ｕｘは、テキストデータ１０に含まれるｘ番目のユニット（文脈）を示し、ｕｙは、テキストデータ２０に含まれるｙ番目のユニットを示している。また、Ｐ（ｕｘ→ｕｙ）は、ユニットｕｘとユニットｕｙとの対応付けやすさを示す文脈対応度を示す。この文脈対応度は、単語対応付け部１２３によって取得される対応付け情報によって変化する。
【００５２】
式（２）の右辺第１項は、以下の式（３）によって求められる。式（３）では、ユニットｕｘとユニットｕｙとが対応付けられている場合における、単語ａｘｉが単語ｂｙｉに対応付けられる確率を示している。
【００５３】
尚、式（３）のＰ（ａｘｉ→ｂｙｊ）及びＰ（ａｘｉ→ｂｙｋ）は式（１）から求められる値を用いる。また、Σ＿ｋ等はｋに関する和を表す。
【００５４】
Ｐ（ａｘｉ→ｂｙｊ｜ｕｘ→ｕｙ）
＝Ｐ（ａｘｉ→ｂｙｊ）／Σ＿ｋＰ（ａｘｉ→ｂｙｋ）    式（３）
また、式（２）の右辺第２項は、以下の式（４）によって求められる。尚、式（４）のＰ（ａｘｉ→ｂｙｊ）は、単語対応付け部１２３による対応付け情報において、対応付けられた単語同士の単語対応度とする。
【００５５】
Ｐ（ｕｘ→ｕｙ）
＝Σ＿ｉＰ（ａｘｉ→ｂｙｊ）／Σ＿ｉΣ＿ｚＰ（ａｘｉ→ｂｚｌ）    式（４）
このように、本実施形態の単語対応度情報は、式（３）と式（４）の積で示される式（２）によって更新される。
【００５６】
ここで式（３）の条件付き確率は、式（１）で求められる値であり変化しないが、式（４）で得られる文脈対応度は、単語対応付け部１２３の結果に依存して変化する。
【００５７】
式（４）で得られる文脈対応度の変化に応じて、式（２）で更新された単語対応度情報が変化すれば、図４のステップＳ４０２における単語対応付け部１２３の処理の結果も変化する可能性がある。
【００５８】
続いて、対応付け処理部１２０は、終了判定部１２６により、処理の終了条件を満たすか否かを判定する（ステップＳ４０４）。
【００５９】
具体的には、終了判定部１２６は、ステップＳ４０３で算出した更新後の単語対応度情報が、更新前の単語対応度情報と一致する場合に、終了条件を満たすものと判定する。つまり、終了判定部１２６は、テキストデータ１０の単語とテキストデータ２０の単語との対応関係が変化しない場合に、処理の終了条件を満たすものと判定する。
【００６０】
以下に、終了判定部１２６の処理について、具体的に説明する。本実施形態の終了判定部１２６は、式（５）で定義される対数尤度Ｑを計算して記憶しておく。この値が、記憶しておいた前回の値よりも減少、もしくは変わらない場合に、終了判定部１２６は、終了条件を満たすものと判定する。
Ｑ＝Σ＿ｘΣ＿ｙｌｏｇＰ（ｕｘ→ｕｙ）        式（５）
ステップＳ４０４において、終了条件を満たしていないと判定された場合、対応付け処理部１２０は、ステップＳ４０２へ戻る。
【００６１】
ステップＳ４０４において、終了条件を満たすと判定された場合、対応付け処理部１２０は、出力部１３０により、最新の対応付け情報を、対応付け結果情報３０として出力し（ステップＳ４０５）、処理を終了する。言い換えれば、出力部１３０は、テキストデータ１０に含まれる単語ａｘｉ毎に、それぞれに対応付けられたテキストデータ２０の単語ｂｙｊを出力する。
【００６２】
次に、図５を参照して、単語対応付け部１２３の処理について説明する。図５は、言語処理装置の動作を説明する第二のフローチャートである。図５では、図４のステップＳ４０２の処理の詳細を示している。
【００６３】
本実施形態の単語対応付け部１２３は、テキストデータ１０から、単語Ｗａを取り出す（ステップＳ５０１）。続いて、単語対応付け部１２３は、単語Ｗａが、テキストデータ２０に含まれる単語と対応付けられているか否かを判定する（ステップＳ５０２）。ステップＳ５０２において、単語Ｗａが、テキストデータ２０に含まれる単語と対応付けられている場合、ステップＳ５０１に戻る。
【００６４】
ステップＳ５０１において、単語Ｗａが、テキストデータ２０に含まれる単語と対応付けられていない場合、単語対応付け部１２３は、テキストデータ２０から、単語Ｗａと単語対応度が大きい順に、単語Ｗｂを取り出す（ステップＳ５０３）。
【００６５】
続いて、単語対応付け部１２３は、単語Ｗｂは、テキストデータ１０に含まれる単語Ｗａとは他の単語Ｗｃと対応付けられているか否かを判定する（ステップＳ５０４）。ステップＳ５０４において、対応付けられていない場合、後述するステップＳ５０７へ進む。
【００６６】
ステップＳ５０４において、対応付けられている場合、単語対応付け部１２３は、単語Ｗａと単語Ｗｂの単語対応度が、単語Ｗｃと単語Ｗｂの単語対応度よりも大きいか否かを判定する（ステップＳ５０５）。ステップＳ５０５において、単語Ｗａと単語Ｗｂの単語対応度が、単語Ｗｃと単語Ｗｂの単語対応度以下である場合、つまり、ステップＳ５０５においてＮｏの場合、単語対応付け部１２３は、ステップＳ５０３へ戻る。
【００６７】
ステップＳ５０５において、単語Ｗａと単語Ｗｂの単語対応度が、単語Ｗｃと単語Ｗｂの単語対応度よりも大きい場合、単語対応付け部１２３は、単語Ｗｃと単語Ｗｂとの対応付けを解除する（ステップＳ５０６）。続いて、単語対応付け部１２３は、単語Ｗａと単語Ｗｂとを対応付ける（ステップＳ５０７）。
【００６８】
続いて、単語対応付け部１２３は、テキストデータ１０に含まれる全ての単語について、対応付けが行われたか否かを判定する（ステップＳ５０８）。ステップＳ５０８において、全ての単語について対応付けが行われていない場合、単語対応付け部１２３は、ステップＳ５０１に戻る。ステップＳ５０８において、全ての単語について対応付けが行われた場合、単語対応付け部１２３は、処理を終了する。
【００６９】
尚、本実施形態では、テキストデータ１０に含まれる単語の数と比べて、テキストデータ２０に含まれる単語の数の方が少ない場合には、テキストデータ２０に対し、単語の数がテキストデータ１０と等しくなるように、ダミーの単語を追加しても良い。尚、ダミーとして追加する単語は、テキストデータ１０に含まれる単語との単語対応度が、テキストデータ２０に含まれる単語との単語対応度よりも小さくなるものとする。
【００７０】
例えば、テキストデータ１０に単語ｗ１、ｗ２、ｗ３が含まれており、テキストデータ２０に単語ｗ５、ｗ６が含まれている場合、テキストデータ２０に、単語数がテキストデータ１０と同じになるように、ダミーの単語ｗ７を追加する。
【００７１】
単語ｗ７の語形もしくは識別ラベルは、テキストデータ２０の他の単語ｗ５、ｗ６と区別でき、ｗ７のみを同定できるものであればよい。また、単語ｗ１と単語ｗ７との単語対応度は、例えば、 単語ｗ１と単語ｗ５との単語対応度が０．１、単語ｗ１と単語ｗ６との単語対応度が０．３であった場合、０．１より小さな値（例えば０．０）とする。
【００７２】
また、単語ｗ２と単語ｗ７との単語対応度は、例えば、単語ｗ２と単語ｗ５との単語対応度が０．２、単語ｗ２と単語ｗ６との単語対応度が０．４であった場合、０．２より小さな値（例えば０．０）とする。
【００７３】
尚、単語対応度が非負となるように定義されている場合には、ダミーの単語との単語対応度は一律に０としてもよい。
【００７４】
次に、図６乃至図１１を参照して、本実施形態の対応付け処理部１２０の処理について具体的に説明する。
【００７５】
図６、テキストデータの一例を示す図である。図６では、テキストデータ１０には、１つのユニット「昨日、小説を買った」が含まれる。以下の説明では、テキストデータ１０に含まれるユニット「昨日、小説を買った」をユニットｕａ１として示す。
【００７６】
テキストデータ２０には、２つのユニット「昨日、本を買った」、「彼は、小説を書く」が含まれる。以下の説明では、テキストデータ２０に含まれる１つ目のユニット「昨日、本を買った」をユニットｕｂ１と示し、２つ目のユニット「彼は、小説を書く」をユニットｕｂ２と示す。
【００７７】
図７は、単語対応度情報の一例を示す図である。図７では、図６に示すテキストデータ１０に含まれる単語と、テキストデータ２０に含まれる単語との組み合わせ毎の単語対応度を算出した結果である単語対応度情報７１を示している。
【００７８】
図７の例では、縦軸方向にテキストデータ１０に含まれる単語を記載し、横軸方向にテキストデータ２０に含まれる単語を記載している。
【００７９】
テキストデータ１０に含まれる単語は、「昨日」、「小説を」、「買った」の３つである。また。テキストデータ２０に含まれる単語は、「昨日」、「本を」、「買った」、「彼は」、「小説を」、「書く」の６つである。
【００８０】
ここでは、単語対応付け部１２３は、単語ベクトルデータベース１１０を参照し、テキストデータ１０に含まれる単語の単語ベクトルと、テキストデータ２０に含まれる単語の単語ベクトルと、式（１）とによって、単語同士の単語対応度を算出している。図７に示す単語同士の単語対応度は、単語対応度更新部１２５により更新される前の単語対応度であり、単語対応度の初期値と言える。
【００８１】
尚、図７では、説明を簡便化するため大部分の単語対応度は一律に０．０としている。対応付け処理部１２０は、単語対応度情報７１が取得されると、単語対応付け部１２３により、単語同士の対応付けを行う。
【００８２】
図８は、対応付け情報の一例を示す図である。図８に示す対応付け情報８１は、図７の単語対応度情報７１にしたがって、Ｇａｌｅ−Ｓｈａｐｌｅｙアルゴリズムにより、テキストデータ１０に含まれる単語とテキストデータ２０に含まれる単語の対応付けを行った結果を示している。
【００８３】
次に、対応付け処理部１２０は、単語対応度更新部１２５により、テキストデータ１０に含まれるユニットと、テキストデータ２０に含まれるユニットとの組み合わせ毎の文脈対応度を算出する。
【００８４】
図９は、単語対応度情報の更新を説明する第一の図である。図９では、式（３）によって得られた結果を示している。
【００８５】
例えば、ユニットｕａ１がユニットｕｂ１に対応付く場合に、ユニットｕａ１の単語「昨日」とユニットｕｂ１の単語「昨日」との単語対応度は、以下のようになる。
【００８６】
Ｐ（昨日→昨日｜ｕａ１→ｕｂ１)
＝Ｐ（昨日→昨日）／｛Ｐ（昨日→昨日）＋Ｐ（昨日→本を）＋Ｐ（昨日→買った）｝}
＝１．０／（１．０＋０＋０）＝１．０
となる。また、ユニットｕａ１がユニットｕｂ２に対応付く場合に、ユニットｕａ１の単語「昨日」とユニットｕｂ２の単語「彼は」との単語対応度は、以下のようになる。
【００８７】
Ｐ（昨日→彼は｜ｕａ１→ｕｂ２）
＝Ｐ（昨日→彼は）／｛Ｐ（昨日→彼は）＋Ｐ（昨日→小説を）＋Ｐ（昨日→書く）｝
＝０．３／（０．３＋０＋０）＝１．０
図１０は、単語対応度情報の更新を説明する第二の図である。図１０では、式（４）によって得られた結果を示している。図１０では、縦軸方向に、テキストデータ１０に含まれるユニットを記載し、横軸方向にテキストデータ２０に含まれるユニットを記載している。
【００８８】
図８に示す対応付け情報８１では、ユニットｕａ１の単語「昨日」は、ユニットｕｂ１の単語「昨日」と対応付けられており、ユニットｕａ１の単語「小説を」は、ユニットｕｂ２の単語「小説を」と対応付けられている。また、ユニットｕａ１の単語「買った」は、ユニットｕｂ１との単語「買った」と対応付けられている。
【００８９】
したがって、図１０では、ユニットｕａ１とユニットｕｂ１との文脈対応度は、以下のようになる。
Ｐ（ｕａ１→ｕｂ１）
＝｛Ｐ（昨日→昨日）＋Ｐ（買った→買った）｝}／｛Ｐ（昨日→昨日）＋Ｐ（小説を→小説を）＋Ｐ（買った→買った）｝
＝（１．０＋１．０）／（１．０＋１．０＋１．０）
＝２．０／３．０＝０．７（０．６６・・を四捨五入）
となる。同様に、ユニットｕａ１とユニットｕｂ２との文脈対応度は、
Ｐ（ｕａ１→ｕｂ２）
＝Ｐ（(小説を→小説を)／｛Ｐ（昨日→昨日）＋Ｐ（小説を→小説を）＋Ｐ（買った→買った）
＝１．０／（１．０＋１．０＋１．０）＝１．０／３．０＝０．３（０．３３を四捨五入）
となる。
【００９０】
以上の式（３）と式（４）の値を用いて、式（２）の値を計算した結果を、図１１に示す。図１１は、更新された単語対応度情報の一例を示す図である。
【００９１】
図１１に示す単語同士の組み合わせ毎の単語対応度は、それぞれが式（２）によって更新された単語対応度である。つまり、図１１は、図７に示す単語対応度情報７１を、式（２）を用いて更新した単語対応度情報７１Ａである。
【００９２】
本実施形態では、更新された単語対応度情報７１Ａに基づいて、単語対応付け部１２３による単語同士の対応付けを行うと、ユニットｕａ１に含まれる単語「小説を」は、ユニットｕｂ１に含まれる単語「小説を」ではなく、ユニットｕｂ２に含まれる単語「本を」と対応付けられる。
【００９３】
つまり、本実施形態によれば、式（１）によって得られる単語単独での単語対応度だけではなく、式（４）で得られる、その単語が属するユニットの間の文脈対応度も加味した単語対応度を用いる。
【００９４】
このため、本実施形態によれば、文脈「昨日、小説を買った」に出現する単語「小説を」を、文脈「彼は、小説を書く」よりも類似した文脈「昨日、本を買った」に出現し、かつ、単語「小説を」と単語対応度が高い単語「本を」に対応づけることができる。したがって、本実施形態によれば、適切な単語同士の対応付けを行うことができる。
【００９５】
尚、本実施形態では、単語ベクトルデータベース１１０に格納された単語ベクトルを用いて単語対応度を算出するものとしたが、単語対応度とされる値は、これに限定されない。単語対応度は、単語同士の対応のし易さの度合い（指標）を示していれば良く、例えば、単語に含まれる文字の形状の類似の度合いや、文脈に出現する位置や、文字数、文字の種類等によって示されても良い。
【００９６】
次に、図１２を参照して、本実施形態の対応付け結果情報３０を用いて単語の対応付けを行った結果の表示例について説明する。図１２は、対応付け結果情報を用いた表示例を示す図である。
【００９７】
図１２に示す画面２０１は、例えば、言語処理装置１００の出力装置１２等に表示された画面であっても良いし、言語処理装置１００と通信を行う端末装置等に表示された画面であっても良い。
【００９８】
画面２０１には、入力された２つのテキストデータをそれぞれ表示させる表示欄２０２、２０３と、各テキストデータにおいて、対応する単語を含む文章同士を強調表示させたことを示すメッセージ２０４とが表示されている。
【００９９】
表示欄２０２には、テキストデータＡＡが表示されており、テキストデータＡＡには、ユニット２２１、２１２、２１３が含まれる。表示欄２０３には、テキストデータＢＢが表示されており、テキストデータＢＢには、ユニット２２１、２２２が含まれる。
【０１００】
図１２の例では、テキストデータＡＡのユニット２１１と、テキストデータＢＢのユニット２２２とが、強調表示されている。つまり、図１２の例では、テキストデータＡＡのユニット２１１に含まれる単語と、テキストデータＢＢのユニット２２２に含まれる単語とが、対応付けられていることがわかる。
【０１０１】
したがって、画面２０１では、テキストデータＡＡとテキストデータＢＢでは、ユニット２１１とユニット２２２は、意味が近い文脈であることを、画面２０１の閲覧者に示唆することができる。
【０１０２】
尚、図１２の例では、ユニット単位で強調表示を行うものとしたが、これに限定されない。本実施形態では、対応付け結果情報３０において、対応付けられている２つの単語に同じ色にマーカを付して表示させても良い。また、強調表示されたユニットに含まれる単語について、ユニットに付されたマーカとは異なる色のマーカを付して表示させても良い。
【０１０３】
図１２の例では、例えば、対応付け結果情報３０において、ユニット２１１内の単語「天気」と、ユニット２２２の「お天気」が対応付けられていた場合、これらの２つの単語について、ユニット２１１、２２２に付されたマーカとは別の表示態様（字体、フォント等を含む）で強調表示させても良い。
【０１０４】
次に、本実施形態の言語処理装置１００を有する言語処理システムのシステム構成について説明する。図１３は、言語処理装置を含むシステムのシステム構成の一例を示す図である。
【０１０５】
図１３に示す言語処理システム２００は、言語処理装置１００と端末装置３００とを含み、端末装置３００は、言語処理装置１００とネットワーク等を介して接続される。
【０１０６】
言語処理システム２００において、言語処理装置１００は、例えば、端末装置３００から、テキストデータ１０、２０を受信すると、このテキストデータ１０、２０に基づき、対応付け処理部１２０の処理を実行する。そして、対応付け処理部１２０の処理の結果として取得された対応付け結果情報３０を、出力部１３０により、端末装置３００へ出力する。
【０１０７】
尚、端末装置３００から受信するテキストデータ１０、２０は、予め２つのテキストファイルとして受信されても良いし、１つのテキストファイルとして受信しても良い。
【０１０８】
以上、各実施形態に基づき本発明の説明を行ってきたが、上記実施形態に示した要件に本発明が限定されるものではない。これらの点に関しては、本発明の主旨をそこなわない範囲で変更することができ、その応用形態に応じて適切に定めることができる。
【符号の説明】
【０１０９】
１０、２０  テキストデータ
１００  言語処理装置
１１０  単語ベクトルデータベース
１２０  対応付け処理部
１２１  入力受付部
１２２  単語対応度算出部
１２３  単語対応付け部
１２４  対応付け履歴保持部
１２５  単語対応度更新部
１２６  終了判定部
１２８  対応付け履歴情報
１３０  出力部
【先行技術文献】
【特許文献】
【０１１０】
【特許文献１】特開２０１１−１５４７２０号公報
【非特許文献】
【０１１１】
【非特許文献１】D. Gale and L.S. Shapley. College admissions and the stability of marriage.  American Mathmatical Monthly, 69:9-15, 1962
【図１】
2020057105.tif 000003
【図２】
2020057105.tif 000004
【図３】
2020057105.tif 000005
【図４】
2020057105.tif 000006
【図５】
2020057105.tif 000007
【図６】
2020057105.tif 000008
【図７】
2020057105.tif 000009
【図８】
2020057105.tif 000010
【図９】
2020057105.tif 000011
【図１０】
2020057105.tif 000012
【図１１】
2020057105.tif 000013
【図１２】
2020057105.tif 000014
【図１３】
2020057105.tif 000015