(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-06-07
(45)【発行日】2022-06-15
(54)【発明の名称】文生成装置、文生成方法及び文生成プログラム
(51)【国際特許分類】
G06F 40/12 20200101AFI20220608BHJP
G06F 40/157 20200101ALI20220608BHJP
G06F 40/40 20200101ALI20220608BHJP
G06F 40/56 20200101ALI20220608BHJP
【FI】
G06F40/12
G06F40/157
G06F40/40
G06F40/56
(21)【出願番号】P 2018075610
(22)【出願日】2018-04-10
【審査請求日】2021-03-08
(73)【特許権者】
【識別番号】000004352
【氏名又は名称】日本放送協会
(74)【代理人】
【識別番号】100106002
【氏名又は名称】正林 真之
(74)【代理人】
【識別番号】100120891
【氏名又は名称】林 一好
(72)【発明者】
【氏名】金子 豊
(72)【発明者】
【氏名】星 祐太
(72)【発明者】
【氏名】村▲崎▼ 康博
(72)【発明者】
【氏名】上原 道宏
【審査官】齊藤 貴孝
(56)【参考文献】
【文献】特開2016-161968(JP,A)
【文献】特開2008-225963(JP,A)
【文献】国際公開第2016/067418(WO,A1)
【文献】米国特許出願公開第2017/0199867(US,A1)
【文献】特開2016-024325(JP,A)
【文献】特開2008-129318(JP,A)
【文献】尾形 朋哉、外3名,キーワードに基づくニューラル文生成のためのリランキング,言語処理学会第23回年次大会 発表論文集 [online],日本,言語処理学会,2017年07月07日,p.679-682
【文献】水上 仁志、外1名,統計的機械翻訳における未知の一般語と固有名への対処,言語処理学会第23回年次大会 発表論文集 [online],日本,言語処理学会,2017年07月07日,p.1042-1045
【文献】今村 賢治、外1名,双方向リランキングとアンサンブルを併用したニューラル機械翻訳における複数モデルの利用法,情報処理学会 研究報告 自然言語処理(NL),日本,情報処理学会,2017年10月17日,p.1-8
(58)【調査した分野】(Int.Cl.,DB名)
G06F 40/00-40/58
(57)【特許請求の範囲】
【請求項1】
入力文から、所定の辞書に含まれているキーワードを抽出するキーワード抽出部と、
学習モデルに基づき、前記キーワードを用いた新たな出力文を生成する文生成部と、
前記キーワードが前記学習モデルの語彙に含まれる既知語であるか、又は前記学習モデルの語彙に含まれない未知語であるかを判定する未知語判定部と、
前記キーワードが未知語である場合、前記学習モデルに基づいて、前記既知語の中から前記入力文において当該キーワードを置換可能な予測語を選択し、当該予測語を前記キーワードの代わりに前記文生成部へ提供する未知語予測部と、
前記出力文の中に前記予測語が含まれる場合、当該予測語を元の未知語に置換する未知語置換部と、を備える文生成装置。
【請求項2】
前記未知語予測部は、前記入力文に含まれる語との共起性に基づいて、前記予測語を選択する請求項1に記載の文生成装置。
【請求項3】
前記未知語予測部は、前記入力文において前記キーワードを置換した場合の文全体の尤度に基づいて、前記予測語を選択する請求項2に記載の文生成装置。
【請求項4】
前記未知語予測部は、文頭から文末へ順に語を入力した場合の学習モデル、及び文末から文頭へ順に語を入力した場合の学習モデルのそれぞれを用いて、前記尤度を算出する請求項3に記載の文生成装置。
【請求項5】
入力文から、所定の辞書に含まれているキーワードを抽出するキーワード抽出ステップと、
学習モデルに基づき、前記キーワードを用いた新たな出力文を生成する文生成ステップと、
前記キーワードが前記学習モデルの語彙に含まれる既知語であるか、又は前記学習モデルの語彙に含まれない未知語であるかを判定する未知語判定ステップと、
前記キーワードが未知語である場合、前記学習モデルに基づいて、前記既知語の中から前記入力文において当該キーワードを置換可能な予測語を選択し、当該予測語を前記キーワードの代わりに前記文生成ステップへ提供する未知語予測ステップと、
前記出力文の中に前記予測語が含まれる場合、当該予測語を元の未知語に置換する未知語置換ステップと、をコンピュータが実行する文生成方法。
【請求項6】
入力文から、所定の辞書に含まれているキーワードを抽出するキーワード抽出ステップと、
学習モデルに基づき、前記キーワードを用いた新たな出力文を生成する文生成ステップと、
前記キーワードが前記学習モデルの語彙に含まれる既知語であるか、又は前記学習モデルの語彙に含まれない未知語であるかを判定する未知語判定ステップと、
前記キーワードが未知語である場合、前記学習モデルに基づいて、前記既知語の中から前記入力文において当該キーワードを置換可能な予測語を選択し、当該予測語を前記キーワードの代わりに前記文生成ステップへ提供する未知語予測ステップと、
前記出力文の中に前記予測語が含まれる場合、当該予測語を元の未知語に置換する未知語置換ステップと、をコンピュータに実行させるための文生成プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボットの発話文を生成するための装置、方法及びプログラムに関する。
【背景技術】
【0002】
従来、人と対話が可能なコミュニケーションロボットが開発されている。しかしながら、このようなコミュニケーションロボットは、使い始めは目新しいものの、しばらくすると利用者が飽きてしまい使用しなくなってしまう課題がある。
【0003】
そこで、利用者を飽きさせない工夫として、日々情報の変わるテレビの字幕情報とテンプレート文とを用いてロボットに発話させる手法が提案されている(例えば、非特許文献1参照)。
また、再帰型ニューラルネットワーク(RNN: Recurrent Neural Network)、n-gram又は隠れマルコフモデル等の言語モデルに基づいて、元の単語に対して尤もらしい文を生成する手法が提案されている(例えば、非特許文献2参照)。
さらに、複数の単語を入力とし、これらの単語を含む文を生成する手法が提案されている(例えば、特許文献1及び非特許文献3参照)。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2003-196280号公報
【文献】特開2002-334076号公報
【非特許文献】
【0005】
【文献】金子豊、星祐太、上原道宏、“テレビ視聴ロボットにおける字幕文内キーワードに基づく発話生成手法”、映像情報メディア学会年次大会、32B-4(2017)
【文献】坂本俊之、“Chainerで作るコンテンツ自動生成AIプログラミング入門”、シーアンドアール研究所(2017):CHAPTER 06 文章の自動生成
【文献】尾形朋哉、叶内晨、高谷智哉、小町守、“キーワードに基づくニューラル文生成のためのリランキング”、言語処理学会第23回年次大会、pp.679-682(2017)
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、従来の文生成手法において、入力される単語及び出力される文に使用される単語は、事前の学習時に使用した文に含まれる単語(語彙)に限定されていた。このため、テレビの字幕等のように日々新しい単語が含まれる文からキーワードを抽出したとしても、このキーワードを元にした文が生成できないという課題があった。
【0007】
また、特許文献1では、形態素解析手法として特許文献2のMEモデルに基づく手法を用いることで、データベースに入力されたテキスト文に未知語、すなわち辞書に含まれない単語があっても形態素解析できる手法が提案されている。しかしながら、入力された単語がデータベースに保管されている文に含まれていない未知語である場合には、この未知語を含んだ文を生成できなかった。
【0008】
本発明は、入力文に含まれるキーワードから文を生成する際に、キーワードが学習済みの辞書にない未知語の場合であっても、このキーワードを含む文を生成できる文生成装置、文生成方法及び文生成プログラムを提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明に係る文生成装置は、入力文から、所定の辞書に含まれているキーワードを抽出するキーワード抽出部と、学習モデルに基づき、前記キーワードを用いた新たな出力文を生成する文生成部と、前記キーワードが前記学習モデルの語彙に含まれる既知語であるか、又は前記学習モデルの語彙に含まれない未知語であるかを判定する未知語判定部と、前記キーワードが未知語である場合、前記学習モデルに基づいて、前記既知語の中から前記入力文において当該キーワードを置換可能な予測語を選択し、当該予測語を前記キーワードの代わりに前記文生成部へ提供する未知語予測部と、前記出力文の中に前記予測語が含まれる場合、当該予測語を元の未知語に置換する未知語置換部と、を備える。
【0010】
前記未知語予測部は、前記入力文に含まれる語との共起性に基づいて、前記予測語を選択してもよい。
【0011】
前記未知語予測部は、前記入力文において前記キーワードを置換した場合の文全体の尤度に基づいて、前記予測語を選択してもよい。
【0012】
前記未知語予測部は、文頭から文末へ順に語を入力した場合の学習モデル、及び文末から文頭へ順に語を入力した場合の学習モデルのそれぞれを用いて、前記尤度を算出してもよい。
【0013】
本発明に係る文生成方法は、入力文から、所定の辞書に含まれているキーワードを抽出するキーワード抽出ステップと、学習モデルに基づき、前記キーワードを用いた新たな出力文を生成する文生成ステップと、前記キーワードが前記学習モデルの語彙に含まれる既知語であるか、又は前記学習モデルの語彙に含まれない未知語であるかを判定する未知語判定ステップと、前記キーワードが未知語である場合、前記学習モデルに基づいて、前記既知語の中から前記入力文において当該キーワードを置換可能な予測語を選択し、当該予測語を前記キーワードの代わりに前記文生成ステップへ提供する未知語予測ステップと、前記出力文の中に前記予測語が含まれる場合、当該予測語を元の未知語に置換する未知語置換ステップと、をコンピュータが実行する。
【0014】
本発明に係る文生成プログラムは、入力文から、所定の辞書に含まれているキーワードを抽出するキーワード抽出ステップと、学習モデルに基づき、前記キーワードを用いた新たな出力文を生成する文生成ステップと、前記キーワードが前記学習モデルの語彙に含まれる既知語であるか、又は前記学習モデルの語彙に含まれない未知語であるかを判定する未知語判定ステップと、前記キーワードが未知語である場合、前記学習モデルに基づいて、前記既知語の中から前記入力文において当該キーワードを置換可能な予測語を選択し、当該予測語を前記キーワードの代わりに前記文生成ステップへ提供する未知語予測ステップと、前記出力文の中に前記予測語が含まれる場合、当該予測語を元の未知語に置換する未知語置換ステップと、をコンピュータに実行させるためのものである。
【発明の効果】
【0015】
本発明によれば、入力文に含まれるキーワードから文を生成する際に、キーワードが学習済みの辞書にない未知語の場合であっても、このキーワードを含む文を生成できる。
【図面の簡単な説明】
【0016】
【
図1】第1実施形態に係る文生成装置の機能構成を示すブロック図である。
【
図2】第1実施形態に係る文生成装置による処理の流れを例示する図である。
【
図3】第1実施形態に係る文生成学習データの学習アルゴリズムを例示する概略図である。
【
図4】第1実施形態に係るRNNによる文の尤度の計算方法を例示する図である。
【
図5】第1実施形態に係るRNNにより、未知語に類似した置き換え可能な語を予測する方法を例示する図である。
【
図6】第1実施形態に係るRNNにより新たな文を生成する方法を例示する図である。
【
図7】第2実施形態に係る2方向のRNNを用いた未知語予測処理を示す概要図である。
【
図8】第3実施形態に係る未知語予測処理の動作を示す概略図である。
【発明を実施するための形態】
【0017】
[第1実施形態]
以下、本発明の第1実施形態について説明する。
本実施形態に係る文生成装置1は、例えば、人と一緒にテレビを視聴するコミュニケーションロボットに組み込まれ、入力文Iに対し、新たに文を生成し、出力文Oとして出力する。
【0018】
図1は、本実施形態に係る文生成装置1の機能構成を示すブロック図である。
文生成装置1は、制御部10及び記憶部20の他、各種インタフェースを備えた情報処理装置であり、記憶部20に格納されたソフトウェア(文生成プログラム)を制御部10が実行することにより、本実施形態の各種機能が実現される。
【0019】
文生成装置1へは、テレビの放送番組に付加されている字幕文(クローズドキャプション)が入力文Iとして入力されることとして説明を行う。例えば、「今日は名物のラーメンを食べに行きます。」といった字幕文が入力されると、文生成装置1は、「このラーメンを食べてみたい。」のような新たな出力文Oを生成することで、テレビ番組の内容に合った文をコミュニケーションロボットに発話させることができる。
【0020】
なお、放送番組からの字幕文の抽出方法としては、例えば、ロボットがテレビ受像機と連動して、字幕情報を取得したり、放送連動サービスとして、インターネット等の通信設備を用いて配信された字幕情報を受信したりする方法が考えられる。
また、入力文Iは、字幕文に限ったものではなく、ロボットに装備されたカメラ又はマイクロフォンを用いて、テレビの画像から画像処理によりオープンキャプションが取得されてもよいし、音声から音声認識により抽出されてもよい。
【0021】
制御部10は、分かち書き処理部11と、キーワード抽出部12と、未知語判定部13と、未知語予測部14と、文生成部15と、未知語置換部16とを備える。
また、記憶部20は、分かち書き辞書21と、キーワード辞書22と、文生成学習データ23とを備える。文生成学習データ23は、文生成辞書231と、文生成モデル232とを含む。
【0022】
分かち書き処理部11は、分かち書き辞書21を用いて、入力文Iを複数の語に分割する。なお、ここでいう「語」は、文を構成する言葉の単位であり、単語又は文節であってよい。以下では、入力文Iは、単語に分割されることとする。
【0023】
分かち書き処理部11は、例えば、形態素解析手法を利用することで、文を単語に分割できる。
形態素解析手法としては、例えば、MeCab(http://taku910.github.io/mecab/)が利用できる。また、分かち書き処理部11が参照する分かち書き辞書21としては、Neologd(https://github.com/neologd/mecab-ipadic-neologd)等が利用できる。例えば、Neologdでは、インターネット等で使われている固有名詞等を収集して辞書が更新されている。分かち書き処理部11は、分かち書き辞書21として、このような辞書を用いることで、日々増え続ける新たな単語を判別して、分かち書きすることができる。
【0024】
キーワード抽出部12は、分かち書き処理部11により分かち書きされた入力文Iからキーワードを抽出する。
このとき、キーワード抽出部12は、キーワード辞書22に含まれる語が分かち書きされた入力文Iの中に含まれるか否かを検索し、このキーワード辞書22に含まれる語を入力文Iからキーワードとして抽出する。
なお、キーワード辞書22は、分かち書き辞書21の語の中から、キーワードとして使用するものを事前に選択することで作られた辞書である。
【0025】
未知語判定部13は、キーワード抽出部12により抽出されたキーワードが未知語か否かの判定を行う。ここでいう未知語とは、文生成学習データ23として学習された文生成モデル232の語彙に含まれない語、すなわち、文生成辞書231に含まれない語のことである。
【0026】
未知語予測部14は、未知語判定部13により未知語と判定された語の代わりに、文生成辞書231に含まれる語彙の中から置換が可能な類似語を選択し、予測語として出力する。
このとき、未知語予測部14は、入力文Iに含まれる他の語との並び順も考慮した共起性に基づいて、予測語を選択する。具体的には、文を生成するための各語の出現確率を学習した文生成学習データ23を用いて、入力文Iにおいてキーワードを置換した場合の文全体の尤度が最も大きい予測語を選択する。なお、未知語予測処理の詳細は、後述する。
【0027】
文生成部15は、キーワード、又はこのキーワードが未知語の場合には未知語予測部14により出力された予測語を用いて、文生成モデル232に基づき新たな出力文Oを生成する。
【0028】
未知語置換部16は、文生成部15により生成された出力文Oの中に予測語が含まれる場合、この予測語を置換前の元の未知語に置き換えて出力する。
【0029】
図2は、本実施形態に係る文生成装置1による処理の流れを例示する図である。
この例は、入力文Iとして「おいしそうなひっつみですね」が入力され、出力文Oとして「ひっつみを食べたいな」を出力するまでの処理手順を示している。
【0030】
ステップS1の分かち書き処理において、分かち書き処理部11は、分かち書き辞書21を用いた形態素解析により、入力文Iを、「おいし」、「そう」、「な」、「ひっつみ」、「です」、「ね」の6単語に分割する。
【0031】
ステップS2のキーワード抽出処理において、キーワード抽出部12は、キーワード辞書22を用いて、キーワード「ひっつみ」を抽出する。
【0032】
ステップS3の未知語判定処理において、未知語判定部13は、キーワード抽出処理(ステップS2)で抽出されたキーワード「ひっつみ」が文生成辞書231に含まれていないため、このキーワード「ひっつみ」を未知語と判定する。
【0033】
ステップS4の未知語予測処理において、未知語予測部14は、未知語と判定されたキーワード「ひっつみ」を置き換え可能な、類似した予測語として「うどん」を出力している。
【0034】
ステップS5の文生成処理において、文生成部15は、未知語「ひっつみ」を置換した予測語「うどん」を用いて、新たな文「うどんを食べたいな」を出力している。
【0035】
ステップS6の未知語置換処理において、未知語置換部16は、文生成処理(ステップS5)で出力された文「うどんを食べたいな」に含まれる予測語「うどん」を、元の未知語「ひっつみ」に置き換えて、「ひっつみを食べたいな」とし、文生成装置1の出力文Oとして出力する。
【0036】
なお、ステップS3の未知語判定処理において、キーワードが未知語と判定された場合にはステップS4の未知語予測処理が実行されるが、既知語の場合には、未知語予測処理は実行されず、ステップS5の文生成処理により既知語に基づく出力文Oが生成される。
【0037】
図3は、本実施形態に係る文生成学習データ23の学習アルゴリズムを例示する概略図である。
ここでは、文生成学習データ23の学習アルゴリズムとしてRNNを利用するものとする。
【0038】
RNNは、M次元の入力層、N次元の隠れ層、M次元の出力層を有している。ここで、入力層及び出力層の次元数Mは、文生成辞書231の語彙数である。隠れ層の次元数Nは、学習時に予め任意に設定しておく値であり、例えば200次元等が使われる。
M次元の入力層の各要素は、文生成辞書231の各語と1対1に対応しており、本実施形態では、M個の要素のうち1つだけが入力される。ここでは、単語「おいし」に対応する入力層の要素だけが入力された例を示している。
【0039】
M次元の出力層の各要素は、入力層と同様、文生成辞書231の各単語と1対1に対応している。M次元の出力層の各要素には、入力層に入力された単語に対して、次の単語がどの程度出現するかを示す確率pが全ての単語に対して出力される。
入力層に入力された単語に対して、出力層で出力される各単語の確率pは、入力層と隠れ層との間の重み行列W、隠れ層と出力層の間の重み行列V、及び1ステップ前の隠れ層と今の隠れ層との間の重み行列Hから計算される。これらの行列W、V、Hは、様々な文における単語の列をRNNに入力し、出力の誤差を小さくすることで求めることができる。これらの行列W、V、Hは、予め学習済みであり、文生成モデル232に保管されているものとする。
【0040】
図4は、本実施形態に係るRNNによる文の尤度の計算方法を例示する図である。
この例では、分かち書き処理された「おいし/そう/な/うどん/です/ね」という文の尤度の計算方法を示している。ここで、分かち書きされた文は、文生成辞書231にある単語(既知語)で構成されているとする。
【0041】
RNNは、入力単語に対して、次に出現する単語の発生確率を出力するように学習されているため、「おいし」、「そう」、「な」、「うどん」、「です」、「ね」と1単語ずつ順に入力すると、それぞれの単語の次の単語の発生確率、すなわち、「おいし」の次に「そう」が出現する確率p(そう)、「そう」の次に「な」が出現する確率p(な)、というように、各単語の出現確率p(そう)、p(な)、p(うどん)、p(です)、p(ね)、p(文末)が取得される。そして、各単語の出現確率の積を、文「おいしそうなうどんですね」の尤度とする。これは、学習済みの文生成モデル232における、「おいしそうなうどんですね」という文の尤もらしさを表している。
【0042】
図5は、本実施形態に係るRNNにより、未知語に類似した置き換え可能な語を予測する方法を例示する図である。
ここでは、分かち書き処理された文「おいし/そう/な/ひっつみ/です/ね」を例として動作を説明する。この例では、単語「ひっつみ」は未知語であり、分かち書き辞書21及びキーワード辞書22には含まれるが、文生成辞書231に含まれない単語であるとする。
【0043】
未知語予測部14は、
図4と同様に、単語「おいし」、「そう」、「な」を順にRNNに入力していくが、「ひっつみ」は文生成辞書231には含まれないため、RNNに入力できない。このため、未知語予測部14は、「な」を入力したときのRNNの出力のうち、出現確率の高い上位の単語を未知語「ひっつみ」を置き換え可能な予測語の候補Xとする。
この例では、出現確率p(うどん)、p(そば)、p(ラーメン)が高く、予測語の候補Xとして、「うどん」、「そば」、「ラーメン」の3語が選択されている。
そして、未知語予測部14は、
図4に示した尤度の計算方法に従って、「うどん」、「です」、「ね」を入力し、文「おいしそうなうどんですね」の尤度(pうどん)、「そば」、「です」、「ね」を入力して、文「おいしそうなそばですね」の尤度(pそば)、「ラーメン」、「です」、「ね」を入力して、文「おいしそうなラーメンですね」の尤度(pラーメン)を求める。
未知語予測部14は、これらの3つの尤度(pうどん、pそば、pラーメン)の中から、最も大きい尤度の文に用いた予測語の候補を、未知語に対する予測語として決定する。
【0044】
図6は、本実施形態に係るRNNにより新たな文を生成する方法を例示する図である。
ここでは、未知語に対する予測語「うどん」を元に、RNNを用いて文を生成した例を示している。
【0045】
RNNに「うどん」を入力したとき、出力として「を」の出現確率が高く、この出現確率が高い語「を」をRNNの次のステップの入力としている。このようにして、前のステップの出力のうち、出現確率の高い語を次のステップの入力に使うことで、「うどん」、「を」、「食べ」、「たい」、「な」、「文末」が順に得られ、結果として、「うどんを食べたいな」という文が生成される。
【0046】
なお、RNNの入力語に対する出力語の選択は、必ずしも出現確率が上位なものには限られない。生成された文の尤度が最大となる語の探索には、様々な既知の方法が採用可能である。
【0047】
本実施形態によれば、文生成装置1は、テレビの字幕文等の入力文Iからキーワードを抽出し、このキーワードを元に新たな出力文Oを生成できる。特に、文生成装置1は、抽出したキーワードが文生成のための学習済み辞書にない未知語であっても、この未知語を置き換えても意味が通る類似した予測語を、学習済みの辞書の語彙の中から予測する。そして、文生成装置1は、予測語を元にして文を生成した後、予測語を未知語に置換することで、出力文Oを生成する。
したがって、文生成装置1は、入力文Iに含まれるキーワードから文を生成する際に、キーワードが学習済みの辞書にない未知語の場合であっても、このキーワードを含む文を生成できる。
【0048】
この結果、例えば、文生成装置1をコミュニケーションロボットに組み込むことで、ロボットは、テレビの字幕文等からキーワードを抽出し、たとえ、このキーワードが未知語であっても、キーワードを元にした文を生成して発話することができる。
【0049】
文生成装置1は、文生成モデル232としてRNNを用いることにより、語順を考慮した精度の良い予測語を選択できる。
また、文生成装置1は、文生成に用いる学習モデルを未知語予測処理に用いることで、文生成処理との親和性を高め、リソースを有効活用して実装を容易にできる。
【0050】
[第2実施形態]
以下、本発明の第2実施形態について説明する。
本実施形態において、文生成装置1の機能構成は、第1実施形態と同様であるが、未知語予測部14の処理が第1実施形態とは異なる。
【0051】
第1実施形態では、未知語予測部14は、分かち書き文の文頭から文末へ順に語を入力して1方向のRNNにより学習した学習済みモデルを用いた。
これに加え、本実施形態では、未知語予測部14は、分かち書き文の文末から文頭へ順に語を入力して学習した学習済みモデルを併用し、それぞれを用いて、2方向のRNNにより尤度を算出する。
【0052】
図7は、本実施形態に係る2方向のRNNを用いた未知語予測処理を示す概要図である。
図7の上部が、文末から文頭へ(Reverse方向へ)順に語を入力するRNNのモデルを使って文の尤度を算出する方法を示し、
図7の下部が、第1実施形態(
図5)と同様に文頭から文末へ(Forward方向へ)順に語を入力するRNNのモデルを使って文の尤度を算出する方法を示している。
【0053】
Forward方向では、未知語「ひっつみ」の予測語として「うどん」を予測し、「おいし/そう/な/うどん/です/ね」という文の尤度pfwdを求めている。また、Reverse方向では、未知語「ひっつみ」の予測語として「ラーメン」を予測し、「ね/です/ラーメン/な/そう/おいし」という文の尤度prevを求めている。
【0054】
未知語予測部14は、Forward方向の尤度pfwdとReverse方向の尤度prevとを比較し、大きい方の文で予測した語を未知語の予測語として採用する。
この例では、Forward方向も、Reverse方向も、共に1文で比較したが、
図5で説明したように、2方向それぞれで複数の予測語の候補に対して文の尤度を算出し、全体の中で最大の尤度となった文が選択されてもよい。
また、例えば、未知語予測部14は、同一の候補を用いた文の2方向の尤度を平均し、平均値が最大の候補を予測語として選択してもよい。
【0055】
本実施形態によれば、文生成装置1は、未知語予測処理に用いるRNNに、2方向のモデルデータを使うことで、未知語が文頭に近いためにForward方向による予測精度が十分でない場合、文末からの予測も用いることで、予測精度を改善できる。
なお、文生成装置1は、例えば入力文Iの中の未知語の位置等に応じて、Forward方向又はReverse方向のいずれか一方を決定し、処理負荷を低減してもよい。
【0056】
[第3実施形態]
以下、本発明の第3実施形態について説明する。
本実施形態において、文生成装置1の機能構成は、第1及び第2実施形態と同様であるが、未知語予測部14の処理が第1及び第2実施形態とは異なる。
【0057】
第1及び第2実施形態では、文生成学習データ23としてRNNを用いたが、学習モデルはこれに限定されるものではない。
例えば、文生成装置1は、非特許文献1のように、過去に収集したテレビ番組の字幕文等からテンプレート文と語彙とを学習し、語彙の共起性を使って、テンプレート文とキーワードとの組み合わせを決定することで、キーワードから文を生成してもよい。
語彙の共起性は、例えば、Word2vec(黒橋禎夫、柴田知秀、“自然言語処理概論”、サイエンス社(2016))により求められる。
【0058】
本実施形態では、未知語予測部14は、入力文Iに含まれる語との共起性に基づいて、予測語を選択する。
【0059】
図8は、本実施形態に係る未知語予測処理の動作を示す概略図である。
ここでは、文生成学習データ23の学習アルゴリズムとして、Word2vecを利用するものとする。
Word2vecは、M次元の入力層、N次元の隠れ層、M次元の出力層からなるニューラルネットワークである。入力層及び出力層の次元数Mは、文生成辞書231の語彙数である。隠れ層の次元数Nは、学習時に予め設定しておく任意の値であり、例えば200次元等が使われる。
【0060】
Word2vecでは、RNNとは異なり、文に含まれる語の順番は無視される。入力層へ対象の語の周辺に出現する語が入力され、出力層で対象の単語の出現確率が高くなるように、入力層と隠れ層との間の重み行列W、及び隠れ層と出力層との間の重み行列Vが学習される。このWord2vecの学習済みデータが文生成モデル232として用いられる。
【0061】
未知語予測部14は、文中の未知語以外の周辺語を入力層に与える。結果として、出力層には、各語彙の出現確率が出力されるため、未知語予測部14は、出現確率の高い語を予測語として用いる。
図8の例では、「おいし/そう/な/ひっつみ/ですね」の分かち書き文に対して、未知語「ひっつみ」を除く、「おいし」、「そう」、「な」「ですね」が入力層に与えられている。結果として、ラーメンの出現確率p(ラーメン)が一番大きく、未知語「ひっつみ」の予測語として「ラーメン」が選択される。
【0062】
本実施形態によれば、文生成装置1は、Word2vecのような文の語順を考慮しない学習方法であっても、共起性を用いて、文内の未知語を、語彙内の既知語で予測することができる。特に、文生成装置1は、非特許文献1に示されたWord2vecを用いた感情文を含む発話文生成方法を併用することで、未知語を含む感情表現文を生成することができる。
【0063】
また、語順を考慮しない方法は、語数の少ない文に対して有効なため、例えば、文生成装置1は、文の長さに応じて、第1又は第2実施形態と、第3実施形態とを切り替える構成であってもよい。
【0064】
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、本実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本実施形態に記載されたものに限定されるものではない。
【0065】
前述の実施形態では、文生成モデル232として、RNN又はWord2vecの学習済みモデルを使う例を示したが、これに限定されるものではない。文生成モデルとしては、隠れマルコフモデル(HMM)、n-gram等、様々な言語モデルが利用可能である。これらはいずれも、ある語から他の語への遷移確率を学習する方法であるため、未知語予測部14は、これらの学習データを利用して、未知語を同様に予測できる。
【0066】
本実施形態では、主に文生成装置1の構成と動作について説明したが、本発明はこれに限られず、各構成要素を備え、入力文に対して新たな出力文を生成するための方法、又はプログラムとして構成されてもよい。
【0067】
さらに、文生成装置1の機能を実現するためのプログラムをコンピュータで読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。
【0068】
ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータで読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【0069】
さらに「コンピュータで読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時刻の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時刻プログラムを保持しているものも含んでもよい。また、上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
【符号の説明】
【0070】
1 文生成装置
10 制御部
11 分かち書き処理部
12 キーワード抽出部
13 未知語判定部
14 未知語予測部
15 文生成部
16 未知語置換部
20 記憶部
21 分かち書き辞書
22 キーワード辞書
23 文生成学習データ
231 文生成辞書
232 文生成モデル