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

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

▶ 東芝メモリ株式会社の特許一覧

<>
  • 特開-情報処理装置及び情報処理方法 図1
  • 特開-情報処理装置及び情報処理方法 図2
  • 特開-情報処理装置及び情報処理方法 図3
  • 特開-情報処理装置及び情報処理方法 図4
  • 特開-情報処理装置及び情報処理方法 図5
  • 特開-情報処理装置及び情報処理方法 図6
  • 特開-情報処理装置及び情報処理方法 図7
  • 特開-情報処理装置及び情報処理方法 図8
  • 特開-情報処理装置及び情報処理方法 図9
  • 特開-情報処理装置及び情報処理方法 図10
  • 特開-情報処理装置及び情報処理方法 図11
  • 特開-情報処理装置及び情報処理方法 図12
  • 特開-情報処理装置及び情報処理方法 図13
  • 特開-情報処理装置及び情報処理方法 図14
  • 特開-情報処理装置及び情報処理方法 図15
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023168024
(43)【公開日】2023-11-24
(54)【発明の名称】情報処理装置及び情報処理方法
(51)【国際特許分類】
   G06F 16/90 20190101AFI20231116BHJP
【FI】
G06F16/90 100
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2022079628
(22)【出願日】2022-05-13
(71)【出願人】
【識別番号】318010018
【氏名又は名称】キオクシア株式会社
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(72)【発明者】
【氏名】星 康人
(72)【発明者】
【氏名】宮下 大輔
(72)【発明者】
【氏名】出口 淳
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175EA01
5B175HB03
(57)【要約】      (修正有)
【課題】機械学習のタスクの精度を向上する情報処理装置及び情報処理方法を提供する。
【解決手段】情報処理装置において、検索システム200は、複数の文書に関する複数の第1のデータアイテムDc及び質問に関する第2のデータアイテムQsを受け、データアイテムDc、Qsを処理する抽出モジュールと、類似度計算部と、を含む。抽出モジュールは、第1のデータアイテムDcの夫々から複数の第1の固有表現dNEを抽出し、第2のデータアイテムQsから第2の固有表現qNEを抽出し、第1のデータアイテムの夫々と対応する複数の第1の固有表現の夫々とに関する複数の第1のベクトルKVを生成し、第2のデータアイテムと第2の固有表現とに関する第2のベクトルQVを生成する。類似度計算部は、ベクトルKV、QV間の類似度を計算し、類似度の計算結果に基づいて、複数の第1のデータアイテム中から回答に関する第3のデータアイテムRRを取得する。
【選択図】図2
【特許請求の範囲】
【請求項1】
複数の文書に関する複数の第1のデータアイテム及び質問に関する第2のデータアイテムを受けるインターフェース回路と、
前記インターフェース回路が受けた前記複数の第1のデータアイテム及び前記第2のデータアイテムを処理するプロセッサと、
を備え、
前記プロセッサは、
前記複数の第1のデータアイテムのそれぞれから複数の第1の固有表現を抽出し、前記第2のデータアイテムから第2の固有表現を抽出し、
前記複数の第1のデータアイテムのそれぞれと対応する前記複数の第1の固有表現のそれぞれとに関する複数の第1のベクトルを、それぞれ生成し、
前記第2のデータアイテムと前記第2の固有表現とに関する第2のベクトルを生成し、
前記複数の第1のベクトルのそれぞれと前記第2のベクトルとの間の類似度を計算し、
前記類似度の計算結果に基づいて、前記複数の第1のデータアイテムの中から検索された回答に関する第3のデータアイテムを取得する、
情報処理装置。
【請求項2】
前記プロセッサは、固有表現に関する第1の自然言語モデルの第1のニューラルネットワークに基づいて、前記複数の第1の固有表現及び前記第2の固有表現を抽出する、
請求項1に記載の情報処理装置。
【請求項3】
前記プロセッサは、第2の自然言語モデルの第2のニューラルネットワークに基づいて、前記複数の第1のベクトル及び前記第2のベクトルを生成する、
請求項1に記載の情報処理装置。
【請求項4】
前記プロセッサは、前記複数の第1のデータアイテムのうち1つの第1のデータアイテムからk個(kは、2以上の整数)の前記第1の固有表現を抽出し、前記1つの第1のデータアイテム及び前記k個の前記第1の固有表現に基づいてk個の前記第1のベクトルを生成する、
請求項1に記載の情報処理装置。
【請求項5】
前記プロセッサは、複数の識別番号と前記複数の第1のベクトルとの対応関係を記憶し、
前記複数の識別番号のそれぞれは、前記複数の第1のデータアイテムのそれぞれに割り当てられている、
請求項1に記載の情報処理装置。
【請求項6】
前記複数の第1のデータアイテムのそれぞれに複数の識別番号のそれぞれが割り当てられ、
前記複数の識別番号のそれぞれは、前記複数の第1のベクトルのうち対応する1つに関連付けられ、
前記複数の第1のベクトルのうち選択された第1のベクトルに対応する前記識別番号に基づいて、前記複数の第1のデータアイテムの中から前記選択されたベクトルに対応する第1のデータアイテムが、取得される、
請求項1に記載の情報処理装置。
【請求項7】
前記複数の第1のデータアイテム及び前記複数の第1のベクトルを記憶するストレージを、
さらに具備する請求項1に記載の情報処理装置。
【請求項8】
生成された前記複数の第1のベクトルを記憶するストレージをさらに具備し、
前記プロセッサは、前記類似度を計算する時、前記複数の第1のベクトルを前記ストレージから読み出す、
請求項1に記載の情報処理装置。
【請求項9】
複数の文書に関する複数の第1のデータアイテムを受けることと、
前記複数の第1のデータアイテムのそれぞれから複数の第1の固有表現を抽出することと、
前記複数の第1のデータアイテムのそれぞれと対応する前記複数の第1の固有表現のそれぞれとに基づいて、複数の第1のベクトルを生成することと、
質問に関する第2のデータアイテムを受けることと、
前記第2のデータアイテムから第2の固有表現を抽出することと、
前記第2のデータアイテムと前記第2の固有表現とに基づいて、第2のベクトルを生成することと、
前記複数の第1のベクトルのそれぞれと前記第2のベクトルとの間の類似度を計算することと、
前記類似度の計算結果に基づいて、前記複数の第1のデータアイテムの中から検索された回答に関する第3のデータアイテムを取得することと、
を具備する情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、情報処理装置及び情報処理方法に関する。
【背景技術】
【0002】
機械学習に関する方法、デバイス、及びシステムが、研究及び提案されている。例えば、機械学習の各種のタスクの精度の向上のために、様々な計算手法、処理手法、システムの構成、及びデバイスの構成が、研究及び提案されている。機械学習を用いた情報の検索において、入力データである質問に関する情報をデータベースの中から検索するタスクがある。このタスクにおいて、未知の質問に対する回答に関する情報の検索の精度が低い場合がある。そのため、機械学習を用いた情報の検索の精度の向上が求められている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2020-140435号
【特許文献2】特開2021-99803号
【特許文献3】特開2019-164409号
【発明の概要】
【発明が解決しようとする課題】
【0004】
機械学習のタスクの精度を向上する情報処理装置及び情報処理方法を提供する。
【課題を解決するための手段】
【0005】
本実施形態の情報処理装置は、複数の文書に関する複数の第1のデータアイテム及び質問に関する第2のデータアイテムを受けるインターフェース回路と、前記インターフェース回路が受けた前記複数の第1のデータアイテム及び前記第2のデータアイテムを処理するプロセッサと、を含み、前記プロセッサは、前記複数の第1のデータアイテムのそれぞれから複数の第1の固有表現を抽出し、前記第2のデータアイテムから第2の固有表現を抽出し、前記複数の第1のデータアイテムのそれぞれと対応する前記複数の第1の固有表現のそれぞれとに関する複数の第1のベクトルを、それぞれ生成し、前記第2のデータアイテムと前記第2の固有表現とに関する第2のベクトルを生成し、前記複数の第1のベクトルのそれぞれと前記第2のベクトルとの間の類似度を計算し、前記類似度の計算結果に基づいて、前記複数の第1のデータアイテムの中から検索された回答に関する第3のデータアイテムを取得する。
【図面の簡単な説明】
【0006】
図1】実施形態の情報処理装置の構成例を示すブロック図。
図2】実施形態の情報処理装置の検索システムの構成例を示すブロック図。
図3】実施形態の情報処理装置の検索システムの一部の構成例を示すブロック図。
図4】実施形態の情報処理装置の検索システムの他の一部の構成例を示すブロック図。
図5】実施形態の情報処理装置の検索システムを説明するための模式図。
図6】実施形態の情報処理方法を示すフローチャート。
図7】実施形態の情報処理方法の一部を説明するための模式図。
図8】実施形態の情報処理方法の他の一部を説明するための模式図。
図9】実施形態の情報処理方法を示すフローチャート。
図10】実施形態の情報処理方法の一部を説明するための模式図。
図11】実施形態の情報処理方法の他の一部を説明するための模式図。
図12】実施形態の情報処理方法の更に他の一部を説明するための模式図。
図13】実施形態の情報処理方法の更に他の一部を説明するための模式図。
図14】実施形態の情報処理装置の特性を示すグラフ。
図15】実施形態の情報処理装置の変形例を説明するための模式図。
【発明を実施するための形態】
【0007】
以下、図1乃至図15を参照しながら、実施の形態について詳細に説明する。以下の説明において、同一の機能及び構成を有する要素については、同一符号を付す。
また、以下の各実施形態において、末尾に区別化のための数字/英字を伴った参照符号を付された構成要素(例えば、回路、配線、各種の電圧及び信号など)が、相互に区別されなくとも良い場合、末尾の数字/英字が省略された記載(参照符号)が用いられる。
【0008】
(1)実施形態
図1乃至図14を参照して、実施形態の情報処理装置、及び、実施形態の情報処理方法について、説明する。尚、実施形態の情報処理方法は、実施形態の情報処理装置の制御方法を含み得る。
【0009】
(a)構成
図1乃至図5を参照して、実施形態の情報処理装置の構成及び機能について、説明する。
【0010】
図1は、本実施形態の情報処理装置1の構成例を説明するための模式図である。
【0011】
実施形態の情報処理装置1は、各種の情報処理を実行できる。情報処理装置1は、例えば、自然言語処理を実行可能な人工知能(AI)の機能を有する。
【0012】
情報処理装置1は、機械学習に基づいた各種の処理及びタスクを実行できる。例えば、情報処理装置1は、教師有り又は教師無しの学習データを用いた深層学習を実行可能に構成されている。
【0013】
情報処理装置1は、プロセッサ11、メモリ12、ストレージ13、及びユーザーインターフェース14を含む。
【0014】
プロセッサ11は、情報処理装置1の各種の処理及びタスクの実行のための制御処理及び計算処理を、行う。プロセッサ11は、メモリ12、ストレージ13、及びユーザーインターフェース14を、制御できる。例えば、プロセッサ11は、各種の制御処理、各種の計算処理及び各種のタスクなどを実行する処理部200を含む。
プロセッサ11は、レジスタ、キャッシュ及びROM(Read only memory)などを含む記憶領域111を含む。
【0015】
また、プロセッサ11は、インターフェース部119を含む。インターフェース部119は、メモリ12、ストレージ13及びユーザーインターフェース14から各種のデータアイテムを受けることができる。インターフェース部119は、受け取ったデータアイテムを、記憶領域111及び(又は)処理部200に送ることができる。インターフェース部119は、例えば、処理部200によって実行された処理の結果のような、プロセッサ11の処理結果のデータアイテムを、メモリ12、ストレージ13及びユーザーインターフェース14に送ることができる。インターフェース部119は、これらの処理のための複数のデバイス及び回路などを含み得る。
【0016】
メモリ12は、各種の情報及び各種のデータアイテムを一時的に記憶する。
メモリ12は、RAM(Random access memory)121及びROM122を含む。
【0017】
RAM121は、SRAM(Static RAM)及びDRAM(Dynamic RAM)などを含む。RAM121は、情報処理装置1に用いられる各種のデータアイテム及びソフトウェアなどを、一時的に記憶する。RAM121は、情報処理装置1におけるワークメモリ及びバッファメモリとして機能する。RAM121は、データアイテムの取得のために、プロセッサ11にアクセスされ得る。
【0018】
ROM122は、情報処理装置1に用いられるオペレーティングシステム(OS)、ファームウェア、各種のソフトウェア及び各種のデータアイテムを実質的に不揮発に記憶する。ROM122は、データアイテムの取得のために、プロセッサ11にアクセスされ得る。
【0019】
例えば、データアイテムは、処理の対象であるユーザーデータ、各種のシステム及びデバイスに用いられる設定データ、各種の処理に用いられるパラメータ、及びソフトウェアの一部などを含む。例えば、ソフトウェアは、実行プログラム、ファームウェア、アプリケーション及びオペレーティングシステム(OS)を含み得る。データアイテム及び(又は)ソフトウェアは、各種のシステム及びデバイスに用いられる情報に相当し得る。
【0020】
ストレージ13は、各種の情報及び各種のデータアイテムを実質的に不揮発に記憶できる。ストレージ13は、複数のデータベース131,132を含む。
【0021】
ストレージ13は、例えば、SSD(Solid state drive)、UFS(Universal Flash Storage)デバイス又はHDD(Hard disc drive)である。ストレージ13がSSD又はUFSデバイスである場合、ストレージ13は、コントローラ及び不揮発性半導体メモリデバイスを含む。SSDに用いられる不揮発性半導体メモリデバイスは、NAND型フラッシュメモリである。不揮発性半導体メモリデバイスが、NAND型フラッシュメモリである場合、不揮発性半導体メモリデバイスは、Toggle DDRインターフェース規格又はONFi(Open NAND Flash interface)規格に基づいて、コントローラと通信する。コントローラは、読み出しシーケンス、書き込みシーケンス、消去シーケンス及びガベージコレクションのような各種の動作を、不揮発性半導体メモリデバイスに命令する。不揮発性半導体メモリデバイスは、コントローラからの命令に基づいて、各種の動作を実行する。
【0022】
尚、本実施形態の情報処理装置1において、ストレージ13は、プロセッサ11と直接的又は間接的に通信が可能であれば、1つの筐体(図示せず)内に設けられていてもよいし、互いに異なる筐体内に設けられていてもよい。プロセッサ11及びストレージ13は、直接的又は間接的に互いに通信が可能であれば、同じ国又は地域に設置されていてもよいし、互いに異なる国又は地域に設置されていてもよい。
【0023】
ユーザーインターフェース14は、情報処理装置1のユーザーとプロセッサ11との間の通信のための複数のデバイス及び回路などを含み得る。ユーザーインターフェース14は、入力デバイス及び出力デバイスを含む。入力デバイスは、例えば、タッチパネル、キーボード、操作ボタン及び(又は)マイクなどを含む。出力デバイスは、例えば、ディスプレイ、プリンタ及び(又は)スピーカーなどを含む。
【0024】
ユーザーインターフェース14は、入力デバイスを介してユーザーからの各種の処理及び(又は)タスクの実行の要求をプロセッサ11に供給する。ユーザーインターフェース14は、出力デバイスを介して各種の処理及び(又は)タスクの実行の結果をユーザーに提供する。ユーザーインターフェース14は、各種の処理及び(又は)タスクの実行の途中経過をユーザーに提供することもできる。
【0025】
ユーザーインターフェース14は、各種のデータアイテムを、プロセッサ11、メモリ12及びストレージ13を送ることができる。ユーザーインターフェース14は、各種のデータアイテムを、プロセッサ11、メモリ12及びストレージ13から受けることができる。
【0026】
情報処理装置1は、無線又は有線のネットワークを介して、他のデバイス9と通信してもよい。例えば、処理及び(又は)タスクの実行の要求が、デバイス9から情報処理装置1に供給されてもよい。処理及び(又は)タスクの実行の結果が、情報処理装置1からデバイス9に供給されてもよい。デバイス9は、コンピュータデバイス又は携帯デバイスである。コンピュータデバイスの一例は、パーソナルコンピュータ又はサーバコンピュータである。携帯デバイスの一例は、スマートフォン、フィーチャーフォン、又はタブレットデバイスである。
【0027】
本実施形態の情報処理装置1は、深層学習を用いた文書検索を実行するシステムである処理部200を含む。以下において、深層学習を用いた文書検索を実行するシステムである処理部200は、検索システム200とよばれる。
【0028】
検索システム200は、プロセッサ11上において、ソフトウェア、ハードウェア、又は、ソフトウェアとハードウェアとの組み合わせによって実現され得る。
これによって、本実施形態の情報処理装置1において、プロセッサ11は、文書の検索のための検索タスクの各種の処理及び動作を実行する。以下において、検索タスクは、検索処理ともよばれる。
【0029】
図2は、本実施形態の情報処理装置1における、検索システム200を説明するための模式的なブロック図である。
【0030】
図2に示されるように、本実施形態の情報処理装置1において、検索システム200は、深層学習に基づく文書の検索タスクを実行する。検索システム200は、検索タスクによって、質問Qsに対して、知識源としてのデータベース131に格納された複数の文書Dcの中から回答となる1つ以上の文書Dcを、選択及び提示する。
【0031】
質問Qsは、自然言語の1つ以上の文を含むデータアイテムである。質問Qsは、質問データアイテムともよばれる。例えば、質問Qsは、ユーザーインターフェース14を介して、情報処理装置1の外部(例えば、ユーザー)から検索システム200に供給される。
【0032】
データベース131に格納された複数の文書Dcのそれぞれは、自然言語の1つ以上の文を含むデータアイテムである。文書Dcは、文書データアイテムともよばれる。例えば、複数の文書Dcは、ユーザーインターフェース14を介して、情報処理装置1の外部からストレージ13のデータベース131に供給される。
【0033】
本実施形態において、情報処理装置1及び検索システム200に用いられる自然言語は、日本語、英語、中国語、ドイツ語、フランス語、ロシア語、スペイン語、及びイタリア語などの複数の自然言語の中から選択されるいずれかの自然言語である。質問Qsに用いられる自然言語は、文書Dcに用いられる自然言語と同じであることが、好ましい。但し、質問Qsに用いられる自然言語は、文書Dcに用いられる自然言語と異なってもよい。
【0034】
図2の検索システム200は、抽出モジュール210、エンコーダ220,221(221-1~221-n)、類似度計算部230、判定部240、及び結果出力部250などを含む。例えば、検索システム200の各構成要素210,220,221,230,240,250は、プロセッサ11によって制御され得る。
【0035】
検索システム200は、質問Qs及び複数の文書Dcを、受ける。
【0036】
質問Qsは、ユーザーインターフェース14を介して、ユーザーから検索システム200に供給される。質問Qsは、プロセッサ11の記憶領域111又はメモリ12に記憶される。質問Qsは、他のデバイス9から、ネットワーク(図示せず)を介して、検索システム200に供給されてもよい。
【0037】
質問Qsは、人物、組織、地域、事件、物品及び日時など或る事物に関して問う文を含む。質問Qsは、自然言語によって記述されている。
【0038】
文書Dcは、ストレージ13のデータベース131から検索システム200に供給される。文書Dcは、人物、地域、事件及び物品などの或る事物に関する情報を示す文を含む。文書Dcは、自然言語によって記述されている。文書Dcは、1つ以上の文を含む。文書Dcは、複数の単語を含んで構成される。例えば、文書Dcは、十数から百数十の単語から構成される。文書Dcは、テキスト又はパッセージともよばれる。
【0039】
データベース131は、文書集合である。データベース131は、検索システム200における検索タスクのための知識源及び情報源として機能する。
【0040】
抽出モジュール210は、検索システム200に供給された質問Qs及び文書Dcを受ける。抽出モジュール210は、質問Qs及び文書Dcから各種の情報を抽出できる。
【0041】
本実施形態において、抽出モジュール210は、或る質問Qsに含まれる1つ以上の固有表現qNEを抽出できる。本実施形態において、抽出モジュール210は、或る文書Dcに含まれる1つ以上の固有表現dNEを、抽出できる。
固有表現qNE,dNEは、人名、組織名、地名、事件名、物品名、及び(又は)日時などである。
【0042】
抽出モジュール210は、抽出部又は固有表現抽出モジュールともよばれる。
【0043】
例えば、抽出モジュール210は、自然言語に関するモデルに基づくニューラルネットワークから構成された機構を含む。
抽出モジュール210の構成及び機能の詳細は、後述される。
【0044】
エンコーダ220,221は、供給された自然言語のデータアイテムQs,Dc及び固有表現qNE,dNEから、ベクトルQV,KVを生成する。
【0045】
エンコーダ220は、或る質問Qsの文及び質問Qsから抽出された固有表現qNEに基づいて、質問Qsに関するベクトルQVを生成する。以下において、質問Qs及び固有表現qNEから得られたベクトルQVは、クエリベクトルQVとよばれる。尚、クエリベクトルQVは、クエリとよばれてもよい。
【0046】
クエリベクトルQVは、自然言語の質問Qsとその質問Qsに含まれる固有表現qNEとに関する特徴量ベクトルのデータアイテムである。
【0047】
エンコーダ221は、或る文書Dcの文及び文書Dcから抽出された固有表現dNEに基づいて、文書Dcに関するベクトルKVを生成する。以下において、文書Dc及び固有表現dNEから得られたベクトルKVは、キーベクトルKVとよばれる。尚、キーベクトルKVは、キーとよばれてもよい。
【0048】
キーベクトルKVは、自然言語の文書Dcとその文書Dcに含まれる固有表現dNEとに関する特徴量ベクトルのデータアイテムである。
例えば、キーベクトルKVは、ストレージ13のデータベース132に記憶されている。
【0049】
例えば、エンコーダ220,221のそれぞれは、自然言語に関するモデルに基づくニューラルネットワークから構成された機構を含む。
これによって、エンコーダ220は、自然言語の質問Qs及び固有表現qNEを、ベクトルQVに変換できる。エンコーダ221は、自然言語の文書Dc及び固有表現dNEを、ベクトルKVに変換できる。
エンコーダ220,221の構成及び機能の詳細は、後述される。
【0050】
本実施形態において、例えば、キーベクトルKVは、文書Dcの特徴を示すデータアイテムとして用いられる。本実施形態において、例えば、クエリベクトルQVは、キーベクトルKV及び文書Dcの検索に用いられるデータアイテムとして用いられる。
【0051】
類似度計算部230は、或るデータと別のデータとの間の類似度を計算する。本実施形態において、類似度計算部230は、クエリベクトルQVとキーベクトルKVとの間の類似度を計算する。
【0052】
例えば、類似度は、2つのベクトルQV,KV間のコサイン類似度に基づいて、計算される。尚、類似度は、2つのベクトルQV,KV間の内積、又は、2つのベクトルQV,KV間の距離などに基づいて、計算されてもよい。類似度を計算するための距離は、例えば、ユークリッド距離、マンハッタン距離及びミンコフスキー距離などのうちいずれか1つを用いて、得られる。
【0053】
判定部240は、プロセッサ11によって実行された各種の処理に対する判定を、実行できる。本実施形態において、判定部240は、類似度計算部230の計算結果に基づいて、クエリベクトルQVとキーベクトルKVとが類似しているか否かを判定する。
【0054】
判定部240は、クエリベクトルQV及びキーベクトルKVに関して計算された類似度の計算結果の値が或る閾値以上である場合、クエリベクトルQVがキーベクトルKVに類似していると判定する。判定部240は、クエリベクトルQV及びキーベクトルKVに関して計算された類似度の計算結果の値が或る閾値未満である場合、クエリベクトルQVがキーベクトルKVに類似していないと判定する。以下において、類似度の計算結果の値は、スコアともよばれる。
【0055】
尚、複数の閾値が、2つのベクトルQV,KV間の類似度を評価するために設定された場合、2つのベクトルQV,KV間の類似度は、段階的に評価され得る。この結果として、回答となり得る複数の文書Dcは、類似度のスコアに応じて、複数のレベルに分類され得る。
【0056】
結果出力部250は、判定部240の処理の結果に基づいて、検索タスクにおける質問Qsに対する検索結果RRとして、或るスコア以上の類似度を有する1つ以上のキーベクトルKV<i>のそれぞれに対応する1つ以上の文書Dc<i>を、出力する。iは、1以上の整数である。
【0057】
例えば、結果出力部250は、各キーベクトルKVに対応する文書Dcを、データベース131を含むストレージ13から読み出す。結果出力部250は、読み出した文書Dcを、ユーザーインターフェース14を介して、ユーザーに示す。
【0058】
結果出力部250は、データベース131の文書Dcを読み出す時、テーブルTBLに基づいて、検索結果のキーベクトルKVに対応する文書Dcを検知する。
【0059】
テーブルTBLは、キーベクトルKVと文書Dcとの対応関係に関する情報を含む。例えば、テーブルTBLは、テーブル管理部290によって、生成される。テーブルTBLは、テーブル管理部290に記憶される。
【0060】
テーブル管理部290は、抽出モジュール210から提供された各文書Dcに関する情報及びエンコーダ221から提供されたキーベクトルKVに関する情報に基づいて、テーブルTBLを生成できる。
例えば、テーブルTBLは、管理テーブルTBLともよばれる。
【0061】
例えば、テーブル管理部290は、プロセッサ11、メモリ12、及びストレージ13のうちいずれか1つに設けられ得る。
【0062】
このように、検索システム200は、質問Qsに対して高い類似度を有する文書Dcを、データベース131の中から検索する。
検索システム200は、検索タスクの検索結果RRを、ユーザーに示す。この結果として、検索結果RRが、質問Qsに対する回答として、ユーザーに提供される。
【0063】
尚、質問Qsは、ネットワークを介して他のデバイス9から情報処理装置1に供給されてもよい。質問Qsに対する検索結果RRは、ネットワークを介して情報処理装置1から他のデバイス9に供給されてもよい。
【0064】
抽出モジュール210及びエンコーダ220,221は、ソフトウェア又はファームウェアとして、プロセッサ11に、提供される。抽出モジュール210及びエンコーダ220は、例えば、Pythonのような或るプログラム言語によって形成されたコンピュータプログラムとして、プロセッサ11の記憶領域111に記憶されている。
【0065】
抽出モジュール210及びエンコーダ220,221のソフトウェアは、メモリ12に記憶されてもよいし、ストレージ13に記憶されてもよい。この場合、それらのソフトウェアが、後述される抽出モジュール210及びエンコーダ220,221を用いた処理の実行時に、メモリ12からプロセッサ11の記憶領域111に、又は、ストレージ13からプロセッサ11の記憶領域111に読み出される。
【0066】
尚、抽出モジュール210及びエンコーダ220,221のソフトウェアは、抽出モジュール210及びエンコーダ220,221を用いた後述の処理の実行時に、RAM131に記憶され、それらのソフトウェアが、プロセッサ11によってRAM131上で実行されてもよい。
抽出モジュール210及びエンコーダ220,221は、ハードウェアとして、プロセッサ11の内部又はプロセッサ11の外部に設けられてもよい。
【0067】
<抽出モジュール210>
図3は、本実施形態の情報処理装置1における、検索システム200の抽出モジュール210の構成及び機能を説明するためのブロック図である。
【0068】
抽出モジュール210は、質問受信部211、複数の文書受信部212(212-1~212-n)、固有表現抽出部213,214(214-1~214-n)、及び、識別番号抽出部219(219-1~219-n)などを含む。nは、1以上の整数である。
【0069】
質問受信部211は、検索システム200に供給された質問Qsを受ける。
【0070】
複数の文書受信部212-1~212-nのそれぞれは、データベース131から供給された文書Dcを、受ける。
【0071】
例えば、文書Dcは、識別番号Idを含む。識別番号Idは、文書Dcに付加された情報である。識別番号Idと文書Dcとを含むデータアイテムは、文書ファイルFL(FL<1>~FL<n>)ともよばれる。
【0072】
識別番号Idは、データベース131において複数の文書Dcを管理及び識別するための番号を示すデータアイテムである。各識別番号Idは、複数の文書Dcのうち対応する1つの文書Dcに割り当てられている。識別番号Idは、文書Dcごとに固有の値を有する。識別番号Idは、文書ファイルFLのファイル名でもよいし、文書ファイルFLのメタデータに含まれる値でもよい。識別番号Idは、文書Dcに組み込まれた値でもよい。
【0073】
固有表現抽出部213,214のそれぞれは、固有表現抽出モデルM1に基づくニューラルネットワークを含む。
固有表現抽出部213,214のそれぞれは、固有表現抽出モデルM1に基づいて、固有表現qNE,dNEを抽出する。固有表現抽出モデルM1は、自然言語で記述された文中の語句が固有表現であるか否かを判別することが可能なように構築された、自然言語に関するニューラルネットワークモデルである。
【0074】
固有表現抽出部213は、固有表現抽出モデルM1に基づいて、質問受信部211から質問Qsを受ける。
固有表現抽出部213は、固有表現抽出モデルM1に基づいて、質問Qsを構成する文の中から、1つの固有表現qNEを抽出する。
【0075】
例えば、固有表現抽出部213は、質問Qsを構成する文を、トークン化する。これによって、質問Qsは、複数のトークンに分割される。
固有表現抽出部213は、固有表現抽出モデルM1に基づいて、質問Qsにおけるトークンの位置、トークンの品詞、及び複数のトークン間の関係性などに基づいて、各トークンが固有表現であるか否か判別する。
【0076】
この結果として、固有表現であると判別されたトークンが、質問Qsにおける固有表現qNEとして、質問Qsから抽出される。
固有表現抽出部213は、質問Qsから抽出された固有表現qNEを、エンコーダ220に送る。
【0077】
複数の固有表現抽出部214-1~214-nのそれぞれは、複数の文書受信部212-1~212-nのうち対応する1つから、文書Dcを受ける。
各固有表現抽出部214は、文書Dcを構成する1つ以上の文の中から、1つ以上の固有表現dNE(dNE<1>-1,dNE<1>-j,・・・,dNE<n>-1,dNE<n>-k)を抽出する。j及びkは、1以上の整数である。
【0078】
例えば、各固有表現抽出部214は、文書Dcに含まれる文を、トークン化する。これによって、文書Dcは、複数のトークンに分割される。
固有表現抽出部214は、固有表現抽出モデルM1に基づいて、文書Dcの文におけるトークンの位置、トークンの品詞、及び複数のトークン間の関係性などに基づいて、各トークンが固有表現であるか否か判別する。
【0079】
この結果として、固有表現であると判別されたトークンが、文書Dcにおける固有表現dNEとして、文書Dcから抽出される。
各固有表現抽出部214は、文書Dcから抽出された1つ以上の固有表現dNEを、複数のエンコーダ221のうち対応する1つに送る。
【0080】
複数の識別番号抽出部219-1~219-nのそれぞれは、複数の文書受信部212-1~212-nのうち対応する1つから、識別番号Idが付加された文書Dc(文書ファイルFL)を受ける。
各識別番号抽出部219-1,219-2,・・・,219-nのそれぞれは、識別番号Idを、抽出する。識別番号抽出部219は、抽出した識別番号Idを、テーブル管理部290に送る。抽出された識別番号Idは、対応する文書Dc及び対応する文書Dcから生成されるキーベクトルKVと紐づけされている。
【0081】
例えば、文書受信部212が、文書Dcから識別番号Idを分離することによって、識別番号Idを抽出してもよい。
【0082】
尚、文書Dcは、対応する識別番号Idを含まない場合もある。この場合において、識別番号抽出部219が、文書Dcに対応する識別番号Idを、生成してもよい。
【0083】
質問受信部211は、質問Qsを、固有表現抽出部213だけでなくエンコーダ220に送る。エンコーダ220は、固有表現qNEとは別途に、質問Qsを受ける。
【0084】
各文書受信部212は、文書Dcを、対応する固有表現抽出部214だけでなく複数のエンコーダ221のうち対応する1つに送る。エンコーダ221は、固有表現dNEとは別途に、文書Dcを受ける。
【0085】
このように、抽出モジュール210は、質問Qs及び文書Dcの文中から固有表現qNE,dNEを抽出する。
抽出モジュール210は、質問Qsと共に、抽出された固有表現qNEを、後段のエンコーダ220に送る。
抽出モジュール210は、文書Dcと共に、抽出された固有表現dNEを、後段のエンコーダ221に送る。
【0086】
<エンコーダ220,221>
図4は、本実施形態の情報処理装置1における、検索システム200のエンコーダ220,221の構成及び機能を説明するための図である。
【0087】
エンコーダ220,221は、自然言語の深層学習に関する各種の計算処理を行うように構成されたニューラルネットワークを含む。
【0088】
図4の(a)は、本実施形態における、質問Qsに対するエンコーダ220を説明するための図である。
【0089】
エンコーダ220は、学習済み言語モデルM2のニューラルネットワークに基づいて、供給された自然言語のベクトル変換処理を行う。尚、学習済み言語モデルM2は、各種のデータセットを用いて自然言語処理に関する機械学習(深層学習)が既になされたニューラルネットワークモデルである。
【0090】
エンコーダ220は、ニューラルネットワークの構成に応じて複数のレイヤLY1a,LY2aを含む。例えば、レイヤLY1aは、埋め込みレイヤである。レイヤLY2aは、隠れレイヤである。尚、レイヤLY1aは、アテンションレイヤでもよい。レイヤLY2aは、フィードフォーワードレイヤでもよい。
エンコーダ220は、質問Qs、及び、抽出モジュール210によって抽出された固有表現qNEを受ける。
【0091】
エンコーダ220は、質問Qsの文を複数のトークンTkに分割する。
エンコーダ220は、固有表現qNE及びトークン化された質問Qsに対して、レイヤLY1a,LY2aの機能に応じた各種の処理を行う。
【0092】
例えば、埋め込みレイヤを含むレイヤLY1aは、トークン化された質問Qs及び固有表現qNEに対して、各トークンの埋め込みのための各種の処理を行う。
例えば、隠れレイヤを含むレイヤLY2aは、レイヤLY1aからの出力に対して、積和演算のような各種の計算処理を行う。
【0093】
エンコーダ220は、レイヤLY1a,LY2aによる各種の処理によって、質問Qs及び固有表現qNEに基づくクエリベクトルQVを、生成及び出力する。クエリベクトルQVは、複数の成分Cmを含む。各成分Cmは、p×qの行列式で示され得る。
【0094】
p及びqは、1以上の整数である。尚、本実施形態において、各成分Cmは、簡略化のためにハッチングが付された矩形パターンで模式的に図示されているが、p×qで配列された複数の数値の配列である。
【0095】
図4の(b)及び(c)は、本実施形態における、文書Dcに対するエンコーダ221を説明するための図である。
【0096】
図4の(b)に示されるように、エンコーダ221は、エンコーダ220と実質的に同じ構成及び機能を有する。
エンコーダ221は、学習済み言語モデルM2のニューラルネットワークに基づいて、供給された自然言語のベクトル変換処理を行う。
エンコーダ221は、複数のレイヤLY1b,LY2bを含む。
【0097】
エンコーダ221は、文書Dc、及び、抽出モジュール210によってその文書Dcから抽出された複数の固有表現dNEa,dNEbのうち固有表現dNEaを受ける。
【0098】
エンコーダ221は、文書Dcの文を複数のトークンTkに分割する。
エンコーダ221は、固有表現dNEa及びトークン化された文書Dcに対して、各レイヤLY1b,LY2bの機能に応じた各種の処理を行う。
【0099】
エンコーダ221は、レイヤLY1b,LY2bによる各種の処理によって、文書Dc及び固有表現dNEaに基づくキーベクトルKVaを、生成及び出力する。キーベクトルKVaは、p×qの成分Cmを含む。キーベクトルKVaの成分Cmの数は、クエリベクトルQVの成分Cmの数と同じである。
【0100】
上述のように、1つの文書Dcから抽出された複数の固有表現dNE(dNEa,dNEb)のうちの1つが、1つのエンコーダ221に、供給される。
エンコーダ221は、固有表現dNE毎に、文書Dcと固有表現dNEとのキーベクトルKVを生成する。
【0101】
図4の(c)に示されるように、文書Dcから抽出された固有表現dNEaとは別の固有表現dNEbが、文書Dcと共に、別のエンコーダ221に供給される。
【0102】
このエンコーダ221は、文書Dc及び固有表現dNEbに基づくキーベクトルKVbを、生成及び出力する。
キーベクトルKVbの成分Cmの数は、キーベクトルKVaの成分Cmの数と同じである。キーベクトルKVbの複数の成分Cmは、キーベクトルKVaの複数の成分Cmと異なる。
【0103】
図4の(b)及び(c)のように、1つの文書Dcが2つの固有表現dNEa,dNEbを含んでいる場合、固有表現dNEa,dNEb毎に、2つのキーベクトルKVa,KVbが、生成される。
【0104】
複数のキーベクトルKVは、ストレージ13のデータベース132に記憶される。
【0105】
生成された複数のキーベクトルKVは、潜在表現空間LSを形成する。潜在表現空間LSは、学習済み言語モデルM2のような、共通のモデルのニューラルネットワークに基づいて生成されたベクトルの集合である。尚、潜在表現空間LSは、潜在空間LSともよばれる。
【0106】
本実施形態における質問Qsと固有表現qNEとから生成されるクエリベクトルQVは、或る固有表現qNEを含む質問Qsの文脈がその固有表現qNEに反映されることによって生成されるベクトルである、とも換言できる。
本実施形態における文書Dcと固有表現dNEとから生成されるキーベクトルKVは、或る固有表現dNEを含む文書Dcの文脈がその固有表現dNEに反映されることによって生成されるベクトルである、とも換言できる。
【0107】
以上のように、本実施形態において、検索システム200に用いられる複数のベクトルQV,KVが、形成される。
【0108】
尚、上述の例において、文書Dc毎に、対応する1つのエンコーダ221が設けられた構成が、示されている。
但し、複数の文書Dcが、1つのエンコーダ221に対応付けられてもよい。この場合において、1つのエンコーダ221が、順次供給される複数の文書Dcのそれぞれに対して、各文書Dcと固有表現dNEとを用いて、複数のキーベクトルKVを順次生成する。
【0109】
<テーブルTBL>
図5は、本実施形態の情報処理装置1における、検索システム200が文書Dc及びキーベクトルKVを管理するためのテーブルTBLを説明するための図である。
【0110】
例えば、テーブル管理部290は、抽出モジュール210からの複数の文書Dcの複数の識別番号Idに関する情報と、複数のエンコーダ221からの複数のキーベクトルKVに関する情報と、を受ける。
【0111】
テーブル管理部290は、複数の識別番号Idに関する情報及び複数のキーベクトルKVに関する情報に基づいて、図5のようなテーブルTBLを生成及び格納する。
【0112】
図5は、本実施形態の情報処理装置1における、テーブルTBLの一例を示している。
【0113】
図5に示されるように、或る文書Dc(Dc<1>,Dc<2>、Dc<3>,・・・,Dc<n―1>,Dc<n>)及びその文書Dcの識別番号Id(Id<1>,Id<2>、Id<3>,・・・,Id<n―1>,Id<n>)に基づいて、その文書Dcから生成された1つ以上のキーベクトルKV(KV<1>,KV<2>,KV<3>,・・・,KV<n―1>,KV<n>)は、その文書Dcの1つの識別番号Idに関連付けられる。
【0114】
上述のように、各識別番号Id<1>,Id<2>,Id<3>,・・・,Id<n-1>,Id<n>は、各文書Dc<1>,Dc<2>,Dc<3>,・・・,Dc<n-1>,Dc<n>に、1対1で関連付けられている。
【0115】
図5のテーブルTBLにおいて、1つの識別番号Idに、1つの文書Dcから生成された1つ以上のキーベクトルKVが関連付けられる。
例えば、<1>の識別番号Idに、2つのキーベクトルKV<1>-1,KV<1>-2が関連付けられている。例えば、<2>の識別番号Idに、2つのキーベクトルKV<2>-1,KV<2>-2が関連付けられている。例えば、<3>の識別番号Idに、m個のキーベクトルKV<3>-1,KV<3>-2,・・・,KV<3>-mが関連付けられている。mは、1以上の整数である。
例えば、<n-1>の識別番号Idに、1つのキーベクトルKV<n-1>が関連付けられている。例えば、<n>の識別番号Idに、2つのキーベクトルKV<n>-1,KV<n>-2が関連付けられている。
【0116】
それゆえ、テーブル管理部290に保存されたテーブルTBLに基づいて、対応する識別番号Idが、選択された1つのキーベクトルKVから検知できる。
【0117】
したがって、1つの文書Dcから複数のキーベクトルKVが生成されたとしても、対応する文書Dcが、或るキーベクトルKVに関連付けられた識別番号Idに基づいて、データベース131の中から読み出され得る。
【0118】
このように、本実施形態において、検索システム200は、テーブルTBLの参照によって、キーベクトルKVに対応する特定の文書Dcを、取得することができる。
【0119】
本実施形態のように、キーベクトルKVに基づく文書Dcの検索及び取得が、識別番号Idを用いて実行された場合、検索システム200の構成を、簡素化できる。例えば、本実施形態において、検索システム200は、キーベクトルKVを文に変換するためのデコーダを、含まない。
【0120】
以上のように、本実施形態の情報処理装置1における検索システム200は、上述の構成及び機能を含む。
【0121】
本実施形態において、生成されたクエリベクトルQVは、質問Qsの文の文脈の特徴量ベクトルに、質問Qsに含まれる固有表現qNeの特徴量ベクトルが反映された値を有する。
これと同様に、生成されたキーベクトルKVa,KVbのそれぞれは、文書Dcの文の文脈の特徴量ベクトルに、文書Dcに含まれる各固有表現dNEa,dNEbの特徴量ベクトルが反映された値を有する。
【0122】
互いに異なる固有表現dNEa,dNEbの特徴がそれぞれ反映された2つのキーベクトルKVa,KVbは、1つの文書Dcに基づく特徴量ベクトルであっても、固有表現dNEa,dNEb毎に異なる成分Cmを含み得る。
【0123】
例えば、本実施形態において、文書Dcの文脈が質問Qsの文脈に関連していても、文書Dcに含まれる固有表現dNEが質問Qsに含まれる固有表現qNEと類似していなければ、固有表現dNEの特徴が反映されたキーベクトルKVは、クエリベクトルQVに対して低い類似度を、有する。この結果として、質問Qsの固有表現qNEに対して低い類似度の固有表現dNEを有する文書Dcは、質問Qsに対する回答から除外される。
【0124】
これに対して、文書Dcの文脈が質問Qsの文脈に関連し、且つ、文書Dcに含まれる固有表現dNEが質問Qsに含まれる固有表現qNEと類似していれば、固有表現dNEの特徴が反映されたキーベクトルKVは、クエリベクトルQVに対して高い類似度を、有する。この結果として、質問Qsの固有表現qNEに対して高い類似度の固有表現dNEを有する文書Dcは、回答として選択される。
【0125】
また、本実施形態の情報処理装置1によれば、1つの文書Dcに含まれる固有表現dNEの数に応じて、1つの文書Dcから複数のキーベクトルKVが、生成され得る。
これによって、1つの文書Dcから1つのキーベクトルKVが生成される場合に比較して、1つの文書に含まれる固有表現dNEの数に応じて、1つの潜在表現空間LSに存在するキーベクトルKVの数が、増加する。
【0126】
これらの結果として、本実施形態の情報処理装置1は、検索システム200における検索クエリに対する検索の精度を向上できる。
それゆえ、本実施形態の情報処理装置1は、タスクの信頼性を向上できる。
【0127】
(b)情報処理方法
図6乃至図14を参照して、本実施形態の情報処理装置1による情報処理方法について、説明する。
尚、実施形態の情報処理方法は、実施形態の情報処理装置の制御方法を含み得る。
【0128】
<キーベクトルKVの生成>
図6乃至図8を参照して、本実施形態の情報処理装置1における、検索システム200によるキーベクトルKVの生成処理について、説明する。
図6は、本実施形態の情報処理装置1におけるキーベクトルKVの生成処理を示すフローチャートである。図7及び図8のそれぞれは、本実施形態における、キーベクトルKVの生成処理を説明するための模式図である。
【0129】
<S1>
図6及び図7に示されるように、検索システム200において、抽出モジュール210は、プロセッサ11のインターフェース部119を介して、ストレージ13のデータベース131から複数の文書Dcを受ける。文書Dcは、1つ以上の文を含む。複数の文書Dcは、情報処理装置1の外部のデバイスから提供されてもよい。
【0130】
例えば、抽出モジュール210は、文書Dc<1>として、“Biden was born in Scranton.”という文を、受ける。抽出モジュール210は、文書Dc<2>として、“Obama was born in Hawaii.”という文を、受ける。抽出モジュール210は、文書Dc<n>として、“Obama was awarded the Nobel peace prize.”という文を、受ける。
【0131】
<S2>
抽出モジュール210は、文書Dcと共に、文書Dcに関連付けられた識別番号Idを受ける。抽出モジュール210は、識別番号Idを抽出する。例えば、抽出モジュール210は、文書Dcから識別番号Idを分離する。抽出された識別番号Idは、テーブル管理部290に送られる。
【0132】
<S3>
抽出モジュール210は、固有表現抽出モデルM1に基づいて、各文書Dcに含まれる1つ以上の固有表現dNEを抽出する。
図7の例において、抽出モジュール210は、文書Dc<1>から、“Biden”という固有表現dNEaと、“Scranton”という固有表現dNEbと、を抽出する。抽出モジュール210は、文書Dc<2>から、“Obama”という固有表現dNEcと、“Hawaii”という固有表現dNEdと、を抽出する。抽出モジュール210は、文書Dc<n>から、“Obama”という固有表現dNEeと、“Nobel peace prize”という固有表現dNEfと、を抽出する。
【0133】
抽出モジュール210は、抽出された固有表現dNEのそれぞれを、対応するエンコーダ221に送る。また、抽出モジュール210は、文書Dcから抽出された固有表現dNEと共に、文書Dc自体を、対応するエンコーダ221に送る。
【0134】
<S4>
エンコーダ221は、学習済み言語モデルM2に基づいて、キーベクトルKVを生成する。
【0135】
図8に示されるように、各エンコーダ221は、文書Dc及び抽出された1つ以上の固有表現dNEを受ける。
【0136】
各エンコーダ221は、受け取った文書Dcをトークン化する。各エンコーダ221は、トークン及び固有表現dNEの埋め込み処理を行う。これによって、文書Dcを構成する語句及び固有表現dNEは、ベクトル化される。
【0137】
エンコーダ221は、学習済み言語モデルM2に基づいて、或る文書Dcから抽出された固有表現dNE毎に、その文書Dcと固有表現dNEとに関するキーベクトルKVを計算する。
【0138】
これによって、1つの文書Dcに対して、その文書Dcから抽出された固有表現dNEの数に応じて、1つ以上のキーベクトルKVが、生成される。
【0139】
例えば、文書Dc<1>に関して、2つのキーベクトルKV<1>-a,KV<1>-bが、生成される。キーベクトルKV<1>-aが、“Biden”という固有表現dNEaと文書Dc<1>とによって、生成される。キーベクトルKV<1>-bが、“Scranton”という固有表現dNEbと文書Dc<1>とによって、生成される。
【0140】
例えば、文書Dc<2>に関して、2つのキーベクトルKV<2>-c,KV<2>-dが、生成される。キーベクトルKV<2>-cが、“Obama”という固有表現dNEcと文書Dc<2>とによって、生成される。キーベクトルKV<2>-dが、“Hawaii”という固有表現dNEdと文書Dc<2>とによって、生成される。
【0141】
例えば、文書Dc<n>に関して、2つのキーベクトルKV<n>-e,KV<n>-fが、生成される。キーベクトルKV<n>-eが、“Obama”という固有表現dNEeと文書Dc<n>とによって、生成される。キーベクトルKV<n>-fが、“Nobel peace prize”という固有表現dNEfと文書Dc<n>とによって、生成される。
【0142】
この結果として、知識源としてデータベース131に格納されている複数の文書Dcに関する潜在表現空間LSが生成される。複数の文書Dcの複数のキーベクトルKVを含む潜在表現空間LSは、同一の自然言語モデルを用いたニューラルネットワークに基づいて生成される。
【0143】
潜在表現空間LSのキーベクトルKVの数は、データベース131に格納されている文書Dcの数より多い。但し、各文書Dcに含まれる固有表現dNeの数に応じて、キーベクトルKVの数が、文書Dcの数より少なくなる場合もある。
【0144】
<S5>
検索システム200は、プロセッサ11によって、生成されたキーベクトルKVとキーベクトルKVに対応する識別番号Idとを、ストレージ13に記憶する。これによって、潜在表現空間LSは、ストレージ13に格納される。例えば、キーベクトルKV及び識別番号Idは、テーブルTBLにおいて互いに関連付けられるように、保存される。
【0145】
例えば、テーブル管理部290は、キーベクトルKV及び識別番号Idを受ける。テーブル管理部290は、キーベクトルKV及び識別番号Idの対応関係を示すテーブルTBLを生成する。テーブルTBLは、検索タスクの実行前に生成されていればよい。
【0146】
例えば、検索タスクの実行時、生成された複数のキーベクトルKVは、メモリ12に読み出される。検索タスクの実行時、キーベクトルKV及び識別番号Idに関するテーブルTBLは、テーブル管理部290に読み出される。尚、キーベクトルKVは、テーブル管理部290に読み出されてもよい。
【0147】
以上のように、複数の文書Dcから、キーベクトルKVが生成される。
これによって、複数のキーベクトルKVを含む潜在表現空間LSが、形成される。
【0148】
<検索タスク>
図9乃至図13を参照して、本実施形態の情報処理装置1における、検索システム200による検索タスクについて、説明する。
図9は、本実施形態の情報処理装置1における検索タスクを示すフローチャートである。図10乃至図13のそれぞれは、本実施形態における、検索タスクを説明するための模式図である。
【0149】
<S10>
図9に示されるように、検索システム200は、検索タスクの対象となる質問Qsを受ける。質問Qsは、情報処理装置1のユーザー又はデバイス9によって生成される。ユーザーは、質問Qsを、ユーザーインターフェース14を介して、情報処理装置1に供給する。質問Qsは、プロセッサ11のインターフェース部119を介して、検索システム200に入力される。質問Qsは、1つ以上の文を含む。
【0150】
図10に示されるように、検索システム200において、抽出モジュール210は、質問Qsを受ける。
【0151】
例えば、本実施形態において、抽出モジュール210は、“Where was Obama born?”という文を、質問Qsとして、受ける。
【0152】
<S11>
抽出モジュール210は、固有表現抽出モデルM1に基づいて、質問Qsから固有表現qNEを抽出する。
図10の例において、抽出モジュール210は、質問Qsから“Obama”という固有表現qNEを抽出する。
【0153】
抽出モジュール210は、抽出された固有表現qNEを、エンコーダ220に送る。抽出モジュール210は、質問Qsから抽出された固有表現qNEと共に、質問Qs自体を、エンコーダ220に送る。
【0154】
<S12>
エンコーダ220は、質問Qs及び固有表現qNEを受ける。
エンコーダ220は、学習済み言語モデルM2に基づいて、質問Qs及び固有表現qNEを用いて、クエリベクトルQVを計算する。
これによって、質問Qsに対応するクエリベクトルQVが、生成される。生成されたクエリベクトルQVは、質問Qsの特徴量ベクトルに質問Qsから抽出された固有表現qNEの特徴量ベクトルが反映された値を有する。
【0155】
<S13>
図11に示されるように、検索システム200は、質問Qsの受信及び質問Qsに対する各種の処理に並行して、プロセッサ11の制御によって、潜在表現空間LSに含まれる複数のキーベクトルKVを、ストレージ13のデータベース132から読み出す。読み出されたキーベクトルKVは、例えば、メモリ12に格納される。
【0156】
検索システム200は、プロセッサ11によって、識別番号Id及びキーベクトルKVに関するテーブルTBLを、テーブル管理部290に読み出す。
【0157】
尚、キーベクトルKV及びテーブルTBLは、質問Qsの受信の前に、ストレージ13から読み出されていてもよい。
【0158】
<S14>
図12に示されるように、類似度計算部230は、クエリベクトルQVと各キーベクトルKVとの間の類似度を計算する。例えば、クエリベクトルQVとキーベクトルKVとの間の類似度は、コサイン類似度によって、計算される。
【0159】
これによって、クエリベクトルQVと各キーベクトルKVとの間の類似度の計算結果を示すスコアSCRが、キーベクトルKVごとにそれぞれ得られる。
【0160】
類似度計算部230は、スコアSCRを判定部240に送る。
【0161】
<S15>
判定部240は、類似度の計算結果に基づいて、回答候補となり得るキーベクトルKVの判定処理を、実行する。
【0162】
図13に示されるように、判定部240は、類似度のスコアSCRを、類似度計算部230から受ける。判定部240は、クエリベクトルQVに類似するキーベクトルKVを、潜在表現空間LSの複数のキーベクトルKVの中から検索する。
判定部240は、各キーベクトルKVに関するスコアSCRに基づいて、質問Qsに対する回答候補となり得るキーベクトルKVを、複数のキーベクトルKVの中から判定する。
【0163】
例えば、判定部240は、類似度のスコアSCRが閾値を満たすか否かに応じて、クエリベクトルQVに対するキーベクトルKVのランク付けを行う。これによって、判定部240は、或る閾値以上の類似度を有するキーベクトルKVを、回答候補として取得する。
【0164】
図13の例において、判定部240は、文書Dc自体の文脈の特徴と共に“Obama”という固有表現dNEの特徴が反映された複数のキーベクトルKV<2>-c,KV<n>-eを選択し、取得する。
【0165】
<S16>
図13に示されるように、結果出力部250は、判定処理の結果に基づいて、1つ以上の文書Dcを、質問Qsに対する検索結果RRとして、取得及び出力する。
【0166】
例えば、結果出力部250は、類似度に基づくキーベクトルKVの判定結果を判定部240から受ける。
【0167】
結果出力部250は、受けたキーベクトルKVに基づいて、テーブル管理部290のテーブルTBLを参照する。結果出力部250は、テーブルTBLの参照結果に基づいて、回答候補のキーベクトルKVに対応する識別番号Idを検知する。
【0168】
結果出力部250は、ストレージ13のデータベース131にアクセスする。結果出力部250は、検知された識別番号Idに対応する文書Dcを、データベース131から読み出す。
【0169】
例えば、キーベクトルKV<2>-cが選択された場合、結果出力部250は、選択されたキーベクトルKV<2>-c及びテーブルTBLに基づいて、キーベクトルKV<2>-cに識別番号Id<2>が関連付けられていることを、検知する。
これによって、結果出力部250は、検知された識別番号Id<2>に対応する文書Dc<2>を、データベース131から読み出す。
【0170】
キーベクトルKV<n>-eが選択された場合、結果出力部250は、選択されたキーベクトルKV<n>-e及びテーブルTBLに基づいて、キーベクトルKV<n>-eに識別番号Id<n>が関連付けられていることを、検知する。
これによって、結果出力部250は、検知された識別番号Id<n>に対応する文書Dc<n>を、データベース131から読み出す。
【0171】
このように、結果出力部250は、回答候補として選択されたキーベクトルKVに対応する文書Dc(Dc<2>,Dc<n>)を、取得する。
【0172】
結果出力部250は、取得された文書Dc<2>,Dc<n>を、回答に関するデータアイテムとして、ユーザーインターフェース14に出力する。
【0173】
この結果として、質問Qsを提供したユーザーは、結果出力部250からの出力に基づいて、質問Qsに対する検索結果RRの文書Dcを、認識できる。
【0174】
以上の処理によって、本実施形態の情報処理装置1における、検索タスクが、完了する。
【0175】
(c)まとめ
DPR(Dense passage retrieval)のような深層学習を用いた文書検索方法は、文字列の一致による関連文書の検索方法のような古典的な検索方法に比較して、DPRとして機能するために必要な追加学習に用いたデータセットに対してより高精度の検索を実現できる場合がある。
【0176】
但し、DPRによる文書検索方法は、初見の文書に対する検索精度が低い傾向がある。例えば、固有表現に関する質問に対する検索タスクにおいて、DPRによる文書検索方法の検索性能は、古典的な検索方法の検索性能より低いことがある。
【0177】
上述のように、本実施形態の情報処理装置1において、検索システム200は、質問Qs及び検索対象の文書Dcのそれぞれから、固有表現qNE,dNEを抽出する。
【0178】
検索システム200は、質問Qsと抽出された固有表現qNEとからクエリベクトルQVを生成する。検索システム200は、文書Dcから抽出された複数の固有表現dNEごとに、文書Dcと各固有表現dNEとから複数のキーベクトルKVを生成する。
【0179】
これによって、本実施形態の情報処理装置1は、同一の潜在表現空間LS上に、文書Dcの数より多い数のキーベクトルKVを、存在させることができる。また、本実施形態において、1つの文書Dcに対するキーベクトルKVの冗長性が、高くなる。
【0180】
本実施形態において、質問Qsに対応するクエリベクトルQVは、質問Qsの文脈の特徴に加えて、質問Qsから抽出された固有表現qNEの特徴がさらに反映される。これと同様に、文書Dcに対応するキーベクトルKVは、文書Dcの文脈の特徴に加えて、文書Dcから抽出された固有表現dNEの特徴がさらに反映される。
これによって、本実施形態の情報処理装置1は、質問Qsに含まれる固有表現qNEに類似する固有表現dNEの特徴が反映されたキーベクトルKVを、複数のキーベクトルKVの中から検索できる。
これらの結果として、本実施形態の情報処理装置1において、初見の文に対する検索性能が向上する。
【0181】
図14は、本実施形態の情報処理装置1の検索タスクに関する特性を示すグラフである。
図14のグラフの横軸は、検索結果として取得され得るキーベクトルの個数に対応する。図14のグラフの縦軸は、検索精度(単位:%)に対応する。
【0182】
丸のプロット及び実線で示される特性A1は、実施形態の情報処理装置1の検索システム200における検索精度の推移を示している。三角のプロット及び破線で示される特性A2は、比較例の検索システムにおける検索精度の推移を示している。比較例の検索システムは、一般的なDPRを用いた検索システムである。
【0183】
本実施形態の検索システム200の特性及び比較例の検索システムの特性は、EntityQuestions データセットを用いて評価された。開発セットにおける質問の数は、10170問である。
【0184】
図14に示されるように、本実施形態のように抽出された固有表現dNEと文書Dcとから生成されたキーベクトルKVが、検索システム200の検索タスクに用いられた場合、本実施形態の検索システム200の検索精度は、比較例の検索システムの検索精度に比較して、高くなる。
【0185】
このように、本実施形態の情報処理装置1は、検索タスクの検索精度を向上できる。
【0186】
以上のように、本実施形態の情報処理装置1及び情報処理方法は、タスクの精度を向上できる。
【0187】
(2)変形例
図15を参照して、実施形態の情報処理装置1の変形例について、説明する。
【0188】
図15は、実施形態の情報処理装置1の変形例を説明するための模式図である。
【0189】
図15に示されるように、質問Qsxが、複数の固有表現qNEa,qNEbを含む場合がある。例えば、図15の例において、“Which Nobel prize was awarded to Obama?”という質問Qsxが、情報処理装置1の検索システム200に供給される。質問Qsは、“Obama”という固有表現qNEaと、“Nobel prize”という固有表現qNEbと、を含む。
【0190】
この場合において、文書Dc及びキーベクトルKVと同様に、複数のクエリベクトルQVa,QVbが、1つの質問Qsxに含まれる複数の固有表現qNE毎に、計算及び生成される。
【0191】
抽出モジュール210は、固有表現抽出モデルM1に基づいて、複数の固有表現qNEa,qNEbを、質問Qsxから抽出する。ここでは、“Obama”と“Novel prize”という2つの固有表現qNEa,qNEbが、それぞれ抽出される。
【0192】
抽出モジュール210は、質問Qsx、及び、抽出された2つの固有表現qNEa,qNEbを、エンコーダ220へ送る。
【0193】
エンコーダ220は、学習済み言語モデルM2に基づいて、固有表現qNEa,qNEb毎に、質問Qsxと各固有表現qNEa,qNEbとを用いたクエリベクトルQVa,QVbを計算する。これによって、2つのクエリベクトルQVa,QVbが、1つの質問Qsxから生成される。
【0194】
一方のクエリベクトルQVaに、質問Qsxの文脈の特徴に対して固有表現qNEaの特徴が反映されている。他方のクエリベクトルQVbに、質問Qsxの文脈の特徴に対して固有表現qNEbの特徴が反映されている。
【0195】
類似度計算部230は、複数のクエリベクトルQVa,QVbと複数のキーベクトルKVとの間の類似度を、それぞれ計算する。
【0196】
類似度計算部230は、クエリベクトルQVaと各キーベクトルKVとの間の類似度を計算する。これによって、クエリベクトルQVa及び各キーベクトルKVに関する類似度の計算結果として、複数のスコアSCRaが、得られる。
類似度計算部230は、クエリベクトルQVbと各キーベクトルKVとの間の類似度を計算する。これによって、クエリベクトルQVb及び各キーベクトルKVに関する類似度の計算結果として、複数のスコアSCRbが、得られる。
【0197】
判定部240は、各クエリベクトルQVa,QVbに関する類似度の計算結果に基づいて、潜在表現空間LSの複数のキーベクトルKVの中から質問Qsxに対する回答候補となり得るキーベクトルKVを、判定する。
【0198】
結果出力部250は、判定結果及びテーブルTBLに基づいて、回答となる文書Dcを、データベース131から検索する。これによって、結果出力部250は、1以上の文書Dcをデータベース131から取得する。
結果出力部250は、検索結果RRの文書Dcを出力する。
【0199】
本変形例のように、ユーザーからの質問Qsxが、複数の固有表現qNEa,qNEbを含む場合であっても、実施形態の検索システム200は、固有表現qNEa,qNEb毎に生成された複数のクエリベクトルQVa,QVbを用いて、質問Qsxに対する回答となる文書Dcを、取得できる。
【0200】
したがって、本変形例の情報処理装置1は、上述の実施形態と実質的に同じ効果を得ることができる。
【0201】
(3)その他
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0202】
1:情報処理装置、11:プロセッサ、12:メモリ、13:ストレージ、14:ユーザーインターフェース、200:検索システム、210:抽出モジュール、220,221:エンコーダ、230:類似度計算部、240:判定部、250:結果出力部。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15