特許第6987209号(P6987209)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ネイバー コーポレーションの特許一覧

特許6987209ディープラーニングに基づく文書類似度測定モデルを利用した重複文書探知方法およびシステム
<>
  • 特許6987209-ディープラーニングに基づく文書類似度測定モデルを利用した重複文書探知方法およびシステム 図000002
  • 特許6987209-ディープラーニングに基づく文書類似度測定モデルを利用した重複文書探知方法およびシステム 図000003
  • 特許6987209-ディープラーニングに基づく文書類似度測定モデルを利用した重複文書探知方法およびシステム 図000004
  • 特許6987209-ディープラーニングに基づく文書類似度測定モデルを利用した重複文書探知方法およびシステム 図000005
  • 特許6987209-ディープラーニングに基づく文書類似度測定モデルを利用した重複文書探知方法およびシステム 図000006
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6987209
(24)【登録日】2021年12月2日
(45)【発行日】2021年12月22日
(54)【発明の名称】ディープラーニングに基づく文書類似度測定モデルを利用した重複文書探知方法およびシステム
(51)【国際特許分類】
   G06F 16/332 20190101AFI20211213BHJP
   G06F 16/38 20190101ALI20211213BHJP
   G06F 16/35 20190101ALI20211213BHJP
【FI】
   G06F16/332
   G06F16/38
   G06F16/35
【請求項の数】16
【全頁数】16
(21)【出願番号】特願2020-204421(P2020-204421)
(22)【出願日】2020年12月9日
(65)【公開番号】特開2021-93163(P2021-93163A)
(43)【公開日】2021年6月17日
【審査請求日】2020年12月9日
(31)【優先権主張番号】10-2019-0164926
(32)【優先日】2019年12月11日
(33)【優先権主張国】KR
(73)【特許権者】
【識別番号】505205812
【氏名又は名称】ネイバー コーポレーション
【氏名又は名称原語表記】NAVER Corporation
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】金 成旻
(72)【発明者】
【氏名】韓 丙勳
【審査官】 田川 泰宏
(56)【参考文献】
【文献】 特開2017−068742(JP,A)
【文献】 米国特許出願公開第2011/0087701(US,A1)
【文献】 特開2006−201926(JP,A)
【文献】 特開平09−198409(JP,A)
【文献】 特開2010−256960(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/332
G06F 16/38
G06F 16/35
(57)【特許請求の範囲】
【請求項1】
少なくとも1つのプロセッサを含むコンピュータ装置の重複文書探知方法であって、
前記少なくとも1つのプロセッサが、文書データベースから、同じ属性を有する複数の類似文書ペアを含む類似文書ペア集合およびランダムに抽出された複数の非類似文書ペアを含む非類似文書ペア集合を抽出する段階、
前記少なくとも1つのプロセッサが、前記複数の類似文書ペアそれぞれおよび前記複数の非類似文書ペアそれぞれに対して数学的尺度を利用した数学的類似度を計算する段階、
前記少なくとも1つのプロセッサが、前記複数の類似文書ペアそれぞれに対して計算された数学的類似度を増加させ、前記複数の非類似文書ペアそれぞれに対して計算された数学的類似度を減少させて、前記複数の類似文書ペアそれぞれおよび前記複数の非類似文書ペアそれぞれに対する意味的類似度を計算する段階、
前記少なくとも1つのプロセッサが、前記複数の類似文書ペア、前記複数の非類似文書ペア、および前記意味的類似度を利用して類似度モデルを学習させる段階、および
前記少なくとも1つのプロセッサが、前記類似度モデルを利用して重複文書を探知する段階
を含む、重複文書探知方法。
【請求項2】
前記属性は、文書の作成者、文書の掲示セクション、および文書の登録時間範囲のうちの少なくとも1つを含むことを特徴とする、請求項1に記載の重複文書探知方法。
【請求項3】
前記意味的類似度を計算する段階は、
前記複数の類似文書ペアそれぞれに対して計算された数学的類似度を第1非線形関数に入力して増加させ、前記複数の非類似文書ペアそれぞれに対して計算された数学的類似度を第2非線形関数に入力して減少させ、
前記第1非線形関数および前記第2非線形関数は、同一のすべての入力値に対して前記第1非線形関数が前記第2非線形関数よりも高い値を算出するという条件を満たす2つの非線形関数であることを特徴とする、請求項1に記載の重複文書探知方法。
【請求項4】
前記類似度モデルを学習させる段階は、
前記複数の類似文書ペアそれぞれおよび前記複数の非類似文書ペアそれぞれを前記類似度モデルに順に入力して前記類似度モデルの出力値と入力された文書ペアに対応する意味的類似度間の平均二乗誤差(Mean Squared Error:MSE)が最小化するように前記類似度モデルを学習させることを特徴とする、請求項1に記載の重複文書探知方法。
【請求項5】
前記重複文書を探知する段階は、
重複を探知しようとする文書集合から文書ペアを抽出する段階、
前記抽出された文書ペアを前記類似度モデルに順に入力して前記抽出された文書ペアそれぞれの意味的類似度を計算する段階、および
前記計算された意味的類似度が予め設定された閾値以上である文書ペアを重複文書として決定する段階
を含むことを特徴とする、請求項1に記載の重複文書探知方法。
【請求項6】
前記文書ペアを抽出する段階は、
前記文書集合の部分集合のうちで要素の数が2である部分集合を文書ペアとして抽出することを特徴とする、請求項5に記載の重複文書探知方法。
【請求項7】
前記重複文書を探知する段階は、
新しい文書に対する登録要求にしたがい、予め設定された文書を含む文書集合の文書のいずれか1つと前記新しい文書を含む文書ペアを前記文書集合の文書それぞれに対して抽出する段階、
前記抽出された文書ペアを前記類似度モデルに順に入力して前記抽出された文書ペアそれぞれの意味的類似度を計算する段階、
前記計算された意味的類似度が予め設定された第1閾値以上である文書ペアを重複文書として決定する段階、および
前記重複文書として決定された文書ペアの数が予め設定された第2閾値以上である場合、前記新しい文書を重複文書として決定する段階
を含むことを特徴とする、請求項1に記載の重複文書探知方法。
【請求項8】
前記重複文書を探知する段階は、
前記新しい文書が重複文書として決定された場合、前記新しい文書を登録する代わりにキャプチャ(Captcha)を表示することを特徴とする、請求項7に記載の重複文書探知方法。
【請求項9】
前記数学的類似度を計算する段階は、
前記数学的尺度として、コサイン類似度(Cosine Similarity)、ユークリッド距離(Euclidean Distance)、およびジャッカード類似度(Jaccard Similarity)のうちの少なくとも1つを利用して前記数学的類似度を計算することを特徴とする、請求項1に記載の重複文書探知方法。
【請求項10】
コンピュータ装置により実行されると、請求項1〜9のうちのいずれか一項に記載の方法を前記コンピュータ装置に実行させる、コンピュータプログラム。
【請求項11】
請求項1〜9のうちのいずれか一項に記載の方法をコンピュータ装置に実行させるコンピュータプログラムが記録されている、コンピュータ読み取り可能な記録媒体。
【請求項12】
コンピュータ読み取り可能な命令を実行するように実現される少なくとも1つのプロセッサ
を含み、
前記少なくとも1つのプロセッサにより、
文書データベースから、同じ属性を有する複数の類似文書ペアを含む類似文書ペア集合およびランダムに抽出された複数の非類似文書ペアを含む非類似文書ペア集合を抽出し、
前記複数の類似文書ペアそれぞれおよび前記複数の非類似文書ペアそれぞれに対して数学的尺度を利用した数学的類似度を計算し、
前記複数の類似文書ペアそれぞれに対して計算された数学的類似度を増加させ、前記複数の非類似文書ペアそれぞれに対して計算された数学的類似度を減少させて、前記複数の類似文書ペアそれぞれおよび前記複数の非類似文書ペアそれぞれに対する意味的類似度を計算し、
前記複数の類似文書ペア、前記複数の非類似文書ペア、および前記意味的類似度を利用して類似度モデルを学習させ、
前記類似度モデルを利用して重複文書を探知すること
を特徴とする、コンピュータ装置。
【請求項13】
前記少なくとも1つのプロセッサにより、
前記複数の類似文書ペアそれぞれに対して計算された数学的類似度を第1非線形関数に入力して増加させ、前記複数の非類似文書ペアそれぞれに対して計算された数学的類似度を第2非線形関数に入力して減少させ、
前記第1非線形関数および前記第2非線形関数は、同一のすべての入力値に対して前記第1非線形関数が前記第2非線形関数よりも高い値を算出する条件を満たす2つの非線形関数であること
を特徴とする、請求項12に記載のコンピュータ装置。
【請求項14】
前記少なくとも1つのプロセッサにより、
前記複数の類似文書ペアそれぞれおよび前記複数の非類似文書ペアそれぞれを前記類似度モデルに順に入力して前記類似度モデルの出力値と入力された文書ペアに対応する意味的類似度間の平均二乗誤差(Mean Squared Error、MSE)が最小化するように前記類似度モデルを学習させること
を特徴とする、請求項12に記載のコンピュータ装置。
【請求項15】
前記少なくとも1つのプロセッサにより、
重複を探知しようとする文書集合から文書ペアを抽出し、
前記抽出された文書ペアを前記類似度モデルに順に入力して前記抽出された文書ペアそれぞれの意味的類似度を計算し、
前記計算された意味的類似度が予め設定された閾値以上である文書ペアを重複文書として決定すること
を特徴とする、請求項12に記載のコンピュータ装置。
【請求項16】
前記少なくとも1つのプロセッサにより、
新しい文書に対する登録要求にしたがい、予め設定された文書を含む文書集合の文書のいずれか1つと前記新しい文書を含む文書ペアを前記文書集合の文書それぞれに対して抽出し、
前記抽出された文書ペアを前記類似度モデルに順に入力して前記抽出された文書ペアそれぞれの意味的類似度を計算し、
前記計算された意味的類似度が予め設定された第1閾値以上である文書ペアを重複文書として決定し、
前記重複文書として決定された文書ペアの数が予め設定された第2閾値以上である場合、前記新しい文書を重複文書として決定すること
を特徴とする、請求項12に記載のコンピュータ装置。
【発明の詳細な説明】
【技術分野】
【0001】
以下の説明は、ディープラーニングに基づく文書類似度測定モデルを利用した重複文書探知方法およびシステムに関する。
【背景技術】
【0002】
一般的に、テキスト間の類似度を測定する方法では、テキストを形態素、文字、Nグラム(N−gram)などのトークン単位に分けた後、コサイン類似度(Cosine Similarity)、ユークリッド距離(Euclidean Distance)、ジャッカード類似度(Jaccard Similarity)などのような数学的尺度(measure)を利用して類似度を測定する。例えば、特許文献1は、オンラインサービス可能な類義語辞書に基づく盗作文書探索システムに関するものであって、原本文書と検査対象文書をそれぞれ単語単位に分割し、類義語辞書で検索された代表類義語とともにデータベースに格納する前処理過程、前記原本文書からジャッカード係数(Jaccard Coefficient)に基づく類似度を基準として前記検査対象文書と類似する第1文書を選別する過程、および前記第1文書からコサイン(cosine)距離に基づく類似度を基準として前記検査対象文書と類似する第2文書を選別する過程を開示している。
【0003】
しかし、このような数学的尺度を利用した類似度の測定は、文書の意味は異なるが、テキストの重要でない部分間の偶然的な一致によって類似度が過大評価されたり、文書の意味は類似するが、テキストの重要でない部分の不一致によって類似度が過小評価されるという問題が発生する。例えば、第1テキスト「ha ha ha ha Let’s hangon」と第2テキスト「ha ha ha ha Let’s hangout」は、意味的類似度は極めて低いが、数学的尺度の観点からみるときには、重要でない部分「ha ha ha ha ha Let’s hang」の偶然的な一致によって類似度が過大評価されることがある。他の例として、第3テキスト「ha ha ha ha ha ha ha ha,Cheer up」と第4テキスト「Cheer up」は、意味的類似度は極めて高いが、数学的尺度の観点からみるときには、重要でない部分「ha ha ha ha ha ha ha ha,」の不一致によって類似度が過小評価されることがある。
【0004】
言い換えれば、数学的尺度によって測定される類似度は、2つのテキストに類似する文字がどれほど含まれているかに対する値を提供するだけであって、2つのテキストの意味的類似度に関しては無差別的な値を算出するという問題がある。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】韓国登録特許第10−1626247号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
文書間の意味的類似度に基づいて文書間の重複の可否を決定することができる、重複文書探知方法およびシステムを提供する。
【課題を解決するための手段】
【0007】
少なくとも1つのプロセッサを含むコンピュータ装置の重複文書探知方法であって、前記少なくとも1つのプロセッサが、文書データベースから、同じ属性を有する複数の類似文書ペアを含む類似文書ペア集合およびランダムに抽出された複数の非類似文書ペアを含む非類似文書ペア集合を抽出する段階、前記少なくとも1つのプロセッサが、前記複数の類似文書ペアそれぞれおよび前記複数の非類似文書ペアそれぞれに対して数学的尺度を利用した数学的類似度を計算する段階、前記少なくとも1つのプロセッサが、前記複数の類似文書ペアそれぞれに対して計算された数学的類似度を増加させ、前記複数の非類似文書ペアそれぞれに対して計算された数学的類似度を減少させて、前記複数の類似文書ペアそれぞれおよび前記複数の非類似文書ペアそれぞれに対する意味的類似度を計算する段階、前記少なくとも1つのプロセッサが、前記複数の類似文書ペア、前記複数の非類似文書ペア、および前記意味的類似度を利用して類似度モデルを学習させる段階、および前記少なくとも1つのプロセッサが、前記類似度モデルを利用して重複文書を探知する段階を含む、重複文書探知方法を提供する。
【0008】
一側によると、前記属性は、文書の作成者、文書の掲示セクション、および文書の登録時間範囲のうちの少なくとも1つを含むことを特徴としてよい。
【0009】
他の側面によると、前記意味的類似度を計算する段階は、前記複数の類似文書ペアそれぞれに対して計算された数学的類似度を第1非線形関数に入力して増加させ、前記複数の非類似文書ペアそれぞれに対して計算された数学的類似度を第2非線形関数に入力して減少させ、前記第1非線形関数および前記第2非線形関数は、同一のすべての入力値に対して前記第1非線形関数が前記第2非線形関数よりも高い値を算出するという条件を満たす2つの非線形関数であることを特徴としてよい。
【0010】
また他の側面によると、前記類似度モデルを学習させる段階は、前記複数の類似文書ペアそれぞれおよび前記複数の非類似文書ペアそれぞれを前記類似度モデルに順に入力して前記類似度モデルの出力値と入力された文書ペアに対応する意味的類似度の平均二乗誤差(Mean Squared Error:MSE)が最小化するように前記類似度モデルを学習させることを特徴としてよい。
【0011】
また他の側面によると、前記重複文書を探知する段階は、重複を探知しようとする文書集合から文書ペアを抽出する段階、前記抽出された文書ペアを前記類似度モデルに順に入力して前記抽出された文書ペアそれぞれの意味的類似度を計算する段階、および前記計算された意味的類似度が予め設定された閾値以上である文書ペアを重複文書として決定する段階を含むことを特徴としてよい。
【0012】
また他の側面によると、前記文書ペアを抽出する段階は、前記文書集合の部分集合のうちから要素の数が2である部分集合を文書ペアとして抽出することを特徴としてよい。
【0013】
また他の側面によると、前記重複文書を探知する段階は、新しい文書に対する登録要求にしたがい、予め設定された文書を含む文書集合の文書のうちのいずれか1つと前記新しい文書を含む文書ペアを前記文書集合の文書それぞれに対して抽出する段階、前記抽出された文書ペアを前記類似度モデルに順に入力して前記抽出された文書ペアそれぞれの意味的類似度を計算する段階、前記計算された意味的類似度が予め設定された第1閾値以上である文書ペアを重複文書として決定する段階、および前記重複文書として決定された文書ペアの数が予め設定された第2閾値以上である場合、前記新しい文書を重複文書として決定する段階を含むことを特徴としてよい。
【0014】
また他の側面によると、前記重複文書を探知する段階は、前記新しい文書が重複文書として決定された場合、前記新しい文書を登録する代わりにキャプチャ(Captcha)を表示することを特徴としてよい。
【0015】
さらに他の側面によると、前記数学的類似度を計算する段階は、前記数学的尺度として、コサイン類似度(Cosine Similarity)、ユークリッド距離(Euclidean Distance)、およびジャッカード類似度(Jaccard Similarity)のうちの少なくとも1つを利用して前記数学的類似度を計算することを特徴としてよい。
【0016】
コンピュータ装置により実行されると、前記方法をコンピュータ装置に実行させるためにコンピュータ読み取り可能な記録媒体に記録されたコンピュータプログラムを提供する。
【0017】
前記方法をコンピュータ装置に実行させるためのプログラムが記録されている、コンピュータ読み取り可能な記録媒体を提供する。
【0018】
コンピュータ読み取り可能な命令を実行するように実現される少なくとも1つのプロセッサを含み、前記少なくとも1つのプロセッサにより、文書データベースから、同じ属性を有する複数の類似文書ペアを含む類似文書ペア集合およびランダムに抽出された複数の非類似文書ペアを含む非類似文書ペア集合を抽出し、前記複数の類似文書ペアそれぞれおよび前記複数の非類似文書ペアそれぞれに対して数学的尺度を利用した数学的類似度を計算し、前記複数の類似文書ペアそれぞれに対して計算された数学的類似度を増加させ、前記複数の非類似文書ペアそれぞれに対して計算された数学的類似度を減少させて、前記複数の類似文書ペアそれぞれおよび前記複数の非類似文書ペアそれぞれに対する意味的類似度を計算し、前記複数の類似文書ペア、前記複数の非類似文書ペア、および前記意味的類似度を利用して類似度モデルを学習させ、前記類似度モデルを利用して重複文書を探知することを特徴とする、コンピュータ装置を提供する。
【発明の効果】
【0019】
文書間の意味的類似度に基づいて文書間の重複の可否を決定することができる。
【図面の簡単な説明】
【0020】
図1】本発明の一実施形態における、ネットワーク環境の例を示した図である。
図2】本発明の一実施形態における、コンピュータ装置の例を示したブロック図である。
図3】本発明の一実施形態における、類似度モデルの学習過程の例を示した図である。
図4】本発明の一実施形態における、重複文書探知過程の例を示した図である。
図5】本発明の一実施形態における、重複文書探知方法の例を示したフローチャートである。
【発明を実施するための形態】
【0021】
以下、実施形態について、添付の図面を参照しながら詳しく説明する。
【0022】
本発明の実施形態に係る重複文書探知システムは、少なくとも1つのコンピュータ装置によって実現されてよく、本発明の実施形態に係る重複文書探知方法は、重複文書探知システムに含まれる少なくとも1つのコンピュータ装置によって実行されてよい。コンピュータ装置においては、本発明の一実施形態に係るコンピュータプログラムがインストールされて実行されてよく、コンピュータ装置は、実行されたコンピュータプログラムの制御にしたがって本発明の実施形態に係る重複文書探知方法を実行してよい。上述したコンピュータプログラムは、コンピュータ装置により実行されて重複文書探知方法をコンピュータに実行させるためにコンピュータ読み取り可能な記録媒体に記録されてよい。
【0023】
図1は、本発明の一実施形態における、ネットワーク環境の例を示した図である。図1のネットワーク環境は、複数の電子機器110、120、130、140、複数のサーバ150、160、およびネットワーク170を含む例を示している。このような図1は、発明の説明のための一例に過ぎず、電子機器の数やサーバの数が図1のように限定されることはない。また、図1のネットワーク環境は、本実施形態に適用可能な環境のうちの1つの例を説明するものに過ぎず、本実施形態に適用可能な環境が図1のネットワーク環境に限定されることはない。
【0024】
複数の電子機器110、120、130、140は、コンピュータ装置によって実現される固定端末や移動端末であってよい。複数の電子機器110、120、130、140の例としては、スマートフォン、携帯電話、ナビゲーション、PC(personal computer)、ノート型PC、デジタル放送用端末、PDA(Personal Digital Assistant)、PMP(Portable Multimedia Player)、タブレットなどがある。一例として、図1では、電子機器110の例としてスマートフォンを示しているが、本発明の実施形態において、電子機器110は、実質的に無線または有線通信方式を利用し、ネットワーク170を介して他の電子機器120、130、140および/またはサーバ150、160と通信することのできる多様な物理的なコンピュータ装置のうちの1つを意味してよい。
【0025】
通信方式が限定されることはなく、ネットワーク170が含むことのできる通信網(一例として、移動通信網、有線インターネット、無線インターネット、放送網)を利用する通信方式だけではなく、機器間の近距離無線通信が含まれてもよい。例えば、ネットワーク170は、PAN(personal area network)、LAN(local area network)、CAN(campus area network)、MAN(metropolitan area network)、WAN(wide area network)、BBN(broadband network)、インターネットなどのネットワークのうちの1つ以上の任意のネットワークを含んでよい。さらに、ネットワーク170は、バスネットワーク、スターネットワーク、リングネットワーク、メッシュネットワーク、スター−バスネットワーク、ツリーまたは階層的ネットワークなどを含むネットワークトポロジのうちの任意の1つ以上を含んでもよいが、これらに限定されることはない。
【0026】
サーバ150、160それぞれは、複数の電子機器110、120、130、140とネットワーク170を介して通信して命令、コード、ファイル、コンテンツ、サービスなどを提供する1つ以上のコンピュータ装置によって実現されてよい。例えば、サーバ150は、ネットワーク170を介して接続した複数の電子機器110、120、130、140にサービス(一例として、コンテンツ提供サービス、グループ通話サービス(または、音声会議サービス)、メッセージングサービス、メールサービス、ソーシャルネットワークサービス、地図サービス、翻訳サービス、金融サービス、決済サービス、検索サービスなど)を提供するシステムであってよい。
【0027】
図2は、本発明の一実施形態における、コンピュータ装置の例を示したブロック図である。上述した複数の電子機器110、120、130、140それぞれやサーバ150、160それぞれは、図2に示したコンピュータ装置200によって実現されてよい。
【0028】
このようなコンピュータ装置200は、図2に示すように、メモリ210、プロセッサ220、通信インタフェース230、および入力/出力インタフェース240を含んでよい。メモリ210は、コンピュータ読み取り可能な記録媒体であって、RAM(random access memory)、ROM(read only memory)、およびディスクドライブのような永続的大容量記録装置を含んでよい。ここで、ROMやディスクドライブのような永続的大容量記録装置は、メモリ210とは区分される別の永続的記録装置としてコンピュータ装置200に含まれてもよい。また、メモリ210には、オペレーティングシステムと、少なくとも1つのプログラムコードが記録されてよい。このようなソフトウェア構成要素は、メモリ210とは別のコンピュータ読み取り可能な記録媒体からメモリ210にロードされてよい。このような別のコンピュータ読み取り可能な記録媒体は、フロッピー(登録商標)ドライブ、ディスク、テープ、DVD/CD−ROMドライブ、メモリカードなどのコンピュータ読み取り可能な記録媒体を含んでよい。他の実施形態において、ソフトウェア構成要素は、コンピュータ読み取り可能な記録媒体ではない通信インタフェース230を通じてメモリ210にロードされてもよい。例えば、ソフトウェア構成要素は、ネットワーク170を介して受信されるファイルによってインストールされるコンピュータプログラムに基づいてコンピュータ装置200のメモリ210にロードされてよい。
【0029】
プロセッサ220は、基本的な算術、ロジック、および入出力演算を実行することにより、コンピュータプログラムの命令を処理するように構成されてよい。命令は、メモリ210または通信インタフェース230によって、プロセッサ220に提供されてよい。例えば、プロセッサ220は、メモリ210のような記録装置に記録されたプログラムコードにしたがって受信される命令を実行するように構成されてよい。
【0030】
通信モジュール230は、ネットワーク170を介してコンピュータ装置200が他の装置(一例として、上述した記録装置)と互いに通信するための機能を提供してよい。一例として、コンピュータ装置200のプロセッサ220がメモリ210のような記録装置に記録されたプログラムコードにしたがって生成した要求や命令、データ、ファイルなどが、通信インタフェース230の制御にしたがってネットワーク170を介して他の装置に伝達されてよい。これとは逆に、他の装置からの信号や命令、データファイルなどが、ネットワーク170を経てコンピュータ装置200の通信モジュール230を通じてコンピュータ装置200に受信されてよい。通信インタフェース230を通じて受信された信号や命令、データなどは、プロセッサ220やメモリ210に伝達されてよく、ファイルなどは、コンピュータ装置200がさらに含むことのできる記録媒体(上述した永続的記録装置)に記録されてよい。
【0031】
入力/出力インタフェース240は、入力/出力装置250とのインタフェースのための手段であってよい。例えば、入力装置は、マイク、キーボード、マウスなどの装置を、出力装置は、ディスプレイ、スピーカのような装置を含んでよい。他の例として、入力/出力インタフェース240は、タッチスクリーンのように入力と出力のための機能が1つに統合された装置とのインタフェースのための手段であってもよい。入力/出力装置250は、コンピュータ装置200と1つの装置で構成されてもよい。
【0032】
また、他の実施形態において、コンピュータ装置200は、図2の構成要素よりも少ないか多くの構成要素を含んでもよい。しかし、大部分の従来技術的構成要素を明確に図に示す必要はない。例えば、コンピュータ装置200は、上述した入力/出力装置250のうちの少なくとも一部を含むように実現されてもよいし、トランシーバやデータベースなどのような他の構成要素をさらに含んでもよい。
【0033】
本発明の実施形態において、「文書」は、ブログリスティングやニュース、コメントなどのように、任意の作成者がウェブ上にアップロードした掲示物を含んでよい。また、「属性」とは、文書に対して予め定義される特徴であって、一例として、文書の作成者、文書の掲示セクション、および文書の登録時間範囲のうちの少なくとも1つに基づいて決定されてよい。ここで、文書の掲示セクションは、1つのサービスで文書が表示されるセクションに基づいてよい。一例として、2つの文書の掲示セクションが同じであるということは、1つのサービス内で文書が表示される複数の掲示セッションのうち、2つの文書が掲示された掲示セッションが同じ場合を意味してよい。作成者が属性として定義される場合、同じ作成者の互いに異なる2つのブログリスティングは、同じ属性の文書として認識されてよい。他の例として、作成者、掲示セクション、および1時間範囲が属性として定義される場合、同じ作成者によって同じ掲示セクションに1時間以内に登録された2つのコメントは同じ属性の文書として認識されてよい。また、本発明の実施形態において、文書間の「重複」とは、2つの文書が閾値以上の意味的類似度を有することを意味してよい。例えば、文書間の意味的類似度の値を0.00〜1.00の範囲で表現し、重複のための閾値を0.95と仮定するとき、文書1と文書2の意味的類似度の値が0.97であれば、文書1と文書2は重複する文書として決定されてよい。
【0034】
図3は、本発明の一実施形態における、類似度モデルの学習過程の例を示した図である。重複文書探知システム300は、上述したコンピュータ装置200によって実現されてよく、コンピュータ装置200が含むプロセッサ220の制御にしたがって以下で説明する類似度モデルの学習過程が処理されてよい。
【0035】
重複文書探知システム300は、文書DB310に含まれた文書間の重複の可否を決定してよい。このために、重複文書探知システム300は、類似度モデル320を学習させてよい。
【0036】
文書DB310は、重複文書探知システム300を実現する物理的な装置(第1装置)に含まれて文書を提供するように実現されてもよいが、重複文書探知システム300外部の他の物理的な装置(第2装置)に実現され、第1装置と第2装置がネットワーク170を介して互いに通信する形態で文書を提供するように実現されてもよい。
【0037】
重複文書探知システム300は、文書DB310から類似文書ペア集合330と非類似文書ペア集合340を抽出してよい。ここで、類似文書ペア集合330とは、予め定義された属性が同じである文書ペアの集合を意味してよく、非類似文書ペア集合340とは、属性を考慮せずに任意に(ランダムに)抽出された文書ペアの集合を意味してよい。実施形態によって、非類似文書ペア集合340は、予め定義された属性が同じでない文書ペアの集合を意味してもよい。
【0038】
一実験例として、1億4千万件のコメントのうちから、予め定義された属性の文書ペアである「同じ作成者が同じ掲示セクションで1時間以内に作成した文書ペア」である3500万件を類似文書ペア集合330として抽出し、任意の2つのコメントからなる3500万件の文書ペアを非類似文書ペア集合340として抽出した。ここで、仮説1は、2つのコメントの抽出回数が無限大に増加することにより、同じ属性の2つのコメントの意味が類似する確率αが、任意に抽出された2つのコメントの意味が類似する確率βよりも高いということであり、仮説2は、数学的尺度を利用した類似度(以下、数学的類似度)の値が同じであると仮定するとき、同じ属性の2つのコメントの数学的類似度は数学的尺度によって過小評価される確率が高く、任意に抽出された2つのコメントの数学的類似度は数学的尺度によって過大評価される確率が高いということである。このような仮説1および仮説2は、一実験例から得られた数学的類似度のコメントを比較することによって確認された。例えば、数学的類似度が0.2以下と低い値をもつ同じ2つのコメントに意味的/主題的類似性が存在する場合の比重は高かったが、数学的類似度が0.7以上と高い値をもつ任意に抽出された2つのコメントに意味的/主題的類似性が含まれない場合の比重は高かった。
【0039】
このように確認された仮説に基づき、本実施形態に係る重複文書探知システム300は、先ず、類似文書ペア集合330の類似文書ペアそれぞれと非類似文書ペア集合340の非類似文書ペアそれぞれに対して数学的尺度を利用して数学的類似度を計算してよい。このとき、重複文書探知システム300は、計算された数学的類似度を、属性の同一状態に応じて増加させたり減少させたりすることで文書ペアそれぞれに対する意味的類似度を決定してよい。例えば、類似文書ペア集合330の類似文書ペアそれぞれに対して計算された数学的類似度は、数学的類似度の値が過小評価されたものと見なし、計算された数学的類似度の値を適切に増加させることによって意味的類似度を計算してよい。これとは逆に、非類似文書ペア集合340の非類似文書ペアそれぞれに対して計算された数学的類似度は、数学的類似度の値が過大評価されたものと見なし、計算された数学的類似度の値を適切に減少させることによって意味的類似度を計算してよい。
【0040】
より具体的な例として、重複文書探知システム300は、類似文書ペアの数学的類似度の値を第1非線形関数に入力して類似文書ペアの数学的類似度の値を増加させてよく、非類似文書ペアの数学的類似度の値を第2非線形関数に入力して非類似文書ペアの数学的類似度の値を減少させてよい。第1非線形関数は、類似文書ペアに対しては過小評価された数学的類似度の値を増加させるためのものであり、第2非線形関数は、非類似文書ペアに対しては過大評価された数学的類似度の値を減少させるためのものであって、同一のすべての入力値に対して第1非線形関数が第2非線形関数よりも高い値を算出するという条件を満たす2つの非線形関数であれば、第1非線形関数および第2非線形関数として活用されてよい。
【0041】
文書ペアに対して計算された意味的類似度は、類似度モデル320のための正答スコアとして見なされてよい。例えば、重複文書探知システム300は、類似文書ペア集合330、非類似文書ペア集合340、正答スコアを学習データとして活用して類似度モデル320を学習させてよい。例えば、類似度モデル320は、入力される文書ペアの意味的類似度を算出するように学習されてよい。
【0042】
より具体的な例として、類似度モデル320は、入力される文書ペアに対する出力値と正答スコアとの平均二乗誤差(Mean Squared Error:MSE)を最小化するように学習されてよい。例えば、類似度モデル320は、平均二乗誤差を利用した損失関数に出力値と正答スコアを入力して損失が最小化されるように学習されてよい。なお、類似度モデル320としては、周知のディープラーニングモデルのうちの少なくとも1つが活用されてよい。例えば、CNN(Convolutional Neural Network)やRNN(Recurrent Neural Network)などが類似度モデル320を実現するために活用されてよい。この場合、類似度モデル320は、文書ペアの入力を受けて0〜1範囲の実数(意味的類似度)を出力するように実現されてよい。出力される値の範囲は一例に過ぎず、0〜1の範囲に限定されない。
【0043】
学習された類似度モデル320は、文書間の重複の可否を探知するために活用されてよい。例えば、重複文書探知システム300は、多数のコメントが登録された状態で作成者が新しいコメントの登録を要求したときに、作成者の新しいコメントと重複するコメントを探知してよい。このとき、重複文書探知システム300は、重複するコメントがN件以上探知される場合、キャプチャ(Captcha)を表示することにより、重複する新しいコメントの無分別な登録を防いでよい。
【0044】
図4は、本発明の一実施形態における、重複文書探知過程の例を示した図である。重複文書探知システム300は、上述したコンピュータ装置200によって実現されてよく、コンピュータ装置200が含むプロセッサ220の制御にしたがって以下で説明する重複文書探知過程が処理されてよい。
【0045】
重複文書探知システム300は、予め設定された文書集合410を管理してよい。このとき、文書集合410は、一例として、特定のサービスを提供するサーバ(一例として、サーバ150)に予め設定された文書の集合であってよい。ここで、重複文書探知システム300は、サーバに含まれてサーバのための重複文書探知サービスを提供してもよいし、あるいは個別の物理的な装置で実現された重複文書探知システム300がネットワーク170を介してサーバと通信しながら重複文書探知サービスをサーバに提供してもよい。このとき、新しい文書aの登録が要求されれば、重複文書探知システム300は、新しい文書aの予め設定された文書それぞれに対する重複の可否を探知してよい。例えば、文書集合410が、文書1〜文書NまでのN件の予め設定された文書を含むと仮定する。この場合、重複文書探知システム300は、文書aに対する文書集合410の文書それぞれに対する文書ペア420を生成してよい。この後、重複文書探知システム300は、文書ペア420それぞれを類似度モデル320に順に入力してよく、類似度モデル320は、文書ペア420それぞれに対する意味的類似度を決定して出力してよい。この場合、重複文書探知システム300は、意味的類似度が閾値以上である文書ペア430を重複文書ペアとして決定し、重複文書ペアの数に基づいて新しい文書aを登録するかを決定してよい。例えば、重複文書探知システム300は、重複文書ペアの数がM件未満の場合には、新しい文書aの登録要求にしたがって新しい文書aを登録する反面、重複文書ペアの数がM件以上の場合には、新しい文書aの登録要求に対してキャプチャを表示することによって重複文書の無分別な登録を防いでよい。このとき、新しい文書aの登録やキャプチャの表示などは、新しい文書aの登録要求に応答してなされなければならない。言い換えれば、新しい文書に対する重複文書探知はリアルタイムでなされてよい。これは、本発明の実施形態に係る重複文書探知方法が、文書に対するクラスタリングのような群集化アルゴリズムを活用するのではなく、2つの文書間の類似度を学習するディープラーニングを活用することによって可能となる。
【0046】
図4の実施形態では、重複文書探知に基づいて新しい文書を登録するかを決定する過程について説明しているが、このような説明により、予め設定された文書のうちから重複文書を探知する過程を容易に理解することができるであろう。例えば、重複文書探知システム300は、文書集合410に含まれた文書全体に対する文書ペアを生成してよい。このとき、生成される文書ペアは、文書集合410の部分集合うちで要素の数が2である部分集合であってよい。生成された文書ペアそれぞれを類似度モデル320に入力して文書ペアそれぞれに対する意味的類似度を計算してよく、意味的類似度が閾値以上である文書ペアを重複文書として確認してよい。
【0047】
他の実施形態として、誤探率を最小化するために、数学的尺度を利用して計算された数学的類似度と本発明の実施形態に係る意味的類似度を結合した条件に基づいて文書間の重複の可否が決定されてもよい。例えば、計算された数学的類似度と意味的類似度に対する加重和が、2つの文書間の最終類似度として活用されてよい。
【0048】
図5は、本発明の一実施形態における、重複文書探知方法の例を示したフローチャートである。本実施形態に係る重複文書探知方法は、上述した重複文書探知システム300を実現するコンピュータ装置200によって実行されてよい。このとき、コンピュータ装置200のプロセッサ220は、メモリ210が含むオペレーティングシステムのコードと、少なくとも1つのコンピュータプログラムのコードとによる制御命令(instruction)を実行するように実現されてよい。ここで、プロセッサ220は、コンピュータ装置200に記録されたコードが提供する制御命令にしたがってコンピュータ装置200が図5の方法に含まれる段階510〜550を実行するようにコンピュータ装置200を制御してよい。
【0049】
段階510で、コンピュータ装置200は、文書データベースから、同じ属性を有する複数の類似文書ペアを含む類似文書ペア集合およびランダムに抽出された複数の非類似文書ペアを含む非類似文書ペア集合を抽出してよい。一例として、文書データベースは、図3を参照しながら説明した文書DB310に対応してよく、類似文書ペア集合および非類似文書ペア集合はそれぞれ、図3を参照しながら説明した類似文書ペア集合330および非類似文書ペア集合340に対応してよい。ここで、属性は、文書の作成者、文書の掲示セクション、および文書の登録時間範囲のうちの少なくとも1つを含んでよい。一例として、作成者が属性として定義される場合、同じ作成者の互いに異なる2つの文書は、同じ属性を有する文書として認識されてよい。他の例として、作成者、掲示セクション、および1時間範囲が属性として定義される場合、同じ作成者が同じ掲示セクションに1時間以内に登録した2つの文書は、同じ属性の文書として認識されてよい。非類似文書ペアは、ランダムに抽出される2つの文書を含んでよいが、実施形態によっては、ランダムに抽出された文書ペアうちで同じ属性を有する文書ペアは非類似文書ペアから除外されてもよい。
【0050】
段階520で、コンピュータ装置200は、複数の類似文書ペアそれぞれおよび複数の非類似文書ペアそれぞれに対して数学的尺度を利用した数学的類似度を計算してよい。一例として、コンピュータ装置200は、数学的尺度として、コサイン類似度(Cosine Similarity)、ユークリッド距離(Euclidean Distance)、およびジャッカード類似度(Jaccard Similarity)のうちの少なくとも1つを利用して数学的類似度を計算してよい。
【0051】
段階530で、コンピュータ装置200は、複数の類似文書ペアそれぞれに対して計算された数学的類似度を増加させ、複数の非類似文書ペアそれぞれに対して計算された数学的類似度を減少させて、複数の類似文書ペアそれぞれおよび複数の非類似文書ペアそれぞれに対する意味的類似度を計算してよい。例えば、コンピュータ装置200は、複数の類似文書ペアそれぞれに対して計算された数学的類似度を第1非線形関数に入力して増加させ、複数の非類似文書ペアそれぞれに対して計算された数学的類似度を第2非線形関数に入力して減少させてよい。この場合、第1非線形関数および第2非線形関数は、同一のすべての入力値に対して第1非線形関数が第2非線形関数よりも高い値を算出するという条件を満たす2つの非線形関数であってよい。類似文書ペアに対する数学的類似度は数学的尺度によって過小評価され、非類似文書ペアに対する数学的類似度は数学的尺度によって過大評価されることについては、上で説明した。コンピュータ装置200は、過小評価された数学的類似度を増加させ、過大評価された数学的類似度を減少させて、意味的類似度を計算してよい。数学的類似度を増加あるいは減少させる程度は、選択される第1非線形関数および第2非線形関数によって決定されてよい。
【0052】
段階540で、コンピュータ装置200は、複数の類似文書ペア、複数の非類似文書ペア、および意味的類似度を利用して類似度モデルを学習させてよい。例えば、コンピュータ装置200は、複数の類似文書ペアそれぞれおよび複数の非類似文書ペアそれぞれを類似度モデルに順に入力して類似度モデルの出力値と入力された文書ペアに対応する意味的類似度間の平均二乗誤差(Mean Squared Error:MSE)が最小化するように類似度モデルを学習させてよい。これは、平均二乗誤差を利用した損失関数に類似度モデルの出力値と対応する意味的類似度を正答スコアとして入力して損失が最小化するように類似度モデルを学習させることに対応してよい。このような類似度モデルについては、図3および図4を参照しながら説明した類似度モデル320によって詳しく記述した。
【0053】
段階550で、コンピュータ装置200は、類似度モデルを利用して重複文書を探知してよい。
【0054】
一実施形態として、コンピュータ装置200は、段階550で、重複を探知しようとする文書集合から文書ペアを抽出してよく、抽出された文書ペアを類似度モデルに順に入力して抽出された文書ペアそれぞれの意味的類似度を計算してよい。ここで、文書集合から文書ペアを抽出するために、コンピュータ装置200は、文書集合の部分集合のうちで要素の数が2である部分集合を文書ペアとして抽出してよい。この場合、コンピュータ装置200は、計算された意味的類似度が予め設定された閾値以上である文書ペアを重複文書として決定してよい。この場合、文書集合のすべての文書ペアに対して重複文書の可否が決定されるようになる。
【0055】
他の実施形態として、コンピュータ装置200は、段階550で、新しい文書の登録要求にしたがい、予め設定された文書を含む文書集合の文書のいずれか1つと新しい文書を含む文書ペアを文書集合の文書それぞれに対して抽出し、抽出された文書ペアを類似度モデルに順に入力して抽出された文書ペアそれぞれの意味的類似度を計算し、計算された意味的類似度が予め設定された第1閾値以上である文書ペアを重複文書として決定してよい。このとき、コンピュータ装置200は、重複文書として決定された文書ペアの数が予め設定された第2閾値以上である場合、新しい文書を重複文書として決定してよい。例えば、コンピュータ装置200は、新しい文書が登録される時点に新しい文書と重複する文書を確認し、重複する文書の数が予め設定された第2閾値以上である場合に新しい文書を重複文書として決定してよい。この場合、コンピュータ装置200は、新しい文書を登録する代わりにキャプチャ(Captcha)を表示することにより、重複する文書の無分別な登録を防いでよい。
【0056】
このように、本発明の実施形態によると、文書間の意味的類似度に基づいて文書間の重複の可否を決定することができる。
【0057】
上述したシステムまたは装置は、ハードウェア構成要素、またはハードウェア構成要素とソフトウェア構成要素との組み合わせによって実現されてよい。例えば、実施形態で説明された装置および構成要素は、例えば、プロセッサ、コントローラ、ALU(arithmetic logic unit)、デジタル信号プロセッサ、マイクロコンピュータ、FPGA(field programmable gate array)、PLU(programmable logic unit)、マイクロプロセッサ、または命令を実行して応答することができる様々な装置のように、1つ以上の汎用コンピュータまたは特殊目的コンピュータを利用して実現されてよい。処理装置は、オペレーティングシステム(OS)およびOS上で実行される1つ以上のソフトウェアアプリケーションを実行してよい。また、処理装置は、ソフトウェアの実行に応答し、データにアクセスし、データを記録、操作、処理、および生成してもよい。理解の便宜のために、1つの処理装置が使用されるとして説明される場合もあるが、当業者は、処理装置が複数個の処理要素および/または複数種類の処理要素を含んでもよいことが理解できるであろう。例えば、処理装置は、複数個のプロセッサまたは1つのプロセッサおよび1つのコントローラを含んでよい。また、並列プロセッサのような、他の処理構成も可能である。
【0058】
ソフトウェアは、コンピュータプログラム、コード、命令、またはこれらのうちの1つ以上の組み合わせを含んでもよく、思うままに動作するように処理装置を構成したり、独立的または集合的に処理装置に命令したりしてよい。ソフトウェアおよび/またはデータは、処理装置に基づいて解釈されたり、処理装置に命令またはデータを提供したりするために、いかなる種類の機械、コンポーネント、物理装置、仮想装置、コンピュータ記録媒体または装置に具現化されてよい。ソフトウェアは、ネットワークによって接続されたコンピュータシステム上に分散され、分散された状態で記録されても実行されてもよい。ソフトウェアおよびデータは、1つ以上のコンピュータ読み取り可能な記録媒体に記録されてよい。
【0059】
実施形態に係る方法は、多様なコンピュータ手段によって実行可能なプログラム命令の形態で実現されてコンピュータ読み取り可能な媒体に記録されてよい。コンピュータ読み取り可能な媒体は、プログラム命令、データファイル、データ構造などを単独または組み合わせて含んでよい。媒体は、コンピュータ実行可能なプログラムを継続して記録するものであっても、実行またはダウンロードのために一時記録するものであってもよい。また、媒体は、単一または複数のハードウェアが結合した形態の多様な記録手段または格納手段であってよく、あるコンピュータシステムに直接接続する媒体に限定されることはなく、ネットワーク上に分散して存在するものであってもよい。媒体の例としては、ハードディスク、フロッピー(登録商標)ディスク、および磁気テープのような磁気媒体、CD−ROMおよびDVDのような光媒体、フロプティカルディスク(floptical disk)のような光磁気媒体、およびROM、RAM、フラッシュメモリなどを含み、プログラム命令が記録されるように構成されたものであってよい。また、媒体の他の例として、アプリケーションを配布するアプリケーションストアやその他の多様なソフトウェアを供給または配布するサイト、サーバなどで管理する記録媒体または格納媒体が挙げられる。プログラム命令の例には、コンパイラによって生成されるもののような機械語コードだけでなく、インタプリタなどを使用してコンピュータによって実行されることのできる高級言語コードが含まれる。
【0060】
以上のように、実施形態を、限定された実施形態および図面に基づいて説明したが、当業者であれば、上述した記載から多様な修正および変形が可能であろう。例えば、説明された技術が、説明された方法とは異なる順序で実行されたり、かつ/あるいは、説明されたシステム、構造、装置、回路などの構成要素が、説明された方法とは異なる形態で結合されたりまたは組み合わされたり、他の構成要素または均等物によって対置されたり置換されたとしても、適切な結果を達成することができる。
【0061】
したがって、異なる実施形態であっても、特許請求の範囲と均等なものであれば、添付される特許請求の範囲に属する。
【符号の説明】
【0062】
300:重複文書探知システム
310:文書DB
320:類似度モデル
330:類似文書ペア集合
340:非類似文書ペア集合
図1
図2
図3
図4
図5