(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023088106
(43)【公開日】2023-06-26
(54)【発明の名称】情報処理方法、情報処理装置、及びプログラム
(51)【国際特許分類】
G06F 40/44 20200101AFI20230619BHJP
G06N 20/00 20190101ALI20230619BHJP
G06F 16/38 20190101ALI20230619BHJP
【FI】
G06F40/44
G06N20/00 130
G06F16/38
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2021202764
(22)【出願日】2021-12-14
(71)【出願人】
【識別番号】000006747
【氏名又は名称】株式会社リコー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】伊東 秀夫
【テーマコード(参考)】
5B091
5B175
【Fターム(参考)】
5B091AA15
5B091EA01
5B175DA01
5B175FB02
(57)【要約】 (修正有)
【課題】複数の分類に属する単語列に対応する単一の言語モデルを学習する情報処理方法、情報処理装置及びプログラムを提供する。
【解決手段】社内LAN等の通信ネットワークに接続する端末装置と情報処理装置を含む情報処理システムにおいて、情報処理装置5は、単語列を入力する単語列入力部10と、単語列が属する少なくとも一つの分類ラベルを入力する分類ラベル入力部11と、単語列と分類ラベルを連結した入力データを作成する連結部12と、複数の入力データを用いて、分類ラベルに属する単語列における単語の出現確率を計算することが可能な単一の言語モデルを学習する学習部13と、学習した言語モデルのパラメータを記憶する言語モデル記憶部4と、を含む。
【選択図】
図3
【特許請求の範囲】
【請求項1】
情報処理装置による情報処理方法であって、前記情報処理装置が、
単語列が属する少なくとも一つの分類ラベルを入力し、
前記単語列と前記分類ラベルを連結した入力データを作成し、
複数の前記入力データを用いて、前記分類ラベルに属する前記単語列における単語の出現確率を計算することが可能な単一の言語モデルを学習し、
前記学習した言語モデルのパラメータを記憶する、情報処理方法。
【請求項2】
前記言語モデルにおいて、前記分類ラベルを前記単語列の単語と同等に扱う、請求項1に記載の情報処理方法。
【請求項3】
前記入力データにおける前記単語列および前記分類ラベルの要素数に対して、それぞれ予め定めた最大値を設定し、前記要素数が前記最大値より小さい場合は、前記要素数が前記最大値と等しくなるように、予め定めた値を持つ要素を追加することにより前記入力データを作成する請求項1に記載の情報処理方法。
【請求項4】
学習した前記言語モデルを用いて、前記分類ラベルに対応する分類ベクトルを計算する、請求項1乃至請求項3のいずれか一項に記載の情報処理方法。
【請求項5】
学習した前記言語モデルを用いて、前記分類ラベルに属する前記単語列に対応する単語ベクトルを計算する、請求項1乃至請求項3のいずれか一項に記載の情報処理方法。
【請求項6】
前記入力データにおける前記分類ラベルを変更して学習した前記言語モデルに入力することにより、変更後の前記分類ラベルにおける単語の出現確率を計算する、請求項1乃至請求項3のいずれか一項に記載の情報処理方法。
【請求項7】
単語列が属する少なくとも一つの分類ラベルを入力し、
前記単語列と前記分類ラベルを連結した入力データを作成し、
複数の前記入力データを用いて、前記分類ラベルに属する前記単語列における単語の出現確率を計算することが可能な単一の言語モデルを学習し、
学習した前記言語モデルのパラメータを記憶する、処理を情報処理装置に実行させる、プログラム。
【請求項8】
単語列が属する少なくとも一つの分類ラベルを入力する分類ラベル入力部と、
前記単語列と前記分類ラベルを連結した入力データを作成する連結部と、
複数の前記入力データを用いて、前記分類ラベルに属する前記単語列における単語の出現確率を計算することが可能な単一の言語モデルを学習する学習部と、
学習した前記言語モデルのパラメータを記憶する言語モデル記憶部と、
を有する情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理方法、情報処理装置、及びプログラムに関する。
【背景技術】
【0002】
従来から、単語列を用いて学習した言語モデルを用いて、単語列を構成する単語の意味を表現するベクトル(単語ベクトル)を計算する技術や、単語の出現確率に基づいてテキスト生成を行う技術などがある。特許文献1には、長い文脈の情報を利用して次の単語を適切に予測するために用いる言語モデルを学習する技術が公開されている。
【発明の概要】
【発明が解決しようとする課題】
【0003】
しかしながら、従来の技術では、複数の分類に属する単語列に対応する単一の言語モデルを学習することができなかった。また、単語列が属する分類ごとに言語モデルを構築して学習する場合、分類の数が多くなるほど学習に必要となる時間や処理のコストが大きくなる問題があった。
【0004】
本発明の実施形態は、上記課題に鑑み、複数の分類に属する単語列に対応する単一の言語モデルを学習することを目的とする。
【課題を解決するための手段】
【0005】
上述した課題を解決するために、本発明は、情報処理装置による情報処理方法であって、前記情報処理装置が、単語列が属する少なくとも一つの分類ラベルを入力し、前記単語列と前記分類ラベルを連結した入力データを作成し、複数の前記入力データを用いて、前記分類ラベルに属する前記単語列における単語の出現確率を計算することが可能な単一の言語モデルを学習し、前記学習した言語モデルのパラメータを記憶する、ことを特徴とする。
【発明の効果】
【0006】
本発明の実施形態によれば、複数の分類に属する単語列に対応する単一の言語モデルを学習することができる。
【図面の簡単な説明】
【0007】
【
図1】本発明の実施形態に係る情報処理システムの概略図の一例を示す図である。
【
図2】本発明の実施形態に係る情報処理装置のハードウェア構成の一例を示す図である。
【
図3】本発明の第1実施形態に係る情報処理装置における機能ブロックの構成図の一例を示す図である。
【
図4】本発明の第1実施形態に係る言語モデルの学習における処理に関するフローチャートの一例を示す図である。
【
図5】本発明の第1の実施形態に係る単語列と分類ラベルおよび入力データの一例を示す図である。
【
図6】本発明の第1の実施形態に係る言語モデルの構成の一例を示す図である。
【
図7】本発明の第2実施形態に係る情報処理装置における機能ブロックの構成図の一例を示す図である。
【
図8】本発明の第2実施形態に係る処理に関するフローチャートの一例を示す図である。
【
図9】本発明の第3実施形態に係る情報処理装置における機能ブロックの構成図の一例を示す図である。
【
図10】本発明の第3実施形態に係る処理に関するフローチャートの一例を示す図である。
【発明を実施するための形態】
【0008】
以下、添付図面を参照しながら、本発明に係る情報処理方法、情報処理装置、及びプログラムの実施形態を詳細に説明する。
【0009】
[第1の実施形態]
<システム概要>
図1は、本発明の実施形態に係る情報処理システムの概略図の一例を示す図である。情報処理システム1は、例えば、社内LAN(Local Area Network)等の通信ネットワーク2に接続する端末装置3と情報処理装置5を含む。端末装置3は、言語モデルの学習に必要となる複数の単語列および単語列が属する分類(分野)を示す分類ラベルを通信ネットワーク2経由で情報処理装置5に送信する。単語列が属する分類には、例えば、特許文献の分類であるIPC(International Patent Classifiation)がある。従来技術では、IPCで分類される単語列に対して、数百~数千種類の言語モデルを学習する必要があった。情報処理装置5は、端末装置3から受信した単語列と分類ラベルに対して、単一の言語モデルを学習し、言語モデル記憶部4は、学習した言語モデルのパラメータを記憶する。また、情報処理装置5は、学習した言語モデルを用いて、単語列と分類ラベルに対するそれぞれ単語ベクトルと分類ベクトル、および単語の出現確率の計算を行うことが可能である。
【0010】
なお、
図1に示す情報処理システム1のシステム構成は一例である。例えば、情報処理システム1に含まれる端末装置3は1台としているが、任意の台数であってよい。また、通信ネットワーク2には、例えば、移動体通信又は無線LAN等の無線通信による接続区間が含まれていても良い。
【0011】
また、情報処理装置5は、端末装置3から言語モデルの学習に必要なデータを受信するものとしたが、これに限定されない。情報処理装置5は、情報処理装置5が有する入力装置等からデータの入力を受け付けてもよく、その場合には、端末装置3と通信しなくてもよい。
【0012】
また、言語モデル記憶部4は、情報処理装置5が有する構成としたが、これに限定されない。言語モデル記憶部4は、情報処理装置5の外部に設けられていてもよい。また、情報処理装置5は、複数の情報処理装置によって実現されてもよく、言い換えれば、情報処理装置5は、複数の情報処理装置を含んでもよい。
【0013】
<ハードウェア構成例>
図2は、本発明の実施形態に係る端末装置3および情報処理装置5のハードウェア構成の一例を示す図である。
図2に示されるように、端末装置3および情報処理装置5はコンピュータによって構築されており、CPU501、ROM502、RAM503、HD(Hard Disk)504、HDD(Hard Disk Drive)コントローラ505、ディスプレイ506、外部機器接続I/F(Interface)508、ネットワークI/F509、バスライン510、キーボード511、ポインティングデバイス512、DVD-RW(Digital Versatile Disk Rewritable)ドライブ514、メディアI/F516を備えている。
【0014】
これらのうち、CPU501は、端末装置3および情報処理装置5全体の動作を制御する。ROM502は、IPL等のCPU501の駆動に用いられるプログラムを記憶する。RAM503は、CPU501のワークエリアとして使用される。HD504は、プログラム等の各種データを記憶する。HDDコントローラ505は、CPU501の制御にしたがってHD504に対する各種データの読み出し又は書き込みを制御する。ディスプレイ506は、カーソル、メニュー、ウィンドウ、文字、又は画像などの各種情報を表示する。外部機器接続I/F508は、各種の外部機器を接続するためのインターフェースである。この場合の外部機器は、例えば、USB(Universal Serial Bus)メモリやプリンタ等である。ネットワークI/F509は、通信ネットワーク2を利用してデータ通信をするためのインターフェースである。バスライン510は、
図2に示されているCPU501等の各構成要素を電気的に接続するためのアドレスバスやデータバス等である。
【0015】
また、キーボード511は、文字、数値、又は各種指示などの入力に使用される複数のキーを備えた入力手段の一種である。ポインティングデバイス512は、各種指示の選択や実行、処理対象の選択、カーソルの移動などを行う入力手段の一種である。DVD-RWドライブ514は、着脱可能な記録媒体の一例としてのDVD-RW513に対する各種データの読み出し又は書き込みを制御する。なお、DVD-RWドライブ514は、DVD-RWに限らず、DVD-R等であってもよい。メディアI/F516は、フラッシュメモリ等の記録メディア515に対するデータの読み出し又は書き込み(記憶)を制御する。
【0016】
<機能について>
図3は、本発明の第1の実施形態に係る情報処理装置5における機能ブロックの構成図の一例を示す図である。情報処理装置5は、単語列入力部10、分類ラベル入力部11、連結部12、学習部13、ベクトル計算部14、および確率計算部15を有する。これら各部は、情報処理装置5にインストールされた1以上のプログラムに含まれる命令をCPU501が実行することで実現される機能又は手段である。言語モデル記憶部4は、例えば、情報処理装置5が有するHD504などの記憶装置によって実現可能である。
【0017】
単語列入力部10は、端末装置3などから単語列の入力を受け付け、入力された単語列を連結部12に出力する。
【0018】
分類ラベル入力部11は、端末装置3などから分類ラベルの入力を受け付け、入力された分類ラベルを連結部12に入力する。
【0019】
連結部12は、受信した単語列と分類ラベルを連結することにより、言語モデルを学習する際に言語モデルに入力する入力データを作成し、作成した入力データを学習部13に出力する。ここで、単語列が複数の分類に属する場合には、連結部12は、単語列に対応する複数の分類ラベルを連結することにより入力データを作成する。
【0020】
学習部13は、連結部12から受信した入力データを用いて、言語モデルの学習を行ない、学習した言語モデルのパラメータを言語モデル記憶部4に送信する。
【0021】
ベクトル計算部14は、言語モデルの学習時において、学習部13からの指示により、ベクトルの計算を行う。計算方法の詳細は後述する。
【0022】
確率計算部15は、言語モデルの学習時において、学習部13からの指示により、単語の出現確率の計算を行う。計算方法の詳細は後述する。
【0023】
言語モデル記憶部4は、学習部13から受信した言語モデルのパラメータを記憶する、あるいは記憶した言語モデルのパラメータを学習部13に送信する。
【0024】
<言語モデル学習処理>
続いて、フローチャートを用いて、言語モデルの学習における処理を説明する。
図4は、本発明の第1実施形態に係る言語モデルの学習における処理に関するフローチャートの一例を示す図である。以下、
図4の各ステップの処理について説明する。
【0025】
ステップS20:情報処理装置5の単語列入力部10と分類ラベル入力部11は、端末装置3などからそれぞれ単語列と分類ラベルの入力を受け付け、入力された単語列と分類ラベルを連結部12に出力する。
【0026】
ステップS21:情報処理装置5の連結部12は、受信した単語列と分類ラベルを連結することにより、言語モデルの学習において言語モデルに入力する入力データを作成する。
図5は、本発明の第1の実施形態に係る単語列と分類ラベルおよび入力データの一例を示す図である。
図5において、単語列50は、「衣服」「に対する」「インク」「ジェット」の4つの単語を有し、分類ラベル51は、「B41J2」「D06P5」の2種類の分類ラベルを有する。入力データ52は、左から分類ラベル51を全て並べた後、続けて単語列50を並べることにより作成される。ここで、単語列50と分類ラベル51が有する要素数に関して最大値を定め、入力された単語列50と分類ラベル51の要素数が最大値未満の場合は、データが無いことを示すデータなどを挿入するようにしてもよい。ここで、要素数とは、単語列50に含まれる単語の数、および分類ラベル51に含まれる分類ラベルの数である。例えば、分類ラベル51の要素数の最大値を3とした場合、入力データ52において、「D06P5」の後に、データが無いことを示すデータ(例えば、「blank」)または予め定めた値が分類ラベル51の要素として追加され、続いて、単語列50の「衣服」のデータが連結される。
【0027】
図6は、本発明の第1の実施形態に係る言語モデルの構成の一例を示す図である。
図6に示すように、言語モデルは、一例として、第1層、第2層、および第3層の3つの層で構成される。学習部13は、入力データ52に含まれる各要素に対して、ランダム値で初期化したベクトル(埋め込みベクトル)を計算して、言語モデルの第1層に入力する。ここで、各単語と分類ラベルに対する埋め込みベクトルの次元数は同一とする。また、単語列50と分類ラベル51に対応する埋め込みベクトルは、
図6に示す言語モデルに対して、先頭(左側)の列から、まず分類ラベル51の埋め込みベクトルを入力し、続いて、単語列50の埋め込みベクトルを入力する。即ち、
図6の言語モデルでは、先頭(左側)の列から2列が分類ラベル51の埋め込みベクトルに対応し、次の列から4列が単語列50の埋め込みベクトルに対応する。あるいは、
図5で説明したように、単語列50と分類ラベル51が有する要素数に関して最大値を定め、入力された単語列50と分類ラベル51の要素数が最大値未満の場合は、データが無いことを示すデータまたは予め定めた値を挿入するようにして、言語モデルの列の数を定めても良い。また、言語モデルの学習において、分類ラベルに対するベクトルや出現確率の計算は、単語に対する計算と区別なく同様に行われる。
【0028】
更に、学習部13は、単語の一部を[MASK」で表すプレースホルダ―に置換して、単語と同様に埋め込みベクトルを計算して、第1層に入力する。
図6では、「衣服」の単語が[MASK」で置き換えられている。
【0029】
言語モデルの第2層と第3層は、
図6において「Vec」と記された、第1層で入力された単語に対応する単語ベクトルと分類ラベルに対応する分類ベクトルで構成される。単語ベクトルと分類ベクトルは、総称して単にベクトルと呼ばれる場合もある。
【0030】
言語モデルの最上段では、その列の位置に対応する単語または分類ラベルに対する出現確率が出力される。
図4に戻って説明する。
【0031】
ステップS22:情報処理装置5の学習部13は、言語モデルの学習を行うために、ベクトルと単語の出現確率を計算する。まず、学習部13は、ベクトル計算部14に、
図6に示した第2層と第3層のベクトルを計算させる。ベクトル計算部14は、以下の数式1を用いてベクトルを計算する。
【0032】
【数1】
ここで、Vec(n,i)は、第n層(n=2,3)の先頭(
図6の言語モデルの左側)からi番目のベクトルである。第1層のベクトル(Vec(1,j))は、ステップS21で入力した埋め込みベクトルに相当する。また、weight(n-1,i,j)は、ベクトル間の重みであり、最初にランダム値で初期化され、言語モデルのパラメータとして学習時に値が更新される。
【0033】
次に、学習部13は、確率計算部15に単語の出現確率を計算させる。確率計算部15は、
図6の言語モデルの第3層における先頭(左側)からk番目にある単語の出現確率Pkを以下の数式2を用いて計算する。ここで、kはステークホルダの位置である(k=3)とする。
【0034】
【数2】
ここで、MはV行D列のランダム値で初期化された行列であり、Vは全単語数、Dはベクトルの次元数である。行列MとベクトルVecの転置の積であるV次元のベクトルが、Softmax関数に入力され、ベクトルの総和が1となるように正規化された出現確率Pkが得られる。Pkのi番目の要素は、先頭(左側)からi番目の単語の出現確率に相当する。
【0035】
また、Softmax関数は、ベクトルyとxの要素をそれぞれyiとxiとすると、以下の数式3を満たす式として表される。
【0036】
【数3】
ステップS23:情報処理装置5の学習部13は、前述の方法により計算された以下に示す言語モデルのパラメータの値を更新する。
・各単語、各分類ラベル、およびプレースホルダに対する埋め込みベクトル(Vec)
・ベクトルの計算において用いる重み(weight)
・単語の出現確率の計算に用いる行列M
これらの値の更新は、例えば、ステップS22で計算したPkにおける、その列の位置に実際に出現した単語(この例では、「衣服」に相当する)の出現確率pが大きくなるように行われる。具体的には、
図6に示した言語モデルの構成に従って、負の対数確率である-log(p)を誤差とした逆誤差伝搬法により、誤差が小さくなる方向に各々のパラメータの値が更新される。
【0037】
ステップS24:情報処理装置5の学習部13は、言語モデルを学習するための全ての入力データ52に対して、ステップS25の処理を実行する。即ち、学習部13は、全ての入力データ52に対して、ステップ23の処理を実行してないならば、処理をステップS20に遷移させ、そうでないならば、処理をステップS25に遷移させる。
【0038】
ステップS25:情報処理装置5の学習部13は、ステップS20~ステップS24の処理において学習した言語モデルのパラメータを言語モデル記憶部4に送信する。言語モデル記憶部4は、受信した言語モデルのパラメータを記憶する。
【0039】
以上の処理により、情報処理装置5では、入力された単語列と単語列が属する分類を示す分類ラベルを連結した入力データを作成し、作成した入力データを用いて、単一の言語モデルの学習を行うことが可能である。即ち、単語列だけでなく、単語列が属する分類を示す分類ラベルを含む入力データを作成して用いることにより、単語列が所属する分類ごとに言語モデルを学習することなく、複数の分類に属する単語列に対応する単一の言語モデルを学習することが可能である。また、情報処理装置5では、言語モデルへの入力データにおける単語列50と分類ラベル51の要素数、および対応する言語モデルの第1層における埋め込みベクトルの要素数に対して、それぞれ予め定めた要素数の最大値とすることも可能である。即ち、まず、入力データにおける単語列および分類ラベルの要素数に対して、それぞれ予め定めた最大値を設定する。そして、要素数が最大値より小さい場合は、要素数が最大値と等しくなるように、予め定めた値を持つ要素を追加することにより入力データを作成する。予め定めた値を持つ要素を追加する処理は、連結部12が行ってもよいし、単語列入力部10または分類ラベル入力部11が行ってもよい。この処理により、予め定めた最大値以内で、様々な要素数を持つ単語列と分類ラベルに対応する単一の言語モデルを学習することが可能となる。
【0040】
[第2の実施形態]
第2の実施形態では、情報処理装置5は、第1の実施形態で学習した言語モデルを用いて、ベクトル(単語ベクトルおよび分類ベクトル)を計算する。
図7は、本発明の第2実施形態に係る情報処理装置5における機能ブロックの構成図の一例を示す図である。
図7において、単語列入力部10と分類ラベル入力部11の処理は、
図3で説明した処理と同じである。連結部12に関して、入力データ52を作成する方法は、
図3で説明した方法と同じであるが、作成した入力データ52を学習部13でなく、ベクトル計算部14に出力する点が異なる。
【0041】
ベクトル計算部14は、
図4のステップS22および数式1で示した言語モデルの学習時における方法と同様の手順により、ベクトル(単語ベクトルと分類ベクトル)の計算を行う。ここで、計算において必要となる言語モデルのパラメータは、言語モデル記憶部4から受信する。
【0042】
言語モデル記憶部4は、記憶している言語モデルのパラメータをベクトル計算部14に送信する。
【0043】
図8は、本発明の第2実施形態に係る処理に関するフローチャートの一例を示す図である。ステップS30とS31は、
図4のステップS20とS21と同じ手順で処理を実行する。
【0044】
ステップS32:情報処理装置5のベクトル計算部14は、言語モデル記憶部4に言語モデルのパラメータを要求して、言語モデル記憶部4から言語モデルのパラメータを受信する。
【0045】
ステップS33:情報処理装置5のベクトル計算部14は、
図4のステップS22および数式1で示した言語モデルの学習時における方法と同様の手順により、ベクトル(単語ベクトルと分類ベクトル)の計算を行う。ここで、ベクトル計算部14は、単語ベクトルのみ、または分類ベクトルのみを計算するようにしてもよい。また、ベクトル計算部14は、計算したベクトルを端末装置3に送信する、または情報処理装置5の表示装置に表示する、または情報処理装置5の記憶装置に記憶させるようにしてもよい。
【0046】
以上の処理により、情報処理装置5は、複数の分類に所属する単語列に対して学習された単一の言語モデルのパラメータを用いて、単語列および分類ラベルに対するベクトル(単語ベクトルおよび分類ベクトル)を計算することが可能である。単語ベクトルおよび分類ベクトルは、それぞれ単語間の意味の類似性および分類間の類似性の分析などに利用できる。例えば、単語ベクトル間の距離に基づいて、単語の意味の類似性を分析する。あるいは、分類ベクトル間の距離に基づいて、2つの分類(分野)の類似性を分析する。
【0047】
[第3の実施形態]
第3の実施形態では、情報処理装置5は、第1の実施形態で学習した言語モデルを用いて、単語の出現確率を計算する。ここで、言語モデルへの入力データにおける単語列50と分類ラベル51に関して、受信した分類ラベル51から変更した分類ラベル51を入力する。
図9は、本発明の第3実施形態に係る情報処理装置5における機能ブロックの構成図の一例を示す図である。
図9において、単語列入力部10の処理は、
図3で説明した処理と同じである。分類ラベル入力部11に関しては、端末装置3などから入力を受け付けた分類ラベル51を変更した分類ラベル51を連結部12に入力する。即ち、分類ラベル入力部11は、受信した単語列50と分類ラベル51の組み合わせとは異なる分類ラベル51を連結部12に入力する。連結部12に関しては、入力データ52を作成する方法は、
図3で説明した方法と同じであるが、作成した入力データ52を学習部13でなく、確率計算部15に出力する点が異なる。
【0048】
確率計算部15は、
図4のステップS22および数式2と数式3で示した言語モデルの学習時における方法と同様の手順により、単語の出現確率Pkの計算を行う。ここで、計算において必要となる言語モデルのパラメータは、言語モデル記憶部4から受信する。
【0049】
言語モデル記憶部4は、記憶している言語モデルのパラメータを確率計算部15に送信する。
【0050】
図10は、本発明の第3実施形態に係る処理に関するフローチャートの一例を示す図である。
【0051】
ステップS40:情報処理装置5の単語列入力部10と分類ラベル入力部11は、端末装置3などからそれぞれ単語列50と分類ラベル51の入力を受け付ける。単語列入力部10は、入力された単語列50を連結部12に出力する。分類ラベル入力部11は、入力された分類ラベル51を変更した分類ラベル51を連結部12に出力する。変更する分類ラベル51の値は、例えば、端末装置3あるいは情報処理装置5が有する入力装置から指定するようにしてもよい。
【0052】
ステップS41:
図4のステップS21と同じ手順で処理を実行する。
【0053】
ステップS42:情報処理装置5の確率計算部15は、言語モデル記憶部4に言語モデルのパラメータを要求して、言語モデル記憶部4から言語モデルのパラメータを受信する。
【0054】
ステップS43:情報処理装置5の確率計算部15は、
図4のステップS22および数式2と数式3で示した言語モデルの学習時における方法と同様の手順により、単語の出現確率の計算を行う。また、確率計算部15は、計算した単語の出現確率を端末装置3に送信する、または情報処理装置5の表示装置に表示する、または情報処理装置5の記憶装置に記憶させるようにしてもよい。
【0055】
以上の処理により、情報処理装置5は、複数の分類に所属する単語列に対して学習された単一の言語モデルに対して、単語列と変更した分類ラベルを連結して入力データとして入力して、単語の出現確率を計算することが可能である。ここで、変更後の分類ラベルが言語モデルの学習において用いられており、且つ、言語モデルの学習が適切に行われていれば、計算された単語の出現確率は、変更後の分類ラベルにおける単語の出現確率に相当するものとなる。即ち、情報処理装置5では、分類ごとに学習した言語モデルを用いることなく、単一の言語モデルを用いて、指定した分類ラベルを単一の言語モデルに入力することにより、指定した分類ラベルにおける単語の出現確率を計算することができる。
【0056】
以上、本発明を実施するための幾つかの形態について説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【0057】
例えば、
図3、
図7および
図9に示した機能ブロックの構成図の一例は、情報処理システム1および情報処理装置5による処理の理解を容易にするために、主な機能に応じて分割したものである。処理単位の分割の仕方や名称によって本願発明が制限されることはない。情報処理システム1および情報処理装置5における処理は、処理内容に応じて更に多くの処理単位に分割することもできる。また、1つの処理単位が更に多くの処理を含むように分割することもできる。
【0058】
また、上記で説明した実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP(digital signal processor)、FPGA(field programmable gate array)や従来の回路モジュール等のデバイスを含むものとする。
【0059】
また、記載された装置群は、本明細書に開示された実施形態を実施するための複数のコンピューティング環境のうちの1つを示すものにすぎない。ある実施形態では、情報処理システム1および情報処理装置5は、サーバクラスタといった複数のコンピューティングデバイスを含む。複数のコンピューティングデバイスは、ネットワークや共有メモリなどを含む任意のタイプの通信リンクを介して互いに通信するように構成されており、本明細書に開示された処理を実施する。
【0060】
また、単語列入力部10と分類ラベル入力部11は、単に入力部と呼んでもよく、ベクトル計算部14と確率計算部15は、単に計算部と呼んでもよい。
【符号の説明】
【0061】
1 情報処理システム
2 通信ネットワーク
3 端末装置
4 言語モデル記憶部
5 情報処理装置
10 単語列入力部
11 分類ラベル入力部
12 連結部
13 学習部
14 ベクトル計算部
15 確率計算部
50 単語列
51 分類ラベル
【先行技術文献】
【特許文献】
【0062】