JP7173149B2 - 生成方法、生成プログラムおよび情報処理装置 - Google Patents

生成方法、生成プログラムおよび情報処理装置 Download PDF

Info

Publication number
JP7173149B2
JP7173149B2 JP2020539961A JP2020539961A JP7173149B2 JP 7173149 B2 JP7173149 B2 JP 7173149B2 JP 2020539961 A JP2020539961 A JP 2020539961A JP 2020539961 A JP2020539961 A JP 2020539961A JP 7173149 B2 JP7173149 B2 JP 7173149B2
Authority
JP
Japan
Prior art keywords
vector
words
information
word
attribute
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
JP2020539961A
Other languages
English (en)
Other versions
JPWO2020044509A1 (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.)
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
Publication of JPWO2020044509A1 publication Critical patent/JPWO2020044509A1/ja
Application granted granted Critical
Publication of JP7173149B2 publication Critical patent/JP7173149B2/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/40Processing or translation of natural language
    • G06F40/58Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/42Data-driven translation
    • G06F40/44Statistical methods, e.g. probability models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/247Thesauruses; Synonyms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/51Translation evaluation
    • 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/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
    • 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

Landscapes

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

Description

本発明は、生成方法等に関する。
近年、第1言語を、第1言語とは異なる他の第2言語を翻訳する場合に、ニューラル機械翻訳(NMT:Neural Machine Translation)が用いられている。ニューラル機械翻訳には様々なモデルが存在するが、たとえば、エンコーダ(encoder)、リカレントネットワーク(RNN:Recurrent Neural Network)、デコーダ(decoder)から構成されるモデルがある。
エンコーダは、入力文の文字列に含まれる単語を符号化し、符号化した単語にベクトルを割り当てる処理部である。RNNは、エンコーダから入力される単語のベクトルを、Softmax関数に基づいて変換し、変換したベクトルを出力するものである。デコーダは、RNNから出力される単語のベクトルを基にして、出力文を復号化する処理部である。
従来技術では、Softmax関数の演算量を抑えるために、RNNの機械学習で用いる入出力層の単語数を縮小するものがある。たとえば、従来技術では、100万語程度の単語から、出現頻度に応じて3~5万語程度の単語をピックアップし、ベクトルテーブルを参照し、Softmax関数を行っている。
特開2005-135217号公報
しかしながら、上述した従来技術では、変換モデルの生成に用いるベクトル情報のデータ量を減らすことができないという問題がある。
従来技術のように、単に出現頻度の高い3~5万語程度の単語をピックアップして、ベクトルテーブルを参照する場合には、翻訳対象のテキストに含まれる、出現頻度の低い単語が、ベクトルテーブルに登録されていないと、適切に翻訳されず、翻訳精度が低下してしまう。
たとえば、従来技術により、テキスト「彼は歴史に通暁している。」を翻訳すると、「通暁」なる単語の出現頻度が、低頻度であるため、ベクトルテーブルに登録されておらず、「He is impatient with history.」と誤翻訳されてしまう。たとえば、「彼は歴史に通暁している」の適切な翻訳結果の一例は「He is familiar with history.」となる。
このため、翻訳精度を低下させないためには、ベクトルテーブルに登録する単語の数(ベクトル情報のデータ量)を減らすことが難しい。
1つの側面では、本発明は、変換モデルの生成に用いるベクトル情報のデータ量を減らすことができる生成方法、生成プログラムおよび情報処理装置を提供することを目的とする。
第1の案では、コンピュータが次の処理を実行する。コンピュータは、第1のテキスト情報と、第2のテキスト情報とを受け付ける。コンピュータは、第1のテキスト情報に含まれる単語のうち、出現頻度が基準未満の単語と、第2のテキスト情報に含まれる単語のうち、出現頻度が基準未満である単語とを抽出する。コンピュータは、出現頻度が基準未満の複数の単語に対して、一つの属性を割り当てた情報を記憶する記憶部を参照して、抽出した単語に対応付けられた属性を特定する。コンピュータは、単語の属性に応じたベクトル情報を該属性に対応付けて記憶する記憶部を参照する。コンピュータは、第1のテキスト情報から抽出された単語の属性に対応付けられた第1ベクトル情報と、第2のテキスト情報から抽出された単語の属性に対応付けられた第2ベクトル情報とを特定する。コンピュータは、第1ベクトル情報を、変換モデルに入力した際に出力されるベクトル情報が、第2ベクトル情報に近づくように、変換モデルのパラメータを学習することで、変換モデルを生成する。
変換モデルの生成に用いるベクトル情報のデータ量を減らすことができる。
図1は、本実施例に係る情報処理装置の処理を説明するための図(1)である。 図2は、本実施例に係る情報処理装置の処理を説明するための図(2)である。 図3は、本実施例に係る情報処理装置の処理を説明するための図(3)である。 図4は、本実施例に係る情報処理装置の構成を示す機能ブロック図である。 図5は、本実施例に係る第1ベクトルテーブルのデータ構造の一例を示す図である。 図6は、本実施例に係る第2ベクトルテーブルのデータ構造の一例を示す図である。 図7は、本実施例に係る教師データテーブルのデータ構造の一例を示す図である。 図8は、本実施例に係るコード変換テーブルのデータ構造の一例を示す図である。 図9は、本実施例に係る辞書情報のデータ構造の一例を示す図である。 図10は、本実施例に係るRNNデータのデータ構造の一例を示す図である。 図11は、中間層のパラメータを補足説明するための図である。 図12は、本実施例に係る情報処理装置がRNNデータを生成する処理を示すフローチャートである。 図13は、本実施例に係る情報処理装置が入力文データを翻訳する処理を示すフローチャートである。 図14は、本実施例に係る情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
以下に、本発明にかかる生成方法、生成プログラムおよび情報処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
図1~図3は、本実施例に係る情報処理装置の処理を説明するための図である。図1では、情報処理装置が、入力文に含まれる各単語にベクトルを割り当てる処理の一例について説明する。図1に示すように、情報処理装置は、入力文10が与えられると、形態素解析を実行することで、入力文10に含まれる文字列を単語毎に分割し、分割入力文10aを生成する。分割入力文10aにおいて、各単語は「△(スペース)」で区切られる。
たとえば、入力文10の「彼は歴史に通暁している。」に対応する分割入力文10aには、単語「彼△」、「は△」、「歴史△」、「に△」、「通暁△」、「している△」が含まれる。情報処理装置は、各単語にコードを割り当てた後に、辞書情報150eを基にして、各単語(単語に対応するコード)を静的符号または動的符号に割り当てる。
辞書情報150eには、静的辞書と、動的辞書とが含まれる。静的辞書は、静的符号と、単語とを対応付ける辞書情報である。動的辞書は、静的辞書に含まれない単語に対して、動的に割り当てられた符号(動的符号)を保持する辞書情報である。
情報処理装置は、分割入力文10aの各単語(コード)と、辞書情報150eとを基にして、分割入力文10aの各単語を静的符号または動的符号に変換し、符号化文10bを生成する。たとえば、単語「彼△」、「は△」、「歴史△」、「に△」、「している△」に対応する静的符号が、静的辞書に登録されており、単語「通暁△」は、静的辞書に登録されていないものとする。単語「通暁△」に対応する動的符号は、動的辞書に登録されているものとする。
説明の便宜上、単語「彼△」、「は△」、「歴史△」、「に△」、「しいている△」に割り当てられる静的符号を「(彼△)」、「(は△)」、「(歴史△)」、「(に△)」、「している△」と表記する。単語「通暁△」に割り当てられる動的符号を「(通暁△)」と表記する。
情報処理装置は、符号化文10bを生成すると、符号化文10bの各静的符号、動的符号と、第1ベクトルテーブル150aとを比較して、各静的符号、各動的符号に割り当てるベクトルを特定する。第1ベクトルテーブル150aは、静的符号および静的符号に対応するベクトルを保持する。第1ベクトルテーブル150aは、動的符号および動的符号に対応するベクトルを保持する。
ここで、第1ベクトルテーブル150aは、出現頻度が基準未満となる単語に割り当てられた動的符号を属性によって分類し、同一の属性に属する各動的符号に対しては、同一のベクトルを割り当てる。本実施例では一例として、出現頻度が基準未満となり、かつ、同義語の各単語(各単語の動的符号)を、同一の属性に分類するものとする。たとえば、動的符号「(通暁△)」、「(精通△)」、「(詳しい△)」には、ベクトル「Vec1-1a」が割り当てられる。各単語の出現頻度は、青空文庫等の一般的なテキスト情報を基にして、予め特定される。なお、同義語は、語形は異なるが、意味が同じ単語であり、類語辞典やシソーラス辞書を用いて、同一のベクトルを割り当てることができる。
情報処理装置は、符号化文10bの「(彼△)」に「Vec1-1」を割当て、「(は△)」に「Vec1-2」を割当て、「(歴史△)」に「Vec1-3」を割当て、「(に△)」に「Vec1-4」、「(している△)」に「Vec1-5」を割当てる。情報処理装置は、符号化文10bの「(通暁△)」に「Vec1-1a」を割り当てる。
図2の説明に移行する。本実施例に係る情報処理装置は、エンコーダ50と、リカレントニューラルネットワーク(RNN)60と、デコーダ70とを有する。エンコーダ50に、第1言語の入力文を入力すると、RNN60を介して、デコーダ70から第2言語の出力文が出力される。本実施例では、第1言語を日本語とし、第2言語を英語として説明を行うが、これに限定されるものではない。第1言語の単語に割り当れられるベクトルを「第1ベクトル」と表記し、第2言語の単語に割り当てられるベクトルを「第2ベクトル」と表記する。
エンコーダ50は、入力文を構成する単語に分割し、第1ベクトルにそれぞれ変換する処理部である。RNN60は、複数の第1ベクトルが入力されると、自身に設定されたパラメータを用いて、複数の第1ベクトルを第2ベクトルに変換する処理部である。RNN60のパラメータには、活性化関数のバイアス値や、重みが含まれる。デコーダ70は、RNN60から出力される第2ベクトルと対応する各単語を基にして、出力文を復号化する処理部である。
エンコーダ50は、第1言語のコード変換テーブル(図示略)を用いて、入力文51に含まれる複数の単語を、単語および単語の語義を一意に識別可能な圧縮コードに変換する。たとえば、入力文51に含まれる各単語は、圧縮コード52-1~52-nに変換される。
エンコーダ50は、第1言語の辞書情報(図示略)を基にして、圧縮コード51-1~51-nを、静的符号または動的符号53-1~53-nに変換する。エンコーダ50は、高頻度の単語に対応する圧縮コードを、静的符号に変換し、低頻度の単語に対応する圧縮コードを、動的符号に変換する。
ここで、エンコーダ50が生成した静的符号または動的符号53-1~53-nは、局所表現(local representation)に対応する情報である。エンコーダ50は、第1ベクトルテーブル(図示略)を参照して、各静的符号または動的符号を、対応する各第1ベクトルに変換する。第1ベクトルは、分散表現(distributed representation)に対応する情報である。エンコーダ50は、変換した各第1ベクトルを、RNN60に出力する。
RNN60は、中間層(隠れ層)61-1~61-n,63-1~63-nと、変換機構62とを有する。中間層61-1~61-n,63-1~63-nは、自身に設定されたパラメータと、入力されたベクトルとを基にして値を算出し、算出した値を出力するものである。
中間層61-1は、静的符号または動的符号53-1の第1ベクトルの入力を受け付け、受け付けたベクトルと、自身に設定されたパラメータとを基にして、値を算出し、算出した値を、変換機構62に出力する。中間層61-2~61-nも同様にして、対応する静的符号または動的符号の第1ベクトルの入力を受け付け、受け付けたベクトルと、自身に設定されたパラメータとを基にして、値を算出し、算出した値を、変換機構62に出力する。
変換機構62は、中間層61-1~61-nから入力される各値と、デコーダ70等の内部状態を判断材料として、次の単語を訳出する際に注目すべき箇所を判断する役割を担う。たとえば、中間層61-1の値に着目する確率が0.2、中間層61-2に着目する確率が0.3等となり、各確率を全て足すと1に成るように正規化されている。
変換機構62は、中間層61-1~61-nから出力される値と、各アテンション(確率)とを乗算した値を、足し合わせることで、分散表現の重み付き和を計算する。これを、コンテキストベクトル(context vector)と呼ぶ。変換機構63は、コンテキストベクトルを、中間層63-1~63-nに入力する。中間層63-1~63-nに入力される各コンテキストベクトルを算出する際に用いられる確率はそれぞれ再計算され、注目すべき箇所が毎回変化する。
中間層63-1は、変換機構62からコンテキストベクトルを受け付け、受け付けたコンテキストベクトルと、自身に設定されたパラメータとを基にして、値を算出し、算出した値を、デコーダ70に出力する。中間層63-2~63-nも同様にして、対応するコンテキストベクトルを受け付け、受け付けたベクトルと、自身に設定されたパラメータとを基にして、値を算出し、算出した値を、デコーダ70に出力する。
デコーダ70は、中間層63-1~63-nから出力される値(第2ベクトル)につき、第2ベクトルテーブル(図示略)を参照して、第2ベクトルを静的符号または動的符号71-1~71-nに変換する。第2ベクトルテーブルは、静的符号または動的符号と第2ベクトルとを対応付けるテーブルである。第2ベクトルは、分散表現に対応する情報である。
デコーダ70は、第2言語の辞書情報(図示略)を基にして、静的符号または動的符号71-1~71-nを、圧縮コード72-1~72-nに変換する。第2言語の辞書情報は、圧縮コードと、第2言語の静的符号または動的符号とを対応付けた情報である。
デコーダ70は、第2言語のコード変換テーブル(図示略)を用いて、圧縮コード72-1~72-nを第2言語の単語に変換することで、出力文73を生成する。
ここで、本実施例に係る情報処理装置は、RNN60のパラメータを学習する場合に、教師データとなる第1言語の入力文と、第2言語の出力文との組を受け付ける。情報処理装置は、教師データの入力文をエンコーダ50に入力した場合に、教師データの出力文がデコーダ70から出力されるように、RNN60のパラメータを学習する。
図3は、本実施例に係る情報処理装置がRNNのパラメータを学習する際の処理を説明するための図である。図3に示す例では、教師データとして、入力文「彼は歴史に通暁している。」、出力文「He is familiar with history.」を用いる。
情報処理装置は、教師データの入力文「彼は歴史に通暁している。」を基にして、下記の様な処理を行い、RNN60の各中間層61-1~61-nに入力する各第1ベクトルを算出する。
情報処理装置は、入力文51aに含まれる文字列を単語毎に分割し、分割入力文(図示略)を生成する。たとえば、入力文51aに含まれる単語「彼△」、「は△」、「歴史△」、「に△」、「している△」の各出現頻度を、基準以上とする。単語「通暁△」の出現頻度を基準未満とする。
情報処理装置は、単語「彼△」を圧縮コード52-1に変換し、圧縮コード52-1を静的符号54-1に変換する。情報処理装置は、「彼△」の静的符号54-1と、第1ベクトルテーブルとを基にして、「彼△」の第1ベクトルを特定し、中間層61-1に入力する第1ベクトルとする。
情報処理装置は、単語「は△」を圧縮コード52-2に変換し、圧縮コード52-2を静的符号54-2に変換する。情報処理装置は、「は△」の静的符号54-2と、第1ベクトルテーブルとを基にして、「は△」の第1ベクトルを特定し、中間層61-2に入力する第1ベクトルとする。
情報処理装置は、単語「歴史△」を圧縮コード52-3に変換し、圧縮コード52-3を静的符号54-3に変換する。情報処理装置は、「歴史△」の静的符号54-3と、第1ベクトルテーブルとを基にして、「歴史△」の第1ベクトルを特定し、中間層61-3に入力する第1ベクトルとする。
情報処理装置は、単語「に△」を圧縮コード52-4に変換し、圧縮コード52-4を静的符号54-4に変換する。情報処理装置は、「に△」の静的符号54-4と、第1ベクトルテーブルとを基にして、「に△」の第1ベクトルを特定し、中間層61-4に入力する第1ベクトルとする。
情報処理装置は、単語「通暁△」を圧縮コード52-5に変換し、圧縮コード52-5を動的符号54-5に変換する。たとえば、単語「通暁△」の出現頻度を基準未満とする。情報処理装置は、「通暁△」の動的符号54-5と、第1ベクトルテーブルとを基にして、「通暁△」の第1ベクトルを特定し、中間層61-5に入力する第1ベクトルとする。
情報処理装置は、単語「している△」を圧縮コード52-6に変換し、圧縮コード52-6を静的符号54-6に変換する。情報処理装置は、「している△」の静的符号54-6と、第1ベクトルテーブルとを基にして、「している△」の第1ベクトルを特定し、中間層61-6に入力する第1ベクトルとする。
ここで、「通暁△」に割り当てられる第1ベクトルは、「通暁」と同じ属性に属する同義語の「精通」、「詳しい」に割り当てられる第1ベクトルと同じベクトルとなる。
続いて、情報処理装置は、教師データの出力文「He is familiar with history.」を基にして、下記の様な処理を行い、RNN60の各中間層63-1~63-4から出力される「最適な第2ベクトル」を算出する。たとえば、単語「He△」、「is△」、「with△」、「history△」の各出現頻度を基準以上とする。単語「familiar△」の出現頻度を基準未満とする。
情報処理装置は、出力文53aに含まれる文字列を単語毎に分割し、分割出力文(図示略)を生成する。情報処理装置は、単語「He△」を圧縮コード72-1に変換し、圧縮コード72-1を静的符号71-1に変換する。情報処理装置は、「He△」の静的符号72-1と、第2ベクトルテーブルとを基にして、「He△」の第2ベクトルを特定し、中間層63-1から出力される理想的な第2ベクトルの値とする。
情報処理装置は、単語「is△」を圧縮コード72-2に変換し、圧縮コード72-2を静的符号71-2に変換する。情報処理装置は、「is△」の静的符号72-2と、第2ベクトルテーブルとを基にして、「is△」の第2ベクトルを特定し、中間層63-2から出力される理想的な第2ベクトルの値とする。
情報処理装置は、単語「familiar△」を圧縮コード72-3に変換し、圧縮コード72-3を動的符号71-3に変換する。情報処理装置は、「familiar△」の動的符号72-3と、第2ベクトルテーブルとを基にして、「familiar△」の第2ベクトルを特定し、中間層63-3から出力される理想的な第2ベクトルの値とする。
情報処理装置は、単語「with△」を圧縮コード72-4に変換し、圧縮コード72-4を静的符号71-4に変換する。情報処理装置は、「with△」の静的符号72-4と、第2ベクトルテーブルとを基にして、「with△」の第2ベクトルを特定し、中間層63-4から出力される理想的な第2ベクトルの値とする。
情報処理装置は、単語「history△」を圧縮コード72-5に変換し、圧縮コード72-5を動的符号71-5に変換する。情報処理装置は、「history△」の静的符号72-5と、第2ベクトルテーブルとを基にして、「history△」の第2ベクトルを特定し、中間層63-5から出力される理想的な第2ベクトルの値とする。
上記のように、情報処理装置は、教師データを用いて、RNN60の各中間層61-1~61-nに入力する各第1ベクトルと、RNN60の各中間層63-1~63-nから出力される理想的な第2ベクトルを特定する。情報処理装置は、特定した各第1ベクトルを、RNN60の各中間層61-1~61-nに入力したことにより、各中間層63-1~63-nから出力される第2ベクトルが、理想的な第2ベクトルに近づくように、RNN60のパラメータを調整する処理を実行する。
翻訳精度を低下させないためには、出現頻度が基準以上となる単語(高頻度の単語、中頻度の単語)に対して、優先して固有のベクトルを割り当てることが望ましい。このため、本実施例の情報処理装置は、高頻度、中頻度の単語に対しては固有のベクトルを割当て、低頻度の同義語に対しては、同一のベクトルを割り当てることで、データ量の削減を行う。これにより、翻訳精度を低下させないで、変換モデルの生成に用いるベクトル情報のデータ量を減らすことができる。
次に、本実施例に係る情報処理装置の構成について説明する。図4は、本実施例に係る情報処理装置の構成を示す機能ブロック図である。図4に示すように、情報処理装置100は、通信部110、入力部120、表示部130、記憶部150、制御部160を有する。
通信部110は、ネットワークを介して外部装置とデータ通信を実行する処理部である。通信部110は、通信装置の一例である。たとえば、情報処理装置100は、ネットワークを介して、外部装置に接続し、外部装置から、教師データテーブル150c等を受信してもよい。
入力部120は、情報処理装置100に各種の情報を入力するための入力装置である。たとえば、入力部120は、キーボードやマウス、タッチパネル等に対応する。
表示部130は、制御部160から出力される各種の情報を表示するための表示装置である。たとえば、表示部130は、液晶ディスプレイやタッチパネル等に対応する。
記憶部150は、第1ベクトルテーブル150a、第2ベクトルテーブル150b、教師データテーブル150c、コード変換テーブル150d、辞書情報150e、RNNデータ150fを有する。また、記憶部150は、入力文データ150g、出力文データ150hを有する。記憶部150は、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ(Flash Memory)などの半導体メモリ素子や、HDD(Hard Disk Drive)などの記憶装置に対応する。
図5は、本実施例に係る第1ベクトルテーブルのデータ構造の一例を示す図である。図5に示すように、第1ベクトルテーブル150aは、第1言語の単語(単語の静的符号、動的符号)と、第1ベクトルとを対応付ける。たとえば、第1言語の単語「彼△」の静的符号「6002h」に割り当てられる第1ベクトルは「Vec1-1」となる。
また、低頻度の同義語に対応する各動的符号には、同一の第1ベクトルが割り当てられる。低頻度の同義語に対応する各動的符号は、同一の属性に属していると言える。たとえば、単語「通暁△」の動的符号「E005h」、「精通△」の動的符号「E006h」、「詳しい△」の動的符号「E007h」には、第1ベクトル「Vec1-1a」が割り当てられる。
図6は、本実施例に係る第2ベクトルテーブルのデータ構造の一例を示す図である。図6に示すように、第2ベクトルテーブル150bは、第2言語の単語(単語の静的符号、動的符号)と、第2ベクトルとを対応付ける。たとえば、第2言語の単語「He△」の静的符号「7073h」に割り当てられる第1ベクトルは「Vec2-1」となる。
また、低頻度の動的符号「F034h(familiar△)」に対しても、第2ベクトルが割り当てられる。図6では図示を省略するが、第2言語についても、低頻度の同義語が含まれる場合には、低頻度の同義語に対応する各動的符号には、同一の第2ベクトルが割り当てられる。低頻度の同義語に対応する各動的符号は、同一の属性に属していると言える。
教師データテーブル150cは、教師データとなる、入力文と出力文との組を保持するテーブルである。図7は、本実施例に係る教師データテーブルのデータ構造の一例を示す図である。図7に示すように、この教師データテーブル150cは、入力文と出力文とを対応付ける。たとえば、第1言語で記載された入力文「彼は歴史に通暁している。」を第2言語に翻訳した場合の適切な出力は「He is familiar with history.」であることが、教師データにより示される。
コード変換テーブル150dは、単語と、圧縮コードとを対応付けるテーブルである。図8は、本実施例に係るコード変換テーブルのデータ構造の一例を示す図である。図8に示すように、このコード変換テーブル150dは、テーブル151aと、テーブル151bとを有する。
テーブル151aは、第1言語の単語と圧縮コードとを対応付ける。たとえば、単語「彼△」は、圧縮コード「C101」に対応付けられる。
テーブル151bは、第2言語の単語と圧縮コードとを対応付ける。たとえば、単語「He△」は、圧縮コード「C201」に対応付けられる。なお、複数の単語からなる連語に対して、一つの圧縮コードを割り当ててもよい。図8に示す例では、単語「familiar」に対して、圧縮コード「C205」が対応付けられている。
辞書情報150eは、圧縮コードに対応する、静的符号、動的符号を対応付けるテーブルである。図9は、本実施例に係る辞書情報のデータ構造の一例を示す図である。図9に示すように、この辞書情報150eは、テーブル152a、テーブル152b、テーブル153a、テーブル153bを有する。
テーブル152aは、第1言語の単語の圧縮コードと、静的符号とを対応付ける静的辞書である。たとえば、圧縮コード「C101」は、静的符号「6002h(彼△)」に対応付けられる。
テーブル152bは、第1言語の単語の圧縮コードと、動的符号とを対応付ける動的辞書である。図9に示すように、テーブル152bは、動的符号と、圧縮コードへのポインタとを対応付ける。たとえば、テーブル152aの圧縮コードにヒットしない圧縮コードについては、ユニークな動的符号が割り当てられ、テーブル152bの動的符号に設定される。また、動的符号が割り当てられた圧縮コードは、記憶領域(図示略)に格納され、格納した位置へのポインタが、テーブル152bに設定される。
たとえば、圧縮コード「C105」が、テーブル152aの圧縮コードにヒットしない場合に、圧縮コード「C105」に動的符号「E005h(通暁△)」が割り当てられ、テーブル152bに設定される。圧縮コード「C105」は、記憶領域(図示略)に格納され、圧縮コード「C105」が格納された位置に対するポインタが、テーブル152bに設定される。
テーブル153aは、第2言語の単語の圧縮コードと、静的符号とを対応付ける静的辞書である。たとえば、圧縮コード「C201」は、静的符号「7073h(He△)」に対応付けられる。
テーブル153bは、第2言語の単語の圧縮コードと、動的符号とを対応付ける動的辞書である。図9に示すように、テーブル153bは、動的符号と、圧縮コードへのポインタとを対応付ける。たとえば、テーブル153bの圧縮コードにヒットしない圧縮コードについては、ユニークな動的符号が割り当てられ、テーブル153bの動的符号に設定される。また、動的符号が割り当てられた圧縮コードは、記憶領域(図示略)に格納され、格納した位置へのポインタが、テーブル153bに設定される。
たとえば、圧縮コード「C203」が、テーブル153aの圧縮コードにヒットしない場合に、圧縮コード「C203」に動的符号「F034h(familiar)」が割り当てられ、テーブル153bに設定される。圧縮コード「C203」は、記憶領域(図示略)に格納され、圧縮コード「C203」が格納された位置に対するポインタが、テーブル153bに設定される。
RNNデータ150fは、図2、3で説明したRNN60の各中間層に設定されるパラメータ等を保持するテーブルである。図10は、本実施例に係るRNNデータのデータ構造の一例を示す図である。図10に示すように、このRNNデータ150fは、RNN識別情報と、パラメータとを対応付ける。RNN識別情報は、RNN60の中間層を一意に識別する情報である。パラメータは、該当する中間層に設定されるパラメータを示すものである。パラメータは、中間層に設定される活性化関数のバイアス値や、重み等に対応する。
なお、便宜上、上記では、圧縮コード「C203」に動的符号「F034h(familiar)」が割り当てられる例を説明したが、静的符号が割り当てられても良い。
図11は、中間層のパラメータを補足説明するための図である。図11には、入力層「x」と、中間層(隠れ層)「h」と、出力層「y」とを有する。中間層「h」は、図2に示した中間層61-1~61-n、63-1~63-nに対応するものである。
中間層「h」と入力層「x」との関係は、活性化関数fを用いて、式(1)により定義される。式(1)のW、Wは、教師データによる学習により、最適な値に調整される重みである。tは時刻(何単語読んだか)を示す。
Figure 0007173149000001
中間層「h」と出力層「y」との関係は、活性化関数gを用いて、式(2)により定義される。式(2)のW2は、教師データによる学習により、最適な値に調整される重みである。なお、活性化関数gとして、softmax関数を用いてもよい。
Figure 0007173149000002
入力文データ150gは、翻訳対象となる入力文のデータである。出力文データ150hは、入力文データ150gを翻訳することにより得られるデータである。
図5の説明に戻る。制御部160は、受付部160aと、ベクトル特定部160bと、生成部160cと、翻訳部160dとを有する。制御部160は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などによって実現できる。また、制御部160は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などのハードワイヤードロジックによっても実現できる。なお、図2、図3で説明したエンコーダ50、RNN60、デコーダ70の処理は、制御部160により実現されるものとする。ベクトル特定部160b、生成部160c、翻訳部160dは、生成処理部の一例である。
まず、本実施例に係る情報処理装置100が、RNN60のパラメータとなるRNNデータ150fを学習する場合の処理について説明する。RNNデータ150fを学習する場合には、制御部160の各処理部のうち、受付部160a、ベクトル特定部160b、生成部160cが動作する。
受付部160aは、外部装置からネットワークを介して、教師データテーブル150cを受け付ける処理部である。受付部160aは、受け付けた教師データテーブル150cを、記憶部150に格納する。受付部160aは、入力部120から、教師データテーブル150cを受け付けてもよい。
ベクトル特定部160bは、教師データテーブル150cの入力文の各単語に割り当てる第1ベクトルおよび出力文の各単語に割り当てられる第2ベクトルを特定する処理部である。ベクトル特定部160bは、第1ベクトルおよび第2ベクトルの情報を、生成部160cに出力する。
たとえば、ベクトル特定部160bは、入力文の各単語のうち、出現頻度が基準未満の単語が含まれる場合には、出現頻度が基準未満の単語に対応付けられる属性を特定し、特定した属性に割り当てられる第1ベクトルを特定する。
ベクトル特定部160bは、出力文の各単語のうち、出現頻度が基準未満の単語が含まれる場合には、出現頻度が基準未満の単語に対応付けられる属性を特定し、特定した属性に割り当てられる第2ベクトルを特定する。
以下において、ベクトル特定部160bの処理の一例について説明する。ベクトル特定部160bは、圧縮コードに変換する処理、静的符号または動的符号に変換する処理、ベクトルを特定する処理を実行する。
ベクトル特定部160bが実行する「圧縮コードに変換する処理」の一例について説明する。ベクトル特定部160bは、教師データテーブル150cから入力文の情報を取得し、入力文に対して形態素解析を実行することで、入力文に含まれる文字列を単語毎に分割し、分割入力文を生成する。ベクトル特定部160bは、分割入力文に含まれる各単語と、コード変換テーブル150dのテーブル151aとを比較して、各単語を圧縮コードに変換する。たとえば、ベクトル特定部160bは、単語「彼△」を、圧縮コード「C101」に変換する。
ベクトル特定部160bは、教師データテーブル150cから出力文の情報を取得し、出力文に対して形態素解析を実行することで、出力文に含まれる文字列を単語毎に分割し、分割出力文を生成する。ベクトル特定部160bは、分割出力文に含まれる各単語と、コード変換テーブル150dのテーブル151bとを比較して、各単語を圧縮コードに変換する。たとえば、ベクトル特定部160bは、単語「He△」を、圧縮コード「C201」に変換する。
続いて、ベクトル特定部160bが実行する「静的符号または動的符号に変換する処理」の一例について説明する。ベクトル特定部160bは、分割入力文から変換した各圧縮コードと、テーブル(静的辞書)152aとを比較する。ベクトル特定部160bは、分割入力文の圧縮コードのうち、テーブル152aの圧縮コードにヒットする圧縮コードについては、静的符号に変換する。以下の説明では、分割入力文の単語から生成した静的符号を「第1静的符号」と表記する。
ベクトル特定部160bは、分割入力文の圧縮コードのうち、テーブル152aの圧縮コードにヒットしない圧縮コードについては、動的符号に変換する。ベクトル特定部160bは、圧縮コードと、テーブル(動的辞書)152bとを比較し、既にテーブル152bに登録されている圧縮コードに対しては、テーブル152bに登録された動的符号に変換する。一方、ベクトル特定部160bは、圧縮コードが、テーブル152bに登録されていない場合には、動的符号を生成し、テーブル152bに登録した後に、登録した動的符号に変換する。以下の説明では、分割入力文の単語から生成した動的符号を「第1動的符号」と表記する。
ベクトル特定部160bは、分割出力文から変換した各圧縮コードと、テーブル(静的辞書)153aとを比較する。ベクトル特定部160bは、分割出力文の圧縮コードのうち、テーブル153aの圧縮コードにヒットする圧縮コードについては、静的符号に変換する。以下の説明では、分割出力文の単語から生成した静的符号を「第2静的符号」と表記する。
ベクトル特定部160bは、分割出力文の圧縮コードのうち、テーブル153aの圧縮コードにヒットしない圧縮コードについては、動的符号に変換する。ベクトル特定部160bは、圧縮コードと、テーブル(動的辞書)153bとを比較し、既にテーブル153bに登録されている圧縮コードに対しては、テーブル153bに登録された動的符号に変換する。一方、ベクトル特定部160bは、圧縮コードが、テーブル153bに登録されていない場合には、動的符号を生成し、テーブル153bに登録した後に、登録した動的符号に変換する。以下の説明では、分割出力文の単語から生成した動的符号を「第2動的符号」と表記する。
続いて、ベクトル特定部160bが実行する「ベクトルを特定する処理」の一例について説明する。ベクトル特定部160bは、第1静的符号と、第1ベクトルテーブル150aとを比較し、第1静的符号に対応する第1ベクトルを特定する。また、ベクトル特定部160bは、第1動的符号と、第1ベクトルテーブル150aとを比較し、第1動的符号の属する属性に対応する第1ベクトルを特定する。ここで、各第1静的符号には、それぞれ固有の第1ベクトルが特定される。これに対して、同一の属性に属している各第1動的符号には、属性に割り当てられた一つの第1ベクトルが特定される。
ベクトル特定部160bは、第2静的符号と、第2ベクトルテーブル150bとを比較し、第2静的符号に対応する第2ベクトルを特定する。また、ベクトル特定部160bは、第2動的符号と、第2ベクトルテーブル150bとを比較し、第2動的符号の属する属性に対応する第2ベクトルを特定する。ここで、各第2静的符号には、それぞれ固有の第2ベクトルが特定される。これに対して、同一の属性に属している各第2動的符号には、属性に割り当てられた一つの第2ベクトルが特定される。
ベクトル特定部160bは、上記処理を実行することで、入力文の各単語に対応する第1ベクトルおよび出力文の各単語に対応する第2ベクトルを生成する。ベクトル特定部160bは、生成した第1ベクトルおよび第2ベクトルの情報を、生成部160cに出力する。
生成部160cは、ベクトル特定部160bにより特定された第1ベクトルおよび第2ベクトルを基にして、変換モデルのパラメータを学習することで、変換モデルを生成する処理部である。パラメータの学習は、次の処理により学習され、学習されたパラメータは、RNNデータ150fに登録される。このRNNデータ150fのパラメータに基づいて値を計算するRNN60が、変換モデルに対応する。
たとえば、生成部160cは、RNNデータ150fに登録された各中間層のパラメータを用いて、RNN60の中間層61-1~61-nに各第1ベクトルを入力し、中間層63-1~63-nから出力される各ベクトルを算出する。生成部160cは、RNN60の中間層63-1~63-nから出力される各ベクトルが、各第2ベクトルに近づくように、RNNデータ150fに登録された各中間層のパラメータを学習する。
生成部160cは、中間層63-1~63-nから出力される各ベクトルと、第2ベクトルとの差分を定義したコスト関数を用いて、差分が最小となるように、各中間層のパラメータを調整することで、学習を行ってもよい。
続いて、本実施例に係る情報処理装置100が、学習したRNNデータ150f(生成された変換モデル)を用いて、入力文データを翻訳した出力文データを生成する処理について説明する。翻訳処理を行う場合には、制御部160の各処理部のうち、受付部160a、ベクトル特定部160b、翻訳部160dが動作する。
受付部160aは、外部装置からネットワークを介して、入力文データ150gを受け付ける。受付部160aは、受け付けた入力文データ150gを、記憶部150に格納する。
ベクトル特定部160bは、入力文データ150gに含まれる入力文の各単語に対応する第1ベクトルを特定する。ベクトル特定部160bは、出現頻度が基準未満の単語が含まれる場合には、出現頻度が基準未満の単語に対応付けられる属性を特定し、特定した属性に割り当てられる第1ベクトルを特定する。ベクトル特定部160bは、入力文データ150gを基にして特定した第1ベクトルの情報を、翻訳部160dに出力する。
ベクトル特定部160bが、入力文データ150gの入力文の第1ベクトルを特定する処理は、教師データテーブル150cの入力文の第1ベクトルを特定する処理と同様である。
翻訳部160dは、RNNデータ150fに登録された各中間層61-1~63-nのパラメータを用いて、RNN60の各中間層61-1~61-nに各第1ベクトルを入力する。翻訳部160dは、RNN60の中間層63-1~63-nから出力される各第2ベクトルを取得することで、各第1ベクトルを各第2ベクトルに変換する。
翻訳部160dは、各第1ベクトルから変換した各第2ベクトルを用いて、出力文データ150hを生成する。翻訳部160dは、各第2ベクトルと、第2ベクトルテーブル150bとを比較して、各第2ベクトルに対応する静的符号および動的符号を特定する。翻訳部160dは、静的符号および動的符号と、辞書情報150eおよびコード変換テーブル150dとを基にして、静的符号および動的符号に対応する単語をそれぞれ特定する。翻訳部160dは、特定した単語を並べることで、出力文データ150hを生成し、記憶部150に格納する。
翻訳部160dは、出力文データ150hを、外部装置に通知してもよいし、表示部130に出力して表示させてもよい。
次に、本実施例に係る情報処理装置100がRNNデータを生成する処理の一例について説明する。図12は、本実施例に係る情報処理装置がRNNデータを生成する処理を示すフローチャートである。図12に示すように、情報処理装置100の受付部160aは、外部装置から教師データテーブル150cを受け付ける(ステップS101)。
情報処理装置100のベクトル特定部160bは、教師データテーブル150cから、教師データを取得する(ステップS102)。ベクトル特定部160bは、入力文に含まれる各単語に対して、圧縮コードを割り当てる(ステップS103)。ベクトル特定部160bは、各圧縮コードに静的符号および動的符号を割り当てる(ステップS104)。
ベクトル特定部160bは、第1ベクトルテーブル150aを基にして、各静的符号に対応する各第1ベクトルを特定する(ステップS105)。ベクトル特定部160bは、第1ベクトルテーブル150aを基にして、動的符号の属性を特定し、属性に対応する第1ベクトルを特定する(ステップS106)。
ベクトル特定部160bは、出力文に含まれる各単語に対して、圧縮コードを割り当てる(ステップS107)。ベクトル特定部160bは、各圧縮コードに静的符号および動的符号を割り当てる(ステップS108)。
ベクトル特定部160bは、第2ベクトルテーブル150bを基にして、各静的符号に対応する第2ベクトルを特定する(ステップS109)。ベクトル特定部160bは、第2ベクトルテーブル150bを基にして、動的符号の属性を特定し、属性に対応する第2ベクトルを特定する(ステップS110)。
情報処理装置100の生成部160cは、各第1ベクトルを各中間層に入力し、RNNの各中間層から出力される各ベクトルが、各第2ベクトルに近づくように、パラメータを調整する(ステップS111)。
情報処理装置100は、学習を継続するか否かを判定する(ステップS112)。情報処理装置100は、学習を継続しない場合には(ステップS112,No)、処理を終了する。情報処理装置100は、学習を継続する場合には(ステップS112,Yes)、ステップS113に移行する。ベクトル特定部160bは、教師データテーブル150cから、新たな教師データを取得し(ステップS113)、ステップS103に移行する。
次に、本実施例に係る情報処理装置100が入力文データを翻訳する処理の一例について説明する。図13は、本実施例に係る情報処理装置が入力文データを翻訳する処理を示すフローチャートである。情報処理装置100の受付部160aは、外部装置から入力文データ150gを受け付ける(ステップS201)。
情報処理装置100のベクトル特定部160bは、入力文データ150gに含まれる各単語に対して、圧縮コードを割り当てる(ステップS202)。ベクトル特定部160bは、辞書情報150eを基にして、各圧縮コードに静的符号および動的符号を割り当てる(ステップS203)。
ベクトル特定部160bは、第1ベクトルテーブル150aを参照して、各静的符号に対応する各第1ベクトルを特定する(ステップS204)。ベクトル特定部160bは、第1ベクトルテーブル150aを参照して、動的符号の属性に対応する第1ベクトルを特定する(ステップS205)。
情報処理装置100の翻訳部160dは、各第1ベクトルをRNNの各中間層に入力し、各中間層から出力される各第2ベクトルを取得する(ステップS206)。翻訳部160dは、第2ベクトルテーブル150bを参照して、各第2ベクトルを静的符号および動的符号に変換する(ステップS207)。
翻訳部160dは、辞書情報150eを基にして、静的符号および動的符号を圧縮コードに変換する(ステップS208)。翻訳部160dは、コード変換テーブル150dを基にして、圧縮コードを単語に変換し、出力文データ150hを生成する(ステップS209)。翻訳部160dは、出力文データ150hを外部装置に通知する(ステップS210)。
次に、本実施例に係る情報処理装置の効果について説明する。翻訳精度を低下させないためには、出現頻度が基準以上となる単語(高頻度の単語、中頻度の単語)に対して、優先して固有のベクトルを割り当てることが望ましい。このため、本実施例の情報処理装置は、高頻度、中頻度の単語に対しては固有のベクトルを割当てる。一方、出現頻度が基準未満の単語(低頻度の単語)に対しては、同義語と同一のベクトルを割り当てることで、データ量の削減を行う。これにより、翻訳精度を低下させないで、変換モデルの生成に用いるベクトル情報のデータ量を減らすことができる。
なお、本実施例では一例として、教師データとなる入力文および出力文の双方に低頻度の単語が含まれる場合について説明したが、これに限定されるものではない。たとえば、教師データとなる入力文および出力文において、入力文にのみ、低頻度の単語が含まれている場合や、出力文にのみ低頻度の単語が含まれている場合でも、同様に、変換モデル(RNNデータ150f)を生成することができる。
また、情報処理装置100は、翻訳対象となる入力文を受け付けた場合には、入力文に含まれる単語のうち、基準以上となる単語については、固有のベクトルを割当てる。一方、基準未満となる単語に対しては、他の同義語と同じベクトルを割当てる。情報処理装置100は、上記の処理により入力文の各単語に割り当てたベクトルを、RNN60に入力し、RNN60から出力されるベクトルを用いることで、適切な出力文を生成することができる。
たとえば、情報処理装置は、低頻度の単語に対して、一つのベクトルを割り当てている。これにより、低頻度の単語を属性毎に分類することを容易にしつつ、ベクトルテーブルのデータ量を削減することができる。
次に、実施例に示した情報処理装置100と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。図14は、本実施例に係る情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
図14に示すように、コンピュータ200は、各種演算処理を実行するCPU201と、ユーザからのデータの入力を受け付ける入力装置202と、ディスプレイ203とを有する。また、コンピュータ200は、記憶媒体からプログラム等を読み取る読み取り装置204と、有線または無線ネットワークを介して、外部装置等との間でデータの授受を行うインタフェース装置205とを有する。コンピュータ200は、各種情報を一時記憶するRAM206と、ハードディスク装置207とを有する。そして、各装置201~207は、バス208に接続される。
ハードディスク装置207は、受付プログラム207a、ベクトル特定プログラム207b、生成プログラム207c、翻訳プログラム207dを有する。CPU201は、受付プログラム207a、ベクトル特定プログラム207b、生成プログラム207c、翻訳プログラム207dを読み出してRAM206に展開する。
受付プログラム207aは、受付プロセス206aとして機能する。ベクトル特定プログラム207bは、ベクトル特定プロセス206bとして機能する。生成プログラム207cは、生成プロセス206cとして機能する。翻訳プログラム207dは、翻訳プロセス206dとして機能する。
受付プロセス206aの処理は、受付部160aの処理に対応する。ベクトル特定プロセス206bの処理は、ベクトル特定部160bの処理に対応する。生成プロセス206cの処理は、生成部160cの処理に対応する。翻訳プロセス206cの処理は、翻訳部160dの処理に対応する。
なお、各プログラム207a~207dについては、必ずしも最初からハードディスク装置207に記憶させておかなくてもよい。例えば、コンピュータ200に挿入されるフレキシブルディスク(FD)、CD-ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ200が各プログラム207a~207hを読み出して実行するようにしてもよい。
100 情報処理装置
110 通信部
120 入力部
130 表示部
150 記憶部
150a 第1ベクトルテーブル
150b 第2ベクトルテーブル
150c 教師データテーブル
150d コード変換テーブル
150e 辞書情報
150f RNNデータ
150g 入力文データ
150h 出力文データ
160 制御部
160a 受付部
160b ベクトル特定部
160c 生成部
160d 翻訳部

Claims (3)

  1. コンピュータが、
    第1のテキスト情報と、第2のテキスト情報とを受け付け、
    前記第1のテキスト情報に含まれる単語のうち、出現頻度が基準未満の単語と、前記第2のテキスト情報に含まれる単語のうち、出現頻度が基準未満である単語とを抽出し、
    出現頻度が基準未満の複数の単語であって、前記複数の単語の意味がそれぞれ同じとなる前記複数の単語に対して、一つの属性を割り当てた情報を記憶する記憶部を参照して、抽出した単語に対応付けられた属性を特定し、
    単語の属性に応じたベクトル情報を該属性に対応付けて記憶する記憶部であって、同一の属性に属する複数の単語に対して同一のベクトルを記憶し、また、出現頻度が基準以上の単語に応じたベクトル情報を記憶する前記記憶部を参照して、前記第1のテキスト情報から抽出された単語の属性に対応付けられた第1ベクトル情報と、前記第2のテキスト情報から抽出された単語の属性に対応付けられた第2ベクトル情報とを特定し、
    前記記憶部を参照して、前記第1のテキスト情報に含まれる単語のうち、出現頻度が基準以上となる単語の第3ベクトル情報と、前記第2のテキスト情報に含まれる単語のうち、出現頻度が基準以上となる単語の第4ベクトル情報とを特定し、
    前記第1ベクトル情報および前記第3ベクトル情報を、変換モデルに入力した際に出力されるベクトル情報が、前記第2ベクトル情報および前記第4ベクトル情報に近づくように、前記変換モデルのパラメータを学習することで、前記変換モデルを生成する
    処理を実行することを特徴とする生成方法。
  2. コンピュータに、
    第1のテキスト情報と、第2のテキスト情報とを受け付け、
    前記第1のテキスト情報に含まれる単語のうち、出現頻度が基準未満の単語と、前記第2のテキスト情報に含まれる単語のうち、出現頻度が基準未満である単語とを抽出し、
    出現頻度が基準未満の複数の単語であって、前記複数の単語の意味がそれぞれ同じとなる前記複数の単語に対して、一つの属性を割り当てた情報を記憶する記憶部を参照して、抽出した単語に対応付けられた属性を特定し、
    単語の属性に応じたベクトル情報を該属性に対応付けて記憶する記憶部であって、同一の属性に属する複数の単語に対して同一のベクトルを記憶し、また、出現頻度が基準以上の単語に応じたベクトル情報を記憶する前記記憶部を参照して、前記第1のテキスト情報から抽出された単語の属性に対応付けられた第1ベクトル情報と、前記第2のテキスト情報から抽出された単語の属性に対応付けられた第2ベクトル情報とを特定し、
    前記記憶部を参照して、前記第1のテキスト情報に含まれる単語のうち、出現頻度が基準以上となる単語の第3ベクトル情報と、前記第2のテキスト情報に含まれる単語のうち、出現頻度が基準以上となる単語の第4ベクトル情報とを特定し、
    前記第1ベクトル情報および前記第3ベクトル情報を、変換モデルに入力した際に出力されるベクトル情報が、前記第2ベクトル情報および前記第4ベクトル情報に近づくように、前記変換モデルのパラメータを学習することで、前記変換モデルを生成する
    処理を実行させることを特徴とする生成プログラム。
  3. 第1のテキスト情報と、第2のテキスト情報とを受け付ける受付部と、
    前記第1のテキスト情報に含まれる単語のうち、出現頻度が基準未満の単語と、前記第2のテキスト情報に含まれる単語のうち、出現頻度が基準未満である単語とを抽出し、
    出現頻度が基準未満の複数の単語であって、前記複数の単語の意味がそれぞれ同じとなる前記複数の単語に対して、一つの属性を割り当てた情報を記憶する記憶部を参照して、抽出した単語に対応付けられた属性を特定し、単語の属性に応じたベクトル情報を該属性に対応付けて記憶する記憶部であって、同一の属性に属する複数の単語に対して同一のベクトルを記憶し、また、出現頻度が基準以上の単語に応じたベクトル情報を記憶する前記記憶部を参照して、前記第1のテキスト情報から抽出された単語の属性に対応付けられた第1ベクトル情報と、前記第2のテキスト情報から抽出された単語の属性に対応付けられた第2ベクトル情報とを特定し、前記記憶部を参照して、前記第1のテキスト情報に含まれる単語のうち、出現頻度が基準以上となる単語の第3ベクトル情報と、前記第2のテキスト情報に含まれる単語のうち、出現頻度が基準以上となる単語の第4ベクトル情報とを特定し、前記第1ベクトル情報および前記第3ベクトル情報を、変換モデルに入力した際に出力されるベクトル情報が、前記第2ベクトル情報および前記第4ベクトル情報に近づくように、前記変換モデルのパラメータを学習することで、前記変換モデルを生成する生成処理部と
    を有することを特徴とする情報処理装置。
JP2020539961A 2018-08-30 2018-08-30 生成方法、生成プログラムおよび情報処理装置 Active JP7173149B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/032206 WO2020044509A1 (ja) 2018-08-30 2018-08-30 生成方法、生成プログラムおよび情報処理装置

Publications (2)

Publication Number Publication Date
JPWO2020044509A1 JPWO2020044509A1 (ja) 2021-08-10
JP7173149B2 true JP7173149B2 (ja) 2022-11-16

Family

ID=69643992

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020539961A Active JP7173149B2 (ja) 2018-08-30 2018-08-30 生成方法、生成プログラムおよび情報処理装置

Country Status (5)

Country Link
US (1) US20210192152A1 (ja)
EP (1) EP3846070A4 (ja)
JP (1) JP7173149B2 (ja)
AU (1) AU2018438250B2 (ja)
WO (1) WO2020044509A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109271497B (zh) * 2018-08-31 2021-10-26 华南理工大学 一种基于词向量的事件驱动服务匹配方法
JP7280227B2 (ja) * 2020-08-31 2023-05-23 ヤフー株式会社 情報処理装置、情報処理方法及び情報処理プログラム
JP7239531B2 (ja) * 2020-08-31 2023-03-14 ヤフー株式会社 情報処理装置、情報処理方法及び情報処理プログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5835893A (en) * 1996-02-15 1998-11-10 Atr Interpreting Telecommunications Research Labs Class-based word clustering for speech recognition using a three-level balanced hierarchical similarity
JP3996886B2 (ja) 2003-10-31 2007-10-24 株式会社国際電気通信基礎技術研究所 対訳対抽出装置及びそのためのコンピュータプログラム
JP6641857B2 (ja) * 2015-10-05 2020-02-05 富士通株式会社 符号化プログラム、符号化方法、符号化装置、復号化プログラム、復号化方法および復号化装置
WO2018003457A1 (ja) * 2016-06-30 2018-01-04 パナソニックIpマネジメント株式会社 情報処理装置、時系列データの情報処理方法、及びプログラム
CN107870901B (zh) * 2016-09-27 2023-05-12 松下知识产权经营株式会社 从翻译源原文生成相似文的方法、记录介质、装置以及系统
CN107357775A (zh) * 2017-06-05 2017-11-17 百度在线网络技术(北京)有限公司 基于人工智能的循环神经网络的文本纠错方法及装置
CN107292528A (zh) * 2017-06-30 2017-10-24 阿里巴巴集团控股有限公司 车险风险预测方法、装置及服务器
KR102449842B1 (ko) * 2017-11-30 2022-09-30 삼성전자주식회사 언어 모델 학습 방법 및 이를 사용하는 장치

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
増田 嵩志、鶴岡 慶雅,ニューラルネットワーク日英機械翻訳における品詞情報の利用,言語処理学会第22回年次大会 発表論文集 [online],日本,言語処理学会,2016年02月29日,pp.294-297
小松 広弥 外3名,単語分散表現のshift-reduce型構文解析への利用,情報処理学会 研究報告 音声言語情報処理(SLP) 2015-SLP-106 [online] ,日本,情報処理学会,2015年05月18日,pp.1-8

Also Published As

Publication number Publication date
EP3846070A1 (en) 2021-07-07
EP3846070A4 (en) 2021-09-08
AU2018438250B2 (en) 2022-04-14
US20210192152A1 (en) 2021-06-24
JPWO2020044509A1 (ja) 2021-08-10
AU2018438250A1 (en) 2021-03-18
WO2020044509A1 (ja) 2020-03-05

Similar Documents

Publication Publication Date Title
US20210004686A1 (en) Fixed point integer implementations for neural networks
US11657799B2 (en) Pre-training with alignments for recurrent neural network transducer based end-to-end speech recognition
JP6493866B2 (ja) 情報処理装置、情報処理方法、およびプログラム
JP7173149B2 (ja) 生成方法、生成プログラムおよび情報処理装置
US20090192781A1 (en) System and method of providing machine translation from a source language to a target language
CN104156349B (zh) 基于统计词典模型的未登录词发现和分词系统及方法
JP2019153023A (ja) 疑似対訳データ生成装置、機械翻訳処理装置、および疑似対訳データ生成方法
JP6862914B2 (ja) 解析プログラム、解析方法および解析装置
CA3162745A1 (en) Method of detecting speech keyword based on neutral network, device and system
US20220012520A1 (en) Electronic device and control method therefor
TW201935460A (zh) 語音識別裝置以及語音識別方法
JP2022121456A (ja) 処理プログラム、処理方法および情報処理装置
US20180276568A1 (en) Machine learning method and machine learning apparatus
US20210142006A1 (en) Generating method, non-transitory computer readable recording medium, and information processing apparatus
CN112836523B (zh) 一种单词翻译方法、装置、设备和一种可读存储介质
JP7230915B2 (ja) 学習方法、翻訳方法、学習プログラム、翻訳プログラムおよび情報処理装置
US11604931B2 (en) Electronic device and controlling method of electronic device
CN116306612A (zh) 一种词句生成方法及相关设备
JP6972711B2 (ja) 語義ベクトル生成プログラム、語義ベクトル生成方法および語義ベクトル生成装置
JPWO2018066083A1 (ja) 学習プログラム、情報処理装置および学習方法
JP7435740B2 (ja) 音声認識装置、制御方法、及びプログラム
US20190317990A1 (en) Non-transitory computer readable recording medium, identification method, generation method, and information processing device

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210218

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220510

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220614

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221017

R150 Certificate of patent or registration of utility model

Ref document number: 7173149

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150