(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022041801
(43)【公開日】2022-03-11
(54)【発明の名称】領域固有ナレッジベースを用いて高度なレビューの理解を得るためのシステム及び方法
(51)【国際特許分類】
G06F 40/44 20200101AFI20220304BHJP
G06F 40/284 20200101ALI20220304BHJP
G06F 16/90 20190101ALI20220304BHJP
【FI】
G06F40/44
G06F40/284
G06F16/90 100
【審査請求】未請求
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2020187648
(22)【出願日】2020-11-11
(31)【優先権主張番号】17/008,572
(32)【優先日】2020-08-31
(33)【優先権主張国・地域又は機関】US
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.BLUETOOTH
2.JAVA
3.SMALLTALK
4.MongoDB
5.Redis
6.3GPP
(71)【出願人】
【識別番号】518135412
【氏名又は名称】株式会社リクルート
(74)【代理人】
【識別番号】100079108
【弁理士】
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【弁理士】
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【弁理士】
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【弁理士】
【氏名又は名称】内藤 和彦
(74)【代理人】
【識別番号】100139066
【弁理士】
【氏名又は名称】伊藤 健太郎
(72)【発明者】
【氏名】数原 良彦
(72)【発明者】
【氏名】ゴルシャン,ベーザド
(72)【発明者】
【氏名】リ,ユーリャン
(72)【発明者】
【氏名】チェン,チェン
(72)【発明者】
【氏名】ワン,シャオラン
(72)【発明者】
【氏名】リ,ジンフェン
(72)【発明者】
【氏名】タン,ワン-チュウ
(72)【発明者】
【氏名】デミラルプ,チャガタイ
(72)【発明者】
【氏名】トレイラー,アーロン
【テーマコード(参考)】
5B091
5B175
【Fターム(参考)】
5B091AA15
5B091CA01
5B091CA21
5B091CC04
5B091EA01
5B175EA01
(57)【要約】
【課題】領域固有ナレッジベースを用いて高度なレビューの理解を得るためのシステム及び方法を提供する。
【解決手段】開示する実施形態は自然言語処理に関する。技法は、入力テキストを受け付けること、入力テキストから少なくとも1つの修飾語句及びアスペクトの対を抽出すること、ナレッジベースからデータを受信すること、少なくとも1つの修飾語句及びアスペクトの対並びに常識データに基づいて1つ又は複数の前提埋め込みを生成すること、入力テキストを字句へと変換すること、字句を分析することに基づいて字句の1つ又は複数について少なくとも1つのベクトルを生成すること、少なくとも1つのベクトルを1つ又は複数の前提埋め込みと組み合わせて少なくとも1つの複合ベクトルを作成すること、及び少なくとも1つの複合ベクトルを分析することであって、入力テキストの特徴を示す出力を生成する、分析することを含むことができる。
【選択図】
図1
【特許請求の範囲】
【請求項1】
自然言語処理のための方法をレビュー理解システムに行わせるための1つ又は複数のプロセッサを含む前記レビュー理解システムによって実行可能な命令を記憶する、非一時的コンピュータ可読記憶媒体であって、前記方法は、
入力テキストを受け付けること、
前記入力テキストから少なくとも1つの修飾語句及びアスペクトの対を抽出すること、
ナレッジベースからデータを受信すること、
前記少なくとも1つの修飾語句及びアスペクトの対並びに常識データに基づいて1つ又は複数の前提埋め込みを生成すること、
前記入力テキストを字句へと変換すること、
前記字句を分析することに基づいて前記字句の1つ又は複数について少なくとも1つのベクトルを生成すること、
前記少なくとも1つのベクトルを前記1つ又は複数の前提埋め込みと組み合わせて少なくとも1つの複合ベクトルを作成すること、及び
前記少なくとも1つの複合ベクトルを分析することであって、前記入力テキストの特徴を示す出力を生成する、分析することを含む、
非一時的コンピュータ可読記憶媒体。
【請求項2】
前記入力テキストがレビューを含み、
前記入力テキストの特徴を示す前記出力は少なくとも1つの字句が前記レビューのアスペクトであるという、前記字句のうちの前記少なくとも1つの字句に関する確率である、
請求項1に記載の非一時的コンピュータ可読記憶媒体。
【請求項3】
前記入力テキストがレビュー及びアスペクトを含み、
前記入力テキストの特徴を示す前記出力は、前記アスペクトの前記レビューの意見が否定的である確率、前記アスペクトの前記レビューの意見が中立的である確率、及び前記アスペクトの前記レビューの意見が肯定的である確率のうちの少なくとも1つである、
請求項1に記載の非一時的コンピュータ可読記憶媒体。
【請求項4】
前記入力テキストがレビュー及び質問を含み、
前記入力テキストの特徴を示す前記出力は前記質問に対する回答を表すスパンである、
請求項1に記載の非一時的コンピュータ可読記憶媒体。
【請求項5】
前記複合ベクトルを分析することが、
分類器を使用し、前記字句のうちの少なくとも1つの字句が前記質問に対する回答の始まりであるという、前記字句に関する確率を識別すること
を更に含む、請求項4に記載の非一時的コンピュータ可読記憶媒体。
【請求項6】
前記複合ベクトルを分析することが、
分類器を使用し、前記字句のうちの少なくとも1つの字句が前記質問に対する回答の終わりであるという、前記字句に関する確率を識別すること
を更に含む、請求項4に記載の非一時的コンピュータ可読記憶媒体。
【請求項7】
前記字句を分析することがBERTを使用して前記字句を処理することを含む、請求項1に記載の非一時的コンピュータ可読記憶媒体。
【請求項8】
自然言語処理のために理解システムによって行われる方法であって、
入力テキストを受け付けること、
前記入力テキストから少なくとも1つの修飾語句及びアスペクトの対を抽出すること、
ナレッジベースからデータを受信すること、
前記少なくとも1つの修飾語句及びアスペクトの対並びに常識データに基づいて1つ又は複数の前提埋め込みを生成すること、
前記入力テキストを字句へと変換すること、
前記字句を分析することに基づいて前記字句の1つ又は複数について少なくとも1つのベクトルを生成すること、
前記少なくとも1つのベクトルを前記1つ又は複数の前提埋め込みと組み合わせて少なくとも1つの複合ベクトルを作成すること、及び
前記少なくとも1つの複合ベクトルを分析することであって、前記入力テキストの特徴を示す出力を生成する、分析すること
を含む、方法。
【請求項9】
前記入力テキストがレビューを含み、
前記入力テキストの特徴を示す前記出力は少なくとも1つの字句が前記レビューのアスペクトであるという、前記字句のうちの前記少なくとも1つの字句に関する確率である、
請求項8に記載の方法。
【請求項10】
前記入力テキストがレビュー及びアスペクトを含み、
前記入力テキストの特徴を示す前記出力は、前記アスペクトの前記レビューの意見が否定的である確率、前記アスペクトの前記レビューの意見が中立的である確率、及び前記アスペクトの前記レビューの意見が肯定的である確率のうちの少なくとも1つである、
請求項8に記載の方法。
【請求項11】
前記入力テキストがレビュー及び質問を含み、
前記入力テキストの特徴を示す前記出力は前記質問に対する回答を表すスパンである、
請求項8に記載の方法。
【請求項12】
前記複合ベクトルを分析することが、
分類器を使用し、前記字句のうちの少なくとも1つの字句が前記質問に対する回答の始まりであるという、前記字句に関する確率を識別すること
を更に含む、請求項11に記載の方法。
【請求項13】
前記複合ベクトルを分析することが、
分類器を使用し、前記字句のうちの少なくとも1つの字句が前記質問に対する回答の終わりであるという、前記字句に関する確率を識別すること
を更に含む、請求項11に記載の方法。
【請求項14】
前記字句を分析することがBERTを使用して前記字句を処理することを含む、請求項8に記載の方法。
【請求項15】
プロセッサ実行可能命令を記憶する1つ又は複数のメモリ装置と、
入力テキストを受け付けること、
前記入力テキストから少なくとも1つの修飾語句及びアスペクトの対を抽出すること、
ナレッジベースからデータを受信すること、
前記少なくとも1つの修飾語句及びアスペクトの対並びに常識データに基づいて1つ又は複数の前提埋め込みを生成すること、
前記入力テキストを字句へと変換すること、
前記字句を分析することに基づいて前記字句の1つ又は複数について少なくとも1つのベクトルを生成すること、
前記少なくとも1つのベクトルを前記1つ又は複数の前提埋め込みと組み合わせて少なくとも1つの複合ベクトルを作成すること、及び
前記少なくとも1つの複合ベクトルを分析することであって、前記入力テキストの特徴を示す出力を生成する、分析すること
をレビュー理解システムに行わせるための前記命令を実行するように構成される1つ又は複数のプロセッサと
を含む、レビュー理解システム。
【請求項16】
前記入力テキストがレビューを含み、
前記入力テキストの特徴を示す前記出力は少なくとも1つの字句が前記レビューのアスペクトであるという、前記字句のうちの前記少なくとも1つの字句に関する確率である、
請求項15に記載のレビュー理解システム。
【請求項17】
前記入力テキストがレビュー及びアスペクトを含み、
前記入力テキストの特徴を示す前記出力は、前記アスペクトの前記レビューの意見が否定的である確率、前記アスペクトの前記レビューの意見が中立的である確率、及び前記アスペクトの前記レビューの意見が肯定的である確率のうちの少なくとも1つである、
請求項15に記載のレビュー理解システム。
【請求項18】
前記入力テキストがレビュー及び質問を含み、
前記入力テキストの特徴を示す前記出力は前記質問に対する回答を表すスパンである、
請求項15に記載のレビュー理解システム。
【請求項19】
分類器を使用し、前記字句のうちの少なくとも1つの字句が前記質問に対する回答の始まりであるという、前記字句に関する確率を識別すること
を前記レビュー理解システムに更に行わせるための前記命令を実行するように前記1つ又は複数のプロセッサが構成される、請求項18に記載のレビュー理解システム。
【請求項20】
分類器を使用し、前記字句のうちの少なくとも1つの字句が前記質問に対する回答の終わりであるという、前記字句に関する確率を識別すること
を前記レビュー理解システムに更に行わせるための前記命令を実行するように前記1つ又は複数のプロセッサが構成される、請求項18に記載のレビュー理解システム。
【発明の詳細な説明】
【技術分野】
【0001】
背景
[001] 自然言語処理システムはコンピュータが自然言語入力を分析することを可能にする。多くの自然言語処理タスクは予め訓練された既存のモデルを利用する。しかしそれらの汎用モデルは、特定の領域に合わせられた自然言語タスクを実行しようと試みることに直面したとき苦労する場合がある。自然言語処理応用の性能を改善するために、領域固有ナレッジベースを容易且つ効率的に作成し使用することができる技法及びシステムが求められている。
【発明の概要】
【課題を解決するための手段】
【0002】
概要
[002] 本開示の特定の実施形態は、自然言語処理のための方法をレビュー理解システムに行わせるための1つ又は複数のプロセッサを含むレビュー理解システムによって実行可能な命令を記憶する、非一時的コンピュータ可読記憶媒体に関する。その方法は、入力テキストを受け付けること、入力テキストから少なくとも1つの修飾語句及びアスペクトの対を抽出すること、ナレッジベースからデータを受信すること、少なくとも1つの修飾語句及びアスペクトの対並びに常識データに基づいて1つ又は複数の前提埋め込みを生成すること、入力テキストを字句へと変換すること、字句を分析することに基づいて字句の1つ又は複数について少なくとも1つのベクトルを生成すること、少なくとも1つのベクトルを1つ又は複数の前提埋め込みと組み合わせて少なくとも1つの複合ベクトルを作成すること、及び少なくとも1つの複合ベクトルを分析することであって、入力テキストの特徴を示す出力を生成する、分析することを含むことができる。
【0003】
[003] 開示する一部の実施形態によれば、入力テキストがレビューを含むことができ、入力テキストの特徴を示す出力は少なくとも1つの字句がレビューのアスペクトであるという、字句のうちの少なくとも1つの字句に関する確率であり得る。
【0004】
[004] 開示する一部の実施形態によれば、入力テキストがレビュー及びアスペクトを含むことができ、入力テキストの特徴を示す出力は、アスペクトのレビューの意見が否定的である確率、アスペクトのレビューの意見が中立的である確率、及びアスペクトのレビューの意見が肯定的である確率のうちの少なくとも1つであり得る。
【0005】
[005] 開示する一部の実施形態によれば、入力テキストがレビュー及び質問を含むことができ、入力テキストの特徴を示す出力は質問に対する回答を表すスパンであり得る。
【0006】
[006] 開示する一部の実施形態によれば、複合ベクトルを分析することが、分類器を使用し、字句のうちの少なくとも1つの字句が質問に対する回答の始まりであるという、字句に関する確率を識別することを更に含み得る。
【0007】
[007] 開示する一部の実施形態によれば、複合ベクトルを分析することが、分類器を使用し、字句のうちの少なくとも1つの字句が質問に対する回答の終わりであるという、字句に関する確率を識別することを更に含み得る。
【0008】
[008] 開示する一部の実施形態によれば、字句を分析することがBERTを使用して字句を処理することを含み得る。
【0009】
[009] 本開示の特定の実施形態は、自然言語処理のためにコンピュータによって実装される方法に関する。この方法は、入力テキストを受け付けること、入力テキストから少なくとも1つの修飾語句及びアスペクトの対を抽出すること、ナレッジベースからデータを受信すること、少なくとも1つの修飾語句及びアスペクトの対並びに常識データに基づいて1つ又は複数の前提埋め込みを生成すること、入力テキストを字句へと変換すること、字句を分析することに基づいて字句の1つ又は複数について少なくとも1つのベクトルを生成すること、少なくとも1つのベクトルを1つ又は複数の前提埋め込みと組み合わせて少なくとも1つの複合ベクトルを作成すること、及び少なくとも1つの複合ベクトルを分析することであって、入力テキストの特徴を示す出力を生成する、分析することを含むことができる。
【0010】
[0010] 開示する一部の実施形態によれば、入力テキストがレビューを含むことができ、入力テキストの特徴を示す出力は少なくとも1つの字句がレビューのアスペクトであるという、字句のうちの少なくとも1つの字句に関する確率であり得る。
【0011】
[0011] 開示する一部の実施形態によれば、入力テキストがレビュー及びアスペクトを含むことができ、入力テキストの特徴を示す出力は、アスペクトのレビューの意見が否定的である確率、アスペクトのレビューの意見が中立的である確率、及びアスペクトのレビューの意見が肯定的である確率のうちの少なくとも1つであり得る。
【0012】
[0012] 開示する一部の実施形態によれば、入力テキストがレビュー及び質問を含むことができ、入力テキストの特徴を示す出力は質問に対する回答を表すスパンであり得る。
【0013】
[0013] 開示する一部の実施形態によれば、複合ベクトルを分析することが、分類器を使用し、字句のうちの少なくとも1つの字句が質問に対する回答の始まりであるという、字句に関する確率を識別することを更に含み得る。
【0014】
[0014] 開示する一部の実施形態によれば、複合ベクトルを分析することが、分類器を使用し、字句のうちの少なくとも1つの字句が質問に対する回答の終わりであるという、字句に関する確率を識別することを更に含み得る。
【0015】
[0015] 開示する一部の実施形態によれば、字句を分析することがBERTを使用して字句を処理することを含む。
【0016】
[0016] 本開示の特定の実施形態は、レビュー理解システムに関する。レビュー理解システムは、プロセッサ実行可能命令を記憶する1つ又は複数のメモリ装置と、レビュー理解システムに操作を行わせるための命令を実行するように構成される1つ又は複数のプロセッサとを含むことができる。操作は、入力テキストを受け付けること、入力テキストから少なくとも1つの修飾語句及びアスペクトの対を抽出すること、ナレッジベースからデータを受信すること、少なくとも1つの修飾語句及びアスペクトの対並びに常識データに基づいて1つ又は複数の前提埋め込みを生成すること、入力テキストを字句へと変換すること、字句を分析することに基づいて字句の1つ又は複数について少なくとも1つのベクトルを生成すること、少なくとも1つのベクトルを1つ又は複数の前提埋め込みと組み合わせて少なくとも1つの複合ベクトルを作成すること、及び少なくとも1つの複合ベクトルを分析することであって、入力テキストの特徴を示す出力を生成する、分析することを含むことができる。
【0017】
[0017] 開示する一部の実施形態によれば、入力テキストがレビューを含むことができ、入力テキストの特徴を示す出力は少なくとも1つの字句がレビューのアスペクトであるという、字句のうちの少なくとも1つの字句に関する確率であり得る。
【0018】
[0018] 開示する一部の実施形態によれば、入力テキストがレビュー及びアスペクトを含むことができ、入力テキストの特徴を示す出力は、アスペクトのレビューの意見が否定的である確率、アスペクトのレビューの意見が中立的である確率、及びアスペクトのレビューの意見が肯定的である確率のうちの少なくとも1つであり得る。
【0019】
[0019] 開示する一部の実施形態によれば、入力テキストがレビュー及び質問を含むことができ、入力テキストの特徴を示す出力は質問に対する回答を表すスパンであり得る。
【0020】
[0020] 開示する一部の実施形態によれば、分類器を使用し、字句のうちの少なくとも1つの字句が質問に対する回答の始まりであるという、字句に関する確率を識別するための操作をレビュー理解システムに更に行わせるための命令を実行するように1つ又は複数のプロセッサが構成される。
【0021】
[0021] 開示する一部の実施形態によれば、分類器を使用し、字句のうちの少なくとも1つの字句が質問に対する回答の終わりであるという、字句に関する確率を識別するための操作をレビュー理解システムに更に行わせるための命令を実行するように1つ又は複数のプロセッサが構成される。
【0022】
図面の簡単な説明
[0022] 本明細書に組み込まれ、本明細書の一部を構成する添付図面は一部の実施形態を示し、説明と共に開示する原理を説明する役割を果たす。
【図面の簡単な説明】
【0023】
【
図1】[0023]本開示の実施形態と合致する、領域固有ナレッジベースを使用するレビュー理解システムの様々な例示的構成要素を示すブロック図である。
【
図2】[0024]本開示の実施形態と合致する、領域固有ナレッジベースの例示的表現を示す図である。
【
図3】[0025]本開示の実施形態と合致する、例示的計算装置のブロック図である。
【
図4】[0026]本開示の実施形態と合致する、アスペクトを抽出するための例示的方法を示す流れ図である。
【
図5】[0027]本開示の実施形態と合致する、アスペクトの感情を分類するための例示的方法を示す流れ図である。
【
図6】[0028]本開示の実施形態と合致する、質問及び回答のための例示的方法を示す流れ図である。
【
図7】[0029]本開示の実施形態と合致する、ナレッジベースを作成するための例示的方法を示す流れ図である。
【
図8】[0030]本開示の実施形態と合致する、例示的な抽出行列データ構造の図である。
【
図9】[0031]本開示の実施形態と合致する、例示的な修飾語句-アスペクトテンソルのデータ構造の図である。
【発明を実施するための形態】
【0024】
詳細な説明
[0032] 開示する実施形態の例の完全な理解を与えるために、以下の詳細な説明では数多くの詳細を記載する。これらの実施形態の例の原理は、全ての具体的詳細なしに実践できることを当業者なら理解されよう。開示する実施形態は例示であり、特許請求の範囲及び本開示と合致する可能な全ての実施形態を開示することを意図する。実施形態の例の原理を不明瞭にしないために、よく知られている方法、手続き、及び構成要素については詳しくは説明していない。明確に述べていない限り、本明細書に記載する方法及びプロセスの例は特定の順序又は順番に制約されることも、特定のシステム構成に制約されることもない。加えて、記載する実施形態又はその要素の幾つかは、同じ時点において同時に又は並行して発生し又は実行され得る。
【0025】
[0033] 別段の定めがない限り、本明細書で使用するとき、「又は、若しくは(or)」という語は実行不可能な場合を除いてあり得る全ての組み合わせを包含する。例えば或る構成要素がA又はBを含み得ると述べた場合、別段の定めがない限り又は実行不可能でない限り、その構成要素はA若しくはB又はA及びBを含むことができる。第2の例として、或る構成要素がA、B、又はCを含み得ると述べた場合、別段の定めがない限り又は実行不可能でない限り、その構成要素はA若しくはB若しくはC、又はA及びB、又はA及びC、又はB及びC、又はA及びB及びCを含むことができる。
【0026】
[0034] 常識ナレッジベース107、常識推論モデル120に関連して、及び本開示の全体を通して使用するとき、「常識」という用語の使用は当技術分野で一般に使用される通りに理解されることを意図し、添付の特許請求の範囲に記載の範囲又は範疇を限定することは意図しないことも当業者によって理解されよう。常識ナレッジベースはナレッジベースと同じ情報を含むことができ、代わりにナレッジベースとして記載できることを当業者なら理解されよう。
【0027】
[0035] 次に、その例を添付図面に示す開示する実施形態を詳細に参照する。明確に述べていない限り、本明細書で使用するとき送信すること及び受信することは、特定の要求に応答して送信すること若しくは受信すること、又はそのような特定の要求なしに送信すること若しくは受信することを含む広義の意味を有することが理解されよう。従って、これらの用語は送信及び受信のアクティブ形式及びパッシブ形式の両方を対象として含む。
【0028】
[0036] 本明細書に記載する実施形態は、自動質問回答のための技術及び技法を提供する。開示する実施形態は、改善された理解を可能にするための領域固有ナレッジベースを作成すること及び使用することを含む。これらのナレッジベースは、様々なサービス及び製品に関するフィードバック及びレビュー内で入手可能な大量の情報を活用することができる。一部の例では、単語及びフレーズは特定の領域、サービス、又は製品に応じて様々な感情又は意見を表し得る。本明細書に記載する実施形態は特定の領域に関する感情を捕捉し、その領域固有情報を使用してその領域に関係するレビューの理解を向上させるナレッジベースを作成することができる。
【0029】
[0037] 具体的には、本明細書に記載する実施形態は、質問及び1つ又は複数のレビューを入力として取り、テキストを分析し、領域固有ナレッジベースを使用して質問への回答を決定することができる。領域固有ナレッジベースを作成し使用するので、本明細書に記載する実施形態は過去の分析方法よりも改善された性能及び精度を実現することができる。これらの改善された実施形態は、製品又はサービスに関する質問に回答するための自動システムを改善するために開示する実施形態による自然言語処理を使用することができる多くの分野において著しい実用的応用を有する。例えばホテルの脈絡では、本明細書に記載する実施形態はホテルのアメニティ及び特徴に関する基本的なゲストの質問に応答する自動コンシェルジュを提供するために使用することができる。
【0030】
[0038]
図1は、本開示の実施形態と合致する、領域固有ナレッジベースを使用するレビュー理解システム100の様々な例示的構成要素を示すブロック図である。レビュー理解システム100は、幾つかあるデータの種類の中で特に、質問及びレビューの対を含み得る入力データ103を含むことができる。これらの入力は、入力される質問に対する可能な回答を決定するためにレビュー理解システム100によって使用され得る。レビュー理解システム100を使用するためのプロセスについては
図6に関して以下でより詳細に解説する。他の実施形態は異なる種類の入力を利用することができる。一部の実施形態、例えばアスペクトを抽出することに関する実施形態では、入力がレビューだけを含み得る。他の実施形態、例えばアスペクトの感情を分類することに関する実施形態では、入力がレビュー及び標的アスペクトとして印付けされたレビュー内のスパンを含み得る。アスペクトを抽出するために及びアスペクトの感情を分類するためにレビュー理解システム100を使用するためのプロセスについては、
図4及び
図5のそれぞれに関して以下でより詳細に解説する。
【0031】
[0039] 入力データ103は、関係データベース管理システム(RDBMS)(例えばOracle Database、Microsoft SQL Server、MySQL、PostgreSQL、又はIBM DB2)とすることができる。RDBMSは、データベースから全部の行又はレコードについて可能な限り少ない操作でデータを効率的に返すように設計され得る。RDBMSは、データ構造内のデータの各行をシリアル化することによってデータを記憶することができる。RDBMSでは、レコードの全てのカテゴリに関連するデータが1つの操作でアクセスされ得るように、レコードに関連するデータをシリアルに記憶することができる。更にRDBMSは、異種のテーブル内に記憶される関連レコードのアクセスを効率的に可能にすることができる。例えばRDBMSでは、参照列によってテーブルをリンクすることができ、RDBMSはデータ構造のためのデータを取得するためにテーブルを結合することができる。一部の実施形態では、入力データ103が非関係データベースシステム(NRDBMS)(例えばXML、Cassandra、CouchDB、MongoDB、Oracle NoSQL Database、FoundationDB、又はRedis)であり得る。非関係データベースシステムは、とりわけキー-値記憶域、文書記憶域、グラフ、及びタプル記憶域等の様々なデータ構造を使用してデータを記憶することができる。例えば文書記憶域を使用する非関係データベースは、特定の識別子に関連するデータの全てを、XMLを使用して符号化される単一の文書へと組み合わせることができる。入力データ103はMemcached等のメモリデータベースとすることもできる。一部の実施形態では、入力データ103のコンテンツが、Redisにおいて可能であるように永続記憶域データベース及びインメモリデータベースの両方の中に存在し得る。
【0032】
[0040] レビュー理解システム100は、入力データから可能な意見を抽出するための意見抽出器110を含み得る。意見抽出器110は入力レビューを処理し、入力レビューから抽出される修飾語句及びアスペクトを含むタプルを生成することができる。タプルは「(修飾語句,アスペクト)」としてテキスト内で表すことができる。一例として、意見抽出器110は「The bathroom is very clean but the food is average(浴室は非常に清潔だが食事は普通だ)」という入力文を処理し、入力文の中の修飾語句及びアスペクトの対を表す{(very clean, bathroom), (average, food)}等の1組のタプルを生成することができる。意見抽出器110は、修飾語句及びアスペクトのタプルを前提115として出力することができる。意見抽出器110は、sequence-to-sequenceニューラルネットワークモデルを使用して修飾語句及びアスペクトの候補を生成することができる。かかるニューラルネットワークモデルは当技術分野で知られている。以下でより詳細に説明するように、意見抽出器110は常識ナレッジベースを使用してモデルを増強することができる。
【0033】
[0041] 前提115は、表明された意見をアスペクト及び修飾語句を使用して表す。レビュー理解システム100は、前提115を処理のために常識推論モデル120に与えることができる。
【0034】
[0042] 常識推論モデル120は、(修飾語句,アスペクト)のタプルとしてフォーマットされた入力前提115を取り、その前提からどの結論が生じ得るのかを決定することができる。以下でより詳細に説明するように、常識推論モデル120は、訓練のために及び常識推論モデル120が前提115から結論125を推測できるようにするために常識ナレッジベース107を利用することができる。結論125は、入力前提115について常識推論モデル120によって決定される1つ又は複数の結論を含み得る。
【0035】
[0043] 常識ナレッジベース107は、
図2に示すようなスキーマを利用することができる。
図2は、例示的な領域固有常識ナレッジベース200の表現である。常識ナレッジベース200は、
図1の常識ナレッジベース107であり得る。
図2に示すように、常識ナレッジベース200は複数の領域210に関する前提-結論のマッピングを含むことができる。例えばマッピング241及び243は宿泊業界に関係することができ、マッピング251及び253はレストラン業界に関係することができ、マッピング261及び263はラップトップのレビュー又はコンピュータ業界に関係することができる。
【0036】
[0044] 一部の実施形態では、単一の領域に関する前提-結論のマッピングだけが常識ナレッジベース200内に記憶される。他の実施形態では、集合的に常識ナレッジベース200であり得る複数の常識ナレッジベースの間で前提-結論のマッピングが分割される。
【0037】
[0045]
図2に示すように、前提220及び結論230は自然言語の単語又はフレーズとして表すことができる。各行(例えば行241、243、251、253、261、及び263)は、前提220によって含意される結論230を示す前提と結論とのマッピングを含む。
図2に示すようなデータをコンパイルするためのプロセスは
図7に関して以下でより詳細に説明する。
図2に示すように、常識ナレッジベースは前提から抽出される結論を含む。一例として、行241は「うるさい部屋」という結論に対応する「薄い壁」という前提を含む。この結論は行241の領域210に示す宿泊業の脈絡で意味をなし得るが、他の脈絡では意味をなさない可能性がある。これらの領域固有の前提-結論の対を含むことにより、汎用の前提-結論マッピングしか含まないモデルよりも優れた結果を与えるモデルを訓練するために常識ナレッジベース200を使用することができる。
【0038】
[0046] 再び
図1を参照し、常識推論モデル120は、常識ナレッジベース107内に記憶される情報に基づいて結論125を生成するために前提115の埋め込みを使用することができる。例えばレストランのレビュー内の「味のよい寿司」の入力前提115は「美味しい日本食レストラン」の結論125を含意し得る。別の例として、「短い電池寿命」の入力前提115は「低品質」の結論をもたらし得る。前提と結論とのマッピングは常識ナレッジベース107内に存在しなくてもよい。その理由は、
図2に関して上記で説明したように、常識ナレッジベース107が自然言語の前提(例えば前提220)及び結論(例えば結論230)を含み得るからである。常識推論モデル120はそれらの自然言語の前提-結論の対を分析し、常識ナレッジベース107の逐語的なコンテンツを超えて適用範囲を広げることができる。一例として、常識ナレッジベース107が「美味しい日本食レストラン」という結論に対する「新鮮な刺身」という前提のマッピングを含む場合、常識推論モデル120は「新鮮なにぎり」という前提も「美味しい日本食レストラン」の結論をもたらすと判定することができ、その理由は常識ナレッジベース107内に「新鮮なにぎり」がない可能性があっても、前提が類似しているからである。
【0039】
[0047] 入力データ103に関して上記で説明したように、常識ナレッジベース107はRDBMSとすることができる。一部の実施形態では、入力データ103に関して上記で説明したように常識ナレッジベース107がNRDBMSであり得る。常識ナレッジベース107は、Memcached等のメモリデータベースとすることもできる。一部の実施形態では、常識ナレッジベース107のコンテンツが、Redisにおいて可能であるように永続記憶域データベース及びインメモリデータベースの両方の中に存在し得る。
【0040】
[0048] 再び
図1を参照し、前提115に基づいて結論125を生成することに加えて、常識推論モデル120は前提埋め込み135も生成することができる。前提埋め込み135は前提115から生成され、常識ナレッジベース107を処理することによって更に増強される。前提埋め込み135はsequence-to-sequenceモデルを使用して生成することができる。一部の実施形態では、モデルは、再帰型ニューラルネットワークのゲート付き再帰型ユニットの50次元の埋め込み層及び768個の方向性の隠れ層(directional hidden layer)を使用することができる。モデルは、一般に入手可能なGloVe単語埋め込みを使用して初期設定することができ、常識ナレッジベース107を使用して更に訓練することができる。単語埋め込みを生成するための他の方法及びシステムを使用して初期埋め込みを生成することができ、次いで常識ナレッジベース107に基づく埋め込みと集約することができる。その後、前提埋め込み135をレビュー理解モデルに与えることができる。
【0041】
[0049] レビュー理解モデル130は、入力データ103及び前提埋め込み135を使用して出力145を生成する。出力145の具体的な形式はレビュー理解システム100の目的に依存し得る。自然言語処理タスクの例は、アスペクトを抽出すること、アスペクトの感情を分類すること、並びに質問及び回答を含み得る。これらのそれぞれを
図4~
図6のそれぞれに関して以下でより詳細に解説する。アスペクトを抽出するために、出力145はレビュー内で識別されるアスペクトであり得る。アスペクトは、製品又はサービスの特性、品質、又は他の要素を指すことができる。アスペクトの感情を分類することに関する実施形態では、出力145はレビューがアスペクトに関して肯定的である、否定的である、又は中立的である相対的確率であり得る。質問及び回答に関する実施形態では、出力145は与えられた質問に対する回答を表すレビュー内のスパンであり得る。
【0042】
[0050] レビュー理解モデル130は、一般にBERTと呼ばれる予め訓練されたBidirectional Encoder Representations from Transformers(Transformerによる双方向のエンコード表現)を利用することができる。レビュー理解モデル130は、BERTによって入力を処理することでもたらされる初期単語エンコードを取ることができ、前提埋め込みを用いてそれらの単語エンコードを増強することができる。常識推論モデル120によってもたらされる前提埋め込み又は意見埋め込みが、入力からの各字句の表現Tiに付加される。入力から前提又は意見が抽出されなかった場合、全てゼロのベクトルを字句に付加することができる。入力から抽出される複数の意見がある場合、レビュー理解モデル130は第1の抽出意見を選び、その埋め込みを付加することができる。複数の意見埋め込み又は前提埋め込みを有する他の実施形態では、レビュー理解モデルが異なる埋め込みを選ぶことができる。例えばレビュー理解モデルは、複数の埋め込みからランダムの前提埋め込みを選択することができる。一部の実施形態では、複数の文を同時に処理し、複数の前提の処理をもたらすことができる。文は、レビュー理解システム100によって文ごとに順番に処理することができる。文はランダムに処理することができる。文は意見を抽出する前に前処理することができる。例えば、前処理のステップは文をその長さ、単語数、又は文字数によってグループ化することができる。前処理のステップは、意見抽出器110が意見を抽出する前に文を領域ごとにグループ化することができる。一部の実施形態では、入力は、全て一度に1文ずつ処理される複数の前提を有し得る。文が2つ以上の前提を有する場合、システムは前提をランダムに選択する、最初の前提を選ぶ、又は文中の任意の前提を選択することができる。
【0043】
[0051]
図3は、本開示の実施形態と合致する、例示的計算装置300のブロック図である。一部の実施形態では、計算装置300は本明細書に記載の機能を提供する専用サーバであり得る。一部の実施形態では、入力データ103、常識ナレッジベース107、意見抽出器110、常識推論モデル120、レビュー理解モデル130等のレビュー理解システム100の構成要素は、計算装置300又は並列に動作する複数の計算装置300を使用して実装することができる。更に計算装置300は、本明細書に記載の機能を提供する又は記載した機能の少なくとも一部を提供するためにサーバから情報を受信する第2の装置であり得る。更に、計算装置300は本開示の実施形態と合致するデータを記憶し又は提供する追加の装置とすることができ、一部の実施形態では、計算装置300は仮想マシン、複数の仮想マシン、又はハイパーバイザ等の仮想化された計算装置であり得る。
【0044】
[0052] 計算装置300は、1つ又は複数の中央処理装置(CPU)320及びシステムメモリ321を含むことができる。計算装置300は、1つ又は複数のグラフィックス処理装置(GPU)325及びグラフィックメモリ326も含むことができる。一部の実施形態では、計算装置300はGPU325又はグラフィックメモリ326を含まないヘッドレス計算装置であり得る。
【0045】
[0053] CPU320は、メモリ(例えばシステムメモリ321)、キャッシュ(例えばキャッシュ344)、又はレジスタ(例えばレジスタ340の1つ)内に記憶される命令セットを実行可能な単一の又は複数のマイクロプロセッサ、書換可能ゲートアレイ、又はデジタル信号プロセッサとすることができる。CPU320は、とりわけデータ、命令、浮動小数点値、条件値、メモリ(例えばシステムメモリ321又はグラフィックメモリ326)内の位置に関するメモリアドレス、ポインタ及びカウンタを含む様々な種類のデータを記憶するための1つ又は複数のレジスタ(例えばレジスタ340)を含み得る。CPUレジスタ340は、命令ポインタ、命令カウンタ、又はメモリスタックポインタ等、命令を実行することに関連するデータを記憶するために使用される専用レジスタを含み得る。システムメモリ321は、フレキシブルディスク、ハードディスク、コンパクトディスク読取専用メモリ(CD-ROM)、光磁気(MO)ドライブ、デジタル多用途ディスクランダムアクセスメモリ(DVD-RAM)、ソリッドステートディスク(SSD)、フラッシュドライブ又はフラッシュメモリ、プロセッサキャッシュ、メモリレジスタ、又は半導体メモリ等の有形の又は非一時的なコンピュータ可読媒体を含み得る。システムメモリ321は、データを記憶することができ且つCPU320による直接アクセスを可能にする1つ又は複数のメモリチップであり得る。システムメモリ321は、任意の種類のランダムアクセスメモリ(RAM)又は本明細書に記載の通り動作することができる他の利用可能なメモリチップであり得る。
【0046】
[0054] CPU320は、バスと呼ぶこともあるシステムインタフェース350を介してシステムメモリ321と通信することができる。GPU325を含む実施形態では、GPU325は画像の作成を行う又は加速するためにメモリ(例えばグラフィックメモリ326)を操作し変更することができる任意の種類の専用回路であり得る。GPU325は、グラフィカルデータの大きい並列ブロックをCPU320よりも効率的に処理するために最適化された高度並列構造を有し得る。更に、GPU325の機能は専用処理ユニット又はコプロセッサのチップセット内に含まれ得る。
【0047】
[0055] CPU320は、システムメモリ321又は他のメモリ内に記憶されるプログラミング命令を実行し、メモリ(例えばシステムメモリ321)内に記憶されるデータに対して操作を行い、計算装置300の様々な構成要素間の通信をブリッジするシステムインタフェース350を介してGPU325と通信することができる。一部の実施形態では、CPU320、GPU325、システムインタフェース350、又はそれらのものの任意の組み合わせが単一のチップセット又は処理ユニット内に統合される。GPU325は、システムメモリ321又はグラフィックメモリ326内に記憶されるグラフィカルデータを操作するために、メモリ(例えばシステムメモリ321)内に記憶される命令セットを実行することができる。例えば、CPU320はGPU325に命令を与えることができ、GPU325はその命令を処理してグラフィックメモリ326内に記憶されるグラフィックスデータをレンダリングすることができる。グラフィックメモリ326は、ローカルメモリ、システムメモリ、オンチップメモリ、及びハードディスクを含む、GPU325によってアクセス可能な任意のメモリ空間であり得る。GPU325は、グラフィックメモリ326内に記憶されるグラフィカルデータを表示装置324上で表示できるようにすることができ、又はグラフィカル情報を処理し、ネットワークインタフェース318又はI/O装置330を介してその情報を接続装置に与えることができる。
【0048】
[0056] 計算装置300は、表示装置324及びI/Oコントローラ323に接続される入力/出力(I/O)装置330(例えばキーボード、マウス、又はポインティングデバイス)を含み得る。I/Oコントローラ323は、システムインタフェース350を介して計算装置300の他の構成要素と通信することができる。CPU320は、シリアル通信又は直接の二地点間通信等により、システムインタフェース350を経由する以外のやり方でシステムメモリ321及び他の装置と通信することもできることが理解されよう。同様に、GPU325はシステムインタフェース350以外のやり方でグラフィックメモリ326及び他の装置と通信することができる。入力を受け付けることに加えて、CPU320はI/O装置330を介して(例えばプリンタ、スピーカ、骨伝導、又は他の出力装置によって)出力を提供することができる。
【0049】
[0057] 更に計算装置300は、これだけに限定されないが標準電話線、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、又はインターネットにインタフェースするためのネットワークインタフェース318を含むことができる。ネットワークインタフェース318は、内蔵ネットワークアダプタ、ネットワークインタフェースカード、PCMCIAネットワークカード、カードバスネットワークアダプタ、無線ネットワークアダプタ、USBネットワークアダプタ、モデム、又は通信が可能な任意の種類のネットワークに計算装置300をインタフェースし、本明細書に記載の操作を行うのに適した他の任意の装置を含み得る。
【0050】
[0058]
図4は、本開示の実施形態と合致する、レビューからアスペクトのスパンを抽出するための例示的なアスペクト抽出方法400を示す流れ図である。説明のために、アスペクト抽出方法400のステップは、
図3の計算装置300上で実行される或いは計算装置300の機能を使用する
図1のレビュー理解システム100によって実行され得る。ステップの順序を修正するために及び追加のステップを含めるために、図示のアスペクト抽出方法400は変えることができることが理解されよう。
【0051】
[0059] アスペクト抽出方法400はステップ401から始まる。ステップ410で、レビュー理解システム100がレビューを入力として、例えば入力データ103として受け付けることができる。レビュー理解システム100は、例えばネットワークインタフェース318においてネットワークを介してレビューを受け付けることができる。一部の実施形態では、レビュー理解システム100が、例えば記憶域328又はシステムメモリ321等の直接接続されたデータベース又は記憶媒体からレビューを受け付けることができる。
【0052】
[0060] ステップ420で、レビュー理解システム100がレビューを字句へと分割し、各字句をベクトル表現に変換することができる。ベクトル表現は、例えばレビュー理解モデル130の一部としてBERTを使用して生成することができる。
【0053】
[0061] ステップ430で、レビュー理解モデル130はステップ420のベクトル表現を、例えば常識推論モデル120によって与えられる常識単語埋め込み(例えば前提埋め込み135)と組み合わせることができる。ステップ440で、レビュー理解モデルは前提埋め込み135及びステップ420の入力字句のベクトル表現の組み合わせを使用して、各字句がアスペクトスパンの一部である確率を求めることができる。
【0054】
[0062] アスペクト抽出方法400はステップ499で終わる。記載した方法により、レビュー理解システム100を使用してレビューからアスペクトを識別することができる。例えば「食事の味はよかったが...」というテキストを含むレビューでは、アスペクト抽出方法400を使用して「食事」がレビュー内のアスペクトだと識別することができる。
【0055】
[0063]
図5は、本開示の実施形態と合致する、例示的なアスペクト感情分類方法500を示す流れ図である。説明のために、アスペクト感情分類方法500のステップは、
図3の計算装置300上で実行される或いは計算装置300の機能を使用する
図1のレビュー理解システム100によって実行され得る。ステップの順序を修正するために及び追加のステップを含めるために、図示のアスペクト感情分類方法500は変えることができることが理解されよう。
【0056】
[0064] アスペクト感情分類方法500はステップ501から始まる。ステップ510で、レビュー理解システム100がレビュー及びアスペクトとして印付けされるレビュー内のスパンを入力として、例えば入力データ103として受け付けることができる。レビュー理解システム100は、例えばネットワークインタフェース318においてネットワークを介してレビュー及び印付けされたスパンを受け付けることができる。一部の実施形態では、レビュー理解システム100が、例えば記憶域328又はシステムメモリ321等の直接接続されたデータベース又は記憶媒体からレビュー及び印付けされたスパンを受け付けることができる。
【0057】
[0065] ステップ520で、レビュー理解システム100がレビューを字句へと分割することができる。加えてレビュー理解システム100は、レビューを表す字句に対して、アスペクトとして印付けされるスパンを表す字句を付加することができる。レビューの字句とアスペクトの字句とは専用の「[SEP]」の字句によって分けることができる。全レビューを表す「[CLS]」の字句と共にこれらの字句は、BERTを使用して処理して入力のベクトル表現を生成することができる。
【0058】
[0066] ステップ530で、レビュー及び印付けされたスパンのベクトル表現を、常識推論モデル120からの前提埋め込み(例えば前提埋め込み135)と組み合わせることができる。前提埋め込みはレビュー理解モデル130によって生成されるベクトル表現に付加して、常識推論モデルからの前提埋め込みを用いて表現を増強することができる。前提埋め込みを用いて増強表現を更に処理するために、高密度ニューラルネットワーク層を追加することができる。
【0059】
[0067] ステップ540で、レビュー理解モデル130は、高密度ニューラルネットワーク層及び増強ベクトル表現を使用し、印付けされたスパンに関係するレビューが肯定的である、否定的である、又は中立的である相対的確率を求めることができる。アスペクト感情分類方法500はステップ599で終わる。
【0060】
[0068]
図6は、本開示の実施形態と合致する、例示的な質問及び回答方法600を示す流れ図である。説明のために、質問及び回答方法600のステップは、
図3の計算装置300上で実行される或いは計算装置300の機能を使用する
図1のレビュー理解システム100によって実行され得る。ステップの順序を修正するために及び追加のステップを含めるために、図示の質問及び回答方法600は変えることができることが理解されよう。
【0061】
[0069] 質問及び回答方法600はステップ601から始まる。ステップ610で、レビュー理解システム100が質問及びレビューを入力として、例えば入力データ103として受け付けることができる。レビュー理解システム100は、例えばネットワークインタフェース318においてネットワークを介して質問及びレビューを受け付けることができる。一部の実施形態では、レビュー理解システム100が、例えば記憶域328又はシステムメモリ321等の直接接続されたデータベース又は記憶媒体から質問及びレビューを受け付けることができる。
【0062】
[0070] ステップ620で、レビュー理解システム100が質問及びレビューを字句へと分割することができる。レビュー理解システム100は、質問及びレビューを表す字句を専用の「[SEP]」の字句によって分けることができる。全入力を表す「[CLS]」の字句と共にこれらの字句は、BERTを使用して処理して入力のベクトル表現を生成することができる。
【0063】
[0071] ステップ630で、レビュー及び質問のベクトル表現を、常識推論モデル120からの前提埋め込み(例えば前提埋め込み135)と組み合わせることができる。前提埋め込みはレビュー理解モデル130によって生成されるベクトル表現に付加して、常識推論モデルからの前提埋め込みを用いて表現を増強することができる。
【0064】
[0072] ステップ640で、レビュー理解モデル130が高密度ニューラルネットワーク層等の分類器を増強ベクトル表現に追加することができる。高密度ニューラルネットワーク層は、字句が質問に対する回答スパンの始まりである表現内の各字句の確率を求めるために使用することができる。
【0065】
[0073] ステップ650で、レビュー理解モデル130は、第2の高密度ニューラルネットワーク層等の別の分類器を増強ベクトル表現に追加することができる。高密度ニューラルネットワーク層は、字句が質問に対する回答スパンの終わりである表現内の各字句の確率を求めるために使用することができる。
【0066】
[0074] ステップ660で、レビュー理解モデル130はステップ640及び650で生成された確率を分析し、回答である最も高い確率を有するスパンを表す、最も高い開始確率を有する字句から始まり最も高い終了確率を有する字句で終わるスパンを抽出することができる。質問及び回答方法600はステップ699で終わる。
【0067】
[0075]
図7は、本開示の実施形態と合致する、例示的な常識ナレッジベース作成方法700を示す流れ図である。上記で説明したように、常識ナレッジベースはどの意見が特定の結論をもたらし得るのかに関する情報を提供することができる。例えば「新鮮な刺身」というレビューは「美味しい日本食レストラン」を含意し得る。このナレッジベースを構築することは大変な作業であり得る。一部のレビューでは、レビューの意見と結論との間の関係が明確でない。加えて一部のレビューでは、関係が常に完全に事実に基づくとは限らない場合がある。例えば上記の例を使用し、「新鮮な刺身」のレビューは一部の例では「質の低い日本食レストラン」に適用され得る。常識ナレッジベース作成方法700の中で説明するステップ及び方法は、これらの課題を克服して効果的な領域固有常識ナレッジベースを生成することができる。
【0068】
[0076] 説明のために、常識ナレッジベース作成方法700のステップは、
図3の計算装置300上で実行される或いは計算装置300の機能を使用する
図1のレビュー理解システム100によって実行され得る。ステップの順序を修正するために及び追加のステップを含めるために、図示の常識ナレッジベース作成方法700は変えることができることが理解されよう。
【0069】
[0077] 常識ナレッジベース作成方法700はステップ701から始まる。ステップ710で、レビュー理解システム100がレビューを入力として、例えば入力データ103として受け付けることができる。レビュー理解システム100は、例えばネットワークインタフェース318においてネットワークを介してレビューを受け付けることができる。一部の実施形態では、レビュー理解システム100が、例えば記憶域328又はシステムメモリ321等の直接接続されたデータベース又は記憶媒体からレビューを受け付けることができる。
【0070】
[0078] ステップ720で、レビュー理解システム100が、例えば意見抽出器110を使用して全ての修飾語句及びアスペクトの対を決定することができる。
【0071】
[0079] ステップ730で、レビュー理解システム100が、修飾語句及びアスペクトの対を表す抽出行列を生成することができる。抽出行列の一例を
図8に示す。
図8に示すように、抽出行列800は、
図7の常識ナレッジベース作成方法700のステップ720で決定された修飾語句及びアスペクトの対を使用して生成される抽出行列を表し得る。抽出行列800の行iはレビューされている製品、サービス、又はエンティティを表すことができ、抽出行列800の列jは、例えば
図7のステップ720でレビュー理解システム100の意見抽出器110によって抽出される修飾語句及びアスペクトの対を表し得る。M
ijとして表す抽出行列800内の各エントリは、その特定の製品、サービス、又はエンティティiに関して修飾語句及びアスペクトの対jがレビューされる回数を表す。
【0072】
[0080] 再び
図7を参照し、ステップ740で、
図7の常識ナレッジベース作成方法700のステップ720で決定された修飾語句及びアスペクトの対の追加表現として、レビュー理解システム100が修飾語句-アスペクトテンソルを生成することができる。修飾語句-アスペクトテンソルの一例を
図9に示す。
図9に示すように、修飾語句-アスペクトテンソル900は修飾語句とアスペクトの関係の三次元表現とすることができる。修飾語句-アスペクトテンソル900の第3の次元kは、レビューから抽出されるアスペクトを表すことができる。修飾語句-アスペクトテンソル900の第2の次元jは、レビューから抽出される修飾語句を表すことができる。修飾語句-アスペクトテンソル900の第1の次元iは、レビューされている製品、サービス、又はエンティティを表すことができる。T
ijkとして表す修飾語句-アスペクトテンソル900内の各エントリは、アスペクトkに対する修飾語句jが製品、サービス、又はエンティティiについてレビューされる回数を表す。
【0073】
[0081] 再び
図7を参照し、ステップ750で、レビュー理解システムは抽出行列(例えば
図8の抽出行列800)及び修飾語句-アスペクトテンソル(例えば
図9の修飾語句-アスペクトテンソル900)を使用し、それぞれの修飾語句とアスペクトの対の高密度表現を生成することができる。高密度表現は、テンソル因数分解を使用して抽出行列及び修飾語句-アスペクトテンソルを分解して計算することができる。
【0074】
[0082] 抽出行列、例えば
図8の抽出行列800を分解するために、内積
【数1】
がM
ijに近似するように、各製品、サービス、又は他のエンティティi並びに修飾語句及びアスペクトの対jをd次元ベクトルv
i及びv
jで表すことができる。これらのベクトルを計算して、
【数2】
で示されるフロベニウスノルムを最小化することができる。
【0075】
[0083] アスペクト-修飾語句テンソル、例えば
図9のアスペクト-修飾語句テンソル900を分解するために、製品、サービス、又は他のエンティティi、修飾語句j、及びアスペクトkは
【数3】
で表されるそのアダマール積の和がT
ijkに近似するように、d次元ベクトルv
i、v
j、及びv
kで表すことができる。これらのベクトルを計算して、例えば
【数4】
で示されるフロベニウスノルムを最小化することができる。上記のベクトルは、例えば当業界で一般に知られているPARAFAC因数分解法を使用して計算することができる。ステップ760で、抽出行列及び修飾語句-アスペクトテンソルの高密度表現を使用して、候補となる前提-結論の対を生成する。一部の実施形態では、抽出行列からのデータだけを使用する。他の実施形態では、修飾語句-アスペクトテンソルからのデータだけを使用する。一部の実施形態では、より優れた結果をもたらすために、抽出行列及び修飾語句-アスペクトテンソルの両方のデータを使用する。修飾語句及びアスペクトの対ごとに、レビュー理解システム100は、元の修飾語句及びアスペクトの対への最も高いコサイン類似度に対応する表現を有する他の幾つかの対(例えば3つの追加の対)を識別することができる。高いコサイン類似度を有する埋め込みは関係する可能性が高い。これらの類似度を使用し、レビュー理解システム100はレビューに関する前提及び意見を表すための候補となる対を生成することができる。
【0076】
[0084] ステップ770で、レビュー理解システム100によって生成された候補を検証する。検証プロセスは候補となる対を無関係、等価として印付けすることができ、又は一方の候補が他方の候補を含意する場合。検証プロセスは人間の注釈者によって行われ得る。一部の実施形態では、検証プロセスは訓練されたモデルを使用して行われ得る。その後、検証済みの候補を常識ナレッジベース内に含める。
【0077】
[0085] 方法、機器(システム)、及びコンピュータプログラム製品の流れ図又はブロック図に関して実施形態の例を上記で説明した。流れ図又はブロック図の各ブロック及び流れ図又はブロック図の中のブロックの組み合わせが、コンピュータプログラム製品又はコンピュータプログラム製品上の命令によって実装され得ることが理解されよう。これらのコンピュータプログラム命令は、コンピュータのプロセッサ又はマシンをもたらすための他のプログラム可能データ処理機器に与えられてもよく、それにより、コンピュータのプロセッサ又は他のプログラム可能データ処理機器によって実行される命令が、流れ図又はブロック図のブロック内で指定されている機能/動作を実装するための手段を作り出す。
【0078】
[0086] これらのコンピュータプログラム命令は、特定の方法で機能するようにコンピュータの1つ又は複数のハードウェアプロセッサ、他のプログラム可能データ処理機器、又は他の装置に指示することができるコンピュータ可読媒体の中に記憶されてもよく、それにより、コンピュータ可読媒体の中に記憶される命令が、流れ図又はブロック図のブロック内で指定されている機能/動作を実装する命令を含む製品を形成する。
【0079】
[0087] コンピュータによって実装されるプロセスをもたらすためにコンピュータ、他のプログラム可能機器、又は他の装置上で一連の操作上のステップを実行させるために、コンピュータ、他のプログラム可能データ処理機器、又は他の装置上にコンピュータプログラム命令をロードすることもでき、それにより、コンピュータ又は他のプログラム可能機器上で実行される命令が、流れ図又はブロック図のブロック内で指定されている機能/動作を実装するためのプロセスをもたらす。
【0080】
[0088] 1つ又は複数のコンピュータ可読媒体の任意の組み合わせを利用することができる。コンピュータ可読媒体は、非一時的コンピュータ可読記憶媒体であり得る。本明細書の脈絡では、コンピュータ可読記憶媒体は命令実行システム、機器、又は装置によって使用するための又はそれらに関連するプログラムを含み得る又は記憶し得る任意の有形媒体とすることができる。
【0081】
[0089] コンピュータ可読媒体上に具体化されるプログラムコードは、これだけに限定されないが、無線、電線、光ファイバケーブル、RF、IR等、又は上記のものの任意の適切な組み合わせを含む任意の適切な媒体を使用して伝送することができる。
【0082】
[0090] 実施形態の例の操作を実行するためのコンピュータプログラムコードは、Java、Smalltalk、C++等のオブジェクト指向プログラミング言語、及び「C」プログラミング言語等の従来の手続き型プログラミング言語又は同様のプログラミング言語を含む1つ又は複数のプログラミング言語の任意の組み合わせによって書くことができる。プログラムコードは、ユーザのコンピュータ上で完全に、ユーザのコンピュータ上で部分的に、独立型のソフトウェアパッケージとして、ユーザのコンピュータ上で部分的に、及びリモートコンピュータ上で部分的に又はリモートコンピュータ若しくはサーバ上で完全に実行され得る。後者のシナリオでは、リモートコンピュータはローカルエリアネットワーク(LAN)又は広域ネットワーク(WAN)を含む任意の種類のネットワークによってユーザのコンピュータに接続することができ、又は接続は(例えばインターネットサービスプロバイダを使用してインターネットによって)外部のコンピュータに対して行うことができる。
【0083】
[0091] 図中の流れ図及びブロック図は、様々な実施形態によるシステム、方法、及びコンピュータプログラム製品の可能な実装のアーキテクチャ、機能、及び動作の例を示す。この点に関して、流れ図又はブロック図内の各ブロックは指定の論理機能を実装するための1つ又は複数の実行可能命令を含むモジュール、セグメント、又はコードの一部を表し得る。一部の代替的実装形態では、ブロック内に示す機能が図中に示す順序から外れて生じ得ることにも留意すべきである。例えば、連続して示す2つのブロックが実際にはほぼ同時に実行されてもよく、又は関与する機能にもよるがブロックを逆の順序で実行できる場合もある。ブロック図又は流れ図の各ブロック及びブロック図又は流れ図内のブロックの組み合わせは、指定の機能又は動作を実行する専用のハードウェアベースのシステムによって、又は専用ハードウェアとコンピュータ命令との組み合わせによって実装され得ることも指摘しておく。
【0084】
[0092] 記載した実施形態は相互排他的ではなく、或る実施形態の例に関して記載した要素、構成要素、材料、又はステップは、所望の設計目的を実現するために適切なやり方で他の実施形態と組み合わせること又は他の実施形態から省くことができることが理解されよう。
【0085】
[0093] 上記の明細書では、実装形態ごとに異なり得る数多くの具体的詳細に関して実施形態を説明してきた。記載した実施形態の特定の適合及び修正を加えることができる。本明細書を検討し本明細書で開示した発明を実践することにより、他の実施形態が当業者に明らかになり得る。本明細書及び例は単に例示と見なされることを意図する。図中に示す一連のステップは単に例示目的であり、或る特定のステップの順番に限定されることは目的としないことも意図する。そのため、同じ方法を実施しながらそれらのステップを異なる順序で実行できることを当業者なら理解することができる。
【符号の説明】
【0086】
100 レビュー理解システム
103 入力データ
107 常識ナレッジベース
110 意見抽出器
115 前提
120 常識推論モデル
125 結論
130 レビュー理解モデル
135 前提埋め込み
145 出力
200 常識ナレッジベース
210 領域
220 前提
230 結論
300 計算装置
318 ネットワークインタフェース
320 CPU
321 システムメモリ
323 I/Oコントローラ
324 表示装置
325 GPU
326 グラフィックメモリ
328 記憶域
330 I/O装置
340 レジスタ
344 キャッシュ
350 システムインタフェース
800 抽出行列
900 修飾語句-アスペクトテンソル
【外国語明細書】