(57)【要約】【課題】時系列数値データの変動を説明するテキストを生成するテキスト生成装置、テキスト生成方法及びテキスト生成プログラムを提供する。【解決手段】テキスト生成装置は、時間の経過と対応付けられた数列を含む時系列数値データの変動を説明するテキストデータを生成するテキスト生成装置であって、置換テキストデータと時系列数値データとを学習用データとして、時系列数値データが入力された場合に、置換テキストデータを出力するように言語モデルを学習させる学習部と、学習部により学習された言語モデルに新たな時系列数値データを入力し、言語モデルの出力によって新たな時系列数値データを説明する新たな置換テキストデータを生成する生成部と、新たな置換テキストデータに含まれる所定の文字列を、所定の規則で新たな時系列数値データに関係する数値に置き換える置換部と、を備える。【選択図】図１
2019046158.tif 000002
【特許請求の範囲】
【請求項１】
時間の経過と対応付けられた数列を含む時系列数値データの変動を説明するテキストデータを生成するテキスト生成装置であって、
前記テキストデータのうち前記時系列数値データに関係する数値を所定の規則で所定の文字列に置き換えた置換テキストデータと前記時系列数値データとを学習用データとして、前記時系列数値データが入力された場合に、前記置換テキストデータを出力するように言語モデルを学習させる学習部と、
前記学習部により学習された前記言語モデルに新たな時系列数値データを入力し、前記言語モデルの出力によって新たな置換テキストデータを生成する生成部と、
前記新たな置換テキストデータに含まれる前記所定の文字列を、前記所定の規則で前記新たな時系列数値データに関係する数値に置き換える置換部と、
を備えるテキスト生成装置。
【請求項２】
前記時系列数値データに関係する数値は、
前記時系列数値データに含まれる数列のうち所定の時点に対応付けられた数値と、
前記時系列数値データに含まれる数列のうち異なる時点に対応付けられた数値の差と、
前記時系列数値データに含まれる数列のうち所定の時点に対応付けられた数値を所定の桁で切り捨てた数値と、
前記時系列数値データに含まれる数列のうち異なる時点に対応付けられた数値の差を所定の桁で切り捨てた数値と、
前記時系列数値データに含まれる数列のうち所定の時点に対応付けられた数値を所定の桁で切り上げた数値と、
前記時系列数値データに含まれる数列のうち異なる時点に対応付けられた数値の差を所定の桁で切り上げた数値と、のうち少なくともいずれかを含み、
前記所定の規則は、前記時系列数値データに関係する数値の種類と前記所定の文字列とを対応付ける規則である、
請求項１に記載のテキスト生成装置。
【請求項３】
前記時系列数値データは、第１間隔で時間の経過と対応付けられた数列を含む第１時系列数値データと、前記第１間隔より長い第２間隔で時間の経過と対応付けられた数列を含む第２時系列数値データとを含む、
請求項１又は２に記載のテキスト生成装置。
【請求項４】
前記生成部は、前記時系列数値データを１又は複数の方法で変換して得られる、前記１又は複数の方法に一対一に対応する１又は複数の数値データを、前記言語モデルに入力する、
請求項１から３のいずれか一項に記載のテキスト生成装置。
【請求項５】
前記１又は複数の数値データは、
前記時系列数値データに含まれる数列を所定の数値範囲に正規化した数値データと、
前記時系列数値データに含まれる数列の平均値及び標準偏差を用いて前記時系列数値データを標準化した数値データと、
前記時系列数値データに含まれる数列のうち所定の時点に対応付けられた数値を基準値として、前記時系列数値データに含まれる数列を前記基準値に関して相対化した数値データと、
のうち少なくともいずれかを含む、
請求項４に記載のテキスト生成装置。
【請求項６】
前記言語モデルは、
第１間隔で時間の経過と対応付けられた数列を含む第１時系列数値データを１又は複数の方法で変換して得られる、前記１又は複数の方法に一対一に対応する１又は複数の第１数値データが入力される第１エンコーダと、
前記第１間隔より長い第２間隔で時間の経過と対応付けられた数列を含む第２時系列数値データを前記１又は複数の方法で変換して得られる、前記１又は複数の方法に一対一に対応する１又は複数の第２数値データが入力される第２エンコーダと、
前記第１エンコーダの出力及び前記第２エンコーダの出力を合成する合成部と、
前記合成部により合成されたデータが入力され、前記置換テキストデータを出力するデコーダと、を含む、
請求項１から５のいずれか一項に記載のテキスト生成装置。
【請求項７】
前記合成部は、前記第１エンコーダの出力、前記第２エンコーダの出力、前記１又は複数の第１数値データ及び前記１又は複数の第２数値データを合成する、
請求項６に記載のテキスト生成装置。
【請求項８】
前記デコーダには、前記合成部により合成されたデータ及び前記時系列数値データの時系列に関するデータが入力される、
請求項６又は７に記載のテキスト生成装置。
【請求項９】
ハードウェアプロセッサ及びメモリを備えるコンピュータによって、時間の経過と対応付けられた数列を含む時系列数値データの変動を説明するテキストデータを生成するテキスト生成方法であって、
前記テキストデータのうち前記時系列数値データに関係する数値を所定の規則で所定の文字列に置き換えた置換テキストデータと前記時系列数値データとを学習用データとして、前記時系列数値データが入力された場合に、前記置換テキストデータを出力するように言語モデルを学習させることと、
学習された前記言語モデルに新たな時系列数値データを入力し、前記言語モデルの出力によって前記新たな時系列数値データを説明する新たな置換テキストデータを生成することと、
前記新たな置換テキストデータに含まれる前記所定の文字列を、前記所定の規則で前記新たな時系列数値データに関係する数値に置き換えることと、
を実行するテキスト生成方法。
【請求項１０】
時間の経過と対応付けられた数列を含む時系列数値データの変動を説明するテキストデータを生成するテキスト生成装置に備えられたコンピュータを、
前記テキストデータのうち前記時系列数値データに関係する数値を所定の規則で所定の文字列に置き換えた置換テキストデータと前記時系列数値データとを学習用データとして、前記時系列数値データが入力された場合に、前記置換テキストデータを出力するように言語モデルを学習させる学習部、
前記学習部により学習された前記言語モデルに新たな時系列数値データを入力し、前記言語モデルの出力によって前記新たな時系列数値データを説明する新たな置換テキストデータを生成する生成部、及び
前記新たな置換テキストデータに含まれる前記所定の文字列を、前記所定の規則で前記新たな時系列数値データに関係する数値に置き換える置換部、
として機能させるテキスト生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テキスト生成装置、テキスト生成方法及びテキスト生成プログラムに関する。
【背景技術】
【０００２】
近年、自然言語処理の分野において、リカレントニューラルネットワーク等のニューラルネットワークを用いた言語モデルが研究されている。
【０００３】
例えば下記特許文献１には、対話形式のテキストから認識された単語と、単語の時系列情報と、単語の発言者を識別する識別情報とを第１のデータベースから取得する認識結果取得部と、単語と単語の時系列情報と識別情報と要約モデルに基づいて単語を訂正し、訂正結果を第１のデータベースに出力するテキスト要約部と、を有する対話テキスト要約装置が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１７−１１１１９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ニューラルネットワークを用いた言語モデルは、大量のテキストデータを学習用データとして、学習用データに表れる単語の統計的特徴に基づいてテキストを生成するように学習されることがある。
【０００６】
しかしながら、時間の経過とともに変化する数値の列を含む時系列数値データ（例えば株価等）の変動を説明するテキストを生成する場合、学習用データは時系列数値データの引用や変化量に関する説明（例えば、株価であれば、始値、終値、上げ幅等）を含むことがあり、その説明に関連付けられる数値が様々に変化するため、それぞれの数値が統計的に稀にしか現れない単語となってしまう。そのため、数値に関する記載を正しく再現するように言語モデルを学習させることが難しく、時系列数値データの変動を説明するテキストを生成することが難しかった。
【０００７】
そこで、本発明は、時系列数値データの変動を説明するテキストを生成するテキスト生成装置、テキスト生成方法及びテキスト生成プログラムを提供する。
【課題を解決するための手段】
【０００８】
本発明の一態様に係るテキスト生成装置は、時間の経過と対応付けられた数列を含む時系列数値データの変動を説明するテキストデータを生成するテキスト生成装置であって、テキストデータのうち時系列数値データに関係する数値を所定の規則で所定の文字列に置き換えた置換テキストデータと時系列数値データとを学習用データとして、時系列数値データが入力された場合に、置換テキストデータを出力するように言語モデルを学習させる学習部と、学習部により学習された言語モデルに新たな時系列数値データを入力し、言語モデルの出力によって新たな時系列数値データを説明する新たな置換テキストデータを生成する生成部と、新たな置換テキストデータに含まれる所定の文字列を、所定の規則で新たな時系列数値データに関係する数値に置き換える置換部と、を備える。
【０００９】
この態様によれば、言語モデルの出力によって新たな時系列数値データを説明する新たな置換テキストデータを生成し、新たな置換テキストデータに含まれる所定の文字列を、所定の規則で新たな時系列数値データに関係する数値に置き換えることで、時系列数値データに関する数値を言語モデルによって直接出力する必要が無くなり、数値が様々に変化する場合であってもその数値に関する記載を正しく含むように、時系列数値データの変動を説明するテキストを生成することができる。
【００１０】
上記態様において、時系列数値データに関係する数値は、時系列数値データに含まれる数列のうち所定の時点に対応付けられた数値と、時系列数値データに含まれる数列のうち異なる時点に対応付けられた数値の差と、時系列数値データに含まれる数列のうち所定の時点に対応付けられた数値を所定の桁で切り捨てた数値と、時系列数値データに含まれる数列のうち異なる時点に対応付けられた数値の差を所定の桁で切り捨てた数値と、時系列数値データに含まれる数列のうち所定の時点に対応付けられた数値を所定の桁で切り上げた数値と、時系列数値データに含まれる数列のうち異なる時点に対応付けられた数値の差を所定の桁で切り上げた数値と、のうち少なくともいずれかを含み、所定の規則は、時系列数値データに関係する数値の種類と所定の文字列とを対応付ける規則であってもよい。
【００１１】
この態様によれば、時系列数値データに関係する数値の種類と所定の文字列とを対応付けることで、時系列数値データの引用や時系列数値データを演算した結果得られる数値を含むように、時系列数値データの変動を説明するテキストを生成することができる。
【００１２】
上記態様において、時系列数値データは、第１間隔で時間の経過と対応付けられた数列を含む第１時系列数値データと、第１間隔より長い第２間隔で時間の経過と対応付けられた数列を含む第２時系列数値データとを含んでもよい。
【００１３】
この態様によれば、異なる時間間隔で時間の経過と対応付けられた数列を含む時系列数値データを用いることで、時系列数値データの履歴に依存する単語を正しく含むように、時系列数値データの変動を説明するテキストを生成することができる。
【００１４】
上記態様において、生成部は、時系列数値データを、１又は複数の方法に一対一に対応する１又は複数の方法で変換して得られる１又は複数の数値データを、言語モデルに入力してもよい。
【００１５】
この態様によれば、時系列数値データを１又は複数の方法で変換して得られる１又は複数の数値データを言語モデルに入力することで、生成されるテキストが時系列数値データの絶対値に依存してぶれることが防止される。
【００１６】
上記態様において、１又は複数の数値データは、時系列数値データに含まれる数列を所定の数値範囲に正規化した数値データと、時系列数値データに含まれる数列の平均値及び標準偏差を用いて時系列数値データを標準化した数値データと、時系列数値データに含まれる数列のうち所定の時点に対応付けられた数値を基準値として、時系列数値データに含まれる数列を基準値に関して相対化した数値データと、のうち少なくともいずれかを含んでもよい。
【００１７】
この態様によれば、正規化した数値データ又は標準化した数値データを用いることで、生成されるテキストが時系列数値データの絶対値に依存してぶれることが防止され、相対化した数値データを用いることで、時系列数値データの履歴に依存する単語を正しく含むように、時系列数値データの変動を説明するテキストを生成することができる。
【００１８】
上記態様において、言語モデルは、第１間隔で時間の経過と対応付けられた数列を含む第１時系列数値データを１又は複数の方法で変換して得られる、１又は複数の方法に一対一に対応する１又は複数の第１数値データが入力される第１エンコーダと、第１間隔より長い第２間隔で時間の経過と対応付けられた数列を含む第２時系列数値データを１又は複数の方法で変換して得られる、１又は複数の方法に一対一に対応する１又は複数の第２数値データが入力される第２エンコーダと、第１エンコーダの出力及び第２エンコーダの出力を合成する合成部と、合成部により合成されたデータが入力され、置換テキストデータを出力するデコーダと、を含んでもよい。
【００１９】
この態様によれば、異なる時間間隔で時間の経過と対応付けられた数列を含む時系列数値データをそれぞれ異なるエンコーダに入力し、出力を合成してデコーダに入力することで、時系列数値データの履歴に依存する単語を正しく含むように、時系列数値データの変動を説明するテキストを生成することができる。
【００２０】
上記態様において、合成部は、第１エンコーダの出力、第２エンコーダの出力、１又は複数の第１数値データ及び１又は複数の第２数値データを合成してもよい。
【００２１】
この態様によれば、デコーダに対して、エンコーダの出力のみならず、複数の数値データを入力することで、時系列数値データの履歴に依存する単語を正しく含むように、時系列数値データの変動を説明するテキストを生成することができる。
【００２２】
上記態様において、デコーダには、合成部により合成されたデータ及び時系列数値データの時系列に関するデータが入力されてもよい。
【００２３】
この態様によれば、デコーダに対して、合成部により合成されたデータのみならず、時系列数値データの時系列に関するデータを入力することで、時系列数値データの履歴に依存する単語を正しく含むように、時系列数値データの変動を説明するテキストを生成することができる。
【００２４】
本発明の他の態様に係るテキスト生成方法は、ハードウェアプロセッサ及びメモリを備えるコンピュータによって、時間の経過と対応付けられた数列を含む時系列数値データの変動を説明するテキストデータを生成するテキスト生成方法であって、テキストデータのうち時系列数値データに関係する数値を所定の規則で所定の文字列に置き換えた置換テキストデータと時系列数値データとを学習用データとして、時系列数値データが入力された場合に、置換テキストデータを出力するように言語モデルを学習させることと、学習された言語モデルに新たな時系列数値データを入力し、言語モデルの出力によって新たな時系列数値データを説明する新たな置換テキストデータを生成することと、新たな置換テキストデータに含まれる所定の文字列を、所定の規則で新たな時系列数値データに関係する数値に置き換えることと、を実行する。
【００２５】
この態様によれば、言語モデルの出力によって新たな時系列数値データを説明する新たな置換テキストデータを生成し、新たな置換テキストデータに含まれる所定の文字列を、所定の規則で新たな時系列数値データに関係する数値に置き換えることで、時系列数値データに関係する数値を言語モデルによって直接出力する必要が無くなり、数値が様々に変化する場合であってもその数値に関する記載を正しく含むように、時系列数値データの変動を説明するテキストを生成することができる。
【００２６】
本発明の他の態様に係るテキスト生成プログラムは、時間の経過と対応付けられた数列を含む時系列数値データの変動を説明するテキストデータを生成するテキスト生成装置に備えられたコンピュータを、テキストデータのうち時系列数値データに関係する数値を所定の規則で所定の文字列に置き換えた置換テキストデータと時系列数値データとを学習用データとして、時系列数値データが入力された場合に、置換テキストデータを出力するように言語モデルを学習させる学習部、学習部により学習された言語モデルに新たな時系列数値データを入力し、言語モデルの出力によって新たな時系列数値データを説明する新たな置換テキストデータを生成する生成部、及び新たな置換テキストデータに含まれる所定の文字列を、所定の規則で新たな時系列数値データに関係する数値に置き換える置換部、として機能させる。
【００２７】
この態様によれば、言語モデルの出力によって新たな時系列数値データを説明する新たな置換テキストデータを生成し、新たな置換テキストデータに含まれる所定の文字列を、所定の規則で新たな時系列数値データに関係する数値に置き換えることで、時系列数値データに関係する数値を言語モデルによって直接出力する必要が無くなり、数値が様々に変化する場合であってもその数値に関する記載を正しく含むように、時系列数値データの変動を説明するテキストを生成することができる。
【発明の効果】
【００２８】
本発明によれば、時系列数値データの変動を説明するテキストを生成するテキスト生成装置、テキスト生成方法及びテキスト生成プログラムを提供することができる。
【図面の簡単な説明】
【００２９】
【図１】本発明の実施形態に係るテキスト生成装置のネットワーク構成を示す図である。
【図２】本実施形態に係るテキスト生成装置の物理構成を示す図である。
【図３】本実施形態に係るテキスト生成装置の機能ブロックを示す図である。
【図４】言語モデルの構成を示す図である。
【図５】時系列数値データに関係する数値の種類と所定の文字列とを対応付ける規則を示す図である。
【図６】本実施形態に係るテキスト生成装置で実行される処理のフローチャートである。
【図７】本実施形態に係るテキスト生成装置で生成されるテキストを示す図である。
【図８】本実施形態に係るテキスト生成装置で生成されるテキストと基準となるテキストとの近さを評価した指標値を示す図である。
【発明を実施するための形態】
【００３０】
添付図面を参照して、本発明の実施形態について説明する。なお、各図において、同一の符号を付したものは、同一又は同様の構成を有する。
【００３１】
図１は、本発明の実施形態に係るテキスト生成装置１０のネットワーク構成を示す図である。本実施形態において、テキスト生成システム１００は、時間の経過と対応付けられた数列を含む時系列数値データと、その時系列数値データの変動を説明するテキストデータとを含む初期データセットを記憶するデータベースＤＢと、入力された時系列数値データに応じて置換テキストデータを出力する言語モデル２０と、データベースＤＢに記憶された初期データセットを用いて、言語モデル２０によって時系列数値データの変動を正しく説明するテキストが生成されるように、言語モデル２０を学習させ、新たな時系列数値データを取得した場合にその時系列数値データの変動を説明するテキストデータを生成するテキスト生成装置１０と、を含む。本実施形態において、時系列数値データは、株価である。もっとも、時系列数値データは、時間の経過と対応付けられた数列を含むものであって、継続的に取得される数値データであればどのようなものであってもよく、例えば心電データや血圧データ等のバイタルデータであったり、気温や湿度等の天候データであったり、交通量や乗客数等の交通データであったりしてもよい。
【００３２】
テキスト生成システム１００は、通信ネットワークＮに接続され、株価配信サーバ４０から所定の時間間隔で株価を取得し、データベースＤＢに記憶したり、テキスト生成装置１０に入力したりする。また、テキスト生成システム１００は、通信ネットワークＮを介して、生成したテキストデータをユーザ端末３０に提供する。また、テキスト生成システム１００は、ユーザ端末３０からの指示に基づいて、データベースＤＢに記憶された初期データセットの追加や編集を行ったり、言語モデル２０の学習を行ったりしてもよい。ここで、通信ネットワークＮは、有線又は無線の通信網であり、例えばインターネットやＬＡＮ（Local Area Network）であってよい。テキスト生成システム１００は、いわゆるクラウドコンピューティングの形で全部又は一部の構成要素がリモートコンピュータによって構成されてよいが、全部又は一部の構成要素がローカルコンピュータによって構成されてもよい。
【００３３】
言語モデル２０は、時系列数値データが入力された場合に、時系列数値データを説明するテキストデータのうち時系列数値データに関係する数値を所定の規則で所定の文字列に置き換えた置換テキストデータを出力するモデルである。ここで、時系列数値データに関係する数値は、時系列数値データに含まれる数値の引用であったり、時系列数値データに含まれる数値を演算した数値であったりする。言語モデル２０は、例えばニューラルネットワークを用いたモデルであってよく、いわゆるエンコーダ‐デコーダモデルであってよい。言語モデル２０は、エンコーダとして、例えばＭＬＰ（Multi-Layer Perceptron）、ＣＮＮ（Convolutional Neural Network）又はＲＮＮ（Recurrent Neural Network）を含んでよく、デコーダとしてＲＮＮを含んでよい。言語モデル２０は、入力される時系列数値データの種類によって異なるモデルであってよい。言語モデル２０については、後に図４を用いて詳細に説明する。
【００３４】
図２は、本実施形態に係るテキスト生成装置１０の物理構成を示す図である。テキスト生成装置１０は、ハードウェアプロセッサに相当するＣＰＵ（Central Processing Unit）１０ａと、メモリに相当するＲＡＭ（Random Access Memory）１０ｂと、メモリに相当するＲＯＭ（Read Only Memory）１０ｃと、通信部１０ｄと、入力部１０ｅと、表示部１０ｆとを有する。これら各構成は、バスを介して相互にデータ送受信可能に接続される。
【００３５】
ＣＰＵ１０ａは、ＲＡＭ１０ｂ又はＲＯＭ１０ｃに記憶されたプログラムの実行に関する制御やデータの演算、加工を行う制御部である。ＣＰＵ１０ａは、言語モデル２０を用いてテキストデータを生成するプログラム（テキスト生成プログラム）を実行する演算装置である。ＣＰＵ１０ａは、入力部１０ｅや通信部１０ｄから種々の入力データを受け取り、入力データの演算結果を表示部１０ｆに表示したり、ＲＡＭ１０ｂやＲＯＭ１０ｃに格納したりする。
【００３６】
ＲＡＭ１０ｂは、データの書き換えが可能な記憶部であり、例えば半導体記憶素子で構成される。ＲＡＭ１０ｂは、ＣＰＵ１０ａが実行するアプリケーション等のプログラムやデータを記憶する。
【００３７】
ＲＯＭ１０ｃは、データの読み出しのみが可能な記憶部であり、例えば半導体記憶素子で構成される。ＲＯＭ１０ｃは、例えばファームウェア等のプログラムやデータを記憶する。
【００３８】
通信部１０ｄは、テキスト生成装置１０を通信ネットワークＮに接続する通信インタフェースである。
【００３９】
入力部１０ｅは、ユーザからデータの入力を受け付けるものであり、例えば、キーボードやマウス、タッチパネルで構成される。
【００４０】
表示部１０ｆは、ＣＰＵ１０ａによる演算結果を視覚的に表示するものであり、例えばＬＣＤ（Liquid Crystal Display）により構成される。
【００４１】
テキスト生成プログラムは、ＲＡＭ１０ｂやＲＯＭ１０ｃ等のコンピュータによって読み取り可能な記憶媒体に記憶されて提供されてもよいし、通信部１０ｄにより接続される通信ネットワークＮを介して提供されてもよい。テキスト生成装置１０では、ＣＰＵ１０ａがテキスト生成プログラムを実行することにより、次図を用いて説明する様々な機能が実現される。なお、これらの物理的な構成は例示であって、必ずしも独立した構成でなくてもよい。例えば、テキスト生成装置１０は、ＣＰＵ１０ａとＲＡＭ１０ｂやＲＯＭ１０ｃが一体化したＬＳＩ（Large-Scale Integration）を備えていてもよい。また、テキスト生成装置１０は、ＧＰＵ（Graphics Processing Unit）やＦＰＧＡ（Field-Programmable Gate Array）、ＡＳＩＣ（Application Specific Integrated Circuit）等の演算回路を備えてもよい。
【００４２】
図３は、本実施形態に係るテキスト生成装置１０の機能ブロックを示す図である。テキスト生成装置１０は、学習部１１、取得部１２、生成部１３、置換部１４及び規則記憶部１５を備える。
【００４３】
学習部１１は、時系列数値データの変動を説明するテキストデータのうち時系列数値データに関係する数値を所定の規則で所定の文字列に置き換えた置換テキストデータＤ１及び時系列数値データＤ２を学習用データとして、時系列数値データが入力された場合に、置換テキストデータを出力するように言語モデル２０を学習させる。学習部１１によって言語モデル２０の学習に用いられる置換テキストデータＤ１及び時系列数値データＤ２は、データベースＤＢに初期データセットとして記憶されているものであってよい。
【００４４】
ここで、時系列数値データに関係する数値は、時系列数値データに含まれる数列のうち所定の時点に対応付けられた数値と、時系列数値データに含まれる数列のうち異なる時点に対応付けられた数値の差と、時系列数値データに含まれる数列のうち所定の時点に対応付けられた数値を所定の桁で切り捨てた数値と、時系列数値データに含まれる数列のうち異なる時点に対応付けられた数値の差を所定の桁で切り捨てた数値と、時系列数値データに含まれる数列のうち所定の時点に対応付けられた数値を所定の桁で切り上げた数値と、時系列数値データに含まれる数列のうち異なる時点に対応付けられた数値の差を所定の桁で切り上げた数値と、のうち少なくともいずれかを含んでよい。また、数値の所定の桁での切り捨てや切り上げは、１０の位、１００の位、１０００の位及び１００００の位等、任意の位について行ってよい。また、所定の規則は、時系列数値データに関係する数値の種類と所定の文字列とを対応付ける規則であってよい。ここで、所定の文字列は、通常のテキストデータと区別可能な文字列であれば任意のものであってよく、例えば＜ｐｒｉｃｅ１＞や＜ｐｒｉｃｅ２＞等の所定の記号（本例の場合「＜」と「＞」）で先頭と末尾が示された文字列であってよい。
【００４５】
また、時系列数値データは、第１間隔で時間の経過と対応付けられた数列を含む第１時系列数値データと、第１間隔より長い第２間隔で時間の経過と対応付けられた数列を含む第２時系列数値データとを含んでよい。本実施形態の場合、第１時系列数値データＸshortは、１営業日の寄り付きから大引けまでに５分間隔で取得された株価に関係する時系列数値データであり、第２時系列数値データＸlongは、７営業日について営業日間隔で取得された株価の終値に関する時系列数値データである。すなわち、第１時系列数値データＸshortは、５分間隔で時間の経過と対応付けられた数列を含む時系列数値データであり、第２時系列数値データＸlongは、１営業日間隔で時間の経過と対応付けられた数列を含む時系列数値データである。日本の東京証券取引所の場合、１営業日における売買立会い時間は５時間（３００分）であり、５分間隔で取得された第１時系列数値データは、６２個のデータを含む。これをＸshort,i（ｉ＝１〜６２）と表す。また、第２時系列数値データＸlongは、７個のデータを含み、これをＸlong,j（ｊ＝１〜７）と表す。
【００４６】
取得部１２は、株価配信サーバ４０から、新たな時系列数値データを取得する。取得部１２は、例えば５分間隔で、株価配信サーバ４０から株価に関する新たな時系列数値データを取得してよい。
【００４７】
生成部１３は、学習部１１により学習された言語モデル２０に新たな時系列数値データを入力し、言語モデル２０の出力によって新たな時系列数値データを説明する新たな置換テキストデータを生成する。生成部１３は、時系列数値データを１又は複数の方法で変換して得られる、１又は複数の方法に一対一に対応する１又は複数の数値データを、言語モデル２０に入力してもよい。ここで、１又は複数の数値データは、時系列数値データに含まれる数列を所定の数値範囲に正規化した数値データと、時系列数値データに含まれる数列の平均値及び標準偏差を用いて時系列数値データを標準化した数値データと、時系列数値データに含まれる数列のうち所定の時点に対応付けられた数値を基準値として、時系列数値データに含まれる数列を基準値に関して相対化した数値データと、のうち少なくともいずれかを含んでよい。
【００４８】
より具体的には、時系列数値データに含まれる数列Ｘi（ｉ＝１〜Ｎ）を所定の数値範囲に正規化した数値データＸnorm,iは、Ｘnorm,i＝（２Ｘi−（Ｘmax＋Ｘmin））／（Ｘmax−Ｘmin）によって定義される数値データであってよい。ここで、Ｘmax＝ｍａｘi（Ｘi）、Ｘmin＝ｍｉｎi（Ｘi）である。この場合、正規化した数値データＸnorm,iは、−１から１の数値範囲に正規化された数値データとなる。
【００４９】
また、時系列数値データに含まれる数列Ｘi（ｉ＝１〜Ｎ）を標準化した数値データＸstd,iは、Ｘstd,i＝（Ｘi−μ）／σによって定義される数値データであってよい。ここで、μ＝Ｅ［Ｘi］、σ＝（ｖａｒ［Ｘi］）1/2である。
【００５０】
また、時系列数値データに含まれる数列Ｘi（ｉ＝１〜Ｎ）を基準値ｒiに関して相対化した数値データＸmove,iは、Ｘmove,i＝Ｘi−ｒiによって定義される数値データであってよい。時系列数値データが株価である場合、基準値ｒiは、前日の終値であってよい。すなわち、５分間隔で時間の経過と対応付けられた数列を含む第１時系列数値データＸshortについては、前日の終値をｒとするとき、全てのｉに対して（Ｘshort,i−ｒ）によって相対化した数値データを算出してよい。また。営業日間隔で時間の経過と対応付けられた数列を含む第２時系列数値データＸlongについては、（Ｘlong,j−Ｘlong,j-1）によって相対化した数値データを算出してよい。
【００５１】
正規化した数値データ又は標準化した数値データを用いることで、生成されるテキストが時系列数値データの絶対値に依存してぶれることが防止され、相対化した数値データを用いることで、時系列数値データの履歴に依存する単語を正しく含むように、時系列数値データの変動を説明するテキストを生成することができる。
【００５２】
置換部１４は、新たな置換テキストデータに含まれる所定の文字列を、所定の規則で新たな時系列数値データに関係する数値に置き換える。置換部１４は、規則記憶部１５に記憶された所定の規則を参照して、新たな置換テキストデータに含まれる所定の文字列を、新たな時系列数値データに関係する数値に置き換える。置換部１４は、例えば、＜ｐｒｉｃｅ１＞という所定の文字列を、Ｘlongの最後の値（Ｘlong,7、前日の終値）とＸshortの最後の値（Ｘshort,62、当日の終値）の差に置き換えたり、＜ｐｒｉｃｅ２＞という所定の文字列を、Ｘlongの最後の値（Ｘlong,7、前日の終値）とＸshortの最後の値（Ｘshort,62、当日の終値）の差を１０の位で切り捨てた値に置き換えたりする。
【００５３】
図４は、言語モデル２０の構成を示す図である。言語モデル２０は、第１間隔で時間の経過と対応付けられた数列を含む第１時系列数値データＸshortを第１前処理部２１ａによって１又は複数の方法で変換して得られる、１又は複数の方法に一対一に対応する１又は複数の第１数値データｌsが入力される第１エンコーダ２２ａと、第１間隔より長い第２間隔で時間の経過と対応付けられた数列を含む第２時系列数値データＸlongを第２前処理部２１ｂによって１又は複数の方法で変換して得られる、１又は複数の方法に一対一に対応する１又は複数の第２数値データｌlが入力される第２エンコーダ２２ｂと、第１エンコーダ２２ａの出力ｈs及び第２エンコーダ２２ｂの出力ｈlを合成する合成部２３と、合成部２３により合成されたデータｍが入力され、置換テキストデータを出力するデコーダ２４と、を含む。
【００５４】
本例では、第１時系列数値データＸshortは、「１２１６７．２９」や「１２２７８．８３」等の数値を含む６２次元のベクトルとして与えられる。また、第２時系列数値データＸlongは、「１２１１６．５７」や「１２１２０．９４」等の数値を含む７次元のベクトルとして与えられる。第１前処理部２１ａは、入力された第１時系列数値データＸshortを３種類の方法で変換して、変換して得られた３種類のベクトルの直和によって第１数値データｌsを出力する。ここで、３種類の方法は、入力された第１時系列数値データＸshortを所定の数値範囲に正規化した数値データを算出することと、標準化した数値データを算出することと、基準値に関して相対化した数値データを算出することである。本例の場合、第１前処理部２１ａから出力される第１数値データｌsは、１８６次元のベクトルとなる。
【００５５】
このように、異なる時間間隔で時間の経過と対応付けられた数列を含む時系列数値データを用いることで、時系列数値データの履歴に依存する単語を正しく含むように、時系列数値データの変動を説明するテキストを生成することができる。また、時系列数値データを１又は複数の方法で変換して得られる１又は複数の数値データを言語モデルに入力することで、生成されるテキストが時系列数値データの絶対値に依存してぶれることが防止される。
【００５６】
同様に、第２前処理部２１ｂは、入力された第２時系列数値データＸlongを３種類の方法で変換して、変換して得られた３種類のベクトルの直和によって第２数値データｌlを出力する。ここで、３種類の方法は、入力された第２時系列数値データＸlongを所定の数値範囲に正規化した数値データを算出することと、標準化した数値データを算出することと、基準値に関して相対化した数値データを算出することである。本例の場合、第２前処理部２１ｂから出力される第２数値データｌlは、２１次元のベクトルとなる。
【００５７】
第１エンコーダ２２ａには、第１前処理部２１ａから出力される第１数値データｌsが入力され、ベクトルｈsを出力する。ここで、ベクトルｈsの次元は、第１エンコーダ２２ａの出力層に含まれる出力ノードの数となる。同様に、第２エンコーダ２２ｂには、第２前処理部２１ｂから出力される第２数値データｌlが入力され、ベクトルｈlを出力する。ここで、ベクトルｈlの次元は、第２エンコーダ２２ｂの出力層に含まれる出力ノードの数となる。第１エンコーダ２２ａ及び第２エンコーダ２２ｂは、ＭＬＰ、ＣＮＮ及びＲＮＮのうちいずれかであってよく、その他のモデルであってもよい。
【００５８】
合成部２３は、第１エンコーダ２２ａの出力ｈs、第２エンコーダ２２ｂの出力ｈl、第１前処理部２１ａから出力される第１数値データｌs及び第２前処理部２１ｂから出力される第２数値データｌlの直和によってこれらのデータを合成する。
【００５９】
デコーダ２４には、合成部２３により合成されたデータｍ及び時系列数値データの時系列に関するデータＴが入力される。時系列に関するデータＴは、第１時系列数値データＸshortに含まれる数列が対応付けられた時刻のうち最新の時刻に関するデータであったり、第２時系列数値データＸlongに含まれる数列が対応付けられた営業日の範囲に関するデータであったりしてよい。
【００６０】
本例では、デコーダ２４は、「日経」、「平均」、「、」、「上げ幅」、「＜ｐｒｉｃｅ１＞」、「円」、「超える」、「＜／ｓ＞」という置換テキストデータを出力している。ここで、５番目に出力された文字列「＜ｐｒｉｃｅ１＞」は、テキスト生成装置１０の置換部１４によって時系列数値データに関係する数値に置き換えられる所定の文字列である。また、最後に出力された文字列「＜／ｓ＞」は、テキストデータの終わりを示す所定の文字列である。テキスト生成装置１０は、デコーダ２４から出力されたこれらの文字列によって新たな置換テキストデータを「日経平均、上げ幅＜ｐｒｉｃｅ１＞円超える」と生成する。そして、置換部１４によって、「＜ｐｒｉｃｅ１＞」という所定の文字列を、Ｘlongの最後の値（Ｘlong,7、前日の終値）とＸshortの最後の値（Ｘshort,62、当日の終値）の差に置き換えて、株価の変動を説明するテキストデータを生成する。
【００６１】
本例の言語モデル２０のように、異なる時間間隔で時間の経過と対応付けられた数列を含む時系列数値データをそれぞれ異なるエンコーダに入力し、出力を合成してデコーダに入力することで、時系列数値データの履歴に依存する単語を正しく含むように、時系列数値データの変動を説明するテキストを生成することができる。また、デコーダに対して、エンコーダの出力のみならず、複数の数値データを入力することで、時系列数値データの履歴に依存する単語を正しく含むように、時系列数値データの変動を説明するテキストを生成することができる。さらに、デコーダに対して、合成部により合成されたデータのみならず、時系列数値データの時系列に関するデータを入力することで、時系列数値データの履歴に依存する単語を正しく含むように、時系列数値データの変動を説明するテキストを生成することができる。
【００６２】
本実施形態に係るテキスト生成装置１０によれば、時系列数値データの履歴に依存する単語を正しく含むように、時系列数値データの変動を説明するテキストを生成することで、例えば、「上げ幅」、「続落」、「反発」といった単語のように過去の株価の履歴を参照する表現を正しく生成したり、「始まる」、「寄り付き」、「前引け」、「午後」、「大引け」といった単語のように、時間帯に依存する表現を正しく生成したりすることができる。
【００６３】
図５は、時系列数値データに関係する数値の種類と所定の文字列とを対応付ける規則Ｄ３を示す図である。規則Ｄ３は、規則記憶部１５に記憶され、置換部１４によって参照される所定の規則の一例である。
【００６４】
規則Ｄ３は、１２種類の文字列について、時系列数値データに関係する１２種類の数値を対応付ける規則である。各文字列は、時系列数値データに関係する数値に１対１に対応する。本例では、＜ｐｒｉｃｅ１＞という文字列は、Ｘlongの最後の値（Ｘlong,7）とＸshortの最後の値（Ｘshort,62）の差と対応付けられる。また、＜ｐｒｉｃｅ２＞という文字列は、Ｘlongの最後の値とＸshortの最後の値の差を１０の位で切り捨てた値と対応付けられる。
【００６５】
また、＜ｐｒｉｃｅ３＞という文字列は、Ｘlongの最後の値とＸshortの最後の値の差を１００の位で切り捨てた値と対応付けられ、＜ｐｒｉｃｅ４＞という文字列は、Ｘlongの最後の値とＸshortの最後の値の差を１０の位で切り上げた値と対応付けられ、＜ｐｒｉｃｅ５＞という文字列は、Ｘlongの最後の値とＸshortの最後の値の差を１００の位で切り上げた値と対応付けられる。
【００６６】
さらに、＜ｐｒｉｃｅ６＞という文字列は、Ｘshortの最後の値に対応付けられ、＜ｐｒｉｃｅ７＞という文字列は、Ｘshortの最後の値を１００の位で切り捨てた値に対応付けられ、＜ｐｒｉｃｅ８＞という文字列は、Ｘshortの最後の値を１０００の位で切り捨てた値に対応付けられ、＜ｐｒｉｃｅ９＞という文字列は、Ｘshortの最後の値を１００００の位で切り捨てた値に対応付けられる。同様に、＜ｐｒｉｃｅ１０＞という文字列は、Ｘshortの最後の値を１００の位で切り上げた値に対応付けられ、＜ｐｒｉｃｅ１１＞という文字列は、Ｘshortの最後の値を１０００の位で切り上げた値に対応付けられ、＜ｐｒｉｃｅ１２＞という文字列は、Ｘshortの最後の値を１００００の位で切り上げた値に対応付けられる。
【００６７】
このように、時系列数値データに関係する数値の種類と所定の文字列とを対応付けることで、時系列数値データの引用や時系列数値データを演算した結果得られる数値を含むように、時系列数値データの変動を説明するテキストを生成することができる。
【００６８】
図６は、本実施形態に係るテキスト生成装置１０で実行される処理のフローチャートである。はじめに、取得部１２によって、５分間隔で記録された株価を第１時系列数値データとして取得し（Ｓ１０）、１営業日間隔で記録された株価を第２時系列数値データとして取得する（Ｓ１１）。
【００６９】
その後、生成部１３によって、第１時系列数値データ及び第２時系列数値データを言語モデル２０に入力する。言語モデル２０は、第１前処理部２１ａによって、第１時系列数値データを、正規化した数値データ、標準化した数値データ及び相対化した数値データに変換し（Ｓ１２）、第２前処理部２１ｂによって、第２時系列数値データを、正規化した数値データ、標準化した数値データ及び相対化した数値データに変換する（Ｓ１３）。そして、第１時系列数値データを変換して得られた複数の第１数値データを第１エンコーダ２２ａに入力し（Ｓ１４）、第２時系列数値データを変換して得られた複数の第２数値データを第２エンコーダ２２ｂに入力する（Ｓ１５）。
【００７０】
さらに、合成部２３によって、複数の第１数値データ、複数の第２数値データ、第１エンコーダ２２ａの出力及び第２エンコーダ２２ｂの出力を合成する（Ｓ１６）。その後、合成されたデータ及び時系列に関するデータをデコーダ２４に入力する（Ｓ１７）。
【００７１】
置換部１４は、デコーダ２４から出力される置換テキストデータのうち、所定の文字列を所定の規則で数値に置き換え（Ｓ１８）、時系列数値データの変動を説明するテキストデータを生成する。以上により、処理が終了する。
【００７２】
本実施形態に係るテキスト生成装置１０によれば、言語モデルの出力によって新たな時系列数値データを説明する新たな置換テキストデータを生成し、新たな置換テキストデータに含まれる所定の文字列を、所定の規則で新たな時系列数値データに関係する数値に置き換えることで、時系列数値データに関係する数値を言語モデルによって直接出力する必要が無くなり、数値が様々に変化する場合であってもその数値に関する記載を正しく含むように、時系列数値データの変動を説明するテキストを生成することができる。
【００７３】
図７は、本実施形態に係るテキスト生成装置１０で生成されるテキストを示す図である。同図では、言語モデルとして従来のモデルを用いた場合と、本実施形態に係る言語モデル２０又は本実施形態に係る言語モデル２０の一部を変更したモデルを用いた場合とについて、生成されるテキストをまとめた第１表Ｒ１を示している。本実施形態に係る言語モデル２０は、図４を用いて説明した言語モデル２０であって、第１エンコーダ２２ａ及び第２エンコーダ２２ｂをＭＬＰとしたモデルである。また、本実施形態に係る言語モデル２０の一部を変更したモデルの第１例は、図４を用いて説明した言語モデル２０のうち標準化したデータを用いないモデル、すなわち第１前処理部２１ａ及び第２前処理部２１ｂによって正規化したデータ及び相対化したデータの２種類を算出するモデルである。また、本実施形態に係る言語モデル２０の一部を変更したモデルの第２例は、図４を用いて説明した言語モデル２０のうち置換テキストデータを用いないモデル、すなわち言語モデルによって時系列数値データに関係する数値を直接生成するモデルである。また、本実施形態に係る言語モデル２０の一部を変更したモデルの第３例は、図４を用いて説明した言語モデル２０のうちデコーダ２４に時系列数値データの時系列に関するデータを入力しないモデルである。
【００７４】
同図では、第１表Ｒ１の他に、正確なテキストデータの例Ｅを示している。正確なテキストデータの例Ｅは、「日経平均大引け、続伸終値は３２円高の１６９０６円」である。
【００７５】
これに対して、言語モデルとして従来のモデルを用いた場合に生成されるテキストの例は、「日経平均、反落前引けは５７円安の２０６０６円」であり、テキストデータの配信時間帯を誤って「前引け」としている点、前日との株価の差を誤って「反落」と表現している点、前日終値との差を誤って「５７円安」としている点、現在の株価を誤って「２０６０６円」としている点で、正確性を欠いている。
【００７６】
一方、第１表Ｒ１の上から２番目に記載された、本実施形態に係る言語モデル２０を用いた場合に生成されるテキストの例は、「日経平均、続伸大引けは３２円高の１６９０６円」であり、テキストデータの配信時間帯を「大引け」と正しく表現し、前日との株価の差を「続伸」と正しく表現し、前日終値との差を「３２円高」と正しく算出しており、現在の株価を「１６９０６円」と正しく引用しており、全ての表現が正確である。
【００７７】
第１表Ｒ１の上から３番目に記載された、本実施形態に係る言語モデル２０の一部を変更したモデルの第１例を用いた場合に生成されるテキストの例は、「日経平均、続伸大引けは３２円高の１６９０６円」であり、テキストデータの配信時間帯を「大引け」と正しく表現し、前日との株価の差を「続伸」と正しく表現し、前日終値との差を「３２円高」と正しく算出しており、現在の株価を「１６９０６円」と正しく引用しており、全ての表現が正確である。このことから、第１前処理部２１ａ及び第２前処理部２１ｂによって正規化したデータ及び相対化したデータの２種類を算出するモデルであっても、第１前処理部２１ａ及び第２前処理部２１ｂによって、標準化したデータ、正規化したデータ及び相対化したデータの３種類を算出するモデルと同等以上の精度で時系列数値データを説明するテキストデータを生成できることがわかる。
【００７８】
第１表Ｒ１の上から４番目に記載された、本実施形態に係る言語モデル２０の一部を変更したモデルの第２例を用いた場合に生成されるテキストの例は、「日経平均、続伸大引けは２８円高の＜ｕｎｋ＞円」であり、テキストデータの配信時間帯を「大引け」と正しく表現し、前日との株価の差を「続伸」と正しく表現し、前日終値との差を誤って「２８円高」と算出しており、現在の株価が引用できず「＜ｕｎｋ＞円」となっている。ここで、＜ｕｎｋ＞は、ｕｎｋｎｏｗｎを表す文字列であり、適当な単語が生成できなかったことを示す。このことから、言語モデルによって時系列数値データに関係する数値を直接生成するのでは、時系列数値データに関係する数値を正しく生成することが難しく、時系列数値データの演算を伴う表現のみならず、時系列数値データの引用を含めることも困難であることがわかる。
【００７９】
第１表Ｒ１の上から５番目に記載された、本実施形態に係る言語モデル２０の一部を変更したモデルの第３例を用いた場合に生成されるテキストの例は、「日経平均、続伸前引けは３２円高の１６９０６円」であり、テキストデータの配信時間帯を誤って「前引け」と表現し、前日との株価の差を「続伸」と正しく表現し、前日終値との差を「３２円高」と正しく算出しており、現在の株価を「１６９０６円」と正しく引用している。このことから、デコーダ２４に時系列数値データの時系列に関するデータを入力しないモデルでは、時系列数値データが取得された時間帯について正しく言及することが難しいことがわかる。
【００８０】
図８は、本実施形態に係るテキスト生成装置１０で生成されるテキストと基準となるテキストとの近さを評価した指標値を示す図である。同図では、言語モデルとして従来のモデルを用いた場合と、本実施形態に係る言語モデル２０又は本実施形態に係る言語モデル２０の一部を変更したモデルを用いた場合とについて、生成されるテキストと基準となるテキストとの近さを評価した指標値をまとめた第２表Ｒ２を示している。なお、指標値は、ＢＬＥＵ（BiLingual Evaluation Understudy）と呼ばれる値であり、０から１までの値を取り、１に近いほど基準となるテキスト（正確なテキスト）に近いことを表す。この指標値は、テキストの評価を行うために用いられるものの一例であり、他の指標値を用いてテキストの評価を行うこともできる。
【００８１】
本実施形態に係る言語モデル２０は、図４を用いて説明した言語モデル２０であって、第１エンコーダ２２ａ及び第２エンコーダ２２ｂをＭＬＰとしたモデルと、第１エンコーダ２２ａ及び第２エンコーダ２２ｂをＣＮＮとしたモデルと、第１エンコーダ２２ａ及び第２エンコーダ２２ｂをＲＮＮとしたモデルである。
【００８２】
また、本実施形態に係る言語モデル２０の一部を変更したモデルの第１例は、図４を用いて説明した言語モデル２０のうち第１時系列数値データを用いないモデル、すなわち第２時系列数値データのみを用いるモデルである。本実施形態に係る言語モデル２０の一部を変更したモデルの第２例は、図４を用いて説明した言語モデル２０のうち第２時系列数値データを用いないモデル、すなわち第１時系列数値データのみを用いるモデルである。
【００８３】
また、本実施形態に係る言語モデル２０の一部を変更したモデルの第３例は、図４を用いて説明した言語モデル２０のうち正規化したデータを用いないモデル、すなわち第１前処理部２１ａ及び第２前処理部２１ｂによって標準化したデータ及び相対化したデータの２種類を算出するモデルである。本実施形態に係る言語モデル２０の一部を変更したモデルの第４例は、図４を用いて説明した言語モデル２０のうち標準化したデータを用いないモデル、すなわち第１前処理部２１ａ及び第２前処理部２１ｂによって正規化したデータ及び相対化したデータの２種類を算出するモデルである。本実施形態に係る言語モデル２０の一部を変更したモデルの第５例は、図４を用いて説明した言語モデル２０のうち相対化したデータを用いないモデル、すなわち第１前処理部２１ａ及び第２前処理部２１ｂによって標準化したデータ及び正規化したデータの２種類を算出するモデルである。
【００８４】
また、本実施形態に係る言語モデル２０の一部を変更したモデルの第６例は、図４を用いて説明した言語モデル２０のうちデコーダ２４に時系列数値データを１又は複数の方法で変換して得られる１又は複数の数値データを入力しないモデル、すなわちデコーダ２４に第１エンコーダ２２ａの出力及び第２エンコーダ２２ｂの出力のみを入力するモデルである。本実施形態に係る言語モデル２０の一部を変更したモデルの第７例は、図４を用いて説明した言語モデル２０のうち置換テキストデータを用いないモデル、すなわち言語モデルによって時系列数値データに関係する数値を直接生成するモデルである。また、本実施形態に係る言語モデル２０の一部を変更したモデルの第８例は、図４を用いて説明した言語モデル２０のうちデコーダ２４に時系列数値データの時系列に関するデータを入力しないモデルである。
【００８５】
言語モデルとして従来のモデルを用いた場合に生成されるテキストの評価値は、「０．２４４」であるのに対して、本実施形態に係る言語モデル２０を用いてテキスト生成装置１０により生成されるテキストの評価値は、エンコーダにＭＬＰを用いる場合「０．４１５」、エンコーダにＣＮＮを用いる場合「０．４１４」、エンコーダにＲＮＮを用いる場合「０．４１５」である。いずれの場合、従来よりも評価値が大幅に改善しており、正確なテキストデータが生成できていることがわかる。
【００８６】
第２表Ｒ２の上から５番目に記載された、本実施形態に係る言語モデル２０の一部を変更したモデルの第１例を用いて生成されるテキストの評価値は「０．３５６」、第２表Ｒ２の上から６番目に記載された、本実施形態に係る言語モデル２０の一部を変更したモデルの第２例を用いて生成されるテキストの評価値は「０．３９７」であり、異なる時間間隔で取得された２種類の時系列数値データを用いることで、評価値が改善することがわかる。これは、本実施形態に係るテキスト生成装置１０によれば、時系列数値データの履歴に依存する単語を正しく生成できることによると考えられる。
【００８７】
また、第２表Ｒ２の上から７番目に記載された、本実施形態に係る言語モデル２０の一部を変更したモデルの第３例を用いて生成されるテキストの評価値は「０．４２４」、第２表Ｒ２の上から８番目に記載された、本実施形態に係る言語モデル２０の一部を変更したモデルの第４例を用いて生成されるテキストの評価値は「０．４２４」、第２表Ｒ２の上から９番目に記載された、本実施形態に係る言語モデル２０の一部を変更したモデルの第５例を用いて生成されるテキストの評価値は「０．４０８」である。これらのことから、正規化されたデータ及び標準化されたデータのいずれか一方と、相対化されたデータとを用いると、正規化されたデータ、標準化されたデータ及び相対化されたデータ全てを用いる場合よりもより適切なテキストデータが生成できることがわかる。また、相対化されたデータを用いないと、評価値が悪化することがわかる。
【００８８】
また、第２表Ｒ２の上から１０番目に記載された、本実施形態に係る言語モデル２０の一部を変更したモデルの第６例を用いて生成されるテキストの評価値は「０．３９７」、第２表Ｒ２の上から１１番目に記載された、本実施形態に係る言語モデル２０の一部を変更したモデルの第７例を用いて生成されるテキストの評価値は「０．３１３」、第２表Ｒ２の上から１２番目に記載された、本実施形態に係る言語モデル２０の一部を変更したモデルの第８例を用いて生成されるテキストの評価値は「０．３５８」である。これらのことから、デコーダ２４に第１エンコーダ２２ａの出力及び第２エンコーダ２２ｂの出力のみを入力するモデルや、言語モデルによって時系列数値データに関係する数値を直接生成するモデル、時系列数値データの時系列に関するデータを入力しないモデルを用いる場合には、本実施形態に係る言語モデル２０を用いる場合よりも指標値が悪化することがわかる。
【００８９】
以上説明した実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。実施形態が備える各要素並びにその配置、材料、条件、形状及びサイズ等は、例示したものに限定されるわけではなく適宜変更することができる。また、異なる実施形態で示した構成同士を部分的に置換し又は組み合わせることが可能である。
【符号の説明】
【００９０】
１０…テキスト生成装置、１０ａ…ＣＰＵ、１０ｂ…ＲＡＭ、１０ｃ…ＲＯＭ、１０ｄ…通信部、１０ｅ…入力部、１０ｆ…表示部、１１…学習部、１２…取得部、１３…生成部、１４…置換部、１５…規則記憶部、２０…言語モデル、２１ａ…第１前処理部、２１ｂ…第２前処理部、２２ａ…第１エンコーダ、２２ｂ…第２エンコーダ、２３…合成部、２４…デコーダ、３０…ユーザ端末、４０…株価配信サーバ、１００…テキスト生成システム、Ｄ１…置換テキストデータ、Ｄ２…時系列数値データ、Ｄ３…規則、Ｅ…正確なテキストデータの例、Ｎ…通信ネットワーク、Ｒ１…第１表、Ｒ２…第２表
【図１】
2019046158.tif 000003
【図２】
2019046158.tif 000004
【図３】
2019046158.tif 000005
【図４】
2019046158.tif 000006
【図５】
2019046158.tif 000007
【図６】
2019046158.tif 000008
【図７】
2019046158.tif 000009
【図８】
2019046158.tif 000010