JP2023031294A - コンピュータ実装方法、コンピュータプログラム、コンピュータシステム(テキスト要素の特異度ランク付け及びその応用) - Google Patents
コンピュータ実装方法、コンピュータプログラム、コンピュータシステム(テキスト要素の特異度ランク付け及びその応用) Download PDFInfo
- Publication number
- JP2023031294A JP2023031294A JP2022131754A JP2022131754A JP2023031294A JP 2023031294 A JP2023031294 A JP 2023031294A JP 2022131754 A JP2022131754 A JP 2022131754A JP 2022131754 A JP2022131754 A JP 2022131754A JP 2023031294 A JP2023031294 A JP 2023031294A
- Authority
- JP
- Japan
- Prior art keywords
- text
- specificity
- elements
- ranked
- embedding
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 83
- 238000004590 computer program Methods 0.000 title claims description 11
- 239000012634 fragment Substances 0.000 claims abstract description 68
- 239000013598 vector Substances 0.000 claims abstract description 41
- 238000012545 processing Methods 0.000 claims description 34
- 238000003860 storage Methods 0.000 claims description 26
- 239000011159 matrix material Substances 0.000 claims description 18
- 230000008569 process Effects 0.000 claims description 17
- 230000014509 gene expression Effects 0.000 claims description 16
- 230000004044 response Effects 0.000 claims description 8
- 230000004931 aggregating effect Effects 0.000 claims description 5
- 230000001419 dependent effect Effects 0.000 claims description 3
- 238000013138 pruning Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 14
- 238000000605 extraction Methods 0.000 description 8
- 238000009826 distribution Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 239000000284 extract Substances 0.000 description 4
- 238000012549 training Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000002485 combustion reaction Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/211—Selection of the most significant subset of features
- G06F18/2113—Selection of the most significant subset of features by ranking or filtering the set of features, e.g. using a measure of variance or of feature cross-correlation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/26—Techniques for post-processing, e.g. correcting the recognition result
- G06V30/262—Techniques for post-processing, e.g. correcting the recognition result using context analysis, e.g. lexical, syntactic or semantic context
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Machine Translation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】特異度によって、少なくとも1つの単語を各々が含む複数のテキスト要素をランク付けすること。【解決手段】ランク付けされることになるテキスト要素ごとに、埋め込み空間においてテキスト要素を位置特定する埋め込みベクトルを計算する段階と、参照テキストからテキストフラグメントのセットを選択する段階とを備える。テキストフラグメントの各々は、ランク付けされることになるテキスト要素と更なるテキスト要素とを含む。テキストフラグメントごとに、埋め込み空間における、更なるテキスト要素間のそれぞれの距離を計算する。ランク付けされることになるテキスト要素についての特異度スコアを計算する段階と、特異度スコアを記憶する段階とを更に備える。複数のテキスト要素をランク付けした後、テキスト要素についての特異度スコアを使用してテキストデータ構造が、データ構造から所望の特異度を有するデータを抽出するために処理される。【選択図】図3
Description
[発明者又は共同発明者による先開示に関する陳述]
以下の開示は、米国特許法第102条(b)(1)(A)の下で提出される:Francesco Fusco及びPeter Willem Jan Staarによって設計される本開示の特定の機能は、本特許出願の譲受人の内のサーバ上に記憶されており、ここで、この機能は、2021年3月時点でIBM Research Deep Searchプラットフォームを介してサービスとして販売中になっている。
以下の開示は、米国特許法第102条(b)(1)(A)の下で提出される:Francesco Fusco及びPeter Willem Jan Staarによって設計される本開示の特定の機能は、本特許出願の譲受人の内のサーバ上に記憶されており、ここで、この機能は、2021年3月時点でIBM Research Deep Searchプラットフォームを介してサービスとして販売中になっている。
本発明は、概して、テキスト要素の特異度ランク付けに関する。特異度によって複数のテキスト要素をランク付けするコンピュータ実装方法が、そのような方法の応用とともに提供される。これらの方法を実装するシステム及びコンピュータプログラム製品も提供される。
単語又はフレーズ等のテキスト要素の特異度は、それらの要素に含まれる情報量の尺度である。テキスト要素が所与の領域における多くの情報を含む場合、その要素は、領域に非常に特異であり、その逆もまた然りである。テキストの特異度は、探索システムのコンテキストにおいて、探索クエリについて一般的な探索結果を返すべきか若しくは特異な探索結果を返すべきかを評価するか、又はユーザに対して代替の探索クエリを提案するために推定されてきた。特異度を推定するほとんどの従来技法は、音声の一部の分析(例えば、名詞が修飾される頻度)又は特定の用語の発生頻度に基づく統計を使用する。1つの技法は、単語埋め込みスキームを介して生成された埋め込み空間において用語を位置特定するベクトルから導出される様々なメトリックを使用してそれらの用語の特異度を評価する。この技法は、事前トレーニングされた埋め込みにおける埋め込みベクトルの分布を分析することによって取得されるメトリックを利用する。埋め込み行列のトレーニングが済むと、埋め込み空間におけるベクトル分布は、特異度を評価するのに使用される唯一のファクタである。
特異度を推定するほとんどの従来技法は、音声の一部の分析(例えば、名詞が修飾される頻度)又は特定の用語の発生頻度に基づく統計を使用する。1つの技法は、単語埋め込みスキームを介して生成された埋め込み空間において用語を位置特定するベクトルから導出される様々なメトリックを使用してそれらの用語の特異度を評価する。この技法は、事前トレーニングされた埋め込みにおける埋め込みベクトルの分布を分析することによって取得されるメトリックを利用する。埋め込み行列のトレーニングが済むと、埋め込み空間におけるベクトル分布は、特異度を評価するのに使用される唯一のファクタである。
本発明の1つの態様は、特異度によって、少なくとも1つの単語を各々が含む複数のテキスト要素をランク付けするコンピュータ実装方法を提供する。ランク付けされることになるテキスト要素ごとに、方法は、単語埋め込みスキームを介して、埋め込み空間においてテキスト要素を位置特定する埋め込みベクトルを計算する段階と、参照テキストからテキストフラグメントのセットを選択する段階とを備える。これらのテキストフラグメントの各々は、ランク付けされることになるテキスト要素と更なるテキスト要素とを含む。テキストフラグメントごとに、方法は、埋め込み空間における、単語埋め込みスキームを介して計算された埋め込みベクトルによって当該空間において各々位置特定される、更なるテキスト要素と、ランク付けされることになるテキスト要素との間のそれぞれの距離を計算する。方法は、上述の距離に依存して、ランク付けされることになるテキスト要素についての特異度スコアを計算する段階と、特異度スコアを記憶する段階とを更に備える。複数のテキスト要素についての結果として得られる特異度スコアは、特異度によるテキスト要素のランク付けを規定する。
本発明のそれぞれの更なる実施形態は、上記で説明されたようなテキスト要素をランク付けする方法を実装するように適応されるコンピューティングシステムと、コンピューティングシステムにそのような方法を実装させる、コンピューティングシステムによって実行可能なプログラム命令を具現化するコンピュータ可読記憶媒体を含むコンピュータプログラム製品とを提供する。
本発明の実施形態は、添付図面を参照して、例示的かつ非限定的な例として、以下でより詳細に説明される。
本発明の幾つかの実施形態は、システム、方法、若しくはコンピュータプログラム製品又はその組み合わせであってよい。コンピュータプログラム製品は、プロセッサに本発明の態様を実行させるコンピュータ可読プログラム命令を有するコンピュータ可読記憶媒体(又は複数の媒体)を含んでよい。
コンピュータ可読記憶媒体は、命令実行デバイスによって使用されるように命令を保持及び記憶することができる有形デバイスとすることができる。コンピュータ可読記憶媒体は、例えば、電子記憶デバイス、磁気記憶デバイス、光学記憶デバイス、電磁記憶デバイス、半導体記憶デバイス、又は前述したものの任意の適した組み合わせであってよいが、これらに限定されるものではない。コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストは、次のもの、すなわち、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROM又はフラッシュメモリ)、スタティックランダムアクセスメモリ(SRAM)、ポータブルコンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、メモリスティック、フロッピディスク、機械的にエンコードされたデバイス、例えば、パンチカード又は命令を記録した溝内の隆起構造、及び前述したものの任意の適した組み合わせを含む。コンピュータ可読記憶媒体は、本明細書において使用される場合、電波若しくは他の自由に伝搬する電磁波、導波路若しくは他の伝送媒体を通じて伝搬する電磁波(例えば、光ファイバケーブルを通過する光パルス)、又はワイヤを通じて伝送される電気信号等の一時的な信号それ自体とは解釈されるべきではない。
本明細書において説明されるコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体から、それぞれのコンピューティング/処理デバイスに、或いは、ネットワーク、例えば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク若しくは無線ネットワーク、又はその組み合わせを介して、外部コンピュータ又は外部記憶デバイスに、ダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ若しくはエッジサーバ、又はその組み合わせを含んでよい。各コンピューティング/処理デバイス内のネットワークアダプタカード又はネットワークインターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、当該コンピュータ可読プログラム命令を、それぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体に記憶するために転送する。
本発明の動作を実行するコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、又は、1つ若しくは複数のプログラミング言語の任意の組み合わせで記述されたソースコード若しくはオブジェクトコードのいずれかであってよく、1つ若しくは複数のプログラミング言語は、Smalltalk(登録商標)、C++等のようなオブジェクト指向プログラミング言語と、「C」プログラミング言語又は同様のプログラミング言語のような従来の手続き型プログラミング言語とを含む。コンピュータ可読プログラム命令は、ユーザのコンピュータ上で完全に実行されてもよいし、スタンドアロンソフトウェアパッケージとしてユーザのコンピュータ上で部分的に実行されてもよいし、部分的にユーザのコンピュータ上で、かつ、部分的にリモートコンピュータ上で実行されてもよいし、リモートコンピュータ若しくはサーバ上で完全に実行されてもよい。後者のシナリオでは、リモートコンピュータが、ローカルエリアネットワーク(LAN)又はワイドエリアネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータに接続されてもよいし、その接続が、(例えば、インターネットサービスプロバイダを使用してインターネットを介して)外部コンピュータに対して行われてもよい。幾つかの実施形態では、例えば、プログラマブルロジック回路、フィールドプログラマブルゲートアレイ(FPGA)、又はプログラマブルロジックアレイ(PLA)を含む電子回路は、本発明の態様を実行するために、コンピュータ可読プログラム命令の状態情報を利用することによってコンピュータ可読プログラム命令を実行して、電子回路をパーソナライズしてよい。
本発明の態様は、本明細書において、本発明の実施形態に係る方法、装置(システム)、及びコンピュータプログラム製品のフローチャート図若しくはブロック図、又はその両方を参照して説明されている。フローチャート図若しくはブロック図、又はその両方の各ブロック、並びに、フローチャート図若しくはブロック図、又はその両方のブロックの組み合わせは、コンピュータ可読プログラム命令によって実装することができることが理解されよう。
これらのコンピュータ可読プログラム命令を汎用コンピュータ、専用コンピュータ、又は他のプログラマブルデータ処理装置のプロセッサに提供して機械を生成してよく、それにより、コンピュータ又は他のプログラマブルデータ処理装置のプロセッサを介して実行される命令が、フローチャート若しくはブロック図、又はその両方の単数又は複数のブロックで指定された機能/動作を実装する手段を作成するようになる。また、これらのコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体に記憶されてよく、当該命令は、コンピュータ、プログラマブルデータ処理装置若しくは他のデバイス、又はその組み合わせに対し、特定の方式で機能するよう命令することができ、それにより、命令を記憶したコンピュータ可読記憶媒体は、フローチャート若しくはブロック図、又はその両方の単数又は複数のブロックで指定された機能/動作の態様を実装する命令を含む製品を含むようになる。
また、コンピュータ可読プログラム命令を、コンピュータ、他のプログラマブルデータ処理装置、又は他のデバイスにロードして、一連の動作段階をコンピュータ、他のプログラマブル装置又は他のデバイス上で実行させ、コンピュータ実装プロセスを生成してもよく、それにより、コンピュータ、他のプログラマブル装置、又は他のデバイス上で実行される命令は、フローチャート若しくはブロック図、又はその両方の単数又は複数のブロックで指定された機能/動作を実装するようになる。
図面におけるフローチャート及びブロック図は、本発明の様々な実施形態に係るシステム、方法、及びコンピュータプログラム製品の可能な実装のアーキテクチャ、機能、及び動作を示す。これに関して、フローチャート又はブロック図における各ブロックは、指定される論理機能を実装する1つ又は複数の実行可能命令を含む命令のモジュール、セグメント、又は部分を表し得る。幾つかの代替的な実装では、ブロックに記載される機能が、図面に記載される順序とは異なる順序で行われてよい。例えば、連続して示されている2つのブロックは、実際には、実質的に同時に実行されてもよいし、ブロックは、関与する機能に依存して逆の順序で実行される場合もあり得る。ブロック図若しくはフローチャート図、又はその両方の各ブロック、並びにブロック図若しくはフローチャート図、又はその両方におけるブロックの組み合わせは、指定された機能若しくは動作を実行するか、又は専用ハードウェアとコンピュータ命令との組み合わせを実行する専用ハードウェアベースシステムによって実装することができることにも留意されたい。
説明されることになる実施形態は、特異度によってテキスト要素をランク付けするコンピュータ実装方法として実行することができる。そのような方法は、本明細書において説明される動作を実装する機能を提供する1つ又は複数の汎用又は専用コンピュータを含むコンピューティングシステムによって実装され得、その各々は、1つ又は複数の(実際又は仮想の)機械を含み得る。本発明を具現化する方法の段階は、システムの処理装置によって実装されるプログラム命令、例えばプログラムモジュールによって実装され得る。一般的に、プログラムモジュールは、特定のタスクを実行するか、又は特定の抽象データタイプを実装する、ルーチン、プログラム、オブジェクト、コンポーネント、ロジック、データ構造等を含んでよい。コンピューティングシステムは、クラウドコンピューティング環境等の分散コンピューティング環境で実装され得、分散コンピューティング環境において、タスクは、通信ネットワークを通じてリンクされているリモート処理デバイスによって実行される。分散コンピューティング環境では、プログラムモジュールは、メモリ記憶デバイスを含むローカルコンピュータシステム記憶媒体及びリモートコンピュータシステム記憶媒体の両方に配置され得る。
図1は、本発明を具現化する方法を実装する例示的なコンピューティング装置のブロック図である。コンピューティング装置は、汎用コンピュータ1の形態で示されている。コンピュータ1のコンポーネントは、処理ユニット2によって表されている1つ又は複数のプロセッサ等の処理装置と、システムメモリ3と、システムメモリ3を含む様々なシステムコンポーネントを処理ユニット2に結合するバス4とを含んでよい。
バス4は、メモリバス又はメモリコントローラ、ペリフェラルバス、アクセラレーテッドグラフィックスポート、及び多様なバスアーキテクチャの任意のものを使用したプロセッサ又はローカルバスを含む、幾つかのタイプのバス構造の任意のもののうちの1つ又は複数を表す。限定ではなく例示として、そのようなアーキテクチャは、産業標準アーキテクチャ(ISA)バス、マイクロチャネルアーキテクチャ(MCA)バス、エンハンストISA(EISA)バス、ビデオエレクトロニクススタンダーズアソシエーション(VESA)ローカルバス、及びペリフェラルコンポーネントインターコネクト(PCI)バスを含む。
コンピュータ1は、典型的には、多様なコンピュータ可読媒体を含む。そのような媒体は、揮発性及び不揮発性の媒体と、取り外し可能及び取り外し不能な媒体とを含む、コンピュータ1によってアクセス可能である任意の利用可能な媒体であり得る。例えば、システムメモリ3は、ランダムアクセスメモリ(RAM)5若しくはキャッシュメモリ6又はその両方等の揮発性メモリの形態でコンピュータ可読媒体を含むことができる。コンピュータ1は、他の取り外し可能/取り外し不能、揮発性/不揮発性のコンピュータシステム記憶媒体を更に含み得る。単なる例示として、取り外し不能で不揮発性の磁気媒体(一般的に「ハードドライブ」と呼ばれる)との間で読み取り及び書き込みを行うために、記憶システム7を提供することができる。図示されていないが、取り外し可能で不揮発性の磁気ディスク(例えば、「フロッピディスク」)との間で読み取り及び書き込みを行うための磁気ディスクドライブ、及びCD-ROM、DVD-ROM、又は他の光学媒体等の取り外し可能で不揮発性の光ディスクとの間で読み取り又は書き込みを行うための光学ディスクドライブも提供することができる。そのような事例では、各々を1つ又は複数のデータ媒体インターフェースによってバス4に接続することができる。
メモリ3は、本発明の実施形態の機能を実行するように構成されている1つ又は複数のプログラムモジュールを有する少なくとも1つのプログラム製品を含んでよい。例示として、プログラムモジュール9のセット(少なくとも1つ)を有するプログラム/ユーティリティ8は、メモリ3に記憶され得、オペレーティングシステム、1つ又は複数のアプリケーションプログラム、他のプログラムモジュール、及びプログラムデータも同様である。オペレーティングシステム、1つ又は複数のアプリケーションプログラム、他のプログラムモジュール、及びプログラムデータの各々、又はこれらの何らかの組み合わせは、ネットワーキング環境の実装を含んでよい。プログラムモジュール9は、概して、本明細書において説明されるように、本発明の実施形態の機能若しくは方法論又はその両方を実行する。
また、コンピュータ1は、キーボード、ポインティングデバイス、ディスプレイ11等のような1つ若しくは複数の外部デバイス10、ユーザがコンピュータ1とインタラクトすることを可能にする1つ若しくは複数のデバイス、若しくはコンピュータ1が1つ若しくは複数の他のコンピューティングデバイスと通信することを可能にする任意のデバイス(例えば、ネットワークカード、モデム等)、又はその組み合わせと通信してよい。そのような通信は、入力/出力(I/O)インターフェース12を介して生じ得る。また、コンピュータ1は、ローカルエリアネットワーク(LAN)、一般的なワイドエリアネットワーク(WAN)、若しくはパブリックネットワーク(例えば、インターネット)、又はその組み合わせ等の1つ又は複数のネットワークと、ネットワークアダプタ13を介して通信することができる。図示されているように、ネットワークアダプタ13は、バス4を介してコンピュータ1の他のコンポーネントと通信する。また、コンピュータ1は、本発明の実施形態を実装する、GPU(グラフィックス処理ユニット)又はFPGA等の追加の処理装置14と通信してよい。図示されていないが、他のハードウェア若しくはソフトウェアコンポーネント又はその両方をコンピュータ1と併せて使用することができることが理解されるべきである。例としては、マイクロコード、デバイスドライバ、冗長処理ユニット、外部ディスクドライブアレイ、RAIDシステム、テープドライブ、及びデータアーカイブ記憶システム等が挙げられるが、これらに限定されるものではない。
図2は、本発明を具現化する例示的なコンピューティングシステムのコンポーネントモジュールを概略的に示している。システム20は、メモリ21と、特異度によってテキスト要素をランク付けする機能を含む、全体的に22として示される制御ロジックとを備える。制御ロジック22は、単語埋め込みモジュール23と、コンテキスト選択器モジュール24と、特異度計算器モジュール25とを含む。これらのモジュールの各々は、以下で詳述されるランク付けプロセスの特定の段階を実装する機能を含む。これらのモジュールは、システム20の動作において使用される様々なデータ構造を記憶するメモリ21とインターフェースする。これらのデータ構造は、特異度によってランク付けされることになるN個のテキスト要素のセット27(ここでは{ti}によって示されており、i=1~N)と、単語埋め込みモジュール23によって生成される埋め込みベクトルのセット28と、図面においてテキストコーパス30によって表される参照テキストからコンテキスト選択器24によって選択されるテキストフラグメント(「コンテキストフラグメント」)のセット29とを含む。テキスト要素{ti}について特異度計算器25によって生成される特異度スコアのセット31(ここでは{Si}によって示されており、i=1~N)もシステムメモリ21に記憶される。
一般には、ロジックモジュール23~25の機能は、ソフトウェア(プログラムモジュール等)若しくはハードウェア又はそれらの組み合わせによって実装されてよい。説明されている機能は、他の実施形態ではシステムモジュール間で異なるように割り当てられてよく、1つ又は複数のモジュールの機能が組み合わされてよい。システム20のコンポーネントモジュールは、コンピューティングシステムの1つ又は複数のコンピュータにおいて提供されてよい。例えば、全てのモジュールがコンピュータ1において提供されてもよいし、モジュールは、ユーザコンピュータがランク付けされることになるテキストアイテムの入力のためにネットワーク(1つ若しくは複数のコンポーネントネットワーク若しくはインターネットワーク(インターネットを含む)又はその両方を含み得る)を介して接続することができる1つ又は複数のコンピュータ/サーバにおいて提供されてよい。システムメモリ21は、システム20の1つ又は複数のコンピュータに関連付けられた1つ又は複数のメモリ/記憶コンポーネントによって実装されてよい。
テキスト要素のセット{ti}は、個々の単語若しくは複単語表現(MWE:multiword expression)又はその両方を含んでよく、特定の応用/領域のためにコンパイルされてもよいし、種々の応用において使用するために複数の領域にわたってもよい。本発明の幾つかの実施形態は、これらの要素の内在的な特異度を活用するために{ti}内にMWEを組み込む。MWE tiのリストは、システムメモリ21への記憶のために、以下で説明されるように手動又は自動のいずれかで事前コンパイルすることができる。
参照テキストコーパス30は、ローカルであってもよいし、システム20からリモートであってもよく、ランク付けされることになる要素{ti}の領域にわたる1つ又は複数の情報源からのテキストを含んでよい。図2では単一のエンティティとして表されているが、参照テキストコーパスは、複数の情報源、例えば、データベース若しくはウェブサイト又はその両方にわたって分散されるコンテンツを含んでよく、これらには、ネットワークを介してシステムが動的にアクセスしてよい。幾つかの実施形態では、参照テキスト28は、システム動作のために事前コンパイルされ、システムメモリ21に記憶されてよい。
図3のフローチャート300は、(テキスト要素ランク付け段階34として指定される)システム20によって実行されるランク付けプロセスの段階を示している。段階35は、ランク付けされることになるテキスト要素のセット{ti}の、システムメモリ21への記憶を表す。段階36において、単語埋め込みモジュール23は、単語埋め込みスキームを介してテキスト要素tiごとに埋め込みベクトルを計算する。単語埋め込みスキームは、周知であり、本質的には、テキスト要素と、多次元埋め込み空間におけるそれぞれのテキスト要素のロケーションを規定する実数のベクトルとの間のマッピングを生成する。この空間におけるテキスト要素の相対ロケーションは、テキスト要素間の関係の度合いを示しており、埋め込み空間において「より近い」要素は、更に離れている要素よりも密接に関連している。特に、単語埋め込みの概念は、類似のテキストコンテキストにおいて現れる要素を、埋め込み空間において互いに近くにあるようにマッピングすることである。例えば、Word2Vec、GloVe(Global Vectors)若しくはFastTextモデルを使用したコンテキスト非依存スキーム、又はBERT(トランスフォーマからの双方向エンコーダ表現(Bidirectional Encoder Representations from Transformers))モデル等のトランスフォーマアーキテクチャに基づいたモデルを含むコンテキスト依存スキームを含む、任意の所望の単語埋め込みスキームがここで利用されてよい。単語埋め込みスキームは、類似のコンテキストにおいて現れ、したがって、意味論的に類似の概念を表すテキスト要素の「クラウド」を生成することができる。単語埋め込みモジュール23によって生成される埋め込みベクトルの各々は、このように、ここではχによって示されている埋め込み空間において対応するテキスト要素tiを位置特定する。結果として得られるベクトルは、システムメモリ21内の28において記憶される。
段階37において、コンテキスト選択器モジュール24は、ランク付けされることになる要素tiごとに参照テキスト30からテキストフラグメントのセットを選択する。これらのテキストフラグメントの各々は、要素tiと、更なるテキスト要素(ここで、これらの更なるテキスト要素は、ランク付けされることになる他の要素tiのうちの1つ又は複数を含む場合も含まない場合もある)とを含む。例えば、コンテキスト選択器24は、参照テキスト内の要素tiを含む数行のテキスト、文若しくはパラグラフ、又はテキスト内の所与の要素tiの周辺の単語のウィンドウを選択してよい。一般には、所与のテキスト要素を含む1つ又は複数のテキストフラグメントのセットがここで選択されてよく、幾つかの実施形態は、要素ごとに複数のフラグメントを選択する。選択されたテキストフラグメントは、(場合によっては、以下で説明される更なる処理の後に)コンテキストフラグメント29としてシステムメモリ21に記憶される。
段階38~40は、特異度計算器25の動作を示している。これらの段階は、ランク付けされることになるテキスト要素tiごとに実行される。段階38において、特異度計算器は、コンテキストフラグメント29のセットから所与の要素tiを含むコンテキストフラグメントを取り出す。フラグメントごとに、特異度計算器25は、埋め込み空間χにおける、要素tiと、そのフラグメント内の更なるテキスト要素との間のそれぞれの距離を計算する。これらの距離を計算するために、各更なるテキスト要素は、まず、単語埋め込みスキームを介して計算された対応する埋め込みベクトルによって埋め込み空間χにおいて位置特定されなれければならない。更なるテキスト要素についての埋め込みベクトルは、上記の段階36において、例えば以下で詳述されるようにコンテキスト非依存埋め込みスキームを介して、事前計算されてもよいし、コンテキスト依存埋め込みスキームを介して動的に計算されてもよい。χにおけるtiと更なるテキスト要素との間の距離は、これらの要素を表す2つのベクトル間のコサイン類似度として簡便に計算することができる。しかしながら、他の実施形態では、ユークリッド距離等の任意の簡便な距離メトリックが使用されてよい。段階39において、特異度計算器は、要素tiについての特異度スコアを計算する。要素tiについての特異度スコアSiは、段階38においてその要素を含むコンテキストフラグメントから計算された距離に依存する。特異度スコアは、以下で説明されるように様々な方式でこれらの距離から計算されてよい。段階40において、特異度スコアSiは、システムメモリ21内のセット31に記憶される。全てのテキスト要素{ti}についてコンテキストフラグメントを処理した後、特異度スコアの結果として得られるセット{Si}は、次に、特異度によってこれらのテキスト要素のランク付けを規定する。
上記の方法は、埋め込み空間χにおけるコンテキストフラグメント内のテキスト要素間の距離を使用することによる特異度の計算においてテキスト要素についてのコンテキストに対応する。単語埋め込みから抽出された情報にコンテキストを注入することによって、結果として得られる特異度スコアは、テキスト要素が現れるコンテキストの均質性の尺度を提供する。これは、非常に特異な用語が、より一般的な用語よりも均質なコンテキストにおいて現れる傾向があることに基づいて、特異度の真の尺度を提供する。例示的な例として、「情報隠蔽(information hiding)」という用語は、ソフトウェアエンジニアリングにおいて内部状態を外部に露出しないデータ構造を設計するときに使用される非常に技術的な表現である。対照的に、「情報を隠蔽する(hiding information)」は、多くの異なるコンテキストにおいて使用することができ、したがって現れるであろう用語である。それゆえ、上記の技法は、情報抽出アプリケーションの性能及びリソース効率性についての結果としての利点を有する、改善された特異度推定を提供する。この技法はまた、完全に教師なしであり、特異度スコアを、注釈付きトレーニングデータを必要とすることなくテキスト要素の任意のセットについて計算することが可能になる。
図4のダイアグラム400は、本発明の幾つかの実施形態におけるより詳細なシステム実装を示している。この実施形態のシステム45は、{mi}によって示される、MWEの大規模セットをコンパイル及びランク付けするように適応される。このシステムの制御ロジック46は、前述のように、単語埋め込みモジュール47と、コンテキスト選択器48と、特異度計算器49とを含む。制御ロジックは、MWE抽出器モジュール50及びテキストエンコーダモジュール51も含む。システムメモリ53に記憶されるデータ構造は、概略的に55において示される知識ベースからMWE抽出器50によって自動的にコンパイルされるMWEのセット54{mi}と、WE(単語埋め込み)コーパス57として示されるテキストコーパスからテキストエンコーダ51によって生成されるトークン化テキストデータセット56とを含む。実用時には、知識ベース55及びWEコーパス57は、複数の情報源から収集されるか、又は複数の情報源にわたって分散されるコンテンツを表してよい。メモリ53は、単語埋め込みモジュール47によって生成される埋め込み行列58、及び以下で更に説明される逆頻度のセット59も記憶する。加えて、メモリ53は、コンテキスト選択器48によって生成されるコンテキストフラグメントのセット60、及び以下で更に説明されるインスタンススコアのセット61を、MWE{mi}について計算される特異度スコアの最終セット62とともに、記憶する。
システム45の動作は、図5~図8を参照して説明されることになる。図5のフローチャート500は、埋め込み行列58の生成に至る動作段階を示している。段階65において、MWE抽出器50は、知識ベース55にアクセスして、当該知識ベース内のハイパーリンクに関連付けられたMWEを抽出する。(Wikipedia、DBPedia、Yago等のような)知識ベースは、本質的には、概念が互いにリンクされる概念のグラフである。MWE抽出器50は、ハイパーリンクを通して探索することによって知識ベースからMWEを抽出することができる。例えば、次の文(ハイパーリンクが下線によって示される):「In thermal power stations, mechanical power is produced by a heat engine which converts thermal energy, from combustion of a fuel, into rotational energy(火力発電所において、燃料の燃焼からの熱エネルギーを、回転エネルギーに変換する熱機関によって機械動力が生成される)」において、MWE抽出器は、「heat engine(熱機関)」及び「thermal energy(熱エネルギー)」を選択してよい。そのような知識ベースにおけるハイパーリンクは、手動で注釈付けされ、したがって高品質である。知識ベーステキストを単純にスキャンすることによって、MWE抽出器50は、膨大な数の良好に規定されたMWEを抽出することができる。この例では、MWE抽出器は、知識ベース55を探索して、広範囲のトピックをカバーするMWEの大規模辞書をコンパイルする。MWEの結果として得られるセット{mi}54は、段階66においてメモリ53に記憶される。
段階67及び段階68において、テキストエンコーダ51は、トークン化テキスト内で、各MWE miが単一トークンとしてエンコードされ、かつコーパス内の他の単語がそれぞれのトークンとしてエンコードされるようにWEコーパス57を前処理及びトークン化することによってトークン化テキスト56を生成する。特に、段階67において、テキストエンコーダは、図6のダイアグラム600のデータフローにおいて概略的に示されるように、WEコーパス57を前処理する。MWE miのインスタンスは、未加工コーパス内で識別され、これらの各々は、連結され、個々の単語として扱われる。例えば、MWE「machine learning(機械学習)」は、「machine_learning」として連結される。(「a」、「and」、「was」等のような)全てのユニット及びストップワード(stop word)も、前処理中に除去され、全ての大文字が小文字に変更される。結果として得られるテキストは、次に、単語埋め込みをトレーニングするために文に分割される。図5の段階68において、前処理されたテキストは、全ての残りの単語及びMWEをそれぞれの単一トークンとしてエンコードすることによってトークン化される。ここではワンホットエンコードが簡便に利用されるが、当然ながら他のエンコードスキームを想定することができる。それゆえ、各トークンは、特定の単語/MWEを表し、その単語/MWEが、それが前処理されたテキストにおいて現れる場合には常に対応するトークンに置き換えられる。結果として得られるトークン化テキスト56は、システムメモリ53に記憶される。
段階69において、単語埋め込みモジュール47は、トークン化テキスト56を処理して、埋め込み行列58を生成する。この実施形態では、テキスト56におけるトークン化文が使用されて、既知のCBOW(Common Bag Of Words(コモンバッグオブワード))及びネガティブサンプリング技法(例えば、「Distributed representations of words and phrases and their compositionality」Mikolov et al., Advances in Neural Information Processing Systems 26, 2013, pp.3111-3119を参照)を使用してWord2Vec埋め込みモデルがトレーニングされる。この結果、図6において概略的に示されるように、前処理されたテキスト内のそれぞれのMWE/単語に対応するトークンの各々に1つずつ、埋め込みベクトルのセットが得られる。ベクトルのこのセットは、段階70においてシステムメモリ53に記憶される埋め込み行列58を構成する。それゆえ、結果として得られる埋め込み行列は、ランク付けされることになるテキスト要素(ここではMWE)と、コンテキスト選択器48によって参照テキストコーパス30から選択されるテキストフラグメント内に含まれる更なるテキスト要素とに対応する埋め込みベクトルを含む。(これに関して、別個の参照テキストコーパス30が図4において示されているが、他の実施形態では、WEコーパス57がコンテキストフラグメントについての参照テキストとして機能してよく、それによって、埋め込みベクトルがコンテキストフラグメント内の全てのテキスト要素のために利用可能になる。)
WEコーパス57を処理するとき、埋め込みモジュール47は、前処理されたコーパス内の各テキスト要素(ここでは全体的にwによって示されるMWE又は単語)のインスタンスの数をカウントする。要素wごとに、埋め込みモジュールは、その要素の逆発生頻度f(w)を計算する。m個の単語のコーパス内でn回現れる要素wの逆発生頻度は、f(w)=m/nとして定義される。要素wについての逆頻度f(w)のセットは、システムメモリ53内の59において記憶される。
コンテキスト選択器48の動作は、ここでは、図7のダイアグラム700のデータフローにおいて示されている。この例では、コンテキスト選択器48は、WEコーパス57とは別個である参照テキストコーパス30を使用する。図7の段階(a)において、コンテキスト選択器は、参照コーパス30から文を抽出する。段階(b)において、文におけるMWE miの全てのインスタンスが、図面におけるボールド体及び連結によって示されるように、識別及びマーク付けされる。段階(b)において取り消し線によって示されるように、全ての一般的なストップワード、ユニット及び数字も識別され、これらは、段階(c)において処理された文を取得するために除去される。MWE miのインスタンスを含む各処理された文は、コンテキストフラグメントとして選択される。コンテキスト選択器は、次に、段階(d)において示されているようにここでは「バッグオブワード」(BOW)として、セット60内に各コンテキストフラグメントを記憶する。
図8のフローチャート800は、この実施形態における特異度計算器49の動作を示している。段階75において、特異度計算器は、フラグメントセット60からコンテキストフラグメントを選択する。後続の段階76~段階78が、次に、選択されたフラグメントについて、BOW内のMWE miごとに実行される。段階76において、特異度計算器は、埋め込み空間χにおける、埋め込みベクトルが埋め込み行列58内に含まれるBOW内のMWE miと各更なるテキスト要素(MWE/単語)wとの間の距離を計算する。ここではd(mi,w)によって示される距離は、それぞれmi及びwを表す2つのベクトル間のコサイン類似度として計算される。これにより、範囲(-1,+1)内の数字がもたらされ、より高い数字は、埋め込み空間χにおいてより近い要素mi及びwを示す。
特異度計算器は、次に、現在のフラグメントについて段階76において計算された距離からMWE miについてのインスタンススコア61を計算する。この実施形態では、各距離d(mi,w)は、要素wについてセット59内に記憶された逆発生頻度f(w)に基づいてまず重み付けされ、MWE miについてのインスタンススコアは、フラグメントについての重み付き距離の関数として計算される。特に、段階78において、特異度計算器は、そのフラグメントについての重み付き距離を集約することによってインスタンススコアを取得する。この例では、MWE mi及び更なる要素w1、...、wkを含むBOWを与えられると、インスタンススコアTiが、
として計算される。
判断段階79において更なるコンテキストフラグメントが処理されることになる場合、動作は、段階75に戻り、ここで、次のフラグメントがセット60から選択され、上記のように処理される。段階79において全てのコンテキストフラグメントが処理済みになると、動作は段階80に進む。ここで、MWE miごとに、特異度計算器49は、miについてのインスタンススコアTiの関数として特異度スコアSiを計算する。この実施形態では、特異度スコアSiは、ここでは単純平均:
として、インスタンススコアTiを集約することによって計算される。MWEについての最終特異度スコアSiは、このように、参照コーパス全体にわたるMWEについてのインスタンススコアTiを集約するコーパスレベルスコアである。特異度スコアの結果として得られるセット62{Si}は、特異度によってWEコーパス57内の全てのMWE miをランク付けする。
上記の逆頻度によって距離を重み付けすることにより、一般的な(及びおそらくより一般的な)要素wの寄与にペナルティが科され、平均をより一般的ではない (及びおそらくより特異な)要素に向けるバイアスが与えられる。MWEの大規模辞書を有する大規模の多様なWEコーパス57から埋め込み行列58を生成することによって、上記のシステムは、広範囲の応用において使用するために特異度スコアを自動的に生成することができる。しかしながら、一般には、特異度スコア{Si}は、埋め込み空間χにおける、MWE若しくは個々の単語又はその両方についてのトークンの任意のサブセットについて計算されてよく、このサブセットは、所与の分野又は応用に特異であり得る。埋め込み行列58は、他の実施形態では特異な技術分野/応用に関連したMWE/単語についても生成されてよい。
図9Aすなわち900a及び図9Bすなわち900bの表は、図4のシステムの実装によって生成される特異度ランク付けからの抽出を示している。図9Aの結果は、150万件の特許の要約書を含む参照テキストコーパスを使用して取得した。図9Bの結果は、arXiv論文からの120万件の要約を含む参照テキストコーパスを使用して取得した。両方の結果のセットは、1億件を超えるニュース記事のWEコーパスから構築された埋め込み行列を使用した。図9Aは、単語「knowledge(知識)」を含むトークンを有する10個の最高スコアMWE及び10個の最低スコアMWEについての特異度スコアを示している。図9Bは、単語「language(言語)」を含むトークンを有する10個の最高スコアMWE及び10個の最低スコアMWEを示している。スコアは列挙されているMWEの特異度と良好に相関することがあり得る。これらの例は、上記の技法によって計算される特異度スコアが、大規模参照コーパスにわたって計算されるインスタンススコアの単純平均としてでさえ、より一般的な表現から非常に技術的なMWEを確実に区別することができることを実証している。
特異度ランク付け技法は、多数のデータ処理アプリケーションの動作を向上させるために使用することができ、この技法において、特異度によってテキスト要素をランク付けした後、特異度スコアは、所望の特異度を有するデータを抽出するためにテキストデータ構造を処理する際に使用される。特異度スコアの使用は、様々な目的で様々なデータ構造から関連データを抽出するのに必要とされる処理リソースを削減することができ、抽出されたデータの品質を改善することができ、それゆえ、これらのデータ構造を使用してアプリケーションの性能が向上される。幾つかの例示的な応用が、図10から図13を参照して以下で説明される。
図10のフローチャート1000は、大規模テキストコーパスから知識を抽出する知識誘導システムの動作を示している。そのような応用は、一般的に、クラウド内のデータベース/ウェブサイトからマイニングされる膨大な量のテキストを処理する。段階85は、分析されることになるクラウドデータの記憶を表す。段階86において、上記で説明されたランク付け方法は、特異度によってこのデータ内のテキスト要素をランク付けするために利用される。段階87において、クラウドデータは、特異度スコアに基づいて、コーパス内の最も特異なテキスト要素、例えば、規定された閾値よりも高い特異度スコアを有するテキスト要素のセットを識別するためにフィルタリングされる。段階88において、次に、知識グラフ(KG)が、フィルタリングされたデータから構築される。知識グラフは、産業応用、商業応用又は科学応用のために大量のデータから有意な知識を抽出するのに一般的に使用される周知のデータ構造である。知識グラフは、本質的には、エンティティを表すノードを含み、ノードは、接続されたエンティティ間の関係を表すエッジによって相互接続されている。段階88において構築された知識グラフは、それゆえ、最も特異なテキスト要素の識別されたセット内の要素に対応するノードを含み、ノードは、それらのノード間の関係を表すエッジによって相互接続されている。(そのような関係は、当業者には明らかとなるように、特定の応用について様々な方式で規定することができる)。結果として得られる知識グラフは、グラフ内で表される情報を抽出するために探索することができるデータ構造を提供する。段階89における入力探索クエリに応答して、システムは、次に、段階90においてグラフを探索して、データ構造からリクエストされたデータを抽出する。この応用において知識グラフを構築するのに使用されるデータをフィルタリングすることは、データ構造のサイズ、したがってグラフを記憶するのに必要とされるメモリを大幅に削減することができ、それと同時に、大半の情報を含む最も特異なデータが保持されることが確保される。探索動作の計算強度(compute intensity)も同様に削減され、探索結果は、より特異な、典型的にはより有用な、情報に絞られる。
特異度スコアの別の応用は、探索プロセスのためのキーワードセットの拡張に関する。図11のフローチャート1100は、そのようなシステムの動作を示している。段階95は、潜在埋め込み空間においてそれぞれのテキスト要素を位置特定するベクトルを含む単語埋め込み行列のシステムへの記憶を表す。そのような行列は、図4の埋め込み行列58と同様の様式で生成することができ、1つ又は複数の技術分野における広範囲の単語/MWEをエンコードしてよい。段階96において、埋め込み行列内のテキスト要素は、上記で説明されたように特異度によってランク付けされる。段階97は、ユーザによる、探索されることになる分野に関する埋め込み行列内のベクトルによって表されるキーワードの入力を表す。段階98において、システムは、次に、そのキーワード周辺の埋め込み空間を探索して、埋め込み空間における近傍テキスト要素を識別する。様々なクラスタリング/最近傍探索プロセスをここで利用することができ、探索プロセスは、入力されたキーワードの近傍の最も特異なテキスト要素(例えば、所望の閾値を超える特異度スコアを有する要素)のセットを位置特定するように適応される。段階99において、このように識別されたテキスト要素は、ユーザ入力キーワードとともに、拡張されたキーワードセットとして記憶される。拡張されたキーワードセットは、その後、例えばセット内のキーワードをコーパス内のドキュメントに文字列マッチングすることによって、テキストコーパスを探索するのに使用して、必要とされる分野における関連ドキュメントを識別することができる。この応用における特異度スコアの使用は、小さいユーザ入力キーワードセットを、非常に特異な関連したキーワードを用いて自動的に拡張することを可能にし、所与の分野における関連ドキュメントの位置特定が容易になる。この応用の特定の例は、テキスト分類器モデルをトレーニングするためのトレーニングドキュメントを収集するためのものである。
図12のフローチャート1200は、自動化フレーズ抽出システムにおける特異度スコアの使用を示している。フレーズ抽出システムは、周知であり、抽出/要約の目的でドキュメントからテーマフレーズ又はキーフレーズを抽出するのに使用することができる(例えば、「Key2Vec: Automatic ranked keyphrase extraction from scientific articles using phrase embeddings」 Mahata et al., Proceedings of the 2018 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 2, June 2018, pp. 634-639」を参照)。これらのシステムは、多くの場合、ドキュメント内の候補キーフレーズのためのグラフベース表現を使用する。候補フレーズを表すノードは、関連付けられた重み(意味的類似度、発生頻度等に依存する)を有する、ノード間の関係を表すエッジによって相互接続され、これらは次に、最良の候補を選択するのに使用される。図12の段階100は、候補フレーズのためのグラフを生成する通常テキスト処理動作を表す。段階101において、グラフ内のテキスト要素は、上記で説明された方法を使用して特異度によってランク付けされる。段階102において、グラフは、候補フレーズ内のテキスト要素についての特異度スコアに依存して剪定されて、これらのフレーズの最も特異なサブセットを表すサブグラフが取得される。この最も特異なサブセットは、所望の閾値を超える特異度スコアを有するテキスト要素を含むフレーズを含んでよい。段階103において、結果として得られるサブグラフは、次に、このサブグラフから最良の候補フレーズを抽出するために通常の方式で処理される。そのような処理は、所望の目的で最良のフレーズを抽出するために様々なグラフ特徴に基づいてノードをスコア付けすることを伴ってよい。
図13のフローチャート1300は、探索システムにおける特異度スコアの使用を示している。段階105において、ここで、探索データベース内のテキスト要素は、上記で説明されたように特異度によってランク付けされる。段階106における探索クエリの入力に応答して、システムは、クエリテキスト内の任意のランク付けされたテキスト要素を識別する。段階108において、システムは、そのように識別された任意のランク付けされたテキスト要素についての特異度スコアに依存して探索データベースからデータを抽出することによって探索クエリに対する応答を生成する。応答は、ここでは、ユーザに対する代替の探索クエリを提案することであるか、又は探索データベースからリクエストされたデータを取り出すことであってよい。特異度スコアは、ここでは、入力クエリにおける最高特異度スコアを有する要素に基づいて最も関連した代替のクエリ又は応答データを識別するのに使用することができる。特異度スコアは、ユーザの知識の度合いを評価し、それに応じて結果を返すのに使用されてもよい。例えば、非常に特異なテキスト要素を含む入力クエリは、知識が豊富なユーザがより詳細な結果を望んでいることを示唆し、その一方、低特異度クエリは、ユーザがより一般的な、高レベルの結果を必要としていることを示唆する。
特異度ランク付け技法は、様々な処理アプリケーションにおいてより効率的な処理及び改善された結果を提供し、知識抽出動作に必要とされるメモリ及び処理リソースを削減することができることが見て取られるであろう。
本発明を具現化する方法は、非常に特異なテキスト要素、例えば、技術的概念を表すテキスト要素は、本質的に均質であるテキスト上のコンテキストにおいて現れる傾向があるという理解を前提としている。これらの方法は、参照テキストのフラグメントを使用して、ランク付けされることになるテキスト要素についてのコンテキストを提供する。その場合、所与のテキスト要素についての特異度スコアは、埋め込み空間における、そのテキスト要素と、その要素を含む選択されたテキストフラグメント内の他のテキスト要素との間の距離に基づく。本発明を具現化する方法は、上述の理解に基づいて、結果として得られる特異度スコアが、テキスト要素が現れるコンテキストの均質性の尺度を提供するように、単語埋め込みから抽出された情報におけるテキスト要素についてのコンテキストの対応を構築する。これは、テキスト要素の特異度を捕捉する明解に単純な技法を提供し、特異度の改善された推定及びそのような推定値を使用した処理システムの向上された性能が提供される。
複数のテキスト要素をランク付けした後、本発明を具現化する方法は、テキスト要素についての特異度スコアを使用してテキストデータ構造を処理して、データ構造から所望の特異度を有するデータを抽出してよい。特異度スコアを使用することは、様々な応用においてデータ構造から関連データを抽出するのに必要とされる処理リソースを削減することができ、抽出されたデータの品質を改善することができ、それゆえ、性能が向上される。例えば、特異度スコアは、例えば不要な要素を除去するためにグラフを剪定することによって、知識グラフ等の探索構造を記憶するのに必要とされるメモリを削減するフィルタリング機構として使用することができるので、そのようなグラフに対して実行される探索動作の計算強度が削減される。他のテキストデータ構造、及びこれらの構造を利用する処理応用の例が、以下でより詳細に説明される。
一般には、ランク付けされることになるテキスト要素は、単一単語テキスト要素(すなわち、個々の単語)若しくは複単語表現(すなわち、少なくとも2つの単語を含むテキスト要素)又はその両方を含んでよい。複単語表現は、特定の意味をまとめて伝達する又は言語分析の或るレベルにおける意味単位として作用する、分離複合語又はフレーズ等の単語の組み合わせを含む。幾つかの実施形態では、ランク付けされることになる複数のテキスト要素は、複単語表現を含み、これらが多くの場合に単一単語よりも内在的に特異であることが活用される。その場合、複単語表現ごとに単一の埋め込みベクトルが計算され、すなわち、複単語表現は、埋め込みプロセスのための単一単語であるかのように扱われる。ランク付けされることになるテキスト要素は、当然ながら、個々の単語、及び望まれる場合には複単語表現を含んでよい。
本発明の幾つかの実施形態は、参照テキストからランク付けされることになる各テキスト要素を含む複数のテキストフラグメントを選択する。ランク付けされることになる要素を含むテキストフラグメント(例えば、文)ごとに、これらの実施形態は、そのフラグメント内のテキスト要素と更なるテキスト要素との間の距離に依存するインスタンススコアを計算する。テキスト要素についての特異度スコアは、次に、その要素を含む複数のテキストフラグメントについてのインスタンススコアの関数として計算される。特異度スコアの正確性は、一般的に、テキスト要素についてのコンテキストとして選択されるテキストフラグメントの数の増加とともに改善する。本発明の幾つかの実施形態では、参照テキストは、テキストコーパスを含み、ランク付けされることになるテキスト要素ごとに、テキストコーパスのフラグメントは、コーパス内のそのテキスト要素のインスタンスごとに選択される。
テキストフラグメントからインスタンススコアを計算する際、幾つかの実施形態は、ランク付けされることになるテキスト要素と、各更なるテキスト要素との間の距離を、テキストコーパス、例えば、埋め込みベクトルを計算するのに使用されるコーパス内のその更なるテキスト要素の逆発生頻度(以下で説明される)によって重み付けする。インスタンススコアは、フラグメントについてのこれらの重み付き距離の関数として計算される。この重み付けは、より一般的な単語の寄与にペナルティを科すように機能し、頻度が低い単語により重みが与えられ、それゆえ、特異度スコアの正確性が向上する。
埋め込みベクトルは、コンテキスト非依存又はコンテキスト依存埋め込みスキームを含み得る任意の簡便な単語埋め込みスキームによって計算されてよい。コンテキスト非依存単語埋め込みスキームは、テキストコーパスを処理して、テキスト内の選択されたテキスト要素(ここでは単語若しくは複単語表現又はその両方)についての埋め込みベクトルを含む埋め込み行列を生成する。コンテキスト依存スキームは、任意の入力テキストを取り込み、そのテキストについての埋め込みベクトルを出力することができる埋め込みモデルを利用する。コンテキスト非依存埋め込みを使用した実施形態は、特により技術的な用語について、特異度計算において向上した精度を提供することが判明している。したがって、特定の方法は、テキストコーパスを処理して、埋め込み行列を生成する。特に、幾つかの実施形態は、トークン化テキスト内で、ランク付けされることになるテキスト要素の各々が単一トークンとしてエンコードされ、かつコーパス内の他の単語がそれぞれのトークンとしてエンコードされるように、テキストコーパスをトークン化する。トークン化テキストは、次に、単語埋め込みスキームを介して処理されて、ランク付けされることになるテキスト要素と、コンテキストの目的で選択されたテキストフラグメントから抽出されることになる更なるテキスト要素とに対応する埋め込みベクトルを含む埋め込み行列が生成される。複数の単一トークンとしてエンコードされることになる複単語表現のセットは、コーパスをトークン化する前に記憶することができる。本発明の幾つかの実施形態は、テキストデータセットを処理することによって、例えば、大規模ドキュメントセットからの表現の自動抽出によって、又はオンライン知識ベースからのテキスト内の複単語表現を含むハイパーリンクを識別することによって、自動的に複単語表現のセットをコンパイルすることができる。このようにして、複単語表現の大規模辞書を、埋め込みプロセスのためにコンパイルすることができる。これらの全て又はサブセットは、次に、必要に応じて特異度によってランク付けすることができる。
当然ながら、説明された例示的な実施形態に対して多数の変更及び修正を行うことができることが理解されるであろう。例えば、ランク付けされることになるMWEの辞書は、他の実施形態では自動化フレーズ抽出システムによって抽出されてよい。インスタンススコアは、距離又は重み付き距離を平均、総和又は別様に集約することによって様々な方式で計算することができ、特異度スコアは、インスタンススコア又は基礎となる距離の他の関数として計算されてよい。例示として、特異度スコアは、例えば分布からの最高インスタンススコア及び最低インスタンススコアを除去した後の統計平均として、要素についてのインスタンススコアの分布の統計処理に基づいてよい。
フロー図の段階は、示されたものと異なる順序で実装されてよく、幾つかの段階は、適切な場合には並列に実行されてよい。一般には、特徴が本発明を具現化する方法を参照して本明細書において説明される場合、対応する特徴は、本発明を具現化するコンピューティングシステム/コンピュータプログラム製品において提供されてよく、その逆もまた然りである。
本発明の様々な実施形態の説明は、例示の目的で提示されるが、網羅的であることとも、開示される実施形態に限定されることも意図されていない。説明される実施形態の範囲及び趣旨から逸脱することなく、多くの修正及び変形が、当業者には明らかであろう。本明細書において使用される専門用語は、実施形態の原理、市場で見られる技術の実用的な応用若しくはそれに対する技術的改善を最も良好に説明し、又は、本明細書において開示される実施形態を他の当業者が理解することを可能にするように選択されている。
Claims (20)
- 複数のテキスト要素をランク付けするコンピュータ実装方法であって、
単語埋め込みスキームを介して、埋め込み空間においてランク付けされることになる複数のテキスト要素のうちの第1のテキスト要素を位置特定する埋め込みベクトルを計算する段階と、
参照テキストからテキストフラグメントのセットを選択する段階であって、各テキストフラグメントは、前記第1のテキスト要素とランク付けされることになる少なくとも1つの他のテキスト要素とを含む、段階と、
テキストフラグメントごとに、前記埋め込み空間における、前記単語埋め込みスキームを介して計算された埋め込みベクトルによって前記空間において各々位置特定される、ランク付けされることになる前記少なくとも1つの他のテキスト要素と、ランク付けされることになる前記第1のテキスト要素との間のそれぞれの距離を計算する段階と、
ランク付けされることになるテキスト要素について、前記埋め込み空間における前記それぞれの距離に依存して、特異度スコアを計算する段階と、
前記特異度スコアを記憶する段階であって、前記複数のテキスト要素についての前記特異度スコアは、特異度によって前記テキスト要素のランク付けを規定する、段階と
を備える、方法。 - ランク付けされることになる前記複数のテキスト要素は、複単語表現を含む、請求項1に記載の方法。
- ランク付けされることになる前記複数のテキスト要素は、単一単語テキスト要素を含む、請求項1に記載の方法。
- テキストコーパスを、
ランク付けされることになる前記テキスト要素の各々が単一トークンとしてエンコードされ、かつ前記テキストコーパス内の他の単語がそれぞれのトークンとしてエンコードされるように前記テキストコーパスをトークン化することと、
前記単語埋め込みスキームを介して前記トークン化されたテキストを処理して、ランク付けされることになる前記テキスト要素と、ランク付けされることになる前記少なくとも1つの他のテキスト要素とに対応する前記埋め込みベクトルを含む埋め込み行列を生成することと
によって処理する段階
を更に備える、請求項1に記載の方法。 - 前記テキストコーパスをトークン化する前に複単語表現のセットを記憶する段階と、
前記テキストコーパスをトークン化する間、複単語表現の前記セット内の各複単語表現を単一トークンとしてエンコードする段階と
を更に備える、請求項4に記載の方法。 - 複単語表現の前記セットを、テキストデータセットを処理することによって、コンパイルする段階を更に備える、請求項5に記載の方法。
- ランク付けされることになるテキスト要素ごとに、
前記参照テキストから前記第1のテキスト要素を含む複数のテキストフラグメントを選択する段階と、
テキストフラグメントごとに、前記テキストフラグメント内のランク付けされることになる前記第1のテキスト要素と、前記少なくとも1つの他のテキスト要素との間の前記距離に依存してインスタンススコアを計算する段階と、
前記複数のテキストフラグメントについての前記インスタンススコアの関数として前記特異度スコアを計算する段階と
を更に備える、請求項1に記載の方法。 - テキストフラグメントごとに、
テキストコーパス内の前記更なるテキスト要素の発生頻度の逆数によって、ランク付けされることになる前記第1のテキスト要素と前記少なくとも1つの他のテキスト要素の各々との間の前記距離を重み付けする段階と、
前記テキストフラグメントについての前記重み付き距離の関数として前記インスタンススコアを計算する段階と
を更に備える、請求項7に記載の方法。 - ランク付けされることになるテキスト要素ごとに、
前記テキストフラグメントについての重み付き距離を集約することによって、複数のテキストフラグメントの各々についてのインスタンススコアを計算する段階と、
前記複数のテキストフラグメントについての前記インスタンススコアを集約することによって、前記特異度スコアを計算する段階と
を更に備える、請求項1に記載の方法。 - 前記参照テキストは、テキストコーパスを含み、
ランク付けされることになるテキスト要素ごとに、前記テキストコーパスのフラグメントは、前記テキストコーパス内の前記第1のテキスト要素のインスタンスごとに選択される、請求項7に記載の方法。 - 各テキストフラグメントは、文を含む、請求項1に記載の方法。
- 前記複数のテキスト要素をランク付けした後、前記テキスト要素についての前記特異度スコアを使用してテキストデータ構造を処理して、前記テキストデータ構造から所望の特異度を有するデータを抽出する段階を備える、請求項1から11のいずれか一項に記載の方法。
- 前記テキストデータ構造は、テキストのコーパスを含み、前記方法は、
前記コーパス内のテキスト要素についての前記特異度スコアを使用して、前記コーパス内の最も特異なテキスト要素のセットを含む知識グラフを構築する段階と、
探索クエリの入力に応答して、前記知識グラフを探索して、前記探索クエリに関するデータを抽出する段階と
を更に備える、請求項12に記載の方法。 - 前記テキストデータ構造は、潜在空間においてそれぞれのテキスト要素を位置特定するベクトルを含む単語埋め込み行列を含み、前記方法は、
前記潜在空間におけるベクトルに対応するテキスト要素の入力に応答して、前記特異度スコアに基づいて、前記潜在空間において前記入力されたテキスト要素の近傍の最も特異なテキスト要素のセットを識別する段階
を更に備える、請求項12に記載の方法。 - 前記テキストデータ構造は、テキストフレーズを表すノードを有するグラフを含み、前記グラフは、ノード間の関係を表すエッジによって相互接続され、前記方法は、
前記テキストフレーズ内のテキスト要素についての特異度スコアに依存して前記グラフを剪定して、前記テキストフレーズの最も特異なサブセットを表すサブグラフを取得する段階と、
前記サブグラフを処理して所望のフレーズを抽出する段階と
を更に備える、請求項12に記載の方法。 - 前記テキストデータ構造は、探索データベースを含み、前記方法は、
探索クエリの入力に応答して、
前記探索クエリ内の任意のランク付けされたテキスト要素を識別する段階と、
そのように識別された任意のランク付けされたテキスト要素についての前記特異度スコアに依存して前記探索データベースからデータを抽出することによって前記探索クエリに対する応答を生成する段階と
を備える、請求項12に記載の方法。 - 複数のテキスト要素をランク付けするコンピュータプログラムであって、
コンピュータコードであって、前記コンピュータコードは、1つ又は複数のプロセッサのセットに、以下の動作、すなわち、
単語埋め込みスキームを介して、埋め込み空間においてランク付けされることになる複数のテキスト要素のうちの第1のテキスト要素を位置特定する埋め込みベクトルを計算する動作と、
参照テキストからテキストフラグメントのセットを選択する動作であって、各テキストフラグメントは、前記第1のテキスト要素とランク付けされることになる少なくとも1つの他のテキスト要素とを含む、動作と、
テキストフラグメントごとに、前記埋め込み空間における、前記単語埋め込みスキームを介して計算された埋め込みベクトルによって前記空間において各々位置特定される、ランク付けされることになる前記少なくとも1つの他のテキスト要素と、ランク付けされることになる前記第1のテキスト要素との間のそれぞれの距離を計算する動作と、
ランク付けされることになるテキスト要素について、前記埋め込み空間における前記それぞれの距離に依存して、特異度スコアを計算する動作と、
前記特異度スコアを記憶する動作であって、前記複数のテキスト要素についての前記特異度スコアは、特異度によって前記テキスト要素のランク付けを規定する、動作と
を含む動作を実行させる命令及びデータを有する、コンピュータコード
を備える、コンピュータプログラム。 - 前記動作は、前記複数のテキスト要素をランク付けした後、テキスト要素についての前記特異度スコアを使用してテキストデータ構造を処理して、前記テキストデータ構造から所望の特異度を有するデータを抽出する動作を更に含む、請求項17に記載のコンピュータプログラム。
- 複数のテキスト要素をランク付けするコンピューティングシステムであって、
1つ又は複数のプロセッサのセットと、
機械可読記憶デバイスと、
前記機械可読記憶デバイス上に記憶されたコンピュータコードであって、前記コンピュータコードは、前記1つ又は複数のプロセッサのセットに、以下の動作、すなわち、
単語埋め込みスキームを介して、埋め込み空間においてランク付けされることになる複数のテキスト要素のうちの第1のテキスト要素を位置特定する埋め込みベクトルを計算する動作と、
参照テキストからテキストフラグメントのセットを選択する動作であって、各テキストフラグメントは、前記第1のテキスト要素とランク付けされることになる少なくとも1つの他のテキスト要素とを含む、動作と、
テキストフラグメントごとに、前記埋め込み空間における、前記単語埋め込みスキームを介して計算された埋め込みベクトルによって前記空間において各々位置特定される、ランク付けされることになる前記少なくとも1つの他のテキスト要素と、ランク付けされることになる前記第1のテキスト要素との間のそれぞれの距離を計算する動作と、
ランク付けされることになるテキスト要素について、前記埋め込み空間における前記それぞれの距離に依存して、特異度スコアを計算する動作と、
前記特異度スコアを記憶する動作であって、前記複数のテキスト要素についての前記特異度スコアは、特異度によって前記テキスト要素のランク付けを規定する、動作と
を含む動作を実行させる命令及びデータを有する、コンピュータコードと
を備える、コンピューティングシステム。 - 前記動作は、前記複数のテキスト要素をランク付けした後、テキスト要素についての前記特異度スコアを使用してテキストデータ構造を処理して、前記テキストデータ構造から所望の特異度を有するデータを抽出する動作を更に含む、請求項19に記載のコンピューティングシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/408,764 US20230055769A1 (en) | 2021-08-23 | 2021-08-23 | Specificity ranking of text elements and applications thereof |
US17/408,764 | 2021-08-23 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023031294A true JP2023031294A (ja) | 2023-03-08 |
Family
ID=85229069
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022131754A Pending JP2023031294A (ja) | 2021-08-23 | 2022-08-22 | コンピュータ実装方法、コンピュータプログラム、コンピュータシステム(テキスト要素の特異度ランク付け及びその応用) |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230055769A1 (ja) |
JP (1) | JP2023031294A (ja) |
CN (1) | CN115718791A (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117648724B (zh) * | 2024-01-30 | 2024-03-29 | 北京点聚信息技术有限公司 | 一种版式文件的数据安全传输方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050198026A1 (en) * | 2004-02-03 | 2005-09-08 | Dehlinger Peter J. | Code, system, and method for generating concepts |
US7430504B2 (en) * | 2004-03-02 | 2008-09-30 | Microsoft Corporation | Method and system for ranking words and concepts in a text using graph-based ranking |
US10430445B2 (en) * | 2014-09-12 | 2019-10-01 | Nuance Communications, Inc. | Text indexing and passage retrieval |
US10579627B2 (en) * | 2016-01-08 | 2020-03-03 | Microsoft Technology Licensing, Llc | Database operation using metadata of data sources |
US11327646B2 (en) * | 2019-09-27 | 2022-05-10 | International Business Machines Corporation | Modifying illumination characteristics of an input device to identify characters associated with predicted words |
WO2022012687A1 (zh) * | 2020-07-17 | 2022-01-20 | 武汉联影医疗科技有限公司 | 医疗数据处理方法与系统 |
US20220075833A1 (en) * | 2020-09-09 | 2022-03-10 | Royal Bank Of Canada | Web services for data aggregation and application for path traversal in knowledge graphs |
US11663407B2 (en) * | 2020-12-02 | 2023-05-30 | International Business Machines Corporation | Management of text-item recognition systems |
US11983208B2 (en) * | 2021-02-16 | 2024-05-14 | International Business Machines Corporation | Selection-based searching using concatenated word and context |
US11361571B1 (en) * | 2021-06-28 | 2022-06-14 | International Business Machines Corporation | Term extraction in highly technical domains |
-
2021
- 2021-08-23 US US17/408,764 patent/US20230055769A1/en active Pending
-
2022
- 2022-08-10 CN CN202210958838.6A patent/CN115718791A/zh active Pending
- 2022-08-22 JP JP2022131754A patent/JP2023031294A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230055769A1 (en) | 2023-02-23 |
CN115718791A (zh) | 2023-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9378204B2 (en) | Context based synonym filtering for natural language processing systems | |
JP7232831B2 (ja) | 複雑な回答の補強証拠取り出し | |
JP5710581B2 (ja) | 質問応答装置、方法、及びプログラム | |
US10275454B2 (en) | Identifying salient terms for passage justification in a question answering system | |
US9734238B2 (en) | Context based passage retreival and scoring in a question answering system | |
Figueroa et al. | Learning to rank effective paraphrases from query logs for community question answering | |
US20220075809A1 (en) | Bootstrapping of text classifiers | |
Veisi et al. | Multi-level text document similarity estimation and its application for plagiarism detection | |
Breja et al. | Analyzing linguistic features for answer re-ranking of why-questions | |
CN111259156A (zh) | 一种面向时间序列的热点聚类方法 | |
Derici et al. | A closed-domain question answering framework using reliable resources to assist students | |
JP2023031294A (ja) | コンピュータ実装方法、コンピュータプログラム、コンピュータシステム(テキスト要素の特異度ランク付け及びその応用) | |
Gupta et al. | A Comparative Analysis of Sentence Embedding Techniques for Document Ranking | |
Juan | An effective similarity measurement for FAQ question answering system | |
Ofoghi et al. | Data Envelopment Analysis of linguistic features and passage relevance for open-domain Question Answering | |
Saneifar et al. | Enhancing passage retrieval in log files by query expansion based on explicit and pseudo relevance feedback | |
Kashefi et al. | Optimizing Document Similarity Detection in Persian Information Retrieval. | |
Gupta | A Proposed Online Approach of English and Punjabi Question Answering | |
Wu et al. | A hybrid approach to DBQA | |
Pritzkau | NLytics at CheckThat! 2021: Detecting Previously Fact-Checked Claims by Measuring Semantic Similarity. | |
Allahim et al. | A Hybrid Approach for Optimizing Arabic Semantic Query Expansion | |
Coelho et al. | Semantic search of mobile applications using word embeddings | |
Rei et al. | Parser lexicalisation through self-learning | |
Zheng et al. | An improved focused crawler based on text keyword extraction | |
Sati et al. | Arabic text question answering from an answer retrieval point of view: A survey |