JP2020060970A - コンテキスト情報生成方法、コンテキスト情報生成装置およびコンテキスト情報生成プログラム - Google Patents

コンテキスト情報生成方法、コンテキスト情報生成装置およびコンテキスト情報生成プログラム Download PDF

Info

Publication number
JP2020060970A
JP2020060970A JP2018192040A JP2018192040A JP2020060970A JP 2020060970 A JP2020060970 A JP 2020060970A JP 2018192040 A JP2018192040 A JP 2018192040A JP 2018192040 A JP2018192040 A JP 2018192040A JP 2020060970 A JP2020060970 A JP 2020060970A
Authority
JP
Japan
Prior art keywords
word
vector
words
context information
peripheral
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.)
Granted
Application number
JP2018192040A
Other languages
English (en)
Other versions
JP7116309B2 (ja
Inventor
清司 大倉
Seiji Okura
清司 大倉
片岡 正弘
Masahiro Kataoka
正弘 片岡
聡 尾上
Satoshi Onoe
聡 尾上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2018192040A priority Critical patent/JP7116309B2/ja
Priority to US16/594,201 priority patent/US11507746B2/en
Priority to CN201910949442.3A priority patent/CN111046659B/zh
Publication of JP2020060970A publication Critical patent/JP2020060970A/ja
Application granted granted Critical
Publication of JP7116309B2 publication Critical patent/JP7116309B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/232Orthographic correction, e.g. spell checking or vowelisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/274Converting codes to words; Guess-ahead of partial word inputs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/55Rule-based translation
    • G06F40/56Natural language generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/26Techniques for post-processing, e.g. correcting the recognition result
    • G06V30/262Techniques for post-processing, e.g. correcting the recognition result using context analysis, e.g. lexical, syntactic or semantic context
    • G06V30/274Syntactic or semantic context, e.g. balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • G06V30/41Analysis of document content
    • G06V30/414Extracting the geometrical structure, e.g. layout tree; Block segmentation, e.g. bounding boxes for graphics or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • G06V30/41Analysis of document content
    • G06V30/416Extracting the logical structure, e.g. chapters, sections or page numbers; Identifying elements of the document, e.g. authors

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Multimedia (AREA)
  • Computing Systems (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Medical Informatics (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Databases & Information Systems (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Machine Translation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】単語の出現位置毎のコンテキスト情報を効率的に生成する。【解決手段】記憶部11は、文書13と、単語w1〜w3に対応して算出された分散表現の単語ベクトル14−1〜14−3とを記憶する。処理部12は、単語w1が出現する1つの出現位置から所定範囲内にある周辺単語w2,w3を文書13から抽出し、周辺単語w2,w3に対応する単語ベクトル14−2,14−3を合算した合算ベクトル15を算出する。処理部12は、機械学習モデル17を用いて合算ベクトル15とパラメータ16とから周辺単語w2,w3が推定されるように、パラメータ16を決定する。処理部12は、単語w1に対応する単語ベクトル14−1と対応付けて、上記の出現位置におけるコンテキスト情報18としてパラメータ16を記憶する。【選択図】図1

Description

本発明はコンテキスト情報生成方法、コンテキスト情報生成装置およびコンテキスト情報生成プログラムに関する。
自然言語で記載された文書を処理する自然言語処理の分野では、単語の特徴を表す特徴情報として分散表現のベクトルが使用されることがある。分散表現は単語の意味(語義)を反映しており、語義の近い単語には類似するベクトルが割り当てられるという性質をもつ。分散表現のベクトルを用いることで、ある文と類似する文を効率的に検索することができ、機械翻訳や対話システムなどの各種の自然言語処理サービスを実現し得る。
分散表現のベクトルは、例えば、次のように生成することができる。複数の単語それぞれについて、訓練用文書内で当該単語の周辺に出現する周辺単語を抽出し、特定の単語から当該特定の単語の周辺単語を推定するニューラルネットワークなどの機械学習モデルを学習する。この機械学習モデルの学習は、訓練用文書に対して教師ラベルを付与しなくてよい教師なし学習である。そして、複数の単語それぞれについて、当該単語を機械学習モデルに入力したときに機械学習モデルの内部で算出されるベクトルを抽出し、分散表現のベクトルとして当該単語に対して割り当てる。異なる単語であっても、同様の周辺単語が出現することが多い単語に対しては類似するベクトルが算出される。
なお、複数の語義をもつ単語が文書の中で何れの語義として使用されているか判定する語義曖昧性解消装置が提案されている。提案の語義曖昧性解消装置は、注目単語の語義を示す教師ラベルが予め付与された訓練用文書を読み込み、注目単語と周辺単語の共起頻度などの統計情報を複数の語義について区別して学習する。語義曖昧性解消装置は、判定対象の入力文書を読み込み、入力文書に含まれる注目単語の周辺にある周辺単語と、予め学習した語義毎の統計情報とから、入力文書における注目単語の語義を判定する。また、3個の単語について分散表現のベクトルを抽出し、抽出した3個のベクトルの間の角度を当該3個の単語の関連性の指標として算出する判定装置が提案されている。
特開平10−171806号公報 特開2017−167986号公報
しかし、単語に対して分散表現のベクトルを割り当てる従来技術では、1つの単語表記に対して1つのベクトルが割り当てられる。単語表記とベクトルの関係が硬直的であるため、語義が近い単語には類似するベクトルが割り当てられているという期待が満たされないことがあり、類似する文の検索精度が低くなることがあるという問題がある。
例えば、複数の語義をもつ単語に対しては、語義を示す教師ラベルが訓練用文書に付与されていない場合には文脈(コンテキスト)に関係なく同一単語とみなされてしまい、それら複数の語義が区別されない平均化されたベクトルが算出されてしまう。また、例えば、訓練用文書の中に誤記や表記揺れが存在する場合、異なる単語表記は異なる単語とみなされてしまう。このとき、出現頻度の低い方の単語表記については算出されるベクトルがぶれやすいなどの統計処理の都合上、誤記や表記揺れに起因する異なる単語表記に対して類似しないベクトルが算出されてしまうことがある。このように、従来の分散表現では、単語の出現位置それぞれのコンテキストの取り扱いが難しいという問題がある。
コンテキストを扱う方法としては、再起型ニューラルネットワーク(RNN:Recurrent Neural Network)やLSTM(Long Short-Term Memory)などの機械学習モデルを利用して、連続する複数の単語の列に対して1つのベクトルを割り当てる方法も考えられる。しかし、この方法は計算量が膨大になってしまう。また、周辺単語の並び方の情報は、コンテキストの同一性を判断するための情報としては過剰である。
1つの側面では、本発明は、単語の出現位置毎のコンテキスト情報を効率的に生成することができるコンテキスト情報生成方法、コンテキスト情報生成装置およびコンテキスト情報生成プログラムを提供することを目的とする。
1つの態様では、コンピュータが実行するコンテキスト情報生成方法が提供される。複数の単語を用いて記載された文を含む文書と、複数の単語に対応して算出された分散表現の複数の単語ベクトルとを取得する。複数の単語のうちの1つの単語が出現する1つの出現位置から所定範囲内にある2以上の周辺単語を文書から抽出し、2以上の周辺単語に対応する2以上の単語ベクトルを合算した合算ベクトルを算出する。周辺単語を推定する所定の機械学習モデルを用いて合算ベクトルとパラメータとから2以上の周辺単語が推定されるように、パラメータを決定する。1つの単語に対応する単語ベクトルと対応付けて、1つの出現位置におけるコンテキスト情報としてパラメータを記憶する。
また、1つの態様では、コンテキスト情報生成装置が提供される。また、1つの態様では、コンピュータに実行させるコンテキスト情報生成プログラムが提供される。
1つの側面では、単語の出現位置毎のコンテキスト情報を効率的に生成できる。
コンテキスト情報生成装置の例を説明する図である。 機械学習装置のハードウェア例を示すブロック図である。 機械学習装置の機能例を示すブロック図である。 ニューラルネットワークの例を示す図である。 分散表現の単語ベクトルの算出例を示す図である。 分散表現の単語ベクトルの算出例を示す図(続き)である。 拡張ベクトル付き文書の例を示す図である。 コンテキストフィルタの生成方法の例を示す図である。 コンテキストフィルタの第1の生成例を示す図である。 コンテキストフィルタの第1の生成例を示す図(続き)である。 コンテキストフィルタの第2の生成例を示す図である。 単語ベクトル生成の手順例を示すフローチャートである。 コンテキスト情報生成の手順例を示すフローチャートである。 語義判定方法の第1の例を示す図である。 語義判定方法の第2の例を示すフローチャートである。
以下、本実施の形態を図面を参照して説明する。
[第1の実施の形態]
第1の実施の形態を説明する。
図1は、コンテキスト情報生成装置の例を説明する図である。
第1の実施の形態のコンテキスト情報生成装置10は、自然言語で記載された文書を分析し、類似する文の検索などの自然言語処理を促進する。コンテキスト情報生成装置10は、機械翻訳や対話システムなどの各種の自然言語処理サービスに用いられてもよい。コンテキスト情報生成装置10は、コンピュータや情報処理装置と言うこともできる。コンテキスト情報生成装置10は、ユーザが操作するクライアント装置でもよいしネットワークを介してアクセスされるサーバ装置でもよい。
コンテキスト情報生成装置10は、記憶部11および処理部12を有する。記憶部11は、RAM(Random Access Memory)などの揮発性の半導体メモリでもよいし、HDD(Hard Disk Drive)やフラッシュメモリなどの不揮発性ストレージでもよい。処理部12は、例えば、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、DSP(Digital Signal Processor)などのプロセッサである。ただし、処理部12は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの特定用途の電子回路を含んでもよい。複数のプロセッサの集合を「マルチプロセッサ」または単に「プロセッサ」と言うことがある。
記憶部11は、単語w1,w2,w3などの複数の単語を用いて記載された文を含む文書13を記憶する。2以上の単語を時系列に並べることで1つの文が形成される。ここで言う「単語」は、特定の表記をもつ単語の種類を表す。1つの単語の1回の出現は「単語インスタンス」や「出現単語」などと言うことがある。文書13において、同一の単語が異なる2以上の出現位置に出現することがある。
また、記憶部11は、文書13に出現し得る複数の単語に対応して算出された分散表現の複数の単語ベクトルを記憶する。分散表現の単語ベクトルはそれぞれ、2次元以上の所定次元(例えば、200次元)をもつベクトルである。例えば、記憶部11は、単語w1に対応する単語ベクトル14−1、単語w2に対応する単語ベクトル14−2および単語w3に対応する単語ベクトル14−3を記憶する。分散表現は単語の語義を反映しており、語義の近い単語には類似する単語ベクトルが算出されるという性質をもつ。分散表現の単語ベクトルは、例えば、Word2vecやGloVeなどを用いて算出することができる。単語ベクトルは、文書13から算出してもよいし他の文書から算出してもよい。
処理部12は、文書13において1つの単語が出現する1つの出現位置に対して、当該1つの出現位置における文脈(コンテキスト)を示すコンテキスト情報を生成する。分散表現は1つの単語表記に対して1つの単語ベクトルを割り当てる。よって、2以上の語義をもつ単語については、単語ベクトルだけではそれら2以上の語義が区別されない。また、誤記や表記揺れによって複数通りの単語表記が存在する場合、単語ベクトルだけではそれら複数通りの単語表記の間の関連性を把握することが難しい。そこで、処理部12は、単語ベクトルに加えて、単語の出現位置に対するコンテキスト(その単語がどのような文意や前後関係のもとで使用されているかを示すもの)を示す情報を用意する。
具体的には、処理部12は、1つの単語が出現する1つの出現位置を基準として、その出現位置から所定範囲内にある2以上の周辺単語を文書13から抽出する。所定範囲は、例えば、基準となる出現位置と同じ文に属する範囲であって、基準となる出現位置の前後の単語(単語数は高々n×2個)の範囲とする。この範囲は基準となる出現位置の前方にある高々n個の単語および後方にある高々n個の単語の範囲であり、nは所定の自然数である。ただし、基準となる出現位置の前方にあるn個の単語のみを所定範囲とすることも可能であり、基準となる出現位置の後方にあるn個の単語のみを所定範囲とすることも可能である。例えば、処理部12は、単語w1が出現する1つの出現位置を基準として、その前後にある周辺単語w2,w3を文書13から抽出する。
処理部12は、記憶部11に記憶された複数の単語ベクトルのうち、抽出した2以上の周辺単語に対応する2以上の単語ベクトルを合算した合算ベクトル15を算出する。例えば、処理部12は、周辺単語w2,w3に対応する単語ベクトル14−2,14−3を合算して合算ベクトル15を算出する。2以上の単語ベクトルの合算は、2以上の単語ベクトル同士で同一次元の値を合計することで行う。よって、2以上の単語ベクトルの次元数と合算ベクトル15の次元数とは同一である。
ただし、文に含まれる単語の数や着目する単語の出現位置によっては、上記の所定範囲に属する周辺単語が1つのみである場合もある。その場合、抽出した1つの周辺単語に対応する1つの単語ベクトルを合算ベクトル15とすればよい。また、着目する単語の出現位置が文頭である場合、仮想的なk個(kはn以上の自然数)のダミー単語を文頭に挿入して抽出処理を行い、合算ベクトル15の算出ではダミー単語を無視してもよい。同様に、着目する単語の出現位置が文末である場合、仮想的なk個のダミー単語を文末に挿入して抽出処理を行い、合算ベクトル15の算出ではダミー単語を無視してもよい。これにより、周辺単語の抽出処理を簡潔に定義することができる。
処理部12は、所定の機械学習モデル17を用いて合算ベクトル15とパラメータ16から上記の2以上の周辺単語が推定されるように、パラメータ16を決定する。機械学習モデル17は、入力ベクトルを受け付けて周辺単語の推定結果を出力する機械学習モデルである。機械学習モデル17は、ニューラルネットワークでもよく、分散表現の単語ベクトルの算出に使用した機械学習モデルを流用してもよい。
パラメータ16は、合算ベクトル15を機械学習モデル17の入力ベクトルに変換する変換フィルタであってもよい。例えば、処理部12は、合算ベクトル15の各次元の値に、当該次元に対応するパラメータ16の値を乗算する。パラメータ16は、合算ベクトル15と同じ次元数のベクトルでもよいし、合算ベクトル15より少ない次元数のベクトルでもよい。後者の場合、処理部12は、合算ベクトル15の隣接する所定個の次元に、パラメータ16の1つの次元を対応付ければよい。例えば、合算ベクトル15の隣接する4つの次元にパラメータ16の1つの次元を対応付けることで、合算ベクトル15を次元数200のベクトルとし、パラメータ16を次元数50のベクトルとすることができる。
処理部12は、機械学習モデル17が出力する周辺単語の推定結果が、上記で文書13から抽出した2以上の周辺単語に近付くように、パラメータ16を調整する。例えば、処理部12は、合算ベクトル15にパラメータ16を適用して入力ベクトルを生成し、入力ベクトルを機械学習モデル17に入力して周辺単語の推定結果を取得し、正解の周辺単語と推定結果とを比較してパラメータ16を更新することを繰り返す。
そして、処理部12は、基準となる出現位置の単語に対応する単語ベクトルと対応付けて、当該出現位置におけるコンテキストを示すコンテキスト情報18としてパラメータ16を記憶する。例えば、処理部12は、単語w1の1つの出現位置に対して、単語w1に対応する単語ベクトル14−1と対応付けてコンテキスト情報18を記憶する。パラメータ16が変換フィルタである場合、コンテキスト情報18を「コンテキストフィルタ」と言うこともできる。コンテキスト情報18は、単語w1の単語ベクトル14−1と分離して記憶してもよい。また、単語ベクトル14−1とコンテキスト情報18とを連結した拡張ベクトルを生成し、当該出現位置に対して拡張ベクトルを記憶してもよい。
同じ単語の異なる出現位置に対して異なるコンテキスト情報が生成されることがある。特に、2以上の語義をもつ単語については、異なる出現位置に対して類似しないコンテキスト情報が生成されることがある。一方、誤記や表記揺れにより形式上別単語として扱われているものに対しては、類似するコンテキスト情報が生成されることがある。
第1の実施の形態のコンテキスト情報生成装置10によれば、1つの単語の1つの出現位置に対して、周辺単語の単語ベクトルを合算した合算ベクトル15が算出され、合算ベクトル15から機械学習モデル17を用いて周辺単語が正しく推定されるようにパラメータ16が決定される。決定されたパラメータ16が、当該1つの出現位置におけるコンテキストを示すコンテキスト情報18として記憶される。
これにより、単語の出現位置毎のコンテキストをコンパクトに表現することができる。また、周辺単語の単語ベクトルを合算した合算ベクトル15そのものは、意図しない異なる周辺単語の組み合わせから偶然に類似するベクトルが算出されてしまう曖昧さをもつおそれがある。これに対してパラメータ16をコンテキスト情報18として使用することで、異なるコンテキストを区別することができる。また、周辺単語の単語ベクトルを連結せずに合算するため、ベクトルの次元数を抑制することができる。よって、周辺単語の並び順を考慮する機械学習アルゴリズムと比べて、機械学習の複雑性を低減することができ、コンテキストの区別に十分な情報を効率的に生成することができる。
また、2以上の語義をもつ単語に対しては、出現位置によって類似しないコンテキスト情報が生成されることがある。そこで、例えば、単語ベクトルに加えてコンテキスト情報も用いて文を絞り込む検索処理を行うことで、類似する文の検索精度を向上させることができる。また、コンテキスト情報に基づいて、語義を区別するラベルを出現位置毎に付与することで、その後の自然言語処理の精度を向上させることができる。また、誤記や表記揺れに起因する異なる単語表記に対して、類似するコンテキスト情報が生成されることがある。そこで、例えば、コンテキスト情報を用いて検索処理を行うことで、誤記や表記揺れの可能性がある単語表記を検出することができる。
[第2の実施の形態]
次に、第2の実施の形態を説明する。
第2の実施の形態の機械学習装置100は、ニューラルネットワークを用いた機械学習により、自然言語で記載された文書を分析する自然言語処理装置である。機械学習装置100は、分析結果に基づいて、ある文に類似する文を検索することができる。機械学習装置100は、機械翻訳、リコメンデーションシステム、質問回答(Q&A)システムなど、自然言語を扱う各種サービスに利用することができる。機械学習装置100は、コンピュータや情報処理装置と言うこともできる。機械学習装置100は、ユーザが操作するクライアント装置でもよいしネットワークを介してアクセスされるサーバ装置でもよい。
図2は、機械学習装置のハードウェア例を示すブロック図である。
機械学習装置100は、バスに接続されたCPU101、RAM102、HDD103、画像信号処理部104、入力信号処理部105、媒体リーダ106および通信インタフェース107を有する。機械学習装置100は、第1の実施の形態のコンテキスト情報生成装置10に対応する。CPU101は、第1の実施の形態の処理部12に対応する。RAM102またはHDD103は、第1の実施の形態の記憶部11に対応する。
CPU101は、プログラムの命令を実行するプロセッサである。CPU101は、HDD103に記憶されたプログラムやデータの少なくとも一部をRAM102にロードし、プログラムを実行する。なお、CPU101は複数のプロセッサコアを備えてもよく、機械学習装置100は複数のプロセッサを備えてもよい。複数のプロセッサの集合を「マルチプロセッサ」または単に「プロセッサ」と言うことがある。
RAM102は、CPU101が実行するプログラムやCPU101が演算に使用するデータを一時的に記憶する揮発性の半導体メモリである。なお、機械学習装置100は、RAM以外の種類のメモリを備えてもよく、複数のメモリを備えてもよい。
HDD103は、OS(Operating System)やミドルウェアやアプリケーションソフトウェアなどのソフトウェアのプログラム、および、データを記憶する不揮発性の記憶装置である。なお、機械学習装置100は、フラッシュメモリやSSD(Solid State Drive)など他の種類の記憶装置を備えてもよく、複数の記憶装置を備えてもよい。
画像信号処理部104は、CPU101からの命令に従って、機械学習装置100に接続されたディスプレイ111に画像を出力する。ディスプレイ111としては、CRT(Cathode Ray Tube)ディスプレイ、液晶ディスプレイ(LCD:Liquid Crystal Display)、有機EL(OEL:Organic Electro-Luminescence)ディスプレイなど、任意の種類のディスプレイを使用することができる。
入力信号処理部105は、機械学習装置100に接続された入力デバイス112から入力信号を受信する。入力デバイス112として、マウス、タッチパネル、タッチパッド、キーボードなど、任意の種類の入力デバイスを使用できる。また、機械学習装置100に複数の種類の入力デバイスが接続されてもよい。
媒体リーダ106は、記録媒体113に記録されたプログラムやデータを読み取る読み取り装置である。記録媒体113として、例えば、フレキシブルディスク(FD:Flexible Disk)やHDDなどの磁気ディスク、CD(Compact Disc)やDVD(Digital Versatile Disc)などの光ディスク、光磁気ディスク(MO:Magneto-Optical disk)、半導体メモリなどを使用できる。媒体リーダ106は、例えば、記録媒体113から読み取ったプログラムやデータをRAM102またはHDD103に格納する。
通信インタフェース107は、ネットワーク114に接続され、ネットワーク114を介して他の情報処理装置と通信を行うインタフェースである。通信インタフェース107は、スイッチやルータなどの有線通信装置に接続される有線通信インタフェースでもよいし、基地局やアクセスポイントに接続される無線通信インタフェースでもよい。
図3は、機械学習装置の機能例を示すブロック図である。
機械学習装置100は、文書記憶部121、ベクトル記憶部122、教師データ記憶部123、単語ベクトル生成部124、コンテキスト情報生成部125、検索部126および語義判定部127を有する。文書記憶部121、ベクトル記憶部122および教師データ記憶部123は、例えば、RAM102またはHDD103の記憶領域を用いて実装される。単語ベクトル生成部124、コンテキスト情報生成部125、検索部126および語義判定部127は、例えば、CPU101が実行するプログラムを用いて実装される。
文書記憶部121は、自然言語で記載された文書を記憶する。文書は2以上の文に分割することができ、文は2以上の単語の列に分割することができる。単語は、文法上で一定の意味的まとまりをもつ文字列の単位である。第2の実施の形態では、「単語」は特定の文字列によって表記される単位を示しており、「単語インスタンス」は文の中で特定の単語が使用される具体的な出現位置を示している。文書では同一の単語が複数回使用されることがあるため、同一の単語に関する複数の単語インスタンスが出現し得る。
ベクトル記憶部122は、文書を分析することで単語それぞれに対して割り当てられた分散表現の単語ベクトルを記憶する。分散表現は単語の語義を反映しており、語義の近い単語には類似する単語ベクトルが割り当てられる。単語ベクトルは、例えば、実数値をとる200次元のベクトルである。単語ベクトルは単語毎に算出されるため、同一の単語に関する複数の単語インスタンスは同一の単語ベクトルを共有する。
また、ベクトル記憶部122は、単語インスタンスそれぞれに対して割り当てられた拡張ベクトルを記憶する。拡張ベクトルは、単語インスタンスに対応するコンテキストフィルタを単語ベクトルに付加したものである。コンテキストフィルタは、単語インスタンスの出現位置におけるコンテキストを示すコンテキスト情報である。コンテキストは、単語が当該出現位置においてどのような文意や前後関係のもとで使用されているかを示す。コンテキストフィルタは、例えば、実数値をとる50次元のベクトルである。同一の単語に関する複数の単語インスタンスの間でコンテキストフィルタが異なることがある。
教師データ記憶部123は、2以上の語義をもつ単語に関する単語インスタンスの曖昧さを解消するための教師データを記憶する。2以上の語義をもつ単語に関する単語インスタンスのうちの一部の単語インスタンスに対して、正解の語義を示す教師ラベルが人手により教師データとして付与されている。後述するように、教師ラベルとコンテキストフィルタに基づいて、語義を示すラベルが他の単語インスタンスに自動的に付与される。
単語ベクトル生成部124は、文書記憶部121に記憶された文書を分析し、教師なし学習により単語それぞれに分散表現の単語ベクトルを割り当てる。単語ベクトルの生成では、単語ベクトル生成部124は、文書から単語とその周辺単語との間の対応関係を抽出し、単語から周辺単語を推定するニューラルネットワークを学習する。単語ベクトル生成部124は、ある単語をニューラルネットワークに入力したときに中間層で算出されるベクトルを、当該単語に対応する単語ベクトルとして抽出する。
コンテキスト情報生成部125は、単語ベクトル生成部124が生成した単語ベクトルを用いて、単語インスタンスそれぞれに対してコンテキスト情報としてコンテキストフィルタを算出する。コンテキストフィルタの算出には、単語ベクトル生成部124で学習されたニューラルネットワークと、単語インスタンスの周辺にある周辺単語とが使用される。コンテキスト情報生成部125は、単語ベクトルの末尾にコンテキストフィルタを付加した拡張ベクトルを生成し、単語インスタンスに拡張ベクトルを割り当てる。
検索部126は、ベクトル記憶部122に記憶された拡張ベクトルの利用方法の1つとして、ある入力文に類似する文を文書の中から検索する検索処理を行う。
例えば、検索部126は、コンテキスト情報生成部125と同様にして、入力文に含まれる単語インスタンスに対してコンテキストフィルタを算出し、単語ベクトルにコンテキストフィルタを連結して拡張ベクトルを算出する。検索部126は、ベクトル記憶部122に記憶された拡張ベクトルと入力文の拡張ベクトルとの間で、コンテキストフィルタの部分も含めてコサイン類似度などの類似度の指標値(または、距離の指標値)を算出する。検索部126は、類似度が閾値を超える拡張ベクトル(または、距離が閾値未満である拡張ベクトル)をもつ文を抽出する。単語ベクトルが同じであってもコンテキストフィルタが類似しない単語インスタンスを含む文は抽出されない可能性がある。よって、コンテキストの類似度を考慮して文を絞り込むことができる。
また、例えば、検索部126は、拡張ベクトルのうちコンテキストフィルタ部分のみを用いた検索処理を行い、コンテキストフィルタが類似する単語インスタンスを含む文を検索する。具体的には、検索部126は、あるコンテキストフィルタと他のコンテキストフィルタの間でコサイン類似度などの類似度の指標値(または、距離の指標値)を算出する。検索部126は、類似度が閾値を超える場合(または、距離が閾値未満である場合)、それらコンテキストフィルタをもつ文を検索結果に追加する。
単語ベクトルが異なるもののコンテキストフィルタが類似する単語インスタンスは、誤記や表記揺れにより別単語として扱われたものである可能性がある。そこで、検索部126は、誤記や表記揺れの可能性がある単語インスタンスを含む文を提示してユーザに検討させる。検索部126は、単語表記の修正をユーザに促してもよい。また、検索部126は、誤記や表記揺れの可能性が高い単語表記を自動的に修正してもよい。単語表記が修正された場合、単語ベクトル生成部124は、修正後の文書に基づいて分散表現の単語ベクトルを再学習してもよい。また、コンテキスト情報生成部125は、修正後の文書に基づいて各単語インスタンスのコンテキストフィルタを再学習してもよい。
語義判定部127は、ベクトル記憶部122に記憶された拡張ベクトルの利用方法の1つとして、単語がもつ2以上の語義のうち各単語インスタンスが何れの語義として使用されているかを判定する語義判定処理を行う。語義判定処理には、教師データ記憶部123に記憶された教師ラベルが用いられる。語義判定部127は、教師ラベルが付与されている単語インスタンスのコンテキストフィルタと当該教師ラベルが示す正解の語義との関係を用いて、他の単語インスタンスの語義を自動的に判定してラベルを付与する。
次に、分散表現の単語ベクトルについて説明する。
図4は、ニューラルネットワークの例を示す図である。
分散表現の単語ベクトルの算出にはニューラルネットワーク130が用いられる。ニューラルネットワーク130は、多層ニューラルネットワークである。ニューラルネットワーク130は、ニューロンに相当する複数のノードと、シナプスに相当するノード間のエッジとを含む。隣接する層のノードがシナプスで結合される。シナプスには重みが割り当てられ、前の層のノードの値に重みをかけて次の層のノードの値が算出される。ニューラルネットワーク130の学習を通じてシナプスの重みが決定される。
ニューラルネットワーク130は、入力層131、中間層132〜134および出力層135を含む。図4では3つの中間層を示しているが、中間層の数を変更してもよい。
入力層131は、文書に出現し得る複数の単語に対応する複数のノードを含む。入力層131の1つのノードは1つの単語に対応している。基準となる1つの単語が選択されると、当該1つの単語に対応するノードに「1」が入力され、他のノードに「0」が入力される。中間層132は、入力層131の次の層であり入力層131より少ないノードを含む。中間層133は、中間層132の次の層であり中間層132より少ないノードを含む。中間層133はニューラルネットワーク130の中で最も次元数が少ない。
中間層134は、中間層133の次の層であり中間層133より多いノードを含む。出力層135は、文書に出現し得る複数の単語に対応する複数のノードを含む。出力層135の1つのノードは1つの単語に対応している。入力層131の次元数と出力層135の次元数は同じである。出力層135の各ノードは、入力層131への入力が示す基準となる単語の周辺に、当該ノードに対応する単語が周辺単語として出現する確率に応じた推定値を出力する。出力される推定値が大きいほど単語の出現確率が高いことを意味する。
文書からは単語と周辺単語の組み合わせを複数抽出することができる。よって、それら組み合わせを訓練データとして用いて、周辺単語の推定結果と実際の周辺単語との間の差異を示すロスが小さくなるようにシナプスの重みを決定すればよい。ニューラルネットワーク130の学習が完了すると、単語ベクトル生成部124は、入力層131に単語を1つ入力し、次元数が最も少ない中間層133のノードが保持している値を列挙したベクトルを抽出する。単語ベクトル生成部124は、抽出したベクトルを当該入力した単語の単語ベクトルとして採用する。これを文書に出現し得る各単語について行うことで、各単語の単語ベクトルを確定することができる。
図5は、分散表現の単語ベクトルの算出例を示す図である。
文書141は、文書記憶部121に記憶された文書の一例である。単語ベクトル生成部124は、文書141を文に分割し、文を単語に分割する。文書141から文へは、例えば、日本語の句点を基準にして分割することができる。文から単語へは、例えば、日本語の形態素解析により分割することができる。単語ベクトル生成部124は、文書141から単語インスタンスを抽出する。抽出される単語インスタンスからは、助詞など重要性の低い汎用的な単語の単語インスタンスは除外される。
単語ベクトル生成部124は、抽出した単語インスタンスそれぞれに対して前後n個の周辺単語を抽出する。前後n個の周辺単語の範囲は、当該単語インスタンスと同一の文の範囲であり、かつ、当該単語インスタンスの前方に並ぶ高々n個の単語および当該単語インスタンスの後方に並ぶ高々n個の単語の範囲である。nは所定の自然数であり、予めユーザが決めておくことができるパラメータである。これにより、文書141からは、単語と周辺単語の組み合わせが複数通り抽出される。単語ベクトル生成部124は、周辺単語テーブル142を生成する。周辺単語テーブル142は、単語と周辺単語の組み合わせを示す。ある単語インスタンスに対して2以上の周辺単語が抽出されることもある。
例えば、文書141は、「考えが甘い。」、「りんごが甘い。」、「意義を唱える。」、「異議を唱える。」、「行くことに意義がある。」という文を含む。ただし、3番目の文に含まれる単語「意義」は誤記である。単語ベクトル生成部124は、1番目の文から、単語「考え」と周辺単語「甘い」の組を抽出し、単語「甘い」と周辺単語「考え」の組を抽出する。また、単語ベクトル生成部124は、2番目の文から、単語「りんご」と周辺単語「甘い」の組を抽出し、単語「甘い」と周辺単語「りんご」の組を抽出する。
また、単語ベクトル生成部124は、3番目の文から、単語「意義」と周辺単語「唱える」の組を抽出し、単語「唱える」と周辺単語「意義」の組を抽出する。また、単語ベクトル生成部124は、4番目の文から、単語「異議」と周辺単語「唱える」の組を抽出し、単語「唱える」と周辺単語「異議」の組を抽出する。また、単語ベクトル生成部124は、5番目の文から、単語「行く」と周辺単語「こと」、「意義」、「ある」の組を抽出し、単語「こと」と周辺単語「行く」、「意義」、「ある」の組を抽出する。更に、単語ベクトル生成部124は、単語「意義」と周辺単語「行く」、「こと」、「ある」の組を抽出し、単語「ある」と周辺単語「行く」、「こと」、「意義」の組を抽出する。
図6は、分散表現の単語ベクトルの算出例を示す図(続き)である。
単語ベクトル生成部124は、周辺単語テーブル142が示す単語と周辺単語の対応関係を用いて、前述のニューラルネットワーク130を学習する。そして、単語ベクトル生成部124は、「考え」、「甘い」、「りんご」、「意義」、「唱える」、「異議」、「行く」、「こと」、「ある」などの単語を1つずつニューラルネットワーク130に入力し、これら単語それぞれの単語ベクトルを算出する。
単語ベクトル生成部124は、単語ベクトルテーブル143を生成する。単語ベクトルテーブル143は、単語と単語ベクトルとを対応付ける。単語ベクトルテーブル143はベクトル記憶部122に記憶される。第2の実施の形態では、一例として、ニューラルネットワーク130の中間層133が200次元であり、単語ベクトルは200次元のベクトルである。ただし、次元数は300次元など変更することもできる。単語ベクトルの各次元の値は実数である。図6では説明を簡単にするため、各単語ベクトルの先頭6次元の数値例を示している。例えば、単語「考え」の単語ベクトルは(1.38,0.02,0.38,0.001,0.007,0.013,…)である。
次に、コンテキストフィルタについて説明する。
図7は、拡張ベクトル付き文書の例を示す図である。
文書141の単語インスタンスそれぞれに対しては、各種の自然言語処理を容易にするために拡張ベクトルが付与される。拡張ベクトルは単語ベクトルとコンテキストフィルタを連結したベクトルである。第2の実施の形態では、単語ベクトルが200次元でありコンテキストフィルタが50次元であるため、拡張ベクトルは250次元である。
1つの単語に1つの単語ベクトルが割り当てられるため、同一の単語を示す複数の単語インスタンスの拡張ベクトルは同一の単語ベクトルを含む。一方、コンテキストは単語の出現位置毎に異なるため、異なる単語インスタンスの拡張ベクトルは原則として異なるコンテキストフィルタを含む。2以上の語義をもつ単語について、異なる語義として用いられている単語インスタンスの拡張ベクトルは、類似しないコンテキストフィルタを含むことが期待される。一方、誤記や表記揺れにより異なる単語として扱われているものについて、単語インスタンスの拡張ベクトルは、異なる単語ベクトルを含むものの類似するコンテキストフィルタを含んでいることが期待される。
単語ベクトル生成部124は、文書141から拡張ベクトル付き文書150を生成する。拡張ベクトル付き文書150はベクトル記憶部122に記憶される。例えば、文書141からは「考え」、「甘い」、「りんご」、「甘い」、「意義」、「唱える」、「異議」、「唱える」などの単語インスタンスが抽出される。
1番目の単語インスタンス「考え」には拡張ベクトル151が付与される。2番目の単語インスタンス「甘い」には拡張ベクトル152が付与される。3番目の単語インスタンス「りんご」には拡張ベクトル153が付与される。4番目の単語インスタンス「甘い」には拡張ベクトル154が付与される。5番目の単語インスタンス「意義」には拡張ベクトル155が付与される。6番目の単語インスタンス「唱える」には拡張ベクトル156が付与される。7番目の単語インスタンス「異議」には拡張ベクトル157が付与される。8番目の単語インスタンス「唱える」には拡張ベクトル158が付与される。
単語「甘い」は異なる語義をもっており、2番目の単語インスタンス「甘い」と4番目の単語インスタンス「甘い」は異なる語義として使用されている。よって、拡張ベクトル152,154の単語ベクトルは同一であるもののコンテキストフィルタは類似しない。また、5番目の単語インスタンス「意義」は「異議」の誤記である。よって、拡張ベクトル155,157の単語ベクトルは異なるもののコンテキストフィルタは類似する。
コンテキストフィルタは以下のようにして生成される。
図8は、コンテキストフィルタの生成方法の例を示す図である。
コンテキスト情報生成部125は、単語インスタンス161を選択する。コンテキスト情報生成部125は、単語インスタンス161の前後n個の単語を周辺単語として抽出する。周辺単語の範囲は、単語ベクトル生成部124が分散表現の単語ベクトルを算出するときの範囲と同じでよい。すなわち、単語インスタンス161と同一の文の範囲であり、かつ、単語インスタンス161の前方に並ぶ高々n個の単語および単語インスタンス161の後方に並ぶ高々n個の単語の範囲である。よって、単語ベクトル生成部124が生成した周辺単語テーブル142を流用することが可能である。
ここでは、周辺単語162−1〜162−3が抽出されたとする。すると、コンテキスト情報生成部125は、周辺単語162−1に対応する単語ベクトル163−1、周辺単語162−2に対応する単語ベクトル163−2、および、周辺単語162−3に対応する単語ベクトル163−3を取得する。コンテキスト情報生成部125は、これら単語ベクトル163−1〜163−3を合算して文脈ベクトル164を算出する。単語ベクトル163−1〜163−3の合算は、単語ベクトル163−1〜163−3の同じ次元同士の値を加算する演算である。よって、単語ベクトル163−1〜163−3と文脈ベクトル164の次元数は、共に200次元であり同一となる。
コンテキスト情報生成部125は、文脈ベクトル164にコンテキストフィルタ165を適用してフィルタ後ベクトル166を算出する。単語インスタンス161に対するコンテキストフィルタ165の算出を開始するときに、コンテキストフィルタ165は初期化される。コンテキストフィルタ165の初期値は、所定値でもよいし単語インスタンス毎にランダムに決めてもよい。コンテキストフィルタ165は、文脈ベクトル164よりも次元数が少ないベクトルである。第2の実施の形態では、コンテキストフィルタ165の次元数は文脈ベクトル164の次元数の4分の1である。
コンテキスト情報生成部125は、文脈ベクトル164の各次元の値に対して、それに対応するコンテキストフィルタ165の次元の値を乗算する。文脈ベクトル164とフィルタ後ベクトル166の次元数は、共に200次元であり同一となる。コンテキストフィルタ165の次元数が文脈ベクトル164の次元数の4分の1であるため、文脈ベクトル164の連続する4つの次元に対して、コンテキストフィルタ165の1つの次元が対応付けられる。例えば、文脈ベクトル164の1次元目から4次元目の値に対して、コンテキストフィルタ165の1次元目の値がそれぞれ乗算される。
コンテキスト情報生成部125は、フィルタ後ベクトル166をニューラルネットワーク167に入力する。ニューラルネットワーク167は、入力されたベクトルから周辺単語を推定する機械学習モデルである。ニューラルネットワーク167として、分散表現の単語ベクトルの生成時に学習されたニューラルネットワーク130を流用することができる。その場合、中間層133にフィルタ後ベクトル166を入力すればよい。ニューラルネットワーク167は、推定周辺単語168−1〜168−3を出力する。
コンテキスト情報生成部125は、推定周辺単語168−1〜168−3と正解である周辺単語162−1〜162−3の間の差異を示すロス169(推定ロス)を算出する。ニューラルネットワーク167は、文書に出現し得る単語の数に相当する長さのベクトルであって、各単語が周辺単語である確率に応じた数値を列挙したベクトルを推定結果として出力することがある。その場合、例えば、正解のベクトルと推定結果のベクトルの間で、次元毎に差の絶対値を算出して合計したものをロス169とすることができる。
コンテキスト情報生成部125は、ロス169が小さくなるようにコンテキストフィルタ165を更新する。コンテキストフィルタ165の更新には、様々な探索アルゴリズムを利用することができる。以上を繰り返すことで、単語インスタンス161に対応するコンテキストフィルタ165を算出することができる。
ここで、周辺単語162−1〜162−3の単語ベクトル163−1〜163−3を合算した文脈ベクトル164は、他の周辺単語の組み合わせパターンからも同じ値が再現されることがあり、意図しないコンテキストを表してしまう可能性がある。また、単語ベクトル163−1〜163−3を連結したベクトルは、次元数が大きく冗長である。これに対して、コンテキストフィルタ165は、コンテキストを区別する上で文脈ベクトル164の各次元がどの程度重要であるかを示している。コンテキストフィルタ165は、コンテキストの区別に十分な情報をコンパクトにまとめた情報であると言うことができる。
図9は、コンテキストフィルタの第1の生成例を示す図である。
ここでは、図5に示した文書141の3番目の文に含まれる単語インスタンス「意義」についてコンテキストフィルタを生成する場合を考える。
コンテキスト情報生成部125は、単語インスタンス「意義」の周辺単語「唱える」を抽出し、単語ベクトルテーブル143から「唱える」の単語ベクトル171を選択する。ここでは周辺単語は1つのみであるため、単語ベクトル171が文脈ベクトル172になる。また、コンテキスト情報生成部125は、ランダムな値で初期化したコンテキストフィルタ173を生成する。コンテキスト情報生成部125は、文脈ベクトル172にコンテキストフィルタ173を適用してフィルタ後ベクトル174を算出する。
ここでは説明を簡単にするため、文脈ベクトル172とコンテキストフィルタ173の次元数が同じであると仮定している。例えば、文脈ベクトル172の1次元目が0.05であり、コンテキストフィルタ173の1次元目が0.50である場合、フィルタ後ベクトル174の1次元目は0.05×0.50=0.025と算出される。
コンテキスト情報生成部125は、フィルタ後ベクトル174をニューラルネットワーク130の中間層133に入力することで、ニューラルネットワーク130の出力層135から推定結果175を取得する。推定結果175は、文書に出現し得る単語それぞれが周辺単語である確率(信頼度)に応じた値を列挙したベクトルである。コンテキスト情報生成部125は、推定結果175と正解情報176とを比較してロスを算出する。正解情報176は、正解の周辺単語を示すベクトルであり、周辺単語である単語に対応する値を「1」とし、周辺単語でない単語に対応する値を「0」としたものである。
ロスは、単語毎の推定結果175と正解情報176の差の絶対値を合算した数値である。例えば、単語「考え」の推定結果が0.10、単語「りんご」の推定結果が0.15、単語「唱える」の推定結果が0.01、単語「行く」の推定結果が0.03、単語「こと」の推定結果が0.02、単語「ある」の推定結果が0.01であるとする。正解の周辺単語は「唱える」のみである。よって、0.10+0.15+(1.0−0.01)+0.03+0.02+0.01+…がロスとして算出される。
コンテキスト情報生成部125は、算出したロスが小さくなるようにコンテキストフィルタ173をコンテキストフィルタ177に更新する。例えば、1次元目が0.50から0.60に更新され、2次元目が0.10から0.30に更新され、3次元目が0.01から0.80に更新され、4次元目が−0.30から0.20に更新され、5次元目が−1.00から−0.40に更新され、6次元目が−0.10から0.80に更新される。
図10は、コンテキストフィルタの第1の生成例を示す図(続き)である。
コンテキスト情報生成部125は、周辺単語「唱える」に対応する単語ベクトル171から算出された文脈ベクトル172に、更新後のコンテキストフィルタ177を適用してフィルタ後ベクトル178を算出する。例えば、文脈ベクトル172の1次元目が0.05であり、コンテキストフィルタ177の1次元目が0.60である場合、フィルタ後ベクトル178の1次元目は0.05×0.60=0.03と算出される。
コンテキスト情報生成部125は、フィルタ後ベクトル178をニューラルネットワーク130の中間層133に入力することで、ニューラルネットワーク130の出力層135から推定結果179を取得する。コンテキスト情報生成部125は、推定結果179と正解情報176とを比較してロスを算出する。例えば、単語「考え」の推定結果が0.10、単語「りんご」の推定結果が0.18、単語「唱える」の推定結果が0.75、単語「行く」の推定結果が0.03、単語「こと」の推定結果が0.01、単語「ある」の推定結果が0.02であるとする。この場合、0.10+0.18+(1.0−0.75)+0.03+0.01+0.02+…がロスとして算出される。
このように、コンテキスト情報生成部125は、周辺単語の推定とコンテキストフィルタの更新とを所定回数繰り返してコンテキストフィルタを確定する。図5に示した文書141の4番目の文に含まれる単語インスタンス「異議」に対しても、周辺単語が上記の「意義」と同一であるため同一のコンテキストフィルタが生成される。よって、図7の拡張ベクトル155,157は、単語ベクトルが異なりコンテキストフィルタが同一になる。
図11は、コンテキストフィルタの第2の生成例を示す図である。
ここでは、図5に示した文書141の5番目の文に含まれる単語インスタンス「意義」についてコンテキストフィルタを生成する場合を考える。
コンテキスト情報生成部125は、単語インスタンス「意義」の周辺単語「行く」、「こと」、「ある」を抽出し、単語ベクトルテーブル143から「行く」、「こと」、「ある」の単語ベクトル181〜183を選択する。コンテキスト情報生成部125は、単語ベクトル181〜183を合算して文脈ベクトル184を算出する。例えば、単語ベクトル181の1次元目が−0.01であり、単語ベクトル182の1次元目が0.10であり、単語ベクトル183の1次元目が0.13である場合、文脈ベクトル184の1次元目は−0.01+0.10+0.13=0.22と算出される。
また、コンテキスト情報生成部125は、ランダムな値で初期化したコンテキストフィルタ185を生成する。コンテキスト情報生成部125は、文脈ベクトル184にコンテキストフィルタ185を適用してフィルタ後ベクトル186を算出する。例えば、コンテキストフィルタ185の1次元目が0.50である場合、フィルタ後ベクトル186の1次元目は0.22×0.50=0.11と算出される。
コンテキスト情報生成部125は、フィルタ後ベクトル186をニューラルネットワーク130の中間層133に入力することで、ニューラルネットワーク130の出力層135から推定結果187を取得する。コンテキスト情報生成部125は、推定結果187と正解情報188とを比較してロスを算出する。例えば、単語「考え」の推定結果が0.20、単語「りんご」の推定結果が0.31、単語「唱える」の推定結果が0.01、単語「行く」の推定結果が0.35、単語「こと」の推定結果が0.20、単語「ある」の推定結果が0.20であるとする。正解の周辺単語は「行く」、「こと」、「ある」である。よって、0.20+0.31+0.01+(1.0−0.35)+(1.0−0.20)+(1.0−0.20)+…がロスとして算出される。コンテキスト情報生成部125は、算出したロスが小さくなるようにコンテキストフィルタ185を更新する。
上記の図9,10の例と図11の例は、同一の単語「意義」についてのコンテキストフィルタを算出している。しかし、図9,10の単語インスタンスと図11の単語インスタンスとでは周辺単語が全く異なるため、類似しないコンテキストフィルタが生成される。
次に、コンテキストフィルタを利用した検索処理の例を説明する。
「考えが甘い。」という文と「りんごが甘い。」という文があるとする。この2つの文は同一の単語「甘い」を含んでいるものの、異なる語義として単語「甘い」を使用している。このため、機械翻訳を行う場合は2つの文の「甘い」に対して同一の訳語を割り当てるべきでない。検索部126は、単語「甘い」を含む文のうち前者の語義をもつ文を検索したいときには、コンテキストフィルタを含む拡張ベクトル全体を用いて類似度を計算することで、検索される文を適切に絞り込むことが可能となる。
また、文書の中に単語「service」と単語「sevice」があるとする。後者は前者の誤記である。単語「service」の単語ベクトルと単語「sevice」の単語ベクトルは類似しないことがある。一方、単語インスタンス「service」のコンテキストフィルタと単語インスタンス「sevice」のコンテキストフィルタは類似する可能性が高い。そこで、検索部126は、単語「service」を含む文を検索するときに、類似するコンテキストフィルタをもつ単語インスタンスを含む文を更に検索することで、単語「sevice」を含む文を検索結果に含めることができる。これにより、検索漏れを低減することができる。このとき、単語「sevice」の誤記を自動的に修正してもよいしユーザに修正を促してもよい。前述の単語「異議」と「意義」の誤記についても同様に処理することができる。
また、文書の中に空白を含まない「servicepack」という表記と空白を含む「service pack」という表記が混在しているとする。前者の表記からは単語「servicepack」が抽出され、後者の表記からは単語「service」が抽出される。単語「servicepack」と単語「service」には異なる単語ベクトルが割り当てられる。
一方、「servicepack」と同じコンテキストで「service」が使用されている文では、単語インスタンス「service」のコンテキストフィルタは単語インスタンス「servicepack」のコンテキストフィルタと類似する。そこで、検索部126は、コンテキストフィルタを用いた検索により「servicepack」を含む文に加えて「service pack」を含む文を検索することが可能となる。また、「servicepack」と異なるコンテキストで「service」が使用されている文では、単語インスタンス「service」のコンテキストフィルタは単語インスタンス「servicepack」のコンテキストフィルタと類似しない。そこで、検索部126は、コンテキストフィルタを用いた検索により「service」の後に「pack」以外の単語が続く文などコンテキストの異なる文を除外することが可能となる。
次に、機械学習装置100の処理手順について説明する。
図12は、単語ベクトル生成の手順例を示すフローチャートである。
(S10)単語ベクトル生成部124は、文書を文に分割し、文を単語に分割する。
(S11)単語ベクトル生成部124は、文書に含まれる単語インスタンス(単語の1つの出現位置)毎に、同一文内の前後n単語など所定範囲内の周辺単語を抽出し、単語と周辺単語の対応関係を示す周辺単語テーブル142を生成する。
(S12)単語ベクトル生成部124は、周辺単語テーブル142を用いてニューラルネットワーク130を学習する。ニューラルネットワーク130の学習では、単語ベクトル生成部124は、単語を入力層131に入力したときに出力層135から出力される推定周辺単語と実際の周辺単語とを比較し、ロスが小さくなるように重みを更新する。
(S13)単語ベクトル生成部124は、ニューラルネットワーク130の学習が完了すると、各単語をニューラルネットワーク130の入力層131に入力し、中間層133のノードの値を列挙したベクトルを当該単語の単語ベクトルとして算出する。単語ベクトル生成部124は、単語ベクトルを単語ベクトルテーブル143に記録する。
図13は、コンテキスト情報生成の手順例を示すフローチャートである。
(S20)コンテキスト情報生成部125は、文書に含まれる各単語インスタンスにコンテキストフィルタを割り当て、各コンテキストフィルタを初期化する。
(S21)コンテキスト情報生成部125は、文書の先頭を参照する。
(S22)コンテキスト情報生成部125は、文書に含まれる複数の単語インスタンスのうち、現在の参照位置から次の単語インスタンスを選択する。
(S23)コンテキスト情報生成部125は、ステップS22で選択した単語インスタンスから所定範囲内にある周辺単語を検索する。周辺単語は前述の周辺単語テーブル142から検索してもよい。コンテキスト情報生成部125は、周辺単語に対応する単語ベクトルを単語ベクトルテーブル143から検索する。コンテキスト情報生成部125は、周辺単語の単語ベクトルを合算して文脈ベクトルを算出する。
(S24)コンテキスト情報生成部125は、ステップS23で算出した文脈ベクトルに、当該単語インスタンスに対応するコンテキストフィルタを適用する。コンテキストフィルタの適用は、単語ベクトルの各次元の値にコンテキストフィルタの値を乗算するものである。これにより、フィルタ後ベクトルが算出される。
(S25)コンテキスト情報生成部125は、ステップS24で算出したフィルタ後ベクトルを、単語ベクトル生成で学習したニューラルネットワーク130の中間層133に代入する。コンテキスト情報生成部125は、ニューラルネットワーク130の出力層135から周辺単語の推定結果を取得する。ただし、ニューラルネットワーク130に代えて、入力ベクトルから周辺単語を推定可能な他の機械学習モデルを使用してもよい。
(S26)コンテキスト情報生成部125は、ステップS23で検索した実際の周辺単語とステップS25で取得した周辺単語の推定結果とを比較してロスを算出する。
(S27)コンテキスト情報生成部125は、ステップS26で算出したロスに基づいて、ロスが小さくなるようにコンテキストフィルタを更新する。
(S28)コンテキスト情報生成部125は、参照位置が文書の末尾に到達したか、すなわち、現在選択している単語インスタンスが文書中の最後の単語インスタンスであるか判断する。文書の末尾に到達した場合はステップS29に進み、文書の末尾に到達していない場合はステップS22に進んで次の単語インスタンスを選択する。
(S29)コンテキスト情報生成部125は、ステップS21〜S28の反復回数が所定の閾値に到達したか、すなわち、文書を先頭から末尾までスキャンした回数が閾値に到達したか判断する。反復回数が閾値に到達した場合はステップS30に進み、反復回数が閾値未満である場合はステップS21に進んで文書の先頭に戻る。
(S30)コンテキスト情報生成部125は、文書に含まれる各単語インスタンスについて、当該単語インスタンスに関する単語ベクトルにコンテキストフィルタを付加して拡張ベクトルを生成する。コンテキスト情報生成部125は、生成した拡張ベクトルを単語インスタンスに対応付けて出力する。拡張ベクトルはインデックスとして使用される。例えば、コンテキスト情報生成部125は、拡張ベクトル付き文書150を生成する。
次に、コンテキストフィルタを利用した語義判定について説明する。
図14は、語義判定方法の第1の例を示す図である。
語義判定部127は、2以上の語義をもつ単語について、一部の単語インスタンスに付与された教師ラベルを用いた教師あり学習により、ラベルがまだ付与されていない単語インスタンスの語義を判定して自動的にラベルを付与する。
教師データ記憶部123は、同一の単語について、単語インスタンス212−1に付与された教師ラベル211−1と、単語インスタンス212−2に付与された教師ラベル211−2とを記憶する。教師ラベル211−1,211−2は、ある単語がもつ2以上の語義のうち異なる語義を示す教師データである。人が単語インスタンス212−1,212−2の語義を判定して教師ラベル211−1,211−2を作成している。
語義判定部127は、単語インスタンス212−1の周辺単語の単語ベクトルを合算して文脈ベクトルを算出し、対応するコンテキストフィルタ213−1を文脈ベクトルに適用してフィルタ後ベクトルを算出する。語義判定部127は、フィルタ後ベクトルをニューラルネットワーク214に入力して推定周辺単語215−1を求める。同様に、語義判定部127は、単語インスタンス212−2の周辺単語の単語ベクトルを合算して文脈ベクトルを算出し、対応するコンテキストフィルタ213−2を文脈ベクトルに適用してフィルタ後ベクトルを算出する。語義判定部127は、フィルタ後ベクトルをニューラルネットワーク214に入力して推定周辺単語215−2を求める。
ニューラルネットワーク214は、フィルタ後ベクトルから周辺単語を推定する機械学習モデルであり、前述のニューラルネットワーク130を用いることができる。一方、第1の語義判定方法では、ニューラルネットワーク214とは異なるニューラルネットワーク216を学習する。ニューラルネットワーク216は、1以上の周辺単語の入力を受け付け、語義の推定結果を出力する機械学習モデルである。ニューラルネットワーク216は、例えば、単語毎に学習するようにする。
語義判定部127は、推定周辺単語215−1をニューラルネットワーク216に入力し、単語インスタンス212−1に対応する推定語義217−1を取得する。また、語義判定部127は、推定周辺単語215−2をニューラルネットワーク216に入力し、単語インスタンス212−2に対応する推定語義217−2を取得する。
ニューラルネットワーク216の入力は、複数の単語それぞれが推定周辺単語であるか否かを示すベクトルである。推定周辺単語である単語の入力値は「1」とし、推定周辺単語でない単語の入力値は「0」とする。ニューラルネットワーク214の出力をニューラルネットワーク216に入力するにあたり、ニューラルネットワーク214の出力を二値化する。ある単語の数値としてニューラルネットワーク214が閾値(例えば、0.5)を超える値を出力した場合、例えば、語義判定部127は、当該単語について「1」をニューラルネットワーク216に入力する。ある単語の数値としてニューラルネットワーク214が閾値以下の値を出力した場合、例えば、語義判定部127は、当該単語について「0」をニューラルネットワーク216に入力する。
語義判定部127は、推定語義217−1と教師ラベル211−1とを比較し、推定語義217−2と教師ラベル211−2とを比較する。語義判定部127は、推定語義217−1,217−2と教師ラベル211−1,211−2が示す語義とのずれが小さくなるように、ニューラルネットワーク216の重みを更新する。
ニューラルネットワーク216の学習が完了すると、語義判定部127は、語義が判定されておらずラベルが付与されていない単語インスタンス212−3を選択する。語義判定部127は、単語インスタンス212−3の周辺単語の単語ベクトルを合算して文脈ベクトルを算出し、対応するコンテキストフィルタ213−3を文脈ベクトルに適用してフィルタ後ベクトルを算出する。語義判定部127は、フィルタ後ベクトルをニューラルネットワーク214に入力して推定周辺単語215−3を求める。
語義判定部127は、推定周辺単語215−3をニューラルネットワーク216に入力して単語インスタンス212−3の語義を推定し、推定した語義を示す自動ラベル218を生成して単語インスタンス212−3に付与する。このように、語義判定部127は、教師データを用いて推定周辺単語と語義の関係を学習し、学習した関係を用いて、未判定の単語インスタンスの語義を判定することができる。
次に、語義判定の他の例を説明する。
図15は、語義判定方法の第2の例を示すフローチャートである。
(S40)語義判定部127は、判定対象の単語インスタンスを含む文を取得する。
(S41)語義判定部127は、ステップS40で取得した文から、単語インスタンスから所定範囲内にある周辺単語を抽出し、周辺単語に対応する単語ベクトルを検索する。語義判定部127は、検索した単語ベクトルを合算して文脈ベクトルを算出する。
(S42)語義判定部127は、異なる語義を示す教師ラベルが付与された2以上の単語インスタンスに対応付けられている2以上のコンテキストフィルタを取得する。
(S43)語義判定部127は、ステップS41で算出した文脈ベクトルに、ステップS42で取得した2以上のコンテキストフィルタをそれぞれ適用する。これにより、異なる教師ラベルに対応する2以上のフィルタ後ベクトルが算出される。
(S44)語義判定部127は、ステップS43で算出した2以上のフィルタ後ベクトルをそれぞれニューラルネットワークに代入する。このニューラルネットワークは、入力ベクトルから周辺単語を推定するものであり、前述のニューラルネットワーク130やニューラルネットワーク214に対応する。これにより、語義判定部127は、異なる教師ラベルに対応する異なる推定周辺単語の集合を取得する。
(S45)語義判定部127は、ステップS44で取得した推定周辺単語の集合それぞれに対して、ステップS41で抽出した実際の周辺単語の集合と比較しロスを算出する。
(S46)語義判定部127は、2以上の教師ラベルのうちステップS45で算出したロスが最小の教師ラベルを選択する。語義判定部127は、判定対象の単語インスタンスの語義が、選択した教師ラベルが示す語義であると判定する。語義判定部127は、判定対象の単語インスタンスに、判定した語義を示すラベルを付与する。
第2の実施の形態の機械学習装置100によれば、単語の1回の出現である単語インスタンス毎に、コンテキスト情報としてコンテキストフィルタが算出される。そして、分散表現の単語ベクトルにコンテキストフィルタが連結されて拡張ベクトルが生成され、単語インスタンスに対して拡張ベクトルが付与される。
これにより、単語の出現位置毎のコンテキストをコンパクトに表現することができる。また、周辺単語の単語ベクトルを合算した文脈ベクトルは、意図しないコンテキストを含んでしまう可能性があるという曖昧さをもつ。これに対して、文脈ベクトルのうち当該コンテキストの識別にとって重要な次元を示すコンテキストフィルタをコンテキスト情報として使用することで、異なるコンテキストを区別することができる。また、周辺単語の単語ベクトルを連結せずに合算するため、ベクトルの次元数を抑制することができる。よって、周辺単語の並び順を考慮する機械学習アルゴリズムと比べて、機械学習の複雑性を低減することができ、コンテキストの区別に十分な情報を効率的に生成することができる。
また、2以上の語義をもつ単語に対しては、単語インスタンスによって類似しないコンテキストフィルタが生成されることがある。そこで、コンテキストフィルタも含めて拡張ベクトル全体を用いて検索処理を行うことで、類似する文の検索精度を向上させることができる。また、コンテキストフィルタに基づいて、語義を示すラベルを単語インスタンスに付与することで、その後の自然言語処理の精度を向上させることができる。また、誤記や表記揺れに起因する異なる単語表記に対して、類似するコンテキストフィルタが生成されることがある。そこで、コンテキストフィルタを用いて検索処理を行うことで、誤記や表記揺れの可能性がある単語表記を検出することができる。このように、コンテキストフィルタを用いて、分散表現の単語ベクトルを補完して自然言語処理を効率化できる。
10 コンテキスト情報生成装置
11 記憶部
12 処理部
13 文書
14−1,14−2,14−3 単語ベクトル
15 合算ベクトル
16 パラメータ
17 機械学習モデル
18 コンテキスト情報

Claims (7)

  1. コンピュータが、
    複数の単語を用いて記載された文を含む文書と、前記複数の単語に対応して算出された分散表現の複数の単語ベクトルとを取得し、
    前記複数の単語のうちの1つの単語が出現する1つの出現位置から所定範囲内にある2以上の周辺単語を前記文書から抽出し、前記2以上の周辺単語に対応する2以上の単語ベクトルを合算した合算ベクトルを算出し、
    周辺単語を推定する所定の機械学習モデルを用いて前記合算ベクトルとパラメータとから前記2以上の周辺単語が推定されるように、前記パラメータを決定し、
    前記1つの単語に対応する単語ベクトルと対応付けて、前記1つの出現位置におけるコンテキスト情報として前記パラメータを記憶する、
    コンテキスト情報生成方法。
  2. 前記パラメータは、前記合算ベクトルを前記所定の機械学習モデルに入力される入力ベクトルに変換する変換フィルタである、
    請求項1記載のコンテキスト情報生成方法。
  3. 前記コンピュータが更に、
    前記1つの単語に対応する単語ベクトルと対応付けて、前記1つの単語が出現する他の1つの出現位置における他のコンテキスト情報を記憶し、
    前記1つの単語に対応する単語ベクトルに加えて、前記コンテキスト情報および前記他のコンテキスト情報を用いて、前記1つの単語を含む文を絞り込む検索処理を行う、
    請求項1記載のコンテキスト情報生成方法。
  4. 前記コンピュータが更に、
    前記1つの単語に対応する単語ベクトルと対応付けて、前記1つの単語が出現する他の1つの出現位置における他のコンテキスト情報を記憶し、
    前記コンテキスト情報および前記他のコンテキスト情報に基づいて、前記1つの単語の語義を区別するラベルを前記1つの出現位置および前記他の1つの出現位置に付与する、
    請求項1記載のコンテキスト情報生成方法。
  5. 前記コンピュータが更に、
    他の1つの単語に対応する単語ベクトルと対応付けて、前記他の1つの単語が出現する他の1つの出現位置における他のコンテキスト情報を記憶し、
    前記コンテキスト情報と前記他のコンテキスト情報との距離が閾値以下である場合、前記1つの単語を含む文の検索結果に、前記他の1つの出現位置を含む文を追加する、
    請求項1記載のコンテキスト情報生成方法。
  6. 複数の単語を用いて記載された文を含む文書と、前記複数の単語に対応して算出された分散表現の複数の単語ベクトルとを記憶する記憶部と、
    前記複数の単語のうちの1つの単語が出現する1つの出現位置から所定範囲内にある2以上の周辺単語を前記文書から抽出し、前記2以上の周辺単語に対応する2以上の単語ベクトルを合算した合算ベクトルを算出し、周辺単語を推定する所定の機械学習モデルを用いて前記合算ベクトルとパラメータとから前記2以上の周辺単語が推定されるように、前記パラメータを決定し、前記1つの単語に対応する単語ベクトルと対応付けて、前記1つの出現位置におけるコンテキスト情報として前記パラメータを記憶する処理部と、
    を有するコンテキスト情報生成装置。
  7. コンピュータに、
    複数の単語を用いて記載された文を含む文書と、前記複数の単語に対応して算出された分散表現の複数の単語ベクトルとを取得し、
    前記複数の単語のうちの1つの単語が出現する1つの出現位置から所定範囲内にある2以上の周辺単語を前記文書から抽出し、前記2以上の周辺単語に対応する2以上の単語ベクトルを合算した合算ベクトルを算出し、
    周辺単語を推定する所定の機械学習モデルを用いて前記合算ベクトルとパラメータとから前記2以上の周辺単語が推定されるように、前記パラメータを決定し、
    前記1つの単語に対応する単語ベクトルと対応付けて、前記1つの出現位置におけるコンテキスト情報として前記パラメータを記憶する、
    処理を実行させるコンテキスト情報生成プログラム。
JP2018192040A 2018-10-10 2018-10-10 コンテキスト情報生成方法、コンテキスト情報生成装置およびコンテキスト情報生成プログラム Active JP7116309B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2018192040A JP7116309B2 (ja) 2018-10-10 2018-10-10 コンテキスト情報生成方法、コンテキスト情報生成装置およびコンテキスト情報生成プログラム
US16/594,201 US11507746B2 (en) 2018-10-10 2019-10-07 Method and apparatus for generating context information
CN201910949442.3A CN111046659B (zh) 2018-10-10 2019-10-08 上下文信息生成方法、上下文信息生成装置及计算机可读记录介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018192040A JP7116309B2 (ja) 2018-10-10 2018-10-10 コンテキスト情報生成方法、コンテキスト情報生成装置およびコンテキスト情報生成プログラム

Publications (2)

Publication Number Publication Date
JP2020060970A true JP2020060970A (ja) 2020-04-16
JP7116309B2 JP7116309B2 (ja) 2022-08-10

Family

ID=70159630

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018192040A Active JP7116309B2 (ja) 2018-10-10 2018-10-10 コンテキスト情報生成方法、コンテキスト情報生成装置およびコンテキスト情報生成プログラム

Country Status (3)

Country Link
US (1) US11507746B2 (ja)
JP (1) JP7116309B2 (ja)
CN (1) CN111046659B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022264216A1 (ja) * 2021-06-14 2022-12-22 富士通株式会社 情報処理プログラム、情報処理方法および情報処理装置

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11275934B2 (en) * 2019-11-20 2022-03-15 Sap Se Positional embeddings for document processing
US11586652B2 (en) * 2020-05-18 2023-02-21 International Business Machines Corporation Variable-length word embedding
US11983208B2 (en) * 2021-02-16 2024-05-14 International Business Machines Corporation Selection-based searching using concatenated word and context
US20220366188A1 (en) * 2021-04-29 2022-11-17 International Business Machines Corporation Parameterized neighborhood memory adaptation
US20240330290A1 (en) * 2023-03-30 2024-10-03 Samsung Electronics Co., Ltd. System and method for processing embeddings

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170286397A1 (en) * 2016-03-30 2017-10-05 International Business Machines Corporation Predictive Embeddings
JP2018045361A (ja) * 2016-09-13 2018-03-22 ヤフー株式会社 情報処理装置、情報処理方法、およびプログラム

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3166646B2 (ja) 1996-12-13 2001-05-14 日本電気株式会社 語義曖昧性解消装置
WO2017130089A1 (en) * 2016-01-26 2017-08-03 Koninklijke Philips N.V. Systems and methods for neural clinical paraphrase generation
JP6400037B2 (ja) * 2016-03-17 2018-10-03 ヤフー株式会社 判定装置、および判定方法
US10460229B1 (en) * 2016-03-18 2019-10-29 Google Llc Determining word senses using neural networks
US11068658B2 (en) * 2016-12-07 2021-07-20 Disney Enterprises, Inc. Dynamic word embeddings
US10817509B2 (en) * 2017-03-16 2020-10-27 Massachusetts Institute Of Technology System and method for semantic mapping of natural language input to database entries via convolutional neural networks
US10380259B2 (en) * 2017-05-22 2019-08-13 International Business Machines Corporation Deep embedding for natural language content based on semantic dependencies
US11048870B2 (en) * 2017-06-07 2021-06-29 International Business Machines Corporation Domain concept discovery and clustering using word embedding in dialogue design
CN111316281B (zh) * 2017-07-26 2024-01-23 舒辅医疗 基于机器学习的自然语言情境中数值数据的语义分类方法以及系统
CN107957989B9 (zh) * 2017-10-23 2021-01-12 创新先进技术有限公司 基于集群的词向量处理方法、装置以及设备
GB2568233A (en) * 2017-10-27 2019-05-15 Babylon Partners Ltd A computer implemented determination method and system
US12061954B2 (en) * 2017-10-27 2024-08-13 Intuit Inc. Methods, systems, and computer program product for dynamically modifying a dynamic flow of a software application
US20190187955A1 (en) * 2017-12-15 2019-06-20 Facebook, Inc. Systems and methods for comment ranking using neural embeddings
US11080483B1 (en) * 2018-02-28 2021-08-03 Verisign, Inc. Deep machine learning generation of domain names leveraging token metadata
JP6872505B2 (ja) * 2018-03-02 2021-05-19 日本電信電話株式会社 ベクトル生成装置、文ペア学習装置、ベクトル生成方法、文ペア学習方法、およびプログラム
KR102540774B1 (ko) * 2018-12-04 2023-06-08 한국전자통신연구원 서브워드 임베딩 및 스킵서트 기반 문장 임베딩 방법 및 장치
RU2721190C1 (ru) * 2018-12-25 2020-05-18 Общество с ограниченной ответственностью "Аби Продакшн" Обучение нейронных сетей с использованием функций потерь, отражающих зависимости между соседними токенами

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170286397A1 (en) * 2016-03-30 2017-10-05 International Business Machines Corporation Predictive Embeddings
JP2018045361A (ja) * 2016-09-13 2018-03-22 ヤフー株式会社 情報処理装置、情報処理方法、およびプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022264216A1 (ja) * 2021-06-14 2022-12-22 富士通株式会社 情報処理プログラム、情報処理方法および情報処理装置

Also Published As

Publication number Publication date
CN111046659B (zh) 2024-04-16
CN111046659A (zh) 2020-04-21
JP7116309B2 (ja) 2022-08-10
US20200117710A1 (en) 2020-04-16
US11507746B2 (en) 2022-11-22

Similar Documents

Publication Publication Date Title
CN108280061B (zh) 基于歧义实体词的文本处理方法和装置
JP7116309B2 (ja) コンテキスト情報生成方法、コンテキスト情報生成装置およびコンテキスト情報生成プログラム
CN111444320B (zh) 文本检索方法、装置、计算机设备和存储介质
US20190354810A1 (en) Active learning to reduce noise in labels
CN111506714A (zh) 基于知识图嵌入的问题回答
US20180068221A1 (en) System and Method of Advising Human Verification of Machine-Annotated Ground Truth - High Entropy Focus
JP2018190188A (ja) 要約生成装置、要約生成方法及びコンピュータプログラム
CN108960338B (zh) 基于注意力反馈机制的图像自动语句标注方法
US20210117802A1 (en) Training a Neural Network Using Small Training Datasets
US20210174161A1 (en) Method and apparatus for multi-document question answering
CN112101042A (zh) 文本情绪识别方法、装置、终端设备和存储介质
CN110245349A (zh) 一种句法依存分析方法、装置及一种电子设备
CN112784009A (zh) 一种主题词挖掘方法、装置、电子设备及存储介质
JP2019204214A (ja) 学習装置、学習方法、プログラム及び推定装置
Giri MTStemmer: A multilevel stemmer for effective word pre-processing in Marathi
CN112711944B (zh) 一种分词方法、系统、分词器生成方法及系统
CN113806489A (zh) 用于数据集创建的方法、电子设备和计算机程序产品
KR20230015702A (ko) 비디오-텍스트 검색 학습 장치 및 비디오-텍스트 검색 학습 방법
CN111125329B (zh) 一种文本信息筛选方法、装置及设备
JP2015018372A (ja) 表現抽出モデル学習装置、表現抽出モデル学習方法、および、コンピュータ・プログラム
CN115017906A (zh) 一种针对文本中实体的识别方法、装置及存储介质
Vilalta et al. Studying the impact of the full-network embedding on multimodal pipelines
JP7135730B2 (ja) 要約生成方法及び要約生成プログラム
JP2020140674A (ja) 回答選択装置及びプログラム
US12073299B2 (en) Systems and methods for using contrastive pre-training to generate text and code embeddings

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210709

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20210715

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20210715

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220621

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220628

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220711

R150 Certificate of patent or registration of utility model

Ref document number: 7116309

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150