IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ 株式会社リクルートの特許一覧

特開2022-41799教師なしパラフレーズマイニングのためのシステム及び方法
<>
  • 特開-教師なしパラフレーズマイニングのためのシステム及び方法 図1
  • 特開-教師なしパラフレーズマイニングのためのシステム及び方法 図2
  • 特開-教師なしパラフレーズマイニングのためのシステム及び方法 図3
  • 特開-教師なしパラフレーズマイニングのためのシステム及び方法 図4
  • 特開-教師なしパラフレーズマイニングのためのシステム及び方法 図5
  • 特開-教師なしパラフレーズマイニングのためのシステム及び方法 図6A
  • 特開-教師なしパラフレーズマイニングのためのシステム及び方法 図6B
  • 特開-教師なしパラフレーズマイニングのためのシステム及び方法 図6C
  • 特開-教師なしパラフレーズマイニングのためのシステム及び方法 図7A
  • 特開-教師なしパラフレーズマイニングのためのシステム及び方法 図7B
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022041799
(43)【公開日】2022-03-11
(54)【発明の名称】教師なしパラフレーズマイニングのためのシステム及び方法
(51)【国際特許分類】
   G06F 40/40 20200101AFI20220304BHJP
   G06F 40/247 20200101ALI20220304BHJP
   G06F 16/33 20190101ALI20220304BHJP
【FI】
G06F40/40
G06F40/247
G06F16/33
【審査請求】未請求
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2020187645
(22)【出願日】2020-11-11
(31)【優先権主張番号】17/008,563
(32)【優先日】2020-08-31
(33)【優先権主張国・地域又は機関】US
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.BLUETOOTH
2.JAVA
3.SMALLTALK
4.3GPP
(71)【出願人】
【識別番号】518135412
【氏名又は名称】株式会社リクルート
(74)【代理人】
【識別番号】100079108
【弁理士】
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【弁理士】
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【弁理士】
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【弁理士】
【氏名又は名称】内藤 和彦
(74)【代理人】
【識別番号】100139066
【弁理士】
【氏名又は名称】伊藤 健太郎
(72)【発明者】
【氏名】ゴルシャン,ベーザド
(72)【発明者】
【氏名】チェン,チェン
(72)【発明者】
【氏名】タン,ワン-チュウ
(72)【発明者】
【氏名】マー,ダンニ
【テーマコード(参考)】
5B091
5B175
【Fターム(参考)】
5B091AA15
5B091AB17
5B091CC04
5B175DA01
5B175FB04
5B175KA12
(57)【要約】
【課題】教師なしパラフレーズマイニングのためのシステム及び方法を提供する。
【解決手段】開示する実施形態は文の対を対応付けることに関する。技法は、複数の文を受け付けること、複数の文のうちの少なくとも2つの文のそれぞれについてグラフを生成することであって、文に関する1つ又は複数の字句を識別すること、及び1つ又は複数の字句をエッジによって接続することを含む、グラフを生成すること、少なくとも2つの文について複合グラフを生成することであって、複数の文のうちの少なくとも2つの文の識別済みの字句を対応付けること、対応付けに基づいて少なくとも2つの文の間の一致字句及び非一致字句を識別すること、及び一致字句を複合グラフノードへとマージすることを含む、複合グラフを生成することを含み得る。
【選択図】図1
【特許請求の範囲】
【請求項1】
文の対を対応付けるための方法をパラフレーズマイニングシステムに実行させるための1つ又は複数のプロセッサを含む前記パラフレーズマイニングシステムによって実行可能な命令を記憶する、非一時的コンピュータ可読記憶媒体であって、前記方法は、
複数の文を受け付けること、
前記複数の文のうちの少なくとも2つの文のそれぞれについてグラフを生成することであって、
前記文に関する1つ又は複数の字句を識別すること、及び
前記1つ又は複数の字句をエッジによって接続すること
を含む、グラフを生成すること、
前記少なくとも2つの文について複合グラフを生成することであって、
前記複数の文のうちの前記少なくとも2つの文の前記識別済みの字句を対応付けること、
前記対応付けに基づいて前記少なくとも2つの文の間の一致字句及び非一致字句を識別すること、及び
一致字句を複合グラフノードへとマージすること
を含む、複合グラフを生成することを含む、
非一時的コンピュータ可読記憶媒体。
【請求項2】
前記少なくとも2つの文について複合グラフを生成することが、
前記少なくとも2つの文の間の互換性を決定すること、及び
前記互換性の決定に基づいて前記少なくとも2つの文から文を除去すること
を更に含む、請求項1に記載の非一時的コンピュータ可読記憶媒体。
【請求項3】
前記少なくとも2つの文の間の互換性を決定することが、
前記少なくとも2つの文の間の単射性を決定すること、
前記少なくとも2つの文の間の単調性を決定すること、及び
前記少なくとも2つの文の間の他動性を決定すること
を含む、請求項2に記載の非一時的コンピュータ可読記憶媒体。
【請求項4】
前記少なくとも2つの文の間の単調性を決定することが、
前記少なくとも2つの文の間の整合性を決定すること、及び
前記整合性の決定に基づいて前記少なくとも2つの文から文を除去すること
を更に含む、請求項3に記載の非一時的コンピュータ可読記憶媒体。
【請求項5】
複数の文を受け付けることが、
1組の前記複数の文の中の各文の意図を決定すること、及び
前記1組の複数の文の中の各文をクラスタへとグループ化することであって、クラスタ内の文は前記意図を共有する、グループ化すること
を更に含む、請求項1に記載の非一時的コンピュータ可読記憶媒体。
【請求項6】
前記少なくとも2つの文について複合グラフを生成することが、
前記少なくとも2つの文の中の字句の意図を決定すること、及び
前記対応付けに基づいて前記少なくとも2つの文の間の1組の非一致字句を識別することであって、前記組の中の前記非一致字句は前記意図を共有する、識別すること
を更に含む、請求項1に記載の非一時的コンピュータ可読記憶媒体。
【請求項7】
前記非一致字句は、交換可能に使用することができる1つ又は複数の単語を有するパラフレーズである、請求項6に記載の非一時的コンピュータ可読記憶媒体。
【請求項8】
対応付けされない字句が交感的表現である、請求項7に記載の非一時的コンピュータ可読記憶媒体。
【請求項9】
2つ以上の文のうちの各文の中の交感的表現が複合グラフの生成前に除去される、請求項7に記載の非一時的コンピュータ可読記憶媒体。
【請求項10】
前記識別済みの字句を対応付けた後、前記2つ以上の文の前記複合グラフの表記に前記交感的表現が追加される、請求項9に記載の非一時的コンピュータ可読記憶媒体。
【請求項11】
前記一致字句及び前記非一致字句のサブセットから新たな文を生成すること
を更に含む、請求項1に記載の非一時的コンピュータ可読記憶媒体。
【請求項12】
前記新たな文が質問への応答として生成される、請求項11に記載の非一時的コンピュータ可読記憶媒体。
【請求項13】
文の対を対応付けるためのパラフレーズマイニングシステムによって実行される方法であって、
複数の文を受け付けること、
前記複数の文のうちの少なくとも2つの文のそれぞれについてグラフを生成することであって、
前記文に関する1つ又は複数の字句を識別すること、及び
前記1つ又は複数の字句をエッジによって接続すること
を含む、グラフを生成すること、
前記少なくとも2つの文について複合グラフを生成することであって、
前記複数の文のうちの前記少なくとも2つの文の前記識別済みの字句を対応付けること、
前記対応付けに基づいて前記少なくとも2つの文の間の一致字句及び非一致字句を識別すること、及び
一致字句を複合グラフノードへとマージすること
を含む、複合グラフを生成すること
を含む、方法。
【請求項14】
前記少なくとも2つの文について複合グラフを生成することが、
前記少なくとも2つの文の間の互換性を決定すること、及び
前記互換性の決定に基づいて前記少なくとも2つの文から文を除去すること
を更に含む、請求項13に記載の方法。
【請求項15】
前記少なくとも2つの文の間の互換性を決定することが、
前記少なくとも2つの文の間の単射性を決定すること、
前記少なくとも2つの文の間の単調性を決定すること、及び
前記少なくとも2つの文の間の他動性を決定すること
を含む、請求項14に記載の方法。
【請求項16】
前記少なくとも2つの文について複合グラフを生成することが、
前記少なくとも2つの文の間の整合性を決定すること、及び
前記整合性の決定に基づいて前記少なくとも2つの文から文を除去すること
を更に含む、請求項13に記載の方法。
【請求項17】
プロセッサ実行可能命令を記憶する1つ又は複数のメモリ装置と、
複数の文を受け付けること、
前記複数の文のうちの少なくとも2つの文のそれぞれについてグラフを生成することであって、
前記文に関する1つ又は複数の字句を識別すること、及び
前記1つ又は複数の字句をエッジによって接続すること
を含む、グラフを生成すること、
前記少なくとも2つの文について複合グラフを生成することであって、
前記複数の文のうちの前記少なくとも2つの文の前記識別済みの字句を対応付けること、
前記対応付けに基づいて前記少なくとも2つの文の間の一致字句及び非一致字句を識別すること、及び
一致字句を複合グラフノードへとマージすること
を含む、複合グラフを生成すること
をパラフレーズマイニングシステムに行わせるために前記命令を実行するように構成される1つ又は複数のプロセッサと
を含む、パラフレーズマイニングシステム。
【請求項18】
前記1つ又は複数のプロセッサが、
1組の前記複数の文の中の各文の意図を決定すること、及び
前記1組の複数の文の中の各文をクラスタへとグループ化することであって、クラスタ内の文は前記意図を共有する、グループ化すること
を前記パラフレーズマイニングシステムに更に行わせるために前記命令を実行するように構成される、請求項17に記載のシステム。
【請求項19】
前記1つ又は複数のプロセッサが、
前記少なくとも2つの文の中の字句の意図を決定すること
を前記パラフレーズマイニングシステムに更に行わせるために前記命令を実行するように構成される、請求項17に記載のシステム。
【請求項20】
前記1つ又は複数のプロセッサが、
前記一致字句及び前記非一致字句のサブセットから新たな文を生成すること
を前記パラフレーズマイニングシステムに更に行わせるために前記命令を実行するように構成される、請求項17に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
背景
[001] コンピュータが自然言語に応答できるようにするために自然言語処理システムを改善することは困難な課題である。領域に固有の且つ限られたデータ量に基づいて言語及びフレーズをマシンが理解しようと試みるとき、この課題は一層困難になる。現代の自然言語システムの需要に応えるために領域固有の情報に容易に適合できる技法及びシステムが求められている。
【発明の概要】
【課題を解決するための手段】
【0002】
概要
[002] 本開示の特定の実施形態は、文の対を対応付けるための方法をパラフレーズマイニングシステムに実行させるための1つ又は複数のプロセッサを含むパラフレーズマイニングシステムによって実行可能な命令を記憶する、非一時的コンピュータ可読記憶媒体に関する。この方法は、複数の文を受け付けること、複数の文のうちの少なくとも2つの文のそれぞれについてグラフを生成することであって、文に関する1つ又は複数の字句を識別すること、及び1つ又は複数の字句をエッジによって接続することを含む、グラフを生成すること、少なくとも2つの文について複合グラフを生成することであって、複数の文のうちの少なくとも2つの文の識別済みの字句を対応付けること、対応付けに基づいて少なくとも2つの文の間の一致字句及び非一致字句を識別すること、及び一致字句を複合グラフノードへとマージすることを含む、複合グラフを生成することを含み得る。
【0003】
[003] 開示する一部の実施形態によれば、少なくとも2つの文について複合グラフを生成することが、少なくとも2つの文の間の互換性を決定すること、及び互換性の決定に基づいて少なくとも2つの文から文を除去することを更に含み得る。
【0004】
[004] 開示する一部の実施形態によれば、少なくとも2つの文の間の互換性を決定することが、少なくとも2つの文の間の単射性(injectivity)を決定すること、少なくとも2つの文の間の単調性(monotonicity)を決定すること、及び少なくとも2つの文の間の他動性(transitivity)を決定することを含み得る。
【0005】
[005] 開示する一部の実施形態によれば、少なくとも2つの文の間の単調性を決定することが、少なくとも2つの文の間の整合性を決定すること、及び整合性の決定に基づいて少なくとも2つの文から文を除去することを更に含み得る。
【0006】
[006] 開示する一部の実施形態によれば、複数の文を受け付けることが、1組の複数の文の中の各文の意図を決定すること、及び1組の複数の文の中の各文をクラスタへとグループ化することであって、クラスタ内の文は意図を共有する、グループ化することを更に含み得る。
【0007】
[007] 開示する一部の実施形態によれば、少なくとも2つの文について複合グラフを生成することが、少なくとも2つの文の中の字句の意図を決定すること、及び対応付けに基づいて少なくとも2つの文の間の1組の非一致字句を識別することであって、組の中の非一致字句は意図を共有する、識別することを更に含み得る。
【0008】
[008] 開示する一部の実施形態によれば、非一致字句は、交換可能に使用することができる1つ又は複数の単語を有するパラフレーズであり得る。
【0009】
[009] 開示する一部の実施形態によれば、対応付けされない字句は交感的表現であり得る。
【0010】
[0010] 開示する一部の実施形態によれば、2つ以上の文のうちの各文の中の交感的表現は複合グラフの生成前に除去することができる。
【0011】
[0011] 開示する一部の実施形態によれば、識別済みの字句を対応付けた後、2つ以上の文の複合グラフの表記に交感的表現を追加することができる。
【0012】
[0012] 開示する一部の実施形態によれば、この方法は一致字句及び非一致字句のサブセットから新たな文を生成することを更に含み得る。
【0013】
[0013] 開示する一部の実施形態によれば、新たな文が質問への応答として生成される。
【0014】
[0014] 本開示の特定の実施形態は、文の対を対応付けるためのコンピュータによって実装される方法に関する。この方法は、複数の文を受け付けること、複数の文のうちの少なくとも2つの文のそれぞれについてグラフを生成することであって、文に関する1つ又は複数の字句を識別すること、及び1つ又は複数の字句をエッジによって接続することを含む、グラフを生成すること、少なくとも2つの文について複合グラフを生成することであって、複数の文のうちの少なくとも2つの文の識別済みの字句を対応付けること、対応付けに基づいて少なくとも2つの文の間の一致字句及び非一致字句を識別すること、及び一致字句を複合グラフノードへとマージすることを含む、複合グラフを生成することを含み得る。
【0015】
[0015] 開示する一部の実施形態によれば、少なくとも2つの文について複合グラフを生成することが、少なくとも2つの文の間の互換性を決定すること、及び互換性の決定に基づいて少なくとも2つの文から文を除去することを更に含み得る。
【0016】
[0016] 開示する一部の実施形態によれば、少なくとも2つの文の間の互換性を決定することが、少なくとも2つの文の間の単射性を決定すること、少なくとも2つの文の間の単調性を決定すること、及び少なくとも2つの文の間の他動性を決定することを含み得る。
【0017】
[0017] 開示する一部の実施形態によれば、少なくとも2つの文について複合グラフを生成することが、少なくとも2つの文の間の整合性を決定すること、及び整合性の決定に基づいて少なくとも2つの文から文を除去することを更に含み得る。
【0018】
[0018] 本開示の特定の実施形態は、パラフレーズマイニングシステムに関する。パラフレーズマイニングシステムは、プロセッサ実行可能命令を記憶する1つ又は複数のメモリ装置と、パラフレーズマイニングシステムに操作を行わせるために命令を実行するように構成される1つ又は複数のプロセッサとを含み得る。操作は、複数の文を受け付けること、複数の文のうちの少なくとも2つの文のそれぞれについてグラフを生成することであって、文に関する1つ又は複数の字句を識別すること、及び1つ又は複数の字句をエッジによって接続することを含む、グラフを生成すること、少なくとも2つの文について複合グラフを生成することであって、複数の文のうちの少なくとも2つの文の識別済みの字句を対応付けること、対応付けに基づいて少なくとも2つの文の間の一致字句及び非一致字句を識別すること、及び一致字句を複合グラフノードへとマージすることを含む、複合グラフを生成することを含み得る。
【0019】
[0019] 開示する一部の実施形態によれば、この操作は、1組の複数の文の中の各文の意図を決定すること、及び1組の複数の文の中の各文をクラスタへとグループ化することであって、クラスタ内の文は意図を共有する、グループ化することを更に含み得る。
【0020】
[0020] 開示する一部の実施形態によれば、この操作は、少なくとも2つの文の中の字句の意図を決定することを更に含み得る。
【0021】
[0021] 開示する一部の実施形態によれば、この操作は、一致字句及び非一致字句のサブセットから新たな文を生成することを更に含み得る。
【0022】
図面の簡単な説明
[0022] 本明細書に組み込まれ、本明細書の一部を構成する添付図面は一部の実施形態を示し、説明と共に開示する原理を説明する役割を果たす。
【図面の簡単な説明】
【0023】
図1】[0023]本開示の実施形態と合致する、単語対応付けグラフを生成するためのパラフレーズマイニングシステムの様々な例示的構成要素を示すブロック図である。
図2】[0024]本開示の実施形態と合致する、入力文を前処理するための例示的方法を示す流れ図である。
図3】[0025]本開示の実施形態と合致する、1組の文の単語対応付けグラフを構築するための例示的方法を示す流れ図である。
図4】[0026]本開示の実施形態と合致する例示的計算装置のブロック図である。
図5】[0027]本開示の実施形態と合致する、単語を対応付けるための例示的方法を示す流れ図である。
図6A】[0028]本開示の実施形態と合致する単語の対応付けの例である。
図6B】[0028]本開示の実施形態と合致する単語の対応付けの例である。
図6C】[0028]本開示の実施形態と合致する単語の対応付けの例である。
図7A】[0029]本開示の実施形態と合致する例示的なパラフレーズマイニングシステムを示す。
図7B】[0030]本開示の一部の実施形態による、本開示の実施形態と合致する例示的なパラフレーズマイニングシステムを示す。
【発明を実施するための形態】
【0024】
詳細な説明
[0031] 開示する実施形態の例の完全な理解を与えるために、以下の詳細な説明では数多くの詳細を記載する。これらの実施形態の例の原理は、全ての具体的詳細なしに実践できることを当業者なら理解されよう。開示する実施形態は例示であり、特許請求の範囲及び本開示と合致する可能な全ての実施形態を開示することを意図する。実施形態の例の原理を不明瞭にしないために、よく知られている方法、手続き、及び構成要素については詳しくは説明していない。明確に述べていない限り、本明細書に記載する方法及びプロセスの例は特定の順序又は順番に制約されることも、特定のシステム構成に制約されることもない。加えて、記載する実施形態又はその要素の幾つかは、同じ時点において同時に又は並行して発生し又は実行され得る。
【0025】
[0032] 別段の定めがない限り、本明細書で使用するとき、「又は、若しくは(or)」という語は実行不可能な場合を除いてあり得る全ての組み合わせを包含する。例えば或る構成要素がA又はBを含み得ると述べた場合、別段の定めがない限り又は実行不可能でない限り、その構成要素はA若しくはB又はA及びBを含むことができる。第2の例として、或る構成要素がA、B、又はCを含み得ると述べた場合、別段の定めがない限り又は実行不可能でない限り、その構成要素はA若しくはB若しくはC、又はA及びB、又はA及びC、又はB及びC、又はA及びB及びCを含むことができる。
【0026】
[0033] 次に、その例を添付図面に示す開示する実施形態を詳細に参照する。明確に述べていない限り、本明細書で使用するとき送信すること及び受信することは、特定の要求に応答して送信すること若しくは受信すること、又はそのような特定の要求なしに送信すること若しくは受信することを含む広義の意味を有することが理解されよう。従って、これらの用語は送信及び受信のアクティブ形式及びパッシブ形式の両方を対象として含む。
【0027】
[0034] 本明細書に記載する実施形態は、データソースを評価して、計算システムによる自然言語処理を改善するためにパラフレーズの対応付け及びマイニングを識別するための技術及び技法を提供する。これらの技術は、利用可能なデータ又は潜在的なデータソースに優先順位を付けるためにデータモデルの特定の領域及び応用に関連する情報を使用することができる。図7A図7Bは、以下に記載する様々なシステムの結果に基づいて利用するためにアクセスされ又は選択される様々なデータソースを記載する。記載する技術はデータをコヒーレントデータモデルへと合成することができ、かかるデータモデルは様々な経路又は手順を分析し比較するために使用することができる。
【0028】
[0035] これらの技術は、データソース及びデータを効率的に評価し、領域及び状況に固有の需要に基づいてかかるデータソース及びデータの重要度に優先順位を付け、潜在的な手順を評価するために使用可能な効果的且つ正確な予測を提供することができる。これらの技術及び方法は、個別の状況にデータモデルを適用できるようにする。これらの方法及び技術は、個々の場合に応じて意思決定を改善し得る詳細な評価を可能にする。
【0029】
[0036] 記載する実施形態は、自然言語処理の既存の技法に勝る独特な利点を提供する。他の殆どのプロセスと異なり、開示する実施形態に記載のグラフベースシステムは教師なしのやり方で動作する。加えて、記載する実施形態は少量のデータ又は特定の領域に結び付いたデータでさえ有用な見識を与えることができ、そのことは汎用フレーズにしか機能せず、効果的であるために著しく大きいデータセットを必要とする統計的方法に勝る独特な利点を提供する。共通の意図を共有する文の一貫したグループを生成することに焦点を当てることにより、本明細書で開示する実施形態は同じトピック又は意図を共有する交換可能なフレーズを効果的に識別することができる。それを行う能力は、しばしば同じことを異なる方法で尋ねる様々な個人又は質問に応答しなければならない自然言語処理システムにおいて著しい利点をもたらすことができる。領域固有のフレーズの教師なしの効率的な識別を可能にすることにより、本明細書で開示する実施形態は、広範囲にわたるカスタマイズ及び修正を必要とすることなしに、様々な業界及び個別的脈絡において自然言語処理を使用する改善された能力を提供することができる。
【0030】
[0037] 図1は、本開示の実施形態と合致する、単語対応付けグラフを生成するためのパラフレーズマイニングシステム100の様々な例示的構成要素を示すブロック図である。パラフレーズマイニングシステム100は、文のコーパスを使用して事前にデータ投入可能な入力文記憶域110を含み得る。一部の実施形態では、入力文記憶域110がユーザによって供給された1組の入力文を保存してから、それらの文をパラフレーズマイニングシステム100の他の構成要素に伝える。他の一部の実施形態では、入力文記憶域110内の文が別個のシステムによって供給され得る。一部の実施形態では、入力文記憶域がユーザ入力、他のシステム、他のデータソース、又はパラフレーズマイニングシステム100若しくはその構成要素からのフィードバックによって供給される文を含み得る。入力文記憶域110は、関係データベース管理システム(RDBMS)(例えばOracle Database、Microsoft SQL Server、MySQL、PostgreSQL、又はIBM DB2)とすることができる。RDBMSは、データベースから全部の行又はレコードについて可能な限り少ない操作でデータを効率的に返すように設計され得る。RDBMSは、データ構造内のデータの各行をシリアル化することによってデータを記憶することができる。RDBMSでは、レコードの全てのカテゴリに関連するデータが1つの操作でアクセスされ得るように、レコードに関連するデータをシリアルに記憶することができる。更にRDBMSは、異種のテーブル内に記憶される関連レコードのアクセスを効率的に可能にすることができる。例えばRDBMSでは、参照列によってテーブルをリンクすることができ、RDBMSはデータ構造のためのデータを取得するためにテーブルを結合することができる。一部の実施形態では、入力文記憶域110が非関係データベースシステム(NRDBMS)(例えばXML、Cassandra、CouchDB、MongoDB、Oracle NoSQL Database、FoundationDB、又はRedis)であり得る。非関係データベースシステムは、とりわけキー-値記憶域、文書記憶域、グラフ、及びタプル記憶域等の様々なデータ構造を使用してデータを記憶することができる。例えば文書記憶域を使用する非関係データベースは、特定の識別子に関連するデータの全てを、XMLを使用して符号化される単一の文書へと組み合わせることができる。入力文記憶域110はMemcached等のメモリデータベースとすることもできる。一部の実施形態では、入力文記憶域110のコンテンツが、Redisにおいて可能であるように永続記憶域データベース及びインメモリデータベースの両方の中に存在し得る。
【0031】
[0038] パラフレーズマイニングシステム100等の自然言語処理システムでは、パラフレーズは異なる単語又は同様の意味を有する単語のグループであり得る。パラフレーズマイニングシステム100は、教師なしのグラフベースのシステム又はプロセスを使用して入力文中のパラフレーズを識別することができる。パラフレーズマイニングシステム100は、(例えば以下でより詳細に説明するようにプリプロセッサ120、単語対応付け器130、又はその両方を使用して)入力文記憶域110内の入力文からの単語を対応付けることができる。対応付けた単語及びフレーズを使用し、パラフレーズマイニングシステム100は(例えば以下でより詳細に説明する単語対応付けグラフ生成器140を使用して)単語対応付けグラフを更に生成して、交換可能に使用することができるフレーズ及び単語を識別することができる。識別したパラフレーズは新たな文を作成する際に交換可能に使用することができる。パラフレーズを識別することは、既存の文の意味に影響を及ぼすことなしにそれらの文から特定のフレーズを消す又は削除するのを助けることもできる。かかるフレーズは他の文中のパラフレーズを有さず、従って文の意味にとって不要だと見なし文を準備する際に消すことができる。このようにしてパラフレーズを識別することにより、パラフレーズマイニングシステム100は、汎用パラフレーズを識別することに焦点を当てる既存の統計的方法ではさもなければ識別されない領域固有のパラフレーズも識別することができる。更に、上記で概説し以下でより詳細に説明するパラフレーズマイニングシステム100は、既存のシステムで使用するには小さ過ぎると概して考えられるデータセットからパラフレーズを生成することができる。
【0032】
[0039] 図1に示すように、パラフレーズマイニングシステム100はプリプロセッサ120を含むことができる。プリプロセッサ120は、文中の単語及びフレーズを対応付ける前に入力文記憶域110内の入力文を処理することができる。一部の実施形態ではプリプロセッサ120は、入力文の一部又は全てを入力文記憶域110からロードする代わりに直接受信する。プリプロセッサ120は、単語対応付け器130に特定の入力文を伝える前に特定の入力文の処理を既定の基準に基づいて省くことができる。既定の基準は、一定の長さよりも長い文を含み得る。この長さは文字数、単語数、又はフレーズ数によって決定され得る。一部の実施形態では、この長さは文を提示するのにかかる画面空間の量によって決定され得る。一部の実施形態では、既定の基準は入力文の言語によって異なり得る。既定の基準は、不完全文若しくはミススペル、句読点の欠落、又は文の異常を含む文法的に間違った文を除外することもできる。既定の基準はグラフィカルユーザインタフェースを利用して設定することができる。既定の基準は、システムの各ユーザによって又はシステムの管理部によって個別に設定され得る。既定の基準は、入力文のコーパス又は入力文の言語に基づいて自動的に決定され得る。一部の実施形態では、プリプロセッサ120は処理済みの入力文を後で使用するために入力文記憶域110内に記憶することができる。
【0033】
[0040] プリプロセッサ120は、更なる処理のために入力文を準備することができる。プリプロセッサ120による処理は、数字及び名前付きエンティティをシンボル又は字句で置換することを含み得る。例えば数字は「NUM」で置換することができ、名前付きエンティティは「ORG.」で置換することができる。プリプロセッサ120は、処理済みの入力文と元の文との間の関係を更に生成することができる。一部の実施形態では、プリプロセッサ120は入力文のグループとの間の関係を識別することができる。プリプロセッサ120は、入力文のグループとの間の識別済みの関係を入力文記憶域110内に記憶することもできる。関係は、値として働くことができる、名前付きエンティティへのキーマッピングとして置換シンボル又は字句を有するハッシュテーブル内に保持することができる。関係を保持するハッシュテーブルは、入力文記憶域110等の永続記憶域内に記憶することができる。関係は、入力文を記憶するデータベース又はテーブルとは別のデータベース又はテーブル内に記憶することができる。
【0034】
[0041] パラフレーズマイニングシステム100は、文の間で単語を対応付けるための単語対応付け器130を含むことができる。単語対応付け器130はプリプロセッサ120から入力文を受信することができる。一部の実施形態では、単語対応付け器130は、対応付けるための1組の入力文を取得するために入力文記憶域110に直接アクセスすることができる。単語対応付け器130は、定義した要件に基づいて入力文記憶域110から入力文を選択することができる。以下で解説する方法300は、対応付けるための入力文を選択するための幾つかのやり方を説明する。単語対応付け器130は1対の文に作用し、それらの文の字句間の予測マッピングを生成することができる。単語対応付け器130は、更なる分析に使用することができる対応付けされた単語及び対応付けされていない単語の組をもたらすことができる。一部の実施形態では、1組の入力文の間の適切な対応付けを見出すために、単語対応付け器130はあり得る全ての文の対を反復することができる。
【0035】
[0042] 単語対応付け器130は、対応付けの前に入力文を字句へと分割することができる。単語対応付け器130は、入力文の中で識別される字句を対応付けることができる。単語対応付け器130は、識別済みの字句間の対応付けを割り出すために単語埋め込みを使用することができる。単語埋め込みは、同じ又は同様の意味を有する単語の学習された表現を指すことができる。単語埋め込みはglove埋め込みを含むことができる。一部の実施形態では、単語埋め込みは例えばBERT及びELMO等のニューラルネットワークアーキテクチャを使用して計算される文脈埋め込みであり得る。一部の実施形態では、単語対応付け器130は識別済みの字句間の対応付けを割り出すために汎用パラフレーズ及び語彙資源を使用することもできる。
【0036】
[0043] 対応付けることができる一定数の字句が1対の入力文の中にある場合、単語対応付け器130はその1対の入力文を対応付けることができる。単語対応付け器130は、文を対応付けるとき字句間の近接性を考慮することもできる。字句間の近接性は、入力文の中の字句に関連する単語埋め込みに基づき得る。対応付けが予期される字句数又は字句間の許容近接レベルの閾値は、パラフレーズマイニングシステム100内で設定することができる。このレベルは、ユーザによる対応付けの要求ごとに又は周期的にパラフレーズマイニングシステム100によって更新することができる。一部の実施形態では、入力文の決定された質又は入力文を対応付ける目的に基づいて閾値が選択される。従って、パラフレーズマイニングシステム100の目標とする使用事例が閾値に影響を及ぼし得る。
【0037】
[0044] パラフレーズマイニングシステム100は、対応付けされた全ての文の有向非巡回グラフ(DAG)を作成するための単語対応付けグラフ生成器140も含むことができる。単語対応付け器130は、対応付けされた全ての入力文の組を単語対応付けグラフ生成器140に供給することができる。一部の実施形態では、最小限の単語の対応付けを伴う文の組み合わせを単語対応付けグラフ生成器140から抑制することができる。最小限の単語の対応付けは構成可能である。単語対応付けグラフ生成器は、既存のDAG及び単語が対応付けされた1組の入力文を使用して新たなDAGを作成することができる。単語対応付けグラフ生成器140は、単語対応付けDAG記憶域150から既存のDAGを取得することができる。単語対応付けDAG記憶域150は、単語対応付けグラフ生成器140によって生成される新規作成DAG、並びにパラフレーズマイニングシステム100の他のプロセス又は反復によって作成されるDAGを記憶することができる。単語対応付けDAG記憶域150は、データベース又は単層ファイルシステムとすることができる。入力文記憶域110に関して上記で説明したように、単語対応付けDAG記憶域150はRDBMS、NRDBMS、又は他の種類のデータ記憶域とすることができる。一部の実施形態では、単語対応付けDAG記憶域150が入力文記憶域110と同じデータベース上に記憶され得る。
【0038】
[0045] 一部の実施形態では、パラフレーズマイニングシステム100は文を対応付ける前に入力文を統一言語に翻訳することができる。プリプロセッサ120が入力文を変換することができる。パラフレーズマイニングシステム100はシステムの言語を検出して翻訳が必要かどうかを判定する。一部の実施形態では、様々な言語で入手可能な単語埋め込みを使用して単語対応付け器130が異なる言語の文を対応付けることができる。単語対応付け器130は、プリプロセッサ120が対応付けの前に入力文の一部を処理することを要求することができる。単語対応付け器130はプリプロセッサ120が1対の文を処理することを要求することができる。一部の実施形態では、単語対応付け器130の対応付け閾値を文が満たさなくても単語対応付け器130はこの対応付けを要求する。パラフレーズマイニングシステム100の構成要素は、パラフレーズマイニングシステム100又は他のシステムの1つ又は複数の他の構成要素と相互作用して入力文の最良の対応付けを決定することができる。入力文の対応付けプロセスについては方法500に関して以下で詳細に解説する。
【0039】
[0046] パラフレーズマイニングシステム100の構成要素は、単一のコンピュータ上で動作することができ又は複数のコンピュータ若しくはプロセッサにわたって分散され得る。パラフレーズマイニングシステム100の様々な構成要素はネットワーク(例えばLAN又はWAN)又はインターネットを介して通信することができる。一部の実施形態では、各構成要素が複数のコンピュータインスタンス又はプロセッサ上で動作することができる。パラフレーズマイニングシステム100の各構成要素のインスタンスは、クラウドネットワーク(例えばAmazon AWS、Microsoft Azure、Google Cloud)等の接続ネットワークの一部であり得る。一部の実施形態では、パラフレーズマイニングシステム100の構成要素の一部又は全てがハイパーバイザ又は仮想マシン等の仮想環境内で実行される。
【0040】
[0047] 図2は、本開示と合致する実施形態による、入力文を前処理するための例示的方法200を示す流れ図である。説明のために、方法200のステップはパラフレーズマイニングシステム100によって実行され得る。ステップの順序を修正するために及び追加のステップを含めるために、図示の方法200は変えることができることが理解されよう。
【0041】
[0048] 方法200はステップ201から始まる。ステップ210で、プリプロセッサ120が入力文をクラスタへとグループ化することができる。プリプロセッサ120は、入力文の数が指定の閾値数を上回る場合にのみグループ化を検討することができる。一部の実施形態では、パラフレーズマイニングシステム100は文をグループ化するための閾値を使用可能な計算能力に基づいて設定する。閾値は、文のグループの単語の総数及び入力文ごとの平均単語数にも依存し得る。プリプロセッサ120は、対応付け可能な互換グループへと文をグループ化することができる。文の互換性は、互換グループの入力文間の同様の単語の数に依存し得る。プリプロセッサ120は入力文のクラスタを入力文記憶域110内に記憶することができる。パラフレーズマイニングシステム100は、入力文記憶域110内に記憶される入力文の既存のクラスタと新たな入力文がグループ化されることを要求し得る。一部の実施形態では、新たな文がクラスタ内の文と互換性がある場合にのみ、プリプロセッサ120が新たな文を前に準備された入力文のクラスタとグループ化することができる。さもなければ新たな文が新たなクラスタを形成し得る。入力文は文の1つ又は複数のグループと互換性があり得る。単一の文は、それ自体がシングルトンクラスタを形成するクラスタであり得る。かかるシングルトンクラスタは任意の更なる処理を必要としない場合がある。プリプロセッサ120は、グループに対する各入力文の互換性スコアを計算して最良の互換グループを決定することができる。一部の実施形態では、互換グループの識別は、前に形成した入力文のクラスタを1つ又は複数の新たな文のグループへと分けることをもたらす。
【0042】
[0049] ステップ220で、プリプロセッサ120が交感的表現を除去することによって文をクリーニングすることができる。交感的表現とは、文に追加の意味を加えず社会的機能しか意味しない文の部分である。例えば「すみませんが(Excuse me)」及び「ようし(All right)」は、実際の文の前又は後に含まれる個別の文又は文の一部であり得る。交感的表現は、交感的表現を形成する単語を除外する入力文記憶域110内の同様の文を識別することによって割り出すことができる。一部の実施形態では、交感的表現が2つの文の対応付けされた字句の前に登場し、その社会的機能を表す。例えば2つの入力文が「ようし、火曜日の夕方までに終えるぞ(All right. I will get it done by Tuesday evening)」及び「火曜日の夕方までに完成させるぞ(I will complete it by Tuesday evening)」である場合、プリプロセッサ120は交感的表現である「ようし(All right)」を識別し、2つの文を対応付ける前に除外することができる。一部の実施形態では、パラフレーズマイニングシステム100が交感的表現のリストを保持する。ステップ220で識別した交感的表現は交感的表現のリストに追加することができる。パラフレーズマイニングシステム100は、交感的表現のリストを入力文記憶域110内に記憶することができる。
【0043】
[0050] ステップ230で、異なる名前付きエンティティに関して同じ意図を伝える入力文の対応付けを助けるために、パラフレーズマイニングシステム100のプリプロセッサ120が入力文の中の名詞を識別し、それを標準シンボルで置換することができる。例えば「パリは欧州で最も訪れられている都市の1つです(Paris is one of the most visited cities in Europe)」及び「東京はアジアで最も訪れられている都市の1つです(Tokyo is one of the most visited cities in Asia)」という2つの入力文は、「パリ(Paris)」、「欧州(Europe)」、「東京(Tokyo)」、及び「アジア(Asia)」を「<PLACE>」等の標準シンボルで置換することによって変換することができる。名詞をシンボルで置換することは、同様の意味を伝えるが異なる場所を指す2つの入力文を対応付けることを助け得る。一部の実施形態では、パラフレーズマイニングシステム100が様々な種類の名詞(例えば場所、動物、物体等)に同じシンボルを使用することができる。プリプロセッサ120は、入力文の中の数字をシンボルで置換することもできる。プリプロセッサ120は、入力文の中の置換済みの名前付きエンティティ及び数字のテーブルを上記のようなRDBMS又はNRDBMS等のテーブル又はデータ記憶域内に記憶することができる。入力文の中の名前付きエンティティ及び数字を置換することは名前付きエンティティをパラフレーズとして検討すること、従って対応付けされたパラフレーズから間違った事実文を生成することを回避することができる。例えば名前付きエンティティを置換することなしに「パリは欧州で最も訪れられている都市の1つです(Paris is one of the most visited cities in Europe)」及び「東京はアジアで最も訪れられている都市の1つです(Tokyo is one of the most visited cities in Asia)」という文を対応付けることは、「東京は欧州で最も訪れられている都市の1つです(Tokyo is one of the most visited cities in Europe)」という新たな文の生成を可能にする「パリ(Paris)」と「東京(Tokyo)」との対応付けをもたらし得る。新たな文を生成するためのプロセスについては図7Aの説明に関して以下で更に論じる。プリプロセッサ120は、ステップ230を完了すると方法200の実行を完了することができる(ステップ299)。
【0044】
[0051] 図3は、本開示の実施形態と合致する、単語対応付けグラフを構築するための例示的方法300を示す流れ図である。説明のために、方法300のステップはパラフレーズマイニングシステム100によって実行され得る。ステップの順序を修正するために及び追加のステップを含めるために、図示の方法300は変えることができることが理解されよう。
【0045】
[0052] 方法300はステップ301から始まる。ステップ310で、単語対応付けグラフ生成器140がパラフレーズの対応付け及び抽出を助けるために入力文を互換グループへとグループ化することができる。単語対応付けグラフ生成器140は、様々な規則に基づいて文のグループとの間の互換性を決定することができる。これらの規則は単射性、単調性、及び他動性の原理に基づくことができる。
【0046】
[0053] 第1の文の中のそれぞれの単語が第2の文の中の1つの単語だけにマップする場合及びその逆の場合、単語対応付けグラフ生成器140は2つの文が単射性を満たしたと判定することができる。単射性は第2の文の中の単語にマップされない追加の単語を第1の文が有することを制限せず、その逆も同様である。
【0047】
[0054] 文の中の単語間のマッピングの順序が他の文の中の単語の順序と一致する場合、単語対応付けグラフ生成器140は単調性が満たされていると見なす。例えば、第1の入力文の中の単語w1が第2の入力文の中の単語w2の前に登場する場合、第2の入力文の中のw2よりも前の単語に単語w1はマップする必要がある。一部の入力文の構造又はフレージングを理由に、それらの文は同じ意図又は意味を有しても、文の間で異なる順序で登場するマップ済みの単語をもたらし得る。単語対応付けグラフ生成器140はそれらの不整合を識別し、それらの文をグループから除去してそれらの文がグラフの作成を中断させないことを確実にすることができる。単調性を満たせなかったためにグループから除去された文は、新たなグループ又は別の既存のグループに追加することができる。これらの文を除去することにより、単語対応付けグラフ生成器140は文の整合性を確実にすることができる。
【0048】
[0055] 複数の文がそれらの文の間で同じ単語にマップする場合、単語対応付けグラフ生成器140は他動性の要件が満たされていると見なす。例えば、第1の入力文の中のw1が第2の入力文の中のw2にマップし、第2の入力文の中のw2が第3の入力文の中のw3にマップする場合、他動的と見なされるにはw1が第3の文の中でマッピングを有さない必要があり又はw3にもマップする必要がある。そうでない場合、文は他動的と見なされず、従って互換性がないと見なされ得る。単射性と同様に、単調性及び他動性の要件は、それぞれの文の中の全ての単語が他の互換性がある文の中の単語にマップされることは要求しない。
【0049】
[0056] 1組の文の中に上記の要件、単射性、単調性、及び他動性がある場合、単語対応付けグラフ生成器140はその文を互換性があると見なすことができる。これらの要件は、単語対応付けグラフ生成器140によって生成される、結果として生じるグラフがコンパクトであること又はDAGを形成することを確実にすることができる。
【0050】
[0057] 単語対応付けグラフ生成器140は、単一の入力文が1つだけの互換グループの一部になることを可能にする。互換性があると1組の文が見なされる場合、1組の入手可能な文からそれらの文を除去することができる。文の互換性は入手可能な全ての文にわたって判定される。一部の実施形態では、入力文の新たな組に基づいて互換グループが更新される。
【0051】
[0058] ステップ320で、単語対応付けグラフ生成器140が、それぞれの文を線グラフにまず変換することによって互換性がある文のDAGを作成することができる。入力文を線グラフに変換することは、単語対応付け器130によって識別される字句へと文を分割し、次いで識別済みの字句のそれぞれについてノードを作成することを必要とし得る。方法200に関して上記で論じたように、字句はシンボルによって置換される特定の単語を含むことができる。線グラフの一例を図6Aに示し、以下でより詳細に説明する。
【0052】
[0059] 互換グループ内の2つの入力文のDAGは、2つの入力文の間の共通字句をまず識別することによって構築することができる。他方の文の中で一致字句を有さない文中の字句は、交換可能に使用することができるパラフレーズと見なされる。一部の実施形態では、一致を有さないそれぞれの文の中の字句文字列(SPAN(商標登録)とも呼ぶ)は、交換可能に使用することができるパラフレーズと見なすことができる。単語対応付けグラフ生成器140は、文を対応付けしながら互換性に関する規則を再適用することもできる。
【0053】
[0060] ステップ330で、単語対応付けグラフ生成器140が、ステップ320で生成された互換グループ内の様々なDAGを単一の複合DAGへと組み合わせる。単語対応付けグラフ生成器140は、グラフの前、始まり、及び終わりのそれぞれに開始ノード及び停止ノードを含めることができる。単語対応付けグラフ生成器140は、ステップ330を完了すると方法300の実行を完了する(ステップ399)。
【0054】
[0061] 図4は、本開示の実施形態と合致する例示的計算装置400のブロック図である。一部の実施形態では、計算装置400は本明細書に記載の機能を提供する専用サーバであり得る。一部の実施形態では、入力文記憶域110、プリプロセッサ120、単語対応付け器130、単語対応付けグラフ生成器140、及び単語対応付けDAG記憶域150等のパラフレーズマイニングシステム100の構成要素は、計算装置400又は並列に動作する複数の計算装置400を使用して実装することができる。更に計算装置400は、本明細書に記載の機能を提供する又は記載した機能の少なくとも一部を提供するためにサーバから情報を受信する第2の装置であり得る。更に、計算装置400は本開示の実施形態と合致するデータを記憶し又は提供する追加の装置とすることができ、一部の実施形態では、計算装置400は仮想マシン、複数の仮想マシン、又はハイパーバイザ等の仮想化された計算装置であり得る。
【0055】
[0062] 計算装置400は、1つ又は複数の中央処理装置(CPU)420及びシステムメモリ421を含むことができる。計算装置400は、1つ又は複数のグラフィックス処理装置(GPU)425及びグラフィックメモリ426も含むことができる。一部の実施形態では、計算装置400はGPU425又はグラフィックメモリ426を含まないヘッドレス計算装置であり得る。
【0056】
[0063] CPU420は、メモリ(例えばシステムメモリ421)、キャッシュ(例えばキャッシュ244)、又はレジスタ(例えばレジスタ440の1つ)内に記憶される命令セットを実行可能な単一の又は複数のマイクロプロセッサ、書換可能ゲートアレイ、又はデジタル信号プロセッサとすることができる。CPU420は、とりわけデータ、命令、浮動小数点値、条件値、メモリ(例えばシステムメモリ421又はグラフィックメモリ426)内の位置に関するメモリアドレス、ポインタ及びカウンタを含む様々な種類のデータを記憶するための1つ又は複数のレジスタ(例えばレジスタ440)を含み得る。CPUレジスタ440は、命令ポインタ、命令カウンタ、又はメモリスタックポインタ等、命令を実行することに関連するデータを記憶するために使用される専用レジスタを含み得る。システムメモリ421は、フレキシブルディスク、ハードディスク、コンパクトディスク読取専用メモリ(CD-ROM)、光磁気(MO)ドライブ、デジタル多用途ディスクランダムアクセスメモリ(DVD-RAM)、ソリッドステートディスク(SSD)、フラッシュドライブ又はフラッシュメモリ、プロセッサキャッシュ、メモリレジスタ、又は半導体メモリ等の有形の又は非一時的なコンピュータ可読媒体を含み得る。システムメモリ421は、データを記憶することができ且つCPU420による直接アクセスを可能にする1つ又は複数のメモリチップであり得る。システムメモリ421は、任意の種類のランダムアクセスメモリ(RAM)又は本明細書に記載の通り動作することができる他の利用可能なメモリチップであり得る。
【0057】
[0064] CPU420は、バスと呼ぶこともあるシステムインタフェース450を介してシステムメモリ421と通信することができる。GPU425を含む実施形態では、GPU425は画像の作成を行う又は加速するためにメモリ(例えばグラフィックメモリ426)を操作し変更することができる任意の種類の専用回路であり得る。GPU425は、グラフィカルデータの大きい並列ブロックを汎用CPU420よりも効率的に処理するために最適化された高度並列構造を有し得る。更に、GPU425の機能は専用処理ユニット又はコプロセッサのチップセット内に含まれ得る。
【0058】
[0065] CPU420は、システムメモリ421又は他のメモリ内に記憶されるプログラミング命令を実行し、メモリ(例えばシステムメモリ421)内に記憶されるデータに対して操作を行い、計算装置400の様々な構成要素間の通信をブリッジするシステムインタフェース450を介してGPU425と通信することができる。一部の実施形態では、CPU420、GPU425、システムインタフェース450、又はそれらのものの任意の組み合わせが単一のチップセット又は処理ユニット内に統合される。GPU425は、システムメモリ421又はグラフィックメモリ426内に記憶されるグラフィカルデータを操作するために、メモリ(例えばシステムメモリ421)内に記憶される命令セットを実行することができる。例えば、CPU420はGPU425に命令を与えることができ、GPU425はその命令を処理してグラフィックメモリ426内に記憶されるグラフィックスデータをレンダリングすることができる。グラフィックメモリ426は、ローカルメモリ、システムメモリ、オンチップメモリ、及びハードディスクを含む、GPU425によってアクセス可能な任意のメモリ空間であり得る。GPU425は、グラフィックメモリ426内に記憶されるグラフィカルデータを表示装置424上で表示できるようにすることができ、又はグラフィカル情報を処理し、ネットワークインタフェース418又はI/O装置430を介してその情報を接続装置に与えることができる。
【0059】
[0066] 計算装置400は、表示装置424及びI/Oコントローラ423に接続される入力/出力(I/O)装置430(例えばキーボード、マウス、又はポインティングデバイス)を含み得る。I/Oコントローラ423は、システムインタフェース450を介して計算装置400の他の構成要素と通信することができる。CPU420は、シリアル通信又は直接の二地点間通信等により、システムインタフェース450を経由する以外のやり方でシステムメモリ421及び他の装置と通信することもできることが理解されよう。同様に、GPU425はシステムインタフェース450以外のやり方でグラフィックメモリ426及び他の装置と通信することができる。入力を受け付けることに加えて、CPU420はI/O装置430を介して(例えばプリンタ、スピーカ、骨伝導、又は他の出力装置によって)出力を提供することができる。
【0060】
[0067] 更に計算装置400は、これだけに限定されないが標準電話線、LAN又はWANリンク(例えば802.21、T1、T3、56kb、X.25)、ブロードバンド接続(例えばISDN、フレームリレー、ATM)、無線接続(例えばとりわけ802.11a、802.11b、802.11b/g/n、802.11ac、Bluetooth、Bluetooth LTE、3GPP、又はWiMax標準に準拠するもの)、又は上記のものの何れか若しくは全ての何らかの組み合わせを含む様々な接続によってLAN、WAN、MAN、又はインターネットにインタフェースするためのネットワークインタフェース418を含むことができる。ネットワークインタフェース418は、内蔵ネットワークアダプタ、ネットワークインタフェースカード、PCMCIAネットワークカード、カードバスネットワークアダプタ、無線ネットワークアダプタ、USBネットワークアダプタ、モデム、又は通信が可能な任意の種類のネットワークに計算装置400をインタフェースし、本明細書に記載の操作を行うのに適した他の任意の装置を含み得る。
【0061】
[0068] 図5は、本開示の実施形態と合致する、パラフレーズマイニングのための例示的方法500を示す流れ図である。説明のために、方法500のステップは、図4の計算装置400上で実行され或いは計算装置400の機能を使用する図1のパラフレーズマイニングシステム100によって実行され得る。ステップの順序を修正するために及び追加のステップを含めるために、図示の方法500は変えることができることが理解されよう。
【0062】
[0069] ステップ510で、パラフレーズマイニングシステム100は複数の文を受け付けることができる。パラフレーズマイニングシステム100は、例えばネットワークインタフェース418においてネットワークを介して入力文を受け付けることができる。入力文記憶域110から受信されない場合、パラフレーズマイニングシステム100は、例えば記憶域428内にあり得る入力文記憶域110内に複数の入力文を記憶することができる。パラフレーズマイニングシステム100は、入力文記憶域110内に記憶する前に、プリプロセッサ120を使用して受け付けた入力文を更に前処理することができる。前処理のステップは、上記の方法200内で規定したステップの1つ又は複数を含み得る。
【0063】
[0070] ステップ521で、パラフレーズマイニングシステム100は受け付けた入力文それぞれのグラフを生成することができる。上記の方法300において説明したように、入力文のグラフは線グラフであり得る。上記の方法200のステップ230内で説明したように、パラフレーズマイニングシステム100は入力文の中の名前付きエンティティ及び数字を対応付け目的で共通のシンボルに更新することができる。
【0064】
[0071] ステップ530で、パラフレーズマイニングシステム100は入力文のグラフを組み合わせて1つ又は複数のDAGを形成することができる。パラフレーズマイニングシステム100は、DAGを形成するために組み合わせる前に互換性がある文を識別することができる。入力文の互換性は、上記の方法300のステップ310内で説明した規則(例えば単射性、単調性、及び他動性)に基づき得る。次いでパラフレーズマイニングシステム100は、複数のDAGを組み合わせて互換性がある文のグループの複合グラフを作成することができる。
【0065】
[0072] ステップ540で、パラフレーズマイニングシステム100は、互換性がある文のグループの複合グラフに開始ノード及び停止ノードを追加することができる。開始ノードは、組み合わせられる文の間の第1の共通字句の前に追加することができる。停止ノードは最後の共通字句の後に追加することができる。
【0066】
[0073] ステップ550で、パラフレーズマイニングシステム100は、複合DAGを形成する互換性がある文のグループを1組の対応付けされた文として印付けすることができる。文に印付けすることは、グループ内の他の文に対する文の互換性スコアも含み得る。一部の実施形態では、印付けするステップが対応付けスコアを生成することも含む。1組の新たな入力文が投入されるとき、パラフレーズマイニングシステム100は再グループ化のために1組の印付けされた文を検討することができる。入力文の現在の組が処理されている間、対応付けされた文の印付けは一時的であり得る。
【0067】
[0074] ステップ560で、パラフレーズマイニングシステム100は、ステップ540で生成した2つ以上の文の複合グラフを単語対応付けDAG記憶域150内に記憶することができる。パラフレーズマイニングシステム100は、ステップ560を完了すると計算装置400上での方法500の実行を完了する(ステップ599)。
【0068】
[0075] 図6A図6Cは、単一の文、対応付けされた文、及び文の複合グループの単語の対応付けの例である。これらの図面は、グラフ内のノードによって字句が表されている文の例を示す。ノードのエッジは、或る字句を文中の前の字句及び後の字句に接続する。図6Aは、線グラフ610を使用して「The world has shrugged off the crisis」という単一の入力文を示す。単語対応付けグラフ生成器140によって識別され方法300のステップ310に記載したように、互換グループ内のそれぞれの文は線グラフに変換することができる。
【0069】
[0076] 図6Bは、マップされた字句を有する2つの入力文のDAG620を示す。2つの文の間の共通字句は、共通字句ごとに1つのノードを有するノードの単一の組を使用して表すことができる。これは、グラフ内の他のノードへのエッジ接続を保ちながら共通字句又は一致字句を表すノードを単一の複合グラフノードへと組み合わせ又はマージすることによって実現することができる。2つの入力文の間の非共通字句又は非一致字句は別個のノードとして分けて示している。字句の中の個々の単語は共通の意味を有さない可能性があるが、非共通字句によって表されるパラフレーズは同じ意味を伝えることができ、従って交換可能に使用することができる。例えば、(例えばノード614、615、及び616によって示す)「shrugged off the」及び(例えばノード624、625、及び626によって示す)「fully recovered from」というパラフレーズは交換可能に使用することができる。一部の実施形態では、単一の字句が単一の単語だけを含み得る。一部の実施形態では、一連の字句が共通の字句及び/又は単語を含み得る。入力文の間の共通字句はパラフレーズ内の順序及び位置が一致し得る。例えば、(例えばノード624、625、及び626によって示す)「fully recovered from」及び(不図示の)「fully recouped from」というパラフレーズは、両方のパラフレーズ間で「fully」及び「from」という一致字句を有する。
【0070】
[0077] 図6Cは、共通ノード613及び617間の識別済みのパラフレーズを有する複数の文の複合DAG630を示す。複合DAG630は、最後の共通ノード617の後に追加の字句(例えばノード637及び638)を含み得る。これらの字句は、識別済みのパラフレーズを使用して生成される他の文中で使用される任意選択的な字句と見なすことができる。追加のノード637及び638並びに最後の共通ノード617は停止ノード639に接続され、追加の字句が任意選択的であり得ることを示す。図6Bと同様に、共通字句(例えば共通字句613及び617)間のフレーズは交換可能に使用することができる。共通字句は開始ノード631及び停止ノード639を含む。例えばDAG630では、(例えばノード617によって表される)「crisis」、(例えばノード617及び637によって表される)「crisis already」、及び(例えばノード617及び638によって表される)「crisis completely」というフレーズは交換可能に使用することができる。一部の実施形態では、交換可能に使用されるように又は任意選択的だと印付けされるように、フレーズの非一致部分だけを評価することができる。例えば、(例えばノード637によって表される)「already」及び(例えばノード638によって表される)「completely」は任意選択的と見なすことができ、これらの単語なしに文を形成することができる。ノード613とノード617との間、及びノード617とノード639との間の1組のフレーズは組み合わせて、パラフレーズマイニングシステム100に提供されない1組の新たな文を形成することができる。パラフレーズマイニングシステム100を使用して新たな文を生成することについては図7Aに関して以下で更に論じる。
【0071】
[0078] 図7Aは、本開示の実施形態と合致する、機械学習モデルを訓練するために自然言語処理システム700を使用するための例示的な使用事例を示す。この使用事例のシナリオは、ユーザが提供する文及び自動生成される文を用いて1つ又は複数の言語に関してシステムを訓練するための自然言語処理システム700を含む。
【0072】
[0079] 図7Aに示すように、自然言語処理システム700は、パラフレーズマイニングシステム100の単語対応付けDAG記憶域150を含むことができる。一部の実施形態では、パラフレーズマイニングシステム100は自然言語処理システム700内に含まれ得る。パラフレーズマイニングシステム100は、自然言語処理システム700として機能するように適合され得る。自然言語処理システム700はパラフレーズマイナ710も含むことができる。パラフレーズマイナ710は、新たな文を生成して自然言語処理システム700の機械学習モデル720を訓練するために使用するためのパラフレーズを識別することができる。機械学習モデル720は、ネットワーク730を介してパラフレーズ生成器711と通信することができる。一部の実施形態では、パラフレーズマイナ710を実行する同じ計算装置(例えば図4の計算装置400)上で機械学習モデル720を生成することができる。自然言語処理システム700はパラフレーズマイナ710を使用し、同様の意味を有する複数のフレーズを用いて機械学習モデル720を訓練することができる。
【0073】
[0080] パラフレーズマイニングシステム100の単語対応付けグラフ生成器140によって生成される出力は、自然言語処理システム700への入力として使用することができる。パラフレーズマイニングシステム100は、パラフレーズ生成器711及びパラフレーズフィルタ712を含むことができる。一部の実施形態では、パラフレーズマイナ710がパラフレーズマイニングシステム100と分離していてもよい。パラフレーズ生成器711は、パラフレーズを生成するために単語対応付けDAG記憶域150内に記憶される単語が対応付けされたDAGを取る。パラフレーズ生成器は、単語が対応付けされたDAGについて開始ノードから停止ノードまでの経路をたどることによって新たなパラフレーズを生成することができる。例えば、パラフレーズ生成器711は図6CのDAG630を入力として使用することができる。パラフレーズ生成器711は開始ノード631においてDAG630を横断し始め、停止ノード639まで経路の何れかをたどることができる。DAG630の横断は、全てのノードがエッジによって接続されることを必要とし、パラフレーズ生成器711は単語対応付けDAG記憶域150内に記憶される有向非巡回グラフの全てのノードを訪れることによってあり得る全てのフレーズを生成することができる。一部の実施形態では、パラフレーズ生成器711によって生成されるパラフレーズが単語対応付けDAG記憶域150又は他の同様のデータベース記憶域内に記憶され得る。生成されるパラフレーズは、単語対応付けグラフ生成器140によって生成され図3の方法300に記載の有向非巡回グラフを記憶するために使用されるデータベース及びテーブルから切り離されたデータベース又はテーブル内の単語対応付けDAG記憶域150内に記憶され得る。一部の実施形態では、パラフレーズ生成器711が生成済みのパラフレーズを確認するためにパラフレーズ又は1組のパラフレーズをパラフレーズフィルタ712に送出する。パラフレーズフィルタ712は、図2の方法200のステップ230内で説明した事実的に不正確なフレーズをフィルタにかけることができる。
【0074】
[0081] パラフレーズマイナ710は、ネットワーク730を介してパラフレーズマイニングシステム100に接続することができる。パラフレーズマイナ710によって生成されるパラフレーズは、ネットワーク730を介して機械学習モデル720に供給することができる。一部の実施形態では、通信用のネットワークを必要とすることなしに、パラフレーズマイナ710及びパラフレーズマイニングシステム100が同じ計算装置(例えば図4の計算装置400)上に共存し得る。パラフレーズマイナ710は、実装されるパラフレーズマイニングシステム100の改変形態であり得る。パラフレーズマイナ710は、機械学習モデル720を訓練するために識別される文を訓練データソース740としてグループ化し及び/又は記憶することができる。訓練データソース740は一時記憶域内にあることができ、又は将来使用するために存続させることができる。訓練データソース740にデータ投入する幾つかのやり方について以下で説明する。
【0075】
[0082] 記載のパラフレーズの生成は、パラフレーズマイニングシステム100に送信された新たな入力文を対応付ける要求によって引き起こされ得る。一部の実施形態では、パラフレーズの生成は自然言語処理システム700によって周期的な間隔で要求され得る。
【0076】
[0083] 自然言語処理システム700は、パラフレーズマイニングシステム100を更に訓練するための文のコーパスを生成するために利用することができる。1組の入力文を所与とし、自然言語処理システム700は1組の新たなパラフレーズ文を生成し、パラフレーズマイニングシステム100のための我々の訓練データの量を増やすことができる。そのような新たな文のデータセットは、入力文記憶域110内に既にありパラフレーズマイニングシステム100によって処理される入力文からのフレーズを混合し一致させることによって単純に作成することができる。生成される文のコーパスは、訓練データソース740内に含め、機械学習モデル720を訓練するために使用することができる。
【0077】
[0084] 一部の実施形態では、(上記のように新たなパラフレーズの組み合わせを用いて既存のデータセットを強化するのとは対照的に)自然言語処理システム700が新たな訓練データセットの作成を助けることができる。その場合、パラフレーズマイニングシステム100を使用して識別されるパラフレーズが、訓練データソース740のための更なるデータを集めるために使用され、機械学習モデル720を訓練するために後で供給され得る。例えば「Uber」が「Taxi」のパラフレーズであり得ることをパラフレーズマイニングシステム100が発見した場合、自然言語処理システム700は、交通機関の要求を扱う必要がある機械学習モデル720を訓練するために「Uber」に言及する文をウェブから取得することができる。パラフレーズマイニングシステム100によって識別されるパラフレーズは、自然言語処理システム700の機械学習モデル720の的を絞った訓練を助け、又は特定の事業領域に焦点を当てることができる。
【0078】
[0085] 一部の実施形態では、パラフレーズマイニングシステム100(とりわけパラフレーズフィルタ712)が(パラフレーズの要件を満たさない)任意選択的なフレーズを識別し、入力文をクリーニングしてそれらの任意選択的なフレーズを除去することができる。かかるデータクリーニングステップは、機械学習モデル720により高品質のデータを提供することを助け得る。
【0079】
[0086] 図7Bは、ユーザ装置のユーザによる例示的なパラフレーズマイニングシステム100の対話の使用事例のシナリオを示す。この使用事例のシナリオは、パラフレーズマイニングシステム100によってマイニングされたフレーズを使用してユーザ装置からの質問に応答するための質問回答(「Q&A」)システム750を含む。
【0080】
[0087] 図7Bに示すように、Q&Aシステム750は質問に対する応答を生成するためのパラフレーズマイナ710を含み得る。Q&Aシステム750は、ユーザ装置760から送信される質問に応答するために使用することができるフレーズを取得するための図7Aで上述したパラフレーズマイナ710に接続されるユーザ装置760も含み得る。ユーザ装置760は、ネットワーク730を介してパラフレーズマイナ710に接続され得る。ネットワーク730は有線ネットワーク又は無線ネットワークとすることができ、図1のパラフレーズマイニングシステム100等のパラフレーズマイニングシステムに接続することもできる。一部の実施形態では、Q&Aシステム750がパラフレーズマイニングシステム100を含み得る。ユーザ装置760はインターネットを介してパラフレーズマイナ710に接続することができる。ユーザ装置760は、例えばモバイル装置761及びデスクトップ装置762を含み得る。他の種類のユーザ装置も使用することができる。
【0081】
[0088] パラフレーズマイナ710は、パラフレーズマイニングシステム100の単語対応付けDAG記憶域150内に有向非巡回グラフ(DAG)として記憶される単語が対応付けされた入力文にアクセスすることにより、質問に応答するためのパラフレーズを生成することができる。パラフレーズマイナ710は、とりわけパラフレーズマイニングシステム100の一部とすることができ、ネットワーク730を介してパラフレーズマイニングシステム100に接続されてもよく、又はパラフレーズマイニングシステム100と直接通信することができる。一部の実施形態では、パラフレーズマイニングシステム100がパラフレーズマイナ710を呼び出して、対応付けプロセスの一環として対応付けされた入力文の可能なパラフレーズを識別することができる。
【0082】
[0089] Q&Aシステム750は、ユーザ装置760からの質問に応答するためにパラフレーズマイナ710を用いて生成されるパラフレーズを使用することができる。正しい応答の識別は、パラフレーズマイナ710又はパラフレーズマイニングシステム100によってマイニングされた新たなフレーズを使用して生成される文に対してユーザ装置760からの質問を対応付けることを含み得る。質問に対する適切な応答を明らかにするために、質問に対して最もよく対応付けられる入力文を使用することができる。この対応付けプロセスは、図5の方法500に関して上記で説明した同じステップをたどることができる。一部の実施形態では、ユーザ装置760からの質問に対する潜在的応答を更に明らかにするために、Q&Aシステム750は図7Aの自然言語処理システム700の機能を使用することができる。プリプロセッサ120によって作成される置換シンボル又は字句と置換名前付きエンティティとの間の関係を使用して、Q&Aシステム750に送信される質問に対する応答内で使用される名前付きエンティティを取得することができる。
【0083】
[0090] Q&Aシステム750では、前に応答された質問と一致する字句を有する1組の新たな質問がパラフレーズマイニングシステム100によって識別され得る。一致するパラフレーズを有するかかる質問に対して準備された応答を利用して、新たな質問に対する応答を準備することができる。準備される応答は、前に応答された質問に対する応答を直接使用することができ、又は最新の質問に対して準備される新たな応答の一部を形成することができる。
【0084】
[0091] 例示的なパラフレーズマイニングシステム100は、質問回答システム750と同様の他のシステムの一部であり得る。様々な応用に同じQ&Aシステム750を使用することができる。他の応用は検索エンジンを含み得る。例えばパラフレーズマイニングシステム100は「rentals」及び「apartments」という字句が交換可能に使用することができるパラフレーズだと識別している場合があり、その場合、検索エンジン又は検索エンジンの一部として機能するパラフレーズマイニングシステム100が「cheap rentals in SF」の検索を拡張して「apartments」並びに「rentals」に言及する任意の文書/結果を返すことができる。パラフレーズマイニングシステム100を用いたかかるクエリの拡張及び出力は、一致するパラフレーズを見つけることによって実現することができる。
【0085】
[0092] 方法、機器(システム)、及びコンピュータプログラム製品の流れ図又はブロック図に関して実施形態の例を上記で説明した。流れ図又はブロック図の各ブロック及び流れ図又はブロック図の中のブロックの組み合わせが、コンピュータプログラム製品又はコンピュータプログラム製品上の命令によって実装され得ることが理解されよう。これらのコンピュータプログラム命令は、コンピュータのプロセッサ又はマシンをもたらすための他のプログラム可能データ処理機器に与えられてもよく、それにより、コンピュータのプロセッサ又は他のプログラム可能データ処理機器によって実行される命令が、流れ図又はブロック図のブロック内で指定されている機能/動作を実装するための手段を作り出す。
【0086】
[0093] これらのコンピュータプログラム命令は、特定の方法で機能するようにコンピュータの1つ又は複数のハードウェアプロセッサ、他のプログラム可能データ処理機器、又は他の装置に指示することができるコンピュータ可読媒体の中に記憶されてもよく、それにより、コンピュータ可読媒体の中に記憶される命令が、流れ図又はブロック図のブロック内で指定されている機能/動作を実装する命令を含む製品を形成する。
【0087】
[0094] コンピュータによって実装されるプロセスをもたらすためにコンピュータ、他のプログラム可能機器、又は他の装置上で一連の操作上のステップを実行させるために、コンピュータ、他のプログラム可能データ処理機器、又は他の装置上にコンピュータプログラム命令をロードすることもでき、それにより、コンピュータ又は他のプログラム可能機器上で実行される命令が、流れ図又はブロック図のブロック内で指定されている機能/動作を実装するためのプロセスをもたらす。
【0088】
[0095] 1つ又は複数のコンピュータ可読媒体の任意の組み合わせを利用することができる。コンピュータ可読媒体は、非一時的コンピュータ可読記憶媒体であり得る。本明細書の脈絡では、コンピュータ可読記憶媒体は命令実行システム、機器、又は装置によって使用するための又はそれらに関連するプログラムを含み得る又は記憶し得る任意の有形媒体とすることができる。
【0089】
[0096] コンピュータ可読媒体上に具体化されるプログラムコードは、これだけに限定されないが、無線、電線、光ファイバケーブル、RF、IR等、又は上記のものの任意の適切な組み合わせを含む任意の適切な媒体を使用して伝送することができる。
【0090】
[0097] 実施形態の例の操作を実行するためのコンピュータプログラムコードは、Java、Smalltalk、C++等のオブジェクト指向プログラミング言語、及び「C」プログラミング言語等の従来の手続き型プログラミング言語又は同様のプログラミング言語を含む1つ又は複数のプログラミング言語の任意の組み合わせによって書くことができる。プログラムコードは、ユーザのコンピュータ上で完全に、ユーザのコンピュータ上で部分的に、独立型のソフトウェアパッケージとして、ユーザのコンピュータ上で部分的に、及びリモートコンピュータ上で部分的に又はリモートコンピュータ若しくはサーバ上で完全に実行され得る。後者のシナリオでは、リモートコンピュータはローカルエリアネットワーク(LAN)又は広域ネットワーク(WAN)を含む任意の種類のネットワークによってユーザのコンピュータに接続することができ、又は接続は(例えばインターネットサービスプロバイダを使用してインターネットによって)外部のコンピュータに対して行うことができる。
【0091】
[0098] 図中の流れ図及びブロック図は、様々な実施形態によるシステム、方法、及びコンピュータプログラム製品の可能な実装のアーキテクチャ、機能、及び動作の例を示す。この点に関して、流れ図又はブロック図内の各ブロックは指定の論理機能を実装するための1つ又は複数の実行可能命令を含むモジュール、セグメント、又はコードの一部を表し得る。一部の代替的実装形態では、ブロック内に示す機能が図中に示す順序から外れて生じ得ることにも留意すべきである。例えば、連続して示す2つのブロックが実際にはほぼ同時に実行されてもよく、又は関与する機能にもよるがブロックを逆の順序で実行できる場合もある。ブロック図又は流れ図の各ブロック及びブロック図又は流れ図内のブロックの組み合わせは、指定の機能又は動作を実行する専用のハードウェアベースのシステムによって、又は専用ハードウェアとコンピュータ命令との組み合わせによって実装され得ることも指摘しておく。
【0092】
[0099] 記載した実施形態は相互排他的ではなく、或る実施形態の例に関して記載した要素、構成要素、材料、又はステップは、所望の設計目的を実現するために適切なやり方で他の実施形態と組み合わせること又は他の実施形態から省くことができることが理解されよう。
【0093】
[00100] 上記の明細書では、実装形態ごとに異なり得る数多くの具体的詳細に関して実施形態を説明してきた。記載した実施形態の特定の適合及び修正を加えることができる。本明細書を検討し本明細書で開示した発明を実践することにより、他の実施形態が当業者に明らかになり得る。本明細書及び例は単に例示と見なされることを意図する。図中に示す一連のステップは単に例示目的であり、或る特定のステップの順番に限定されることは目的としないことも意図する。そのため、同じ方法を実施しながらそれらのステップを異なる順序で実行できることを当業者なら理解することができる。
【符号の説明】
【0094】
100 パラフレーズマイニングシステム
110 入力文記憶域
120 プリプロセッサ
130 単語対応付け器
140 単語対応付けグラフ生成器
150 単語対応付けDAG記憶域
244 キャッシュ
400 計算装置
418 ネットワークインタフェース
420 CPU
421 システムメモリ
423 I/Oコントローラ
424 表示装置
425 GPU
426 グラフィックメモリ
428 記憶域
430 I/O装置
440 レジスタ
450 システムインタフェース
700 自然言語処理システム
711 パラフレーズ生成器
712 パラフレーズフィルタ
720 機械学習モデル
730 ネットワーク
740 訓練データソース
750 Q&Aシステム
761 ユーザ装置
762 ユーザ装置
図1
図2
図3
図4
図5
図6A
図6B
図6C
図7A
図7B
【外国語明細書】