JP7143677B2 - 単語符号化装置、解析装置、言語モデル学習装置、方法、及びプログラム - Google Patents

単語符号化装置、解析装置、言語モデル学習装置、方法、及びプログラム Download PDF

Info

Publication number
JP7143677B2
JP7143677B2 JP2018157473A JP2018157473A JP7143677B2 JP 7143677 B2 JP7143677 B2 JP 7143677B2 JP 2018157473 A JP2018157473 A JP 2018157473A JP 2018157473 A JP2018157473 A JP 2018157473A JP 7143677 B2 JP7143677 B2 JP 7143677B2
Authority
JP
Japan
Prior art keywords
vector
word
character
representing
unit
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.)
Active
Application number
JP2018157473A
Other languages
English (en)
Other versions
JP2020030753A (ja
Inventor
翔 高瀬
昌明 永田
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2018157473A priority Critical patent/JP7143677B2/ja
Priority to US17/269,665 priority patent/US12131120B2/en
Priority to PCT/JP2019/032854 priority patent/WO2020040255A1/ja
Publication of JP2020030753A publication Critical patent/JP2020030753A/ja
Application granted granted Critical
Publication of JP7143677B2 publication Critical patent/JP7143677B2/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
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • 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/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Machine Translation (AREA)

Description

本発明は、単語符号化装置、解析装置、言語モデル学習装置、方法、及びプログラムに関し、特に、単語を表すベクトルを生成するための単語符号化装置、解析装置、言語モデル学習装置、方法、及びプログラムに関する。
自然言語で書かれた文書を計算機が翻訳、あるいは要約するためには、自然言語文の解析だけではなく、計算機によって文を生成する技術がなくてはならない。また、機械と人とが対話を行う際にも、自然言語文を自動的に生成する必要がある。
計算機による文の生成は、最初の単語を入力とし、次に出現する単語の確率を計算し、単語を生成する、その後、出力した単語を入力として、さらに次に出現する単語の確率を計算する、という処理を繰り返すことによって行う。
近年、リカレントニューラルネットワーク(RNN)を用い、過去の全単語列を元に、単語の出現確率を計算する手法が主流になってきている。この手法では、単語を各次元の要素が実数値の、固定長のベクトルで表現し、単語間の組み合わせをベクトル同士の演算で表現する。
また、単語を表すベクトルを生成する際に、文字の埋め込みベクトルを、単語の埋め込みベクトルに結合する手法が知られている(非特許文献1)。
Lyan Verwimp, Joris Pelemans, Hugo Van hamme, and Patrick Wambacq. 2017. Character-word lstm language models. In Proceedings of the 15th Conference of the European Chapter of the Association for Computational Linguistics (EACL 2017), pages 417-427.
上記非特許文献1に記載の手法では、単語埋め込みベクトル構築の際に単語を構成する文字列の重要性が考慮できていなかった。
本発明は、この課題を鑑みてなされたものであり、単語の文字列の重要性を考慮した、単語を表すベクトルを生成することができる単語符号化装置、方法、及びプログラムを提供することを目的とする。
また、本発明は、テキストを精度よく解析することができる解析装置及びプログラムを提供することを目的とする。
また、本発明は、テキストを精度よく解析するための言語モデルを学習することができる言語モデル学習装置及びプログラムを提供することを目的とする。
上記目的を達成するために、本発明に係る単語符号化装置は、予め学習されたニューラルネットワークを用いて、入力された単語を合成ベクトルに変換する単語符号化部を有する単語符号化装置であって、前記単語符号化部は、前記単語に含まれる文字Nグラムの各々を表す所定のベクトルを取得する文字Nグラムベクトル取得部と、前記単語に含まれる文字Nグラムの各々を表す所定のベクトルに基づいて、前記文字Nグラムの各々を表す所定のベクトルに対する重みを計算する重み計算部と、前記単語に含まれる文字Nグラムの各々を表す所定のベクトル及び前記文字Nグラムの各々を表す所定のベクトルに対する重みに基づいて、前記文字Nグラムの各々を表す所定のベクトルを合成した合成ベクトルを生成する文字Nグラムベクトル合成部と、を含んで構成されている。
また、本発明に係る単語符号化方法は、単語符号化部が、予め学習されたニューラルネットワークを用いて、入力された単語を合成ベクトルに変換する単語符号化方法であって、前記単語符号化部が変換することでは、文字Nグラムベクトル取得部が、単語に含まれる文字Nグラムの各々を表す所定のベクトルを取得し、重み計算部が、前記単語に含まれる文字Nグラムの各々を表す所定のベクトルに基づいて、前記文字Nグラムの各々を表すベクトルに対する重みを計算し、文字Nグラムベクトル合成部が、前記単語に含まれる文字Nグラムの各々を表す所定のベクトル及び前記文字Nグラムの各々を表す所定のベクトルに対する重みに基づいて、前記文字Nグラムの各々を表す所定のベクトルを合成した合成ベクトルを生成する。
また、本発明に係る解析装置は、予め学習されたニューラルネットワークを用いて、入力されたテキストに対して、所定の目的に応じた出力テキストの予測結果を出力する解析部を有する解析装置であって、前記解析部は、入力されたテキストに含まれる各単語を、合成単語ベクトル又は合成ベクトルに変換する単語符号化部と、前記入力されたテキストの先頭の単語から順に、t-1番目の単語について計算された隠れベクトルと、前記単語符号化部からt番目の単語について出力された合成単語ベクトル又は合成ベクトルとを用いて、t番目の単語についての隠れベクトルを計算する系列符号化部と、前記入力されたテキストに含まれる各単語について計算された前記隠れベクトルから、前記出力テキストの予測結果を生成する系列復号化部と、を含み、前記単語符号化部は、前記入力されたテキストに含まれる各単語について、前記単語に含まれる文字Nグラムの各々を表すベクトルを取得する文字Nグラムベクトル取得部と、前記単語に含まれる文字Nグラムの各々を表す所定のベクトルに基づいて、前記文字Nグラムの各々を表す所定のベクトルに対する重みを計算する重み計算部と、前記単語に含まれる文字Nグラムの各々を表す所定のベクトル及び前記文字Nグラムの各々を表す所定のベクトルに対する重みに基づいて、前記文字Nグラムの各々を表す所定のベクトルを合成した合成ベクトルを生成する文字Nグラムベクトル合成部と、前記単語を表すベクトルを取得する単語ベクトル取得部と、前記単語を表すベクトルと、前記文字Nグラムベクトル合成部によって生成された前記合成ベクトルとを合成した合成単語ベクトルを生成する単語ベクトル合成部と、を含んで構成されている。
また、本発明に係る言語モデル学習装置は、上記の解析装置と、学習用テキストについての、前記解析装置による前記出力テキストの予測結果と、前記学習用テキストに対する前記出力テキストの正解とに基づいて、前記文字Nグラムを表す所定のベクトル、前記重みを計算する際に用いられるパラメータ、前記単語を表すベクトル、前記系列符号化部、及び前記系列復号化部の各々のパラメータを学習するパラメータ学習部と、を含んで構成されている。
本発明に係るプログラムは、コンピュータを、上記の単語符号化装置、解析装置、又は言語モデル学習装置の各部として機能させるためのプログラムである。
本発明の単語符号化装置、方法、及びプログラムによれば、単語に含まれる文字Nグラムの各々を表す所定のベクトルに対する重みを計算し、文字Nグラムの各々を表す所定のベクトルを合成した合成ベクトルを生成することにより、単語の文字列の重要性を考慮した、単語を表すベクトルを生成することができる。
本発明の解析装置及びプログラムによれば、単語に含まれる文字Nグラムの各々を表す所定のベクトルに対する重みを計算し、文字Nグラムの各々を表す所定のベクトルを合成した合成ベクトルを生成し、更に、単語を表すベクトルと合成した合成単語ベクトルを生成して、次の単語を予測することにより、テキストを精度よく解析することができる。
また、本発明の言語モデル学習装置及びプログラムによれば、単語に含まれる文字Nグラムの各々を表す所定のベクトルに対する重みを計算し、文字Nグラムの各々を表す所定のベクトルを合成した合成ベクトルを生成し、更に、単語を表すベクトルと合成した合成単語ベクトルを生成することにより、テキストを精度よく解析するための言語モデルを学習することができる。
本発明の第1の実施の形態に係る単語符号化装置の構成の一例を示す概略図である。 本発明の第1の実施の形態に係る単語符号化装置の文字Nグラム符号化部の構成の一例を示す概略図である。 本発明の第1の実施の形態に係る単語符号化装置の処理の概要を説明するための図である。 本発明の第1の実施の形態に係る単語符号化装置の単語符号化処理ルーチンを示すフローチャートである。 本発明の第2の実施の形態に係る言語モデル学習装置の構成の一例を示す概略図である。 本発明の第2の実施の形態に係る言語モデル学習装置の解析部の構成の一例を示す概略図である。 本発明の第2の実施の形態に係る言語モデル学習装置の解析部の処理の概要を説明するための図である。 本発明の第2の実施の形態に係る解析装置の構成の一例を示す概略図である。 本発明の第2の実施の形態に係る言語モデル学習装置の言語モデル学習処理ルーチンを示すフローチャートである。 本発明の第2の実施の形態に係る解析装置の解析処理ルーチンを示すフローチャートである。
以下、本発明の実施の形態について図面を用いて説明する。
<本発明の実施の形態に係る単語符号化装置の概要>
本発明の実施の形態では、非特許文献1に記載の技術である文字の埋め込みベクトルを利用した手法とは異なり、単語を構成する文字Nグラムの埋め込みベクトルに対し、文字Nグラムの埋め込みベクトルの各次元に重みを付与する。
すなわち、単語を入力として、ニューラルネットワークを用いた単語符号化部により単語ベクトルへの変換を行う。その際、予め学習済みのパラメータによって、文字Nグラムごとにベクトル化とその重みづけを行う。
このように、単語埋め込みベクトル構築の際に単語を構成する文字列の重要性を加味した文字Nグラムの埋め込みベクトルの各次元に重みを付与しているので、各文字Nグラムの意味を考慮して単語の埋め込みベクトルが計算できる。
[第1の実施の形態]
<本発明の第1の実施の形態に係る単語符号化装置の構成>
本発明の第1の実施の形態に係る単語符号化装置の構成について説明する。図1は、本発明の実施の形態に係る単語符号化装置の構成を示す概略図である。
本発明の第1の実施の形態に係る単語符号化装置10は、入力部12と、演算部14と、出力部16とを備えて構成される。
入力部12は、テキストに含まれる各単語を、入力として受け付ける。
演算部14は、CPUと、RAMと、後述する単語符号化処理ルーチンを実行するためのプログラムを記憶したROMとを備えたコンピュータで構成され、機能的には次に示すように構成されている。演算部14は、パラメータ記憶部20と、単語符号化部22とを備えて構成される。
パラメータ記憶部20は、後述する文字Nグラムベクトル取得部30、文字Nグラム符号化部32、単語ベクトル取得部34、及び単語ベクトル合成部36の各々の処理で用いられるパラメータを記憶している。
単語符号化部22は、入力されたテキストに含まれる各単語を符号化対象として、予め学習されたニューラルネットワークを用いて、単語を表す合成単語ベクトルを生成して、出力部16により出力する。
単語符号化部22は、文字Nグラムベクトル取得部30、文字Nグラム符号化部32、単語ベクトル取得部34、及び単語ベクトル合成部36を備えている。
文字Nグラムベクトル取得部30は、符号化対象となる単語に含まれる文字Nグラムの各々を表す埋め込みベクトルを取得する。
具体的には、入力されたテキストに含まれる単語xtの系列を受け付ける。ただし、t=1,…,Tであり、Tはテキストを構成する単語数とする。テキストを任意の単位により分割したものであり、本実施の形態ではテキストをあらかじめ単語に分割したものを入力とする。また、Nは、2以上の整数であり、bigramであれば、N=2である。
そして、単語を文字Nグラムに分割し、各文字Nグラムを表す1-hotベクトル(文字Nグラムに対応する要素が1、他は0のベクトル)q1, …, qに対し、埋め込みベクトルへの変換行列C(コーパス中の文字Nグラムの数×埋め込みベクトルの次元数の行列であり、行列の各要素の値は予め学習処理によって得られているものとする)を用いて埋め込みベクトルの系列を得て、文字Nグラムの埋め込みベクトル系列S(S=[s1,…,s]、なお、Mは、単語に含まれる文字Nグラムの数であり、例えば、単語「cat」であり、N=2であれば、文字Nグラムは、「*c」「ca」「at」「t*」であるため、M=4となる。各s1は文字Nグラムの埋め込みベクトルである。)を出力する。
文字Nグラム符号化部32は、文字Nグラムの埋め込みベクトル系列Sを入力として、文字Nグラムから構成された単語の埋め込みベクトルctを出力する。文字Nグラム符号化部32は、図2に示すように、重み計算部40及び単語Nグラムベクトル合成部42を備えている。
重み計算部40は、単語に含まれる文字Nグラムの各々を表す埋め込みベクトルに基づいて、文字Nグラムの各々を表す埋め込みベクトルに対する重みを計算する。
具体的に、i番目の文字Nグラムを表す埋め込みベクトルに対する重みベクトルgiは、以下の式に従って計算される(図3参照)。
Figure 0007143677000001
ただし、
Figure 0007143677000002

は、予め学習された重み行列であり、Deは、埋め込みベクトルの次元数を表す。また、[ ]jは、行列のj番目の列を取り出す操作を表し、{ }jは、ベクトルのj番目の要素を取り出す操作を表す。
単語Nグラムベクトル合成部42は、単語に含まれる文字Nグラムの各々を表す埋め込みベクトル及び文字Nグラムの各々を表す埋め込みベクトルに対する重みに基づいて、文字Nグラムの各々を表す埋め込みベクトルを合成した合成ベクトルを生成する。
具体的には、以下の式に従って、合成ベクトルctを生成する(図3参照)。
Figure 0007143677000003
ただし、
Figure 0007143677000004

は、ベクトルの要素積を表す。
単語ベクトル取得部34は、単語を表す埋め込みベクトルを取得する。具体的には、単語を表す1-hotベクトルxtを入力とし、以下の式に従って、単語の埋め込みベクトルetを求める。
Figure 0007143677000005
ただし、
Figure 0007143677000006

は、予め学習された単語埋め込み行列であり、Vは語彙数である。
単語ベクトル合成部36は、単語を表す埋め込みベクトルと、文字Nグラムベクトル合成部42によって生成された合成ベクトルとを合成した合成単語ベクトルを生成する。
具体的には、単語の埋め込みベクトルetと、合成ベクトルctとを入力とし、以下の式に従って、合成単語ベクトルet'を求める(図3参照)。
Figure 0007143677000007
<本発明の第1の実施の形態に係る単語符号化装置の作用>
図4は、本発明の第1の実施の形態に係る単語符号化処理ルーチンを示すフローチャートである。
入力部12に、テキストに含まれる各単語が入力されると、単語符号化装置10において、各単語に対し、図4に示す単語符号化処理ルーチンが繰り返し実行される。
まず、ステップS100において、単語ベクトル取得部34は、単語を表す埋め込みベクトルを取得する。
ステップS102では、文字Nグラムベクトル取得部30は、処理対象となる単語に含まれる文字Nグラムの各々を表す埋め込みベクトルを取得する。
ステップS104では、文字Nグラム符号化部32は、文字Nグラムの埋め込みベクトル系列Sに基づいて、文字Nグラムの各々を表す埋め込みベクトルに対する重みを計算する。
ステップS106では、単語Nグラムベクトル合成部42は、単語に含まれる文字Nグラムの各々を表す埋め込みベクトル及び文字Nグラムの各々を表す埋め込みベクトルに対する重みに基づいて、文字Nグラムの各々を表す埋め込みベクトルを合成した合成ベクトルを生成する。
そして、ステップS108では、単語ベクトル合成部36は、単語を表す埋め込みベクトルと、文字Nグラムベクトル合成部42によって生成された合成ベクトルとを合成した合成単語ベクトルを生成して出力部16により出力する。
以上説明したように、第1の実施の形態に係る単語符号化装置によれば、単語に含まれる文字Nグラムの各々を表す埋め込みベクトルに対する重みを計算し、文字Nグラムの各々を表す埋め込みベクトルを合成した合成ベクトルを生成することにより、単語の文字列の重要性を考慮した、単語を表す埋め込みベクトルを生成することができる。
また、具体的には、以下のようなものを考慮できる効果がある。
・複合語の構成要素のうち、所定のタスクにおいて重要な要素に焦点を当てることができる。例えば、言語モデルの獲得においては、「△△△株式会社」は会社であることを示す「株式会社」という部分が次の単語を予測するために重要である。本発明の実施の形態ではこの部分に重みを置いて、単語の埋め込みベクトルを構成することが可能となる。
・上記のような複合語に加え、接頭辞や接尾辞を考慮可能である。
[第2の実施の形態]
次に、本発明を、言語モデル学習装置及び解析装置に適用した第2の実施の形態について説明する。なお、第1の実施の形態と同様の構成となる部分については、同一符号を付して説明を省略する。
<本発明の第2の実施の形態に係る言語モデル学習装置の構成>
本発明の第2の実施の形態に係る言語モデル学習装置の構成について説明する。図5は、本発明の第2の実施の形態に係る言語モデル学習装置の構成を示す概略図である。
本発明の第2の実施の形態に係る言語モデル学習装置210は、入力部212と、演算部214と、出力部216とを備えて構成される。
入力部212は、学習用のテキストを、学習データDとして受け付ける。
演算部214は、CPUと、RAMと、後述する言語モデル学習処理ルーチンを実行するためのプログラムを記憶したROMとを備えたコンピュータで構成され、機能的には次に示すように構成されている。演算部214は、パラメータ記憶部220と、分割部222、解析部224、及びパラメータ学習部226とを備えて構成される。
パラメータ記憶部220は、文字Nグラムベクトル取得部30、文字Nグラム符号化部32、単語ベクトル取得部34、単語ベクトル合成部36、系列符号化部232、及び系列復号化部234の各々の処理で用いられるパラメータを記憶している。
分割部222は、入力された学習データDに含まれるテキストを、言語モデルへの入力と出力(教師信号)に分ける処理を行う。具体的には、テキストに含まれる単語を入力とし、次の単語を出力とすればよい。
解析部224は、予め学習されたニューラルネットワークを用いて、入力されたテキストに含まれる各単語に対して、当該単語の次の単語の予測結果を出力する。解析部224は、図6に示すように、単語符号化部230、系列符号化部232、及び系列復号化部234を備えている。
単語符号化部230は、上記第1の実施の形態で説明した単語符号化部22と同様の構成であり、入力された単語を符号化対象として、予め学習されたニューラルネットワークを用いて、文字Nグラムと単語とを表す合成単語ベクトルを生成して出力する。すなわち、単語符号化部230は、文字Nグラムベクトル取得部30、文字Nグラム符号化部32、単語ベクトル取得部34、及び単語ベクトル合成部36を備えている。
系列符号化部232は、入力されたテキストの先頭の単語から順に、合成単語ベクトルet'と、t-1番目の単語について計算された隠れベクトルht-1とに基づいて、t番目の単語についての隠れベクトルhtを計算する。
具体的には、以下の式に従って、t番目の単語についての隠れベクトルhtを計算する。
Figure 0007143677000008
ただし、fは、RNNの抽象関数を表す。
系列復号化部234は、系列符号化部232によって計算された隠れベクトルhtに基づいて、t+1番目の単語を予測する。
具体的には、以下の式に従って、各単語がt+1番目の単語として出現する確率を表す確率ベクトルPt+1を計算する。
Figure 0007143677000009
ただし、
Figure 0007143677000010

は、重み行列であり、Dhは、隠れベクトルの次元数である。また、
Figure 0007143677000011

はバイアス項である。
系列符号化部232及び系列復号化部234は、LSTMであるRNNで構成される(図7のRNN(LSTM)参照)。
パラメータ学習部226は、学習用テキストの各単語について、解析部224による次の単語の予測結果と、学習用テキストにおける実際の当該単語の次の単語とに基づいて、文字Nグラムを表すベクトル、重みを計算する際に用いられるパラメータ、単語を表すベクトル、系列符号化部232、及び系列復号化部234の各々のパラメータを学習し、パラメータ記憶部220に格納する。
具体的には、各単語に対し、実際に次の単語として出現する単語について計算された確率を用いて表される損失関数を最適化するように、文字Nグラムを表す埋め込みベクトルへの変換行列C、重みを計算する際に用いられるパラメータW、単語を表す埋め込みベクトルへの変換用行列E、系列符号化部232の関数f()のパラメータ、及び系列復号化部234のパラメータW、bの勾配を求め、各パラメータを更新することにより学習する。
このように、文字Nグラムから構成した単語の埋め込みベクトルを用いたRNN言語モデルを学習することで、同時に、ニューラルネットワークのパラメータである文字Nグラムへの変換行列C、重みパラメータWc、単語ベクトルへの変換用行列Eを学習する。
<本発明の第2の実施の形態に係る解析装置の構成>
本発明の第2の実施の形態に係る解析装置の構成について説明する。図8は、本発明の第2の実施の形態に係る解析装置の構成を示す概略図である。
本発明の第2の実施の形態に係る解析装置250は、入力部252と、演算部254と、出力部256とを備えて構成される。
入力部252は、解析対象となるテキストを入力として受け付ける。ここで入力されるテキストは、単語に分割済みとする。
演算部254は、CPUと、RAMと、後述する解析処理ルーチンを実行するためのプログラムを記憶したROMとを備えたコンピュータで構成され、機能的には次に示すように構成されている。演算部254は、パラメータ記憶部260と、解析部270、及び確率集約部280とを備えて構成される。
パラメータ記憶部260は、言語モデル学習装置210のパラメータ記憶部220と同じ、文字Nグラムベクトル取得部30、文字Nグラム符号化部32、単語ベクトル取得部34、単語ベクトル合成部36、系列符号化部232、及び系列復号化部234の各々の処理で用いられるパラメータを記憶している。
解析部270は、解析部224と同様の構成であり、単語符号化部230、系列符号化部232、及び系列復号化部234を備えている。すなわち、解析部270は、予め学習されたニューラルネットワークを用いて、解析対象となるテキストに含まれる各単語について、次の単語として出現する確率を表す確率ベクトルPt+1を計算する。
確率集約部280は、解析対象となるテキストに含まれる各単語について、実際に次の単語として出現する単語の確率を足し合わせ、入力されたテキストの自然言語らしさを表す確率として、出力部256により出力する。
<本発明の第2の実施の形態に係る言語モデル学習装置の作用>
図9は、本発明の第2の実施の形態に係る言語モデル学習処理ルーチンを示すフローチャートである。
入力部252に学習データが入力されると、言語モデル学習装置210において、図9に示す言語モデル学習処理ルーチンが実行される。
まず、ステップS200において、分割部222は、入力された学習データに含まれるテキストを、言語モデルへの入力と出力(教師信号)に分ける処理を行う。
ステップS202では、解析部224は、学習データに含まれるテキストの各単語を処理対象として、後述する図10のステップS210~S216の各処理を行うことにより、処理対象となる単語の次の単語として出現する確率を表す確率ベクトルPt+1を計算する。
ステップS204では、パラメータ学習部226は、学習用テキストの各単語について、上記ステップS202による次の単語の予測結果と、学習用テキストにおける実際の当該単語の次の単語とに基づいて、文字Nグラムを表すベクトル、重みを計算する際に用いられるパラメータ、単語を表すベクトル、系列符号化部232、及び系列復号化部234の各々のパラメータを学習し、パラメータ記憶部220に格納する。
ステップS206では、学習が収束したか否かを判定する。具体的には、実際の次の単語の確率が十分高くなったと判断される場合には、学習が収束したと判定し、ステップS208へ移行し、実際の次の単語の確率が十分高くなっていないと判断される場合には、学習が収束していないと判定し、上記ステップS202へ移行する。
ステップS208では、パラメータ記憶部220に格納された文字Nグラムを表すベクトル、重みを計算する際に用いられるパラメータ、単語を表すベクトル、系列符号化部232、及び系列復号化部234の各々のパラメータを、出力部216により出力して、言語モデル学習処理ルーチンを終了する。
<本発明の第2の実施の形態に係る解析装置の作用>
図10は、本発明の第2の実施の形態に係る解析装置250による解析処理ルーチンを示すフローチャートである。
言語モデル学習装置210によって学習された各種パラメータが、解析装置250のパラメータ記憶部260に格納される。そして、入力部252に、解析対象となるテキストが入力されると、解析装置250において、図10に示す解析処理ルーチンが実行される。
まず、ステップS210において、解析対象となるテキスト中の単語を処理対象となる単語として選択する。
ステップS212では、上記ステップS210で選択された単語を符号化対象として、上記図4に示す単語符号化処理ルーチンを実行して、文字Nグラムと単語を表す合成単語ベクトルet'を生成する。
ステップS214では、系列符号化部232は、合成単語ベクトルet'と、一つ前の単語について計算された隠れベクトルht-1とに基づいて、隠れベクトルhtを計算する。
ステップS216では、系列復号化部234は、系列符号化部232によって計算された隠れベクトルhtに基づいて、次の単語として出現する確率を表す確率ベクトルPt+1を計算する。
ステップS218では、解析対象となるテキスト中の全ての単語について上記ステップS210~S216の処理を実行したか否かを判定する。上記ステップS210~S216の処理を実行していない単語が存在する場合には、上記ステップS210へ戻り、当該単語を選択する。一方、解析対象となるテキスト中の全ての単語について上記ステップS210~S216の処理を実行した場合には、ステップS220へ移行する。
ステップS220では、解析対象となるテキストに含まれる各単語について、実際に次の単語として出現する単語の確率を足し合わせ、入力されたテキストの自然言語らしさを表す確率として、出力部256により出力し、解析処理ルーチンを終了する。
以上説明したように、本実施形態に係る言語モデル学習装置によれば、単語に含まれる文字Nグラムの各々を表す埋め込みベクトルに対する重みを計算し、文字Nグラムの各々を表す埋め込みベクトルを合成した合成ベクトルを生成し、更に、単語を表す埋め込みベクトルと合成した合成単語ベクトルを生成することにより、テキストを精度よく解析するための言語モデルを学習することができる。
また、本実施形態に係る解析装置によれば、単語に含まれる文字Nグラムの各々を表す埋め込みベクトルに対する重みを計算し、文字Nグラムの各々を表す埋め込みベクトルを合成した合成ベクトルを生成し、更に、単語を表す埋め込みベクトルと合成した合成単語ベクトルを生成して、次の単語を予測することにより、テキストを精度よく解析することができる。
<実験例>
上記第2の実施の形態で説明した手法の有効性を確認するために実験を行った。実験結果について以下に説明する。
<実験方法>
単語単位の言語モデルについて実験を行う。具体的には訓練データで、各種パラメータを学習し、テストデータに自然言語らしいと正しく確率を付与できるか検証する。評価指標であるPerplexityは、ネイピア数について、各単語の負の対数尤度でべき乗したものであり、低い程よい。
<データセット>
標準的なベンチマークデータセットとして、単語レベルの言語モデリングのためのPenn Treebank(PTB)を使用した。文字Nグラムについては、N=3を用いた。
<比較手法>
比較例として、非特許文献1の手法(Character-Word LSTM)を用い、ベースライン手法として非特許文献2(AWD-LSTM)の手法を用いる。
[非特許文献2]Stephen Merity, Nitish Shirish Keskar, and Richard Socher. 2018b. Regularizing and Optimizing LSTM Language Models. In Proceedings of the 6th International Conference on Learning Representations (ICLR 2018).
<各手法の概要>
非特許文献2(AWD-LSTM)の手法は、単語単位の埋め込みベクトル用いた3層のLSTMによる言語モデルである。非特許文献1の手法(Character-Word LSTM)は、単語を構成する文字の埋め込みベクトルを用いた言語モデルである。
上記第2の実施の形態で説明した提案手法は、ベースライン手法に、上記図1の文字Nグラムベクトル取得部30、文字Nグラム符号化部32、単語ベクトル合成部36を追加したものである。
<結論>
各手法の実験結果を表1に示す。上記第2の実施の形態で説明した提案手法(Proposed method: AWD-LSTM + char3-MS-vecを参照)では、文字Nグラムの重みづけを行うことで、ベースラインから性能が向上し、さらに、非特許文献1の手法(Character-Word LSTM)より高い性能を達成した。
Figure 0007143677000012
なお、本発明は、上述した実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
例えば、上記の実施の形態では、文字Nグラムについて合成した埋め込みベクトルと単語の埋め込みベクトルとを合成する場合を例に説明したが、これに限定されるものではなく、単語の埋め込みベクトルと合成せずに、文字Nグラムについて合成した埋め込みベクトルを、当該単語を表すベクトルとして出力してもよい。この場合には、単語ベクトル合成部36を省略して、文字Nグラムについて合成した埋め込みベクトルctを、当該単語を表すベクトルet'として出力すればよい。
また、上記第2の実施の形態では、RNN言語モデルのパラメータを学習し、解析部が、与えられたテキストの各単語に対し、次の単語を予測することにより、自然言語らしさを計算する場合を例に説明したが、これに限定されるものではなく、解析部が、予め学習されたニューラルネットワークを用いて、入力されたテキストに対して、所定の目的に応じた出力テキストの予測結果を出力するように構成すればよい。例えば、所定の目的に応じた出力テキストの予測結果として、入力されたテキストに対して、翻訳したテキストや要約したテキストを出力するようにしてもよい。また、この場合には、解析部が、ニューラルネットワークを用いたエンコーダ・デコーダを含み、エンコーダやデコーダの入力となる埋め込みベクトルを、本発明の実施の形態で説明した手法を用いて生成したものとしてもよい。
また、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能である。
10 単語符号化装置
12、212、252 入力部
14、214、254 演算部
16、216、256 出力部
20 パラメータ記憶部
22 単語符号化部
30 文字Nグラムベクトル取得部
32 文字Nグラム符号化部
34 単語ベクトル取得部
36 単語ベクトル合成部
40 重み計算部
42 文字Nグラムベクトル合成部
210 言語モデル学習装置
220、260 パラメータ記憶部
222 分割部
224、270 解析部
226 パラメータ学習部
230 単語符号化部
232 系列符号化部
234 系列復号化部
250 解析装置
280 確率集約部

Claims (7)

  1. 予め学習されたニューラルネットワークを用いて、入力された単語を合成ベクトルに変換する単語符号化部を有する単語符号化装置であって、
    前記単語符号化部は、
    前記単語に含まれる文字Nグラムの各々を表す所定のベクトルを取得する文字Nグラムベクトル取得部と、
    前記単語に含まれる文字Nグラムの各々を表す所定のベクトルに基づいて、前記文字Nグラムの各々を表す所定のベクトルに対する重みベクトルを計算する重み計算部と、
    前記単語に含まれる文字Nグラムの各々を表す所定のベクトル及び前記文字Nグラムの各々を表す所定のベクトルに対する重みベクトルに基づいて、前記文字Nグラムの各々を表す所定のベクトルを合成した合成ベクトルを生成する文字Nグラムベクトル合成部と、
    を含み、
    前記重み計算部は、i番目の文字Nグラムを表す所定のベクトルs に対する重みベクトルg i を、以下の式に従って計算し、
    前記文字Nグラムベクトル合成部は、以下の式に従って、合成ベクトルc t を生成する単語符号化装置。


    Figure 0007143677000013



    Figure 0007143677000014

    ただし、


    Figure 0007143677000015

    は、予め学習された重み行列であり、Sは、前記単語に含まれる文字Nグラムの各々を表す所定のベクトルの系列であり、D e は、前記所定のベクトルの次元数を表す。また、[ ] j は、行列のj番目の列を取り出す操作を表し、{ } j は、ベクトルのj番目の要素を取り出す操作を表す。


    Figure 0007143677000016

    は、ベクトルの要素積を表す。
  2. 予め学習されたニューラルネットワークを用いて、入力されたテキストに対して、所定の目的に応じた出力テキストの予測結果を出力する解析部を有する解析装置であって、
    前記解析部は、
    入力されたテキストに含まれる各単語を、合成単語ベクトル又は合成ベクトルに変換する単語符号化部と、
    前記入力されたテキストの先頭の単語から順に、t-1番目の単語について計算された隠れベクトルと、前記単語符号化部からt番目の単語について出力された合成単語ベクトル又は合成ベクトルとを用いて、t番目の単語についての隠れベクトルを計算する系列符号化部と、
    前記入力されたテキストに含まれる各単語について計算された前記隠れベクトルから、前記出力テキストの予測結果を生成する系列復号化部と、
    を含み、
    前記単語符号化部は、
    前記入力されたテキストに含まれる各単語について、前記単語に含まれる文字Nグラムの各々を表すベクトルを取得する文字Nグラムベクトル取得部と、
    前記単語に含まれる文字Nグラムの各々を表す所定のベクトルに基づいて、前記文字Nグラムの各々を表す所定のベクトルに対する重みベクトルを計算する重み計算部と、
    前記単語に含まれる文字Nグラムの各々を表す所定のベクトル及び前記文字Nグラムの各々を表す所定のベクトルに対する重みベクトルに基づいて、前記文字Nグラムの各々を表す所定のベクトルを合成した合成ベクトルを生成する文字Nグラムベクトル合成部と、
    前記単語を表すベクトルを取得する単語ベクトル取得部と、
    前記単語を表すベクトルと、前記文字Nグラムベクトル合成部によって生成された前記合成ベクトルとを合成した合成単語ベクトルを生成する単語ベクトル合成部と、
    を含み、
    前記重み計算部は、i番目の文字Nグラムを表す所定のベクトルs に対する重みベクトルg i を、以下の式に従って計算し、
    前記文字Nグラムベクトル合成部は、以下の式に従って、合成ベクトルc t を生成する
    解析装置。


    Figure 0007143677000017



    Figure 0007143677000018

    ただし、


    Figure 0007143677000019

    は、予め学習された重み行列であり、Sは、前記単語に含まれる文字Nグラムの各々を表す所定のベクトルの系列であり、D e は、前記所定のベクトルの次元数を表す。また、[ ] j は、行列のj番目の列を取り出す操作を表し、{ } j は、ベクトルのj番目の要素を取り出す操作を表す。


    Figure 0007143677000020

    は、ベクトルの要素積を表す。
  3. 請求項2記載の解析装置と、
    学習用テキストについての、前記解析装置による前記出力テキストの予測結果と、前記学習用テキストに対する前記出力テキストの正解とに基づいて、前記文字Nグラムを表す所定のベクトル、前記重みを計算する際に用いられるパラメータ、前記単語を表すベクトル、前記系列符号化部、及び前記系列復号化部の各々のパラメータを学習するパラメータ学習部と、
    を含む言語モデル学習装置。
  4. 単語符号化部が、予め学習されたニューラルネットワークを用いて、入力された単語を合成ベクトルに変換する単語符号化方法であって、
    前記単語符号化部が変換することでは、
    文字Nグラムベクトル取得部が、単語に含まれる文字Nグラムの各々を表す所定のベクトルを取得し、
    重み計算部が、前記単語に含まれる文字Nグラムの各々を表す所定のベクトルに基づいて、前記文字Nグラムの各々を表すベクトルに対する重みを計算し、
    文字Nグラムベクトル合成部が、前記単語に含まれる文字Nグラムの各々を表す所定のベクトル及び前記文字Nグラムの各々を表す所定のベクトルに対する重みに基づいて、前記文字Nグラムの各々を表す所定のベクトルを合成した合成ベクトルを生成し、
    前記重み計算部が計算することでは、i番目の文字Nグラムを表す所定のベクトルs に対する重みベクトルg i を、以下の式に従って計算し、
    前記文字Nグラムベクトル合成部が生成することでは、以下の式に従って、合成ベクトルc t を生成する単語符号化方法。


    Figure 0007143677000021



    Figure 0007143677000022

    ただし、


    Figure 0007143677000023

    は、予め学習された重み行列であり、Sは、前記単語に含まれる文字Nグラムの各々を表す所定のベクトルの系列であり、D e は、前記所定のベクトルの次元数を表す。また、[ ] j は、行列のj番目の列を取り出す操作を表し、{ } j は、ベクトルのj番目の要素を取り出す操作を表す。


    Figure 0007143677000024

    は、ベクトルの要素積を表す。
  5. コンピュータを、請求項1に記載の単語符号化装置の各部として機能させるためのプログラム。
  6. コンピュータを、請求項2に記載の解析装置の各部として機能させるためのプログラム。
  7. コンピュータを、請求項3に記載の言語モデル学習装置の各部として機能させるためのプログラム。
JP2018157473A 2018-08-24 2018-08-24 単語符号化装置、解析装置、言語モデル学習装置、方法、及びプログラム Active JP7143677B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2018157473A JP7143677B2 (ja) 2018-08-24 2018-08-24 単語符号化装置、解析装置、言語モデル学習装置、方法、及びプログラム
US17/269,665 US12131120B2 (en) 2018-08-24 2019-08-22 Word coding device, analysis device, language model learning device, method, and program
PCT/JP2019/032854 WO2020040255A1 (ja) 2018-08-24 2019-08-22 単語符号化装置、解析装置、言語モデル学習装置、方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018157473A JP7143677B2 (ja) 2018-08-24 2018-08-24 単語符号化装置、解析装置、言語モデル学習装置、方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2020030753A JP2020030753A (ja) 2020-02-27
JP7143677B2 true JP7143677B2 (ja) 2022-09-29

Family

ID=69591936

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018157473A Active JP7143677B2 (ja) 2018-08-24 2018-08-24 単語符号化装置、解析装置、言語モデル学習装置、方法、及びプログラム

Country Status (3)

Country Link
US (1) US12131120B2 (ja)
JP (1) JP7143677B2 (ja)
WO (1) WO2020040255A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111737996B (zh) 2020-05-29 2024-03-26 北京百度网讯科技有限公司 基于语言模型获取词向量的方法、装置、设备及存储介质
JP7178390B2 (ja) * 2020-07-31 2022-11-25 株式会社朝日新聞社 情報処理装置、情報処理方法、及びプログラム
US11701546B1 (en) * 2022-01-17 2023-07-18 Tonal Systems, Inc. Exercise machine struggle detection

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018081089A1 (en) 2016-10-26 2018-05-03 Deepmind Technologies Limited Processing text sequences using neural networks

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11080591B2 (en) 2016-09-06 2021-08-03 Deepmind Technologies Limited Processing sequences using convolutional neural networks
US10049103B2 (en) 2017-01-17 2018-08-14 Xerox Corporation Author personality trait recognition from short texts with a deep compositional learning approach
US11003861B2 (en) 2019-02-13 2021-05-11 Sap Se Contextualized text description
WO2020235023A1 (ja) 2019-05-21 2020-11-26 日本電信電話株式会社 情報処理装置、情報学習装置、情報処理方法、情報学習方法及びプログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018081089A1 (en) 2016-10-26 2018-05-03 Deepmind Technologies Limited Processing text sequences using neural networks

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
進藤 裕之、松本 裕治,畳み込みニューラルネットワークを用いた複単語表現の解析,情報処理学会 研究報告 自然言語処理(NL) 2015-NL-223 [online] ,日本,情報処理学会,2015年09月20日,pp.1-7

Also Published As

Publication number Publication date
WO2020040255A1 (ja) 2020-02-27
US20210342529A1 (en) 2021-11-04
US12131120B2 (en) 2024-10-29
JP2020030753A (ja) 2020-02-27

Similar Documents

Publication Publication Date Title
CN109145315B (zh) 文本翻译方法、装置、存储介质和计算机设备
CN111145718B (zh) 一种基于自注意力机制的中文普通话字音转换方法
KR102260646B1 (ko) 자연어 처리 시스템 및 자연어 처리에서의 단어 표현 방법
JP6222821B2 (ja) 誤り修正モデル学習装置、及びプログラム
CN108460028B (zh) 将句子权重融入神经机器翻译的领域适应方法
JP7143677B2 (ja) 単語符号化装置、解析装置、言語モデル学習装置、方法、及びプログラム
CN111354333B (zh) 一种基于自注意力的汉语韵律层级预测方法及系统
JP7072178B2 (ja) 自然言語処理のための装置、方法及びプログラム
CN111401084A (zh) 一种机器翻译的方法、设备以及计算机可读存储介质
JP7061594B2 (ja) 文章変換システム、文章変換方法、及びプログラム
JP2019091172A (ja) 句構造学習装置、句構造解析装置、方法、及びプログラム
JP5441937B2 (ja) 言語モデル学習装置、言語モデル学習方法、言語解析装置、及びプログラム
WO2019163752A1 (ja) 形態素解析学習装置、形態素解析装置、方法、及びプログラム
JP5914054B2 (ja) 言語モデル作成装置、音声認識装置、およびそのプログラム
JP2018180720A (ja) 入出力システム、入出力プログラム、情報処理装置、チャットシステム
KR101417757B1 (ko) 하이퍼그래프 언어모델 학습 및 적용 장치 및 그 학습 및 적용 방법, 및 하이퍼그래프 언어모델 갱신장치 및 그 갱신방법
WO2020235024A1 (ja) 情報学習装置、情報処理装置、情報学習方法、情報処理方法及びプログラム
CN110399619A (zh) 面向神经机器翻译的位置编码方法及计算机存储介质
JP6558856B2 (ja) 形態素解析装置、モデル学習装置、及びプログラム
JP5295037B2 (ja) ConditionalRandomFieldsもしくはGlobalConditionalLog−linearModelsを用いる学習装置及びその学習装置におけるパラメータ学習方法、プログラム
JP2018181300A (ja) 入出力システム、入出力プログラム、情報処理装置、チャットシステム
CN108073704B (zh) 一种liwc词表扩展方法
JPH10149192A (ja) パターン認識方法、装置およびその記憶媒体
CN116978354B (zh) 韵律预测模型的训练方法及装置、语音合成方法及装置
JP6482084B2 (ja) 文法規則フィルターモデル学習装置、文法規則フィルター装置、構文解析装置、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201202

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220215

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220413

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: 20220816

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220829

R150 Certificate of patent or registration of utility model

Ref document number: 7143677

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150