JP6705506B2 - 学習プログラム、情報処理装置および学習方法 - Google Patents
学習プログラム、情報処理装置および学習方法 Download PDFInfo
- Publication number
- JP6705506B2 JP6705506B2 JP2018543522A JP2018543522A JP6705506B2 JP 6705506 B2 JP6705506 B2 JP 6705506B2 JP 2018543522 A JP2018543522 A JP 2018543522A JP 2018543522 A JP2018543522 A JP 2018543522A JP 6705506 B2 JP6705506 B2 JP 6705506B2
- Authority
- JP
- Japan
- Prior art keywords
- word
- language
- learning
- distributed expression
- words
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/216—Parsing using statistical methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
- G06F40/42—Data-driven translation
- G06F40/45—Example-based machine translation; Alignment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Databases & Information Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Machine Translation (AREA)
Description
本発明は、学習プログラムなどに関する。
文章処理において、高精度な単語の表現を如何に獲得するかが、重要であり、従来から多くの研究がなされている。近年では、単語の表現を獲得する技術として、Word2Vecがよく知られている(例えば、非特許文献1参照)。
Word2Vecは、「似た単語は同じような文に登場する」という考え方(Distribution hypothesis)に基づいて単語の分散表現を獲得する仕組みである。ここでいう単語の分散表現とは、単語間の意味的な関係をベクトルで表現したものである。Word2Vecは、入力層、隠れ層および出力層からなるニューラルネットワークの教師付き学習方法を活用し、文中に現れる単語であって与えられた単語と周辺の単語との関係および与えられた単語の分散表現を学習する。Word2Vecには、Continuous−Bag−of−WordsモデルとSkip−gramモデルが提案されている。ここでいうSkip−gramモデルとは、与えられた単語に対応するベクトルを入力し、周辺の単語を予測するモデルである。
図8は、Word2VecのSkip−gramモデルを示す図である。図8に示すように、Skip−gramモデルに対して、Input layer(入力層)、Hidden layer(隠れ層)およびOutput layer(出力層)からなるニューラルネットワークが構築される。
入力層には、文中に現れる単語であって与えられた単語に対応するV次元の入力ベクトルxが入力される。入力ベクトルxは、V次元のone−hotベクトルである。Vは、文中の単語数である。one−hotベクトルとは、与えられた単語に対応する要素を1、他の要素を0とするベクトルのことをいう。
隠れ層には、与えられた単語のN次元の単語ベクトルhが生成される。WV×Nは、入力層と隠れ層との間の重みであり、V×Nの行列により表わされる。出力層には、C個のパネルにそれぞれV次元の出力ベクトルyCが生成される。かかるCは、パネル数であり、yCは、与えられた単語の前後にある単語に対応する出力ベクトルである。W´N×Vは、隠れ層と出力層との間の重みであり、N×Vの行列により表わされる。
Skip−gramモデルは、入力層(Input layer)に入力する入力ベクトルとしてV次元のone―hotベクトルxvを入力する。そして、Skip−gramモデルは、入力したone−hotベクトルxvをN次元の隠れ層(Hidden layer)に写像した後、C個の単語に対応するそれぞれのV次元の出力ベクトルを出力層(Output layer)に出力する。
そして、Skip−gramモデルは、出力されたC個の出力ベクトルがそれぞれ予め定められた予測ベクトルと異なれば、その差分を学習すべく、隠れ層と出力層との間の重みW´N×V、入力層と隠れ層との間の重みWV×Nの順にパラメータである重みを更新する。このようなパラメータの更新は、例えばバックプロパゲーションで行われる。
そして、繰り返し学習して得られた隠れ層の単語ベクトルhが、与えられた単語(入力ベクトルx)の分散表現となる。
このような単語の分散表現を異なる2つのタスクでそれぞれ学習し、学習された単語の分散表現を用いてタスク間のベクトル変換を学習する技術が知られている(例えば、非特許文献2参照)。かかる技術では、あるタスクでの未知語の分散表現を獲得するために、別のタスクで学習された分散表現から目的関数を経由して変換する。
図9は、単語の分散表現を用いたタスク間のベクトル変換の一例を示す図である。図9に示すように、タスクとして変換元の単語空間およびタスクとして変換先の単語空間がある場合に、異なるタスク間のペアの単語のそれぞれの分散表現から変換関数(mapping function)を学習する。そして、変換元の単語のペアとなる単語が変換先に存在しない場合には、すなわち、変換先の単語が未知語である場合には、変換元の単語の分散表現と変換関数とから変換先の未知語の分散表現を獲得する。
Tomas Mikolov, Kai Chen, Greg Corrado, and Jeffrey Dean. Efficient Estimation of Word Representations in Vector Space. In Proceedings of Workshop at ICLR, 2013.
Madhyastha, Pranava Swaroop, et al. "Mapping Unseen Words to Task-Tranined Embedding Spaces"
しかしながら、従来技術では、変換元に存在するが変換先に存在しない単語の分散表現を学習するが、変換先に存在するが変換元に存在しない単語の分散表現を学習することはできない。また、単語の分散表現の学習は、そもそも言語資源が十分である場合を想定し、言語資源が十分でない場合を想定していない。したがって、変換先の単語空間の言語資源が十分でない場合に、変換先の単語の分散表現を学習することができない。
本発明は、1つの側面では、単語空間の言語資源が十分でない場合であっても、高精度の分散表現の学習を実現することを目的とする。
1つの態様では、学習プログラムは、コンピュータに、第1の言語における単語空間に含まれる単語の分散表現を、前記分散表現を学習する学習器を用いて学習し、前記第1の言語と異なる第2の言語における単語空間の中で、前記第1の言語における単語空間に含まれる単語と共通する単語および共通しない単語を分類し、前記第2の言語における単語空間の中の前記共通する単語の分散表現を、前記共通する単語に対応する前記第1の言語の単語の分散表現に替えて、前記学習器のパラメータを調整する、処理を実行させる。
1実施態様によれば、単語空間の言語資源が十分でない場合であっても、高精度の分散表現の学習を実現することができる。
以下に、本願の開示する学習プログラム、情報処理装置および学習方法の実施例を図面に基づいて詳細に説明する。なお、本発明は、実施例により限定されるものではない。
[実施例に係る情報処理装置の構成]
図1は、実施例に係る情報処理装置の構成を示す機能ブロック図である。図1に示す情報処理装置1は、言語資源が規定量より多い言語を基準言語とし、当該基準言語における単語の分散表現を利用して、言語資源が規定量より少ない言語における単語の分散表現を学習する。ここでいう単語の分散表現とは、単語間の意味的な関係をベクトルで表現したものである。なお、以降では、言語資源が規定量より多い言語を基準言語として、言語資源が規定量より少ない言語を対象言語として説明する。
図1は、実施例に係る情報処理装置の構成を示す機能ブロック図である。図1に示す情報処理装置1は、言語資源が規定量より多い言語を基準言語とし、当該基準言語における単語の分散表現を利用して、言語資源が規定量より少ない言語における単語の分散表現を学習する。ここでいう単語の分散表現とは、単語間の意味的な関係をベクトルで表現したものである。なお、以降では、言語資源が規定量より多い言語を基準言語として、言語資源が規定量より少ない言語を対象言語として説明する。
ここで、情報処理装置1によって行われる単語の分散表現の学習の概要を、図2を参照して説明する。図2は、実施例に係る単語の分散表現の学習の概要を説明する図である。図2に示すように、基準言語の単語空間W0と対象言語の単語空間W1が存在する。基準言語の単語空間W0は、言語資源が多い言語の単語空間であり、例えば、英語の単語空間である。対象言語の単語空間W1は、言語資源が少ない言語の単語空間であり、例えば、日本語の単語空間である。
情報処理装置1は、基準言語の単語空間W0を対象にして、単語の分散表現を獲得する技術を用いて、単語空間W0に含まれる単語の分散表現を獲得する。なお、単語の分散表現を獲得する技術は、単語の分散表現を学習するプログラムの1つのアルゴリズムであれば良く、例えば、Word2VecのSkip−gramモデルである。
情報処理装置1は、対象言語の単語空間W1の中で、基準言語の単語空間W0に含まれる単語と共通する単語の単語群(a群)と、基準言語の単語空間W0に含まれる単語と共通しない単語の単語群(b群)とを分類する。ここでは、対象言語の単語空間W1の中の「リンゴ」、「バナナ」、「オレンジ」および「カッター」は、基準言語の単語空間W0に含まれる単語「apple」、「banana」、「orange」および「cutter」とそれぞれ共通するので、a群として分類される。一方、対象言語の単語空間W1の中の「刀」は、基準言語の単語空間W0に含まれる単語と共通しないので、b群として分類される。
そして、情報処理装置1は、a群の場合には、対象言語におけるa群の単語の分散表現に、基準言語における、当該単語と共通する単語の分散表現を流用し、Word2Vecを含む単語の分散表現を学習するプログラムの1つのアルゴリズムの所定のパラメータを調整する。ここでは、例えば、a群の単語「リンゴ」の分散表現は、「apple」の分散表現として流用される。a群の単語「バナナ」の分散表現は、「banana」の分散表現として流用される。
そして、情報処理装置1は、b群の場合には、調整された所定のパラメータを、Word2Vecを含む単語の分散表現を学習するプログラムの1つのアルゴリズムに入力し、対象言語におけるb群の単語の分散表現を学習する。すなわち、情報処理装置1は、対象言語における共通しない単語を、a群の単語の位置に合わせて、共通しない単語の相対的な分散表現を学習する。ここでは、例えば、b群の単語「刀」の分散表現は、a群の単語の位置に合わせて相対的に学習される。
これにより、情報処理装置1は、対象言語における単語空間の言語資源が十分でない場合であっても、高精度の分散表現の学習を実現することが可能となる。つまり、単語の分散表現の学習は、言語資源が十分でない場合を想定しておらず、言語資源が十分でない場合には当該言語資源の単語の分散表現を学習することができなかった。しかしながら、情報処理装置1は、言語資源が十分でない場合であっても、高精度の分散表現の学習を実現することが可能となる。
図1に戻って、情報処理装置1は、学習部10と、記憶部20とを有する。学習部10は、CPU(Central Processing Unit)などの電子回路に対応する。そして、学習部10は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。学習部10は、分散表現学習部11、単語分類部12、パラメータ調整部13、パラメータ調整済分散表現学習部14および学習終了判定部15を有する。
記憶部20は、例えば、RAM、フラッシュメモリ(Flash Memory)などの半導体メモリ素子、または、ハードディスク、光ディスクなどの記憶装置である。記憶部20は、基準言語学習用コーパス21、対象言語学習用コーパス22およびアライメント辞書23を有する。
基準言語学習用コーパス21は、基準言語の学習に用いられる基準言語で書かれたコーパスである。対象言語学習用コーパス22は、対象言語の学習に用いられる対象言語で書かれたコーパスである。なお、コーパスとは、文章の集まりのことをいう。
アライメント辞書23は、基準言語の表現、対象言語の表現において、単語の対応関係を有する辞書である。例えば、基準言語が英語、対象言語が日本語である場合には、アライメント辞書23は、英語の表現、日本語の表現において、単語の対応関係を有する。アライメント辞書23には、一例として、日本におけるオンライン英語辞書サービスであるweblio辞書が挙げられる。
分散表現学習部11は、基準言語における単語空間に含まれる単語の分散表現を、単語の分散表現を獲得する技術を用いて学習する。例えば、分散表現学習部11は、基準言語学習用コーパス21を受け取り、基準言語学習用コーパス21に含まれる単語の分散表現を、例えば、Word2VecのSkip−gramモデルを用いて学習する。なお、Word2VecのSkip−gramモデルでの学習は、既存の技術を使って行われる。かかる学習は、“Tomas Mikolov, Kai Chen, Greg Corrado, and Jeffrey Dean. Efficient Estimation of Word Representations in Vector Space. In Proceedings of Workshop at ICLR, 2013.”に開示されている技術を使って行えば良い。また、“Xin Rong. word2vec Parameter Learning Explained”に開示されている技術を使って行えば良い。
ここで、分散表現学習部11によって行われる分散表現学習処理を、図3A〜図3Cを参照して説明する。図3A〜図3Cは、実施例に係る分散表現学習処理の一例を示す図である。図3A〜図3Cでは、単語の分散表現を獲得する技術をWord2VecのSkip−gramモデルとして説明する。なお、基準言語は、英語であるとし、対象言語は、日本語であるとする。また、基準言語学習用コーパス21は、「I drink apple juice.・・・」であるとする。
分散表現学習部11は、Skip−gramモデルに対して、Input layer(入力層)、Hidden layer(隠れ層)およびOutput layer(出力層)からなるニューラルネットワークを構築する。
まず、入力層、隠れ層および出力層について説明する。Input layer(入力層)には、与えられた単語に対応するV次元の入力ベクトルxが入力される。入力ベクトルxは、one−hotベクトルである。Vは、基準言語学習用コーパス21に含まれる単語の数である。なお、one−hotベクトルとは、与えられた単語に対応する要素を1、他の要素を0とするベクトルのことをいう。
また、Hidden layer(隠れ層)には、最終的には、与えられた単語「apple」の分散表現であるN次元の単語ベクトルhが生成される。Wv×Nは、入力層と隠れ層との間の重みであり、V×Nの行列により表わされる。Wv×Nの各要素の初期状態として、例えば、ランダムな値が与えられる。
また、Output layer(出力層)には、図示しないC個のパネルにそれぞれV次元の出力ベクトルycが生成される。かかるCは、予め定められるパネル数であり、ycは、与えられた単語の前後にある単語に対応する出力ベクトルである。W´N×Vは、隠れ層と出力層との間の重みであり、N×Vの行列により表わされる。W´N×Vの各要素の初期状態として、例えば、ランダムな値が与えられる。
図3Aに示すように、このような入力層、隠れ層および出力層からなるニューラルネットワークを活用したSkip−gramモデルにより、分散表現学習部11は、与えられた単語の分散表現を学習する。例えば、入力ベクトルxが、基準言語学習用コーパス21内の与えられた単語「apple」に対応する要素を1、他の要素を0とするone−hotベクトルであるとする。すると、分散表現学習部11は、与えられた単語「apple」に対応する入力ベクトルxを受け付けると、入力ベクトルxにWV×Nの重みをかけて隠れ層の単語ベクトルhを生成する。そして、分散表現学習部11は、単語ベクトルhにW´N×Vの重みをかけて出力層の出力ベクトルyを生成する。すなわち、分散表現学習部11は、初期状態のWv×N、Wv×Nを使って予測する。この結果、単語「drink」である確率が0.1230、単語「juice」である確率が0.1277と予測される。
次に、図3Bに示すように、分散表現学習部11は、実際に算出された出力ベクトルyが予め定められた予測ベクトルと異なれば、その差分に基づいてW´N×VおよびWV×Nの順にパラメータである重みを更新する。このようなパラメータの更新は、例えば、バックプロパゲーションという。そして、分散表現学習部11は、入力ベクトルxに、更新されたWV×Nの重みをかけて隠れ層の単語ベクトルhを生成する。そして、分散表現学習部11は、単語ベクトルhに、更新されたW´N×Vの重みをかけて出力層の出力ベクトルyを生成する。すなわち、分散表現学習部11は、更新状態のWv×N、W´N×Vを使って予測する。この結果、単語「drink」である確率が0.1236、単語「juice」である確率が0.1289と予測され、前回の予測値より微増している。
次に、図3Cに示すように、分散表現学習部11は、バックプロパゲーションのアルゴリズムを用いて、出力ベクトルが最適になるまで繰り返す(イテレーションする)。出力ベクトルが最適であるとは、与えられた単語の周辺の各単語における出現確率の同時確率を最大になることである。すなわち、与えられた単語の周辺の各単語における出現確率が、同時に1.0に近似することである。例えば、分散表現学習部11は、予め定められた回数だけ繰り返すようにすれば良い。予め定められた回数は、一例として、500回であるが、最適となる回数を実験によって求めれば良い。この結果、分散表現学習部11は、隠れ層に現れる単語ベクトルhを、与えられた単語「apple」の分散表現として獲得する。
同様に、分散表現学習部11は、与えられる単語を替えることで、与えられる単語の分散表現を獲得すれば良い。
図1に戻って、単語分類部12は、基準言語と異なる対象言語における単語空間の中で、基準言語における単語空間に含まれる単語と共通する単語および共通しない単語を分類する。例えば、単語分類部12は、対象言語学習用コーパス22を形態素解析し、解析した結果の単語を出力する。そして、単語分類部12は、解析した結果の単語およびアライメント辞書23を用いて、対象言語および基準言語の間の単語の対応関係を獲得する。すなわち、単語分類部12は、対象言語の中で、基準言語における単語と共通する単語および共通しない単語を分類する。ここでいう共通する単語とは、対象言語の中で、基準言語と同じ意味を持つ単語のことをいい、共通しない単語とは、基準言語に同じ意味を持つ単語がない単語のことをいう。一例として、対象言語における「りんご」は、基準言語における「apple」と同じ意味を持つ単語であるので、共通する単語である。対象言語における「刀」は、基準言語に同じ意味を持つ単語がない単語であるので、共通しない単語である。
パラメータ調整部13は、対象言語における単語空間の中の共通する単語の分散表現を、共通する単語に対応する基準言語の単語の分散表現に置き換えて、単語の分散表現を獲得する技術のパラメータを調整する。例えば、パラメータ調整部13は、対象言語学習用コーパス22を受け取り、対象言語学習用コーパス22に含まれる単語であって共通する単語を選択し、選択した単語の分散表現を基準言語の単語の分散表現に置き換える。すなわち、パラメータ調整部13は、Skip−gramにおける隠れ層を基準言語の単語の分散表現に置き換える。そして、パラメータ調整部13は、隠れ層と出力層との間のパラメータである重みW´N×Vを調整する。パラメータ調整部13は、全ての共通する単語を順次選択し、選択した単語について、かかるパラメータ調整処理を行う。
ここで、パラメータ調整部13によって行われるパラメータ調整処理を、図4を参照して説明する。図4は、実施例に係るパラメータ調整処理の一例を示す図である。なお、基準言語は、英語であるとし、対象言語は、日本語であるとする。また、対象言語学習用コーパス22は、「・・・赤いリンゴを食べた・・・」であるとする。対象言語学習用コーパス22内で、共通する単語が「リンゴ」であるとする。そして、図4では、共通する単語「リンゴ」を用いてパラメータの調整をする場合を説明する。
図4に示すように、パラメータ調整部13は、基準言語と対象言語との間で共通して出現する単語「リンゴ」を用いて、隠れ層と出力層との間のパラメータである重みW´N×Vを調整する。
例えば、パラメータ調整部13は、隠れ層の単語ベクトルhiを「apple」の分散表現に置き換える。そして、パラメータ調整部13は、隠れ層を固定して、隠れ層と出力層との間のパラメータである重みW´N×Vを調整する。すなわち、パラメータ調整部13は、隠れ層の単語ベクトルhiおよび出力層の出力ベクトルy1〜C,jの値を使って重みW´N×Vを調整する。
なお、hiのiは、隠れ層の単語ベクトルのi番目の要素を指すインデックスである。xkのkは、入力する単語に対応するV次元のone−hotベクトルのk番目の要素を指すインデックスである。y1〜C,jのCは、予め定められるパネルの数であり、入力する単語の前後を表す単語の最大数である。y1〜C,jのjは、出力層のC番目の単語に対応する出力ベクトルのj番目の要素を示すインデックスである。
そして、パラメータ調整部13は、実際に算出された出力ベクトルy1〜C,jが予め定められた予測ベクトルと異なれば、その差分に基づいてパラメータである重みW´N×Vを更新する。パラメータの更新は、分散表現学習部11により行われる場合と同様の方法で行われる。すなわち、パラメータの更新方法は、例えば、バックプロパゲーションを用いれば良い。
図1に戻って、パラメータ調整済分散表現学習部14は、パラメータ調整部13によって調整されたパラメータを用いて、対象言語における単語空間の中の共通しない単語の分散表現を学習する。例えば、パラメータ調整済分散表現学習部14は、対象言語学習用コーパス22を受け取り、対象言語学習用コーパス22に含まれる単語であって共通しない単語である場合には、以下の処理を行う。パラメータ調整済分散表現学習部14は、パラメータ調整部13によって調整済みのパラメータである重みW´N×Vを設定する。そして、パラメータ調整済分散表現学習部14は、共通しない単語のOne−hotベクトルを入力層に入力し、共通しない単語の分散表現をWord2VecのSkip−gramモデルを用いて学習する。
ここで、パラメータ調整済分散表現学習部14によって行われるパラメータ調整済分散表現学習処理を、図5を参照して説明する。図5は、実施例に係るパラメータ調整済分散表現学習処理の一例を示す図である。なお、基準言語は、英語であるとし、対象言語は、日本語であるとする。また、対象言語学習用コーパス22は、「・・・赤いリンゴを食べた・・・」であるとする。対象言語学習用コーパス22内で、共通しない単語が「赤い」、「を」、「食べた」であり、共通する単語が「リンゴ」であるとする。そして、図5では、共通しない単語「赤い」の分散表現の学習をする場合を説明する。
図5に示すように、パラメータ調整済分散表現学習部14は、Skip−gramモデルにパラメータ調整部13によって調整されたパラメータである重みW´N×Vを設定したうえで、共通しない単語の分散表現を学習する。なお、分散表現の学習方法は、分散表現学習部11で説明した方法と同様である。例えば、入力ベクトルxが入力する単語として共通しない単語「赤い」に対応する要素を1、他の要素を0とするone−hotベクトルであるとする。すると、パラメータ調整済分散表現学習部14は、入力する単語「赤い」に対応する入力ベクトルxを受け付けると、入力ベクトルxにWV×Nの重みをかけて隠れ層の単語ベクトルhを生成する。そして、分散表現学習部11は、単語ベクトルhにW´N×Vの重みをかけて出力層の出力ベクトルyを生成する。そして、パラメータ調整済分散表現学習部14は、実際に算出された出力ベクトルyが予め定められた予測ベクトルと異なれば、その差分に基づいてW´N×VおよびWV×Nの順にパラメータである重みを更新する。そして、パラメータ調整済分散表現学習部14は、繰り返し、入力する単語「赤い」の分散表現の学習を通じてパラメータを調整する。
図1に戻って、学習終了判定部15は、学習の終了を判定する。
例えば、学習終了判定部15は、パラメータである重みW´N×Vの更新前後の差が閾値より小さくなった場合には、学習を終了する。重みW´N×Vの更新前とは、パラメータ調整部13の終了時の重み、すなわち、パラメータ調整済分散表現学習部14の開始時の重みである。重みW´N×Vの更新後とは、パラメータ調整済分散表現学習部14の終了時の重みである。すなわち、学習の終了条件は、式(1)で示される。なお、W´N×Vnewは、W´N×Vの更新後である。W´N×Voldは、W´N×Vの更新前である。εは、閾値である。閾値は、更新前後の差が十分小さいと判断できる値であれば良い。
W´N×Vnew−W´N×Vold<ε・・・式(1)
W´N×Vnew−W´N×Vold<ε・・・式(1)
そして、学習終了判定部15は、パラメータである重みW´N×Vの更新前後の差が閾値以上である場合には、パラメータ調整部13およびパラメータ調整済分散表現学習部14を繰り返す。
なお、学習終了判定部15は、学習の終了条件として重みW´N×Vの更新前後の差が閾値より小さくなった場合であると説明したが、これに限定されない。学習終了判定部15は、所定の繰り返し(イテレーション)回数分繰り返した場合であっても良い。
[学習処理のフローチャート]
図6は、実施例に係る学習処理のフローチャートの一例を示す図である。なお、言語資源が規定量より多い、基準言語の単語空間および言語資源が規定量より少ない、対象言語の単語空間が存在するものとする。
図6は、実施例に係る学習処理のフローチャートの一例を示す図である。なお、言語資源が規定量より多い、基準言語の単語空間および言語資源が規定量より少ない、対象言語の単語空間が存在するものとする。
図6に示すように、学習部10は、学習処理要求を受け付けたか否かを判定する(ステップS10)。学習処理要求を受け付けていないと判定した場合には(ステップS10;No)、学習部10は、学習処理要求を受け付けるまで、判定処理を繰り返す。
一方、学習処理要求を受け付けたと判定した場合には(ステップS10;Yes)、分散表現学習部11は、基準言語の分散表現を学習する(ステップS20)。例えば、分散表現学習部11は、基準言語における単語の分散表現をword2VecのSkip−gramモデルを用いて学習する。
そして、単語分類部12は、両言語間で、共通して出現する単語群と共通しない単語群とを分類する(ステップS30)。例えば、単語分類部12は、対象言語学習用コーパス22を形態素解析し、解析した結果の単語を出力する。単語分類部12は、解析した結果の単語およびアライメント辞書23を用いて、対象言語および基準言語の間の単語の対応関係を獲得する。そして、単語分類部12は、対応関係を用いて、対象言語の中で、基準言語における単語と共通する単語群および共通しない単語群を分類する。
続いて、パラメータ調整部13は、共通して出現する対象言語の単語群について、分散表現学習の学習パラメータW´を調整する(ステップS40)。例えば、パラメータ調整部13は、共通する単語群から順次単語を選択し、選択した単語の分散表現を基準言語の単語の分散表現に置き換える。すなわち、パラメータ調整部13は、Skip−gramモデルにおける隠れ層を基準言語の単語の分散表現に置き換える。そして、パラメータ調整部13は、隠れ層と出力層との間のパラメータである重みW´N×Vを調整する。
続いて、パラメータ調整済分散表現学習部14は、調整した学習パラメータW´を入力し、共通しない対象言語の単語群について、分散表現を学習する(ステップS50)。例えば、パラメータ調整済分散表現学習部14は、パラメータ調整部13によって調整されたパラメータである重みW´N×VをSkip−gramモデルに設定する。パラメータ調整済分散表現学習部14は、共通しない対象言語の単語群から順次単語を選択し、選択した単語のOne−hotベクトルを入力層に入力し、選択した単語の分散表現をSkip−gramモデルを用いて学習する。
そして、学習終了判定部15は、学習の終了条件を満たすか否かを判定する(ステップS60)。例えば、学習終了判定部15は、パラメータである重みW´N×Vの更新前後の差が閾値より小さくなったか否かを判定する。ここでいう重みW´N×Vの更新前とは、パラメータ調整部13によって調整されたパラメータである重みである。重みW´N×Vの更新後とは、パラメータ調整済分散表現学習部14によって調整されたパラメータである重みである。学習の終了条件を満たさないと判定した場合には(ステップS60;No)、学習終了判定部15は、更新後の重みW´N×Vをさらに調整すべく、ステップS40に移行する。
一方、学習の終了条件を満たすと判定した場合には(ステップS60;Yes)、学習終了判定部15は、学習処理を終了する。
なお、実施例に係る学習処理は、単語の分散表現を獲得することで、単語の意味を解釈できるようになり、文書検索や文の類似関係の検索を高精度に行うことができるようになる。また、実施例に係る学習処理は、Q/A(Question/Answer)サイトに適用されることで、過去の膨大な問合せ(Question)の中から適切な回答(Answer)を高精度に検索することができるようになる。特に、コンピュータに関連するQ/Aサイトは英語のサイトが多いものの、英語から日本語など多言語に展開されつつある。Q/Aが膨大になるにつれて、機械学習を用いて学習することが望まれるが、機械学習を用いるには、膨大な言語資源が必要となる。英語に比べて日本語では言語資源が少ないため、実施例に係る学習処理を利用することで、英語の情報を有効に活用できるようになる。
[実施例の効果]
上記実施例によれば、情報処理装置1は、第1の言語における単語空間に含まれる単語の分散表現を、分散表現を学習する学習器を用いて学習する。情報処理装置1は、第1の言語と異なる第2の言語における単語空間の中で、第1の言語における単語空間に含まれる単語と共通する単語および共通しない単語を分類する。情報処理装置1は、第2の言語における単語空間の中の共通する単語の分散表現を、共通する単語に対応する第1の言語の単語の分散表現に替えて、学習器のパラメータを調整する。かかる構成によれば、情報処理装置1は、第2の言語における言語資源の分散表現を学習する際に、第1の言語における言語資源の分散表現を利用することで、第2の言語における言語資源の分散表現を高精度に獲得できる。すなわち、情報処理装置1は、第2の言語における言語資源が十分でない場合であっても、十分な言語資源を有する第1の言語における言語資源の分散表現を利用することで、分散表現を高精度に獲得できる。
上記実施例によれば、情報処理装置1は、第1の言語における単語空間に含まれる単語の分散表現を、分散表現を学習する学習器を用いて学習する。情報処理装置1は、第1の言語と異なる第2の言語における単語空間の中で、第1の言語における単語空間に含まれる単語と共通する単語および共通しない単語を分類する。情報処理装置1は、第2の言語における単語空間の中の共通する単語の分散表現を、共通する単語に対応する第1の言語の単語の分散表現に替えて、学習器のパラメータを調整する。かかる構成によれば、情報処理装置1は、第2の言語における言語資源の分散表現を学習する際に、第1の言語における言語資源の分散表現を利用することで、第2の言語における言語資源の分散表現を高精度に獲得できる。すなわち、情報処理装置1は、第2の言語における言語資源が十分でない場合であっても、十分な言語資源を有する第1の言語における言語資源の分散表現を利用することで、分散表現を高精度に獲得できる。
また、上記実施例によれば、情報処理装置1は、調整されたパラメータを学習器に入力し、第2の言語における単語空間の中の共通しない単語の分散表現を、学習器を用いて学習する。かかる構成によれば、情報処理装置1は、第2の言語における単語空間にあって第1の言語における単語空間にないような単語の分散表現の学習を実現することが可能となる。
また、上記実施例によれば、情報処理装置1は、該学習した結果、共通する単語および共通しない単語の分散表現を出力する。かかる構成によれば、情報処理装置1は、第2の言語における単語空間について、単語の意味を解釈できるようになり、文書検索や文の類似関係の検索を高精度に行うことができる。
また、上記実施例によれば、情報処理装置1は、第1の言語における単語空間は、言語資源が規定量より多い単語空間であり、第2の言語における単語空間は、言語資源が規定量より少ない単語空間である。かかる構成によれば、情報処理装置1は、単語空間の言語資源が十分でない場合であっても、高精度の分散表現の学習を実現することが可能となる。
[その他]
なお、図示した装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、装置の分散・統合の具体的態様は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、パラメータ調整部13およびパラメータ調整済分散表現学習部14を併合しても良い。また、記憶部20を情報処理装置1の外部装置としてネットワーク経由で接続するようにしても良い。
なお、図示した装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、装置の分散・統合の具体的態様は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、パラメータ調整部13およびパラメータ調整済分散表現学習部14を併合しても良い。また、記憶部20を情報処理装置1の外部装置としてネットワーク経由で接続するようにしても良い。
図7は、情報処理装置のハードウェア構成の一例を示す図である。図7に示すように、コンピュータ500は、各種演算処理を実行するCPU501と、ユーザからのデータ入力を受け付ける入力装置502と、モニタ503とを有する。また、コンピュータ500は、記憶媒体からプログラムなどを読み取る媒体読取装置504と、他の装置と接続するためのインターフェース装置505と、他の装置と無線により接続するための無線通信装置506とを有する。また、コンピュータ500は、各種情報を一時記憶するRAM(Random Access Memory)507と、ハードディスク装置508とを有する。また、各装置501〜508は、バス509に接続される。
ハードディスク装置508には、図1に示した学習部10と同様の機能を有する学習プログラムが記憶される。また、ハードディスク装置508には、学習プログラムを実現するための各種データが記憶される。各種データには、図1に示した記憶部20内のデータが含まれる。
CPU501は、ハードディスク装置508に記憶された各プログラムを読み出して、RAM507に展開して実行することで、各種の処理を行う。これらのプログラムは、コンピュータ500を図1に示した各機能部として機能させることができる。
なお、上記の学習プログラムは、必ずしもハードディスク装置508に記憶されている必要はない。例えば、コンピュータ500が読み取り可能な記憶媒体に記憶されたプログラムを、コンピュータ500が読み出して実行するようにしてもよい。コンピュータ500が読み取り可能な記憶媒体は、例えば、CD−ROMやDVDディスク、USB(Universal Serial Bus)メモリなどの可搬型記録媒体、フラッシュメモリなどの半導体メモリ、ハードディスクドライブなどが対応する。また、公衆回線、インターネット、LAN(Local Area Network)などに接続された装置にこれらのプログラムを記憶させておき、コンピュータ500がこれらからこれらのプログラムを読み出して実行するようにしても良い。
1 情報処理装置
10 学習部
11 分散表現学習部
12 単語分類部
13 パラメータ調整部
14 パラメータ調整済分散表現学習部
15 学習終了判定部
20 記憶部
21 基準言語学習用コーパス
22 対象言語学習用コーパス
23 アライメント辞書
10 学習部
11 分散表現学習部
12 単語分類部
13 パラメータ調整部
14 パラメータ調整済分散表現学習部
15 学習終了判定部
20 記憶部
21 基準言語学習用コーパス
22 対象言語学習用コーパス
23 アライメント辞書
Claims (7)
- コンピュータに、
第1の言語における単語空間に含まれる単語の分散表現を、前記分散表現を学習する学習器を用いて学習し、
前記第1の言語と異なる第2の言語における単語空間の中で、前記第1の言語における単語空間に含まれる単語と共通する単語および共通しない単語を分類し、
前記第2の言語における単語空間の中の前記共通する単語の分散表現を、前記共通する単語に対応する前記第1の言語の単語の分散表現に替えて、前記学習器のパラメータを調整する
処理を実行させることを特徴とする学習プログラム。 - 前記調整する処理によって調整されたパラメータを前記学習器に入力し、前記第2の言語における単語空間の中の前記共通しない単語の分散表現を、前記学習器を用いて学習する
ことを特徴とする請求項1に記載の学習プログラム。 - 該学習した結果、前記共通する単語および前記共通しない単語の分散表現を出力する
ことを特徴とする請求項2に記載の学習プログラム。 - 前記第1の言語における単語空間は、言語資源が規定量より多い単語空間であり、前記第2の言語における単語空間は、言語資源が前記規定量より少ない単語空間である
ことを特徴とする請求項1または請求項2に記載の学習プログラム。 - 前記学習器は、Word2Vecを含む単語の分散表現を学習するプログラムの1つのアルゴリズムにより前記単語の分散表現を学習する
ことを特徴とする請求項1または請求項2に記載の学習プログラム。 - 第1の言語における単語空間に含まれる単語の分散表現を、前記分散表現を学習する学習器を用いて学習する学習部と、
前記第1の言語と異なる第2の言語における単語空間の中で、前記第1の言語における単語空間に含まれる単語と共通する単語および共通しない単語を分類する分類部と、
前記第2の言語における単語空間の中の前記共通する単語の分散表現を、前記共通する単語に対応する前記第1の言語の単語の分散表現に替えて、前記学習器のパラメータを調整する調整部と、
を有することを特徴とする情報処理装置。 - コンピュータが、
第1の言語における単語空間に含まれる単語の分散表現を、前記分散表現を学習する学習器を用いて学習し、
前記第1の言語と異なる第2の言語における単語空間の中で、前記第1の言語における単語空間に含まれる単語と共通する単語および共通しない単語を分類し、
前記第2の言語における単語空間の中の前記共通する単語の分散表現を、前記共通する単語に対応する前記第1の言語の単語の分散表現に替えて、前記学習器のパラメータを調整する
各処理を実行することを特徴とする学習方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2016/079545 WO2018066083A1 (ja) | 2016-10-04 | 2016-10-04 | 学習プログラム、情報処理装置および学習方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2018066083A1 JPWO2018066083A1 (ja) | 2019-06-24 |
JP6705506B2 true JP6705506B2 (ja) | 2020-06-03 |
Family
ID=61831756
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018543522A Active JP6705506B2 (ja) | 2016-10-04 | 2016-10-04 | 学習プログラム、情報処理装置および学習方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11176327B2 (ja) |
JP (1) | JP6705506B2 (ja) |
WO (1) | WO2018066083A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021096552A (ja) | 2019-12-16 | 2021-06-24 | 富士フイルムビジネスイノベーション株式会社 | 文書データ処理装置、文書データ処理方法及びプログラム |
JP7375096B2 (ja) * | 2021-09-02 | 2023-11-07 | みずほリサーチ&テクノロジーズ株式会社 | 分散表現生成システム、分散表現生成方法及び分散表現生成プログラム |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2029601A (en) * | 1999-12-17 | 2001-06-25 | Si Han Kim | Information coding and retrieval system and method thereof |
US7103749B2 (en) * | 2002-02-01 | 2006-09-05 | John Fairweather | System and method for managing memory |
JP3765801B2 (ja) * | 2003-05-28 | 2006-04-12 | 沖電気工業株式会社 | 対訳表現抽出装置、対訳表現抽出方法、および対訳表現抽出プログラム |
WO2006121542A2 (en) | 2005-04-05 | 2006-11-16 | Ai Limited | Systems and methods for semantic knowledge assessment, instruction, and acquisition |
JP2008065468A (ja) | 2006-09-05 | 2008-03-21 | Nippon Telegr & Teleph Corp <Ntt> | テキスト多重分類装置、テキストを多重分類する方法、プログラムおよび記憶媒体 |
US8645119B2 (en) * | 2007-03-26 | 2014-02-04 | Google Inc. | Minimum error rate training with a large number of features for machine learning |
JP4342575B2 (ja) | 2007-06-25 | 2009-10-14 | 株式会社東芝 | キーワード提示のための装置、方法、及びプログラム |
US8364463B2 (en) * | 2009-09-25 | 2013-01-29 | International Business Machines Corporation | Optimizing a language/media translation map |
WO2015070093A1 (en) * | 2013-11-08 | 2015-05-14 | Thomas Fennell | System and method for translating texts |
JP5850512B2 (ja) * | 2014-03-07 | 2016-02-03 | 国立研究開発法人情報通信研究機構 | 単語アライメントスコア算出装置、単語アライメント装置、及びコンピュータプログラム |
US10083167B2 (en) * | 2014-10-03 | 2018-09-25 | At&T Intellectual Property I, L.P. | System and method for unsupervised text normalization using distributed representation of words |
CN111291553B (zh) * | 2014-10-24 | 2023-11-21 | 谷歌有限责任公司 | 具有罕见词处理的神经机器翻译*** |
US9779085B2 (en) * | 2015-05-29 | 2017-10-03 | Oracle International Corporation | Multilingual embeddings for natural language processing |
US10091140B2 (en) * | 2015-05-31 | 2018-10-02 | Microsoft Technology Licensing, Llc | Context-sensitive generation of conversational responses |
KR102396250B1 (ko) * | 2015-07-31 | 2022-05-09 | 삼성전자주식회사 | 대역 어휘 결정 장치 및 방법 |
FR3040808B1 (fr) * | 2015-09-07 | 2022-07-15 | Proxem | Procede d'etablissement automatique de requetes inter-langues pour moteur de recherche |
KR102565274B1 (ko) * | 2016-07-07 | 2023-08-09 | 삼성전자주식회사 | 자동 통역 방법 및 장치, 및 기계 번역 방법 및 장치 |
KR102565275B1 (ko) * | 2016-08-10 | 2023-08-09 | 삼성전자주식회사 | 병렬 처리에 기초한 번역 방법 및 장치 |
KR102589637B1 (ko) * | 2016-08-16 | 2023-10-16 | 삼성전자주식회사 | 기계 번역 방법 및 장치 |
EP3516591B1 (en) * | 2016-09-26 | 2024-07-31 | Google LLC | Neural machine translation systems |
-
2016
- 2016-10-04 JP JP2018543522A patent/JP6705506B2/ja active Active
- 2016-10-04 WO PCT/JP2016/079545 patent/WO2018066083A1/ja active Application Filing
-
2019
- 2019-04-02 US US16/373,564 patent/US11176327B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20190228072A1 (en) | 2019-07-25 |
JPWO2018066083A1 (ja) | 2019-06-24 |
WO2018066083A1 (ja) | 2018-04-12 |
US11176327B2 (en) | 2021-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11132512B2 (en) | Multi-perspective, multi-task neural network model for matching text to program code | |
US20190130249A1 (en) | Sequence-to-sequence prediction using a neural network model | |
US10445654B2 (en) | Learning parameters in a feed forward probabilistic graphical model | |
JP7316721B2 (ja) | 対象領域およびクライアント固有のアプリケーション・プログラム・インタフェース推奨の促進 | |
US20210035556A1 (en) | Fine-tuning language models for supervised learning tasks via dataset preprocessing | |
KR101837262B1 (ko) | 단어 자질 가중치를 적용한 딥 러닝 기반 개체 유형 분류 방법 | |
KR101939209B1 (ko) | 신경망 기반의 텍스트의 카테고리를 분류하기 위한 장치, 이를 위한 방법 및 이 방법을 수행하기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록매체 | |
JP7343566B2 (ja) | 言語モデルを利用したデータ生成方法、コンピュータ装置、およびコンピュータプログラム | |
CN111666416A (zh) | 用于生成语义匹配模型的方法和装置 | |
JP7303195B2 (ja) | 対象領域およびクライアント固有のアプリケーション・プログラム・インタフェース推奨の促進 | |
US11068524B2 (en) | Computer-readable recording medium recording analysis program, information processing apparatus, and analysis method | |
WO2014073206A1 (ja) | 情報処理装置、及び、情報処理方法 | |
US20220335209A1 (en) | Systems, apparatus, articles of manufacture, and methods to generate digitized handwriting with user style adaptations | |
JP6705506B2 (ja) | 学習プログラム、情報処理装置および学習方法 | |
CN113722439A (zh) | 基于对抗性类别对齐网络的跨领域情感分类方法及*** | |
JP6899973B2 (ja) | 意味関係学習装置、意味関係学習方法、及び意味関係学習プログラム | |
WO2020012975A1 (ja) | 変換装置、学習装置、変換方法、学習方法及びプログラム | |
US20240037335A1 (en) | Methods, systems, and media for bi-modal generation of natural languages and neural architectures | |
CN116341515A (zh) | 一种面向对比学习的动态课程的句子表示方法 | |
US20180276568A1 (en) | Machine learning method and machine learning apparatus | |
US20220366133A1 (en) | Training a Model in a Data-Scarce Environment Using Added Parameter Information | |
WO2021176714A1 (ja) | 学習装置、情報処理装置、学習方法、情報処理方法及びプログラム | |
JP2019079087A (ja) | 学習装置、プログラムパラメータおよび学習方法 | |
Xu et al. | Cross-media retrieval based on pseudo-label learning and semantic consistency algorithm | |
JP6526607B2 (ja) | 学習装置、学習方法、および学習プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190208 |
|
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: 20200414 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200427 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6705506 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |