JP6957967B2 - 生成プログラム、生成方法、生成装置、及びパラメータ生成方法 - Google Patents

生成プログラム、生成方法、生成装置、及びパラメータ生成方法 Download PDF

Info

Publication number
JP6957967B2
JP6957967B2 JP2017097442A JP2017097442A JP6957967B2 JP 6957967 B2 JP6957967 B2 JP 6957967B2 JP 2017097442 A JP2017097442 A JP 2017097442A JP 2017097442 A JP2017097442 A JP 2017097442A JP 6957967 B2 JP6957967 B2 JP 6957967B2
Authority
JP
Japan
Prior art keywords
sentence
vector
input
learning
language
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
JP2017097442A
Other languages
English (en)
Other versions
JP2018195012A (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
Priority to JP2017097442A priority Critical patent/JP6957967B2/ja
Priority to US15/967,653 priority patent/US10614160B2/en
Publication of JP2018195012A publication Critical patent/JP2018195012A/ja
Application granted granted Critical
Publication of JP6957967B2 publication Critical patent/JP6957967B2/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/42Data-driven translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/268Morphological analysis
    • 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/47Machine-assisted translation, e.g. using translation memory
    • 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/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of 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
    • 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/084Backpropagation, e.g. using gradient descent

Landscapes

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

Description

本発明は、生成プログラム、生成方法、生成装置、及びパラメータ生成方法に関する。
自然言語処理の分野において機械学習、例えばニューラルネットワークが用いられている。また、ニューラルネットワークを用いて予測制御等を行なう手法も開発されている。
自然言語処理の分野において文章の検索や分類を行なうための手法として、ニューラルネットワークの一例であるRNN(Recurrent Neural Network;リカレントニューラルネットワーク)オートエンコーダが開発されている。RNNオートエンコーダ(RNNA)は、教師データを用いず、入力と出力に同じデータを設定して学習を行なう手法であり、文章の特徴量、例えば圧縮表現を得ることを可能とする。
特開平8−221378号公報 特開平7−191967号公報 特開平6−28332号公報
しかしながら、例えば日本語のような言語・表記体系では、特定の意味を表記するための単語が複数存在するうえに、ひらがな,カタカナ,漢字等の表記が混在している。例えば、「teacher」という英単語を日本語で表記する場合には、「教師」,「先生」,「せんせい」等の複数の表記がある。以下、特定の意味を表す表記が複数存在することを「表記の揺れ」と言う。例えば、このような「表記の揺れ」をもつ言語を入力データに用いた場合、文章の特徴量が表記の揺れによる影響を受け、文章の検索や分類等の精度が低下する場合がある。
1つの側面では、機械学習による言語の文章の特徴量を得る際の、言語の表記の揺れによる影響を軽減することを目的とする。
1つの側面では、生成プログラムは、第1の言語で記述された第1の文章を取得し、前記第1の言語で記述されそれぞれが異なる単語を含む第2の文章と第3の文章とのそれぞれに対して、前記第2の文章と前記第3の文章とに対応する翻訳文である第2の言語で記述された第4の文章がラベル付けされた訓練データを用いた機械学習により生成された機械学習モデルのパラメータに基づいて、前記第1の文章を表すベクトルを生成する、処理をコンピュータに実行させてよい。
1つの側面では、機械学習による言語の文章の特徴量を得る際の、言語の表記の揺れによる影響を軽減することができる。
一実施形態の比較例に係る文章のベクトル化を示す図である。 一実施形態の比較例に係るRNNにおける入出力を示す図である。 一実施形態の比較例に係るRNNにおけるバックプロパゲーションによる学習を示す図である。 一実施形態の比較例に係るRNNにおける学習を示す図である。 一実施形態の比較例に係るRNNオートエンコーダにおける圧縮表現の取得を示す図である。 一実施形態に係る学習装置の機能構成例を示すブロック図である。 一実施形態に係る学習装置のハードウェア構成例を示すブロック図である。 一実施形態に係る文章取得部において読み込む文章例を示す図である。 一実施形態に係るベクトル変換部において形態素解析を施した結果を例示する図である。 一実施形態に係るベクトル変換部においてベクトル化を行なった結果を例示する図である。 一実施形態に係るRNNオートエンコーダにおける入出力例を示す図である。 一実施形態に係るRNNオートエンコーダにおける学習を例示する図である。 一実施形態に係るRNNにおける変換パラメータと出力データを例示する図である。 一実施形態に係る学習処理の一例を説明するためのフローチャートである。 一実施形態に係る圧縮表現取得処理の一例を説明するためのフローチャートである。
以下、図面を参照して本発明の実施の形態を説明する。ただし、以下に説明する実施形態は、あくまでも例示あり、以下に明示しない種々の変形や技術の適用を排除する意図等はない。例えば、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。なお、以下の実施形態で用いる図面において、同一符号を付した部分は、特に断らない限り、同一若しくは同様の部分を表す。
〔1〕一実施形態
〔1−1〕比較例に係るRNNについて
はじめに、図1を参照して、一実施形態の比較例に係る文章の検索又は分類の手法について説明する。なお、以下の手法は、例えば、コンピュータにより実施されてよい。
自然言語処理の分野では、文章の分類や検索を行なうために、まず、図1に示すように、文章群1001を構成する複数の文章1001a〜n(nは整数)は、それぞれ、ベクトル1002a〜n(nは整数)にベクトル化される。「ベクトル」は「圧縮表現」と称されてもよい。文章の「ベクトル」或いは「圧縮表現」は、文章の特徴を表す指標である「特徴量」の一例である。
図1に示すように、文章1001a,1001bは、それぞれ、[0.832,0.555,0,0](ベクトル1002a),[0.789,0.515,0.335,0](ベクトル1002b)にベクトル化される。また、文章1001cは、[0.524,0.465,0.405,0.588](ベクトル1002c)にベクトル化される。
次に、文章1001a〜nを比較するために、コンピュータは、ベクトル1002a〜n同士の類似度を算出し、算出した類似度に基づいて文章1001a〜nの分類や検索を行なう。ここでは、文章1001aを、文章1001b又は文章1001cの属するグループに分類する場合を例に挙げ説明する。
文章1001aを、文章1001bの属するグループに分類するか、文章1001cの属するグループに分類するかを判断するために、コンピュータは、文章1001aと文章1001bとの類似度、及び、文章1001aと文章1001cとの類似度を算出する。ここでは、文章の類似度の算出に、文章のベクトルに基づく、cos(コサイン)類似度を用いる方法を例に挙げ説明する。
cos類似度は、例えば、下記式(1)により算出されてよい。なお、下記式(1)において、q,dは、それぞれ文章のベクトルであり、文章同士が類似すればするほど、cos類似度は1に近づき、文章同士が類似しないほど、cos類似度は−1に近づく。|V|は、q,dのベクトルの要素数を表す。例えば、コンピュータは、コサイン類似度が1に最も近くなる文書同士を、同じグループに分類してよい。
cos(q,d)=q・d=Σ|V| i=1(q) (1)
図1の例では、文章1001aと文章1001bの類似度は、それぞれのベクトル1002aと1002bとを用いて、(0.832×0.789)+(0.555×0.515)+(0×0.33)+(0×0)≒0.942のように算出される。一方、文章1001aと文章1001cの類似度は、それぞれのベクトル1002aと1002cとを用いて、(0.832×0.524)+(0.555×0.465)+(0×0.405)+(0×0.588)≒0.694のように算出される。両類似度を比較すると、0.942>0.694となり、0.942が1に近い値であることから、コンピュータは、文章1001aが文章1001bに類似していると判断し、文章1001aを文章1001bの属するグループに分類する。
このように、コンピュータは、文章群1001をベクトル化してベクトル1002a〜nを取得することにより、文章1001a〜nそのものではなく、当該文章のベクトル1002a〜nを比較して、文章の分類や検索を行なうことができる。
次に、図2に示す比較例を参照して、RNN1100を用いた文章の学習について説明する。RNN1100では、文章の時系列を考慮した学習を行なうことができる。
図2の例では、RNNにおいて「彼は教師です。」という文章を学習する際の入出力を示している。なお、図2中の「RNN1100」は、RNN全体を指すものとする。また、図2中に複数のRNN1100が示されているが、これらのRNN1100は全て同一のRNNである。すなわち、図2の例では、1つのRNN1100に文章の要素が順次入力及び出力される様子を示すものである。
RNN1100への入力データ1101は、コンピュータにより、学習対象となる文章について形態素解析を行ない、当該文章に出現する語句(たとえば、単語)を抽出し、抽出した各語句をベクトル化することにより求められてよい。図2の例では、コンピュータは、「彼は教師です。」という文章をRNN1100に学習させるために、当該文章に対して形態素解析を行ない、当該文章に出現する語句である、「彼」,「は」,「教師」,「です」を抽出する。そして、コンピュータは、抽出した各語句をベクトル化する。例えば、ベクトル化の手法としてOne−hot(ワンホット)を用いると、図2に示すように、抽出された語句はそれぞれ、以下のようにベクトル化される。
「彼」 :[1,0,0,0],
「は」 :[0,1,0,0],
「教師」:[0,0,1,0],
「です」:[0,0,0,1]
前述のようにして求められたベクトルは、図2に示すように、RNN1100への入力データ1101としてセットされる。また、RNN1100では、入力データ1101と出力データ1102に同じ値をセットして学習が行なわれることから、RNN1100の出力データ1102に、上記入力データ1101と同様のベクトルがセットされる。そして、入力データ1101のそれぞれは、A1、A2、…、A8(図2中の実線で示す矢印A1〜A8参照)の順にRNN1100に入力される。RNN1100の内部では、入力データ1101と出力データ1102とが同じデータ(例えば同じ値)となるように学習が繰り返し行なわれる。また、図2中の点線で示す矢印は、各入力データ1101に対するRNN1100からの出力を示しており、この出力等がRNN1100の内部で受け渡されることにより(図2中の太線で示す矢印参照)、学習が行なわれる。
図3は、図2に示す比較例におけるRNN1100のノードを一つ取り出し、バックプロパゲーションによる学習を示したものである。
図3の例では、RNN1100の入力データ1101として、[1,0,0,0]がセットされると、初期状態の出力1102として、[0.7,0.3,−0.5,0.1]が得られることを示している。RNN1100では、学習前にはランダムな変換パラメータw0(初期値)により当該ニューラルネットワークが初期化されるが、変換パラメータを初期値にセットしたままでは、望ましい出力データである、[1,0,0,0]が得られない。そこで、望ましい入出力関係を得るべく、変換パラメータw0を適切に調整するために、バックプロパゲーションにより、出力データ1102と入力データ1101との差分に基づきRNN1100において繰り返し学習が行なわれる。なお、望ましい出力データとは、比較例においては、「入力データ1101と同じ値のデータ」が挙げられる。
図4には、図3に示す比較例に係るRNN1100における学習を示す。図3に例示するようなバックプロパゲーションによる学習が繰り返し行なわれると、RNN1100からの出力が望ましい出力1102に近づく。そして、変換パラメータw0が適切に調整され、入力データ1101に対して望ましい出力データ1102(例えば、入力データ1101と同じ値の出力データ1102)が得られるようになる。
次に、図5に示す比較例を参照して、RNNオートエンコーダ1200を用いて、文章の圧縮表現を取得する手法について説明する。
例えば、図5に示すような3層のニューラルネットワークを有するRNNオートエンコーダ1200では、中間層1200bの数が、入力層1200a、及び、出力層1200cの数よりも少なくなるように構成される。なお、図5中の「RNNA1200」は、RNNA全体を指すものとする。また、図5中に複数のRNNA1200が示されているが、これらのRNNA1200は全て同一のRNNAである。すなわち、図5の例では、1つのRNNA1200に文章の要素が順次入力及び出力される様子を示すものである。
RNNオートエンコーダ1200において文章の学習が行なわれる場合も、図2と同様に、入力(入力層1200a)と出力(出力層1200c)に同じデータ、例えば、文章の各語句のベクトルをセットして学習が行なわれる。例えば、「彼は教師です。」という文章を学習する際、「彼」:[1,0,0,0],「は」:[0,1,0,0],「教師」:[0,0,1,0],「です」:[0,0,0,1]が、入力データ1201と出力データ1202とにそれぞれセットされる。
図5に示すように、学習を終えたRNNオートエンコーダ1200の中間層1200bには、学習された情報が圧縮されているので、中間層1200bの値を直接取得することができれば、圧縮された文章の情報が取得できることになる。
しかしながら、上述したようなRNNオートエンコーダ1200では、入力データ1201と出力データ1202に同じ値をセットして学習が行なわれるため、取得した文章の圧縮表現が表記の揺れによる誤差を受けやすい。このため、本来であれば意味が同じ日本語の文章であっても、異なる意味をもつものとして学習されてしまう。
そこで、一実施形態では、RNNオートエンコーダ1200による文章の特徴量、例えば圧縮表現を得る際の、言語の表記の揺れによる影響を軽減する手法について説明する。
〔1−2〕一実施形態に係る学習装置の機能構成例
一実施形態に係る学習装置1の機能構成例を図6に例示する。
図6に示すように、一実施形態に係る学習装置1は、例示的に、文章取得部11,ベクトル変換部12,入力データ設定部13,出力データ設定部14,学習部15,及びRNNオートエンコーダ16を備えてよい。また、一実施形態に係る学習装置1は、文章入力部17,圧縮表現取得部18,及びメモリ部19としての機能を備えてよい。
文章取得部11は、特徴量の取得対象である第1の文章と、当該第1の文章を翻訳して得られた第2の文章とを取得する。本実施形態では、第1の文章の一例としての日本語の文章と、第2の文章の一例としての、当該日本語の文章を英語で翻訳した文章(英語の翻訳文)とを取得するものとする。日本語の文章は、予めデータベース等の記憶装置に格納されているものであってもよいし、ユーザや管理者によって随時設定されるものであってもよい。ユーザや管理者によって随時設定される場合、後述するI/O部20eに含まれる、マウス、キーボード、タッチパネル、操作ボタン等の入力装置を用いて日本語の文章が入力されてもよい。また、英語の翻訳文は、日本語の文章を翻訳ツール等によって随時翻訳したものであってもよいし、対訳として、ユーザや管理者によって上記入力装置等を用いて任意に設定されるものであってもよい。或いは、予め日本語の文章の対訳としてデータベース等の記憶装置に格納されているものであってもよい。
ベクトル変換部12は、文章取得部11から入力される日本語の文章と英語の翻訳文とを受け取り、それぞれの文章について形態素解析を行ない、当該文章に出現する語句を抽出する。そして、抽出した各語句をベクトル化してよい。比較例では、ベクトル化の手法としてOne−hot(ワンホット)を取り上げたが、例えば、BoW(Bag of Words),word2vec等の手法が用いられてもよい。また、ベクトル変換部12は、後述する文章入力部17から入力される日本語の文章を受け取ってもよい。そして、ベクトル変換部12は、当該文章について形態素解析を行ない、当該文章に出現する語句を抽出し、抽出した各語句をベクトル化してよい。なお、ベクトル変換部12における上記単語抽出の機能を有する構成は、単語抽出部の一例である。また、ベクトル変換部12における上記ベクトル化(ベクトル変換)の機能を有する構成は、変換部の一例である。
入力データ設定部13は、ベクトル変換部12から入力される、日本語の文章のベクトルを受け取り、学習部15にRNNオートエンコーダ16への入力データとして設定させる。
出力データ設定部14は、ベクトル変換部12から入力される、英語の翻訳文のベクトルを受け取り、学習部15にRNNオートエンコーダ16への出力データとして設定させる。
学習部15は、学習装置1内部のRNNオートエンコーダ16に対して、入力データ設定部13から受け取る日本語の文章のベクトルを、RNNオートエンコーダ16の入力データにセットする。また、学習部15は、出力データ設定部14から受け取る英語の翻訳文のベクトルを、前記RNNオートエンコーダ16の出力データにセットする。これにより、学習部15は、上記のような入出力関係をRNNオートエンコーダ16に学習させる。
文章入力部17は、文章取得部11による日本語の文章の入力に代えて、文章を取得してもよい。ユーザが圧縮表現を取得したい日本語の文章の入力を受け取る。ユーザが、後述するI/O部20eに含まれる、マウス、キーボード、タッチパネル、操作ボタン等の入力装置を用いて日本語の文章を入力してもよいし、データベース等の記憶装置から日本語の文章を読み込んでもよい。文章入力部17は、ベクトル化のため、入力された日本語の文章をベクトル変換部12に送信する。
圧縮表現取得部18は、特徴量の取得対象の文章、例えば、ユーザが圧縮表現を取得したいと考える日本語の文章、のベクトルをベクトル変換部12から受け取る。また、圧縮表現取得部18は、受け取ったベクトルを学習部15によって学習された(学習済みの)RNNオートエンコーダ16の入力データにセットする。そして、圧縮表現取得部18は、前記RNNオートエンコーダ16の中間層16bから、文章の圧縮表現を取得する。圧縮表現取得部18は、取得した圧縮表現をデータベース等のメモリ部19に圧縮情報19aとして保存してもよいし、外部のソフトウェアやディスプレイ等に出力してもよい。なお、圧縮表現取得部18は、特徴量抽出部の一例である。
メモリ部19は、圧縮情報19a等の情報を記憶する。メモリ部19は、図7を用いて後述するコンピュータ20のメモリ20b又は記憶部20cが有する少なくとも一部の記憶領域により実現されてよい。なお、圧縮情報19aは、例えば、文章の分類や検索において、文章の類似度の算出に用いられてよい。
上記文章取得部11,入力データ設定部13,出力データ設定部14,及び学習部15は、上記学習装置1内部のRNNオートエンコーダ16を学習させるために機能する、学習フェーズの機能ブロックと位置付けられてよい。
一方、上記文章入力部17,圧縮表現取得部18は、上記RNNオートエンコーダ16を学習させた後に機能する、圧縮表現取得フェーズの機能ブロックと位置付けられてよい。なお、ベクトル変換部12は、学習フェーズ及び圧縮表現取得フェーズの双方において機能する機能ブロックと位置付けられてよい。
〔1−3〕一実施形態に係る学習装置のハードウェア構成例
一実施形態に係る学習装置1のハードウェア構成例を図7に示す。
図7に示すように、学習装置1の一例としてのコンピュータ20は、例示的に、プロセッサ20a、メモリ20b、記憶部20c、IF(Interface)部20d、I/O(Input / Output)部20e、及び読取部20fをそなえてよい。
プロセッサ20aは、種々の制御や演算を行なう演算処理装置の一例である。プロセッサ20aは、各ブロック20b〜20fとバス20iで相互に通信可能に接続されてよい。プロセッサ20aとしては、CPU、GPU、MPU、DSP、ASIC、PLD(例えばFPGA)等の集積回路(IC)が用いられてもよい。なお、CPUはCentral Processing Unitの略称であり、GPUはGraphics Processing Unitの略称であり、MPUはMicro Processing Unitの略称である。DSPはDigital Signal Processorの略称であり、ASICはApplication Specific Integrated Circuitの略称である。PLDはProgrammable Logic Deviceの略称であり、FPGAはField Programmable Gate Arrayの略称である。
メモリ20bは、種々のデータやプログラムを格納するハードウェアの一例である。メモリ20bとしては、揮発性メモリ、例えば、DRAM(Dynamic RAM)等のRAMが挙げられる。なお、RAMはRandom Access Memoryの略称である。
記憶部20cは、種々のデータやプログラム等を格納するハードウェアの一例である。例えば、記憶部20cは、コンピュータ20の二次記憶装置として使用されてよく、OS(Operating System)やファームウェア、アプリケーション等のプログラム、及び各種データが格納されてよい。記憶部20cとしては、例えば、HDD(Hard Disk Drive)等の磁気ディスク装置、SSD(Solid State Drive)等の半導体ドライブ装置、不揮発性メモリ等の各種記憶装置が挙げられる。不揮発性メモリとしては、例えば、フラッシュメモリ、SCM(Storage Class Memory)、ROM(Read Only Memory)等が挙げられる。記憶部20cは、コンピュータ20の各種機能の全部若しくは一部を実現するプログラム20gを格納してもよい。
IF部20dは、ネットワーク21を介して、他の装置との間の接続及び通信の制御等を行なう通信インタフェースの一例である。例えばIF部20dとしては、イーサネット(登録商標)、光通信(例えばFibre Channel)等に準拠したアダプタが挙げられる。なお、コンピュータ20は、管理者の管理端末との間の接続及び通信の制御等を行なう通信インタフェースをそなえてもよく、当該通信インタフェースを用いて、ネットワーク21からプログラム20gをダウンロードしてもよい。
I/O部20eは、例えば、マウス、キーボード、タッチパネル、操作ボタン等の入力装置、並びに、ディスプレイや、プロジェクタ、プリンタ等の出力装置の少なくとも一方を含んでよい。
読取部20fは、記録媒体20hに記録されたデータやプログラムを読み出しプロセッサ20aに出力するリーダの一例である。読取部20fは、記録媒体20hを接続又は挿入可能な接続端子又は装置を含んでもよい。読取部20fとしては、例えばUSB(Universal Serial Bus)等に準拠したアダプタ、記録ディスクへのアクセスを行なうドライブ装置、SDカード等のフラッシュメモリへのアクセスを行なうカードリーダ等が挙げられる。なお、記録媒体20hにはプログラム20g等が格納されてもよい。
記録媒体20hとしては、例示的に、磁気/光ディスクやフラッシュメモリ等の非一時的なコンピュータ読取可能な記録媒体が挙げられる。磁気/光ディスクとしては、例示的に、フレキシブルディスク、CD(Compact Disc)、DVD(Digital Versatile Disc)、ブルーレイディスク、HVD(Holographic Versatile Disc)等が挙げられる。フラッシュメモリとしては、例示的に、USBメモリやSDカード等の半導体メモリが挙げられる。なお、CDとしては、例示的に、CD−ROM、CD−R、CD−RW等が挙げられる。また、DVDとしては、例示的に、DVD−ROM、DVD−RAM、DVD−R、DVD−RW、DVD+R、DVD+RW等が挙げられる。
上述したコンピュータ20のハードウェア構成は例示である。従って、コンピュータ20内でのハードウェアの増減(例えば任意のブロックの追加や削除)、分割、任意の組み合わせでの統合、バスの追加又は省略等は適宜行なわれてもよい。
〔1−4〕一実施形態に係る入力文章テーブル
一実施形態に係る入力文章テーブル6を図8に示す。
本実施形態において、図6に示す文章取得部11は、日本語の文章と、当該文章の翻訳文(英語の翻訳文)とを受け取る。その際、受け取った日本語の文章と、英語の翻訳文とは、例えば、図8に示すようなテーブル形式でデータベース等の記憶装置に格納されてもよい。
図8に例示する入力文章テーブル6は、入力文章ID(Identification)61,文章62,分類63のフィールドを有するものとする。
入力文章ID61は,外部から読み込まれる入力文章を一意に特定するためのIDである。図8に示す例では、入力文章ID61が「input01」,「output01」等であることを示している。また、図8に示すように、本実施形態におけるRNNオートエンコーダ16の入力データの元となる日本語の文章については、入力文章ID61の先頭に“input”を付すものとする。さらに、RNNオートエンコーダ16の出力データの元となる英語の翻訳文については、入力文章ID61の先頭に“output”を付すものとする。
文章62は、入力された文章を格納する。ここでは、複数の文章が連続して入力された場合、文章取得部1において、1つの文章が1つの句点を有するように、複数の文章に分割するものとする。図8に示す例では、文章62が、「彼は先生です。」,「He is a teacher.」等であることを示している。
分類63は、当該文章62が日本語の文章である場合(例えば、入力文章ID61に「input」が含まれる場合)には「入力」を格納するものとする。一方、分類63は、当該文章62が英語の翻訳文である場合(例えば、入力文章ID61に「output」が含まれる場合)には「出力」を格納するものとする。
〔1−5〕一実施形態に係る語句テーブル
一実施形態に係る語句テーブル7を図9に示す。
本実施形態において、図6に示すベクトル変換部12は、文章取得部11、又は、後述する文章入力部17から入力される日本語の文章と英語の翻訳文とを受け取り、それぞれの文章について形態素解析を行ない、当該文章に出現する語句を抽出する。その際、抽出する語句は、例えば、図9に示すようなテーブル形式でデータベース等の記憶装置に格納されてもよい。
図9に例示する語句テーブル7は語句ID71,語句72,分類73のフィールドを有するものとする。
語句ID71は,その語句を一意に特定するためのIDである。図9に示す例では、語句ID71が「input01」,「output01」等であることを示している。また、図9に示すように、本実施形態におけるRNNオートエンコーダ16の入力データとなる日本語の語句については、語句ID71の先頭に“input”を付すものとする。さらに、RNNオートエンコーダ16の出力データとなる英語の語句については、語句ID71の先頭に“output”を付すものとする。
語句72は、ベクトル変換部12によって形態素解析された結果、抽出された語句を格納する。図9に示す例では、語句72が、「彼」,「は」,「先生」,「です」,「。」であったり、「He」,「is」,「a」,「teacher」,「.」であることを示している。
分類73は、当該語句72が日本語の語句である場合(例えば、語句ID71に「input」が含まれる場合)には「入力」を格納する。また、当該語句72が英語の翻訳文である場合(例えば、語句ID71に「output」が含まれる場合)には「出力」を格納するものとする。
〔1−6〕一実施形態に係るベクトルテーブル
一実施形態に係るベクトルテーブル8を図10に示す。
図10に例示するベクトルテーブル8は、語句81,ベクトル82のフィールドを有するものとする。
語句81は、ベクトル変換部12において、形態素解析により、日本語の文章と英語の翻訳文に出現する語句を抽出した結果得られた各語句を格納する。語句81に格納される値は、語句テーブル7の語句72に含まれる各語句に等しい。
ベクトル82は、ベクトル変換部12によって各語句82がベクトル化された結果得られたベクトルを格納する。図10に示す例では、語句81が「彼」の場合、ベクトル82が[1,0,0,0,0,0,0,0,0,0,0]であることを示している。ここでは、一例として、圧縮の手法としてOne−hot(ワンホット)を用いてベクトル化した場合を示している。また、上記ベクトルは一例にすぎず、その桁数は上記に限られない。
〔1−7〕一実施形態に係るRNNオートエンコーダを用いた文章の学習
次に、図11を用いて、本実施形態における、RNNオートエンコーダ16を用いた文章の学習について説明する。
図11は、本実施形態におけるRNNオートエンコーダ16における入出力例を示している。なお、図11中の「RNNA16」は、RNNA全体を指すものとする。また、図11中に複数のRNNA16が示されているが、これらのRNNA16は全て同一のRNNAである。すなわち、図11の例では、1つのRNNA16に文章の要素が順次入力及び出力される様子を示すものである。
RNNオートエンコーダ16への入力データ91は、ベクトル変換部12により、学習対象となる文章(日本語の文章)について形態素解析を行ない、当該文章に出現する語句を抽出し、抽出した各語句をベクトル化することにより求められる。図11の例では、「彼は教師です。」という文章をRNNオートエンコーダ16に学習させるために、ベクトル変換部12は、当該文章に対して形態素解析を行ない、当該文章に出現する語句である、「彼」,「は」,「教師」,「です」,「。」を抽出する。そして、ベクトル変換部12は、抽出した各語句をベクトル化する。例えば、ベクトル化の手法としてOne−hot(ワンホット)を用いると、図11に示すように、抽出された語句はそれぞれ、以下のようにベクトル化される。
「彼」 :[1,0,0,0,0,0,0,0,0,0,0],
「は」 :[0,1,0,0,0,0,0,0,0,0,0],
「教師」:[0,0,1,0,0,0,0,0,0,0,0],
「です」:[0,0,0,1,0,0,0,0,0,0,0],
「。」 :[0,0,0,0,1,0,0,0,0,0,0]
前述のようにして求められたベクトルは、図11に示すように、RNNオートエンコーダ16への入力データ91としてセットされる。次に、出力データの求め方を説明する。
本実施形態におけるRNNオートエンコーダ16への出力データ92は、ベクトル変換部12により、英語の翻訳文について形態素解析を行ない、当該文章に出現する語句を抽出し、抽出した各語句をベクトル化することにより求められる。図11の例では、「He is a teacher.」という文章が出力データ92となるようにRNNオートエンコーダ16に学習させるために、ベクトル変換部12は、当該文章に対して形態素解析を行なう。そして、ベクトル変換部12は、当該文章に出現する語句である、「He」,「is」,「a」,「teacher」,「.」を抽出し、抽出した各語句をベクトル化する。例えば、ベクトル化の手法としてOne−hot(ワンホット)を用いると、図11に示すように、抽出された語句はそれぞれ、以下のようにベクトル化される。
「He」 :[0,0,0,0,0,0,1,0,0,0,0],
「is」 :[0,0,0,0,0,0,0,1,0,0,0],
「a」 :[0,0,0,0,0,0,0,0,1,0,0],
「teacher」:[0,0,0,0,0,0,0,0,0,1,0],
「.」 :[0,0,0,0,0,0,0,0,0,0,1]
前述のようにして求められたベクトルは、図11に示すように、RNNオートエンコーダ16への出力データ92としてセットされる。
また、RNNオートエンコーダ16では、入力データ91と出力データ92とに異なる値をセットして学習が行なわれる。入力データ91のそれぞれは、B1、B2、…、B10(図11の実線で示す矢印B1〜B10参照)の順にRNNオートエンコーダ16に入力される。そして、RNNオートエンコーダ16の内部では、入力データ91に対して出力データ92が得られるように学習が行なわれる。また、図11の点線で示す矢印は、各入力データ91に対する出力を示しており、この出力等がRNNオートエンコーダ16の内部で受け渡されることにより学習が行なわれる(図11の太線で示す矢印参照)。
〔1−8〕一実施形態に係るRNNオートエンコーダにおける変換パラメータ
図12は、図11に示す一実施形態に係るRNNオートエンコーダ16のノードを一つ取り出して、バックプロパゲーションによる学習を例示したものである。
図12の例では、RNNオートエンコーダ16の入力データ91として、[1,0,0,0]がセットされると、初期状態の出力1102として、[0.7,0.3,−0.5,0.1]が得られることを示している。上述したように、RNNオートエンコーダ16において、学習前にはランダムな変換パラメータwa(初期値)により当該ニューラルネットワークが初期化される。そして、望ましい出力データである、[0,0,0,1]を得るべく、バックプロパゲーションにより、出力データ92と入力データ91との差分に基づき学習が繰り返し行なわれ、変換パラメータwaが適切に調整される。なお、望ましい出力データとは、本実施形態においては、例えば、「入力データ1101とは異なる値のデータ」が挙げられる。
このように、図12に例示するような学習が繰り返し行なわれることにより、望ましい入出力関係が学習される。学習の結果、変換パラメータwaが適切に調整され、入力データ91に対して望ましい出力データ92(入力データ91とは異なる値の出力データ92)が得られる。
図13は、一実施形態に係るRNNオートエンコーダ16における変換パラメータ(重み)102と出力データ103を例示する図である。
図13は、学習済みのRNNオートエンコーダ16において、入力層16aと中間層16bのうちの1つの入出力関係の一例を拡大して示したものである。RNNオートエンコーダ16において、入力層16aと中間層16bのうちの1つの入出力関係を学習することにより、入力層16aと中間層16bを繋ぐ枝について適切な変換パラメータ102が決定される。この拡大図では、RNNオートエンコーダ16において学習が繰り返し行なわれることにより、中間層16bの1つのノード16b1に対して、適切な変換パラメータ102(「w1」,「w2」,「w3」,「w4」)が得られたことを示している。
図13では、入力層16aに[1,0,0,0]という入力データ91がセットされ、入力層16aから[0.7,0.3,−0.5,0.1]というデータが出力される場合を示す。この場合、入力層16aからの出力は中間層16bへの入力データ101となる。中間層16bでは、上記各入力データ101に対して各枝の重みである変換パラメータ102が考慮されて、中間層16bのノード16b1に対する入力が行なわれる。その後、中間層16bのノード16b1の値「h」が考慮されて出力が行なわれる。例えば、中間層16bのノード16b1からの出力データ103は、{(0.7×w1)+(0.3×w2)+(−0.5×w3)+(0.1×w4)}×hで求められる。
〔1−9〕動作例
次に、上述の如く構成された学習装置1による学習フェーズ及び圧縮表現取得フェーズのそれぞれの動作例を説明する。
〔1−9−1〕一実施形態に係る学習処理のフローチャート
実施形態の一例としての学習装置1において、RNNオートエンコーダ16を学習させるための処理の一例を図14に示すフローチャート(ステップS1〜S8)に従って説明する。
ステップS1において、文章取得部11が学習対象となるすべての文章と、当該文章のすべての翻訳文を取得する。本実施形態では、文章取得部11が、日本語の文章と、当該日本語の文章を英語で翻訳した文章(英語の翻訳文)とを取得し、学習装置1に入力するものとする。文章取得部11は、文章と、当該文章の翻訳文とを取得する。本実施形態では、日本語の文章と、当該日本語の文章を英語で翻訳した文章(英語の翻訳文)とを取得するものとする。日本語の文章や英語の翻訳文は、上述のように、種々の態様で取得されてよい。
ステップS2において、ベクトル変換部12は、文章取得部11から入力される日本語の文章と英語の翻訳文とを受け取り、それぞれの文章について形態素解析を行なう。
ステップS3において、ベクトル変換部12は、形態素解析を行なった結果に基づき、当該文章に出現する語句を抽出する。そして、ベクトル変換部12は、抽出した各語句をベクトル化する。ここでは、ベクトル化の手法として、One−hot(ワンホット)、BoW(Bag of Words),word2vec等の手法が用いられてもよい。
ステップS4において、入力データ設定部13は、ベクトル変換部12から入力される、日本語の文章のベクトルを受け取り、学習部15に送信する。学習部15は、学習装置1内部のRNNオートエンコーダ16に対して、入力データ設定部13から受け取る日本語の文章のベクトルを、RNNオートエンコーダ16の入力データ91にセットする。
ステップS5において、出力データ設定部14は、ベクトル変換部12から入力される、英語の翻訳文のベクトルを受け取り、学習部15に送信する。学習部15は、出力データ設定部14から受け取る英語の翻訳文のベクトルを、前記RNNオートエンコーダ16の出力データ92にセットする。
ステップS6において、学習部15は、上記のような入力データ91と出力データ92との関係をRNNオートエンコーダ16に学習させる。
ステップS7において、学習部15は、RNNオートエンコーダ16が学習する文章がまだ残っているか否かを判定する。RNNオートエンコーダ16が学習する文章がまだ残っている場合には(ステップS7でYes)、学習部15は、RNNオートエンコーダ16に対して、入力データ設定部13における入力データ91のセット(ステップS4)を繰り返すよう制御する。RNNオートエンコーダ16が学習する文章が残っていない場合には(ステップS7でNo)、処理がステップS8に移行する。
ステップS8において、学習部15は、RNNオートエンコーダ16の学習が収束したか否かを判定する。RNNオートエンコーダ16の学習が収束したと判断した場合(ステップS8でYes)、RNNオートエンコーダ16の学習処理を終了するよう制御し、処理が終了する。学習部15は、RNNオートエンコーダ16の学習が収束していないと判断した場合(ステップS8でNo)、RNNオートエンコーダ16の学習処理(ステップS1〜S7)を繰り返すよう制御する。
以上のようにして、本実施形態の学習装置1では、内部のRNNオートエンコーダ16が、図14に示す処理を経て、入力データ91(日本語の文章)とは表記が異なるが意味を同じくする出力データ92(英語の翻訳文)との入出力関係を学習する。このような学習が行なわれることにより、RNNオートエンコーダ16内部の変換パラメータ102を最適な値に設定することができる。
〔1−9−2〕一実施形態に係る圧縮表現取得処理を説明するためのフローチャート
実施形態の一例としての学習装置1において、図14に示す学習処理を経て学習済みとなったRNNオートエンコーダ16を用いて、圧縮表現を取得するための処理の一例を図15に示すフローチャート(ステップS11〜S15)に従って説明する。
ステップS11において、文章入力部17は、ユーザが圧縮表現を取得したい日本語の文章、換言すれば、特徴量の取得対象となる文章の入力を受け取る。ユーザは、I/O部20eに含まれる、マウス、キーボード、タッチパネル、操作ボタン等の入力装置を用いて日本語の文章を入力してもよいし、データベース等の記憶装置から日本語の文章を読み込んでもよい。
ステップS12において、ベクトル変換部12は、ステップS11において文章入力部17によって取得された日本語の文章を受け取り、当該文章について形態素解析を行ない、文章中に出現する語句を抽出する。
ステップS13において、ベクトル変換部12は、ステップS12において抽出した各語句をベクトル化する。
ステップS14において、入力データ設定部13は、ユーザが圧縮表現を取得したいと考える日本語の文章のベクトルをベクトル変換部12から受け取り、学習部15によって学習された(学習済みの)RNNオートエンコーダ16の入力データ91にセットする。
ステップS15において、圧縮表現取得部18は、学習済みのRNNオートエンコーダ16の中間層16bから、文章の圧縮表現を取得し、処理が終了する。なお、圧縮表現取得部18は、取得した圧縮表現をデータベース等の記憶装置に保存してもよいし、外部のソフトウェアやディスプレイ等に出力してもよい。
以上のように、本実施形態に係る学習装置1によれば、受け付けた文章に含まれる単語の意味に応じた変換パラメータを生成できる。また、第2の文章として、単語ごとの翻訳ではなく、入力側の文章の翻訳文が用いられるため、翻訳文に含まれる各単語の意味を特定することができる。
したがって、RNNオートエンコーダ16による言語の文章の特徴量を得る際の、言語の表記の揺れによる影響を軽減できる。これにより、文章の分類や検索などの自然言語処理のタスクの精度を向上させることができる。
また、本実施形態の学習装置1の内部には、ニューラルネットワークとしてRNNオートエンコーダ16を用いるので、中間層16bの数が入力層16aの数よりも少なくて済む。したがって、図14に示すような処理を行なうことにより、所望の入力データ91に対する圧縮表現が得られることになる。
さらに、学習装置1では、変換パラメータ102が最適に設定されたRNNオートエンコーダ16を用いることにより、入力データ91(日本語の文章)とは表記が異なるが意味を同じくする出力データ92(英語の翻訳文)を取得することもできる。
〔2〕その他
上述した一実施形態に係る技術は、以下のように変形、変更して実施することができる。
上述した一実施形態では、RNNオートエンコーダ16に対して、日本語の文章を入力データ91とし、英語の翻訳文を出力データ92としたが、これに限定されるものではない。
第1の言語としては、学習装置1のユーザが使用する言語、換言すれば、特徴量の取得対象である文章の記述言語が選択されてよい。なお、第2の言語との関係では、第1の言語は、第2の言語よりも表記の揺れが大きい言語、例えば、特定の意味を表す表記が複数存在する(語彙が多い)言語が選択されてよい。
また、第2の言語としては、第1の言語よりも、表記の揺れが小さい言語、例えば、当該特定の意味を表す表記が少ない(語彙が少ない)言語が選択されてよい。なお、第2の言語は、特徴量の取得対象となる文章の分野に応じて選択されてもよい。例えば、言語全体ではなく、特定の分野ごとに言語の表記の揺れの大小が判断されてもよい。
したがって、一実施形態における第1の言語及び第2の言語(RNNエンコーダ16への入出力データ)の組み合わせは、逆であってもよいし、日本語や英語以外の言語の組み合わせであってもよい。
上述した一実施形態では、RNNオートエンコーダ16に対して、外部から読み込む学習対象は文章としたが、語句や語句のベクトルを外部から読み込むものとしてもよい。語句を読み込む場合には、語句に対するベクトルがRNNオートエンコーダ16への入力データ91となる。
また、ベクトル変換部12における形態素解析とベクトル化の処理は、それぞれ分散して別の構成において実行されてもよい。
さらに、入力データ設定部13と、出力データ設定部14とを統合してもよい。
上述した一実施形態では、圧縮表現取得部18を文章取得部11とは別の構成としたが、文章取得部11において、圧縮表現取得部18における処理を実行してもよい。
また、上述した一実施形態では、学習機械としてRNNオートエンコーダ16を用いたが、中間層16bの数が入力層16aの数よりも少ないニューラルネットワークでも適用可能である。
〔3〕付記
以上の実施形態に関し、さらに以下の付記を開示する。
(付記1)
第1の言語で記述された第1の文章と、前記第1の文章を翻訳して得られた第2の文章と、を受け付け、
受け付けた前記第1の文章に含まれる各単語を、前記第2の文章に含まれる単語のうち、前記各単語に対応する単語に変換する変換パラメータを機械学習により学習する、
処理をコンピュータに実行させることを特徴とする学習プログラム。
(付記2)
受け付けた前記第1の文章及び前記第2の文章に対して形態素解析を行ない、前記第1の文章及び前記第2の文章に含まれる各単語を抽出し、
抽出した前記単語に基づき前記変換パラメータを学習する、
処理を前記コンピュータに実行させることを特徴とする、付記1記載の学習プログラム。
(付記3)
抽出した前記単語をベクトル化して、各単語のベクトルを取得し、
取得した前記ベクトルに基づき前記変換パラメータを学習する、
処理を前記コンピュータに実行させることを特徴とする、付記2記載の学習プログラム。
(付記4)
前記第1の文章から抽出した単語のベクトルを入力とし、前記第2の文章から抽出した単語のベクトルが前記入力に対する出力となるように前記変換パラメータを学習する、
処理を前記コンピュータに実行させることを特徴とする、付記3記載の学習プログラム。
(付記5)
学習した前記変換パラメータに基づき、前記第1の文章の特徴量を抽出する、
処理を前記コンピュータに実行させることを特徴とする、付記1〜4のいずれか1項記載の学習プログラム。
(付記6)
第1の言語で記述された第1の文章と、前記第1の文章を翻訳して得られた第2の文章と、を受け付け、
受け付けた前記第1の文章に含まれる各単語を、前記第2の文章に含まれる単語のうち、前記各単語に対応する単語に変換する変換パラメータを機械学習により学習する、
ことを特徴とする学習方法。
(付記7)
受け付けた前記第1の文章及び前記第2の文章に対して形態素解析を行ない、前記第1の文章及び前記第2の文章に含まれる各単語を抽出し、
抽出した前記単語に基づき前記変換パラメータを学習する、
ことを特徴とする、付記6記載の学習方法。
(付記8)
抽出した前記単語をベクトル化して、各単語のベクトルを取得し、
取得した前記ベクトルに基づき前記変換パラメータを学習する、
ことを特徴とする、付記7記載の学習方法。
(付記9)
前記第1の文章から抽出した単語のベクトルを入力とし、前記第2の文章から抽出した単語のベクトルが前記入力に対する出力となるように前記変換パラメータを学習する、
ことを特徴とする、付記8記載の学習方法。
(付記10)
学習した前記変換パラメータに基づき、前記第1の文章の特徴量を抽出する、
ことを特徴とする、付記6〜9のいずれか1項記載の学習方法。
(付記11)
第1の言語で記述された第1の文章と、前記第1の文章を翻訳して得られた第2の文章と、を受け付ける文章取得部と、
受け付けた前記第1の文章に含まれる各単語を、前記第2の文章に含まれる単語のうち、前記各単語に対応する単語に変換する変換パラメータを機械学習により学習する学習部と、をそなえる
ことを特徴とする、学習装置。
(付記12)
受け付けた前記第1の文章及び前記第2の文章に対して形態素解析を行ない、前記第1の文章及び前記第2の文章に含まれる各単語を抽出する単語抽出部をそなえ、
前記学習部は、抽出した前記単語に基づき前記変換パラメータを学習する、
ことを特徴とする、付記11記載の学習装置。
(付記13)
抽出した前記単語をベクトル化して、各単語のベクトルを取得する変換部をそなえ、
前記学習部は、取得した前記ベクトルに基づき前記変換パラメータを学習する、
ことを特徴とする、付記12記載の学習装置。
(付記14)
前記学習部は、前記第1の文章から抽出した単語のベクトルを入力とし、前記第2の文章から抽出した単語のベクトルが前記入力に対する出力となるように前記変換パラメータを学習する、
ことを特徴とする、付記13記載の学習装置。
(付記15)
学習した前記変換パラメータに基づき、前記第1の文章の特徴量を抽出する特徴量抽出部、をそなえる
ことを特徴とする、付記11〜14のいずれか1項記載の学習装置。
(付記16)
第1の言語で記述された第1の文章と、前記第1の文章を翻訳して得られた第2の文章と、を受け付け、
受け付けた前記第1の文章に含まれる各単語を、前記第2の文章に含まれる単語のうち、前記各単語に対応する単語に変換する変換パラメータを生成する、
ことを特徴とする変換パラメータ製造方法。
(付記17)
受け付けた前記第1の文章及び前記第2の文章に対して形態素解析を行ない、前記第1の文章及び前記第2の文章に含まれる各単語を抽出し、
抽出した前記単語に基づき前記変換パラメータを生成する、
ことを特徴とする、付記16記載の変換パラメータ製造方法。
(付記18)
抽出した前記単語をベクトル化して、各単語のベクトルを取得し、
取得した前記ベクトルに基づき前記変換パラメータを生成する、
ことを特徴とする、付記17記載の変換パラメータ製造方法。
(付記19)
前記第1の文章から抽出した単語のベクトルを入力とし、前記第2の文章から抽出した単語のベクトルが前記入力に対する出力となるように前記変換パラメータを生成する、
ことを特徴とする、付記18記載の変換パラメータ製造方法。
(付記20)
生成した前記変換パラメータに基づき、前記第1の文章の特徴量を抽出する、
ことを特徴とする、付記16〜19のいずれか1項記載の変換パラメータ製造方法。
1 学習装置
11 文章取得部
12 ベクトル変換部
13 入力データ設定部
14 出力データ設定部
15 学習部
16 RNNオートエンコーダ
16a 入力層
16b 中間層
16b1 中間層のノード
16c 出力層
17 文章入力部
18 圧縮表現取得部
19 メモリ部
20 コンピュータ
20a プロセッサ
20b メモリ
20c 記憶部
20d IF部
20e I/O部
20f 読取部
6 入力文章テーブル
61 入力文章ID
62 文章
63 分類
7 語句テーブル
71 語句ID
72 語句
73 分類
8 ベクトルテーブル
81 語句
82 ベクトル
91 入力データ
92 出力データ
101 入力データ
102 変換パラメータ
103 出力データ

Claims (7)

  1. 第1の言語で記述された第1の文章を取得し、
    前記第1の言語で記述されそれぞれが異なる単語を含む第2の文章と第3の文章とのそれぞれに対して、前記第2の文章と前記第3の文章とに対応する翻訳文である第2の言語で記述された第4の文章がラベル付けされた訓練データを用いた機械学習により生成された機械学習モデルのパラメータに基づいて、前記第1の文章を表すベクトルを生成する
    処理をコンピュータに実行させる、生成プログラム。
  2. 前記機械学習の処理は、
    前記第の文章及び前記第の文章のそれぞれと前記第4の文章とに対して形態素解析を行ない、前記第の文章及び前記第の文章のそれぞれと前記第4の文章とに含まれる各単語を抽出し、
    抽出した前記単語に基づき前記パラメータを学習する、
    処理を含む、請求項1記載の生成プログラム。
  3. 前記機械学習の処理は、
    抽出した前記単語をベクトル化して、各単語のベクトルを取得し、
    取得した前記ベクトルに基づき前記パラメータを学習する、
    処理を含む、請求項2記載の生成プログラム。
  4. 前記機械学習の処理は、
    前記第の文章から抽出した単語のベクトル、及び、前記第3の文章から抽出した単語のベクトルのそれぞれを入力とし、前記第の文章から抽出した単語のベクトルが前記入力のそれぞれに対する出力となるように前記パラメータを学習する、
    処理を含む、請求項3記載の生成プログラム。
  5. 第1の言語で記述された第1の文章を取得し、
    前記第1の言語で記述されそれぞれが異なる単語を含む第2の文章と第3の文章とのそれぞれに対して、前記第2の文章と前記第3の文章とに対応する翻訳文である第2の言語で記述された第4の文章がラベル付けされた訓練データを用いた機械学習により生成された機械学習モデルのパラメータに基づいて、前記第1の文章を表すベクトルを生成する
    処理をコンピュータが実行する、生成方法。
  6. 第1の言語で記述された第1の文章を取得し、
    前記第1の言語で記述されそれぞれが異なる単語を含む第2の文章と第3の文章とのそれぞれに対して、前記第2の文章と前記第3の文章とに対応する翻訳文である第2の言語で記述された第4の文章がラベル付けされた訓練データを用いた機械学習により生成された機械学習モデルのパラメータに基づいて、前記第1の文章を表すベクトルを生成する、
    制御部、をそなえる生成装置。
  7. 第1の言語で記述された第1の文章を表すベクトルを生成する機械学習モデルのパラメータを生成するための機械学習において、前記第1の言語で記述されそれぞれが異なる単語を含む第2の文章と第3の文章とのそれぞれに対して、前記第2の文章と前記第3の文章とに対応する翻訳文である第2の言語で記述された第4の文章がラベル付けされた訓練データを用いた前記機械学習により、前記機械学習モデルの前記パラメータを生成する、
    処理をコンピュータが実行する、パラメータ生成方法。
JP2017097442A 2017-05-16 2017-05-16 生成プログラム、生成方法、生成装置、及びパラメータ生成方法 Active JP6957967B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017097442A JP6957967B2 (ja) 2017-05-16 2017-05-16 生成プログラム、生成方法、生成装置、及びパラメータ生成方法
US15/967,653 US10614160B2 (en) 2017-05-16 2018-05-01 Computer-readable recording medium recording learning program, learning method, and learning apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017097442A JP6957967B2 (ja) 2017-05-16 2017-05-16 生成プログラム、生成方法、生成装置、及びパラメータ生成方法

Publications (2)

Publication Number Publication Date
JP2018195012A JP2018195012A (ja) 2018-12-06
JP6957967B2 true JP6957967B2 (ja) 2021-11-02

Family

ID=64272410

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017097442A Active JP6957967B2 (ja) 2017-05-16 2017-05-16 生成プログラム、生成方法、生成装置、及びパラメータ生成方法

Country Status (2)

Country Link
US (1) US10614160B2 (ja)
JP (1) JP6957967B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6957967B2 (ja) * 2017-05-16 2021-11-02 富士通株式会社 生成プログラム、生成方法、生成装置、及びパラメータ生成方法
KR20190019748A (ko) * 2017-08-18 2019-02-27 삼성전자주식회사 자연어 생성 방법 및 장치
US11250221B2 (en) * 2019-03-14 2022-02-15 Sap Se Learning system for contextual interpretation of Japanese words
JP2020154514A (ja) * 2019-03-19 2020-09-24 株式会社エヌ・ティ・ティ・データ 学習装置、学習方法、検索装置、検索方法及びプログラム
JP6913706B2 (ja) * 2019-04-19 2021-08-04 株式会社サイトビジット 試験問題予測システム及び試験問題予測方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0496570B1 (en) 1991-01-22 1998-06-03 Honeywell Inc. Two-level system identifier apparatus with optimization
JPH07191967A (ja) 1993-11-22 1995-07-28 Toshiba Corp 関数近似装置及び電力需要予測装置
JPH08221378A (ja) 1995-02-10 1996-08-30 Ricoh Co Ltd 学習機械
US8504361B2 (en) * 2008-02-07 2013-08-06 Nec Laboratories America, Inc. Deep neural networks and methods for using same
US8977537B2 (en) * 2011-06-24 2015-03-10 Microsoft Technology Licensing, Llc Hierarchical models for language modeling
JP6312467B2 (ja) * 2014-03-04 2018-04-18 株式会社デンソーアイティーラボラトリ 情報処理装置、情報処理方法、およびプログラム
US10140581B1 (en) * 2014-12-22 2018-11-27 Amazon Technologies, Inc. Conditional random field model compression
CN105824797B (zh) * 2015-01-04 2019-11-12 华为技术有限公司 一种评价语义相似度的方法、装置和系统
JP6343582B2 (ja) * 2015-04-09 2018-06-13 日本電信電話株式会社 言語モデル生成装置、方法及びプログラム
CN106484682B (zh) * 2015-08-25 2019-06-25 阿里巴巴集团控股有限公司 基于统计的机器翻译方法、装置及电子设备
JP2017199363A (ja) * 2016-04-21 2017-11-02 国立研究開発法人情報通信研究機構 機械翻訳装置及び機械翻訳のためのコンピュータプログラム
US20170308526A1 (en) * 2016-04-21 2017-10-26 National Institute Of Information And Communications Technology Compcuter Implemented machine translation apparatus and machine translation method
JP6957967B2 (ja) * 2017-05-16 2021-11-02 富士通株式会社 生成プログラム、生成方法、生成装置、及びパラメータ生成方法

Also Published As

Publication number Publication date
JP2018195012A (ja) 2018-12-06
US10614160B2 (en) 2020-04-07
US20180336179A1 (en) 2018-11-22

Similar Documents

Publication Publication Date Title
JP6957967B2 (ja) 生成プログラム、生成方法、生成装置、及びパラメータ生成方法
US11132512B2 (en) Multi-perspective, multi-task neural network model for matching text to program code
US8768704B1 (en) Methods and systems for automated generation of nativized multi-lingual lexicons
US20210124876A1 (en) Evaluating the Factual Consistency of Abstractive Text Summarization
Bjerva et al. From phonology to syntax: Unsupervised linguistic typology at different levels with language embeddings
CN110727765A (zh) 基于多注意力机制的问题分类方法、系统及存储介质
CN110895928A (zh) 语音识别方法和设备
KR102461295B1 (ko) 생의학적 개체명 정규화 방법
CN112784009A (zh) 一种主题词挖掘方法、装置、电子设备及存储介质
CN112581327A (zh) 基于知识图谱的法律推荐方法、装置和电子设备
CN115861995A (zh) 一种视觉问答方法、装置及电子设备和存储介质
JP6556381B2 (ja) モデル学習装置及びモデル学習方法
JP2011227749A (ja) 略語完全語復元装置とその方法と、プログラム
US20090063127A1 (en) Apparatus, method, and computer program product for creating data for learning word translation
Bharti et al. Automated speech to sign language conversion using Google API and NLP
Hamooni et al. Phoneme sequence recognition via DTW-based classification
KR101983477B1 (ko) 단락 기반 핵심 개체 식별을 이용한 한국어 주어의 생략 성분 복원 방법 및 시스템
Jenckel et al. Transcription free lstm ocr model evaluation
KR20230093765A (ko) 코퍼스를 활용하여 사전 학습된 신경망을 이용한 자연어 처리 모델의 전이 학습 방법
Baranwal et al. Improved Mispronunciation detection system using a hybrid CTC-ATT based approach for L2 English speakers
WO2018066083A1 (ja) 学習プログラム、情報処理装置および学習方法
Manenti et al. Unsupervised speech unit discovery using k-means and neural networks
Sobhy et al. An AI Based Automatic Translator for Ancient Hieroglyphic Language-From Scanned Images to English Text
Vidra Morphological segmentation of Czech words
JP2019021206A (ja) 学習装置、プログラムパラメータ、学習方法およびモデル

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20190607

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200213

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201208

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210202

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210920

R150 Certificate of patent or registration of utility model

Ref document number: 6957967

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150