(57)【要約】【課題】  学習に適したデータを生成できる。【解決手段】  本発明による言語処理装置は、単語と、前記単語と同義の意味を示す同義語とを含み、かつ、前記単語及び前記同義語が出現する割合が第１出現分布である入力テキストデータを入力するテキストデータ入力部と、前記第１出現分布とは異なる第２出現分布を入力する出現分布入力部と、前記単語と、前記同義語とを対応付けした辞書を入力する辞書入力部と、前記第２出現分布に基づいて、前記入力テキストデータに出現する前記単語及び前記同義語の少なくともいずれかを置換して前記第１出現分布を変更した出力テキストデータを生成するテキストデータ生成部とを備える。【選択図】図１
2019128790.tif 000002
【特許請求の範囲】
【請求項１】
単語と、前記単語と同義の意味を示す同義語とを含み、かつ、前記単語及び前記同義語が出現する割合が第１出現分布である入力テキストデータを入力するテキストデータ入力部と、
前記第１出現分布とは異なる第２出現分布を入力する出現分布入力部と、
前記単語と、前記同義語とを対応付けした辞書を入力する辞書入力部と、
前記第２出現分布に基づいて、前記入力テキストデータに出現する前記単語及び前記同義語の少なくともいずれかを置換して前記第１出現分布を変更した出力テキストデータを生成するテキストデータ生成部と
を備える言語処理装置。
【請求項２】
既知語を含む単語群を入力する単語群入力部と、
単語を含む入力テキストデータを入力するテキストデータ入力部と、
前記既知語の出現分布を入力する出現分布入力部と、
前記単語群に基づいて前記単語が前記既知語でないと判断される場合には、前記入力テキストデータに出現する前記単語を前記既知語に前記出現分布に基づいて置換して出力テキストデータを生成するテキストデータ生成部と
を備える言語処理装置。
【請求項３】
前記出力テキストデータを用いて学習を行う学習部を更に備える請求項１又は２に記載の言語処理装置。
【請求項４】
言語処理装置が行う言語処理方法であって、
言語処理装置が、単語と、前記単語と同義の意味を示す同義語とを含み、かつ、前記単語及び前記同義語が出現する割合が第１出現分布である入力テキストデータを入力するテキストデータ入力手順と、
言語処理装置が、前記第１出現分布とは異なる第２出現分布を入力する出現分布入力手順と、
言語処理装置が、前記単語と、前記同義語とを対応付けした辞書を入力する辞書入力手順と、
言語処理装置が、前記第２出現分布に基づいて、前記入力テキストデータに出現する前記単語及び前記同義語の少なくともいずれかを置換して前記第１出現分布を変更した出力テキストデータを生成するテキストデータ生成手順と
を含む言語処理方法。
【請求項５】
コンピュータに言語処理方法を実行させるためのプログラムであって、
コンピュータが、単語と、前記単語と同義の意味を示す同義語とを含み、かつ、前記単語及び前記同義語が出現する割合が第１出現分布である入力テキストデータを入力するテキストデータ入力手順と、
コンピュータが、前記第１出現分布とは異なる第２出現分布を入力する出現分布入力手順と、
コンピュータが、前記単語と、前記同義語とを対応付けした辞書を入力する辞書入力手順と、
コンピュータが、前記第２出現分布に基づいて、前記入力テキストデータに出現する前記単語及び前記同義語の少なくともいずれかを置換して前記第１出現分布を変更した出力テキストデータを生成するテキストデータ生成手順と
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、言語処理装置、言語処理方法及びプログラムに関する。
【背景技術】
【０００２】
従来、音声認識、文字認識、機械翻訳又は質問応答等の言語処理サービスが提供されている。このような言語処理サービスを実現させるため、機械学習を行う方法が知られている。
【０００３】
例えば、単語に対応する埋め込みベクトルと呼ばれるベクトルを学習する方法が知られている（例えば、非特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
例えば、機械学習等が行われる場合は、多くの学習用のデータが用いられるのが望ましい。そこで、インターネット上等にある大量のデータを学習用のデータとして、学習用のデータを多く用意しようと場合がある。しかしながら、インターネット上等にあるデータは、様々な単語を含む場合が多いため、学習用のデータに適していない場合がある。
【０００５】
従来の方法では、インターネット上等にあるデータに基づいて、学習に適したデータを生成できない場合が多い。
【０００６】
本発明の一態様は、学習に適したデータを生成できることを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一実施形態による、言語処理装置は、
単語と、前記単語と同義の意味を示す同義語とを含み、かつ、前記単語及び前記同義語が出現する割合が第１出現分布である入力テキストデータを入力するテキストデータ入力部と、
前記第１出現分布とは異なる第２出現分布を入力する出現分布入力部と、
前記単語と、前記同義語とを対応付けした辞書を入力する辞書入力部と、
前記第２出現分布に基づいて、前記入力テキストデータに出現する前記単語及び前記同義語の少なくともいずれかを置換して前記第１出現分布を変更した出力テキストデータを生成するテキストデータ生成部と
を備えることを特徴とする。
【発明の効果】
【０００８】
本発明の実施形態によって、学習に適したデータを生成できる。
【図面の簡単な説明】
【０００９】
【図１】第１実施形態に係る言語処理装置の全体構成例を示す機能ブロック図である。
【図２】本実施形態に係る言語処理装置のハードウェア構成例を示すブロック図である。
【図３】第１実施形態に係る言語処理装置による全体処理例を示すフローチャートである。
【図４】第１実施形態に係る辞書の例を示す図である。
【図５】第１実施形態に係る出現分布の例を示す図である。
【図６】第１実施形態に係る入力テキストデータの例を示す図である。
【図７】第１実施形態に係る置換数の決定例を示す図である。
【図８】第２実施形態に係る言語処理装置の全体構成例を示す機能ブロック図である。
【図９】第２実施形態に係る言語処理装置による全体処理例を示すフローチャートである。
【図１０】第２実施形態に係る入力テキストデータの例を示す図である。
【図１１】第２実施形態に係る単語群の例を示す図である。
【図１２】第２実施形態に係る出現分布の例を示す図である。
【発明を実施するための形態】
【００１０】
以下、発明を実施するための最適な形態について、図面を参照して説明する。
【００１１】
＜第１実施形態＞
＜全体構成例＞
図１は、第１実施形態に係る言語処理装置の全体構成例を示す機能ブロック図である。例えば、言語処理装置１０は、図示するように、テキストデータ入力部１０Ｆ１、出現分布入力部１０Ｆ２、辞書入力部１０Ｆ３及びテキストデータ生成部１０Ｆ４を備える機能構成である。さらに、言語処理装置１０は、図示するように、学習部１０Ｆ５を備える機能構成であるのが望ましい。以下、図示するような機能構成を例に説明する。
【００１２】
テキストデータ入力部１０Ｆ１は、入力テキストデータＤＩＮ１を入力する入力手順を行う。例えば、テキストデータ入力部１０Ｆ１は、図２に示す入力装置１０Ｈ３又はインタフェース（ｉｎｔｅｒｆａｃｅ）１０Ｈ５等によって実現される。
【００１３】
出現分布入力部１０Ｆ２は、入力テキストデータＤＩＮ１の出現分布とは異なる出現分布を入力する出現分布入力手順を行う。例えば、出現分布入力部１０Ｆ２は、図２に示す入力装置１０Ｈ３又はインタフェース１０Ｈ５等によって実現される。
【００１４】
なお、出現分布については後述する。
【００１５】
辞書入力部１０Ｆ３は、辞書ＤＩを入力する辞書入力手順を行う。例えば、辞書入力部１０Ｆ３は、図２に示す入力装置１０Ｈ３又はインタフェース１０Ｈ５等によって実現される。
【００１６】
テキストデータ生成部１０Ｆ４は、入力テキストデータＤＩＮ１における出現分布が出現分布入力部１０Ｆ２が入力する出現分布ＰＤ１となるように、入力テキストデータＤＩＮ１における単語又は同義語の少なくともいずれかを置換して出力テキストデータＤＯＵＴ１を生成するテキストデータ生成手順を行う。例えば、テキストデータ生成部１０Ｆ４は、図２に示すＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０Ｈ１等によって実現される。
【００１７】
学習部１０Ｆ５は、テキストデータ生成部１０Ｆ４が生成する出力テキストデータＤＯＵＴ１を用いて学習を行う。例えば、学習部１０Ｆ５は、図２に示すＣＰＵ１０Ｈ１等によって実現される。
【００１８】
以下、図示するような機能構成である場合を例に説明する。
【００１９】
＜ハードウェア構成例＞
図２は、本実施形態に係る言語処理装置のハードウェア構成例を示すブロック図である。例えば、言語処理装置１０は、図示するようなハードウェア構成である。すなわち、言語処理装置１０は、いわゆるＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）等である情報処理装置である。具体的には、図示するように、言語処理装置１０は、ＣＰＵ１０Ｈ１、記憶装置１０Ｈ２、入力装置１０Ｈ３、出力装置１０Ｈ４及びインタフェース１０Ｈ５等を有するハードウェア構成である。
【００２０】
ＣＰＵ１０Ｈ１は、演算装置及び制御装置の例である。
【００２１】
記憶装置１０Ｈ２は、メモリ等の主記憶装置である。なお、記憶装置１０Ｈ２は、ハードディスク等の補助記憶装置を有してもよい。
【００２２】
入力装置１０Ｈ３は、ユーザによる操作等を入力する装置である。例えば、入力装置１０Ｈ３は、キーボード及びコネクタ等である。
【００２３】
出力装置１０Ｈ４は、演算結果等をユーザに出力する装置である。例えば、出力装置１０Ｈ４は、ディスプレイ及びコネクタ等である。
【００２４】
インタフェース１０Ｈ５は、ネットワーク又は記録媒体等によって外部とデータを入出力する装置である。例えば、インタフェース１０Ｈ５は、コネクタ又はアンテナ等である。
【００２５】
なお、ハードウェア構成は、図示する構成に限られない。例えば、記憶装置、演算装置又は制御装置は、内部又は外部に複数ある構成でもよい。
【００２６】
＜全体処理例＞
図３は、第１実施形態に係る言語処理装置による全体処理例を示すフローチャートである。
【００２７】
＜辞書の入力例＞（ステップＳ１０１）
ステップＳ１０１では、言語処理装置は、辞書ＤＩを入力する。例えば、辞書ＤＩは、以下のようなデータである。
【００２８】
図４は、第１実施形態に係る辞書の例を示す図である。図示するように、辞書ＤＩは、例えば、「単語」と、「同義語」とを対応付けるデータである。
【００２９】
「単語」には、図示するように、あらかじめ「Ａ」、「Ｂ」及び「Ｃ」というように、単語又は語句等が入力される。
【００３０】
「同義語」には、「単語」と意味的又は統語的に同義の単語又は語句等が入力される。例えば、「単語」が「本」である場合には、「同義語」は、「書籍」等が該当する。図示する例では、「Ａ」という単語に対して「Ｐ」及び「Ｑ」という２つの同義語が対応付けされている例である。
【００３１】
例えば、「同義語」は、シソーラス（Ｔｈｅｓａｕｒｕｓ）又は類義辞書等に基づいて入力される。なお、「同義語」は、例えば、同等語、類語、関連語又は類義語等でもよい。さらに、「単語」は、見出し語等でもよい。
【００３２】
また、単語に対する同義語の対応付けは、例えば、いわゆる「単語の埋め込み表現」（Ｗｏｒｄ  ｅｍｂｅｄｄｉｎｇ）（「単語の分散表現」又は「単語のベクトル表現」等と呼ばれる場合もある。）等に基づいて定まる。すなわち、言語処理装置は、コーパス（ｃｏｒｐｕｓ）を利用して、対象とする単語の埋め込み表現を生成する。例えば、対象となる単語は、単語ベクトル等のベクトルで表現される。
【００３３】
単語ベクトルは、各単語の特徴等を示すため、単語ベクトルが近傍となる単語は、同じような特徴である場合が多い。例えば、単語ベクトルが近い単語は、文章等において同じような意味又は形式等で用いられやすいので、前後に現れる、すなわち、一緒に用いられる単語も類似しやすい。例えば、「本」という単語と、「書籍」という単語は、同じような用いられ方をするため、単語ベクトルも近くなる場合が多い。また、単語ベクトルが近いか否かは、例えば、２つの単語ベクトルの内積値等で判断できる。
【００３４】
また、単語ベクトルを含むベクトルは、あらかじめ設定される次元数である。次元数は、ベクトルを構成する要素の数となる。したがって、次元数が大きいと、多様な単語を表現できる。例えば、次元数を「３」とすると、単語ベクトルは、単語ベクトルＶ＝（０．１，０．２，０．３）のように、３つの要素で構成される。なお、単語ベクトルの要素が示すそれぞれの値は、初期値及び範囲があらかじめ設定される。
【００３５】
そして、言語処理装置は、対象とする「単語」と単語ベクトルが近い単語を「同義語」とし、「単語」に対応付けする。
【００３６】
＜第２出現分布の入力例＞（ステップＳ１０２）
ステップＳ１０２では、言語処理装置は、第２出現分布を入力する。例えば、出現分布ＰＤ１は、以下のようなデータである。
【００３７】
図５は、第１実施形態に係る出現分布の例を示す図である。図示するように、「出現分布」は、例えば、「単語」ごとに入力される。図示する例は、「Ａ」、「Ｂ」及び「Ｃ」の３つの単語のそれぞれの「出現分布」が入力された例である。
【００３８】
出現分布は、ドメインテキストにおいて、各単語が出現する割合を示す。図示する例では、「Ａ」、「Ｂ」及び「Ｃ」の３種類の単語がテキストに出現する例である。例えば、出現分布は、「Ａ」という単語がテキスト中に出現する回数を各単語の出現する回数の総和（この例では、「Ａ」、「Ｂ」及び「Ｃ」の３つの出現回数の和となる。）で除算して計算される。
【００３９】
具体的には、ドメインテキストに出現する単語が総計して「１００回」であるとすると、図示する例は、単語「Ａ」がドメインテキストに「３０回」の割合で出現する例である。すなわち、単語「Ａ」の出現分布は、「３０回÷１００回×１００＝３０％」である。
【００４０】
以下、第１入力テキストデータ、すなわち、ドメインをインターネット等とする場合における出現分布を「第１出現分布」という。一方で、第２入力テキストデータ、すなわち、ドメインを所定の社内等とする場合の出現分布を「第２出現分布」という。
【００４１】
なお、出現分布は、図示するように、出現分布を示す設定値が入力されてもよい。又は、出現分布は、テキストデータが入力され、各単語のそれぞれの出現回数をカウントする分析等によって入力されてもよい。
【００４２】
なお、ステップＳ１０２で入力される出現分布ＰＤ１は、第２出現分布である。すなわち、ステップＳ１０２で入力される出現分布ＰＤ１は、第１入力テキストデータを適用させる先のドメインにおける出現分布である。
【００４３】
＜入力テキストデータの入力例＞（ステップＳ１０３）
ステップＳ１０３では、言語処理装置は、入力テキストデータＤＩＮ１を入力する。例えば、入力テキストデータＤＩＮ１は、以下のようなデータである。
【００４４】
図６は、第１実施形態に係る入力テキストデータの例を示す図である。図示するように、入力テキストデータＤＩＮ１には、複数の単語が入力される。また、図示するように、入力テキストデータＤＩＮ１には、同義語も入力される。具体的には、図示する例では、「Ａ」という単語に対して、「Ｐ」という同義語が入力されている。
【００４５】
なお、入力テキストデータＤＩＮ１は、例えば、インターネット上等から取得される。したがって、入力テキストデータＤＩＮ１は、多量の単語を示すデータであるのが望ましい。また、入力テキストデータＤＩＮ１は、後述する置換の処理対象となるデータであって、出力テキストデータＤＯＵＴ１を生成するのにベースとなるデータである。
【００４６】
＜単語の出現回数と、同義語の出現回数のカウント例＞（ステップＳ１０４）
ステップＳ１０４では、言語処理装置は、単語の出現回数と、同義語の出現回数をカウントする。具体的には、まず、言語処理装置は、入力テキストデータＤＩＮ１が示すテキストを走査する。そして、テキスト中に、辞書ＤＩの「単語」又は「同義語」にある単語が出現すると、言語処理装置は、出現回数をカウントアップする。
【００４７】
＜置換数の決定例＞（ステップＳ１０５）
ステップＳ１０５では、言語処理装置は、置換対象となる単語の数（以下「置換数」という。）を決定する。例えば、置換数は、以下のように決定される。
【００４８】
図７は、第１実施形態に係る置換数の決定例を示す図である。まず、入力テキストデータＤＩＮ１において、辞書ＤＩに登録された単語である「Ａ」、「Ｂ」及び「Ｃ」のそれぞれの出現回数がステップＳ１０４でカウントされたとする。この例では、「置換数」は、例えば、図示するように、「単語」ごとに決定される。
【００４９】
なお、図示する例では、「出現回数」は、「単語」及び「同義語」の出現回数である。具体的には、図示する例は、「Ａ」、「Ｐ」及び「Ｑ」が合わせて「２００」回出現した例である。
【００５０】
以下、「出現分布の分布比」は、入力テキストデータＤＩＮ１において、最も高い出現分布となる単語に対する各単語の出現分布の比とする。具体的には、図示する例では、出現分布ＰＤ１が示すように、単語「Ｂ」が最も高い出現分布となる単語であり、出現分布は、「５０％」である。このような場合には、「出現分布の分布比」の分母は、それぞれ「５０％」となる。一方で、「出現分布の分布比」の分子は、出現分布ＰＤ１が示す各「出現分布」の値となる。
【００５１】
次に、「置換数」は、最も高い出現分布となる単語の「出現回数」と、「出現分布の分布比」との積で決定される。
【００５２】
例えば、単語「Ａ」の「出現分布の分布比」は、出現分布ＰＤ１における「出現分布」が「３０％」であるため、「３０／５０」となる。そして、単語「Ａ」の「置換数」は、単語「Ｂ」の「出現回数」である「１００」に「３０／５０」を乗算して計算されるため、「１００×３０÷５０＝６０」と決定される。
【００５３】
また、「置換数」は、例えば、図示する「Ｃ」の単語のように決定されてもよい。具体的には、単語「Ｃ」の出現分布ＰＤ１における「出現分布」は、「２０％」である。したがって、単語「Ｃ」の「出現分布の分布比」は、「２０／５０」となる。そして、単語「Ａ」の「置換数」と同様に計算すると、単語「Ｃ」の「置換数」は、「１００×２０÷５０＝４０」となる。しかし、図示するように、「出現回数」は、「３０」であり、「４０」に満たない値である。このような場合には、「置換数」は、「出現回数」としてもよい。したがって、この例では、単語「Ｃ」の「置換数」は、出現回数である「３０」と決定される。
【００５４】
＜置換による出力テキストデータの生成例＞（ステップＳ１０６）
ステップＳ１０６では、言語処理装置は、入力テキストデータＤＩＮ１に対して置換処理を行い、出力テキストデータＤＯＵＴ１を生成する。具体的には、言語処理装置は、入力テキストデータＤＩＮ１において、ステップＳ１０５で決定された置換数となるまで単語又は同義語を単語に置換する。
【００５５】
具体的には、上記の例において、置換後、すなわち、出力テキストデータＤＯＵＴ１の単語「Ａ」を出現回数「Ｘ」（この例では、「Ｘ」は、６０以上となる。）とすると、「Ｐ」及び「Ｑ」は、合わせて出現回数「２００−Ｘ」となる。さらに、単語「Ｂ」は、出現回数「１００」となる。さらにまた、「Ｒ」は、出現回数「０」となる。また、単語「Ｃ」は、出現回数「３０」となり、「Ｓ」は、出現回数「０」、「Ｔ」は、出現回数「０」となる。
【００５６】
なお、置換対象となる単語は、入力テキストデータＤＩＮ１に入力された順に特定されなくともよい。例えば、置換対象となる単語は、入力テキストデータＤＩＮ１に入力された単語のうち、置換数分、ランダムに特定されてもよい。
【００５７】
＜出力テキストデータの出力例＞（ステップＳ１０７）
ステップＳ１０７では、言語処理装置は、ステップＳ１０６で生成された出力テキストデータＤＯＵＴ１を出力する。
【００５８】
＜出力テキストデータを用いた学習例＞（ステップＳ１０８）
ステップＳ１０８では、言語処理装置は、ステップＳ１０７で出力される出力テキストデータＤＯＵＴ１を用いて学習を行うのが望ましい。
【００５９】
出力テキストデータＤＯＵＴ１は、学習において、いわゆる訓練データとして利用される。例えば、訓練データに基づく１回の訂正で、単語ベクトルは、学習率で定まる分、訂正される。これを繰り返すことで、単語ベクトルが学習される。このような学習が行われると、いわゆる誤差逆伝播法（Ｂａｃｋｐｒｏｐａｇａｔｉｏｎ）と呼ばれる方法が実現できる。なお、学習は、上記以外の方法で行われてもよい。
【００６０】
なお、置換数は、上記以外の計算で決定されてもよい。すなわち、出現分布ＰＤ１における「出現分布」の比となるように、ステップＳ１０６で、入力テキストデータＤＩＮ１における各単語の出現する割合が調整できればよい。ゆえに、ステップＳ１０６で処理対象とする数が定まれば、置換数は、上記ステップＳ１０４及びステップＳ１０５以外の計算で決定されてもよい。
【００６１】
なお、辞書ＤＩ及び出現分布ＰＤ１は、図示するような表形式に限られず、他の形式であってもよい。また、ステップＳ１０１乃至ステップＳ１０３は、図示する順序でなくともよい。
【００６２】
＜効果＞
自然言語処理等では、コーパスを用いてドメイン適応等が行われる。このような場合には、コーパスにおける単語の種類数は、ドメインにおける単語の種類数と比較すると、多くなる場合が多い。
【００６３】
例えば、インターネット上等の日常会話では、「本」と、「書籍」とが「８：２」の割合で使用されるとする。一方で、所定の会社における社内会議等では、「本」と、「書籍」とが「２：８」の割合で使用されるとする。すなわち、この例では、日常会話と、社内会議とで、出現分布における比が逆である。そして、社内会議向けの音声認識用等のために学習を行う場合、学習に用いられるデータは、「本」と、「書籍」とが「２：８」の割合となる出現分布であるのが適したデータといえる。
【００６４】
一方で、学習には、多量のデータがある方が望ましい。インターネット上等と比較すると、社内会議の内容を示す議事録等は、データが少ない場合が多い。そこで、インターネット上等から取得できる多量のコーパスが、所定の会社等のドメインに適した状態に加工されて多量のドメインテキストが生成されるのが望ましい。このように適した学習データが用いられると、精度の良い学習ができる。
【００６５】
この例では、インターネット上等から取得できるテキストにおける、「本」と、「書籍」との出現分布が、テキスト中の単語が置換されることで、「８：２」から「２：８」となるように変更されるのが望ましい。このようにすると、単語及び同義語の出現分布が、社内で使用される出現分布となる出力テキストデータＤＯＵＴ１が多量に生成できる。
【００６６】
＜第２実施形態＞
例えば、第２実施形態における言語処理装置は、第１実施形態と同様のハードウェア構成の装置等によって実現される。以下、第１実施形態と異なる点を中心に説明し、重複する説明を省略する。
【００６７】
＜全体構成例＞
図８は、第２実施形態に係る言語処理装置の全体構成例を示す機能ブロック図である。例えば、言語処理装置１０は、図示するように、単語群入力部１０Ｆ２１、テキストデータ入力部１０Ｆ２２、出現分布入力部１０Ｆ２３、判断部１０Ｆ２４及びテキストデータ生成部１０Ｆ２５を備える機能構成である。さらに、言語処理装置１０は、図示するように、学習部１０Ｆ２６を備える機能構成であるのが望ましい。以下、図示するような機能構成を例に説明する。
【００６８】
単語群入力部１０Ｆ２１は、単語群ＤＧを入力する単語群入力手順を行う。例えば、単語群入力部１０Ｆ２１は、入力装置１０Ｈ３又はインタフェース１０Ｈ５等によって実現される。
【００６９】
テキストデータ入力部１０Ｆ２２は、入力テキストデータＤＩＮ２を入力するテキストデータ入力手順を行う。例えば、テキストデータ入力部１０Ｆ２２は、入力装置１０Ｈ３又はインタフェース１０Ｈ５等によって実現される。
【００７０】
出現分布入力部１０Ｆ２３は、出現分布ＰＤ２を入力する出現分布入力手順を行う。例えば、出現分布入力部１０Ｆ２３は、入力装置１０Ｈ３又はインタフェース１０Ｈ５等によって実現される。
【００７１】
判断部１０Ｆ２４は、入力テキストデータＤＩＮ２における出現分布が出現分布入力部１０Ｆ２が入力する出現分布ＰＤ２となるように、入力テキストデータＤＩＮ２における単語が未知語か否かを判断する判断手順を行う。例えば、判断部１０Ｆ２４は、ＣＰＵ１０Ｈ１等によって実現される。
【００７２】
テキストデータ生成部１０Ｆ２５は、判断部１０Ｆ２４によって既知語と判断された単語、又は、判断部１０Ｆ２４によって既知語でないと判断された単語を置換した単語を含む出力テキストデータＤＯＵＴ２を生成するテキストデータ生成手順を行う。例えば、テキストデータ生成部１０Ｆ２５は、ＣＰＵ１０Ｈ１等によって実現される。
【００７３】
学習部１０Ｆ２６は、テキストデータ生成部１０Ｆ２５が生成する出力テキストデータＤＯＵＴ２を用いて学習を行う。例えば、学習部１０Ｆ２６は、ＣＰＵ１０Ｈ１等によって実現される。
【００７４】
以下、図示するような機能構成である場合を例に説明する。
【００７５】
＜全体処理例＞
図９は、第２実施形態に係る言語処理装置による全体処理例を示すフローチャートである。
【００７６】
＜入力テキストデータの入力例＞（ステップＳ２０１）
ステップＳ２０１では、言語処理装置は、入力テキストデータＤＩＮ２を入力する。例えば、入力テキストデータＤＩＮ２は、以下のようなデータである。
【００７７】
図１０は、第１実施形態に係る入力テキストデータの例を示す図である。図示するように、入力テキストデータＤＩＮ２には、単語「Ａ」及び「Ｆ」のような複数の単語が入力される。
【００７８】
なお、入力テキストデータＤＩＮ２は、例えば、インターネット上等から取得される。したがって、入力テキストデータＤＩＮ２は、多量の単語を示すデータであるのが望ましい。また、入力テキストデータＤＩＮ２は、後述する置換の処理対象となるデータであって、出力テキストデータＤＯＵＴ２を生成するのにベースとなるデータである。
【００７９】
＜単語群の入力例＞（ステップＳ２０２）
ステップＳ２０２では、言語処理装置は、単語群ＤＧを入力する。例えば、単語群ＤＧは、以下のようなデータである。
【００８０】
図１１は、第２実施形態に係る単語群の例を示す図である。例えば、単語群ＤＧは、図示するように、複数の単語を示すデータである。このようにして単語群ＤＧが示す「単語」は、ドメインテキストに出現する単語である。すなわち、図示する例では、単語「Ａ」、「Ｂ」、「Ｃ」、「Ｄ」及び「Ｅ」という単語は、ドメインに属する単語である。以下、単語「Ａ」、「Ｂ」、「Ｃ」、「Ｄ」及び「Ｅ」等のように、ドメインに属する単語は、「既知語」であるという。したがって、ステップＳ２０２では、既知語が設定される。一方で、単語群ＤＧに含まれない単語を「未知語」という。
【００８１】
＜出現分布の入力例＞（ステップＳ２０３）
ステップＳ２０３では、言語処理装置は、出現分布を入力する。例えば、出現分布は、以下のように入力される。
【００８２】
図１２は、第２実施形態に係る出現分布の例を示す図である。まず、図示する例では、単語が「２‐ｇｒａｍ」ごとに入力される。「ｎ−ｇｒａｍ」は、隣り合う「ｎ」個の単語を一塊として考える単位系である。したがって、この例は、「Ｎ＝２」であるため、各「単語（２‐ｇｒａｍ）」は、２つの単語「ｘ」及び「ｙ」の連なりを示す。そして、「出現分布」は、単語が「ｘｙ」であるとすると、単語「ｘ」の直後に単語「ｙ」が出現する確率（％）を示す。ただし、以下の説明では、テキスト頭を「＊」で示す。なお、単語「＊」は、テキスト頭を示すのであって、仮想的な単語である。
【００８３】
具体的には、この例では、単語「Ａ」は、テキスト頭で「２０％」の確率で出現する（図における単語「＊Ａ」である）。同様に、単語「Ｂ」は、テキスト頭で「３０％」の確率で出現し（図における単語「＊Ｂ」である）、単語「Ｄ」は、テキスト頭で「５０％」の確率で出現する（図における単語「＊Ｄ」である）。そして、単語「Ｃ」及び「Ｄ」は、テキスト頭で「０％」の確率で出現する。
【００８４】
次に、単語「Ａ」の直後には、単語「Ａ」が「１０％」の確率で出現する（図における単語「ＡＡ」である）。同様に、単語「Ａ」の直後には、単語「Ｃ」が「２０％」の確率で出現する（図における単語「ＡＣ」である）。さらに、単語「Ａ」の直後には、単語「Ｅ」が「７０％」の確率で出現する（図における単語「ＡＥ」である）。これ以外の「Ｂ」及び「Ｄ」は、単語「Ａ」の直後には、「０％」の確率で出現する。
【００８５】
同様に、単語「Ｂ」の直後には、単語「Ａ」が「５％」の確率で出現する（図における単語「ＢＡ」である）。例えば、以上のように「出現分布」が入力される。
【００８６】
また、「出現分布」は、例えば、ドメインテキスト中において各単語の出現する回数をカウントすると特定できる。
【００８７】
＜変数「ｃ」にテキスト頭「＊」を代入する例＞（ステップＳ２０４）
ステップＳ２０４では、言語処理装置は、変数「ｃ」にテキスト頭を示す単語「＊」をセットする。まずは、テキスト頭から処理を開始するため、言語処理装置は、初期設定として、処理対象と示す変数「ｃ」に、単語「＊」をセットする。
【００８８】
＜変数「ｗ」に次の単語を代入する例＞（ステップＳ２０５）
ステップＳ２０５では、言語処理装置は、変数「ｗ」に次の単語をセットする。例えば、ステップＳ２０４で変数「ｃ」に単語「＊」が代入された場合には、次の単語は、テキスト頭に出現する単語となる。具体的には、入力テキストデータＤＩＮ２の場合では、テキスト頭に出現する単語は、単語「Ａ」であるため、変数「ｗ」には、単語「Ａ」がセットされる。
【００８９】
＜変数「ｗ」の単語が既知語であるか否かの判断例＞（ステップＳ２０６）
ステップＳ２０６では、言語処理装置は、変数「ｗ」の単語が既知語であるか否かを判断する。すなわち、言語処理装置は、ステップＳ２０４で変数「ｗ」にセットされた単語がステップＳ２０２で入力された単語群ＤＧにある単語であるか否かを判断する。
【００９０】
変数「ｗ」の単語が既知語であると判断されると（ステップＳ２０６でＹＥＳ）、言語処理装置は、ステップＳ２０８に進む。一方で、変数「ｗ」の単語が既知語でない（すなわち、未知語である）と判断されると（ステップＳ２０６でＮＯ）、言語処理装置は、ステップＳ２０７に進む。
【００９１】
＜出現分布に基づく置換例＞（ステップＳ２０７）
ステップＳ２０７では、言語処理装置は、出現分布に基づいて置換する。例えば、入力テキストデータＤＩＮ２における単語「Ｆ」は、単語群ＤＧにない単語であるため、既知語でない（未知語である、ステップＳ２０６でＮＯ）と判断される。このような単語を言語処理装置は、出現分布が示す割合で既知語に置換する。
【００９２】
具体的には、図１２における出現分布では、「ＡＡ」、「ＡＣ」、「ＡＥ」が、「１０％」、「２０％」、「７０％」の順である。したがって、単語「Ｆ」のように、単語「Ａ」の直後に来る単語が未知語である場合には、言語処理装置は、未知語を「Ａ」、「Ｃ」、「Ｅ」のいずれかに、「１０％」、「２０％」、「７０％」の割合で置換する。例えば、単語「Ｆ」は、単語「Ｅ」に置換される。
【００９３】
＜変数「ｗ」の出力例＞（ステップＳ２０８）
ステップＳ２０８では、言語処理装置は、変数「ｗ」を出力する。そして、出力された変数「ｗ」の単語を集めると、出力テキストデータＤＯＵＴ２が生成される。
【００９４】
具体的には、入力テキストデータＤＩＮ２の場合では、まず、単語「Ａ」は、単語群ＤＧにある単語であるため、ステップＳ２０６では、既知語と判断される。この場合には、変数「ｗ」の単語は、単語「Ａ」であるため、単語「Ａ」が出力される。
【００９５】
一方で、入力テキストデータＤＩＮ２における単語「Ｆ」は、単語群ＤＧにない単語であるため、ステップＳ２０６では、未知語と判断される。この場合には、変数「ｗ」の単語は、置換された単語「Ｅ」等（置換によって、単語「Ａ」又は単語「Ｃ」の場合もある。）であるため、単語「Ｅ」等が出力される。
【００９６】
＜変数「ｃ」に変数「ｗ」を代入する例＞（ステップＳ２０９）
ステップＳ２０９では、言語処理装置は、変数「ｃ」に変数「ｗ」をセットする。
【００９７】
＜最後の単語か否かの判断例＞（ステップＳ２１０）
ステップＳ２１０では、言語処理装置は、最後の単語か否かを判断する。すなわち、言語処理装置は、入力テキストデータＤＩＮ２にある単語をすべて処理したか否かを判断する。
【００９８】
具体的には、入力テキストデータＤＩＮ２の場合では、単語「Ａ」の次は、単語「Ｆ」が入力されているため、単語「Ｆ」について同様にステップＳ２０５乃至ステップＳ２０９の処理（ステップＳ２０５で変数「ｗ」に単語「Ｆ」がセットされる。）が行われる。
【００９９】
最後の単語であると判断されると（ステップＳ２１０でＹＥＳ）、言語処理装置は、ステップＳ２１１に進む。一方で、最後の単語でないと判断されると（ステップＳ２１０でＮＯ）、言語処理装置は、ステップＳ２０５に進む。
【０１００】
＜出力テキストデータを用いた学習例＞（ステップＳ２１１）
ステップＳ２１１では、言語処理装置は、ステップＳ２０８で生成される出力テキストデータＤＯＵＴ２を用いて学習を行うのが望ましい。
【０１０１】
出力テキストデータＤＯＵＴ２は、学習において、いわゆる訓練データとして利用される。例えば、訓練データに基づく１回の訂正で、単語ベクトルは、学習率で定まる分、訂正される。これを繰り返すことで、単語ベクトルが学習される。このような学習が行われると、いわゆる誤差逆伝播法（Ｂａｃｋｐｒｏｐａｇａｔｉｏｎ）と呼ばれる方法が実現できる。なお、学習は、上記以外の方法で行われてもよい。
【０１０２】
＜効果＞
自然言語処理等では、コーパスを用いてドメイン適応等が行われる。このような場合には、コーパスにおける単語の種類数は、ドメインにおける単語の種類数と比較すると、多くなる場合が多い。そのため、コーパスには、ドメインでは、未知語となる単語も含まれる。
【０１０３】
例えば、インターネット上等の日常会話では使用される単語であっても、所定の会社における社内会議等のビジネスの場では、使用される可能性が低い単語がある。このような単語が未知語といえる。一方で、インターネット上等の日常会話でも、所定の会社における社内会議等でも、使用される単語がある。このような単語が既知語といえる。
【０１０４】
学習には、多量のデータがある方が望ましい。インターネット上等と比較すると、社内会議の内容を示す議事録等は、データが少ない場合が多い。そこで、インターネット上等から取得できる多量のコーパスが、所定の会社等のドメインに適した状態に加工されて多量のドメインテキストが生成されるのが望ましい。このように適した学習データが用いられると、精度の良い学習ができる。
【０１０５】
この例では、インターネット上等から取得できるテキストにおける未知語が、出現分布の割合となるように、既知語に置換されるのが望ましい。このようにすると、未知語が、社内で使用される既知語に置換された出力テキストデータＤＯＵＴ２が多量に生成できる。
【０１０６】
＜その他の実施形態＞
なお、上記実施形態において、テキストデータは、例えば、音声からの入力等に基づいて生成されるデータでもよい。
【０１０７】
また、学習は、例えば、音声認識、文字認識、機械翻訳又は質問応答等の言語処理において、対象とする分野（すなわち、ドメインである。）に応じてカスタマイズする状況等に行われる。
【０１０８】
なお、本発明に係る各処理の全部又は一部は、低水準言語又は高水準言語で記述され、コンピュータに言語処理方法を実行させるためのプログラムによって実現されてもよい。すなわち、プログラムは、情報処理装置又は複数の情報処理装置を含む情報処理システム等のコンピュータに各処理を実行させるためのコンピュータプログラムである。
【０１０９】
したがって、プログラムに基づいて言語処理方法が実行されると、コンピュータが有する演算装置及び制御装置は、各処理を実行するため、プログラムに基づいて演算及び制御を行う。また、コンピュータが有する記憶装置は、各処理を実行するため、プログラムに基づいて、処理に用いられるデータを記憶する。
【０１１０】
また、プログラムは、コンピュータが読み取り可能な記録媒体に記録されて頒布することができる。なお、記録媒体は、磁気テープ、フラッシュメモリ、光ディスク、光磁気ディスク又は磁気ディスク等のメディアである。さらに、プログラムは、電気通信回線を通じて頒布することができる。
【０１１１】
なお、本発明に係る実施形態は、言語処理システムによって実現されてもよい。また、言語処理システムは、各処理を冗長、分散、並列、仮想化又はこれらを組み合わせて実行してもよい。
【０１１２】
以上、実施形態における一例について説明したが、本発明は、上記実施形態に限定されない。すなわち、本発明の範囲内で種々の変形及び改良が可能である。
【符号の説明】
【０１１３】
１０  言語処理装置
１０Ｆ１  テキストデータ入力部
１０Ｆ２  出現分布入力部
１０Ｆ３  辞書入力部
１０Ｆ４  テキストデータ生成部
１０Ｆ５  学習部
ＤＩＮ１  入力テキストデータ
ＰＤ１  出現分布
ＤＩ  辞書
ＤＯＵＴ１  出力テキストデータ
１０Ｆ２１  単語群入力部
１０Ｆ２２  テキストデータ入力部
１０Ｆ２３  出現分布入力部
１０Ｆ２４  判断部
１０Ｆ２５  テキストデータ生成部
１０Ｆ２６  学習部
ＤＩＮ２  入力テキストデータ
ＰＤ２  出現分布
ＤＧ  単語群
ＤＯＵＴ２  出力テキストデータ
【先行技術文献】
【非特許文献】
【０１１４】
【非特許文献１】Tomas Mikolov、Kai Chen、Greg Corrado、Jeffrey Dean、「Efficient Estimation of Word Representations in Vector Space」、ICLR 2013
【図１】
2019128790.tif 000003
【図２】
2019128790.tif 000004
【図３】
2019128790.tif 000005
【図４】
2019128790.tif 000006
【図５】
2019128790.tif 000007
【図６】
2019128790.tif 000008
【図７】
2019128790.tif 000009
【図８】
2019128790.tif 000010
【図９】
2019128790.tif 000011
【図１０】
2019128790.tif 000012
【図１１】
2019128790.tif 000013
【図１２】
2019128790.tif 000014