(57)【要約】【課題】入力文に含まれるキーワードから文を生成する際に、キーワードが学習済みの辞書にない未知語の場合であっても、このキーワードを含む文を生成できる文生成装置、文生成方法及び文生成プログラムを提供すること。【解決手段】文生成装置１は、入力文からキーワードを抽出するキーワード抽出部１２と、学習モデルに基づき、キーワードを用いた新たな出力文を生成する文生成部１５と、キーワードが学習モデルの語彙に含まれる既知語であるか、又は学習モデルの語彙に含まれない未知語であるかを判定する未知語判定部１３と、キーワードが未知語である場合、学習モデルに基づいて、既知語の中から予測語を選択し、予測語をキーワードの代わりに文生成部１５へ提供する未知語予測部１４と、出力文の中に予測語が含まれる場合、予測語を元の未知語に置換する未知語置換部１６と、を備える。【選択図】図１
2019185400.tif 000002
【特許請求の範囲】
【請求項１】
入力文から、所定の辞書に含まれているキーワードを抽出するキーワード抽出部と、
学習モデルに基づき、前記キーワードを用いた新たな出力文を生成する文生成部と、
前記キーワードが前記学習モデルの語彙に含まれる既知語であるか、又は前記学習モデルの語彙に含まれない未知語であるかを判定する未知語判定部と、
前記キーワードが未知語である場合、前記学習モデルに基づいて、前記既知語の中から前記入力文において当該キーワードを置換可能な予測語を選択し、当該予測語を前記キーワードの代わりに前記文生成部へ提供する未知語予測部と、
前記出力文の中に前記予測語が含まれる場合、当該予測語を元の未知語に置換する未知語置換部と、を備える文生成装置。
【請求項２】
前記未知語予測部は、前記入力文に含まれる語との共起性に基づいて、前記予測語を選択する請求項１に記載の文生成装置。
【請求項３】
前記未知語予測部は、前記入力文において前記キーワードを置換した場合の文全体の尤度に基づいて、前記予測語を選択する請求項２に記載の文生成装置。
【請求項４】
前記未知語予測部は、文頭から文末へ順に語を入力した場合の学習モデル、及び文末から文頭へ順に語を入力した場合の学習モデルのそれぞれを用いて、前記尤度を算出する請求項３に記載の文生成装置。
【請求項５】
入力文から、所定の辞書に含まれているキーワードを抽出するキーワード抽出ステップと、
学習モデルに基づき、前記キーワードを用いた新たな出力文を生成する文生成ステップと、
前記キーワードが前記学習モデルの語彙に含まれる既知語であるか、又は前記学習モデルの語彙に含まれない未知語であるかを判定する未知語判定ステップと、
前記キーワードが未知語である場合、前記学習モデルに基づいて、前記既知語の中から前記入力文において当該キーワードを置換可能な予測語を選択し、当該予測語を前記キーワードの代わりに前記文生成ステップへ提供する未知語予測ステップと、
前記出力文の中に前記予測語が含まれる場合、当該予測語を元の未知語に置換する未知語置換ステップと、をコンピュータが実行する文生成方法。
【請求項６】
入力文から、所定の辞書に含まれているキーワードを抽出するキーワード抽出ステップと、
学習モデルに基づき、前記キーワードを用いた新たな出力文を生成する文生成ステップと、
前記キーワードが前記学習モデルの語彙に含まれる既知語であるか、又は前記学習モデルの語彙に含まれない未知語であるかを判定する未知語判定ステップと、
前記キーワードが未知語である場合、前記学習モデルに基づいて、前記既知語の中から前記入力文において当該キーワードを置換可能な予測語を選択し、当該予測語を前記キーワードの代わりに前記文生成ステップへ提供する未知語予測ステップと、
前記出力文の中に前記予測語が含まれる場合、当該予測語を元の未知語に置換する未知語置換ステップと、をコンピュータに実行させるための文生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットの発話文を生成するための装置、方法及びプログラムに関する。
【背景技術】
【０００２】
従来、人と対話が可能なコミュニケーションロボットが開発されている。しかしながら、このようなコミュニケーションロボットは、使い始めは目新しいものの、しばらくすると利用者が飽きてしまい使用しなくなってしまう課題がある。
【０００３】
そこで、利用者を飽きさせない工夫として、日々情報の変わるテレビの字幕情報とテンプレート文とを用いてロボットに発話させる手法が提案されている（例えば、非特許文献１参照）。
また、再帰型ニューラルネットワーク（ＲＮＮ：  Ｒｅｃｕｒｒｅｎｔ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）、ｎ−ｇｒａｍ又は隠れマルコフモデル等の言語モデルに基づいて、元の単語に対して尤もらしい文を生成する手法が提案されている（例えば、非特許文献２参照）。
さらに、複数の単語を入力とし、これらの単語を含む文を生成する手法が提案されている（例えば、特許文献１及び非特許文献３参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−１９６２８０号公報
【特許文献２】特開２００２−３３４０７６号公報
【非特許文献】
【０００５】
【非特許文献１】金子豊、星祐太、上原道宏、“テレビ視聴ロボットにおける字幕文内キーワードに基づく発話生成手法”、映像情報メディア学会年次大会、３２Ｂ−４（２０１７）
【非特許文献２】坂本俊之、“Ｃｈａｉｎｅｒで作るコンテンツ自動生成ＡＩプログラミング入門”、シーアンドアール研究所（２０１７）：ＣＨＡＰＴＥＲ  ０６  文章の自動生成
【非特許文献３】尾形朋哉、叶内晨、高谷智哉、小町守、“キーワードに基づくニューラル文生成のためのリランキング”、言語処理学会第２３回年次大会、ｐｐ．６７９−６８２（２０１７）
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来の文生成手法において、入力される単語及び出力される文に使用される単語は、事前の学習時に使用した文に含まれる単語（語彙）に限定されていた。このため、テレビの字幕等のように日々新しい単語が含まれる文からキーワードを抽出したとしても、このキーワードを元にした文が生成できないという課題があった。
【０００７】
また、特許文献１では、形態素解析手法として特許文献２のＭＥモデルに基づく手法を用いることで、データベースに入力されたテキスト文に未知語、すなわち辞書に含まれない単語があっても形態素解析できる手法が提案されている。しかしながら、入力された単語がデータベースに保管されている文に含まれていない未知語である場合には、この未知語を含んだ文を生成できなかった。
【０００８】
本発明は、入力文に含まれるキーワードから文を生成する際に、キーワードが学習済みの辞書にない未知語の場合であっても、このキーワードを含む文を生成できる文生成装置、文生成方法及び文生成プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明に係る文生成装置は、入力文から、所定の辞書に含まれているキーワードを抽出するキーワード抽出部と、学習モデルに基づき、前記キーワードを用いた新たな出力文を生成する文生成部と、前記キーワードが前記学習モデルの語彙に含まれる既知語であるか、又は前記学習モデルの語彙に含まれない未知語であるかを判定する未知語判定部と、前記キーワードが未知語である場合、前記学習モデルに基づいて、前記既知語の中から前記入力文において当該キーワードを置換可能な予測語を選択し、当該予測語を前記キーワードの代わりに前記文生成部へ提供する未知語予測部と、前記出力文の中に前記予測語が含まれる場合、当該予測語を元の未知語に置換する未知語置換部と、を備える。
【００１０】
前記未知語予測部は、前記入力文に含まれる語との共起性に基づいて、前記予測語を選択してもよい。
【００１１】
前記未知語予測部は、前記入力文において前記キーワードを置換した場合の文全体の尤度に基づいて、前記予測語を選択してもよい。
【００１２】
前記未知語予測部は、文頭から文末へ順に語を入力した場合の学習モデル、及び文末から文頭へ順に語を入力した場合の学習モデルのそれぞれを用いて、前記尤度を算出してもよい。
【００１３】
本発明に係る文生成方法は、入力文から、所定の辞書に含まれているキーワードを抽出するキーワード抽出ステップと、学習モデルに基づき、前記キーワードを用いた新たな出力文を生成する文生成ステップと、前記キーワードが前記学習モデルの語彙に含まれる既知語であるか、又は前記学習モデルの語彙に含まれない未知語であるかを判定する未知語判定ステップと、前記キーワードが未知語である場合、前記学習モデルに基づいて、前記既知語の中から前記入力文において当該キーワードを置換可能な予測語を選択し、当該予測語を前記キーワードの代わりに前記文生成ステップへ提供する未知語予測ステップと、前記出力文の中に前記予測語が含まれる場合、当該予測語を元の未知語に置換する未知語置換ステップと、をコンピュータが実行する。
【００１４】
本発明に係る文生成プログラムは、入力文から、所定の辞書に含まれているキーワードを抽出するキーワード抽出ステップと、学習モデルに基づき、前記キーワードを用いた新たな出力文を生成する文生成ステップと、前記キーワードが前記学習モデルの語彙に含まれる既知語であるか、又は前記学習モデルの語彙に含まれない未知語であるかを判定する未知語判定ステップと、前記キーワードが未知語である場合、前記学習モデルに基づいて、前記既知語の中から前記入力文において当該キーワードを置換可能な予測語を選択し、当該予測語を前記キーワードの代わりに前記文生成ステップへ提供する未知語予測ステップと、前記出力文の中に前記予測語が含まれる場合、当該予測語を元の未知語に置換する未知語置換ステップと、をコンピュータに実行させるためのものである。
【発明の効果】
【００１５】
本発明によれば、入力文に含まれるキーワードから文を生成する際に、キーワードが学習済みの辞書にない未知語の場合であっても、このキーワードを含む文を生成できる。
【図面の簡単な説明】
【００１６】
【図１】第１実施形態に係る文生成装置の機能構成を示すブロック図である。
【図２】第１実施形態に係る文生成装置による処理の流れを例示する図である。
【図３】第１実施形態に係る文生成学習データの学習アルゴリズムを例示する概略図である。
【図４】第１実施形態に係るＲＮＮによる文の尤度の計算方法を例示する図である。
【図５】第１実施形態に係るＲＮＮにより、未知語に類似した置き換え可能な語を予測する方法を例示する図である。
【図６】第１実施形態に係るＲＮＮにより新たな文を生成する方法を例示する図である。
【図７】第２実施形態に係る２方向のＲＮＮを用いた未知語予測処理を示す概要図である。
【図８】第３実施形態に係る未知語予測処理の動作を示す概略図である。
【発明を実施するための形態】
【００１７】
［第１実施形態］
以下、本発明の第１実施形態について説明する。
本実施形態に係る文生成装置１は、例えば、人と一緒にテレビを視聴するコミュニケーションロボットに組み込まれ、入力文Ｉに対し、新たに文を生成し、出力文Ｏとして出力する。
【００１８】
図１は、本実施形態に係る文生成装置１の機能構成を示すブロック図である。
文生成装置１は、制御部１０及び記憶部２０の他、各種インタフェースを備えた情報処理装置であり、記憶部２０に格納されたソフトウェア（文生成プログラム）を制御部１０が実行することにより、本実施形態の各種機能が実現される。
【００１９】
文生成装置１へは、テレビの放送番組に付加されている字幕文（クローズドキャプション）が入力文Ｉとして入力されることとして説明を行う。例えば、「今日は名物のラーメンを食べに行きます。」といった字幕文が入力されると、文生成装置１は、「このラーメンを食べてみたい。」のような新たな出力文Ｏを生成することで、テレビ番組の内容に合った文をコミュニケーションロボットに発話させることができる。
【００２０】
なお、放送番組からの字幕文の抽出方法としては、例えば、ロボットがテレビ受像機と連動して、字幕情報を取得したり、放送連動サービスとして、インターネット等の通信設備を用いて配信された字幕情報を受信したりする方法が考えられる。
また、入力文Ｉは、字幕文に限ったものではなく、ロボットに装備されたカメラ又はマイクロフォンを用いて、テレビの画像から画像処理によりオープンキャプションが取得されてもよいし、音声から音声認識により抽出されてもよい。
【００２１】
制御部１０は、分かち書き処理部１１と、キーワード抽出部１２と、未知語判定部１３と、未知語予測部１４と、文生成部１５と、未知語置換部１６とを備える。
また、記憶部２０は、分かち書き辞書２１と、キーワード辞書２２と、文生成学習データ２３とを備える。文生成学習データ２３は、文生成辞書２３１と、文生成モデル２３２とを含む。
【００２２】
分かち書き処理部１１は、分かち書き辞書２１を用いて、入力文Ｉを複数の語に分割する。なお、ここでいう「語」は、文を構成する言葉の単位であり、単語又は文節であってよい。以下では、入力文Ｉは、単語に分割されることとする。
【００２３】
分かち書き処理部１１は、例えば、形態素解析手法を利用することで、文を単語に分割できる。
形態素解析手法としては、例えば、ＭｅＣａｂ（http://taku910.github.io/mecab/）が利用できる。また、分かち書き処理部１１が参照する分かち書き辞書２１としては、Ｎｅｏｌｏｇｄ（https://github.com/neologd/mecab-ipadic-neologd）等が利用できる。例えば、Ｎｅｏｌｏｇｄでは、インターネット等で使われている固有名詞等を収集して辞書が更新されている。分かち書き処理部１１は、分かち書き辞書２１として、このような辞書を用いることで、日々増え続ける新たな単語を判別して、分かち書きすることができる。
【００２４】
キーワード抽出部１２は、分かち書き処理部１１により分かち書きされた入力文Ｉからキーワードを抽出する。
このとき、キーワード抽出部１２は、キーワード辞書２２に含まれる語が分かち書きされた入力文Ｉの中に含まれるか否かを検索し、このキーワード辞書２２に含まれる語を入力文Ｉからキーワードとして抽出する。
なお、キーワード辞書２２は、分かち書き辞書２１の語の中から、キーワードとして使用するものを事前に選択することで作られた辞書である。
【００２５】
未知語判定部１３は、キーワード抽出部１２により抽出されたキーワードが未知語か否かの判定を行う。ここでいう未知語とは、文生成学習データ２３として学習された文生成モデル２３２の語彙に含まれない語、すなわち、文生成辞書２３１に含まれない語のことである。
【００２６】
未知語予測部１４は、未知語判定部１３により未知語と判定された語の代わりに、文生成辞書２３１に含まれる語彙の中から置換が可能な類似語を選択し、予測語として出力する。
このとき、未知語予測部１４は、入力文Ｉに含まれる他の語との並び順も考慮した共起性に基づいて、予測語を選択する。具体的には、文を生成するための各語の出現確率を学習した文生成学習データ２３を用いて、入力文Ｉにおいてキーワードを置換した場合の文全体の尤度が最も大きい予測語を選択する。なお、未知語予測処理の詳細は、後述する。
【００２７】
文生成部１５は、キーワード、又はこのキーワードが未知語の場合には未知語予測部１４により出力された予測語を用いて、文生成モデル２３２に基づき新たな出力文Ｏを生成する。
【００２８】
未知語置換部１６は、文生成部１５により生成された出力文Ｏの中に予測語が含まれる場合、この予測語を置換前の元の未知語に置き換えて出力する。
【００２９】
図２は、本実施形態に係る文生成装置１による処理の流れを例示する図である。
この例は、入力文Ｉとして「おいしそうなひっつみですね」が入力され、出力文Ｏとして「ひっつみを食べたいな」を出力するまでの処理手順を示している。
【００３０】
ステップＳ１の分かち書き処理において、分かち書き処理部１１は、分かち書き辞書２１を用いた形態素解析により、入力文Ｉを、「おいし」、「そう」、「な」、「ひっつみ」、「です」、「ね」の６単語に分割する。
【００３１】
ステップＳ２のキーワード抽出処理において、キーワード抽出部１２は、キーワード辞書２２を用いて、キーワード「ひっつみ」を抽出する。
【００３２】
ステップＳ３の未知語判定処理において、未知語判定部１３は、キーワード抽出処理（ステップＳ２）で抽出されたキーワード「ひっつみ」が文生成辞書２３１に含まれていないため、このキーワード「ひっつみ」を未知語と判定する。
【００３３】
ステップＳ４の未知語予測処理において、未知語予測部１４は、未知語と判定されたキーワード「ひっつみ」を置き換え可能な、類似した予測語として「うどん」を出力している。
【００３４】
ステップＳ５の文生成処理において、文生成部１５は、未知語「ひっつみ」を置換した予測語「うどん」を用いて、新たな文「うどんを食べたいな」を出力している。
【００３５】
ステップＳ６の未知語置換処理において、未知語置換部１６は、文生成処理（ステップＳ５）で出力された文「うどんを食べたいな」に含まれる予測語「うどん」を、元の未知語「ひっつみ」に置き換えて、「ひっつみを食べたいな」とし、文生成装置１の出力文Ｏとして出力する。
【００３６】
なお、ステップＳ３の未知語判定処理において、キーワードが未知語と判定された場合にはステップＳ４の未知語予測処理が実行されるが、既知語の場合には、未知語予測処理は実行されず、ステップＳ５の文生成処理により既知語に基づく出力文Ｏが生成される。
【００３７】
図３は、本実施形態に係る文生成学習データ２３の学習アルゴリズムを例示する概略図である。
ここでは、文生成学習データ２３の学習アルゴリズムとしてＲＮＮを利用するものとする。
【００３８】
ＲＮＮは、Ｍ次元の入力層、Ｎ次元の隠れ層、Ｍ次元の出力層を有している。ここで、入力層及び出力層の次元数Ｍは、文生成辞書２３１の語彙数である。隠れ層の次元数Ｎは、学習時に予め任意に設定しておく値であり、例えば２００次元等が使われる。
Ｍ次元の入力層の各要素は、文生成辞書２３１の各語と１対１に対応しており、本実施形態では、Ｍ個の要素のうち１つだけが入力される。ここでは、単語「おいし」に対応する入力層の要素だけが入力された例を示している。
【００３９】
Ｍ次元の出力層の各要素は、入力層と同様、文生成辞書２３１の各単語と１対１に対応している。Ｍ次元の出力層の各要素には、入力層に入力された単語に対して、次の単語がどの程度出現するかを示す確率ｐが全ての単語に対して出力される。
入力層に入力された単語に対して、出力層で出力される各単語の確率ｐは、入力層と隠れ層との間の重み行列Ｗ、隠れ層と出力層の間の重み行列Ｖ、及び１ステップ前の隠れ層と今の隠れ層との間の重み行列Ｈから計算される。これらの行列Ｗ、Ｖ、Ｈは、様々な文における単語の列をＲＮＮに入力し、出力の誤差を小さくすることで求めることができる。これらの行列Ｗ、Ｖ、Ｈは、予め学習済みであり、文生成モデル２３２に保管されているものとする。
【００４０】
図４は、本実施形態に係るＲＮＮによる文の尤度の計算方法を例示する図である。
この例では、分かち書き処理された「おいし／そう／な／うどん／です／ね」という文の尤度の計算方法を示している。ここで、分かち書きされた文は、文生成辞書２３１にある単語（既知語）で構成されているとする。
【００４１】
ＲＮＮは、入力単語に対して、次に出現する単語の発生確率を出力するように学習されているため、「おいし」、「そう」、「な」、「うどん」、「です」、「ね」と１単語ずつ順に入力すると、それぞれの単語の次の単語の発生確率、すなわち、「おいし」の次に「そう」が出現する確率ｐ（そう）、「そう」の次に「な」が出現する確率ｐ（な）、というように、各単語の出現確率ｐ（そう）、ｐ（な）、ｐ（うどん）、ｐ（です）、ｐ（ね）、ｐ（文末）が取得される。そして、各単語の出現確率の積を、文「おいしそうなうどんですね」の尤度とする。これは、学習済みの文生成モデル２３２における、「おいしそうなうどんですね」という文の尤もらしさを表している。
【００４２】
図５は、本実施形態に係るＲＮＮにより、未知語に類似した置き換え可能な語を予測する方法を例示する図である。
ここでは、分かち書き処理された文「おいし／そう／な／ひっつみ／です／ね」を例として動作を説明する。この例では、単語「ひっつみ」は未知語であり、分かち書き辞書２１及びキーワード辞書２２には含まれるが、文生成辞書２３１に含まれない単語であるとする。
【００４３】
未知語予測部１４は、図４と同様に、単語「おいし」、「そう」、「な」を順にＲＮＮに入力していくが、「ひっつみ」は文生成辞書２３１には含まれないため、ＲＮＮに入力できない。このため、未知語予測部１４は、「な」を入力したときのＲＮＮの出力のうち、出現確率の高い上位の単語を未知語「ひっつみ」を置き換え可能な予測語の候補Ｘとする。
この例では、出現確率ｐ（うどん）、ｐ（そば）、ｐ（ラーメン）が高く、予測語の候補Ｘとして、「うどん」、「そば」、「ラーメン」の３語が選択されている。
そして、未知語予測部１４は、図４に示した尤度の計算方法に従って、「うどん」、「です」、「ね」を入力し、文「おいしそうなうどんですね」の尤度（ｐうどん）、「そば」、「です」、「ね」を入力して、文「おいしそうなそばですね」の尤度（ｐそば）、「ラーメン」、「です」、「ね」を入力して、文「おいしそうなラーメンですね」の尤度（ｐラーメン）を求める。
未知語予測部１４は、これらの３つの尤度（ｐうどん、ｐそば、ｐラーメン）の中から、最も大きい尤度の文に用いた予測語の候補を、未知語に対する予測語として決定する。
【００４４】
図６は、本実施形態に係るＲＮＮにより新たな文を生成する方法を例示する図である。
ここでは、未知語に対する予測語「うどん」を元に、ＲＮＮを用いて文を生成した例を示している。
【００４５】
ＲＮＮに「うどん」を入力したとき、出力として「を」の出現確率が高く、この出現確率が高い語「を」をＲＮＮの次のステップの入力としている。このようにして、前のステップの出力のうち、出現確率の高い語を次のステップの入力に使うことで、「うどん」、「を」、「食べ」、「たい」、「な」、「文末」が順に得られ、結果として、「うどんを食べたいな」という文が生成される。
【００４６】
なお、ＲＮＮの入力語に対する出力語の選択は、必ずしも出現確率が上位なものには限られない。生成された文の尤度が最大となる語の探索には、様々な既知の方法が採用可能である。
【００４７】
本実施形態によれば、文生成装置１は、テレビの字幕文等の入力文Ｉからキーワードを抽出し、このキーワードを元に新たな出力文Ｏを生成できる。特に、文生成装置１は、抽出したキーワードが文生成のための学習済み辞書にない未知語であっても、この未知語を置き換えても意味が通る類似した予測語を、学習済みの辞書の語彙の中から予測する。そして、文生成装置１は、予測語を元にして文を生成した後、予測語を未知語に置換することで、出力文Ｏを生成する。
したがって、文生成装置１は、入力文Ｉに含まれるキーワードから文を生成する際に、キーワードが学習済みの辞書にない未知語の場合であっても、このキーワードを含む文を生成できる。
【００４８】
この結果、例えば、文生成装置１をコミュニケーションロボットに組み込むことで、ロボットは、テレビの字幕文等からキーワードを抽出し、たとえ、このキーワードが未知語であっても、キーワードを元にした文を生成して発話することができる。
【００４９】
文生成装置１は、文生成モデル２３２としてＲＮＮを用いることにより、語順を考慮した精度の良い予測語を選択できる。
また、文生成装置１は、文生成に用いる学習モデルを未知語予測処理に用いることで、文生成処理との親和性を高め、リソースを有効活用して実装を容易にできる。
【００５０】
［第２実施形態］
以下、本発明の第２実施形態について説明する。
本実施形態において、文生成装置１の機能構成は、第１実施形態と同様であるが、未知語予測部１４の処理が第１実施形態とは異なる。
【００５１】
第１実施形態では、未知語予測部１４は、分かち書き文の文頭から文末へ順に語を入力して１方向のＲＮＮにより学習した学習済みモデルを用いた。
これに加え、本実施形態では、未知語予測部１４は、分かち書き文の文末から文頭へ順に語を入力して学習した学習済みモデルを併用し、それぞれを用いて、２方向のＲＮＮにより尤度を算出する。
【００５２】
図７は、本実施形態に係る２方向のＲＮＮを用いた未知語予測処理を示す概要図である。
図７の上部が、文末から文頭へ（Ｒｅｖｅｒｓｅ方向へ）順に語を入力するＲＮＮのモデルを使って文の尤度を算出する方法を示し、図７の下部が、第１実施形態（図５）と同様に文頭から文末へ（Ｆｏｒｗａｒｄ方向へ）順に語を入力するＲＮＮのモデルを使って文の尤度を算出する方法を示している。
【００５３】
Ｆｏｒｗａｒｄ方向では、未知語「ひっつみ」の予測語として「うどん」を予測し、「おいし／そう／な／うどん／です／ね」という文の尤度ｐｆｗｄを求めている。また、Ｒｅｖｅｒｓｅ方向では、未知語「ひっつみ」の予測語として「ラーメン」を予測し、「ね／です／ラーメン／な／そう／おいし」という文の尤度ｐｒｅｖを求めている。
【００５４】
未知語予測部１４は、Ｆｏｒｗａｒｄ方向の尤度ｐｆｗｄとＲｅｖｅｒｓｅ方向の尤度ｐｒｅｖとを比較し、大きい方の文で予測した語を未知語の予測語として採用する。
この例では、Ｆｏｒｗａｒｄ方向も、Ｒｅｖｅｒｓｅ方向も、共に１文で比較したが、図５で説明したように、２方向それぞれで複数の予測語の候補に対して文の尤度を算出し、全体の中で最大の尤度となった文が選択されてもよい。
また、例えば、未知語予測部１４は、同一の候補を用いた文の２方向の尤度を平均し、平均値が最大の候補を予測語として選択してもよい。
【００５５】
本実施形態によれば、文生成装置１は、未知語予測処理に用いるＲＮＮに、２方向のモデルデータを使うことで、未知語が文頭に近いためにＦｏｒｗａｒｄ方向による予測精度が十分でない場合、文末からの予測も用いることで、予測精度を改善できる。
なお、文生成装置１は、例えば入力文Ｉの中の未知語の位置等に応じて、Ｆｏｒｗａｒｄ方向又はＲｅｖｅｒｓｅ方向のいずれか一方を決定し、処理負荷を低減してもよい。
【００５６】
［第３実施形態］
以下、本発明の第３実施形態について説明する。
本実施形態において、文生成装置１の機能構成は、第１及び第２実施形態と同様であるが、未知語予測部１４の処理が第１及び第２実施形態とは異なる。
【００５７】
第１及び第２実施形態では、文生成学習データ２３としてＲＮＮを用いたが、学習モデルはこれに限定されるものではない。
例えば、文生成装置１は、非特許文献１のように、過去に収集したテレビ番組の字幕文等からテンプレート文と語彙とを学習し、語彙の共起性を使って、テンプレート文とキーワードとの組み合わせを決定することで、キーワードから文を生成してもよい。
語彙の共起性は、例えば、Ｗｏｒｄ２ｖｅｃ（黒橋禎夫、柴田知秀、“自然言語処理概論”、サイエンス社（２０１６））により求められる。
【００５８】
本実施形態では、未知語予測部１４は、入力文Ｉに含まれる語との共起性に基づいて、予測語を選択する。
【００５９】
図８は、本実施形態に係る未知語予測処理の動作を示す概略図である。
ここでは、文生成学習データ２３の学習アルゴリズムとして、Ｗｏｒｄ２ｖｅｃを利用するものとする。
Ｗｏｒｄ２ｖｅｃは、Ｍ次元の入力層、Ｎ次元の隠れ層、Ｍ次元の出力層からなるニューラルネットワークである。入力層及び出力層の次元数Ｍは、文生成辞書２３１の語彙数である。隠れ層の次元数Ｎは、学習時に予め設定しておく任意の値であり、例えば２００次元等が使われる。
【００６０】
Ｗｏｒｄ２ｖｅｃでは、ＲＮＮとは異なり、文に含まれる語の順番は無視される。入力層へ対象の語の周辺に出現する語が入力され、出力層で対象の単語の出現確率が高くなるように、入力層と隠れ層との間の重み行列Ｗ、及び隠れ層と出力層との間の重み行列Ｖが学習される。このＷｏｒｄ２ｖｅｃの学習済みデータが文生成モデル２３２として用いられる。
【００６１】
未知語予測部１４は、文中の未知語以外の周辺語を入力層に与える。結果として、出力層には、各語彙の出現確率が出力されるため、未知語予測部１４は、出現確率の高い語を予測語として用いる。
図８の例では、「おいし／そう／な／ひっつみ／ですね」の分かち書き文に対して、未知語「ひっつみ」を除く、「おいし」、「そう」、「な」「ですね」が入力層に与えられている。結果として、ラーメンの出現確率ｐ（ラーメン）が一番大きく、未知語「ひっつみ」の予測語として「ラーメン」が選択される。
【００６２】
本実施形態によれば、文生成装置１は、Ｗｏｒｄ２ｖｅｃのような文の語順を考慮しない学習方法であっても、共起性を用いて、文内の未知語を、語彙内の既知語で予測することができる。特に、文生成装置１は、非特許文献１に示されたＷｏｒｄ２ｖｅｃを用いた感情文を含む発話文生成方法を併用することで、未知語を含む感情表現文を生成することができる。
【００６３】
また、語順を考慮しない方法は、語数の少ない文に対して有効なため、例えば、文生成装置１は、文の長さに応じて、第１又は第２実施形態と、第３実施形態とを切り替える構成であってもよい。
【００６４】
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、本実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本実施形態に記載されたものに限定されるものではない。
【００６５】
前述の実施形態では、文生成モデル２３２として、ＲＮＮ又はＷｏｒｄ２ｖｅｃの学習済みモデルを使う例を示したが、これに限定されるものではない。文生成モデルとしては、隠れマルコフモデル（ＨＭＭ）、ｎ−ｇｒａｍ等、様々な言語モデルが利用可能である。これらはいずれも、ある語から他の語への遷移確率を学習する方法であるため、未知語予測部１４は、これらの学習データを利用して、未知語を同様に予測できる。
【００６６】
本実施形態では、主に文生成装置１の構成と動作について説明したが、本発明はこれに限られず、各構成要素を備え、入力文に対して新たな出力文を生成するための方法、又はプログラムとして構成されてもよい。
【００６７】
さらに、文生成装置１の機能を実現するためのプログラムをコンピュータで読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。
【００６８】
ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータで読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【００６９】
さらに「コンピュータで読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時刻の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時刻プログラムを保持しているものも含んでもよい。また、上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
【符号の説明】
【００７０】
１  文生成装置
１０  制御部
１１  分かち書き処理部
１２  キーワード抽出部
１３  未知語判定部
１４  未知語予測部
１５  文生成部
１６  未知語置換部
２０  記憶部
２１  分かち書き辞書
２２  キーワード辞書
２３  文生成学習データ
２３１  文生成辞書
２３２  文生成モデル
【図１】
2019185400.tif 000003
【図２】
2019185400.tif 000004
【図３】
2019185400.tif 000005
【図４】
2019185400.tif 000006
【図５】
2019185400.tif 000007
【図６】
2019185400.tif 000008
【図７】
2019185400.tif 000009
【図８】
2019185400.tif 000010