(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024017151
(43)【公開日】2024-02-08
(54)【発明の名称】生成プログラム,予測プログラム,情報処理装置,生成方法および予測方法
(51)【国際特許分類】
G06F 40/216 20200101AFI20240201BHJP
G06F 40/232 20200101ALI20240201BHJP
【FI】
G06F40/216
G06F40/232
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022119602
(22)【出願日】2022-07-27
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100092978
【弁理士】
【氏名又は名称】真田 有
(74)【代理人】
【識別番号】100189201
【弁理士】
【氏名又は名称】横田 功
(72)【発明者】
【氏名】渡邊 大貴
(72)【発明者】
【氏名】岩倉 友哉
【テーマコード(参考)】
5B091
【Fターム(参考)】
5B091AB06
5B091AB11
5B091EA01
(57)【要約】
【課題】文書データに関する予測精度を向上させる。
【解決手段】複数の単語それぞれの特徴ベクトルを生成し、生成した複数の単語それぞれの特徴ベクトルに基づいて、2以上の単語を組み合わせた複合語の特徴ベクトルを生成し、複数の単語それぞれの特徴ベクトルと複合語の特徴ベクトルとは、文書データにおける一つの単語に後続する単語の予測に用いられる。
【選択図】
図2
【特許請求の範囲】
【請求項1】
複数の単語を含む文書データに基づいて、前記複数の単語それぞれの特徴ベクトルを生成し、
生成した前記複数の単語それぞれの特徴ベクトルに基づいて、2以上の単語を組み合わせた複合語の特徴ベクトルを生成する、
処理をコンピュータに実行させ、
前記複数の単語それぞれの特徴ベクトルと前記複合語の特徴ベクトルとは、前記文書データにおける一つの単語に後続する単語の予測に用いられる
ことを特徴とする生成プログラム。
【請求項2】
複数種類の組み合わせ数の単語で前記複合語を構成する
処理を前記コンピュータに実行させることを特徴とする請求項1に記載の生成プログラム。
【請求項3】
前記複合語の特徴ベクトルを生成する処理は、
前記文書データの先頭から末尾に向かう順方向に沿って選択した前記複数の単語を組み合わせて前記複合語の特徴ベクトルを生成する順方向モードと、前記文書データの末尾から先頭に向かう逆方向に沿って選択した前記複数の単語を組み合わせて前記複合語の特徴ベクトルを生成する逆方向モードとの少なくとも一方のモードで行なう処理を含む
ことを特徴とする請求項1または2に記載の生成プログラム。
【請求項4】
複数の単語を含む文書データに基づいて生成された前記複数の単語それぞれの特徴ベクトルと、前記複数の単語それぞれの特徴ベクトルに基づいて生成された、2以上の単語を組み合わせた複合語の特徴ベクトルとを用いて、前記文書データにおける一つの単語に後続する単語を予測する、
処理をコンピュータに実行させることを特徴とする予測プログラム。
【請求項5】
複数の単語を含む文書データに基づいて、前記複数の単語それぞれの特徴ベクトルを生成し、
生成した前記複数の単語それぞれの特徴ベクトルに基づいて、2以上の単語を組み合わせた複合語の特徴ベクトルを生成する、
処理部を備え、
前記複数の単語それぞれの特徴ベクトルと前記複合語の特徴ベクトルとは、前記文書データにおける一つの単語に後続する単語の予測に用いられる
ことを特徴とする情報処理装置。
【請求項6】
複数の単語を含む文書データに基づいて生成された前記複数の単語それぞれの特徴ベクトルと、前記複数の単語それぞれの特徴ベクトルに基づいて生成された、2以上の単語を組み合わせた複合語の特徴ベクトルとを用いて、前記文書データにおける一つの単語に後続する単語を予測する、
処理部を備えることを特徴とする情報処理装置。
【請求項7】
複数の単語を含む文書データに基づいて、前記複数の単語それぞれの特徴ベクトルを生成し、
生成した前記複数の単語それぞれの特徴ベクトルに基づいて、2以上の単語を組み合わせた複合語の特徴ベクトルを生成する、
処理をコンピュータが実行し、
前記複数の単語それぞれの特徴ベクトルと前記複合語の特徴ベクトルとは、前記文書データにおける一つの単語に後続する単語の予測に用いられる
ことを特徴とする生成方法。
【請求項8】
複数の単語を含む文書データに基づいて生成された前記複数の単語それぞれの特徴ベクトルと、前記複数の単語それぞれの特徴ベクトルに基づいて生成された、2以上の単語を組み合わせた複合語の特徴ベクトルとを用いて、前記文書データにおける一つの単語に後続する単語を予測する、
処理をコンピュータが実行することを特徴とする予測方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、生成プログラム,予測プログラム,情報処理装置,生成方法および予測方法に関する。
【背景技術】
【0002】
例えば、特許検索や文書検索には情報抽出技術が用いられている。情報抽出技術は、例えば、文書要約における重要な単語(例えば、人名や地名)の特定に用いられる。
【0003】
また、近年においては、情報抽出の精度を高くするために、後続する次の単語を予測する言語モデルを用いることも行なわれている。
【0004】
例えば、大規模テキストを用いて言語モデルを学習し、情報抽出タスクに利用する。具体的には、大量のラベル無しテキストから次の単語を予測する機械学習を行なうことで、言語モデルの訓練を行なう。そして、このように訓練を行なった言語モデルの内部表現(特徴ベクトル)を情報抽出タスクに用いる。すなわち、情報抽出タスクにおいて、言語モデルが獲得した単語に対応する内部表現を活用している。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2013―20431号公報
【特許文献2】特開2020-77054号公報
【特許文献3】特開2019-219827号公報
【非特許文献】
【0006】
【非特許文献1】Jacob Devlin, Ming-Wei Chang, Kenton Lee, Kristina Toutanova “Pre-training of Deep Bidirectional Transformers for Language Understanding”,[online],2018年10月11日,arXiv,[令和4年7月26日検索],インターネット<URL:https://arxiv.org/abs/1810.04805>
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、このような従来の情報抽出技術においては、言語モデルに含まれる個々の単語の特徴ベクトルのみを利用して各単語の予測を行なうので予測精度が低い。例えば、「1732年、ジョージ ワシントンが・・・」との文章について、人名を表す「ワシントン」が地名として予測される場合があり、これにより予測精度が低下する。
1つの側面では、本発明は、文書データに関する予測精度を向上させることを目的とする。
【課題を解決するための手段】
【0008】
このため、この生成プログラムは、複数の単語を含む文書データに基づいて、前記複数の単語それぞれの特徴ベクトルを生成し、生成した前記複数の単語それぞれの特徴ベクトルに基づいて、2以上の単語を組み合わせた複合語の特徴ベクトルを生成する処理をコンピュータに実行させる。また、前記複数の単語それぞれの特徴ベクトルと前記複合語の特徴ベクトルとは、前記文書データにおける一つの単語に後続する単語の予測に用いられる。
【発明の効果】
【0009】
一実施形態によれば、文書データに関する予測精度を向上させることができる。
【図面の簡単な説明】
【0010】
【
図1】実施形態の一例としての情報処理装置の構成を模式的に示す図である。
【
図2】実施形態の一例としての情報処理装置における第1複数単語特徴処理部による複合語ベクトルの生成方法を説明するための図である。
【
図3】実施形態の一例としての情報処理装置における逆方向の言語モデルを例示する図である。
【
図4】実施形態の一例としての情報処理装置における機械学習モデルの訓練方法を説明するためのフローチャートである。
【
図5】実施形態の一例としての情報処理装置のハードウェア構成を例示する図である。
【発明を実施するための形態】
【0011】
以下、図面を参照して本生成プログラム,予測プログラム,情報処理装置,生成方法および予測方法にかかる実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。また、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。
【0012】
(A)構成
図1は実施形態の一例としての情報処理装置1の構成を模式的に示す図である。
図1に例示する情報処理装置1は、第1学習処理部100および第2学習処理部200を備える。
第1学習処理部100は、言語モデルの訓練(機械学習)を行なう。
【0013】
言語モデルは、テキスト(文書データ)中の単語に対して、当該単語に後続する(次の)単語を予測(推定)する機械学習モデルである。言語モデルを事前学習モデルといってもよい。
第1学習処理部100は、
図1に示すように、第1単語処理部101,第1複数単語特徴処理部102および第1パラメータ更新部103を備える。
【0014】
第1単語処理部101には、テキスト(ラベル無しテキスト)が入力される。テキストは複数の単語を含む文書データである。第1学習処理部100に入力されるテキストを入力テキストといってもよい。入力テキストを第1訓練用データといってもよい。
第1単語処理部101は、言語モデルに、入力テキストを構成する複数の単語を順次入力することで、各単語に後続する単語の予測を順次行なう。
【0015】
第1単語処理部101は、予測された各単語を、例えば、LSTM(Long short-term memory)ネットワークを用いてそれぞれベクトル化する。以下、ベクトル化された単語の値を特徴ベクトルといってもよい。また、特徴ベクトルを内部状態といってもよく、単語をLSTMネットワーク等を用いてベクトル化することを、単語に対応する内部状態を構築するといってもよい。単語をベクトル化する手法はLSTMネットワークに限定されるものではなく、既知の手法を用いて適宜変更して実施してよい。
【0016】
第1複数単語特徴処理部102は、第1単語処理部101が算出した各単語をベクトル化した特徴ベクトルに基づいて、テキスト中において連続する複数の単語を組み合わせた複合語の特徴ベクトルを算出する。
【0017】
第1複数単語特徴処理部102は、連続する複数の単語(以下、複数単語もしくは複合語という)を選択し、これらの複数単語の各特徴ベクトルを畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)を用いて1つの特徴ベクトルを生成する。以下、複数の単語に基づいて生成した特徴ベクトルを複合語ベクトルという場合がある。また、以下、複数の単語に基づいて複合語ベクトルを生成することを、複合語の内部状態を構築すると表現してもよい。
図2は実施形態の一例としての情報処理装置1における第1複数単語特徴処理部102による複合語ベクトルの生成方法を説明するための図である。
【0018】
図2においては、テキスト(文書データ)の先頭から末尾に向かう順方向に沿って処理を行なう、順方向の言語モデルを示す。また、第1複数単語特徴処理部102は、テキストを構成する複数の単語に対して、処理対象の単語を1つ選択して処理を行なうことを、テキストの先頭から末尾にかけて順次行なう。
図2に示す例は、テキストの先頭から末尾に向かう順方向に沿って選択した複数の単語を組み合わせて複合語ベクトルを生成する順方向モードでの処理を示す。また、以下、テキストを構成する複数の単語のうち処理対象の単語を処理対象単語という場合がある。
【0019】
第1複数単語特徴処理部102は、複数種類の単語数での複合語ベクトルをそれぞれ生成する。
図2に示す例においては、第1複数単語特徴処理部102は、処理対象の単語を含む、連続する2つの単語(以下、2単語という)の特徴ベクトルと、連続する3つの単語(以下、3単語という)の特徴ベクトルと、連続する4つの単語(以下、4単語という)の特徴ベクトルとをそれぞれ算出する。第1複数単語特徴処理部102は複数単語からなる固有名詞の特徴を獲得する。
【0020】
図2に示す例においては、「1732年、ジョージ ワシントン」というテキストに対して、第1複数単語特徴処理部102が行なう処理を示している。第1複数単語特徴処理部102は、このテキストに含まれる、「1732年」,「、」,「ジョージ」および「ワシントン」の4つの単語に対して、この順番で処理を行なうものであり、
図2に示す例においては、ワシントンが処理対象単語である例を示す。
【0021】
第1複数単語特徴処理部102は、「ワシントン」を含む連続する2単語(「ジョージ」および「ワシントン」)の特徴ベクトルを算出する(符号P1参照)。また、第1複数単語特徴処理部102は、「ワシントン」を含む連続する3単語(「、」,「ジョージ」および「ワシントン」)の特徴ベクトルを算出する(符号P2参照)。さらに、第1複数単語特徴処理部102は、「ワシントン」を含む連続する4単語(「1732年」,「、」,「ジョージ」および「ワシントン」)の特徴ベクトルを算出する(符号P3参照)。
【0022】
そして、第1複数単語特徴処理部102は、算出した各単語数での複合語ベクトルと、処理対象単語の特徴ベクトルとの内積をとる(符号P4参照)。以下、この内積の結果を処理対象単語の拡張特徴ベクトルという場合がある。
【0023】
このように、第1複数単語特徴処理部102おいて、算出した各単語数での複合語ベクトルと、処理対象単語の特徴ベクトルとの内積をとることで、2単語の特徴ベクトルと3単語の特徴ベクトルと4単語の特徴ベクトルとのいずれの値が有効であるかが確率(重み,重要度)で表される。
【0024】
拡張特徴ベクトルの値には、処理対象単語の特徴ベクトルが反映されるとともに、当該処理対象単語を含む複数の単語の情報(複合語ベクトル)が反映されているといえる。
また、
図2においては、便宜上、順方向の言語モデルを示したが、第1複数単語特徴処理部102においては、双方向の言語モデルを用いる。
図3は実施形態の一例としての情報処理装置1における逆方向の言語モデルを例示する図である。
図3に示す例は、テキストの末尾から先頭に向かう逆方向に沿って選択した複数の単語を組み合わせて複合語ベクトルを生成する逆方向モードでの処理を示す。
【0025】
順方向のみの言語モデルでは、先頭の語の複合語を考慮できないため、逆方向の言語モデルも用いることが望ましい。双方向の言語モデルを用いることで、BERTのようなマスクした単語を予測するような言語モデルでも利用することができる。
【0026】
第1パラメータ更新部103は、第1複数単語特徴処理部102によって算出された拡張特徴ベクトルを訓練データとして用いて、後続する単語を予測する言語モデルの訓練を行なう。
【0027】
第1パラメータ更新部103は、第1複数単語特徴処理部102が算出した拡張特徴ベクトル(訓練データ)を言語モデルに入力し、処理対象単語に後続する語を予測させる。そして、第1パラメータ更新部103は、入力テキストにおける処理対象単語に後続する語を正解データとして用いて、言語モデルのパラメータを更新する。
【0028】
第1パラメータ更新部103は、例えば、勾配降下法を用いて、訓練データに対する言語モデルの推論結果と正解データとの誤差を定義した損失関数を小さくする方向に、ニューラルネットワークのパラメータを更新することによって、パラメータの最適化を行なう。
【0029】
第2学習処理部200は、情報抽出モデルの訓練(機械学習)を行なう。
情報抽出モデルは、例えば、入力されるテキストに含まれる単語に基づき、当該単語に関する情報を抽出する機械学習モデルである。情報抽出モデルは、例えば、テキストに含まれる複数の単語が固有名詞であるか否かを予測(推定)する。
第2学習処理部200は、
図1に示すように、第2単語処理部201,第2複数単語特徴処理部202および第2パラメータ更新部203を備える。
【0030】
第2学習処理部200には、情報抽出学習データが入力される。情報抽出学習データは複数の単語を備えるテキストである。情報抽出学習データは、第1学習処理部100に入力される入力データと異なってよい。
【0031】
情報抽出学習データは、単語と正解データ(正解ラベル)とを備える。正解ラベルは、例えば、対応する単語が固有名詞であるか否かを示す情報であってもよい。情報抽出学習データは第2訓練用データである。
【0032】
第2単語処理部201は、第1学習処理部100によって訓練された言語モデルに、情報抽出学習データを構成する単語を入力することで、当該単語に後続する(次の)単語を予測(推定)させる。
第2単語処理部201は、言語モデルに、情報抽出学習データを構成する複数の単語を順次入力することで、各単語に後続する単語の予測を順次行なう。
第2単語処理部201は、第1単語処理部101と同様に、予測された各単語を、例えば、LSTMネットワークを用いてそれぞれベクトル化する。
【0033】
第2複数単語特徴処理部202は、第2単語処理部201が算出した各単語をベクトル化した値に基づいて、テキスト中において連続する複数の単語を組み合わせた複合語の特徴ベクトルを算出する。
第2複数単語特徴処理部202は、第1複数単語特徴処理部102と同様の手法を用いて、複数種類の単語数での複合語ベクトルをそれぞれ生成してよい。
【0034】
また、第2複数単語特徴処理部202は、算出した各単語数での複合語ベクトルと、処理対象単語の特徴ベクトルとの内積をとることで、処理対象単語の拡張特徴ベクトルを算出する。
第2学習処理部200においては、情報抽出モデルにおいて、固有名詞の抽出時に、単語に加えて複合語の内部表現が利用される。
【0035】
第2パラメータ更新部203は、第2複数単語特徴処理部202によって算出された拡張特徴ベクトルを訓練データとして用いて、情報抽出モデルの訓練を行なう。
【0036】
第2パラメータ更新部203は、第2複数単語特徴処理部202が算出した拡張特徴ベクトルを訓練データとして用いるとともに、情報抽出学習データに含まれる正解ラベルを正解データとして用いて、情報抽出モデルの訓練を行なう。
【0037】
すなわち、第2パラメータ更新部203は、第2パラメータ更新部203が算出した拡張特徴ベクトルを情報抽出モデルに入力して、例えば、対応する単語が固有名詞であるか否かを予測させる。そして、第2パラメータ更新部203は、予測結果と情報抽出学習データに含まれる正解ラベルとに基づいて、情報抽出モデルのパラメータを更新する。
【0038】
第2パラメータ更新部203は、例えば、勾配降下法を用いて、訓練データに対する情報抽出モデルの推論結果と正解データとの誤差を定義した損失関数を小さくする方向に、ニューラルネットワークのパラメータを更新することによって、パラメータの最適化を行なう。
【0039】
(B)動作
上述の如く構成された実施形態の一例としての情報処理装置1における機械学習モデルの訓練方法を、
図4に示すフローチャート(ステップA1~A13)に従って説明する。
【0040】
図4に示すフローチャートにおいて、ステップA1~A6が第1学習処理部100による処理(事前学習処理)を示し、ステップA7~A13が第2学習処理部200による処理(情報抽出処理)を示す。
【0041】
ステップA1において、第1単語処理部101が、入力テキストを構成する単語を言語モデルに入力することで、当該単語に後続する(次の)単語を予測させる。
【0042】
ステップA2において、第1単語処理部101は、予測された各単語を、例えば、LSTMネットワークを用いてそれぞれベクトル化する。すなわち、第1単語処理部101は単語に対応する内部状態を構築する。
【0043】
ステップA3において、第1複数単語特徴処理部102が、第1単語処理部101が算出した各単語をベクトル化した値に基づいて、テキスト中において連続する複数の単語を組み合わせた複合語ベクトルを算出する。すなわち、第1複数単語特徴処理部102は、複合語の内部状態を構築する。
【0044】
ステップA4において第1パラメータ更新部103は、第1複数単語特徴処理部102が算出した拡張特徴ベクトルを、ステップA1において用いた言語モデルに入力して、処理対象単語に後続する単語を予測させる。
【0045】
ステップA5において、第1パラメータ更新部103は、テキストにおける処理対象単語に後続する語を正解データとして用いて、言語モデルのパラメータを更新する。
【0046】
ステップA6において、第1パラメータ更新部103は、言語モデルの訓練が収束したかを判断する。第1パラメータ更新部103は、例えば、言語モデルの予測結果が所定の精度に達した場合や、訓練の回数が規定のエポック数に達した場合に、言語モデルの訓練が収束したと判断してよい。
【0047】
言語モデルの訓練が収束していない場合には(ステップA6のNOルート参照)、ステップA1に戻る。一方、言語モデルの訓練が収束した場合には(ステップA6のYESルート参照)、ステップA7に移行する。
【0048】
ステップA7において、第2単語処理部201が、情報抽出学習データのテキストを構成する単語を、ステップA1~A6において訓練された言語モデルに入力することで、当該単語に後続する(次の)単語を予測させる。
【0049】
ステップA8において、第2単語処理部201は、予測された各単語を、例えば、LSTMネットワークを用いてそれぞれベクトル化する。すなわち、第2単語処理部201は単語に対応する内部状態を構築する。
【0050】
ステップA9において、第2複数単語特徴処理部202が、第2単語処理部201が算出した各単語をベクトル化した値に基づいて、テキスト中において連続する複数の単語を組み合わせた複合語ベクトルを算出する。すなわち、第2複数単語特徴処理部202は、複合語の内部状態を構築する。
【0051】
ステップA10において、第2パラメータ更新部203は、第2複数単語特徴処理部202が算出した拡張特徴ベクトルを訓練データとして用いるとともに、情報抽出学習データに含まれる正解ラベルを正解データとして用いて、情報抽出モデルの訓練を行なう。
【0052】
ステップA11において、第2パラメータ更新部203は、第2複数単語特徴処理部202が算出した拡張特徴ベクトルを情報抽出モデルに入力して、例えば、対応する単語が固有名詞であるか否かを予測させる。
【0053】
ステップA12において、第2パラメータ更新部203は、ステップA11において取得された予測結果と情報抽出学習データに含まれる正解ラベルとに基づいて、情報抽出モデルのパラメータを更新する。
【0054】
ステップA13において、第2パラメータ更新部203は、情報抽出モデルの訓練が収束したかを判断する。第2パラメータ更新部203は、例えば、情報抽出モデルの予測結果が所定の精度に達した場合や、訓練の回数が規定のエポック数に達した場合に、情報抽出モデルの訓練が収束したと判断してよい。
【0055】
情報抽出モデルの訓練が収束していない場合には(ステップA13のNOルート参照)、ステップA7に戻る。一方、情報抽出モデルの訓練が収束した場合には(ステップA13のYESルート参照)、処理を終了する。
【0056】
(C)効果
このように、実施形態の一例としての情報処理装置1によれば、第1学習処理部100による事前学習処理において、第1複数単語特徴処理部102が、テキスト中において連続して登場する複数単語に基づいて複合語ベクトルを算出する。そして、第1複数単語特徴処理部102が、テキスト中において連続する複数の単語を組み合わせた複合語の特徴ベクトルを算出する。これにより、第2学習処理部200における複合語の曖昧性の影響を低下させることができる。例えば、「ワシントン」という単語について、地名である可能性があるが、複合語「ジョージワシントン」を考慮することで、「ワシントン」を人名として正しく判別することができる。
【0057】
また、第2学習処理部200による情報抽出処理においても、第2複数単語特徴処理部202がテキスト中において連続して登場する複数単語に基づいて複合語ベクトルを算出する。そして、第2複数単語特徴処理部202が、テキスト中において連続する複数の単語を組み合わせた複合語の特徴ベクトルを算出する。これによっても、第2学習処理部200における複合語の曖昧性の影響を低下させることができる。
【0058】
第1複数単語特徴処理部102において、複合語を直接、言語モデルの学習に組み込むことで、構文木を完全に構築する必要がない。複合語を自動的に構築するのみであるため、構文木を完全に構築する場合よりエラーの影響が少ない。
【0059】
本情報処理装置1による手法を、複合語を考慮しないモデルと比較すると、一般ドメインのベンチマークデータでF-scoreが0.08ポイント向上し、化学ドメインでは、8種類すべてのベンチマークデータで性能が向上した。すなわち、第1学習処理部100による事前学習処理において、第1複数単語特徴処理部102が、テキスト中において連続して登場する複数単語に基づいて複合語ベクトルを算出することで、情報抽出処理において性能が向上する。
【0060】
(D)その他
図5は実施形態の一例としての情報処理装置1のハードウェア構成を例示する図である。
情報処理装置1は、例えば、プロセッサ11,メモリ12,記憶装置13,グラフィック処理装置14,入力インタフェース15,光学ドライブ装置16,機器接続インタフェース17およびネットワークインタフェース18を構成要素として有する。これらの構成要素11~18は、バス19を介して相互に通信可能に構成される。
【0061】
プロセッサ(処理部)11は、情報処理装置1全体を制御する。プロセッサ11は、マルチプロセッサであってもよい。プロセッサ11は、例えばCPU,MPU(Micro Processing Unit),DSP(Digital Signal Processor),ASIC(Application Specific Integrated Circuit),PLD(Programmable Logic Device),FPGA(Field Programmable Gate Array),GPU(Graphics Processing Unit)のいずれか一つであってもよい。また、プロセッサ11は、CPU,MPU,DSP,ASIC,PLD,FPGA,GPUのうちの2種類以上の要素の組み合わせであってもよい。
【0062】
そして、プロセッサ11が制御プログラム(機械学習プログラム,生成プログラム,予測プログラム:いずれも図示省略)を実行することにより、
図1に例示した、第1学習処理部100および第2学習処理部200としての機能が実現される。
【0063】
なお、情報処理装置1は、例えばコンピュータ読み取り可能な非一時的な記録媒体に記録されたプログラム(機械学習プログラム,生成プログラム,予測プログラム,OSプログラム)を実行することにより、第1学習処理部100および第2学習処理部200としての機能を実現する。OSはOperating Systemの略語である。
【0064】
情報処理装置1に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、情報処理装置1に実行させるプログラムを記憶装置13に格納しておくことができる。プロセッサ11は、記憶装置13内のプログラムの少なくとも一部をメモリ12にロードし、ロードしたプログラムを実行する。
【0065】
また、情報処理装置1(プロセッサ11)に実行させるプログラムを、光ディスク16a,メモリ装置17a,メモリカード17c等の非一時的な可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ11からの制御により、記憶装置13にインストールされた後、実行可能になる。また、プロセッサ11が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
【0066】
メモリ12は、ROM(Read Only Memory)およびRAM(Random Access Memory)を含む記憶メモリである。メモリ12のRAMは情報処理装置1の主記憶装置として使用される。RAMには、プロセッサ11に実行させるプログラムの少なくとも一部が一時的に格納される。また、メモリ12には、プロセッサ11による処理に必要な各種データが格納される。
【0067】
記憶装置13は、ハードディスクドライブ(Hard Disk Drive:HDD)、SSD(Solid State Drive)、ストレージクラスメモリ(Storage Class Memory:SCM)等の記憶装置であって、種々のデータを格納するものである。記憶装置13は、情報処理装置1の補助記憶装置として使用される。
【0068】
記憶装置13には、OSプログラム,制御プログラムおよび各種データが格納される。制御プログラムには機械学習プログラム,生成プログラム,予測プログラムが含まれる。
【0069】
また、メモリ12や記憶装置13には、第1単語処理部101や第2単語処理部201により算出された特徴ベクトルの各値や、第1複数単語特徴処理部102や第2複数単語特徴処理部202により算出された各複合語ベクトルの値を記憶してもよい。また、第1パラメータ更新部103や第2パラメータ更新部203により算出された各パラメータをメモリ12や記憶装置13に記憶させてもよい。
【0070】
なお、補助記憶装置としては、SCMやフラッシュメモリ等の半導体記憶装置を使用することもできる。また、複数の記憶装置13を用いてRAID(Redundant Arrays of Inexpensive Disks)を構成してもよい。
【0071】
グラフィック処理装置14には、モニタ14aが接続されている。グラフィック処理装置14は、プロセッサ11からの命令に従って、画像をモニタ14aの画面に表示させる。モニタ14aとしては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置等が挙げられる。
【0072】
入力インタフェース15には、キーボード15aおよびマウス15bが接続されている。入力インタフェース15は、キーボード15aやマウス15bから送られてくる信号をプロセッサ11に送信する。なお、マウス15bは、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル,タブレット,タッチパッド,トラックボール等が挙げられる。
【0073】
光学ドライブ装置16は、レーザ光等を利用して、光ディスク16aに記録されたデータの読み取りを行なう。光ディスク16aは、光の反射によって読み取り可能にデータを記録された可搬型の非一時的な記録媒体である。光ディスク16aには、DVD(Digital Versatile Disc),DVD-RAM,CD-ROM(Compact Disc Read Only Memory),CD-R(Recordable)/RW(ReWritable)等が挙げられる。
【0074】
機器接続インタフェース17は、情報処理装置1に周辺機器を接続するための通信インタフェースである。例えば、機器接続インタフェース17には、メモリ装置17aやメモリリーダライタ17bを接続することができる。メモリ装置17aは、機器接続インタフェース17との通信機能を搭載した非一時的な記録媒体、例えばUSB(Universal Serial Bus)メモリである。メモリリーダライタ17bは、メモリカード17cへのデータの書き込み、またはメモリカード17cからのデータの読み出しを行なう。メモリカード17cは、カード型の非一時的な記録媒体である。
【0075】
ネットワークインタフェース18は、ネットワークに接続される。ネットワークインタフェース18は、ネットワークを介してデータの送受信を行なう。ネットワークには他の情報処理装置や通信機器等が接続されてもよい。
本実施形態の各構成および各処理は、必要に応じて取捨選択することができ、あるいは適宜組み合わせてもよい。
そして、開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。
【0076】
例えば、
図2に示す例において、第1複数単語特徴処理部102が、2単語,3単語および4単語の特徴ベクトルを算出しているが、これに限定されるものではない、第1複数単語特徴処理部102は5単語以上の特徴ベクトルを算出してもよい。また、第2複数単語特徴処理部202についても、同様に、5単語以上の特徴ベクトルを算出してもよい。
【0077】
また、上述した実施形態においては、第1複数単語特徴処理部102が順方向モードおよび逆方向モードの双方向の言語モデルにおいて複合語ベクトルをそれぞれ生成する例を示しているがこれに限定されるものではない。第1複数単語特徴処理部102は順方向の言語モデルおよび逆方向の言語モデルの少なくとも一方のみを用いてもよい。また、第2複数単語特徴処理部202についても、順方向の言語モデルおよび逆方向の言語モデルの少なくとも一方のみを用いてもよい。
【0078】
さらに、上述した実施形態においては、情報処理装置1が第1学習処理部100および第2学習処理部200としての機能を備えているが、これに限定されるものではない。例えば、第1学習処理部100および第2学習処理部200のいずれか一方としての機能を、当該情報処理装置1とネットワークを介して接続された他の情報処理装置において実現してもよい。
【0079】
また、情報処理装置1が、第1学習処理部100および第2学習処理部200の他に、他の機能を備えてもよい。例えば、情報処理装置1に、第2学習処理部200によって訓練された情報抽出モデルを用いて文書データに対する予測を行なう予測機能を備えてもよく、適宜変更して実施することができる。
また、上述した開示により本実施形態を当業者によって実施・製造することが可能である。
【0080】
(E)付記
以上の実施形態に関し、さらに以下の付記を開示する。
(付記1)
複数の単語を含む文書データに基づいて、前記複数の単語それぞれの特徴ベクトルを生成し、
生成した前記複数の単語それぞれの特徴ベクトルに基づいて、2以上の単語を組み合わせた複合語の特徴ベクトルを生成する、
処理をコンピュータに実行させ、
前記複数の単語それぞれの特徴ベクトルと前記複合語の特徴ベクトルとは、前記文書データにおける一つの単語に後続する単語の予測に用いられる
ことを特徴とする生成プログラム。
【0081】
(付記2)
複数種類の組み合わせ数の単語で前記複合語を構成する
処理を前記コンピュータに実行させることを特徴とする付記1に記載の生成プログラム。
【0082】
(付記3)
前記複合語の特徴ベクトルを生成する処理は、
前記文書データの先頭から末尾に向かう順方向に沿って選択した前記複数の単語を組み合わせて前記複合語の特徴ベクトルを生成する順方向モードと、前記文書データの末尾から先頭に向かう逆方向に沿って選択した前記複数の単語を組み合わせて前記複合語の特徴ベクトルを生成する逆方向モードとの少なくとも一方のモードで行なう処理を含む
ことを特徴とする付記1または2に記載の生成プログラム。
【0083】
(付記4)
複数の単語を含む文書データに基づいて生成された前記複数の単語それぞれの特徴ベクトルと、前記複数の単語それぞれの特徴ベクトルに基づいて生成された、2以上の単語を組み合わせた複合語の特徴ベクトルとを用いて、前記文書データにおける一つの単語に後続する単語を予測する、
処理をコンピュータに実行させることを特徴とする予測プログラム。
【0084】
(付記5)
複数種類の組み合わせ数の単語で前記複合語を構成する
処理を前記コンピュータに実行させることを特徴とする付記4に記載の予測プログラム。
【0085】
(付記6)
前記複合語の特徴ベクトルを生成する処理は、
前記文書データの先頭から末尾に向かう順方向に沿って選択した前記複数の単語を組み合わせて前記複合語の特徴ベクトルを生成する順方向モードと、前記文書データの末尾から先頭に向かう逆方向に沿って選択した前記複数の単語を組み合わせて前記複合語の特徴ベクトルを生成する逆方向モードとの少なくとも一方のモードで行なう処理を含む
ことを特徴とする付記4または5に記載の予測プログラム。
【0086】
(付記7)
複数の単語を含む文書データに基づいて、前記複数の単語それぞれの特徴ベクトルを生成し、
生成した前記複数の単語それぞれの特徴ベクトルに基づいて、2以上の単語を組み合わせた複合語の特徴ベクトルを生成する、
処理部を備え、
前記複数の単語それぞれの特徴ベクトルと前記複合語の特徴ベクトルとは、前記文書データにおける一つの単語に後続する単語の予測に用いられる
ことを特徴とする情報処理装置。
【0087】
(付記8)
前記処理部が、
複数種類の組み合わせ数の単語で前記複合語を構成する
処理を行なうことを特徴とする付記7に記載の情報処理装置。
【0088】
(付記9)
前記処理部が、
前記複合語の特徴ベクトルの生成を、
前記文書データの先頭から末尾に向かう順方向に沿って選択した前記複数の単語を組み合わせて前記複合語の特徴ベクトルを生成する順方向モードと、前記文書データの末尾から先頭に向かう逆方向に沿って選択した前記複数の単語を組み合わせて前記複合語の特徴ベクトルを生成する逆方向モードとの少なくとも一方のモードで行なう
ことを特徴とする、付記7または8に記載の情報処理装置。
【0089】
(付記10)
複数の単語を含む文書データに基づいて生成された前記複数の単語それぞれの特徴ベクトルと、前記複数の単語それぞれの特徴ベクトルに基づいて生成された、2以上の単語を組み合わせた複合語の特徴ベクトルとを用いて、前記文書データにおける一つの単語に後続する単語を予測する、
処理部を備えることを特徴とする情報処理装置。
【0090】
(付記11)
前記処理部が、
複数種類の組み合わせ数の単語で前記複合語を構成する
ことを特徴とする付記10に記載の情報処理装置。
【0091】
(付記12)
前記処理部が、
前記複合語の特徴ベクトルの生成を、
前記文書データの先頭から末尾に向かう順方向に沿って選択した前記複数の単語を組み合わせて前記複合語の特徴ベクトルを生成する順方向モードと、前記文書データの末尾から先頭に向かう逆方向に沿って選択した前記複数の単語を組み合わせて前記複合語の特徴ベクトルを生成する逆方向モードとの少なくとも一方のモードで行なう
ことを特徴とする付記10または11に記載の情報処理装置。
【0092】
(付記13)
複数の単語を含む文書データに基づいて、前記複数の単語それぞれの特徴ベクトルを生成し、
生成した前記複数の単語それぞれの特徴ベクトルに基づいて、2以上の単語を組み合わせた複合語の特徴ベクトルを生成する、
処理をコンピュータが実行し、
前記複数の単語それぞれの特徴ベクトルと前記複合語の特徴ベクトルとは、前記文書データにおける一つの単語に後続する単語の予測に用いられる
ことを特徴とする生成方法。
【0093】
(付記14)
複数種類の組み合わせ数の単語で前記複合語を構成する
処理を前記コンピュータが実行することを特徴とする付記13に記載の生成方法。
【0094】
(付記15)
前記複合語の特徴ベクトルを生成する処理は、
前記文書データの先頭から末尾に向かう順方向に沿って選択した前記複数の単語を組み合わせて前記複合語の特徴ベクトルを生成する順方向モードと、前記文書データの末尾から先頭に向かう逆方向に沿って選択した前記複数の単語を組み合わせて前記複合語の特徴ベクトルを生成する逆方向モードとの少なくとも一方のモードで行なう処理を含む
ことを特徴とする付記13または14に記載の生成方法。
【0095】
(付記16)
複数の単語を含む文書データに基づいて生成された前記複数の単語それぞれの特徴ベクトルと、前記複数の単語それぞれの特徴ベクトルに基づいて生成された、2以上の単語を組み合わせた複合語の特徴ベクトルとを用いて、前記文書データにおける一つの単語に後続する単語を予測する、
処理をコンピュータが実行することを特徴とする予測方法。
【0096】
(付記17)
複数種類の組み合わせ数の単語で前記複合語を構成する
処理を前記コンピュータが実行することを特徴とする付記16に記載の予測方法。
【0097】
(付記18)
前記複合語の特徴ベクトルを生成する処理は、
前記文書データの先頭から末尾に向かう順方向に沿って選択した前記複数の単語を組み合わせて前記複合語の特徴ベクトルを生成する順方向モードと、前記文書データの末尾から先頭に向かう逆方向に沿って選択した前記複数の単語を組み合わせて前記複合語の特徴ベクトルを生成する逆方向モードとの少なくとも一方のモードで行なう処理を含む
ことを特徴とする付記16または17に記載の予測方法。
【符号の説明】
【0098】
1 情報処理装置
11 プロセッサ(処理部)
12 メモリ
13 記憶装置
14 グラフィック処理装置
14a モニタ
15 入力インタフェース
15a キーボード
15b マウス
16 光学ドライブ装置
16a 光ディスク
17 機器接続インタフェース
17a メモリ装置
17b メモリリーダライタ
17c メモリカード
18 ネットワークインタフェース
18a ネットワーク
19 バス
100 第1学習処理部
101 第1単語処理部
102 第1複数単語特徴処理部
103 第1パラメータ更新部
200 第2学習処理部
201 第2単語処理部
202 第2複数単語特徴処理部
203 第2パラメータ更新部