以下、図面とともに本発明の実施形態に係るデータ生成装置1について詳細に説明する。なお、図面の説明においては同一要素には同一符号を付し、重複する説明を省略する。また、以下の説明における実施形態は、本発明の具体例であり、特に本発明を限定する旨の記載がない限り、これらの実施形態に限定されないものとする。
まず図1〜9を用いて、背景技術及びデータ生成装置1を着想した背景について説明する。
図1は、ニューラルネットワーク(Neural Network:NN)を表現する図である。図1(a)及び図1(b)は、ニューラルネットワークを表現する際によく使われる図である。図1(a)と図1(b)とは同じニューラルネットワークを示している。図1(a)は、順伝搬ニューラルネットワークであり、入力は順に、4次元ベクトルの入力層、3次元ベクトルの中間層、4次元ベクトルの出力層に伝搬される。同様に、図1(b)は、順伝搬ニューラルネットワークであり、入力は順に、4次元ユニットの入力層、3次元ユニットの中間層、4次元ユニットの出力層に伝搬される。本実施形態では、図1(a)のように、ある層のユニットを長方形の箱(ベクトル)を用いて表現するものとする。なお次元数は任意であり、本実施形態では50,000次元などの高次元を扱うことを想定しているが、これに限るものではない。
再帰構造を持つニューラルネットワークをリカレント(再帰)ニューラルネットワーク(Recurrent Neural Network:RNN)と呼ぶ。図2は、リカレントニューラルネットワークを表現する図である。図2に示す通り、リカレントニューラルネットワークは、中間層が再帰結合されている構成を備える。リカレントニューラルネットワークは、可変長の入力を受け付けることができ、時系列情報をモデル化することができるため、自然言語処理及び音声認識等でよく使われる。
言語モデル(Language Model:LM)について説明する。言語モデルとは、テキスト(文章、単語列)に対して、確率を付与する確率モデルである。言語モデルは、良い(文として成り立つ)テキストには高い確率を付与し、悪い(文として成り立たない)テキストには低い確率を付与する(ように適応化する)。良いテキストとは、適切なテキスト、適確なテキスト、自然なテキスト、妥当なテキスト、適当なテキスト及び相応しいテキストと読み替えることができる。一方、悪いテキストとは、不適切なテキスト、不適確なテキスト、不自然なテキスト、妥当ではないテキスト、適当ではないテキスト及び相応しくないテキストと読み替えることができる。良いテキストの一例として「昨日渋谷に行って、買い物した。欲しかったスニーカーを買えたので嬉しかった。」が挙げられる。一方、悪いテキストの一例として「買い物した昨日行って、。欲しかった嬉しかったスニーカーを渋谷に買えたので。」が挙げられる。なお、テキストの良し悪しを表す確率は、言語モデルの機械学習用の学習データに含まれるテキストに依存する。
リカレントニューラルネットワーク言語モデルについて説明する。リカレントニューラルネットワーク言語モデルとは、リカレントニューラルネットワークでモデル化した言語モデルである。リカレントニューラルネットワーク言語モデルは、再帰構造を備えるため、1つ前の単語(形態素解析などにより単語分割したテキストにおいて着目している単語の1つ前の単語)を考慮しながら次の単語の確率を計算することができる。また、文中の単語を1つずつ入力及び出力を繰り返すことでテキストを生成することができる。図3〜5を用いて、リカレントニューラルネットワーク言語モデルを使ってテキスト「昨日|渋谷|に|行っ|て|、|買い物|し|た|。」に確率を付与する事例を説明する。なお、テキスト中の「|」は、形態素解析などにより単語分割されている箇所を示す。
図3〜5は、リカレントニューラルネットワーク言語モデルの適用事例を説明する図である。具体的には、図3は、リカレントニューラルネットワーク言語モデルの入力層に、テキストの最初であることを示す「<BOS>」(Beginning Of Sentence:BOS)を入力した際に、「<BOS>」の次に「昨日」が来る確率を算出する場面を示す図である。なお、入力層に単語を入力するとは、具体的には、入力層に当該単語に対応する単語ベクトルを入力するなど、一般的な言語モデルで採用されている所定の処理を行ったデータを入力することを意味し、以降の入力層に関する説明でも同様であり、以降では説明を省略する。図3に示す通り、出力層からは語彙数(出力層のベクトルの次元数)の単語及び当該単語の確率(出現確率)が出力される。なお、出力層ではSoftmax関数など一般的な言語モデルで採用されている所定の処理を用いて適宜確率が算出されるものであり、以降の出力層に関する説明でも同様であり、以降では説明を省略する。具体的には、図3に示す通り、出力層からは、次に「渋谷」が来る(出現する)確率として「0.03」、次に「品川」が来る確率として「0.01」、次に「行っ」が来る確率として「0.02」、次に「買い物」が来る確率として「0.1」、…、次に「昨日」が来る確率として「0.4」及び次に「今日」が来る確率として「0.3」が算出される。すなわち、「<BOS>」の次に「昨日」が来る確率は「0.4」である。
図4は、リカレントニューラルネットワーク言語モデルの入力層に、1つ前の単語「昨日」を入力した際に、「<BOS>昨日」の次に「渋谷」が来る確率を算出する場面を示す図である。図4に示す通り、2つ前の単語「<BOS>」は中間層で再帰的に適用される(「<BOS>」も考慮される)。図4に示す通り、出力層からは、次に「渋谷」が来る確率として「0.3」、次に「品川」が来る確率として「0.2」、次に「行っ」が来る確率として「0.01」、次に「買い物」が来る確率として「0.1」、…、次に「昨日」が来る確率として「0.01」及び次に「今日」が来る確率として「0.01」が算出される。すなわち、「<BOS>昨日」の次に「渋谷」が来る確率は「0.3」である。なお、「<BOS>昨日昨日」という文は不自然なので、「<BOS>昨日」の次に「昨日」が来る確率は「0.01」と低くなる。
図5は、リカレントニューラルネットワーク言語モデルの入力層に、1つ前の単語「渋谷」を入力した際に、「<BOS>昨日渋谷」の次に「に」が来る確率を算出する場面を示す図である。以降はテキストの最後の単語まで図3及び図4と同様の処理が繰り返し行われる。
図6は、時間方向に展開したリカレントニューラルネットワーク言語モデルを表現する図である。図6のように、リカレントニューラルネットワーク言語モデルを時間方向に展開した図がよく使われる。図7は、時間方向に展開したリカレントニューラルネットワーク言語モデルの適用事例を説明する図である。具体的には、図7は、時間方向に展開したリカレントニューラルネットワーク言語モデルの入力層に、テキスト「<BOS>|昨日|渋谷|に|行っ|て|、|買い物|し|た|。」の各単語を各時刻(「t=0」から「t=10」)に順に入力した場面を示す図である。各時刻の出力は、次の時刻の入力に使われる。時間方向に展開したリカレントニューラルネットワーク言語モデルでは、各単語に確率が付与されるので、テキストの確率を算出することができる。
双方向リカレントニューラルネットワーク言語モデル(Bi−RNNLM)について説明する。双方向リカレントニューラルネットワーク言語モデルは、順方向リカレントニューラルネットワーク言語モデルと逆方向リカレントニューラルネットワーク言語モデルとを備える。順方向リカレントニューラルネットワーク言語モデルは、文の先頭から末尾に向けて順に単語を生成(予測)する言語モデルである。一方、逆方向リカレントニューラルネットワーク言語モデルは、文の末尾から先頭に向けて順に単語を生成(予測)する言語モデルである。図8は、双方向リカレントニューラルネットワーク言語モデルの適用事例を説明する図である。図8は、入力文「鼻|が|詰まっ|て|いる|の|です|が|、|点鼻薬|は|あり|ます|か|?」を順方向リカレントニューラルネットワーク言語モデル及び逆方向リカレントニューラルネットワーク言語モデルに適用した場面を示す図である(語彙数は50,000)。例えば、順方向リカレントニューラルネットワーク言語モデルに適用した結果、「鼻|が」の次の単語の確率分布(出現確率)として、「鳴ら」が「0.001」、「つる」が「0.002」、…、「かすみ」が「0.003」及び「痺れ」が「0.024」として算出されている。同様に、逆方向リカレントニューラルネットワーク言語モデルに適用した結果、「?|か|ます|…|いる|て」の次の単語の確率分布(出現確率)として、「鳴ら」が「0.0008」、「つる」が「0.0009」、…、「かすみ」が「0.0012」及び「痺れ」が「0.032」として算出されている。
上述の各種言語モデルを用いることで、例えば次の単語の確率分布に基づいて単語を置換し、元のテキスト(原文)から新しいテキスト(生成文)を生成することができる。しかしながら問題点がある。例えば元のテキスト「この指輪は天然の真珠を使用しております」について、単語「真珠」を単語「手打ち麺」に置換した場合、新しいテキストは「この指輪は天然の手打ち麺を使用しております」となる。元のテキストは小売ドメインのテキストだったにも関わらず、新しいテキストには小売ドメインとは関係無い単語が出てくる。すなわちテキストとして不自然なものとなる。ここでドメインとは、領域、分野、定義域などのことである。例えば小売ドメインのテキストは、小売のドメインでよく利用される単語及び表現(小売のドメインっぽい単語及び表現)などを含むテキストのことを示す。
上述の問題点を解消するために、ドメインの制約を付けたドメイン制約付き双方向リカレントニューラルネットワーク言語モデルを用いることが考えられる。図9は、ドメイン制約付き双方向リカレントニューラルネットワーク言語モデルの適用事例を説明する図である。図9に示す通り、入力文「鼻|が|詰まっ|て|いる|の|です|が|…」を単語(単語ベクトル)ごとに入力層に入力する際に、ドメインを示すドメイン情報(ドメインベクトル)もあわせて入力する。すなわち、単語ベクトル入力時にドメイン情報を付与する。なお、言語モデルの学習時には、ドメイン情報付きのコーパスを用いて学習するものとする。これにより、例えば元のテキスト「この指輪は天然の真珠を使用しております」について、入力時に小売ドメインを示すドメイン情報が付与されることで、単語「真珠」が(小売ドメインでよく用いられる)単語「ファー」に置換され、新しいテキストは「この指輪は天然のファーを使用しております」となる。すなわち、元のドメインに関係した単語が候補になりやすくなる。
ここで発想を転換して、テキストのドメインの変換に、言語モデルに対するドメイン情報の付与が利用できるのではないか、という着想に基づいて本発明がなされた。例えば、小売ドメインのテキスト「この指輪は天然の真珠を使用しております」について、飲食ドメインを示すドメイン情報を付与することで、単語「指輪」を飲食ドメインの単語「つけ麺」に置換し、単語「天然」を飲食ドメインの単語「自家製」に置換し、単語「真珠」を飲食ドメインの単語「手打ち麺」に置換することで(変換後のテキストがより自然になるよう複数の単語を置換する)、飲食ドメインのテキスト「このつけ麺は自家製の手打ち麺を使用しております」に変換することができる。これにより、新しいドメインのより自然なテキストを生成することができる。
以上が、背景技術及びデータ生成装置1を着想した背景についての説明である。
図10は、データ生成装置1の機能ブロック図である。図10に示す通り、データ生成装置1は、言語モデル生成部10(生成部)、言語モデル格納部11(格納部)、テキスト取得部12(取得部)、テキスト置換部13(置換部)及びテキスト出力部14(出力部)を含んで構成される。データ生成装置1は、サーバなどのコンピュータ装置である。データ生成装置1は、一のドメインである出発ドメインのテキストを、出発ドメインとは異なるドメインである目的ドメインのテキストへ変換する。以下、図10に示すデータ生成装置1の各機能ブロックについて説明する。
言語モデル生成部10は、機械学習用の目的ドメインのテキスト(コーパス)と目的ドメインを示す目的ドメイン情報とに基づく機械学習を行って学習済みモデルを生成する。機械学習は一般的な技術を用いる。より具体的には、言語モデル生成部10は、順方向リカレントニューラルネットワークと逆方向リカレントニューラルネットワークとを備える双方向リカレントニューラルネットワークの入力層に、データ生成装置1の管理者及びユーザなどから入力された目的ドメインのテキストの各単語に対応する単語ベクトルと当該目的ドメインを示す目的ドメイン情報(目的ドメインベクトル)とを入力することで、双方向リカレントニューラルネットワーク言語モデルである学習済みモデルを生成する。なお、学習済みモデルは、双方向リカレントニューラルネットワーク言語モデルに限るものではなく、片方向のリカレントニューラルネットワーク言語モデル及びその他のニューラルネットワークに基づく言語モデルであってもよい。なお、言語モデル生成部10が生成する学習済みモデルは、目的ドメインのテキストと当該目的ドメインを示す目的ドメイン情報とに基づく言語モデルに限らず、出発ドメインのテキストなどの任意のドメインのテキストと、当該出発ドメインを示す出発ドメイン情報などの当該任意のドメインを示すドメイン情報とに基づく学習済みモデルも生成してもよい。言語モデル生成部10による言語モデルの生成は、学習フェーズである。
学習済みモデルは、コンピュータプログラムとパラメータとの組み合わせである。また、学習済みモデルは、ニューラルネットワークの構造と当該ニューラルネットワークの各ニューロン間の結びつきの強さであるパラメータ(重み付け係数)との組み合わせである。また、学習済みモデルは、コンピュータに対する指令であって、一の結果を得る(所定の処理を実行する)ことができるように組み合わされたもの、すなわち、コンピュータを機能させるコンピュータプログラムである。
言語モデル格納部11は、機械学習用の目的ドメインのテキストと目的ドメインを示す目的ドメイン情報とに基づく機械学習を行って生成された学習済みモデルを格納する。言語モデル格納部11によって格納された学習済みモデルは、順方向リカレントニューラルネットワークに基づく言語モデルと逆方向リカレントニューラルネットワークに基づく言語モデルとを備える双方向リカレントニューラルネットワークに基づく言語モデルで構成されてもよいが、これに限るものではなく、片方向のリカレントニューラルネットワークに基づく言語モデル及びその他のニューラルネットワークに基づく言語モデルに基づいて構成されてもよい。言語モデル格納部11は、言語モデル生成部10によって生成された学習済みモデルを格納してもよいが、これに限るものではなく、予めデータ生成装置1の管理者及びユーザなどが生成した学習済みモデルを格納してもよいし、他の装置から受信した学習済みモデルを格納してもよい。なお、言語モデル格納部11が格納する学習済みモデルは、目的ドメインのテキストと当該目的ドメインを示す目的ドメイン情報とに基づく学習済みモデルに限らず、出発ドメインのテキストなどの任意のドメインのテキストと、当該出発ドメインを示す出発ドメイン情報などの当該任意のドメインを示すドメイン情報とに基づく学習済みモデルも格納してもよい。
テキスト取得部12は、出発ドメインのテキストと目的ドメイン情報とを取得する。より具体的には、テキスト取得部12は、データ生成装置1のユーザ及び管理者などの端末からネットワークなどを介して出発ドメインのテキストと目的ドメイン情報とを取得する。テキスト取得部12が取得する出発ドメインのテキストは、上述の通り一(任意)のドメインであり、元となるドメインのテキスト及び既に存在するドメインのテキストなどである。テキスト取得部12が取得する目的ドメイン情報は、上述の通り目的ドメインを示す目的ドメイン情報であり、当該目的ドメインは、出発ドメインのテキストを変換させたい先のドメイン、すなわち変換後のテキストのドメインなどである。テキスト取得部12は、取得した出発ドメインのテキストと目的ドメイン情報とを、テキスト置換部13及びテキスト出力部14に出力する。
テキスト置換部13は、言語モデル格納部11によって格納された学習済みモデルに対して、テキスト取得部12によって取得(入力)された出発ドメインのテキストと目的ドメイン情報とに基づく入力を行うことで、出発ドメインのテキスト中の単語位置における単語候補の出現確率に関する確率情報を算出し、算出した確率情報に基づいて当該単語位置における単語を当該単語位置における単語候補に置換した置換テキストを生成する。なお、上述した通り、出発ドメインのテキストと目的ドメイン情報とに基づく入力とは、例えば、学習済みモデルの入力層に対する出発ドメインのテキスト中の各単語に対応する単語ベクトルと目的ドメイン情報である目的ドメインベクトルとの入力など、一般的な言語モデルで採用されている所定の処理を行ったデータの入力を意味する。テキスト置換部13により算出される確率情報とは、学習済みモデルの出力層で出力される、当該単語位置における単語候補の出現確率に関する情報(確率分布など)などである。上述した通り、出力層ではSoftmax関数など一般的な言語モデルで採用されている所定の処理を用いて適宜確率情報が算出されるものである。テキスト置換部13は、算出した確率情報について、最も確率の高い単語候補に置換した置換テキストを生成してもよいし、算出した確率情報について、閾値である所定の確率よりも高い単語候補の中から所定の基準に基づいて(又はランダムに)選択した単語候補に置換した置換テキストを生成してもよい。テキスト置換部13は、所定の基準を満たす出発ドメインのテキスト中の単語を優先的に置換してもよい。例えば、テキスト置換部13は、出発ドメインのテキスト中の単語のうち、名詞、形容詞及び動詞の少なくとも1つである単語を優先的に置換してもよい(助詞などを置換すると処理に時間がかかったり、適切度(後述)の低い置換テキストが生成される)。テキスト置換部13は、生成した置換テキストをテキスト出力部14に出力する。
テキスト置換部13は、言語モデル格納部11によって格納された学習済みモデルに対して、当該テキスト置換部13によって生成した置換テキストとテキスト取得部12によって取得された目的ドメイン情報とに基づく入力を行うことで、当該置換テキスト中の単語位置における単語候補の確率情報を算出し、算出した確率情報に基づいて当該単語位置における単語を当該単語位置における単語候補に置換した置換テキストを生成してもよい。すなわち、テキスト置換部13は、当該テキスト置換部13が生成した置換テキストを再帰的に当該テキスト置換部13に適用することで、さらに置換された置換テキストを生成してもよい。テキスト置換部13による再帰は、任意の回数であってもよいし、生成された置換テキストの適切度(後述)が閾値である所定の適切度以上になるまで行ってもよい。なお、テキスト置換部13は、既に置換した単語についてはフラグを立てるなど管理し、既に置換した単語は以後置換対象としないようにしてもよい。
テキスト置換部13は、複数の単語位置それぞれにおける単語候補の確率情報を算出し、算出した確率情報に基づいて当該複数の単語位置それぞれにおける単語を当該複数の単語位置それぞれにおける単語候補に置換した置換テキストを生成してもよい。すなわち、テキスト置換部13は、1回の処理で複数(2以上)の単語を置換してもよい。
テキスト置換部13は、単語位置における単語を単語位置における単語候補に含まれる複数の単語それぞれに置換した複数の置換テキストを生成してもよい。すなわち、テキスト置換部13は、1回の処理で複数(2以上)の置換テキストを生成してもよい。単語候補に含まれる複数の単語の選択方法の一例としては、閾値である所定の確率よりも高い単語候補を選択することが挙げられる。
テキスト置換部13は、置換する際に、置換後のテキストについて目的ドメインのテキストとしての適切度を算出し、所定の適切度よりも高い置換後のテキストを置換テキストとして生成してもよい。適切度の算出方法の一例としては、目的ドメインのテキストに含まれる各単語に対して算出された確率の積を求める方法及びビームサーチ(ビーム幅:K)により自然な文のみ保持する方法などが挙げられるが、これらに限るものではない。
テキスト置換部13が算出する確率情報は、順方向リカレントニューラルネットワークに基づいて算出した確率情報と逆方向リカレントニューラルネットワークに基づいて算出した確率情報とに基づいてもよい。例えば、テキスト置換部13が算出する確率情報は、学習済みモデルを構成する順方向リカレントニューラルネットワーク言語モデルに基づいて算出した確率情報が示す確率と、学習済みモデルを構成する逆方向リカレントニューラルネットワーク言語モデルに基づいて算出した確率情報が示す確率との平均などであってもよいが、これに限るものではない。
上述の通り、テキスト置換部13の複数の処理内容について説明したが、これらを組み合わせてテキスト置換部13の処理を構成することができる。例えば、テキスト置換部13が、生成した置換テキストを再帰的に当該テキスト置換部13に適用する際に、ある再帰の処理では複数の単語を置換し、ある再帰の処理では複数の置換テキストを生成してもよいし、ある再帰の処理では所定の適切度よりも高い置換後のテキストを置換テキストとして生成してもよいし、ある再帰の処理では複数の単語を置換すると共に複数の置換テキストを生成してもよいし、ある再帰の処理では複数の単語を置換すると共に所定の適切度よりも高い置換後のテキストを置換テキストとして生成してもよいし、ある再帰の処理では複数の置換後のテキストを生成すると共に各置換後のテキストについて所定の適切度よりも高い置換後のテキストを置換テキストとして生成してもよいし、ある再帰の処理では複数の単語を置換し、複数の置換後のテキストを生成すると共に各置換後のテキストについて所定の適切度よりも高い置換後のテキストを置換テキストとして生成してもよい。また例えば、テキスト置換部13が、再帰の処理を行わずに、ある処理では複数の単語を置換すると共に複数の置換テキストを生成してもよいし、ある処理では複数の単語を置換すると共に所定の適切度よりも高い置換後のテキストを置換テキストとして生成してもよいし、ある処理では複数の置換後のテキストを生成すると共に各置換後のテキストについて所定の適切度よりも高い置換後のテキストを置換テキストとして生成してもよいし、ある処理では複数の単語を置換し、複数の置換後のテキストを生成すると共に各置換後のテキストについて所定の適切度よりも高い置換後のテキストを置換テキストとして生成してもよい。
テキスト出力部14は、テキスト置換部13によって生成(入力)された置換テキストを目的ドメインのテキストとして出力する。より具体的には、テキスト出力部14は、置換テキストを目的ドメインのテキストとしてデータ生成装置1の出力装置1006(後述)に出力(表示)してもよいし、他の装置(データ生成装置1の管理者及びユーザなどの端末など)に出力してもよいが、これらに限るものではない。
テキスト出力部14は、テキスト置換部13によって生成された置換テキストについて目的ドメインのテキストとしての適切度を算出し、所定の適切度よりも高い置換テキストを目的ドメインのテキストとして出力してもよい。
テキスト取得部12、テキスト置換部13及びテキスト出力部14による処理は、(言語モデル生成部10による言語モデルの生成である学習フェーズに対する)テストフェーズである。
図11は、学習済みモデル(言語モデル)の適用事例を説明する図である。図11に示す通り、学習済みモデルを構成する順方向の学習済みモデル(隠れ状態ベクトルで構成)と、学習済みモデルを構成する逆方向の学習済みモデル(隠れ状態ベクトルで構成)とのそれぞれに対して、出発ドメインのテキスト「この|指輪|は|天然|の|真珠|を|使用|し|て|おり|ます」の各単語の単語ベクトルを、目的ドメインのドメイン情報と共に入力することで、目的ドメインのテキストを生成している。
図12は、目的ドメインのテキストの生成事例を説明する図である。図12に示す通り、例えば、出発ドメイン「飲食」の入力文「ここではどうやって天ぷらをオーダーするんですか?」が、データ生成装置1の変換により、目的ドメイン「医療」の出力文「ここではどうやって治療を中止するんですか?」が生成される。
図13は、データ生成装置1で実行されるデータ生成処理を示すフローチャートである。まず、言語モデル生成部10によって、目的ドメインの学習用テキストと目的ドメインのドメインベクトルとを用いた機械学習により言語モデルが生成され(ステップS1)、生成された言語モデルが言語モデル格納部11によって格納される。次に、テキスト取得部12によって、出発ドメインのテキストと目的ドメインのドメインベクトルとが取得される(ステップS2)。次に、テキスト置換部13によって、S2にて取得された出発ドメインのテキストと目的ドメインのドメインベクトルとが、言語モデル格納部11によって格納された言語モデルに入力されることで、出発ドメインのテキストの単語位置における単語候補の確率分布が算出される(ステップS3)。次に、引き続きテキスト置換部13によって、出発ドメインのテキストに含まれる単語が、S3にて算出された確率分布に基づいて別の単語(目的ドメインとして適切な単語)に置換され、置換テキストが生成される(ステップS4)。次に、テキスト出力部14によって、S4にて生成された置換テキストが、目的ドメインのテキストとして出力される(ステップS5)。なお、S1とS2との順は逆でもよい。また、S4の後に、S4にて生成された置換テキストに基づいてS3及びS4の処理を再帰的に実行してもよい。
次に、本実施形態のように構成されたデータ生成装置1の作用効果について説明する。
本実施形態のデータ生成装置1によれば、機械学習用の目的ドメインのテキストと目的ドメインを示す目的ドメイン情報とに基づく機械学習を行って生成された学習済みモデルに対して、取得された出発ドメインのテキストと目的ドメイン情報とに基づく入力を行うことで、例えば、出発ドメインのテキストを、目的ドメインにより沿ったテキストへ変換することができる。すなわち、出発ドメインのテキストを目的ドメインのテキストへ変換することができる。
また、本実施形態のデータ生成装置1によれば、テキスト置換部13は、言語モデル格納部11によって格納された学習済みモデルに対して、当該テキスト置換部13によって生成した置換テキストとテキスト取得部12によって取得された目的ドメイン情報とに基づく入力を行うことで、当該置換テキスト中の単語位置における単語候補の確率情報を算出し、算出した確率情報に基づいて当該単語位置における単語を当該単語位置における単語候補に置換した置換テキストを生成する。これにより、再帰的な置換が可能となり、より適切な目的ドメインのテキストへ変換することができる。
また、本実施形態のデータ生成装置1によれば、テキスト置換部13は、複数の単語位置それぞれにおける単語候補の確率情報を算出し、算出した確率情報に基づいて当該複数の単語位置それぞれにおける単語を当該複数の単語位置それぞれにおける単語候補に置換した置換テキストを生成する。これにより、複数の単語を一気に置換することができるため、より高速に目的ドメインのテキストへ変換することができる。
また、本実施形態のデータ生成装置1によれば、テキスト置換部13は、単語位置における単語を単語位置における単語候補に含まれる複数の単語それぞれに置換した複数の置換テキストを生成する。これにより、複数の置換テキストを生成することができるため、より適切な目的ドメインのテキストを生成することができる可能性が向上する。
また、本実施形態のデータ生成装置1によれば、テキスト置換部13は、置換する際に、置換後のテキストについて目的ドメインのテキストとしての適切度を算出し、所定の適切度よりも高い置換後のテキストを置換テキストとして生成する。これにより、より適切な(適切度が比較的高い)目的ドメインのテキストへ変換することができる。
また、本実施形態のデータ生成装置1によれば、テキスト出力部14は、テキスト置換部13によって生成された置換テキストについて目的ドメインのテキストとしての適切度を算出し、所定の適切度よりも高い置換テキストを目的ドメインのテキストとして出力する。これにより、より適切な(適切度が比較的高い)目的ドメインのテキストへ変換することができる。
また、本実施形態のデータ生成装置1によれば、言語モデル格納部11によって格納された学習済みモデルは、順方向リカレントニューラルネットワークと逆方向リカレントニューラルネットワークとを備える双方向リカレントニューラルネットワークで構成され、テキスト置換部13が算出する確率情報は、順方向リカレントニューラルネットワークに基づいて算出した確率情報と逆方向リカレントニューラルネットワークに基づいて算出した確率情報とに基づく。このように順方向リカレントニューラルネットワーク及び逆方向リカレントニューラルネットワークの両方に基づいて確率情報が算出されるため、より適切な(順方向に見ても適切であり、かつ、逆方向に見ても適切な)目的ドメインのテキストへ変換することができる。
また、本実施形態のデータ生成装置1によれば、機械学習用の目的ドメインのテキストと目的ドメインを示す目的ドメイン情報とに基づく機械学習を行って学習済みモデルを生成する言語モデル生成部10をさらに備え、言語モデル格納部11は、言語モデル生成部10によって生成された学習済みモデルを格納する。これにより、データ生成装置1単体で学習済みモデルの生成及び格納が可能となり、利便性が向上する。
以上の通り、本実施形態のデータ生成装置1によれば、ドメインチューニングした言語モデルを用いて入力文のドメインを変換すること、及び、双方向言語モデルにより複数単語を置換することで自然な文を生成することができる。
以下、本実施形態のデータ生成装置1に関する特徴例について列挙する。データ生成装置1では、出発ドメインの特徴的な単語を目的ドメインらしい単語に置き換えることで、出発ドメインから目的ドメインへテキストを変換している。単語置換処理では、変換対象文章(出発ドメイン文章)の1単語を置き換えを行う。1単語置き換えるごとに、生成文の目的ドメインにおけるスコアを計算し、候補文選択を行う。選択された候補文を再度双方向言語モデルに入力し、(上記)単語置換処理を繰り返し行う。
データ生成装置1は、あるドメインのテキストデータを増やすことを目的とする。ドメイン適応された双方向言語モデルを用いて入力テキストの単語置換を行う。データ生成装置1では、各ドメインのテキストの対応付け(例えば、医療ドメインの文章Aは、交通ドメインの文章Bに対応した文章であるなど)は不要である。データ生成装置1では、ドメイン適応化言語モデルを用いる。データ生成装置1では、1つの言語モデル(Decoder)を利用する。データ生成装置1では、言語モデルを用いて、入力テキスト中の単語置換をすることで文章生成を行う。データ生成装置1では、入力文章中の単語を置換する。データ生成装置1を用いれば、複数のドメイン(例えば、医療ドメイン、小売ドメイン及び飲食ドメイン)間でテキストを相互に変換可能である。データ生成装置1による変換のメリットの例としては、変換元と変換先の対応付けが不要のため、データ作成のコストが低い点及び生成文の品質(流暢さ、文法性)がある程度担保されている点などが挙げられる。
なお、上記実施形態の説明に用いたブロック図は、機能単位のブロックを示している。これらの機能ブロック(構成部)は、ハードウェア及びソフトウェアの少なくとも一方の任意の組み合わせによって実現される。また、各機能ブロックの実現方法は特に限定されない。すなわち、各機能ブロックは、物理的又は論理的に結合した1つの装置を用いて実現されてもよいし、物理的又は論理的に分離した2つ以上の装置を直接的又は間接的に(例えば、有線、無線などを用いて)接続し、これら複数の装置を用いて実現されてもよい。機能ブロックは、上記1つの装置又は上記複数の装置にソフトウェアを組み合わせて実現されてもよい。
機能には、判断、決定、判定、計算、算出、処理、導出、調査、探索、確認、受信、送信、出力、アクセス、解決、選択、選定、確立、比較、想定、期待、見做し、報知(broadcasting)、通知(notifying)、通信(communicating)、転送(forwarding)、構成(configuring)、再構成(reconfiguring)、割り当て(allocating、mapping)、割り振り(assigning)などがあるが、これらに限られない。たとえば、送信を機能させる機能ブロック(構成部)は、送信部(transmitting unit)や送信機(transmitter)と呼称される。いずれも、上述したとおり、実現方法は特に限定されない。
例えば、本開示の一実施の形態におけるデータ生成装置1などは、本開示のデータ生成方法の処理を行うコンピュータとして機能してもよい。図14は、本開示の一実施の形態に係るデータ生成装置1のハードウェア構成の一例を示す図である。上述のデータ生成装置1は、物理的には、プロセッサ1001、メモリ1002、ストレージ1003、通信装置1004、入力装置1005、出力装置1006、バス1007などを含むコンピュータ装置として構成されてもよい。
なお、以下の説明では、「装置」という文言は、回路、デバイス、ユニットなどに読み替えることができる。データ生成装置1のハードウェア構成は、図に示した各装置を1つ又は複数含むように構成されてもよいし、一部の装置を含まずに構成されてもよい。
データ生成装置1における各機能は、プロセッサ1001、メモリ1002などのハードウェア上に所定のソフトウェア(プログラム)を読み込ませることによって、プロセッサ1001が演算を行い、通信装置1004による通信を制御したり、メモリ1002及びストレージ1003におけるデータの読み出し及び書き込みの少なくとも一方を制御したりすることによって実現される。
プロセッサ1001は、例えば、オペレーティングシステムを動作させてコンピュータ全体を制御する。プロセッサ1001は、周辺装置とのインターフェース、制御装置、演算装置、レジスタなどを含む中央処理装置(CPU:Central Processing Unit)によって構成されてもよい。例えば、上述の言語モデル生成部10、テキスト取得部12、テキスト置換部13及びテキスト出力部14などは、プロセッサ1001によって実現されてもよい。
また、プロセッサ1001は、プログラム(プログラムコード)、ソフトウェアモジュール、データなどを、ストレージ1003及び通信装置1004の少なくとも一方からメモリ1002に読み出し、これらに従って各種の処理を実行する。プログラムとしては、上述の実施の形態において説明した動作の少なくとも一部をコンピュータに実行させるプログラムが用いられる。例えば、言語モデル生成部10、テキスト取得部12、テキスト置換部13及びテキスト出力部14は、メモリ1002に格納され、プロセッサ1001において動作する制御プログラムによって実現されてもよく、他の機能ブロックについても同様に実現されてもよい。上述の各種処理は、1つのプロセッサ1001によって実行される旨を説明してきたが、2以上のプロセッサ1001により同時又は逐次に実行されてもよい。プロセッサ1001は、1以上のチップによって実装されてもよい。なお、プログラムは、電気通信回線を介してネットワークから送信されても良い。
メモリ1002は、コンピュータ読み取り可能な記録媒体であり、例えば、ROM(Read Only Memory)、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)、RAM(Random Access Memory)などの少なくとも1つによって構成されてもよい。メモリ1002は、レジスタ、キャッシュ、メインメモリ(主記憶装置)などと呼ばれてもよい。メモリ1002は、本開示の一実施の形態に係る無線通信方法を実施するために実行可能なプログラム(プログラムコード)、ソフトウェアモジュールなどを保存することができる。
ストレージ1003は、コンピュータ読み取り可能な記録媒体であり、例えば、CD−ROM(Compact Disc ROM)などの光ディスク、ハードディスクドライブ、フレキシブルディスク、光磁気ディスク(例えば、コンパクトディスク、デジタル多用途ディスク、Blu−ray(登録商標)ディスク)、スマートカード、フラッシュメモリ(例えば、カード、スティック、キードライブ)、フロッピー(登録商標)ディスク、磁気ストリップなどの少なくとも1つによって構成されてもよい。ストレージ1003は、補助記憶装置と呼ばれてもよい。上述の記憶媒体は、例えば、メモリ1002及びストレージ1003の少なくとも一方を含むデータベース、サーバその他の適切な媒体であってもよい。
通信装置1004は、有線ネットワーク及び無線ネットワークの少なくとも一方を介してコンピュータ間の通信を行うためのハードウェア(送受信デバイス)であり、例えばネットワークデバイス、ネットワークコントローラ、ネットワークカード、通信モジュールなどともいう。通信装置1004は、例えば周波数分割複信(FDD:Frequency Division Duplex)及び時分割複信(TDD:Time Division Duplex)の少なくとも一方を実現するために、高周波スイッチ、デュプレクサ、フィルタ、周波数シンセサイザなどを含んで構成されてもよい。例えば、上述の言語モデル生成部10、テキスト取得部12及びテキスト出力部14などは、通信装置1004によって実現されてもよい。
入力装置1005は、外部からの入力を受け付ける入力デバイス(例えば、キーボード、マウス、マイクロフォン、スイッチ、ボタン、センサなど)である。出力装置1006は、外部への出力を実施する出力デバイス(例えば、ディスプレイ、スピーカー、LEDランプなど)である。なお、入力装置1005及び出力装置1006は、一体となった構成(例えば、タッチパネル)であってもよい。
また、プロセッサ1001、メモリ1002などの各装置は、情報を通信するためのバス1007によって接続される。バス1007は、単一のバスを用いて構成されてもよいし、装置間ごとに異なるバスを用いて構成されてもよい。
また、データ生成装置1は、マイクロプロセッサ、デジタル信号プロセッサ(DSP:Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、FPGA(Field Programmable Gate Array)などのハードウェアを含んで構成されてもよく、当該ハードウェアにより、各機能ブロックの一部又は全てが実現されてもよい。例えば、プロセッサ1001は、これらのハードウェアの少なくとも1つを用いて実装されてもよい。
ここで、背景技術及び課題について説明する。文書分類及び機械翻訳をはじめとする自然言語処理タスクにおいて、大量かつ高品質な学習データを用いることで、機械学習モデルの性能が向上することが知られている。しかし、ドメインに依っては、データの入手が困難な場合や入手できる数が限られている場合があるため、大量の学習データを用意することは難しい。学習データ量が不十分な場合、高性能な機械学習モデルの作成は難しいため、学習データ量の不足を補うための解決策が望まれる。
機械学習モデルの学習データを収集する際に、ドメインに依ってデータ入手の難しさが異なるため、データに偏りが発生する。例えば、話し言葉のテキストデータを収集する場合、百貨店及びスーパーマーケットなどのショッピングドメインにおける話し言葉と病院の受付や医者との会話などの医療ドメインにおける話し言葉とでは、データの入手の難しさが異なる。例に挙げた両者は、接客の際に使われる話し言葉であるため、敬語などの言い回しは共通する部分が多々あるものの、会話で使われる語彙が異なる。したがって、一方のドメインの話し言葉のテキストデータを他方のドメインのテキストデータとして利用することは難しい。
このように、現実的には、ドメインに依ってデータ入手の難しさや収集できる数が異なるため、データ数に偏りが発生してしまう課題がある。また、機械学習モデルの学習データ数に偏りがある場合、データが豊富なドメインに過学習してしまい、データが少量のドメインにおける精度が低下することが知られている。そのため、データが少量のドメインの学習データ量の不足を補うための解決策が望まれる。
[実施例1]
以下では、実施例1に係るデータ生成装置1Aについて説明する。なお、データ生成装置1Aの各機能とデータ生成装置1の各機能は相互に入れ替え可能である。また、符号Aがついた各種構成は、データ生成装置1における符号Aが無い構成の機能を適宜有するものとする。データ生成装置1Aは以下の構成を備える。
[項目1]
対象とする全てのドメインの学習用テキストデータを用いて、適応化言語モデルを生成する言語モデル生成部10Aと、出発ドメインのテキストデータに対して前記適応化言語モデルを適用し、各単語位置における単語の確率分布を計算し、前記単語の確率分布を基に、対象とする単語を別の単語に置き換えて、候補文を生成するテキスト置換部13Aと、を備えることを特徴とするデータ生成装置1A。
[項目2]
前記候補文の中からスコアの高い文を選択し、生成文とするテキスト出力部14Aを備えることを特徴とする項目1に記載のデータ生成装置1A。
[項目3]
前記言語モデル生成部10Aは、リカレントニューラルネットワークで構成された言語モデルである項目1又は2に記載のデータ生成装置1A。
[項目4]
前記リカレントニューラルネットワークは、順方向と逆方向のLSTM(Long Short-Term Memory)を備える双方向LSTMで構成され、前記テキスト置換部13Aにおける単語の予測は、順方向と逆方向の双方の確率に基づいて決定することを特徴とする項目3に記載のデータ生成装置1A。
[項目5]
前記言語モデル生成部10Aは、前記学習用テキストデータの各単語のベクトルと前記学習用テキストデータのドメイン情報を表すベクトルを結合したベクトルを入力とすることを特徴とする項目3又は4に記載のデータ生成装置1A。
[項目6]
前記テキスト置換部13Aは、出発ドメインのテキストデータの各単語のベクトルと、目的ドメインの情報を表すベクトルを結合したベクトルを入力することを特徴とする項目3又は4に記載のデータ生成装置1A。
[項目7]
前記テキスト置換部13Aは、前記単語の確率分布を基に、前記出発ドメインのテキストデータ内の1つ以上の単語を、所定のスコアが予め設定した閾値よりも高い単語へ置き換えることを特徴とする項目1又は2に記載のデータ生成装置1A。
データ生成装置1Aでは、ドメイン適応化された言語モデルを基に、出発ドメインのテキストデータに対して、目的ドメインに近づくように繰り返し単語置換操作をすることでテキストデータのドメイン変換を行い、出発ドメインのテキストデータから目的ドメインのテキストデータをより多く獲得する。データ生成装置1Aは、対象とする全てのドメインの学習用コーパスを用いて言語モデルを適応化するための言語モデル生成部10Aと、テキストデータの変換後に目的とするドメイン情報と出発ドメインのテキストデータを入力として各単語位置における単語の確率分布を計算し、前記単語の確率分布を基にテキストデータに含まれる単語を別の単語に置き換えることで目的ドメインのテキストデータを生成するテキスト置換部13Aと、前記生成された目的ドメインのテキストデータの中からスコアの高いテキストを選択するテキスト出力部14Aと、を備える構成とした。
言語モデル生成部10Aでは、適応化された言語モデルの学習を行う。言語モデルの学習には、出発ドメインと目的ドメインのラベル付きテキストコーパスを用いる。言語モデルの学習時には、テキスト中の各単語の単語ベクトルと学習データのドメインを表すドメインベクトル(一例としては、ベクトル(0,0,1)などが挙げられる)を各タイムステップに入力する。ドメインベクトルは、ランダムな値で初期化された所定の次元数のベクトルであり、出発ドメインおよび目的ドメインのラベル付きテキストデータを基に学習することで、最終的に出発ドメインおよび目的ドメインのドメイン情報を表すドメインベクトルをそれぞれ作成できる。上記学習を行うことで、意味的に似た単語のベクトル間距離が、最初のランダムから近づいていく。それにより、圧縮によって処理が早くなる(モデルのパラメータが少なくなる、ネットワークが軽くなるなど)及び関係性がわかりやすくなる(AさんとBさんの話す言葉が似ているなど)というメリットがある。
テキスト置換部13Aでは、前記言語モデル生成部10Aで学習済みの言語モデルに対して、出発ドメインのテキストと学習済みの目的ドメインのドメインベクトルの入力を行い、各単語位置における単語の確率分布を獲得する。前記学習済み言語モデルに目的ドメインのドメインベクトルを入力することで、前記各単語位置における単語の確率分布に対して目的ドメインに近い単語へバイアスがかかるため、次の単語を予測する際に目的ドメインの単語を出力しやすくなる効果がある。
テキスト置換部13Aは、獲得した各単語位置における単語の確率分布を基に、出発ドメインのテキストの各単語を目的ドメインの単語へ置き換える操作を行う。具体的には、まず、順方向言語モデルおよび逆方向言語モデルのそれぞれの隠れ状態ベクトルから、各単語位置における各方向の単語の確率分布をSoftmax処理等で計算する。順方向および逆方向のそれぞれの単語の確率分布において、確率の高い上位から所定の単語数の単語を置換候補単語とする。順方向および逆方向のそれぞれにおいて、獲得した置換候補単語の中で、両方向の置換候補単語に出現する単語を置換対象単語とし、所定の単語位置の単語を置換対象単語へ置き換える。これにより、入力した出発ドメインテキストの1つの単語が置換されたテキストデータが獲得できる。その後、単語置換後のテキストデータを再帰的にテキスト置換部13Aへ入力を行うことで、複数の単語が置換されたテキストデータを獲得できる。ここで、最終的に生成したテキストデータを目的ドメインのテキストデータとする。
テキスト置換部13Aで単語の置換操作を行う際に、各単語位置に対して複数の置換対象単語が存在する場合も考えられる。この場合、全ての置換対象単語へ置換したテキストデータを生成し、それぞれに対して前記再帰的処理を実施する。
テキスト出力部14Aでは、前記テキスト置換部13Aにより生成された複数の目的ドメインのテキストデータに対して、フィルタリングの処理を行う。具体的には、言語モデルを用いて生成された文の所定のスコアを計算し、目的ドメインのテキストデータとして相応しくない文を除外する。フィルタリングで残った文のみを最終的な目的ドメインのテキストデータとする。
上述の通り、データ生成装置1Aは、出発ドメインのテキストデータを目的ドメインのテキストデータに変換する汎用的なデータ生成装置を提供することを課題とし、予め収集された言語モデル学習用コーパスを用いて適応化言語モデルを生成する言語モデル生成部10Aと、入力文の各単語位置における単語の確率分布を計算し、各単語位置における単語の確率分布に基づいて入力文の所定の単語を別の単語に置換するテキスト置換部13Aと、単語置き換えにより新たに生成された候補文の中から所定のスコアが高い文を選択するテキスト出力部14Aとを備える。
データ生成装置1Aの構成に基づく効果について説明する。データ生成装置1Aでは、ドメインに依ってデータ数に偏りが生じてしまう問題を解決するために、一方のドメインのテキストデータを基に、他方のドメインのテキストデータをより多く生成できる汎用的なデータ生成装置を提供することができる。データ生成装置1Aにより、目的ドメインのデータ量が少ない場合に、出発ドメインのテキストデータを変換することで、目的ドメインのデータ量の不足を補うことができ、機械学習モデルの汎化性能が向上し、過学習を防ぐことが可能となる。また、機械学習モデルが対象とする全てのドメインにおける学習データを生成し、モデルの学習に用いることで、モデルのベース性能を向上させることが可能となる。機械学習モデルの学習データの不足を補う方法として、人手で作成する方法や外部機関から購入する方法、ウェブクローリングする方法が一般的だが、データ生成装置1Aにより、自動的に学習コーパスを生成することができるため、学習データ収集における時間的・金銭的コストを削減することが可能となる。
[実施例2]
実施例1に係るデータ生成装置1Aは、一部構成を変更することで以下に説明する実施例2に係るデータ生成装置1Bとすることができる。なお、符号Bがついた各種構成は、データ生成装置1における符号Bが無い構成の機能を適宜有するものとする。データ生成装置1Bは以下の構成を備える。
[項目1]
言語モデル生成部10A、テキスト置換部13A、テキスト出力部14Aを備えるデータ生成装置1B。
[項目2]
言語モデル生成部10A及びテキスト置換部13Aで使用する言語モデルは、リカレントニューラルネットワークで構成されたものである、項目1に記載のデータ生成装置1B。
[項目3]
言語モデル生成部10A及びテキスト置換部13Aで使用する言語モデルは、双方向リカレントニューラルネットワークで構成されたものである、項目2に記載のデータ生成装置1B。
[項目4]
言語モデル生成部10Aは、単語ベクトルと出発ドメインベクトルを結合したベクトルを入力する、項目1〜3の何れか一項に記載のデータ生成装置1B。
[項目5]
テキスト置換部13Aは、単語ベクトルと目的ドメインベクトルを結合したベクトルを入力する、項目1〜4の何れか一項に記載のデータ生成装置1B。
[項目6]
テキスト置換部13Aは、算出したスコア(単語の確率分布)を基に、出発ドメインのテキストデータの1つの単語を別の単語(目的ドメインらしい単語)へ置き換える、項目1〜5の何れか一項に記載のデータ生成装置1B。
[項目7]
テキスト出力部14Aは、テキスト置換部13Aで1単語を置き換えた生成文のスコアを計算し、スコアの高い文章を選択する、項目1〜6の何れか一項に記載のデータ生成装置1B。
[項目8]
テキスト出力部14Aで選択された候補文をテキスト置換部13Aに入力し、単語値置き換え処理を再帰的に行う、項目7に記載のデータ生成装置1B。
[実施例3]
実施例3に係るデータ生成装置1Cについて説明する。なお、データ生成装置1Cの各機能とデータ生成装置1の各機能は相互に入れ替え可能である。また、符号Cがついた各種構成は、データ生成装置1における符号Cが無い構成の機能を有するものとする。ここでは、小売ドメインを出発ドメイン、飲食ドメインを目的ドメインとした場合の言語モデル生成部10Cを示す。言語モデル生成部10Cでは、各ドメインのテキストデータを用いて、言語モデルを学習する。学習の際には、各ドメインのラベル情報から作成したドメインベクトルを言語モデルの各タイムステップに単語ベクトルと合わせて入力する。ドメインのテキストデータが少ない場合、言語モデルの学習が充分にできない可能性が考えられるため、汎用コーパスなどを用いて言語モデルの事前学習を行う。
言語モデル生成部10Cにより学習した言語モデルを用いて出発ドメインから目的ドメインへテキストを変換する方法について説明する。ここでは、小売ドメインのテキストデータから飲食ドメインのテキストデータを生成する場合の実施例を示す。まず、テキスト置換部13Cへの入力として、出発ドメインである小売ドメインのテキストと目的ドメインである飲食ドメインのベクトルを与える。テキスト置換部13Cでは、入力テキストの各単語位置における単語の確率分布を計算する。次に、テキスト置換部13Cにより、入力テキスト中のいずれか1つの単語を置き換えた文を1つ以上生成する。最後にテキスト出力部14Cにより生成された文の所定のスコアを計算し、フィルタリングを行う。
例えば、データ生成装置1Cに対して、小売ドメインのテキスト「この指輪は天然の真珠を使用しております」と飲食ドメインのベクトルが与えられると、1回目のテキスト置換部13Cにより、入力テキストの「指輪」という単語を「つけ麺」に置き換えた置換テキスト「このつけ麺は天然の真珠を使用しております」を生成する。次に、1回目の操作で生成した文に対しても同様の処理を行い、「天然」という単語を「自家製」に置き換えた置換テキスト「このつけ麺は自家製の真珠を使用しております」を生成する。次に、2回目の操作で生成した文に対しても同様の処理を行い、「真珠」という単語を「手打ち麺」に置き換えた置換テキスト「このつけ麺は自家製の手打ち麺を使用しております」を生成する。このように、上記の作業を再帰的に繰り返し、最終的に出力された文を目的ドメインのテキストとする。
情報の通知は、本開示において説明した態様/実施形態に限られず、他の方法を用いて行われてもよい。
本開示において説明した各態様/実施形態の処理手順、シーケンス、フローチャートなどは、矛盾の無い限り、順序を入れ替えてもよい。例えば、本開示において説明した方法については、例示的な順序を用いて様々なステップの要素を提示しており、提示した特定の順序に限定されない。
入出力された情報等は特定の場所(例えば、メモリ)に保存されてもよいし、管理テーブルを用いて管理してもよい。入出力される情報等は、上書き、更新、又は追記され得る。出力された情報等は削除されてもよい。入力された情報等は他の装置へ送信されてもよい。
本開示において説明した各態様/実施形態は単独で用いてもよいし、組み合わせて用いてもよいし、実行に伴って切り替えて用いてもよい。また、所定の情報の通知(例えば、「Xであること」の通知)は、明示的に行うものに限られず、暗黙的(例えば、当該所定の情報の通知を行わない)ことによって行われてもよい。
以上、本開示について詳細に説明したが、当業者にとっては、本開示が本開示中に説明した実施形態に限定されるものではないということは明らかである。本開示は、請求の範囲の記載により定まる本開示の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。したがって、本開示の記載は、例示説明を目的とするものであり、本開示に対して何ら制限的な意味を有するものではない。
ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称で呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能などを意味するよう広く解釈されるべきである。
また、ソフトウェア、命令、情報などは、伝送媒体を介して送受信されてもよい。例えば、ソフトウェアが、有線技術(同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL:Digital Subscriber Line)など)及び無線技術(赤外線、マイクロ波など)の少なくとも一方を使用してウェブサイト、サーバ、又は他のリモートソースから送信される場合、これらの有線技術及び無線技術の少なくとも一方は、伝送媒体の定義内に含まれる。
本開示において説明した情報、信号などは、様々な異なる技術のいずれかを使用して表されてもよい。例えば、上記の説明全体に渡って言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、チップなどは、電圧、電流、電磁波、磁界若しくは磁性粒子、光場若しくは光子、又はこれらの任意の組み合わせによって表されてもよい。
なお、本開示において説明した用語及び本開示の理解に必要な用語については、同一の又は類似する意味を有する用語と置き換えてもよい。
また、本開示において説明した情報、パラメータなどは、絶対値を用いて表されてもよいし、所定の値からの相対値を用いて表されてもよいし、対応する別の情報を用いて表されてもよい。
上述したパラメータに使用する名称はいかなる点においても限定的な名称ではない。さらに、これらのパラメータを使用する数式等は、本開示で明示的に開示したものと異なる場合もある。
本開示で使用する「判断(determining)」、「決定(determining)」という用語は、多種多様な動作を包含する場合がある。「判断」、「決定」は、例えば、判定(judging)、計算(calculating)、算出(computing)、処理(processing)、導出(deriving)、調査(investigating)、探索(looking up、search、inquiry)(例えば、テーブル、データベース又は別のデータ構造での探索)、確認(ascertaining)した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、受信(receiving)(例えば、情報を受信すること)、送信(transmitting)(例えば、情報を送信すること)、入力(input)、出力(output)、アクセス(accessing)(例えば、メモリ中のデータにアクセスすること)した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、解決(resolving)、選択(selecting)、選定(choosing)、確立(establishing)、比較(comparing)などした事を「判断」「決定」したとみなす事を含み得る。つまり、「判断」「決定」は、何らかの動作を「判断」「決定」したとみなす事を含み得る。また、「判断(決定)」は、「想定する(assuming)」、「期待する(expecting)」、「みなす(considering)」などで読み替えられてもよい。
「接続された(connected)」、「結合された(coupled)」という用語、又はこれらのあらゆる変形は、2又はそれ以上の要素間の直接的又は間接的なあらゆる接続又は結合を意味し、互いに「接続」又は「結合」された2つの要素間に1又はそれ以上の中間要素が存在することを含むことができる。要素間の結合又は接続は、物理的なものであっても、論理的なものであっても、或いはこれらの組み合わせであってもよい。例えば、「接続」は「アクセス」で読み替えられてもよい。本開示で使用する場合、2つの要素は、1又はそれ以上の電線、ケーブル及びプリント電気接続の少なくとも一つを用いて、並びにいくつかの非限定的かつ非包括的な例として、無線周波数領域、マイクロ波領域及び光(可視及び不可視の両方)領域の波長を有する電磁エネルギーなどを用いて、互いに「接続」又は「結合」されると考えることができる。
本開示において使用する「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」の両方を意味する。
本開示において、「含む(include)」、「含んでいる(including)」及びそれらの変形が使用されている場合、これらの用語は、用語「備える(comprising)」と同様に、包括的であることが意図される。さらに、本開示において使用されている用語「又は(or)」は、排他的論理和ではないことが意図される。
本開示において、例えば、英語でのa、an及びtheのように、翻訳により冠詞が追加された場合、本開示は、これらの冠詞の後に続く名詞が複数形であることを含んでもよい。
本開示において、「AとBが異なる」という用語は、「AとBが互いに異なる」ことを意味してもよい。なお、当該用語は、「AとBがそれぞれCと異なる」ことを意味してもよい。「離れる」、「結合される」などの用語も、「異なる」と同様に解釈されてもよい。