(57)【特許請求の範囲】
【請求項１】
少なくとも１つのプロセッサを含むコンピュータ装置の重複文書探知方法であって、
前記少なくとも１つのプロセッサが、文書データベースから、同じ属性を有する複数の類似文書ペアを含む類似文書ペア集合およびランダムに抽出された複数の非類似文書ペアを含む非類似文書ペア集合を抽出する段階、
前記少なくとも１つのプロセッサが、前記複数の類似文書ペアそれぞれおよび前記複数の非類似文書ペアそれぞれに対して数学的尺度を利用した数学的類似度を計算する段階、
前記少なくとも１つのプロセッサが、前記複数の類似文書ペアそれぞれに対して計算された数学的類似度を増加させ、前記複数の非類似文書ペアそれぞれに対して計算された数学的類似度を減少させて、前記複数の類似文書ペアそれぞれおよび前記複数の非類似文書ペアそれぞれに対する意味的類似度を計算する段階、
前記少なくとも１つのプロセッサが、前記複数の類似文書ペア、前記複数の非類似文書ペア、および前記意味的類似度を利用して類似度モデルを学習させる段階、および
前記少なくとも１つのプロセッサが、前記類似度モデルを利用して重複文書を探知する段階
を含む、重複文書探知方法。
【請求項２】
前記属性は、文書の作成者、文書の掲示セクション、および文書の登録時間範囲のうちの少なくとも１つを含むことを特徴とする、請求項１に記載の重複文書探知方法。
【請求項３】
前記意味的類似度を計算する段階は、
前記複数の類似文書ペアそれぞれに対して計算された数学的類似度を第１非線形関数に入力して増加させ、前記複数の非類似文書ペアそれぞれに対して計算された数学的類似度を第２非線形関数に入力して減少させ、
前記第１非線形関数および前記第２非線形関数は、同一のすべての入力値に対して前記第１非線形関数が前記第２非線形関数よりも高い値を算出するという条件を満たす２つの非線形関数であることを特徴とする、請求項１に記載の重複文書探知方法。
【請求項４】
前記類似度モデルを学習させる段階は、
前記複数の類似文書ペアそれぞれおよび前記複数の非類似文書ペアそれぞれを前記類似度モデルに順に入力して前記類似度モデルの出力値と入力された文書ペアに対応する意味的類似度間の平均二乗誤差（Ｍｅａｎ  Ｓｑｕａｒｅｄ  Ｅｒｒｏｒ：ＭＳＥ）が最小化するように前記類似度モデルを学習させることを特徴とする、請求項１に記載の重複文書探知方法。
【請求項５】
前記重複文書を探知する段階は、
重複を探知しようとする文書集合から文書ペアを抽出する段階、
前記抽出された文書ペアを前記類似度モデルに順に入力して前記抽出された文書ペアそれぞれの意味的類似度を計算する段階、および
前記計算された意味的類似度が予め設定された閾値以上である文書ペアを重複文書として決定する段階
を含むことを特徴とする、請求項１に記載の重複文書探知方法。
【請求項６】
前記文書ペアを抽出する段階は、
前記文書集合の部分集合のうちで要素の数が２である部分集合を文書ペアとして抽出することを特徴とする、請求項５に記載の重複文書探知方法。
【請求項７】
前記重複文書を探知する段階は、
新しい文書に対する登録要求にしたがい、予め設定された文書を含む文書集合の文書のいずれか１つと前記新しい文書を含む文書ペアを前記文書集合の文書それぞれに対して抽出する段階、
前記抽出された文書ペアを前記類似度モデルに順に入力して前記抽出された文書ペアそれぞれの意味的類似度を計算する段階、
前記計算された意味的類似度が予め設定された第１閾値以上である文書ペアを重複文書として決定する段階、および
前記重複文書として決定された文書ペアの数が予め設定された第２閾値以上である場合、前記新しい文書を重複文書として決定する段階
を含むことを特徴とする、請求項１に記載の重複文書探知方法。
【請求項８】
前記重複文書を探知する段階は、
前記新しい文書が重複文書として決定された場合、前記新しい文書を登録する代わりにキャプチャ（Ｃａｐｔｃｈａ）を表示することを特徴とする、請求項７に記載の重複文書探知方法。
【請求項９】
前記数学的類似度を計算する段階は、
前記数学的尺度として、コサイン類似度（Ｃｏｓｉｎｅ  Ｓｉｍｉｌａｒｉｔｙ）、ユークリッド距離（Ｅｕｃｌｉｄｅａｎ  Ｄｉｓｔａｎｃｅ）、およびジャッカード類似度（Ｊａｃｃａｒｄ  Ｓｉｍｉｌａｒｉｔｙ）のうちの少なくとも１つを利用して前記数学的類似度を計算することを特徴とする、請求項１に記載の重複文書探知方法。
【請求項１０】
コンピュータ装置により実行されると、請求項１〜９のうちのいずれか一項に記載の方法を前記コンピュータ装置に実行させる、コンピュータプログラム。
【請求項１１】
請求項１〜９のうちのいずれか一項に記載の方法をコンピュータ装置に実行させるコンピュータプログラムが記録されている、コンピュータ読み取り可能な記録媒体。
【請求項１２】
コンピュータ読み取り可能な命令を実行するように実現される少なくとも１つのプロセッサ
を含み、
前記少なくとも１つのプロセッサにより、
文書データベースから、同じ属性を有する複数の類似文書ペアを含む類似文書ペア集合およびランダムに抽出された複数の非類似文書ペアを含む非類似文書ペア集合を抽出し、
前記複数の類似文書ペアそれぞれおよび前記複数の非類似文書ペアそれぞれに対して数学的尺度を利用した数学的類似度を計算し、
前記複数の類似文書ペアそれぞれに対して計算された数学的類似度を増加させ、前記複数の非類似文書ペアそれぞれに対して計算された数学的類似度を減少させて、前記複数の類似文書ペアそれぞれおよび前記複数の非類似文書ペアそれぞれに対する意味的類似度を計算し、
前記複数の類似文書ペア、前記複数の非類似文書ペア、および前記意味的類似度を利用して類似度モデルを学習させ、
前記類似度モデルを利用して重複文書を探知すること
を特徴とする、コンピュータ装置。
【請求項１３】
前記少なくとも１つのプロセッサにより、
前記複数の類似文書ペアそれぞれに対して計算された数学的類似度を第１非線形関数に入力して増加させ、前記複数の非類似文書ペアそれぞれに対して計算された数学的類似度を第２非線形関数に入力して減少させ、
前記第１非線形関数および前記第２非線形関数は、同一のすべての入力値に対して前記第１非線形関数が前記第２非線形関数よりも高い値を算出する条件を満たす２つの非線形関数であること
を特徴とする、請求項１２に記載のコンピュータ装置。
【請求項１４】
前記少なくとも１つのプロセッサにより、
前記複数の類似文書ペアそれぞれおよび前記複数の非類似文書ペアそれぞれを前記類似度モデルに順に入力して前記類似度モデルの出力値と入力された文書ペアに対応する意味的類似度間の平均二乗誤差（Ｍｅａｎ  Ｓｑｕａｒｅｄ  Ｅｒｒｏｒ、ＭＳＥ）が最小化するように前記類似度モデルを学習させること
を特徴とする、請求項１２に記載のコンピュータ装置。
【請求項１５】
前記少なくとも１つのプロセッサにより、
重複を探知しようとする文書集合から文書ペアを抽出し、
前記抽出された文書ペアを前記類似度モデルに順に入力して前記抽出された文書ペアそれぞれの意味的類似度を計算し、
前記計算された意味的類似度が予め設定された閾値以上である文書ペアを重複文書として決定すること
を特徴とする、請求項１２に記載のコンピュータ装置。
【請求項１６】
前記少なくとも１つのプロセッサにより、
新しい文書に対する登録要求にしたがい、予め設定された文書を含む文書集合の文書のいずれか１つと前記新しい文書を含む文書ペアを前記文書集合の文書それぞれに対して抽出し、
前記抽出された文書ペアを前記類似度モデルに順に入力して前記抽出された文書ペアそれぞれの意味的類似度を計算し、
前記計算された意味的類似度が予め設定された第１閾値以上である文書ペアを重複文書として決定し、
前記重複文書として決定された文書ペアの数が予め設定された第２閾値以上である場合、前記新しい文書を重複文書として決定すること
を特徴とする、請求項１２に記載のコンピュータ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
以下の説明は、ディープラーニングに基づく文書類似度測定モデルを利用した重複文書探知方法およびシステムに関する。
【背景技術】
【０００２】
一般的に、テキスト間の類似度を測定する方法では、テキストを形態素、文字、Ｎグラム（Ｎ−ｇｒａｍ）などのトークン単位に分けた後、コサイン類似度（Ｃｏｓｉｎｅ  Ｓｉｍｉｌａｒｉｔｙ）、ユークリッド距離（Ｅｕｃｌｉｄｅａｎ  Ｄｉｓｔａｎｃｅ）、ジャッカード類似度（Ｊａｃｃａｒｄ  Ｓｉｍｉｌａｒｉｔｙ）などのような数学的尺度（ｍｅａｓｕｒｅ）を利用して類似度を測定する。例えば、特許文献１は、オンラインサービス可能な類義語辞書に基づく盗作文書探索システムに関するものであって、原本文書と検査対象文書をそれぞれ単語単位に分割し、類義語辞書で検索された代表類義語とともにデータベースに格納する前処理過程、前記原本文書からジャッカード係数（Ｊａｃｃａｒｄ  Ｃｏｅｆｆｉｃｉｅｎｔ）に基づく類似度を基準として前記検査対象文書と類似する第１文書を選別する過程、および前記第１文書からコサイン（ｃｏｓｉｎｅ）距離に基づく類似度を基準として前記検査対象文書と類似する第２文書を選別する過程を開示している。
【０００３】
しかし、このような数学的尺度を利用した類似度の測定は、文書の意味は異なるが、テキストの重要でない部分間の偶然的な一致によって類似度が過大評価されたり、文書の意味は類似するが、テキストの重要でない部分の不一致によって類似度が過小評価されるという問題が発生する。例えば、第１テキスト「ｈａ  ｈａ  ｈａ  ｈａ  Ｌｅｔ’ｓ  ｈａｎｇｏｎ」と第２テキスト「ｈａ  ｈａ  ｈａ  ｈａ  Ｌｅｔ’ｓ  ｈａｎｇｏｕｔ」は、意味的類似度は極めて低いが、数学的尺度の観点からみるときには、重要でない部分「ｈａ  ｈａ  ｈａ  ｈａ  ｈａ  Ｌｅｔ’ｓ  ｈａｎｇ」の偶然的な一致によって類似度が過大評価されることがある。他の例として、第３テキスト「ｈａ  ｈａ  ｈａ  ｈａ  ｈａ  ｈａ  ｈａ  ｈａ，Ｃｈｅｅｒ  ｕｐ」と第４テキスト「Ｃｈｅｅｒ  ｕｐ」は、意味的類似度は極めて高いが、数学的尺度の観点からみるときには、重要でない部分「ｈａ  ｈａ  ｈａ  ｈａ  ｈａ  ｈａ  ｈａ  ｈａ，」の不一致によって類似度が過小評価されることがある。
【０００４】
言い換えれば、数学的尺度によって測定される類似度は、２つのテキストに類似する文字がどれほど含まれているかに対する値を提供するだけであって、２つのテキストの意味的類似度に関しては無差別的な値を算出するという問題がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】韓国登録特許第１０−１６２６２４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
文書間の意味的類似度に基づいて文書間の重複の可否を決定することができる、重複文書探知方法およびシステムを提供する。
【課題を解決するための手段】
【０００７】
少なくとも１つのプロセッサを含むコンピュータ装置の重複文書探知方法であって、前記少なくとも１つのプロセッサが、文書データベースから、同じ属性を有する複数の類似文書ペアを含む類似文書ペア集合およびランダムに抽出された複数の非類似文書ペアを含む非類似文書ペア集合を抽出する段階、前記少なくとも１つのプロセッサが、前記複数の類似文書ペアそれぞれおよび前記複数の非類似文書ペアそれぞれに対して数学的尺度を利用した数学的類似度を計算する段階、前記少なくとも１つのプロセッサが、前記複数の類似文書ペアそれぞれに対して計算された数学的類似度を増加させ、前記複数の非類似文書ペアそれぞれに対して計算された数学的類似度を減少させて、前記複数の類似文書ペアそれぞれおよび前記複数の非類似文書ペアそれぞれに対する意味的類似度を計算する段階、前記少なくとも１つのプロセッサが、前記複数の類似文書ペア、前記複数の非類似文書ペア、および前記意味的類似度を利用して類似度モデルを学習させる段階、および前記少なくとも１つのプロセッサが、前記類似度モデルを利用して重複文書を探知する段階を含む、重複文書探知方法を提供する。
【０００８】
一側によると、前記属性は、文書の作成者、文書の掲示セクション、および文書の登録時間範囲のうちの少なくとも１つを含むことを特徴としてよい。
【０００９】
他の側面によると、前記意味的類似度を計算する段階は、前記複数の類似文書ペアそれぞれに対して計算された数学的類似度を第１非線形関数に入力して増加させ、前記複数の非類似文書ペアそれぞれに対して計算された数学的類似度を第２非線形関数に入力して減少させ、前記第１非線形関数および前記第２非線形関数は、同一のすべての入力値に対して前記第１非線形関数が前記第２非線形関数よりも高い値を算出するという条件を満たす２つの非線形関数であることを特徴としてよい。
【００１０】
また他の側面によると、前記類似度モデルを学習させる段階は、前記複数の類似文書ペアそれぞれおよび前記複数の非類似文書ペアそれぞれを前記類似度モデルに順に入力して前記類似度モデルの出力値と入力された文書ペアに対応する意味的類似度の平均二乗誤差（Ｍｅａｎ  Ｓｑｕａｒｅｄ  Ｅｒｒｏｒ：ＭＳＥ）が最小化するように前記類似度モデルを学習させることを特徴としてよい。
【００１１】
また他の側面によると、前記重複文書を探知する段階は、重複を探知しようとする文書集合から文書ペアを抽出する段階、前記抽出された文書ペアを前記類似度モデルに順に入力して前記抽出された文書ペアそれぞれの意味的類似度を計算する段階、および前記計算された意味的類似度が予め設定された閾値以上である文書ペアを重複文書として決定する段階を含むことを特徴としてよい。
【００１２】
また他の側面によると、前記文書ペアを抽出する段階は、前記文書集合の部分集合のうちから要素の数が２である部分集合を文書ペアとして抽出することを特徴としてよい。
【００１３】
また他の側面によると、前記重複文書を探知する段階は、新しい文書に対する登録要求にしたがい、予め設定された文書を含む文書集合の文書のうちのいずれか１つと前記新しい文書を含む文書ペアを前記文書集合の文書それぞれに対して抽出する段階、前記抽出された文書ペアを前記類似度モデルに順に入力して前記抽出された文書ペアそれぞれの意味的類似度を計算する段階、前記計算された意味的類似度が予め設定された第１閾値以上である文書ペアを重複文書として決定する段階、および前記重複文書として決定された文書ペアの数が予め設定された第２閾値以上である場合、前記新しい文書を重複文書として決定する段階を含むことを特徴としてよい。
【００１４】
また他の側面によると、前記重複文書を探知する段階は、前記新しい文書が重複文書として決定された場合、前記新しい文書を登録する代わりにキャプチャ（Ｃａｐｔｃｈａ）を表示することを特徴としてよい。
【００１５】
さらに他の側面によると、前記数学的類似度を計算する段階は、前記数学的尺度として、コサイン類似度（Ｃｏｓｉｎｅ  Ｓｉｍｉｌａｒｉｔｙ）、ユークリッド距離（Ｅｕｃｌｉｄｅａｎ  Ｄｉｓｔａｎｃｅ）、およびジャッカード類似度（Ｊａｃｃａｒｄ  Ｓｉｍｉｌａｒｉｔｙ）のうちの少なくとも１つを利用して前記数学的類似度を計算することを特徴としてよい。
【００１６】
コンピュータ装置により実行されると、前記方法をコンピュータ装置に実行させるためにコンピュータ読み取り可能な記録媒体に記録されたコンピュータプログラムを提供する。
【００１７】
前記方法をコンピュータ装置に実行させるためのプログラムが記録されている、コンピュータ読み取り可能な記録媒体を提供する。
【００１８】
コンピュータ読み取り可能な命令を実行するように実現される少なくとも１つのプロセッサを含み、前記少なくとも１つのプロセッサにより、文書データベースから、同じ属性を有する複数の類似文書ペアを含む類似文書ペア集合およびランダムに抽出された複数の非類似文書ペアを含む非類似文書ペア集合を抽出し、前記複数の類似文書ペアそれぞれおよび前記複数の非類似文書ペアそれぞれに対して数学的尺度を利用した数学的類似度を計算し、前記複数の類似文書ペアそれぞれに対して計算された数学的類似度を増加させ、前記複数の非類似文書ペアそれぞれに対して計算された数学的類似度を減少させて、前記複数の類似文書ペアそれぞれおよび前記複数の非類似文書ペアそれぞれに対する意味的類似度を計算し、前記複数の類似文書ペア、前記複数の非類似文書ペア、および前記意味的類似度を利用して類似度モデルを学習させ、前記類似度モデルを利用して重複文書を探知することを特徴とする、コンピュータ装置を提供する。
【発明の効果】
【００１９】
文書間の意味的類似度に基づいて文書間の重複の可否を決定することができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の一実施形態における、ネットワーク環境の例を示した図である。
【図２】本発明の一実施形態における、コンピュータ装置の例を示したブロック図である。
【図３】本発明の一実施形態における、類似度モデルの学習過程の例を示した図である。
【図４】本発明の一実施形態における、重複文書探知過程の例を示した図である。
【図５】本発明の一実施形態における、重複文書探知方法の例を示したフローチャートである。
【発明を実施するための形態】
【００２１】
以下、実施形態について、添付の図面を参照しながら詳しく説明する。
【００２２】
本発明の実施形態に係る重複文書探知システムは、少なくとも１つのコンピュータ装置によって実現されてよく、本発明の実施形態に係る重複文書探知方法は、重複文書探知システムに含まれる少なくとも１つのコンピュータ装置によって実行されてよい。コンピュータ装置においては、本発明の一実施形態に係るコンピュータプログラムがインストールされて実行されてよく、コンピュータ装置は、実行されたコンピュータプログラムの制御にしたがって本発明の実施形態に係る重複文書探知方法を実行してよい。上述したコンピュータプログラムは、コンピュータ装置により実行されて重複文書探知方法をコンピュータに実行させるためにコンピュータ読み取り可能な記録媒体に記録されてよい。
【００２３】
図１は、本発明の一実施形態における、ネットワーク環境の例を示した図である。図１のネットワーク環境は、複数の電子機器１１０、１２０、１３０、１４０、複数のサーバ１５０、１６０、およびネットワーク１７０を含む例を示している。このような図１は、発明の説明のための一例に過ぎず、電子機器の数やサーバの数が図１のように限定されることはない。また、図１のネットワーク環境は、本実施形態に適用可能な環境のうちの１つの例を説明するものに過ぎず、本実施形態に適用可能な環境が図１のネットワーク環境に限定されることはない。
【００２４】
複数の電子機器１１０、１２０、１３０、１４０は、コンピュータ装置によって実現される固定端末や移動端末であってよい。複数の電子機器１１０、１２０、１３０、１４０の例としては、スマートフォン、携帯電話、ナビゲーション、ＰＣ（ｐｅｒｓｏｎａｌ  ｃｏｍｐｕｔｅｒ）、ノート型ＰＣ、デジタル放送用端末、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、ＰＭＰ（Ｐｏｒｔａｂｌｅ  Ｍｕｌｔｉｍｅｄｉａ  Ｐｌａｙｅｒ）、タブレットなどがある。一例として、図１では、電子機器１１０の例としてスマートフォンを示しているが、本発明の実施形態において、電子機器１１０は、実質的に無線または有線通信方式を利用し、ネットワーク１７０を介して他の電子機器１２０、１３０、１４０および／またはサーバ１５０、１６０と通信することのできる多様な物理的なコンピュータ装置のうちの１つを意味してよい。
【００２５】
通信方式が限定されることはなく、ネットワーク１７０が含むことのできる通信網（一例として、移動通信網、有線インターネット、無線インターネット、放送網）を利用する通信方式だけではなく、機器間の近距離無線通信が含まれてもよい。例えば、ネットワーク１７０は、ＰＡＮ（ｐｅｒｓｏｎａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ＬＡＮ（ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ＣＡＮ（ｃａｍｐｕｓ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ＭＡＮ（ｍｅｔｒｏｐｏｌｉｔａｎ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ＷＡＮ（ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ＢＢＮ（ｂｒｏａｄｂａｎｄ  ｎｅｔｗｏｒｋ）、インターネットなどのネットワークのうちの１つ以上の任意のネットワークを含んでよい。さらに、ネットワーク１７０は、バスネットワーク、スターネットワーク、リングネットワーク、メッシュネットワーク、スター−バスネットワーク、ツリーまたは階層的ネットワークなどを含むネットワークトポロジのうちの任意の１つ以上を含んでもよいが、これらに限定されることはない。
【００２６】
サーバ１５０、１６０それぞれは、複数の電子機器１１０、１２０、１３０、１４０とネットワーク１７０を介して通信して命令、コード、ファイル、コンテンツ、サービスなどを提供する１つ以上のコンピュータ装置によって実現されてよい。例えば、サーバ１５０は、ネットワーク１７０を介して接続した複数の電子機器１１０、１２０、１３０、１４０にサービス（一例として、コンテンツ提供サービス、グループ通話サービス（または、音声会議サービス）、メッセージングサービス、メールサービス、ソーシャルネットワークサービス、地図サービス、翻訳サービス、金融サービス、決済サービス、検索サービスなど）を提供するシステムであってよい。
【００２７】
図２は、本発明の一実施形態における、コンピュータ装置の例を示したブロック図である。上述した複数の電子機器１１０、１２０、１３０、１４０それぞれやサーバ１５０、１６０それぞれは、図２に示したコンピュータ装置２００によって実現されてよい。
【００２８】
このようなコンピュータ装置２００は、図２に示すように、メモリ２１０、プロセッサ２２０、通信インタフェース２３０、および入力／出力インタフェース２４０を含んでよい。メモリ２１０は、コンピュータ読み取り可能な記録媒体であって、ＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、ＲＯＭ（ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）、およびディスクドライブのような永続的大容量記録装置を含んでよい。ここで、ＲＯＭやディスクドライブのような永続的大容量記録装置は、メモリ２１０とは区分される別の永続的記録装置としてコンピュータ装置２００に含まれてもよい。また、メモリ２１０には、オペレーティングシステムと、少なくとも１つのプログラムコードが記録されてよい。このようなソフトウェア構成要素は、メモリ２１０とは別のコンピュータ読み取り可能な記録媒体からメモリ２１０にロードされてよい。このような別のコンピュータ読み取り可能な記録媒体は、フロッピー（登録商標）ドライブ、ディスク、テープ、ＤＶＤ／ＣＤ−ＲＯＭドライブ、メモリカードなどのコンピュータ読み取り可能な記録媒体を含んでよい。他の実施形態において、ソフトウェア構成要素は、コンピュータ読み取り可能な記録媒体ではない通信インタフェース２３０を通じてメモリ２１０にロードされてもよい。例えば、ソフトウェア構成要素は、ネットワーク１７０を介して受信されるファイルによってインストールされるコンピュータプログラムに基づいてコンピュータ装置２００のメモリ２１０にロードされてよい。
【００２９】
プロセッサ２２０は、基本的な算術、ロジック、および入出力演算を実行することにより、コンピュータプログラムの命令を処理するように構成されてよい。命令は、メモリ２１０または通信インタフェース２３０によって、プロセッサ２２０に提供されてよい。例えば、プロセッサ２２０は、メモリ２１０のような記録装置に記録されたプログラムコードにしたがって受信される命令を実行するように構成されてよい。
【００３０】
通信モジュール２３０は、ネットワーク１７０を介してコンピュータ装置２００が他の装置（一例として、上述した記録装置）と互いに通信するための機能を提供してよい。一例として、コンピュータ装置２００のプロセッサ２２０がメモリ２１０のような記録装置に記録されたプログラムコードにしたがって生成した要求や命令、データ、ファイルなどが、通信インタフェース２３０の制御にしたがってネットワーク１７０を介して他の装置に伝達されてよい。これとは逆に、他の装置からの信号や命令、データファイルなどが、ネットワーク１７０を経てコンピュータ装置２００の通信モジュール２３０を通じてコンピュータ装置２００に受信されてよい。通信インタフェース２３０を通じて受信された信号や命令、データなどは、プロセッサ２２０やメモリ２１０に伝達されてよく、ファイルなどは、コンピュータ装置２００がさらに含むことのできる記録媒体（上述した永続的記録装置）に記録されてよい。
【００３１】
入力／出力インタフェース２４０は、入力／出力装置２５０とのインタフェースのための手段であってよい。例えば、入力装置は、マイク、キーボード、マウスなどの装置を、出力装置は、ディスプレイ、スピーカのような装置を含んでよい。他の例として、入力／出力インタフェース２４０は、タッチスクリーンのように入力と出力のための機能が１つに統合された装置とのインタフェースのための手段であってもよい。入力／出力装置２５０は、コンピュータ装置２００と１つの装置で構成されてもよい。
【００３２】
また、他の実施形態において、コンピュータ装置２００は、図２の構成要素よりも少ないか多くの構成要素を含んでもよい。しかし、大部分の従来技術的構成要素を明確に図に示す必要はない。例えば、コンピュータ装置２００は、上述した入力／出力装置２５０のうちの少なくとも一部を含むように実現されてもよいし、トランシーバやデータベースなどのような他の構成要素をさらに含んでもよい。
【００３３】
本発明の実施形態において、「文書」は、ブログリスティングやニュース、コメントなどのように、任意の作成者がウェブ上にアップロードした掲示物を含んでよい。また、「属性」とは、文書に対して予め定義される特徴であって、一例として、文書の作成者、文書の掲示セクション、および文書の登録時間範囲のうちの少なくとも１つに基づいて決定されてよい。ここで、文書の掲示セクションは、１つのサービスで文書が表示されるセクションに基づいてよい。一例として、２つの文書の掲示セクションが同じであるということは、１つのサービス内で文書が表示される複数の掲示セッションのうち、２つの文書が掲示された掲示セッションが同じ場合を意味してよい。作成者が属性として定義される場合、同じ作成者の互いに異なる２つのブログリスティングは、同じ属性の文書として認識されてよい。他の例として、作成者、掲示セクション、および１時間範囲が属性として定義される場合、同じ作成者によって同じ掲示セクションに１時間以内に登録された２つのコメントは同じ属性の文書として認識されてよい。また、本発明の実施形態において、文書間の「重複」とは、２つの文書が閾値以上の意味的類似度を有することを意味してよい。例えば、文書間の意味的類似度の値を０．００〜１．００の範囲で表現し、重複のための閾値を０．９５と仮定するとき、文書１と文書２の意味的類似度の値が０．９７であれば、文書１と文書２は重複する文書として決定されてよい。
【００３４】
図３は、本発明の一実施形態における、類似度モデルの学習過程の例を示した図である。重複文書探知システム３００は、上述したコンピュータ装置２００によって実現されてよく、コンピュータ装置２００が含むプロセッサ２２０の制御にしたがって以下で説明する類似度モデルの学習過程が処理されてよい。
【００３５】
重複文書探知システム３００は、文書ＤＢ３１０に含まれた文書間の重複の可否を決定してよい。このために、重複文書探知システム３００は、類似度モデル３２０を学習させてよい。
【００３６】
文書ＤＢ３１０は、重複文書探知システム３００を実現する物理的な装置（第１装置）に含まれて文書を提供するように実現されてもよいが、重複文書探知システム３００外部の他の物理的な装置（第２装置）に実現され、第１装置と第２装置がネットワーク１７０を介して互いに通信する形態で文書を提供するように実現されてもよい。
【００３７】
重複文書探知システム３００は、文書ＤＢ３１０から類似文書ペア集合３３０と非類似文書ペア集合３４０を抽出してよい。ここで、類似文書ペア集合３３０とは、予め定義された属性が同じである文書ペアの集合を意味してよく、非類似文書ペア集合３４０とは、属性を考慮せずに任意に（ランダムに）抽出された文書ペアの集合を意味してよい。実施形態によって、非類似文書ペア集合３４０は、予め定義された属性が同じでない文書ペアの集合を意味してもよい。
【００３８】
一実験例として、１億４千万件のコメントのうちから、予め定義された属性の文書ペアである「同じ作成者が同じ掲示セクションで１時間以内に作成した文書ペア」である３５００万件を類似文書ペア集合３３０として抽出し、任意の２つのコメントからなる３５００万件の文書ペアを非類似文書ペア集合３４０として抽出した。ここで、仮説１は、２つのコメントの抽出回数が無限大に増加することにより、同じ属性の２つのコメントの意味が類似する確率αが、任意に抽出された２つのコメントの意味が類似する確率βよりも高いということであり、仮説２は、数学的尺度を利用した類似度（以下、数学的類似度）の値が同じであると仮定するとき、同じ属性の２つのコメントの数学的類似度は数学的尺度によって過小評価される確率が高く、任意に抽出された２つのコメントの数学的類似度は数学的尺度によって過大評価される確率が高いということである。このような仮説１および仮説２は、一実験例から得られた数学的類似度のコメントを比較することによって確認された。例えば、数学的類似度が０．２以下と低い値をもつ同じ２つのコメントに意味的／主題的類似性が存在する場合の比重は高かったが、数学的類似度が０．７以上と高い値をもつ任意に抽出された２つのコメントに意味的／主題的類似性が含まれない場合の比重は高かった。
【００３９】
このように確認された仮説に基づき、本実施形態に係る重複文書探知システム３００は、先ず、類似文書ペア集合３３０の類似文書ペアそれぞれと非類似文書ペア集合３４０の非類似文書ペアそれぞれに対して数学的尺度を利用して数学的類似度を計算してよい。このとき、重複文書探知システム３００は、計算された数学的類似度を、属性の同一状態に応じて増加させたり減少させたりすることで文書ペアそれぞれに対する意味的類似度を決定してよい。例えば、類似文書ペア集合３３０の類似文書ペアそれぞれに対して計算された数学的類似度は、数学的類似度の値が過小評価されたものと見なし、計算された数学的類似度の値を適切に増加させることによって意味的類似度を計算してよい。これとは逆に、非類似文書ペア集合３４０の非類似文書ペアそれぞれに対して計算された数学的類似度は、数学的類似度の値が過大評価されたものと見なし、計算された数学的類似度の値を適切に減少させることによって意味的類似度を計算してよい。
【００４０】
より具体的な例として、重複文書探知システム３００は、類似文書ペアの数学的類似度の値を第１非線形関数に入力して類似文書ペアの数学的類似度の値を増加させてよく、非類似文書ペアの数学的類似度の値を第２非線形関数に入力して非類似文書ペアの数学的類似度の値を減少させてよい。第１非線形関数は、類似文書ペアに対しては過小評価された数学的類似度の値を増加させるためのものであり、第２非線形関数は、非類似文書ペアに対しては過大評価された数学的類似度の値を減少させるためのものであって、同一のすべての入力値に対して第１非線形関数が第２非線形関数よりも高い値を算出するという条件を満たす２つの非線形関数であれば、第１非線形関数および第２非線形関数として活用されてよい。
【００４１】
文書ペアに対して計算された意味的類似度は、類似度モデル３２０のための正答スコアとして見なされてよい。例えば、重複文書探知システム３００は、類似文書ペア集合３３０、非類似文書ペア集合３４０、正答スコアを学習データとして活用して類似度モデル３２０を学習させてよい。例えば、類似度モデル３２０は、入力される文書ペアの意味的類似度を算出するように学習されてよい。
【００４２】
より具体的な例として、類似度モデル３２０は、入力される文書ペアに対する出力値と正答スコアとの平均二乗誤差（Ｍｅａｎ  Ｓｑｕａｒｅｄ  Ｅｒｒｏｒ：ＭＳＥ）を最小化するように学習されてよい。例えば、類似度モデル３２０は、平均二乗誤差を利用した損失関数に出力値と正答スコアを入力して損失が最小化されるように学習されてよい。なお、類似度モデル３２０としては、周知のディープラーニングモデルのうちの少なくとも１つが活用されてよい。例えば、ＣＮＮ（Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）やＲＮＮ（Ｒｅｃｕｒｒｅｎｔ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）などが類似度モデル３２０を実現するために活用されてよい。この場合、類似度モデル３２０は、文書ペアの入力を受けて０〜１範囲の実数（意味的類似度）を出力するように実現されてよい。出力される値の範囲は一例に過ぎず、０〜１の範囲に限定されない。
【００４３】
学習された類似度モデル３２０は、文書間の重複の可否を探知するために活用されてよい。例えば、重複文書探知システム３００は、多数のコメントが登録された状態で作成者が新しいコメントの登録を要求したときに、作成者の新しいコメントと重複するコメントを探知してよい。このとき、重複文書探知システム３００は、重複するコメントがＮ件以上探知される場合、キャプチャ（Ｃａｐｔｃｈａ）を表示することにより、重複する新しいコメントの無分別な登録を防いでよい。
【００４４】
図４は、本発明の一実施形態における、重複文書探知過程の例を示した図である。重複文書探知システム３００は、上述したコンピュータ装置２００によって実現されてよく、コンピュータ装置２００が含むプロセッサ２２０の制御にしたがって以下で説明する重複文書探知過程が処理されてよい。
【００４５】
重複文書探知システム３００は、予め設定された文書集合４１０を管理してよい。このとき、文書集合４１０は、一例として、特定のサービスを提供するサーバ（一例として、サーバ１５０）に予め設定された文書の集合であってよい。ここで、重複文書探知システム３００は、サーバに含まれてサーバのための重複文書探知サービスを提供してもよいし、あるいは個別の物理的な装置で実現された重複文書探知システム３００がネットワーク１７０を介してサーバと通信しながら重複文書探知サービスをサーバに提供してもよい。このとき、新しい文書ａの登録が要求されれば、重複文書探知システム３００は、新しい文書ａの予め設定された文書それぞれに対する重複の可否を探知してよい。例えば、文書集合４１０が、文書１〜文書ＮまでのＮ件の予め設定された文書を含むと仮定する。この場合、重複文書探知システム３００は、文書ａに対する文書集合４１０の文書それぞれに対する文書ペア４２０を生成してよい。この後、重複文書探知システム３００は、文書ペア４２０それぞれを類似度モデル３２０に順に入力してよく、類似度モデル３２０は、文書ペア４２０それぞれに対する意味的類似度を決定して出力してよい。この場合、重複文書探知システム３００は、意味的類似度が閾値以上である文書ペア４３０を重複文書ペアとして決定し、重複文書ペアの数に基づいて新しい文書ａを登録するかを決定してよい。例えば、重複文書探知システム３００は、重複文書ペアの数がＭ件未満の場合には、新しい文書ａの登録要求にしたがって新しい文書ａを登録する反面、重複文書ペアの数がＭ件以上の場合には、新しい文書ａの登録要求に対してキャプチャを表示することによって重複文書の無分別な登録を防いでよい。このとき、新しい文書ａの登録やキャプチャの表示などは、新しい文書ａの登録要求に応答してなされなければならない。言い換えれば、新しい文書に対する重複文書探知はリアルタイムでなされてよい。これは、本発明の実施形態に係る重複文書探知方法が、文書に対するクラスタリングのような群集化アルゴリズムを活用するのではなく、２つの文書間の類似度を学習するディープラーニングを活用することによって可能となる。
【００４６】
図４の実施形態では、重複文書探知に基づいて新しい文書を登録するかを決定する過程について説明しているが、このような説明により、予め設定された文書のうちから重複文書を探知する過程を容易に理解することができるであろう。例えば、重複文書探知システム３００は、文書集合４１０に含まれた文書全体に対する文書ペアを生成してよい。このとき、生成される文書ペアは、文書集合４１０の部分集合うちで要素の数が２である部分集合であってよい。生成された文書ペアそれぞれを類似度モデル３２０に入力して文書ペアそれぞれに対する意味的類似度を計算してよく、意味的類似度が閾値以上である文書ペアを重複文書として確認してよい。
【００４７】
他の実施形態として、誤探率を最小化するために、数学的尺度を利用して計算された数学的類似度と本発明の実施形態に係る意味的類似度を結合した条件に基づいて文書間の重複の可否が決定されてもよい。例えば、計算された数学的類似度と意味的類似度に対する加重和が、２つの文書間の最終類似度として活用されてよい。
【００４８】
図５は、本発明の一実施形態における、重複文書探知方法の例を示したフローチャートである。本実施形態に係る重複文書探知方法は、上述した重複文書探知システム３００を実現するコンピュータ装置２００によって実行されてよい。このとき、コンピュータ装置２００のプロセッサ２２０は、メモリ２１０が含むオペレーティングシステムのコードと、少なくとも１つのコンピュータプログラムのコードとによる制御命令（ｉｎｓｔｒｕｃｔｉｏｎ）を実行するように実現されてよい。ここで、プロセッサ２２０は、コンピュータ装置２００に記録されたコードが提供する制御命令にしたがってコンピュータ装置２００が図５の方法に含まれる段階５１０〜５５０を実行するようにコンピュータ装置２００を制御してよい。
【００４９】
段階５１０で、コンピュータ装置２００は、文書データベースから、同じ属性を有する複数の類似文書ペアを含む類似文書ペア集合およびランダムに抽出された複数の非類似文書ペアを含む非類似文書ペア集合を抽出してよい。一例として、文書データベースは、図３を参照しながら説明した文書ＤＢ３１０に対応してよく、類似文書ペア集合および非類似文書ペア集合はそれぞれ、図３を参照しながら説明した類似文書ペア集合３３０および非類似文書ペア集合３４０に対応してよい。ここで、属性は、文書の作成者、文書の掲示セクション、および文書の登録時間範囲のうちの少なくとも１つを含んでよい。一例として、作成者が属性として定義される場合、同じ作成者の互いに異なる２つの文書は、同じ属性を有する文書として認識されてよい。他の例として、作成者、掲示セクション、および１時間範囲が属性として定義される場合、同じ作成者が同じ掲示セクションに１時間以内に登録した２つの文書は、同じ属性の文書として認識されてよい。非類似文書ペアは、ランダムに抽出される２つの文書を含んでよいが、実施形態によっては、ランダムに抽出された文書ペアうちで同じ属性を有する文書ペアは非類似文書ペアから除外されてもよい。
【００５０】
段階５２０で、コンピュータ装置２００は、複数の類似文書ペアそれぞれおよび複数の非類似文書ペアそれぞれに対して数学的尺度を利用した数学的類似度を計算してよい。一例として、コンピュータ装置２００は、数学的尺度として、コサイン類似度（Ｃｏｓｉｎｅ  Ｓｉｍｉｌａｒｉｔｙ）、ユークリッド距離（Ｅｕｃｌｉｄｅａｎ  Ｄｉｓｔａｎｃｅ）、およびジャッカード類似度（Ｊａｃｃａｒｄ  Ｓｉｍｉｌａｒｉｔｙ）のうちの少なくとも１つを利用して数学的類似度を計算してよい。
【００５１】
段階５３０で、コンピュータ装置２００は、複数の類似文書ペアそれぞれに対して計算された数学的類似度を増加させ、複数の非類似文書ペアそれぞれに対して計算された数学的類似度を減少させて、複数の類似文書ペアそれぞれおよび複数の非類似文書ペアそれぞれに対する意味的類似度を計算してよい。例えば、コンピュータ装置２００は、複数の類似文書ペアそれぞれに対して計算された数学的類似度を第１非線形関数に入力して増加させ、複数の非類似文書ペアそれぞれに対して計算された数学的類似度を第２非線形関数に入力して減少させてよい。この場合、第１非線形関数および第２非線形関数は、同一のすべての入力値に対して第１非線形関数が第２非線形関数よりも高い値を算出するという条件を満たす２つの非線形関数であってよい。類似文書ペアに対する数学的類似度は数学的尺度によって過小評価され、非類似文書ペアに対する数学的類似度は数学的尺度によって過大評価されることについては、上で説明した。コンピュータ装置２００は、過小評価された数学的類似度を増加させ、過大評価された数学的類似度を減少させて、意味的類似度を計算してよい。数学的類似度を増加あるいは減少させる程度は、選択される第１非線形関数および第２非線形関数によって決定されてよい。
【００５２】
段階５４０で、コンピュータ装置２００は、複数の類似文書ペア、複数の非類似文書ペア、および意味的類似度を利用して類似度モデルを学習させてよい。例えば、コンピュータ装置２００は、複数の類似文書ペアそれぞれおよび複数の非類似文書ペアそれぞれを類似度モデルに順に入力して類似度モデルの出力値と入力された文書ペアに対応する意味的類似度間の平均二乗誤差（Ｍｅａｎ  Ｓｑｕａｒｅｄ  Ｅｒｒｏｒ：ＭＳＥ）が最小化するように類似度モデルを学習させてよい。これは、平均二乗誤差を利用した損失関数に類似度モデルの出力値と対応する意味的類似度を正答スコアとして入力して損失が最小化するように類似度モデルを学習させることに対応してよい。このような類似度モデルについては、図３および図４を参照しながら説明した類似度モデル３２０によって詳しく記述した。
【００５３】
段階５５０で、コンピュータ装置２００は、類似度モデルを利用して重複文書を探知してよい。
【００５４】
一実施形態として、コンピュータ装置２００は、段階５５０で、重複を探知しようとする文書集合から文書ペアを抽出してよく、抽出された文書ペアを類似度モデルに順に入力して抽出された文書ペアそれぞれの意味的類似度を計算してよい。ここで、文書集合から文書ペアを抽出するために、コンピュータ装置２００は、文書集合の部分集合のうちで要素の数が２である部分集合を文書ペアとして抽出してよい。この場合、コンピュータ装置２００は、計算された意味的類似度が予め設定された閾値以上である文書ペアを重複文書として決定してよい。この場合、文書集合のすべての文書ペアに対して重複文書の可否が決定されるようになる。
【００５５】
他の実施形態として、コンピュータ装置２００は、段階５５０で、新しい文書の登録要求にしたがい、予め設定された文書を含む文書集合の文書のいずれか１つと新しい文書を含む文書ペアを文書集合の文書それぞれに対して抽出し、抽出された文書ペアを類似度モデルに順に入力して抽出された文書ペアそれぞれの意味的類似度を計算し、計算された意味的類似度が予め設定された第１閾値以上である文書ペアを重複文書として決定してよい。このとき、コンピュータ装置２００は、重複文書として決定された文書ペアの数が予め設定された第２閾値以上である場合、新しい文書を重複文書として決定してよい。例えば、コンピュータ装置２００は、新しい文書が登録される時点に新しい文書と重複する文書を確認し、重複する文書の数が予め設定された第２閾値以上である場合に新しい文書を重複文書として決定してよい。この場合、コンピュータ装置２００は、新しい文書を登録する代わりにキャプチャ（Ｃａｐｔｃｈａ）を表示することにより、重複する文書の無分別な登録を防いでよい。
【００５６】
このように、本発明の実施形態によると、文書間の意味的類似度に基づいて文書間の重複の可否を決定することができる。
【００５７】
上述したシステムまたは装置は、ハードウェア構成要素、またはハードウェア構成要素とソフトウェア構成要素との組み合わせによって実現されてよい。例えば、実施形態で説明された装置および構成要素は、例えば、プロセッサ、コントローラ、ＡＬＵ（ａｒｉｔｈｍｅｔｉｃ  ｌｏｇｉｃ  ｕｎｉｔ）、デジタル信号プロセッサ、マイクロコンピュータ、ＦＰＧＡ（ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ）、ＰＬＵ（ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ｕｎｉｔ）、マイクロプロセッサ、または命令を実行して応答することができる様々な装置のように、１つ以上の汎用コンピュータまたは特殊目的コンピュータを利用して実現されてよい。処理装置は、オペレーティングシステム（ＯＳ）およびＯＳ上で実行される１つ以上のソフトウェアアプリケーションを実行してよい。また、処理装置は、ソフトウェアの実行に応答し、データにアクセスし、データを記録、操作、処理、および生成してもよい。理解の便宜のために、１つの処理装置が使用されるとして説明される場合もあるが、当業者は、処理装置が複数個の処理要素および／または複数種類の処理要素を含んでもよいことが理解できるであろう。例えば、処理装置は、複数個のプロセッサまたは１つのプロセッサおよび１つのコントローラを含んでよい。また、並列プロセッサのような、他の処理構成も可能である。
【００５８】
ソフトウェアは、コンピュータプログラム、コード、命令、またはこれらのうちの１つ以上の組み合わせを含んでもよく、思うままに動作するように処理装置を構成したり、独立的または集合的に処理装置に命令したりしてよい。ソフトウェアおよび／またはデータは、処理装置に基づいて解釈されたり、処理装置に命令またはデータを提供したりするために、いかなる種類の機械、コンポーネント、物理装置、仮想装置、コンピュータ記録媒体または装置に具現化されてよい。ソフトウェアは、ネットワークによって接続されたコンピュータシステム上に分散され、分散された状態で記録されても実行されてもよい。ソフトウェアおよびデータは、１つ以上のコンピュータ読み取り可能な記録媒体に記録されてよい。
【００５９】
実施形態に係る方法は、多様なコンピュータ手段によって実行可能なプログラム命令の形態で実現されてコンピュータ読み取り可能な媒体に記録されてよい。コンピュータ読み取り可能な媒体は、プログラム命令、データファイル、データ構造などを単独または組み合わせて含んでよい。媒体は、コンピュータ実行可能なプログラムを継続して記録するものであっても、実行またはダウンロードのために一時記録するものであってもよい。また、媒体は、単一または複数のハードウェアが結合した形態の多様な記録手段または格納手段であってよく、あるコンピュータシステムに直接接続する媒体に限定されることはなく、ネットワーク上に分散して存在するものであってもよい。媒体の例としては、ハードディスク、フロッピー（登録商標）ディスク、および磁気テープのような磁気媒体、ＣＤ−ＲＯＭおよびＤＶＤのような光媒体、フロプティカルディスク（ｆｌｏｐｔｉｃａｌ  ｄｉｓｋ）のような光磁気媒体、およびＲＯＭ、ＲＡＭ、フラッシュメモリなどを含み、プログラム命令が記録されるように構成されたものであってよい。また、媒体の他の例として、アプリケーションを配布するアプリケーションストアやその他の多様なソフトウェアを供給または配布するサイト、サーバなどで管理する記録媒体または格納媒体が挙げられる。プログラム命令の例には、コンパイラによって生成されるもののような機械語コードだけでなく、インタプリタなどを使用してコンピュータによって実行されることのできる高級言語コードが含まれる。
【００６０】
以上のように、実施形態を、限定された実施形態および図面に基づいて説明したが、当業者であれば、上述した記載から多様な修正および変形が可能であろう。例えば、説明された技術が、説明された方法とは異なる順序で実行されたり、かつ／あるいは、説明されたシステム、構造、装置、回路などの構成要素が、説明された方法とは異なる形態で結合されたりまたは組み合わされたり、他の構成要素または均等物によって対置されたり置換されたとしても、適切な結果を達成することができる。
【００６１】
したがって、異なる実施形態であっても、特許請求の範囲と均等なものであれば、添付される特許請求の範囲に属する。
【符号の説明】
【００６２】
３００：重複文書探知システム
３１０：文書ＤＢ
３２０：類似度モデル
３３０：類似文書ペア集合
３４０：非類似文書ペア集合
【図１】
0006987209.tif 000002
【図２】
0006987209.tif 000003
【図３】
0006987209.tif 000004
【図４】
0006987209.tif 000005
【図５】
0006987209.tif 000006