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

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

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

特許7473583長い文書の要約のためのモデルグローバル化
<>
  • 特許-長い文書の要約のためのモデルグローバル化 図1
  • 特許-長い文書の要約のためのモデルグローバル化 図2
  • 特許-長い文書の要約のためのモデルグローバル化 図3
  • 特許-長い文書の要約のためのモデルグローバル化 図4
  • 特許-長い文書の要約のためのモデルグローバル化 図5
  • 特許-長い文書の要約のためのモデルグローバル化 図6
  • 特許-長い文書の要約のためのモデルグローバル化 図7
  • 特許-長い文書の要約のためのモデルグローバル化 図8
  • 特許-長い文書の要約のためのモデルグローバル化 図9
  • 特許-長い文書の要約のためのモデルグローバル化 図10
  • 特許-長い文書の要約のためのモデルグローバル化 図11
  • 特許-長い文書の要約のためのモデルグローバル化 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-15
(45)【発行日】2024-04-23
(54)【発明の名称】長い文書の要約のためのモデルグローバル化
(51)【国際特許分類】
   G06F 40/279 20200101AFI20240416BHJP
   G06F 16/30 20190101ALI20240416BHJP
   G06F 40/56 20200101ALI20240416BHJP
【FI】
G06F40/279
G06F16/30
G06F40/56
【請求項の数】 22
(21)【出願番号】P 2022068546
(22)【出願日】2022-04-18
(65)【公開番号】P2023113541
(43)【公開日】2023-08-16
【審査請求日】2022-04-18
(31)【優先権主張番号】17/592164
(32)【優先日】2022-02-03
(33)【優先権主張国・地域又は機関】US
【新規性喪失の例外の表示】特許法第30条第2項適用 2021年4月19日~23日、Proceedings of the 16th Conference of the European Chapter of the Association for Computational Linguistics(ウェブ開催、https://aclanthology.org/2021.eacl-main.154/)にて公開
(73)【特許権者】
【識別番号】505205812
【氏名又は名称】ネイバー コーポレーション
【氏名又は名称原語表記】NAVER Corporation
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ジュリエン パレス
(72)【発明者】
【氏名】クェンテン グライ
(72)【発明者】
【氏名】エリック ジャック ギ ゴシエ
【審査官】松尾 真人
(56)【参考文献】
【文献】特開2020-035272(JP,A)
【文献】Ruixuan Zhang, Zhuoyu Wei, Yu Shi, Yining Chen,BERT-AL: BERT FOR ARBITRARITY LONG DOCUMENT UNDERSTANDING,OpenReview.net,2019年09月26日,[令和5年10月13日検索],インターネット<URL:https://openreview.net/forum?id=SklnVAEFDB&name=original_pdf>
【文献】Yang Liu,Fine-tune BERT for Extractive Summarization,arXiv[online],arXiv,2019年09月05日,[令和5年5月15日検索],インターネット<URL:https://arxiv.org/abs/1903.10318>
(58)【調査した分野】(Int.Cl.,DB名)
G06F 40/00-40/58
G06F 16/00-16/958
(57)【特許請求の範囲】
【請求項1】
要約システムであって、
要約される文書のK個のテキストブロックをそれぞれ受信し、
前記K個のテキストブロックに基づいてK個の第1表現をそれぞれ生成するように構成され、Kは2よりも大きい定数である、K個の埋め込みモジュールと、
前記K個の第1表現に基づいて第2表現を生成するように構成された第1伝播モジュールと、
前記第2表現に基づいて第3表現を生成するように構成された第2伝播モジュールと、
前記第3表現に基づいて前記K個のテキストブロックのうちからブロックを選択するように構成された出力モジュールと、
前記K個のテキストブロックのうちから選択されたブロックのテキストから前記文書の要約を生成するように構成された要約モジュールと
を含み、
前記第1および第2伝播モジュールそれぞれは、(a)局部的に前記K個のテキストブロック内で依存性を独立的に決定するように構成されたK個の変換器モジュールと、(b)前記K個の変換器モジュールの出力をプロセッシングして全域的に前記文書内で依存性を決定するように構成された双方向循環ニューラルネットワークモジュールと、(c)前記双方向循環ニューラルネットワークモジュールからの出力に基づいて、K個のフィードフォワード表現を生成するK個のFFNN(feed forward neural network)モジュールとを含む、
要約システム。
【請求項2】
前記要約される文書は、少なくとも1024個のトークンを含む、
請求項1に記載の要約システム。
【請求項3】
前記出力モジュールは、
前記第3表現に基づいて、前記K個のテキストブロックそれぞれを第1状態または第2状態に分類し、
前記分類に基づいて、前記K個のテキストブロックのうちからブロックを選択するように構成される、
請求項1に記載の要約システム。
【請求項4】
前記出力モジュールは、フィードフォワードニューラルネットワークモジュールおよび前記K個のテキストブロックそれぞれを分類するように構成されたソフトマックス(softmax)機能を含む、
請求項1に記載の要約システム。
【請求項5】
記第1伝播モジュールは、
変換器アーキテクチャを有し、前記K個の第1表現を受信し、前記K個の第1表現に基づいて第4表現を生成するように構成されたK個の変換器モジュールと、
前記変換器モジュールからの前記第4表現に関するK個の第1表現を受信し、前記第4表現に関する前記K個の第1表現に基づいてK個の第5表現を生成するように構成された循環ニューラルネットワークモジュールと、
前記K個の第5表現に基づいてK個の第6表現をそれぞれ生成するように構成されたK個のフィードフォワードニューラルネットワークモジュールと
を含み、
前記第2表現は、(a)前記第4表現に関する第2表現と、(b)前記K個の第6表現とを含む、
請求項1に記載の要約システム。
【請求項6】
前記循環ニューラルネットワークモジュールは、双方向ゲート循環ユニットモジュールである、
請求項5に記載の要約システム。
【請求項7】
前記第4表現は、(a)前記第4表現に関する前記K個の第1表現と、(b)前記第4表現に関する前記第2表現とからなるグループである、
請求項5に記載の要約システム。
【請求項8】
前記第2伝播モジュールは、
前記変換器アーキテクチャを有し、前記第2表現を受信し、前記第6表現に基づいて第7表現を生成するように構成されたK個の第2変換器モジュールと、
前記第2変換器モジュールからの前記第7表現に関するK個の第1表現を受信し、前記第7表現に関する前記K個の第1表現に基づいてK個の第8表現を生成するように構成された第2循環ニューラルネットワークモジュールと、
前記K個の第8表現に基づいてK個の第9表現をそれぞれ生成するように構成されたK個の第2フィードフォワードニューラルネットワークモジュールと
を含み、
前記第3表現は、(a)前記第7表現に関する第2表現と、(b)前記K個の第8表現とを含む、
請求項5に記載の要約システム。
【請求項9】
前記第4表現に関する前記K個の第1表現はそれぞれ、前記K個のテキストブロックのK個の分類表現(CLS)トークンである、
請求項5に記載の要約システム。
【請求項10】
前記K個の第1表現それぞれは、トークン埋め込み、セグメント埋め込み、およびポジションエンコードを含み、前記ポジションエンコードは、前記K個のテキストブロックのうちの1つのトークンのポジションを表現する、
請求項1に記載の要約システム。
【請求項11】
前記第3表現に基づいて第4表現を生成するように構成された第3伝播モジュールをさらに含み、
前記出力モジュールは、前記第4表現に基づいて前記K個のテキストブロックのうちからブロックを選択するように構成される、
請求項1に記載の要約システム。
【請求項12】
前記要約モジュールは、前記文書と関連してメモリに前記要約を格納するように構成される、
請求項1に記載の要約システム。
【請求項13】
前記要約モジュールは、ネットワークを介してコンピューティングデバイスに前記要約を送信するように構成される、
請求項1に記載の要約システム。
【請求項14】
前記K個のテキストブロックそれぞれは、前記文書からのテキストの少なくとも1つの文章を含む、
請求項1に記載の要約システム。
【請求項15】
クエリシステムであって、
入力としてクエリを受信し、前記クエリに基づいて探索結果を取得するように構成された探索モジュールと、
請求項1乃至14のいずれか一項に記載の要約システムと
を含み、
要約モジュールは、前記探索モジュールに対する前記探索結果の要約を生成するように構成され、
検索モジュールは、追加で、前記探索結果および前記要約モジュールによって生成された前記探索結果の要約を出力するように構成される、
クエリシステム。
【請求項16】
要約システムであって、
要約される文書のK個のテキストブロックをそれぞれ受信し、
前記K個のテキストブロックに基づいてK個の第1表現をそれぞれ生成するためのK個の手段であって、Kは2よりも大きい定数である、前記K個の手段と、
前記K個の第1表現に基づいて第2表現を生成するための手段と、
前記第2表現に基づいて第3表現を生成するための手段と、
前記第3表現に基づいて前記K個のテキストブロックのうちからブロックを選択するための手段と、
前記K個のテキストブロックのうちから選択されたブロックのテキストから前記文書の要約を生成するための手段と
を含み、
前記第2および第3表現を生成するための手段それぞれは、(a)局部的に前記K個のテキストブロック内で依存性を独立的に決定するように構成されたK個の変換器モジュールと、(b)前記K個の変換器モジュールの出力をプロセッシングして全域的に前記文書内で依存性を決定するように構成された双方向循環ニューラルネットワークモジュールと、(c)前記双方向循環ニューラルネットワークモジュールからの出力に基づいて、K個のフィードフォワード表現を生成するK個のFFNN(feed forward neural network)モジュールとを含む、
要約システム。
【請求項17】
要約方法であって、
プロセッサが、要約される文書のK個のテキストブロックをそれぞれ受信する段階と、
前記プロセッサが、前記K個のテキストブロックに基づいてK個の第1表現をそれぞれ生成する段階であって、Kは2よりも大きい定数である、生成する段階と、
前記プロセッサが、前記K個の第1表現に基づいて第2表現を生成する段階と、
前記プロセッサが、前記第2表現に基づいて第3表現を生成する段階と、
前記プロセッサが、前記第3表現に基づいて前記K個のテキストブロックのうちからブロックを選択する段階と、
前記プロセッサが、前記K個のテキストブロックのうちから選択されたブロックのテキストから前記文書の要約を生成する段階と
を含み、
前記第2および第3表現を生成する段階それぞれには、(a)局部的に前記K個のテキストブロック内で依存性を独立的に決定するように構成されたK個の変換器モジュールと、(b)前記K個の変換器モジュールの出力をプロセッシングして全域的に前記文書内で依存性を決定するように構成された双方向循環ニューラルネットワークモジュールと、(c)前記双方向循環ニューラルネットワークモジュールからの出力に基づいて、K個のフィードフォワード表現を生成するK個のFFNN(feed forward neural network)モジュールとが含まれる、
要約方法。
【請求項18】
前記K個のテキストブロックのうちからブロックを選択する段階は、
前記プロセッサが、前記第3表現に基づいて、前記K個のテキストブロックそれぞれを第1状態または第2状態に分類する段階と、
前記プロセッサが、前記分類に基づいて、前記K個のテキストブロックのうちからブロックを選択する段階と
を含む、請求項17に記載の要約方法。
【請求項19】
前記K個の第1表現それぞれは、トークン埋め込み、セグメント埋め込み、およびポジションエンコードを含み、前記ポジションエンコードは、前記K個のテキストブロックのうちの1つのトークンのポジションを表現する、
請求項17に記載の要約方法。
【請求項20】
前記プロセッサが、前記第3表現に基づいて第4表現を生成する段階をさらに含み、
前記K個のテキストブロックのうちからブロックを選択する段階は、前記プロセッサが、前記第4表現に基づいて前記K個のテキストブロックのうちからブロックを選択する段階を含む、
請求項17に記載の要約方法。
【請求項21】
前記K個のテキストブロックそれぞれは、前記文書からのテキストの少なくとも1つの文章を含む、
請求項17に記載の要約方法。
【請求項22】
方法であって、
プロセッサが、入力としてクエリを受信する段階と、
前記プロセッサが、前記クエリに基づいて探索結果を取得する段階と、
前記プロセッサが、前記探索結果の要約を生成するために、請求項17乃至21のいずれか一項に記載の要約方法を実行する段階と、
前記プロセッサが、前記探索結果および前記探索結果の要約を出力する段階と
を含む、方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報検索システムおよび方法に関し、より詳細には、入力テキストの長いシーケンスを要約するための変換器モデルを備えたニューラルネットワークシステムおよび方法に関する。
【背景技術】
【0002】
ここで提供する背景説明は、本開示の脈絡を一般的に提示することを目的とする。ここに記載した発明者の作業は、この背景技術はもちろん、出願時に従来技術として資格のない説明の様相で説明される範囲まで、明示上にも暗黙的にも本開示の先行技術として認定されない。
【0003】
コンピュータ、スマートフォン、または他のインターネット接続デバイスの使用が幾何学(指数関数的)的に増加している。ユーザは、多様な作業のためにインターネット接続デバイスを活用する。例えば、ユーザは、レストランのようなローカルビジネスを探索するためにインターネット接続デバイスを活用する。他の例として、ユーザは、行きたい位置に案内するための方向を得るためにインターネット接続デバイスを活用する。また他の例として、ユーザは、建物内の照明を付けたり、建物の加熱または冷却を調整したり、ガレージを開閉したりするような1つ以上の建物関連機能を実行するためにインターネット接続デバイスを活用する。さらに他の例として、ユーザは、トピックに関する情報を探索して注文するなどのためにインターネット接続デバイスを活用する。
【発明の概要】
【0004】
特徴として、要約システムは、要約される(要約対象の)文書のK個のテキストブロックをそれぞれ受信し、K個のテキストブロックに基づいてK個の第1表現をそれぞれ生成するように構成され、Kは2よりも大きい定数であるK個の埋め込みモジュールと、K個の第1表現に基づいて第2表現を生成するように構成された第1伝播モジュールと、第2表現に基づいて第3表現を生成するように構成された第2伝播モジュールと、第3表現に基づいてK個のブロックのうちからブロックを選択するように構成された出力モジュールと、K個のブロックのうちから選択されたブロックのテキストから文書の要約を生成するように構成された要約モジュールとを含む。
【0005】
追加の特徴として、要約される文書は、少なくとも1024個のトークンを含む。
【0006】
追加の特徴として、出力モジュールは、第3表現に基づいて、K個のブロックそれぞれを第1状態または第2状態に分類し、分類に基づいてK個のブロックのうちからブロックを選択するように構成される。
【0007】
追加の特徴として、出力モジュールは、フィードフォワードニューラルネットワークモジュールおよびK個のブロックそれぞれを分類するように構成されたソフトマックス(softmax)機能を含む。
【0008】
追加の特徴として、第1伝播モジュールは、変換器アーキテクチャを有し、K個の第1表現を受信し、K個の第1表現に基づいて第4表現を生成するように構成されたK個の変換器モジュールと、第4表現のうちのK個の第1表現を受信し、第4表現のうちのK個の第1表現に基づいてK個の第5表現を生成するように構成された循環ニューラルネットワークモジュールと、K個の第5表現に基づいてK個の第6表現をそれぞれ生成するように構成されたK個のフィードフォワードニューラルネットワークモジュールとを含み、第2表現は、(a)第4表現のうちの第2表現と、(b)K個の第6表現とを含む。
【0009】
追加の特徴として、循環ニューラルネットワークモジュールは、双方向ゲート循環ユニットモジュールである。
【0010】
追加の特徴として、第4表現は、(a)第4表現のうちのK個の第1表現と、(b)第4表現のうちの第2表現とからなるグループである。
【0011】
追加の特徴として、第2伝播モジュールは、変換器アーキテクチャを有し、第2表現を受信し、第6表現に基づいて第7表現を生成するように構成されたK個の第2変換器モジュールと、第7表現のうちのK個の第1表現を受信し、第7表現のうちのK個の第1表現に基づいてK個の第8表現を生成するように構成された第2循環ニューラルネットワークモジュールと、K個の第8表現に基づいてK個の第9表現をそれぞれ生成するように構成されたK個の第2フィードフォワードニューラルネットワークモジュールとを含み、第3表現は、(a)第7表現のうちの第2表現と、(b)K個の第8表現とを含む。
【0012】
追加の特徴として、第4表現のうちのK個の第1表現はそれぞれ、K個のブロックのK個の分類表現(CLS)トークンである。
【0013】
追加の特徴として、K個の第1表現それぞれは、トークン埋め込み、セグメント埋め込み、およびポジションエンコードを含み、ポジションエンコードは、K個のブロックのうちの1つのトークンのポジションを表現する。
【0014】
追加の特徴として、第3伝播モジュールは、第3表現に基づいて第4表現を生成するように構成され、出力モジュールは、第4表現に基づいてK個のブロックのうちからブロックを選択するように構成される。
【0015】
追加の特徴として、要約モジュールは、文書と関連させてメモリに要約を格納するように構成される。
【0016】
追加の特徴として、要約モジュールは、ネットワークを介してコンピューティングデバイスに要約を送信するように構成される。
【0017】
追加の特徴として、K個のブロックそれぞれは、文書からのテキストの少なくとも1つの文章を含む。
【0018】
追加の特徴として、第1および第2伝播モジュールそれぞれは、(a)局部的にK個のテキストブロック内で依存性を独立的に決定するように構成されたK個の変換器モジュールと、(b)K個の変換器モジュールの出力をプロセッシングして全域的に文書内で依存性を決定するように構成された双方向循環ニューラルネットワークモジュールとを含む。
【0019】
追加の特徴として、クエリシステムは、入力としてクエリを受信し、クエリに基づいて探索結果を取得するように構成された探索モジュールと、要約システムとを含み、要約モジュールは、探索モジュールに対する探索結果の要約を生成するように構成され、検索モジュールは、追加で、探索結果および要約モジュールによって生成された探索結果の要約を出力するように構成される。
【0020】
特徴として、要約システムは、要約される文書のK個のテキストブロックをそれぞれ受信し、K個のテキストブロックに基づいてK個の第1表現をそれぞれ生成し、Kは2よりも大きい定数であるK個の手段と、K個の第1表現に基づいて第2表現を生成するための手段と、第2表現に基づいて第3表現を生成するための手段と、第3表現に基づいてK個のブロックのうちからブロックを選択するための手段と、K個のブロックのうちから選択されたブロックのテキストから文書の要約を生成するための手段とを含む。
【0021】
特徴として、要約方法は、要約される文書のK個のテキストブロックをそれぞれ受信し、K個のテキストブロックに基づいてK個の第1表現をそれぞれ生成し、Kは2よりも大きい定数である段階と、K個の第1表現に基づいて第2表現を生成する段階と、第2表現に基づいて第3表現を生成する段階と、第3表現に基づいてK個のブロックのうちからブロックを選択する段階と、K個のブロックのうちから選択されたブロックのテキストから文書の要約を生成する段階とを含む。
【0022】
追加の特徴として、K個のブロックのうちからブロックを選択する段階は、第3表現に基づいて、K個のブロックそれぞれを第1状態または第2状態に分類する段階と、分類に基づいてK個のブロックのうちからブロックを選択する段階を含む。
【0023】
追加の特徴として、K個の第1表現それぞれは、トークン埋め込み、セグメント埋め込み、およびポジションエンコードを含み、ポジションエンコードは、K個のブロックのうちの1つのトークンのポジションを表現する。
【0024】
追加の特徴として、要約方法は、第3表現に基づいて第4表現を生成する段階をさらに含み、K個のブロックのうちからブロックを選択する段階は、第4表現に基づいてK個のブロックのうちからブロックを選択する段階を含む。
【0025】
追加の特徴として、K個のブロックそれぞれは、文書からのテキストの少なくとも1つの文章を含む。
【0026】
追加の特徴として、方法は、入力としてクエリを受信する段階と、クエリに基づいて探索結果を取得する段階と、探索結果の要約を生成するために要約方法を実行する段階と、探索結果および探索結果の要約を出力する段階とを含む。
【0027】
本開示の追加の適用可能な領域は、詳細な説明、特許請求の範囲、および図面によって明らかになるであろう。詳細な説明および特定の実施例は、本発明を例示することだけを目的とし、本開示の範囲を制限しようとする意図はない。
【図面の簡単な説明】
【0028】
本開示は、詳細な説明と添付の図面によってより完全に理解できるであろう。
図1】クエリに応答して探索結果を提供するように構成された探索システムを含む環境の一例を示したブロック図である。
図2】探索システムの探索モジュールの一例を示したブロック図である。
図3】クエリを受信し、クエリに対する応答を提供する方法の一例を示したフローチャートである。
図4】要約モジュールの一例を示したブロック図である。
図5】要約モジュールの一例を示したブロック図である。
図6】長い文書の要約を生成する方法の一例を示したフローチャートである。
図7】変換器モジュールの一例を示したブロック図である。
図8】マルチヘッドアテンションモジュールの一例を示したブロック図である。
図9】マルチヘッドアテンションモジュールのスケーリングされたドット積(dot-product)アテンションモジュールの一例を示したブロック図である。
図10】要約モジュールまたは他の方式で生成された要約の一例を示した図である。
図11】要約モジュールまたは他の方式で生成された要約の一例を示した図である。
図12】要約モジュールまたは他の方式で生成された要約の一例を示した図である。 図面において、参照番号は、類似および/または同一の要素を識別するために再使用されることがある。
【発明を実施するための形態】
【0029】
ダウンストリーム作業に対する大型ニューラルネットワーク言語モデルの微細なチューニングが、自然言語プロセッシングで使用される。しかし、ニューラルネットワーク変換器基盤のアーキテクチャを使用する自然言語プロセッシングは、長い文書(入力テキストの長いシーケンス)を作業するときに制限をきたすことがある。
【0030】
本明細書で使用される変換器アーキテクチャは、I.Guyon,U.V.Luxburg,S.Bengio,H.Wallach,R.Fergus,S.Vishwanathan、およびR.Garnett,editors,Advances in Neural Information Processing Systems30,pages5998-6008,CurranAssociates,Inc.,2017において、Ashish Vaswani、Noam Shazeer、Niki Parmar、Jakob Uszkoreit、Llion Jones、Aidan N Gomez、Lukasz Kaiser、およびIllia Polosukhinの「Attention is all you need」で説明され、この全体が本明細書に統合される。変換器アーキテクチャに関する追加情報については、以下で提供する。
【0031】
より一般的に説明すると、変換器アーキテクチャのアテンションメカニズムは、人間がイメージの特定の部分に直観的に焦点を合わせて何が重要であるかを認知する方式と同じように、ニューラルネットワークで関連信号の増幅を可能にする。セルフアテンション(self-attention)メカニズムは、シーケンスの異なるポジションと関連するアテンションメカニズムである(例えば、文章で単語の相関を決定する)。変換器は、埋め込み行列をともに定義する現在の値に、キーのセットに対するクエリをマッピングするセルフアテンションメカニズムを実現するための1つの方法である。
【0032】
変換器セルフアテンションメモリは、入力トークンの数に応じて2次的に増加するため、ある時点で特定のスケールを超過する文書シーケンスをコンピューティングすることが計算的に不可能となることがある。
【0033】
このような制限を克服するための1つのソリューションは、さらに長いシーケンスを使用してニューラルネットワークモデルを事前トレーニングすることを含む。しかし、このようなソリューションには莫大な計算電力消費が伴い、時間も長くかかる。
【0034】
制限を克服するためのソリューションを提示する本出願は、要約モジュールが多数の変換器ウィンドウの間に情報を拡散させる階層的伝播モジュールを含む。階層的接近法は、長い文書を多数のブロックに分割し、変換器層のスケーリングされたドットアテンションを使用してブロックを独立的にプロセッシングし、連続的な階層の結果を組み合わせることを含む。
【0035】
図1は、探索結果として、クエリに応答するように構成された探索システム102を含む機能ブロック図を含む。探索システム102は、ネットワーク106を介して1つ以上のコンピューティングデバイス(複数可)104からクエリを受信するように構成される。探索システム102は、クエリに対する1つ以上の探索結果を識別するために、クエリに基づいて探索をそれぞれ実行する。また、探索システム102は、探索結果に関する要約をそれぞれ提供するように構成される。探索システム102は、探索結果および要約を、それぞれのクエリを送信したコンピューティングデバイス104に再送する。例えば、要約は、製品のレビューの要約または他の長い文書(例えば、会話、チャットセッションなど)の要約であってよい。
【0036】
情報検索の例について提供したが、本明細書で説明する長い文書の要約に関する概念は、他の環境にも適用が可能である。例えば、本出願は、命名されたエンティティーの認知、トピックの分類、シーケンスのタギング(tagging)、および長い文書の要約が役立つような他の環境にも適用可能である。
【0037】
コンピューティングデバイス104は、探索結果および要約をユーザに出力(例えば、ディスプレイ)してよい。また、コンピューティングデバイス104は、ユーザに他の情報をディスプレイしてよい。例えば、コンピューティングデバイス104は、探索結果と関連する追加の情報、探索結果と関連する広告、および/または他の情報をディスプレイしてよい。多様な実施形態において、コンピューティングデバイス104は、1つ以上のスピーカから探索結果および他の情報を可聴的に出力してよい。探索システム102およびコンピューティングデバイス104は、ネットワーク106を介して通信する。
【0038】
図1には、複数の相異する類型のコンピューティングデバイス104の例が示されている。コンピューティングデバイス104は、探索クエリを生成し、ネットワーク106を介して探索システム102に送信するように構成される任意の類型のコンピューティングデバイスを含む。コンピューティングデバイス104の例は、図1に示すように、スマート(セルラ)フォン、タブレット、ラップトップコンピュータ、およびデスクトップコンピュータを含むが、これに制限されてはならない。また、コンピューティングデバイス104は、他のフォームファクタを備える他のコンピューティングデバイス、例えば、車両に備えられたコンピューティングデバイス、ゲームデバイス、テレビジョン、コンソール(例えば、ディスプレイのないスマートスピーカ、Amazon Echo、Google Home、Clova Friends mini)、または他の機器(例えば、ネットワーキングされた冷蔵庫、ネットワーキングされたサーモスタットなど)を含んでよい。多様な実施形態において、探索システム102は、ナビゲーションロボットまたは車両のようなデバイス内で実現されてよい。
【0039】
コンピューティングデバイス104は、多様なオペレーティンシステムを使用してよい。コンピューティングデバイス104がモバイルデバイスである例において、コンピューティングデバイス104は、Android、Apple Inc.が開発したiOS、またはMicrosoft Corporationが開発したWindows Phoneを含むが、これに制限されないオペレーティングシステムを実行してよい。コンピューティングデバイス104がラップトップまたはデスクトップデバイスである例において、コンピュータデバイス104は、Microsoft Windows、MacOS、またはLinuxを含むが、これに制限されないオペレーティングシステムを実行してよい。また、コンピューティングデバイス104は、現在利用可能なものであっても未来に開発されるものであっても、上述したこのようなオペレーティングシステムがこの他のオペレーティングシステムを実行しながら探索システム102にアクセスしてよい。
【0040】
一部の例において、コンピューティングデバイス104は、コンピューティングデバイス104上にインストールされたアプリケーションを使用して探索システム102と通信してよい。一般的に、コンピューティングデバイス104は、探索システム102によって(探索結果とともに)応答するように探索システム102にクエリを送信するためのアプリケーションを使用して探索システム102と通信してよい。一部の例において、コンピューティングデバイス104は、探索システム102とのインタフェーシング専用のアプリケーションを実行してよい。一部の例において、コンピューティングデバイス104は、ウェブブラウザアプリケーションのようなより一般的なアプリケーションを使用して探索システム102と通信してよい。探索システム102と通信するためにコンピューティングデバイス104によって実行されるアプリケーションは、ユーザが探索クエリを入力するためのグラフィックユーザインタフェース(GUI)上に探索フィールドをディスプレイしてよい。ユーザは、例えば、タッチスクリーンまたは物理的なキーボード、スピーチテキストプログラム、または他の形態のユーザ入力を使用してテキストフィールドにテキストを追加することによって探索クエリを入力してよい。ユーザは、例えば、コンピューティングデバイス104のメモリに格納されたイメージをアップロードすることによって探索クエリを入力してよい。
【0041】
コンピューティングデバイス104上のGUIに入力されたテキストクエリは、単語、数字、文字、句読点、および/またはシンボルを含んでよい。一般的に、クエリは、探索システム102からの情報識別および検索のための要請であってよい。
【0042】
コンピューティングデバイス104は、探索システム102に送信された探索クエリに応答する探索結果を探索システム102から受信してよい。多様な実施形態において、探索システム102は、探索クエリに応答する多数の探索結果を送信してよく、コンピューティングデバイス104は、これを受信してよい。多数の探索結果を提供する探索システム102の例において、探索システム102は、探索結果それぞれに対する信頼度値(探索結果が探索クエリに最も関連のある探索結果である可能性を表示する)を決定し、探索結果とともに信頼度値をコンピューティングデバイス104に提供してよい。コンピューティングデバイス104は、多数の探索結果(例えば、予め決定された値よりも高い信頼度値を有するすべての探索結果)のうちの1つ以上、最も高い信頼度値を有する探索結果、k個の最も高い信頼度値を有する探索結果(ここで、kは1よりも大きい定数)などをディスプレイしてよい。
【0043】
コンピューティングデバイス104は、探索システム102から受信した探索結果(複数可)をディスプレイするGUIを含むアプリケーションを実行(実施)してよい。また、それぞれの信頼度値(複数可)がディスプレイされてもよい。例えば、探索クエリを探索システム102に送信するために使用されるアプリケーションも、受信された探索結果(複数可)を、コンピューティングデバイス104を通じてユーザに提示(例えば、ディスプレイまたは発言)してよい。上述したように、受信した探索結果(複数可)をユーザに提示するアプリケーションは、実施形態によっては、探索システム102とのインタフェーシングに適用されてよい。他の例において、アプリケーションは、ウェブブラウザアプリケーションのようなより一般的なアプリケーションであってよい。
【0044】
コンピューティングデバイス104上で実行されるアプリケーションのGUIは、どのような情報がコンピューティングデバイス104に送信されるかによって、探索結果(複数可)を多様に異なる方式でユーザにディスプレイまたは出力してよい。探索結果が探索結果および関連する信頼度値のリストを含む例において、探索システム102は、探索結果およびそれぞれの信頼度値のリストをコンピューティングデバイス104に送信してよい。このような例において、GUIは、探索結果(複数可)および信頼度値(複数可)を可能な探索結果のリストとしてユーザにディスプレイまたは出力してよい。また、GUIは、探索結果に対する要約をユーザに出力してよい。
【0045】
一部の例において、探索システム102または他のコンピューティングシステムは、探索結果、探索クエリ、または探索結果と関連する関心ポイントなどと関連するアプリケーションおよび/または他の情報のような、ただしこれに制限されない追加情報をコンピューティングデバイス104に送信してよい。一部の例において、このような追加情報はデータ格納所に格納され、探索システム102によってコンピューティングデバイス104に送信されてよい。コンピューティングデバイス104が追加情報を受信する例において、GUIは、探索結果(複数可)とともに追加情報をディスプレイしてよい。一部の例において、GUIは、降べきの順の信頼度値に基づいて、スクリーンの最上部からスクリーンの最下部に整列されたリストで探索結果をディスプレイしてよい。一部の例において、探索結果は、ユーザが探索クエリを入力した探索フィールドの下にディスプレイされてよい。
【0046】
一部の例において、コンピューティングデバイス104は、パートナーコンピューティングシステムを介して探索システム102と通信してよい。パートナーコンピューティングシステムは、探索システム102の探索機能をレバレッジすることのできる第三者のコンピューティングシステムを含んでよい。パートナーコンピューティングシステムは、探索システム102を動作させる会社または組織以外の会社または組織に属してよい。探索システム102の機能を活用することのできる例示的な第三者としてはインターネット探索提供者および無線通信サービス提供者を含むが、これに制限されてはならない。コンピューティングデバイス104は、パートナーコンピューティングシステムを介して探索システム102に探索クエリを送信してよい。また、コンピューティングデバイス104は、パートナーコンピューティングシステムを介して探索システム102から探索結果を受信してよい。一部の例において、パートナーコンピューティングシステムは、コンピューティングデバイス104にユーザインタフェースを提供し、および/またはコンピューティングデバイス104上に提供されるユーザ経験を修正してよい。
【0047】
探索システム102がクエリに対する探索結果を決定する探索結果に関するデータは、1つ以上のデータソース120に格納されてよい。データソース120は、多様なデータ提供者を含んでよい。データソース120は、オンラインニュースソース、ウェブサイト、ソーシャルネットワーキングサイト(例えば、Facebook、Twitterなど)、データベース、および/または他の類型のデータソースのような、ただしこれに制限されないデジタル分配プラットフォームを含んでよい。
【0048】
データソース120は、例えば、複数のイメージおよび関連するキャプションをそれぞれ含んでよい。すなわち、それぞれのイメージは、関連するキャプションを含む。イメージおよびキャプションは、データソース120のうちの1つ以上のメモリに格納される。イメージおよびキャプションを含むデータソース120の例が提供されるが、データソース120は、他のデータおよび/または他の類型のデータを含んでよい。
【0049】
コンピューティングデバイス104、探索システム102、およびデータソース120は、ネットワーク106を介して互いに通信してよい。ネットワーク106は、広域ネットワーク(WAN)および/またはインターネットのような多様な類型のネットワークを含んでよい。ネットワーク106は長距離ネットワーク(例えば、インターネットまたはWAN)を表現するものであってよいが、一実施形態において、ネットワーク106は、ローカル領域ネットワーク(LAN)のような狭い範囲のネットワークを含んでもよい。一実施形態において、ネットワーク106は、標準通信技術および/またはプロトコルを使用する。したがって、ネットワーク106は、イーサーネット、Wi-Fi(Wireless Fidelity)(例えば、802.11)、WiMAX(worldwide interoperability for microwave access)、3G、4G、5G、LTE(Long Term Evolution)、デジタル加入者線(DSL)、非同期転送モード(ATM)、InfiniBand、PCIエクスプレスアドバンスドスイッチング(Express Advanced Switching)などのような技術を使用するリンクを含んでよい。同じように、ネットワーク106上で使用されるネットワーキングプロトコルは、MPLS(multiprotocol label switching)、TCP/IP(transmission control protocol/Internet protocol)、UDP(User Datagram Protocol)、HTTP(hypertext transport protocol)、SMTP(simple mail transfer protocol)、FTP(file transfer protocol)などを含んでよい。ネットワーク106を介して交換されるデータは、HTML(hypertext markup language)、XML(extensible markup language)などを含む技術および/またはフォーマットを使用して表現されてよい。また、リンクのすべてまたは一部は、SSL(secure sockets layer)、TLS(transport layer security)、VPN(virtual private network)、IPsec(Internet Protocol security)などのような従来の暗号化技術によって暗号化されてよい。他の例において、ネットワーク106は、上述したものの代りに、またはこれに追加して、カスタムおよび/または専用データ通信技術を使用してよい。
【0050】
本出願は、(例えば、少なくとも1024個のトークンを有する)長い文書の要約を生成する要約モジュールに関する。要約モジュールは、文書レベル表現をコンピューティングするために使用されるローカルテキストブロックをエンコードするために変換器モジュールを使用する階層構造を含む。また、循環的階層的モジュールは、階層的構造/モジュールの最上部だけでなく、相異する変換器モジュールの間に含まれる。要約モジュールが階層の間で文書レベル情報を構成して伝播するため、文書のグローバルおよびローカル情報は、アーキテクチャの多数の(例えば、すべての)レベルで融合される。
【0051】
図2は、探索システム102の探索モジュール200の一例を示したブロック図である。第1トランシーバモジュール204は、コンピューティングデバイス104から探索クエリを受信する。
【0052】
エンコーダモジュール208は、埋め込み機能を使用して、探索クエリをエンコード/埋め込む。また、エンコーダモジュール208は、埋め込み機能を使用して、データソース120からの候補探索結果をエンコード/埋め込む。エンコーダモジュール208は、埋め込み/エンコードを実行するニューラルネットワーク、例えば、CNN(convolutional neural network)または他の適した類型のニューラルネットワークを含んでよい。一例として、ニューラルネットワークは、ResNet-18ニューラルネットワークまたは他の適した類型のニューラルネットワークであってよい。
【0053】
結果モジュール212は、探索クエリと最も近接にマッチングするデータソース120からの最上位k個の探索結果を決定するが、ここで、kは0よりも大きい定数である。探索結果は、例えば、製品、関心ポイント、レストラン、ビジネスなどであってよい。多様な実施形態において、データソース120は、探索モジュール200内または探索モジュール200と同じデバイス内に格納されてよい。
【0054】
第2トランシーバモジュール216は、探索クエリに対する決定された探索結果を、ネットワーク106を介してコンピューティングデバイス104に再送する。多様な実施形態において、第2トランシーバモジュール216は省略されてよく、第1トランシーバモジュール204は、探索クエリを送信したコンピューティングデバイス104に探索結果を再送してよい。
【0055】
(例えば、探索システム102の)要約モジュール220は、探索結果と関連する長い文書の要約をそれぞれ生成する。例えば、要約モジュール220は、それぞれ格納されて探索結果と関連するテキストレビューの要約を生成してよい。1つの探索結果に対して多数の(例えば、多くの)テキストレビューが存在する例において、多数のテキストレビューは、1つの長いレビューとして組み合わされ、要約モジュール220によって要約されてよい。また、探索結果に関する要約は、探索結果とともに、クエリを送信したコンピューティングデバイス104に送信されてよい。要約は、例えば、ディスプレイ上にディスプレイされ、および/または1つ以上のスピーカから出力されるコンピューティングデバイス104を介してユーザに出力されてよい。
【0056】
要約モジュール220は、図に示すように、探索モジュール200とは別に実現されてもよく、探索モジュール200内に実現されてもよい。探索モジュール200は、クエリの受信に応答して、k個の探索結果に対する要約を決定するかまたは可能な探索結果に対する要約を連続的に決定し、文書(例えば、レビュー)が追加/格納されるときに要約をアップデートしてよい。
【0057】
多様な実現形態において、要約モジュール220は、入力された長い文書の要約を提供するために使用されてよい。例えば、コンピューティングデバイスは、要約のために、ネットワークを介して要約モジュール220に長い文書(例えば、テキストまたは文書ファイル)を送信してよい。要約モジュール220は、長い文書の要約を決定し、長い文書を送信したコンピューティングデバイスに文書の要約を送信してよい。多様な実現形態において、スピーチが入力されてよく、長い文書は、スピーチからスピーチテキスト変換によって取得されてよい。
【0058】
図3は、探索クエリを受信して探索結果を提供する方法の一例を示したフローチャートである。図3の例は、探索モジュール200および要約モジュール220によって実行されてよい。
【0059】
例えば、制御は、探索モジュール200がコンピューティングデバイス104から探索クエリを受信する段階304から始まる。探索クエリは、例えば、テキスト、イメージ、またはサウンドであってよい。
【0060】
段階308で、探索モジュール200は、埋め込み機能314を利用して探索クエリをエンコードする。段階312で、探索モジュール200は、探索クエリに最も近接にマッチングするk個の探索結果を決定する。
【0061】
段階314で、要約モジュール300は、k個の探索結果に対する要約をそれぞれ決定する。段階316で、探索モジュール300は、探索クエリを送信したコンピューティングデバイス104に、探索結果および要約をそれぞれ送信する。探索結果は、例えば、k個のイメージ、k個のリンク(例えば、ハイパーリンク)、要約、および/または他の適切な情報を含んでよい。
【0062】
図4および図5は、要約モジュール220の一例を示したブロック図である。1つの長い文書404の一例が図4に示さているが、本出願は他の長い文書にも適用が可能である。長い文書は、少なくとも1024個のトークンを含んでよい。トークンは、長い文書404をより小さなユニット(すなわち、トークン)の語彙に分割する字句解析(tokenizer)を利用して長い文書404から識別されてよい。このようなユニットは、単語または単語の短い部分であってよく、これから他の単語が構成されてよい。
【0063】
ブロックモジュール408は、長い文書404をK個のブロックに分割するが、ここで、Kは2よりも大きい定数である。ブロックはそれぞれ、長い文書404の文章、段落、または他のセクションであってよい。ブロックは、等しい大きさ(例えば、等しい数の文章、段落など)または相異する大きさであってよい。
【0064】
DをK個のブロックを含む文書とするが(D={B,B,...,B})、ここで、それぞれのブロックB=,1<=k<=Kはn個のトークンを含む。ブロックモジュール408は、予め決定されたトークン、言い換えれば、分類(CLS)トークンをそれぞれのブロックの前面に追加してSEPトークンをそれぞれのブロックの終端に追加し、
【0065】
【数1】
とするが、ここで、xk,iは、ブロックkのワードピース(WordPiece)トークンIのインデックスである。ワードピースサブワードセグメント化アルゴリズムも、他の適切なサーブワードセグメント化アルゴリズムがトークン化のために使用されてよい。(n+1に対する)インデックス0は、それぞれのブロックの[CLS]の表現(それぞれ[SEP])を指称するために使用されてよい。ブロックモジュール408も、テキストブロックをトークン化してよい。
【0066】
K個の埋め込みモジュール412-1、412-2、412-K(「埋め込みモジュール412」)はそれぞれ、K個のブロックそれぞれのトークンを埋め込む。埋め込みモジュール412は、それぞれのブロックのそれぞれのトークンをそのトークンの稠密な表現で投影する。それぞれの埋め込みトークン表現(例えば、ベクトルまたは行列)は、トークン埋め込み、セグメント埋め込み、および自身のブロックのトークンのポジションを表現するポジションエンコードを含んでよい。ブロックkの埋め込みは、
【0067】
【数2】
で表示されてよい。
【0068】
埋め込みトークン表現は、変換器アーキテクチャを有する変換器モジュール416-1、416-2、416-K(変換器モジュール416)に入力される。
【0069】
変換器モジュール416は、それぞれのブロックの埋め込みトークン表現にそれぞれ基づいて変換されたトークン表現(例えば、ベクトルまたは行列)を生成する。ブロックのCLSトークン(変換されたCLS表現)の変換されたトークン表現は、BiGRU(bidirectional gate recurrent unit)モジュール420、または他の適切な類型のRNN(recurrent bidirectional neural network)、例えば、BiLSTM(bidirectional long short-term memory)モデルに入力される。互いに異なるブロックの互いに異なるトークンの変換されたCLS表現および変換されたトークン表現は、BiGRUモジュール420を迂回して出力される。
【0070】
BiGRUモジュール420は、変換されたCLS表現に集合的に基づいてK個のブロックに対するK個の伝播された表現(例えば、ベクトルまたは行列)をそれぞれ生成する。BiGRUモジュール420は、ブロックそれぞれからのローカル情報を他のブロックそれぞれに伝播し、伝播された表現を生成してブロックにわたってグローバル情報を拡散させる。例えば、BiGRUモジュール420は、第1ブロックの変換されたCLS表現および他のK個のブロックのうちの1つ以上の変換されたCLS表現に基づいて、第1ブロックに対する伝播された表現(K=1)を生成してよい。
【0071】
K個のFFNN(feed forward neural network)モジュール424-1、424-2、・・・、424-K(FFNNモジュール412)は、伝播された表現にそれぞれ基づいてフィードフォワード表現(例えば、ベクトルまたは行列)を生成する。
【0072】
要約モジュール220は、L個の(階層的)伝播モジュール428を含むが、ここで、Lは1よりも大きいか等しい定数である。L個の伝播モジュール428は同一であってよく、それぞれ変換器モジュール416、BiGRUモジュール420、およびFFNNモジュール424を含む。伝播モジュール428のうちの最後の(L番目の)伝播モジュールの変換器モジュール416およびFFNNモジュール424によって出力された表現は、出力モジュール432に出力される。第1~L-1番目の伝播モジュール428の変換器モジュール416およびFFNNモジュール424によって出力された表現は、伝播モジュール428のうちの次の伝播モジュールに出力される。例えば、伝播モジュール428の第1伝播モジュールの変換器モジュール416およびFFNNモジュール424によって出力された表現は、伝播モジュール428のうちの第2伝播モジュールに出力される方式である。L個の伝播モジュール428はそれぞれ、ブロックまたは他のブロックのうちの1つ以上のCLS表現に基づいてそれぞれのブロックのCLS表現をアップデートする。L個の伝播モジュール428は、ブロックごとに異なる表現(例えば、トークン、SEP)をそれぞれプロセッシングする。
【0073】
伝播モジュール
【0074】
【数3】
のうちの任意の伝播モジュールに対し、
【0075】
【数4】
【0076】
【数5】
番目の伝播モジュール以後のブロックkの表現であるとし、第1層に対する表現は、埋め込み層の出力によって初期化される:
【0077】
【数6】
。事前トレーニングされた変換器モジュール416は、ローカルトークン認識表現
【0078】
【数7】
をコンピューティングするための長い文書404のそれぞれのブロックに対して変換機機能
【0079】
【数8】
を個別に適用する:
【0080】
【数9】
伝播モジュール
【0081】
【数10】
のうちの1つのBiGRUモジュール420は、長い文書のすべてのブロックにわたって情報を伝播し、
【0082】
【数11】
で表示されたその
【0083】
【数12】
で長い文書404に対するグローバルブロック認識表現を生成する。これは、L個の伝播モジュール428のそれぞれのBiGRUモジュール420に対して実行される。これを実行するために、それぞれのBiGRUモジュール420は、その
【0084】
【数13】
のそれぞれの変換器モジュール416から相異するブロックの表現ベクトルを受信する。FFNNモジュール424は、変換器モジュール416の隠れ次元を格納するために使用されてよい。
【0085】
それぞれのブロックkはその[CLS]ベクトルによって表現され、ベクトルは、ブロックのローカル表現の第1ポジションで
【0086】
【数14】
として表現される。表現は変換器モジュール416によって連接(連結)され、BiGRUモジュール420に対する入力を形成する。グローバルブロック認識表現は、FFNNをBiGRUのK個の出力に適用することにより、FFNNモジュール424によってコンピューティングされる:
【0087】
【数15】
ここで、BiGRUは、BiGRUモジュール420のk番目の出力を表示し、;は、連接(連結)演算である。
【0088】
この時点で、与えられた文書に対し、ローカルブロック表現
【0089】
【数16】
およびグローバル表現
【0090】
【数17】
がコンピューティングされた。これらが組み合わされて
【0091】
【数18】
の出力表現を構築する:
【0092】
【数19】
【0093】
【数20】
は、[CLS]ベクトル表現が他のブロックから伝播された文書レベル情報によって強化されるブロックkの表現である。
【0094】
【数21】
は、伝播モジュール/階層428のうちの次の伝播モジュール/階層に対する入力である。
【0095】
出力モジュール432は、L個の伝播モジュール/階層428のうちの最後の伝播モジュール/階層(L番目の)の出力を受信する。出力モジュール432は、文章(または、ブロック)のうちのいずれかが要約に対する最も関連のある情報を含むか否かを決定する。例えば、出力モジュール432は、二陣分類を実行し、(a)要約と関連があるもの、または(b)要約と関連がないものとしてそれぞれのブロックをラベリングしてよい。例えば、出力モジュール432は、FFNN(feed forward neural network)または他の適切な類型の循環ニューラルネットワークを適用し、伝播モジュール/階層428のうちの最後の伝播モジュール/階層のブロックレベル表現の最上部上でFFNNの出力に対してソフトマックス機能を適用して
【0096】
【数22】
を生成してよい。
【0097】
【数23】
ブロックの間で情報を伝播するために循環ニューラルネットワークを使用することは、要約モジュール220がスケーリングされないアテンションメカニズムを使用せずに、ブロックの長いシーケンスによってスケーリングすることを可能にする。また、循環ニューラルネットワークを使用することは、ブロック表現に対して任意のポジションエンコードが使用されることを要求しない。
【0098】
要約モジュール436は、出力モジュール432によって識別された文章またはブロックを関連があるものとして受信し、文章またはブロックを連接させて長い文書404に対する要約を生成する。要約モジュール436は、長い文書404と関連付けてメモリに要約を格納し、ネットワークを介してコンピューティングデバイスに要約を送信し、および/または1つ以上の他のアクションをとってよい。図4および図5において、図4に示した出力モジュール432および要約モジュール436は、出力層438として図5にともに示した。
【0099】
好ましくは、図5に示すように、階層的接近法は、変換器アテンションメカニズムの潜在的範囲を制限しない。それぞれの伝播層428において、モデルは、長い文書のK個のブロックに対して独立的な変換器層416を適用し、独立的な変換器層416をBiGRU層420とインターリビングして変換器層416の間にコンテキストを提供するが、これは、ブロック内の依存性がそれぞれのローカルアテンション階層416によって独立的に決定された直後に、モデルがブロック同士の間の依存性(すなわち、全体としてK個のブロック)をキャプチャすることを可能にする。
【0100】
図6は、長い文書の要約を生成する一例を示したフローチャートである。制御は段階604から始まるが、ここで、要約モジュール220は、要約される(要約対象の)長い文書を受信する。
【0101】
段階608で、ブロックモジュール408は、長い文書をK個のテキストブロックのようなテキストブロックに分割する。CLSおよびSEPトークンも追加される。段階612で、埋め込みモジュール412は、テキストブロックをそれぞれ埋め込む。段階616で、埋め込みモジュール412からの埋め込みは、第1伝播モジュール428に入力される。第1伝播モジュール428は、上述したような入力埋め込みに基づいて、上述したようにグローバルおよびブロック特定表現を決定する。
【0102】
段階620で、第2伝播モジュール428は、第1伝播モジュール428からグローバルおよびブロック特定表現を受信し、第1伝播モジュール428の出力に基づいて第2グローバルおよびブロック特定表現を決定する。段階624で、第3伝播モジュール428は、第2伝播モジュール428からグローバルおよびブロック特定表現を受信し、第2伝播モジュール428の出力に基づいて第3グローバルおよびブロック特定表現を決定する。段階628で、最後の(L番目)伝播モジュール428は、L-1番目の伝播モジュール428からグローバルおよびブロック特定表現を受信し、L-1番目の伝播モジュール428の出力に基づいてL番目のグローバルおよびブロック特定表現を決定する。
【0103】
段階632で、出力モジュール432は、上述したように長い文書の要約と最も関連のある長い文書の文章またはブロック(例えば、最上位m個の文章またはブロック)を決定する。段階636で、要約モジュール436は、テキストの文章またはブロックを連結(例えば、連接)して長い文書の要約を形成する。要約モジュール220は、文書に対する要約を格納し、コンピューティングデバイスに要約を送信し、および/または1つ以上のアクションを実行してよい。図には制御が終了するものと示しているが、制御は段階604にリターンしてよい。また、少なくとも4つの伝播モジュール/階層の例を図6に示したが、本出願は、2つ以上の伝播モジュール/階層にも適用可能である。
【0104】
図7は、変換器モジュール416の一例を示したブロック図である。変換器モジュール416は、並列にコンピューティングされるh個の「ヘッド」を含むマルチヘッドアテンション層またはモジュールを含む。ヘッドそれぞれは、(1)キーK、(2)クエリQ、および(3)値Vと呼ばれる3つの線形投影を実行する。個別の入力特徴セットの3つの変換は、入力それぞれのコンテキスト化された表現をコンピューティングするために使用される。スケーリングされたドットアテンションは、それぞれのヘッドに独立的に適用された。それぞれのヘッドは、入力の間の相異する類型の関係を学習し、これらを変換することを目標とする。次に、それぞれの階層の出力はヘッド{1、h}として連接され、それぞれの入力のコンテキスト化された表現を取得するように線形的に投影され、それぞれのヘッドに独立的に累積するすべての情報をMで併合(merge:マージ)する。
【0105】
変換器アーキテクチャのヘッドは、入力シーケンスの間の多数の関係の発見を許容する。
【0106】
変換器モジュール416は、N=6個の同じ階層のステックを含んでよい。それぞれの階層は、2つのサブ層を有してよい。第1サブ層は、マルチヘッドアテンションメカニズム(モジュール)704(例えば、セルフアテンションおよび/またはクロスアテンション)であってよく、第2サブ層は、ポジションごとに完全に接続されたフィードフォワードネットワーク(モジュール)708であってよい。加算および正規化モジュール712によって、マルチヘッドアテンションモジュール704の出力に対して加算および正規化が実行されてよい。連接も、加算および正規化モジュール712によって実行されてよい。2つのサブ層それぞれの周りで残余接続が使用されてよく、その次に階層正規化が繋がってよい。
【0107】
図8は、マルチヘッドアテンションモジュール704の一例を示したブロック図であり、図9は、マルチヘッドアテンションモジュール704のスケーリングされたドット積アテンションモジュール804の一例を示したブロック図である。
【0108】
(マルチヘッドアテンションモジュール704によって実行される)アテンションと関連して、アテンション機能は、クエリおよびキー値のペアセットを出力にマッピングすることによって機能してよいが、ここで、クエリ、キー、値、および出力はすべてベクトルである。出力は値の加重された合計であり、コンピューティングされてよいが、ここで、それぞれの値に割り当てられた加重値は、対応するキーとのクエリの互換性機能によってコンピューティングされる。
【0109】
スケーリングされたドット積アテンションモジュールにおいて、入力は、次元dkのクエリおよびキー、および次元dvの値を含む。スケーリングされたドット積アテンションモジュール804は、すべてのキーを利用してクエリのドット積をコンピューティングし、それぞれを
【0110】
【数24】
で割り、ソフトマックス機能を適用して値に対する加重値を取得する。
【0111】
スケーリングされたドット積アテンションモジュール804は、Qに同時に配列されたクエリのセットに対するアテンション機能をコンピューティングしてよい。キーおよび値も、行列KおよびVに維持されてよい。スケーリングされたドット積アテンションモジュール804は、次の方程式に基づくか又はこれを使用して出力の行列をコンピューティングしてよい:
【0112】
【数25】
アテンション機能は、例えば、加算的アテンションまたはドット積(乗算)アテンションであってよい。ドット積アテンションは、
【0113】
【数26】
のスケーリングファクタを使用するスケーリングに追加して使用されてよい。加算的アテンションは、単一隠れ階層を有するフィードフォワードネットワークを使用して互換性機能をコンピューティングする。ドット積アテンションは、加算的アテンションよりも迅速であり、空間効率的であってよい。
【0114】
d次元キー、値、およびクエリによって単一アテンション機能を実行する代りに、マルチヘッドアテンションモジュール704は、線形モジュール808を利用して、相異して学習された線形投影を有するクエリ、キー、および値をd、d、およびd次元で線形的に投影してよい。投影されたバージョンのクエリ、キー、および値それぞれに対し、アテンション機能は並列に実行され、d次元出力値を算出してよい。これらは連接されて再び投影され、図に示すように、連接モジュール812および線形モジュール816によって最終値を招来し(求め)てよい。マルチヘッドアテンションは、相異する位置からの情報に対する共同アテンションを許容してよい。
【0115】
図9に示すように、MatMulモジュール904は、MatMul機能を使用してクエリQおよびキーK値に基づいて出力を生成する。スケールモジュール908は、1つ以上の予め決定されたスカラー値によってMatMulモジュール904の出力をスケーリングしてよい。マスクモジュール912は、出力を生成するためにスケールモジュール908の出力の1つ以上の部分をマスキングしてよい。多様な実現形態において、マスクモジュール912は省略されてもよい。
【0116】
ソフトマックスモジュール916は、マスクモジュール912の出力にソフトマックス機能を適用してよい。MatMulモジュール920は、MatMul機能を使用して、ソフトマックスモジュール916の出力および値Vに基づいて連接モジュール812に対する出力を生成する。変換器アーキテクチャに関する追加の情報は、米国特許第10,452,978号から探索することができ、その全体は本明細書に統合される。
【0117】
多様な実現形態において、L(伝播モジュール/階層の数)は12であってよい。変換器モジュール416は、h=768の隠れ次元を有してよい。BiGRUモジュール420の隠れ次元は384であってよい。それぞれの伝播モジュール/階層の隠れ次元は同一であってよい。FFNNモジュール424は、次元2×384のBiGRUモジュール420の出力を768の次元にマッピングしてよい。出力モジュール432のFFNNは、次元768の文章表現を次元2の出力に投影する二陣分類器を含んでよい。
【0118】
要約モジュール220は、クロスエントロピー損失に基づいて、そしてAdam最適化器を使用して、トレーニングモジュールによってトレーニングされてよい。
【0119】
本明細書で説明する要約モジュール220は、結果的な要約の情報性および流暢性を保ちながら、長い文書を要約するのに効果的である。さらに、要約モジュール220は、スライディングウィンドウオプションよりも適切に実行するが、その理由は、要約が単一(そして、好ましくはスライディング/移動)変換器ウィンドウ以上の情報の伝播を要求するためである。
【0120】
図10図11、および図12は、要約モジュール220および他の方式(その他)によって生成された要約とゴールド要約(Gold)を比較する相異したデータセットからの長い文書に基づいた要約の例を示した図である。より暗く示されたハイライトの要約部方は、より高いROUGEスコアを表示する。図に示すように、要約モジュール220によって生成された要約は、少なくとも、より優れていなくても、他の方式で生成された要約と同等に優れている。
【0121】
上述した説明は、本質的かつ例示的なものであり、本開示、その適用または使用を制限するように意図するものではない。本開示の広範囲な教示は、多様な形態で実現されてよい。したがって、本開示は特定の例を含むが、本開示の真正な範囲は、図面、明細書、および添付の特許請求の範囲を検討すれば他の修正が明らかになるはずであるため、そのように制限されてならない。方法内の1つ以上の段階は、本開示の原理を変更しながらも、異なる順序で(または、同時に)実行可能であるということが理解されなければならない。追加で、実施形態それぞれが特定の特徴を有すると上述したが、本開示の任意の実施形態と関連して説明されたそのような特徴のうちの任意の1つ以上は、その組み合わせが明らかに説明されていなくても、異なる実施形態のうちの任意の実施形態の特徴によって実現可能であるし、そして/またはこれらと組み合わされてよい。言い換えれば、説明した実施形態は相互排他的ではなく、互いに対する1つ以上の実施形態の置換は本開示の範囲内に維持される。
【0122】
要素同士の間(例えば、モジュール、回路要素、半導体層などの間)の空間的および機能的関係は、「接続する」、「関与する」、「結合する」、「隣接する」、「次に」、「最上部に」、「上に」、「下に」、および「配置する」を含む多様な用語を使用して説明される。「直接」であると明らかに説明されない限り、第1要素と第2要素の関係を上述した開示で説明するときに、その関係は第1要素と第2要素の間に他の介在要素が存在しない直接的な関係となるが、第1要素と第2要素の間に(空間的にまたは機能的に)1つ以上の介在要素が存在する間接的な関係であることもある。本明細書で使用されるように、A、B、およびCのうちの少なくとも1つという文句は、非排他的な論理ORを使用する論理(A OR B OR C)を意味するものと解釈されなければならず、「Aのうちの少なくとも1つ、Bのうちの少なくとも1つ、およびCのうちの少なくとも1つ」を意味するものと解釈されてはならない。
【0123】
図面において矢印が表示する方向は、一般的に、例示に関心がある情報(例えば、データまたは命令)の流れを示す。例えば、要素Aと要素Bが多様な情報を交換し、要素Aから要素Bに送信される情報が例示と関連する場合には、矢印は要素Aから要素Bを示す。この単一方向の矢印は、要素Bから要素Aに他の情報が送信されないことを意味するものではない。追加で、要素Aから要素Bに送信される情報に対し、要素Bは要素Aに関する情報に対する要請(要求)またはその情報の受信確認の応答を送信してもよい。
【0124】
以下の定義を含む本出願において、用語「モジュール」または「制御器」という用語は、「回路」という用語に置き換えられてよい。「モジュール」という用語は、ASIC(Application Specific Integrated Circuit)、デジタル、アナログ、または混合したアナログ/デジタル離散回路、デジタル、アナログ、または混合したアナログ/デジタル集積回路、組合ロジック回路、FPGA(field programmable gate array)、コードを実行するプロセッサ回路(共有、専用、またはグループ)、プロセッサ回路によって実行されるコードを格納するメモリ回路(共有、専用、またはグループ)、説明した機能を提供する他の適切なハードウェアコンポーネント、または上述したものの一部またはすべての組み合わせ、例えば、システムオンチップを指称するか、その一部であるか、これを含む。
【0125】
モジュールは、1つ以上のインタフェース回路を含んでよい。一部の例において、インタフェース回路は、LAN(local area network)、インターネット、WAN(wide area network)、またはこれらの組み合わせに接続される有線または無線インタフェースを含んでよい。本開示の任意の与えられたモジュールの機能は、インタフェース回路を介して接続する多数のモジュールに分散されてよい。例えば、多数のモジュールは、ロードバランシングを許容してよい。追加の例において、サーバ(遠隔またはクラウド、または周知の)モジュールは、クライアントモジュールの代わりに一部の機能を達成してよい。
【0126】
上述で使用されたように、用語コードは、ソフトウェア、ファームウェア、および/またはマイクロコードを含んでよく、プログラム、ルーチン、機能、クラス、データ構造、および/またはオブジェクトを指称してよい。共有プロセッサ回路という用語は、多数のモジュールからの一部またはすべてのコードを実行する単一プロセッサ回路を含む。グループプロセッサ回路という用語は、追加的なプロセッサ回路と組み合わせて、1つ以上のモジュールからの一部またはすべてのコードを実行するプロセッサ回路を含む。多数のプロセッサ回路に対する参照は、離散(ディスクリート)ダイ上の多数のプロセッサ回路、単一ダイ上の多数のプロセッサ回路、単一プロセッサ回路の多数のコア、単一プロセッサ回路の多数のスレッド、またはこれらの組み合わせを含む。共有メモリ回路という用語は、多数のモジュールからの一部またはすべてのコードを格納する単一メモリ回路を含む。グループメモリ回路という用語は、追加のメモリと組み合わせ、1つ以上のモジュールからの一部またはすべてのコードを格納するメモリ回路を含む。
【0127】
メモリ回路という用語は、コンピュータ読み取り可能な媒体という用語のサブセットである。本明細書で使用されるコンピュータ読み取り可能な媒体という用語は、媒体を介して(例えば、キャリア波上で)伝播される一時的な電気または電磁気信号を含まず、したがって、コンピュータ読み取り可能な媒体という用語は、類型的および非一時的なものとして見なされてよい。非一時的な類型的コンピュータ読み取り可能な媒体の非制限的な例は、不揮発性メモリ回路(例えば、フラッシュメモリ回路、消去可能プログラミング可能な読み取り専用メモリ回路、またはマスク読み取り専用メモリ回路)、揮発性メモリ回路(例えば、静的ランダムアクセスメモリ回路または動的ランダムアクセスメモリ回路)、磁気格納媒体(例えば、アナログ、またはデジタル磁気テープ、またはハードディスクドライブ)、および光学記録媒体(例えば、CD、DVD、またはブルーレイディスク)である。
【0128】
本出願で説明した装置および方法は、コンピュータプログラムに実現された1つ以上の特定の機能を実行するように汎用コンピュータを構成することによって生成された特殊目的コンピュータにより、部分的または完全に実現されてよい。上述した機能ブロック、フローチャートコンポーネント、および他の要素は、ソフトウェア規格として機能するが、これは、熟練した技術者またはプログラマーの日常的な作業によってコンピュータプログラムに変換されてよい。
【0129】
コンピュータプログラムは、少なくとも1つの非一時的な類型的コンピュータ読み取り可能な媒体上に格納されるプロセッサ実行可能命令を含む。コンピュータプログラムも、格納されたデータを含むか、これに依存してよい。コンピュータプログラムは、特殊目的コンピュータのハードウェアと相互作用するBIOS(basic input/output system)、特殊目的コンピュータの特定のデバイスと相互作用するデバイスドライバ、1つ以上のオペレーティングシステム、ユーザアプリケーション、背景サービス、背景アプリケーションなどを含んでよい。
【0130】
コンピュータプログラムは、(i)パーシング(parsed:構文解析)される説明テキスト、例えば、HTML(hypertext markup language)、XML(extensible markup language)、またはJSON(JavaScript Object Notation)、(ii)アセンブリコード、(iii)コンピュータによってソースコードから生成されたオブジェクトコード、(iv)インタプリタによる実行のためのソースコード、(v)実行時コンパイラ(just-in-time compiler)によるコンパイルおよび実行のためのソースコードなどを含んでよい。一例として、ソースコードは、C、C++、C#、Objective C、Swift、Haskell、Go、SQL、R、Lisp、Java(登録商標)、Fortran、Perl、Pascal、Curl、OCaml、Javascript(登録商標)、HTML5(Hypertext Markup Language 5th revision)、Ada、ASP(Active Server Pages)、PHP(Hypertext Preprocessor)、Scala、Eiffel、Smalltalk、Erlang、Ruby、Flash(登録商標)、Visual Basic(登録商標)、Lua、MATLAB、SIMULINK、Python(登録商標)を含む言語からのシンタックスを使用して記録されてよい。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12