【文献】
Skip-thoughtを用いたテキストの数値ベクトル化,Platinum Data Blog[online],2017年06月12日,[retrieved on 2020.10.28],Retrieved from the Internet: <URL: https://blog.brainpad.co.jp/entry/2017/06/12/160000>
【文献】
瀬戸栄地 ほか,回想法を指向した事例ベース雑談音声対話システムにおける単語の分散表現を用いたユーザへの事例適応,電子情報通信学会技術研究報告,日本,一般社団法人 電子情報通信学会,2017年10月12日,Vol.117, No.251,pp.23-28,ISSN 0913-5685
【文献】
SUTSKEVER, Ilya ほか,Sequence to Sequence Learning with Neural Networks,arXiv[online],arXiv,2014年12月14日,[retrieved on 2020.10.28],Retrieved from the Internet: <URL: https://arxiv.org/pdf/1409.3215v3.pdf>
(58)【調査した分野】(Int.Cl.,DB名)
前記系列データ解析部は、前記推定されたパラメータによる潜在系列モデルと変換との少なくとも1つを用いて、前記入力された種類の異なる系列データを系列データ毎又は要素毎に変換する系列変換部を含む、請求項1記載の系列データ解析装置。
前記系列データを解析するステップは、前記推定されたパラメータによる潜在系列モデルと変換との少なくとも1つを用いて、前記入力された種類の異なる系列データを系列データ毎又は要素毎に変換するステップを含む、請求項3記載の系列データ解析方法。
【発明を実施するための形態】
【0009】
以下、図面に基づいて本発明の実施の形態を説明する。
【0010】
以下の実施例では、複数の種類の系列データを解析する系列データ解析装置が開示される。後述される実施例を概略すると、入力データとして、D種類の系列データが系列データ解析装置に与えられる。ここで、d番目のデータをX
dとし、d番目のデータX
dのn番目の系列を
【0011】
【数1】
とする。このとき、x
dniは当該系列のi番目の要素を表し、I
dnは系列長を表す。各要素は、シンボル、ベクトル、テンソルであってもよく、また、可変長であってもよい。系列データ解析装置は、言語、音声、音楽、映像、遺伝子、時系列、購買履歴、行動履歴など、任意の順序付けされた構造を有する系列データを入力データとして扱うことができる。
【0012】
後述される実施例では、全データに共通の潜在系列モデルがあると共に、潜在ベクトルと各系列データの要素との間に変換があるとする。例えば、日英文のデータに対しては、全データに共通の潜在系列モデルは、日本文及び英文に共通する意味を表すものであり、各要素は日英文における単語や文節などであり、各要素に対応する潜在ベクトルはそれの意味などでありうる。
【0013】
潜在系列モデルは、過去の潜在ベクトルと現在入力される潜在ベクトルとから、次の潜在ベクトルを出力するものである。潜在系列モデルとして、リカレントニューラルネットワーク、LSTM(Long Short-Term Memory)、sequence2sequence、隠れマルコフモデル、カルマンフィルタ、自己回帰モデル、それらの組み合わせ等、任意の系列モデルが利用可能である。例えば、リカレントニューラルネットワーク及びLSTMは、時系列データ等の系列データに対する学習手法として好適であることが機械学習の分野において知られている。以下の実施例では、潜在系列モデルは全系列データに対して共通であるとする。
【0014】
また、潜在ベクトルから各系列の要素への変換及び各系列の要素から潜在ベクトルへの変換として、線形変換、ニューラルネットワークを用いた非線形変換等、任意の変換が利用可能である。以下の実施例では、潜在系列モデルと変換とは、"系列モデル"としてまとめて参照される。
【0015】
例えば、潜在系列モデルとしてリカレントニューラルネットワークを用いた場合、系列データ解析装置は、系列モデルを用いて以下の手順で次の要素を予測できる。
【0016】
まず、系列データ解析装置は、入力された系列データの要素x
dniをデータに固有の潜在ベクトルへの変換f
dによって潜在ベクトルy
dniに変換する。
【0017】
【数2】
次に、系列データ解析装置は、当該潜在ベクトルy
dniとリカレントニューラルネットワークの前の要素の内部状態h
dn,i-1を用いて、現在の要素のリカレントニューラルネットワークの内部状態h
dniを計算する。
【0018】
【数3】
最後に、系列データ解析装置は、内部状態h
dniとデータ固有の変換g
dによって次の要素を予測する。
【0019】
【数4】
なお、r()は、全系列データに共通のリカレントニューラルネットワークの関数である。
【0020】
まず、
図1を参照して、本発明の一実施例による系列データ解析装置の全体構成を概略する。
図1は、本発明の一実施例による系列データ解析装置の機能構成を示すブロック図である。
【0021】
図1に示されるように、系列データ解析装置100は、パラメータ推定部110及び系列データ解析部120を有する。
【0022】
パラメータ推定部110は、全てのデータに共通の潜在系列モデルのパラメータと、共通の潜在ベクトルと各系列データの要素との間の変換のパラメータとを推定する。具体的には、パラメータ推定部110は、系列データの観測値と系列モデルによる予測値との間の誤差が小さくなるように、系列モデルのパラメータを推定する。ここで、系列モデルのパラメータは、潜在系列モデルのパラメータ、要素から潜在ベクトルへの変換のパラメータ、潜在ベクトルから要素への変換のパラメータ等であってもよい。また、当該誤差として、二乗誤差、クロスエントロピー誤差、一般化カルバックライブラー情報量、負の対数尤度等、任意の誤差が利用されてもよい。また、当該誤差は、各要素毎に予測した場合の誤差であってもよいし、部分系列や全系列を予測した場合の誤差であってもよい。
【0023】
系列データ解析部120は、推定されたパラメータを用いて、入力された系列データを解析する。具体的には、以下でより詳細に説明されるように、系列データ解析部120は、推定されたパラメータによる潜在系列モデル及び/又は推定されたパラメータによる要素と潜在ベクトルとの間の変換を用いて、入力された系列データに対して、類似度が高い異なる種類の系列データを対応付けたり、異なる種類の系列データに変換したり、系列データの要素と類似度が高い異なる種類の系列データの要素を対応付ける。
【0024】
なお、系列データ解析装置100は、典型的には、サーバにより実現されてもよく、例えば、バスを介し相互接続されるドライブ装置、補助記憶装置、メモリ装置、プロセッサ、インタフェース装置及び通信装置から構成される。系列データ解析装置100における後述される各種機能及び処理を実現するプログラムを含む各種コンピュータプログラムは、CD−ROM(Compact Disk−Read Only Memory)、DVD(Digital Versatile Disk)、フラッシュメモリなどの記録媒体によって提供されてもよい。プログラムを記憶した記録媒体がドライブ装置にセットされると、プログラムが記録媒体からドライブ装置を介して補助記憶装置にインストールされる。但し、プログラムのインストールは必ずしも記録媒体により行う必要はなく、ネットワークなどを介し何れかの外部装置からダウンロードするようにしてもよい。補助記憶装置は、インストールされたプログラムを格納すると共に、必要なファイルやデータなどを格納する。メモリ装置は、プログラムの起動指示があった場合に、補助記憶装置からプログラムやデータを読み出して格納する。プロセッサは、メモリ装置に格納されたプログラムやプログラムを実行するのに必要なパラメータなどの各種データに従って、後述されるような系列データ解析装置100の各種機能及び処理を実行する。インタフェース装置は、ネットワーク又は外部装置に接続するための通信インタフェースとして用いられる。通信装置は、インターネットなどのネットワークと通信するための各種通信処理を実行する。
【0025】
しかしながら、系列データ解析装置100は、上述したハードウェア構成に限定されるものでなく、他の何れか適切なハードウェア構成により実現されてもよい。
【0026】
次に、本発明の一実施例によるパラメータ推定部の詳細を説明する。
図2は、本発明の一実施例によるパラメータ推定部の機能構成を示すブロック図である。
【0027】
図2に示されるように、パラメータ推定部110は、初期化部111、勾配計算部112及びパラメータ更新部113を有する。
【0028】
初期化部111は、系列モデルのパラメータを初期化する。具体的には、初期化部111は、推定対象の潜在系列モデルのパラメータ及び/又は要素と潜在ベクトルとの間の変換のパラメータを何れか適切な値によって初期化する。
【0029】
勾配計算部112は、系列データの観測値と系列モデルによる予測値との間の誤差のパラメータに関する勾配を計算する。ここで、当該勾配は、最急降下法、確率的勾配法、ニュートン法等、任意の勾配に基づく最適化法における勾配であってもよい。なお、遺伝的アルゴリズム等の勾配に基づかない最適化法が利用される場合、勾配計算部112は、系列データの観測値と系列モデルによる予測値と間の誤差に関する何れかの指標(例えば、適合度など)を計算してもよい。
【0030】
パラメータ更新部113は、計算した勾配を用いて、系列データの観測値と系列モデルによる予測値との間の誤差が減少するよう系列モデルのパラメータを更新する。例えば、パラメータ更新部113は、最急降下法、確率的勾配法、ニュートン法等の任意の最適化法に従って、誤差が減少するよう系列モデルのパラメータを更新してもよい。また、当該誤差は、以下に限定することなく、二乗誤差、クロスエントロピー誤差、一般化カルバックライブラー情報量、負の対数尤度等、任意の誤差であってもよく、また、各要素毎に予測した場合の誤差であってもよいし、部分系列や全系列を予測した場合の誤差であってもよい。
【0031】
パラメータ更新部113は、更新後の系列モデルのパラメータを勾配計算部112に提供し、勾配計算部112は、更新後のパラメータによる系列モデルを用いて算出された予測値と系列データの観測値との間の誤差びパラメータに関する勾配を再計算し、再計算された勾配をパラメータ更新部113に提供する。パラメータ更新部113は、再計算された勾配を用いて、系列データの観測値と系列モデルによる予測値と間の誤差が減少するように系列モデルのパラメータを更新する。このような勾配計算部112及びパラメータ更新部113の処理が、終了条件を充足するまで繰り返される。例えば、当該終了条件として、繰り返しの回数、パラメータの変化の大きさ、誤差の絶対値、誤差の変化の大きさなどが利用されてもよい。
【0032】
次に、
図3を参照して、本発明の一実施例による系列データ解析部の詳細を説明する。
図3は、本発明の一実施例による系列データ解析部の機能構成を示すブロック図である。
【0033】
図3に示されるように、系列データ解析部120は、推定されたパラメータによる潜在系列モデルと変換との少なくとも1つを用いて、入力された系列データ間の内部状態の類似度に基づき系列データの間の対応付けを実行する系列対応付け部130を有する。具体的には、系列対応付け部130は、パラメータ読込部131、内部状態計算部132及び類似度計算部133を有し、推定した系列モデルを用いて、系列データを入力したときの内部状態を計算し、系列モデルの内部状態が類似するものを対応付ける。類似度としては、コサイン類似度等の任意の類似度が利用されうる。
【0034】
パラメータ読込部131は、パラメータ推定部110から推定された系列モデルのパラメータを読み込む。そして、パラメータ読込部131は、読み込んだパラメータを内部状態計算部132に提供する。
【0035】
内部状態計算部132は、推定されたパラメータによる系列モデルを用いて、入力された各系列データの内部状態を計算する。例えば、潜在系列モデルとしてリカレントニューラルネットワークが利用される場合、内部状態計算部132は、推定されたパラメータによる潜在系列モデルを用いて、入力された系列データの最初の要素に対して内部状態を計算し、以降の要素に対して内部状態を更新し、最後の要素に対して計算された内部状態を当該系列データの内部状態としてもよい。しかしながら、入力された系列データの内部状態の決定は、これに限定されず、例えば、決定される内部状態は、計算された各内部状態の系列の平均、重み付き平均、内部状態の系列自体であってもよい。
【0036】
類似度計算部133は、計算された各系列データの内部状態間の類似度を計算し、類似度が高い異なる種類の系列データを対応付ける。例えば、潜在系列モデルとしてリカレントニューラルネットワークが利用される場合、類似度計算部133は、内部状態計算部132によって算出された各系列データ間の類似度を計算し、所定の閾値以上の類似度の異なる種類の系列データを対応付けてもよい。ここで、類似度は、コサイン類似度など2つの系列データの内部状態の間の任意の距離であってもよい。
【0037】
本実施例によると、推定された潜在系列モデルを用いて、入力された系列データ間の内部状態の類似度に基づき異なる種類の系列データ間の対応付けを行うことができる。
【0038】
次に、
図4を参照して、本発明の他の実施例による系列データ解析部の詳細を説明する。
図4は、本発明の一実施例による系列データ解析部の機能構成を示すブロック図である。
【0039】
図4に示されるように、系列データ解析部120は、推定されたパラメータによる潜在系列モデルと変換との少なくとも1つを用いて、入力された系列データを系列データ毎又は要素毎に変換する系列変換部140を有する。具体的には、系列変換部140は、パラメータ読込部141及び系列予測部142を有し、推定された潜在系列モデルを用いて、系列データを入力したときの潜在ベクトルを計算し、当該潜在ベクトルから異なる種類の系列データの要素への変換を用いて、異なる種類の系列データに変換する。
【0040】
パラメータ読込部141は、パラメータ推定部110から推定された系列モデルのパラメータを読み込む。そして、パラメータ読込部141は、読み込んだパラメータを系列予測部142に提供する。
【0041】
系列予測部142は、推定されたパラメータによる系列モデルを用いて、入力された系列データを異なる種類の系列データに変換する。具体的には、系列予測部142は、要素から潜在ベクトルへの変換及び潜在ベクトルから要素への変換において、異なる種類の変換を用いることによって、入力された系列データと異なる種類の系列データを出力する。
【0042】
例えば、d番目のデータのある系列データをd'番目の系列データに変換する場合、系列予測部142は、d番目の要素から潜在ベクトルへ変換するパラメータを用いて、各要素を潜在ベクトルに変換する。次に、系列予測部142は、推定されたパラメータによる潜在系列モデルを用いて、当該系列データの潜在ベクトルを計算する。そして、系列予測部142は、d'番目の潜在ベクトルから要素へ変換するパラメータを用いて、当該潜在ベクトルを対応する要素に変換する。
【0043】
なお、系列データ自体を予測するようにパラメータがパラメータ推定部110において学習された場合、系列予測部142は、上述したように1要素毎への変換でなく、d番目のデータの系列データを、潜在系列モデルとd番目の要素から潜在ベクトルへ変換するパラメータとを用いて潜在ベクトルに変換し、その後、潜在系列モデルとd'番目の潜在ベクトルから要素へ変換するパラメータとを用いて、d'番目のデータに変換してもよい。
【0044】
本実施例によると、推定された潜在系列モデルと潜在ベクトルと要素との間の変換とを用いて、系列データを異なる種類の系列データに変換することができる。
【0045】
次に、
図5を参照して、本発明の他の実施例による系列データ解析部の詳細を説明する。
図5は、本発明の一実施例による系列データ解析部の機能構成を示すブロック図である。
【0046】
図5に示されるように、系列データ解析部120は、推定されたパラメータによる潜在系列モデルと変換との少なくとも1つを用いて、入力された系列データの要素に対応する潜在ベクトル間の類似度に基づき要素の間の対応付けを実行する要素対応付け部150を有する。具体的には、要素対応付け部150は、パラメータ読込部151、潜在ベクトル計算部152及び類似度計算部153を有し、推定された要素と潜在ベクトルとの間の変換を用いて、潜在ベクトルが類似する異なる種類の系列データの要素を対応付ける。類似度としては、コサイン類似度等の任意の類似度が利用されうる。
【0047】
パラメータ読込部151は、パラメータ推定部110から推定された系列モデルのパラメータを読み込む。そして、パラメータ読込部151は、読み込んだパラメータを潜在ベクトル計算部152に提供する。
【0048】
潜在ベクトル計算部152は、推定された要素から潜在ベクトルへの変換のパラメータを用いて、各系列データの各要素を潜在ベクトルに変換する。
【0049】
類似度計算部153は、潜在ベクトル間の類似度を計算し、類似度が高い潜在ベクトルの異なる種類の系列データの要素間を対応付ける。ここで、類似度は、コサイン類似度など2つの潜在ベクトルの間の任意の距離であってもよい。
【0050】
本実施例によると、推定された潜在ベクトルと要素との間の変換を用いて、系列データの要素間の対応付けを行うことができる。
【0051】
次に、
図6を参照して、本発明の一実施例による系列データ解析処理を説明する。当該処理は、系列データ解析装置100によって実行可能である。
図6は、本発明の一実施例による系列データ解析処理を示すフローチャートである。
【0052】
図6に示されるように、ステップS101において、系列データ解析装置100は、入力された系列データを読み込む。例えば、当該系列データは、日本文、英文等を含む各種言語による文であってもよい。しかしながら、本実施例による系列データは、これに限定されず、言語、音声、音楽、映像、遺伝子、時系列、購買履歴、行動履歴など、任意の順序付けされた構成を有する系列データであってもよい。
【0053】
ステップS102において、系列データ解析装置100は、入力された系列データに対して潜在系列モデルのパラメータ及び/又は要素と潜在ベクトルとの間の変換のパラメータを推定する。例えば、系列データ解析装置100は、系列データの観測値と潜在系列モデルによる予測値と間の誤差が減少するよう当該パラメータを決定する。具体的には、系列データ解析装置100は、所定の終了条件が充足されるまで、最急降下法、確率的勾配法、ニュートン法等の任意の最適化法に従って系列データの観測値と系列モデルによる予測値と間の誤差が減少するようパラメータを更新してもよい。
【0054】
ステップS103において、系列データ解析装置100は、推定された潜在系列モデルのパラメータ及び/又は要素と潜在ベクトルとの間の変換のパラメータを用いて、系列データを解析する。具体的には、系列データ解析装置100は、推定された潜在系列モデルのパラメータ及び/又は要素と潜在ベクトルとの間の変換のパラメータを用いて、異なる種類の系列データの間の対応付け、異なる種類の系列データの間の変換及び/又は異なる種類の系列データの要素の間の対応付けを実行する。
【0055】
なお、上述した系列データ解析装置100の各機能部及び/又は系列データ解析処理の各ステップは、メモリ装置に記憶されたプログラムをプロセッサが実行することによって実現されてもよい。
【0056】
また、
図3〜5を参照して上述した系列対応付け部130、系列変換部140及び要素対応付け部150は、必ずしも単独で系列データ解析部120に含まれる必要はなく、これらの何れか2つ以上が系列データ解析部120に含まれてもよい。
【0057】
上述した実施例を評価するため、英語とスペイン語の文データを用いて実験を行った。このデータはもともと対訳文となっているが、対応データを用いずに上述した実施例に従って解析した。なお、系列モデルとしてLSTM、変換として線形変換を用いた。
【0058】
表1は、文(系列)の対応付けの精度と、比較手法としての文長での対応付け及びランダムな対応付けの精度とを示す。トップkは類似度が高い順にランキングしたk個の中に正解の対応付けがある割合を示す。
【0059】
【表1】
本実施例は、他の手法と比べて高い精度を達成しており、対応データなしでより高精度に系列を対応付けることが可能であることを示している。
【0060】
表2は、単語(要素)の対応付けの精度を示す。正解データとして辞書を用いた。
【0061】
【表2】
本実施例はランダムの場合と比べて高い精度を達成しており、要素の対応付けの精度も高いことを示している。
【0062】
以上、本発明の実施例について詳述したが、本発明は上述した特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。