【文献】
河東 宗祐,発話者を考慮した学習に基づく対話システムの検討,第8回データ工学と情報マネジメントに関するフォーラム (第14回日本データベース学会年次大会) [online],電子情報通信学会データ工学研究専門委員会 日本データベース学会 情報処理学会データベースシステム研究会,2016年 3月 2日,B7−2
【文献】
坪井 祐太,自然言語処理におけるディープラーニングの発展,オペレーションズ・リサーチ,公益社団法人日本オペレーションズ・リサーチ学会,2015年 4月 1日,第60巻 第4号,P.205−211
【文献】
渡辺 有祐,直列化された係り受け構造によるニューラルネット文生成,言語処理学会第22回年次大会 発表論文集 [online] ,言語処理学会,2016年 2月29日,P.254−257
【文献】
三上 佳孝,再帰型ニューラルネットワークを用いた特定話者の個性を学習可能な非タスク指向型対話システム,言語処理学会第22回年次大会 発表論文集 [online],言語処理学会,2016年 2月29日,P.1125−1128
(58)【調査した分野】(Int.Cl.,DB名)
前記学習部は、前記単語群に含まれる各単語を前記文章中に出現する順番で、前記学習器となるリカレントニューラルネットワークに入力し、各単語が前記文章中に出現する順番とともに当該単語群が有する特徴を学習させる
ことを特徴とする請求項2に記載の学習装置。
前記学習部は、前記学習器が学習した特徴を前記復元器となるリカレントニューラルネットワークに入力し、当該特徴から前記単語群に含まれる各単語を前記文章中に出現する順番で抽出するとともに、前記文章中における各単語の係り受けを抽出するよう学習させる
ことを特徴とする請求項2または3に記載の学習装置。
請求項1〜4に記載された学習装置によって学習された学習器および復元器を用いて、入力された単語群から出力対象となる単語群が有する特徴を取得し、当該特徴から前記出力対象となる単語群を各単語の係り受けとともに復元させ、当該復元結果に基づく文章を出力する出力部
を有することを特徴とする文章自動生成装置。
【発明を実施するための形態】
【0011】
以下に、本願にかかる学習装置、文章自動生成装置および学習方法を実施するための形態(以下、「実施形態」と記載する。)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願にかかる学習装置、文章自動生成装置および学習方法が限定されるものではない。また、以下の実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【0012】
〔1.情報提供装置の一例〕
まず、
図1を用いて、情報提供装置10が実行する処理の一例について説明する。
図1は、実施形態にかかる情報提供装置の一例を示す図である。例えば、
図1に示す例では、情報提供装置10は、複数の利用者がブレインストーミング等の会議を行っている際に、利用者の発言を入力情報として取得し、取得した入力情報に基づいて、通常の思考では浮かばないような発言を生成し、生成した発言を音声に変換してロボット等に出力させることで、利用者の思考を支援する処理の一例について記載した。なお、以下の説明では、情報提供装置10が実行する処理を学習処理と抽出処理とに分けて説明する。
【0013】
図1に示した情報提供装置10は、サーバ装置等の情報処理装置により実現される。なお、情報提供装置10は、単一の情報処理装置に実現されてもよく、例えば、クラウドネットワーク上に存在する複数の情報処理装置が協調して実現されてもよい。このような、情報提供装置10は、利用者の発言をテキストデータに変換し、テキストデータを自然言語処理により解析する。そして、情報提供装置10は、解析結果に基づいて、会議や利用者の思考を支援する発言を生成し、生成した発言を出力する。
【0014】
〔1−1.抽出処理の一例〕
ここで、従来技術では、入力されたテキストを構成する複数次元の単語ベクトルで示す分散表現を用いて、入力されたテキストと類似するテキストや、入力されたテキストに続くテキストを類推する。しかしながら、従来技術では、入力されたテキストと分散表現が類似するテキスト、すなわち、利用者が予測しうるテキストを出力するに過ぎない。このため、従来技術では、利用者が思いもしなかった情報や、利用者に新規なひらめきを与えるような情報、すなわち、利用者のセレンディピティ(ひらめき、気づき、驚き)を起こし得る情報を提供することができなかった。また、例えば、単純に入力されたテキストとは分散表現が類似しないテキストを出力した場合には、利用者の思考とは関係がないテキストを出力することとなり、利用者の思考を阻害する場合がある。
【0015】
〔1−1−1.圏論を用いた概念抽出〕
そこで、情報提供装置10は、以下の処理を実行する。まず、情報提供装置10は、利用者の発言等を入力情報として受付ける。また、情報提供装置10は、入力情報が属する分野を特定する。ここで、入力情報が属する分野とは、例えば、利用者の発言に含まれる単語が医療分野に属する単語であるか、物理学分野に属する単語であるか、料理分野に属する単語であるか等、入力情報が主に使用されている技術的な分野である。
【0016】
続いて、情報提供装置10は、特定された分野に属する複数の単語が有する圏論の構造に基づいて、単語が有する概念を抽出する。より具体的には、情報提供装置10は、入力された文章から動詞および名詞を抽出し、抽出された動詞を名詞間の関係性を示す矢印に置き換えることで名詞間の関係を矢印構造のパターンとして抽出し、抽出された矢印構造のパターンを用いて、入力された文章を抽象化した概念を特定する。そして、情報提供装置10は、同様の概念を有する他の文章を特定する。例えば、情報提供装置10は、入力情報が属する分野とは異なる分野に属する複数の単語から、特定した概念を有する他の文章、すなわち、抽出された矢印構造のパターンと同様のパターンを有する単語群を抽出する。
【0017】
より具体的には、情報提供装置10は、矢印構造のパターンとして、圏論の構造を有するパターンを抽出し、抽出したパターンと同様のパターンを有する他の単語群を抽出する。ここで、圏論とは、数学的構造とその間の関係を抽象的に扱う数学理論であり、ある種構造を有する対象と、その構造を反映するような対象間の射の組み合わせにより、対象の中身を考慮せずに特徴を見つける手法である。例えば、圏論を用いた場合には、ある集合に含まれる各要素の中身を特定せずとも、その集合の外側からその集合が有する特徴を見つけることができる。このような圏論の手法を、単語間の関係性に適用した場合、単語が属する分野(すなわち、単語の種類)によらず、単語の並びの構造から、単語が属する分野に属する単語同士が有する特徴を抽象化した概念を示すことができる。ここで、発明等の発想やアイデアを示す単語群が有する構造と同じ構造を有する他の単語群を検索した場合、そのような単語群は、他の発想やアイデア等を示す単語群である可能性が高い。
【0018】
そこで、情報提供装置10は、入力情報に含まれる単語群が有する圏論の構造を特定する。そして、情報提供装置10は、特定した圏論の構造と同じ構造を有する他の単語群を他分野等から抽出することで、同一のアナロジーを有する他のアイデアを抽出することができる。
【0019】
また、圏論の構造には、単語間の関連性のみならず、構造間の関係性を示す関手(函手)と呼ばれる構造が存在する。このような関手は、名詞を圏に属する要素と見做した場合、名詞と他の名詞との関連性を示す単語、すなわち、動詞に対応付けられると考えられる。そこで、情報提供装置10は、入力情報として受付けた文章に含まれる動詞を圏論の関手と見做して、文章が有する圏論の構造を抽出する。
【0020】
また、圏論においては、関手は、ある構造を有するクラスを、同様の構造を有する他のクラスへと変換する関数等によって表すことができる。このため、関手は、例えば、ある分野に属する発想やアイデアを、他分野に属する発想やアイデアであって、同様のアナロジーを有する発想やアイデアに変換する作用を有すると考えられる。そこで、情報提供装置10は、各単語間の構造や、単語間の構造同士を関連付ける関手等、圏論の構造に基づいて、入力された単語群とは異なる分野から、同様のアナロジーを有する単語群を抽出する。
【0021】
〔1−1−2.圏論を用いた処理の一例〕
例えば、情報提供装置10は、圏論の構造として、単語間の結合および分解を示すカルテシアン積の関係を示す構造に基づいて、特定された単語が属する分野とは異なる分野に属する単語を抽出する。より具体的には、情報提供装置10は、入力された文章に含まれる動詞を名詞間の関係を示す関手と見做し、入力された文章に含まれる名詞間の構造を圏論の構造にあてはめて抽出する。そして、情報提供装置10は、抽出した圏論の構造と同様の構造を有する他の単語群を、入力された単語が属する分野とは異なる分野に属する単語を抽出する。
【0022】
また、例えば、情報提供装置10は、関手同士の構造に基づいて、出力候補となる単語を抽出してもよい。例えば、圏論には、1つの圏から異なる関手によって導かれた2つの圏を関連付けるアナロジー型と呼ばれる構造が存在する。このようなアナロジー型と呼ばれる構造を単語間の関連性にあてはめた場合、例えば、同じアナロジーを有する2つの異なる分野間の関係を示すこととなる。そこで、情報提供装置10は、アナロジー型の構造に基づいて、入力された単語群とは異なる分野に属する単語群であって、同様のアナロジーを有する単語群を抽出してもよい。例えば、情報提供装置10は、第1分野に属する単語群を受付けた場合には、アナロジー型の構造として、第1分野に属する単語と第2分野に属する単語とを関連付ける第1関手と、第1分野に属する単語と第3分野に属する単語とを関連付ける第2関手と、第2分野に属する単語と第4分野に属する単語とを関連付ける第3関手と、第3分野に属する単語と第4分野に属する単語とを関連付ける第4関手との関係性を示す構造を特定する。すなわち、情報提供装置10は、動詞間の関連性を示す構造を特定する。そして、情報提供装置10は、特定した構造と同様の構造を有する他の単語群を抽出してもよい。また、例えば、情報提供装置10は、第1分野に属する単語群から、アナロジー型の構造により対応付けられた第4分野に属する単語群を抽出してもよい。
【0023】
また、例えば、情報提供装置10は、圏論の構造として、関手間の関係性を示す随伴関手に基づいて、出力候補となる単語を抽出してもよい。すなわち、情報提供装置10は、圏論の構造として、双対アナロジー型の構造に基づき、出力候補となる単語を抽出してもよい。より具体的には、圏論には、ある圏から関手によって導かれたその圏場への射を示す双対アナロジー型の構造が存在する。このような双対アナロジー型と呼ばれる構造を、単語間の関連性にあてはめた場合、第1分野に属する単語群から、第1分野と随伴関係にある分野である第2分野に属する単語群が有する特徴を含む単語群であって、第1分野に属する他の単語群への射となる関手により表されることとなる。そこで、情報提供装置10は、このような双対アナロジー型の構造を表す随伴関手の構造を特定し、特定した構造と同様の構造を有する他の単語群を抽出してもよい。また、情報提供装置10は、随伴関手の構造に基づいて、入力された単語群と同じ分野に属する単語群であって、異なる分野に属する単語群が有する特徴(例えば、その分野における技術の特徴)を含む単語群を出力候補として抽出してもよい。
【0024】
また、情報提供装置10は、圏論の構造として、特定された分野とは異なる分野上のクライスリトリプルに基づいて、特定された分野とは異なる分野に属する複数の単語に、他の分野に属する複数の単語が有する関連性を埋め込んだ複数の単語を、出力候補として抽出してもよい。例えば、圏論には、ある圏Cにおいて圏を変えない関手、圏Cに含まれる要素Aを他の要素TAに変換する自然変換、AからTBへの射に対してTAからTBへの射を与える操作からなる三つ組みのクライスリトリプルと呼ばれる構造が存在する。このような構造を単語間の関連性にあてはめた場合、ある分野に属する発想やアイデア等に、同一分野に属する他の発想やアイデアを組込む構造を示すこととなる。そこで、情報提供装置10は、このようなクライスリトリプルの構造を特定し、特定した構造と同様の構造を有する他の単語群を抽出してもよい。また、情報提供装置10は、クライスリトリプルの構造に基づいて、入力された単語群から出力候補となる単語群、すなわち、他の発想やアイデアの概念が組込まれた単語群を出力候補として抽出してもよい。
【0025】
〔1−1−3.大偏差原理を用いたセレンディピティの抽出〕
ここで、圏論を用いて抽出された単語群は、入力された単語群と同様のアナロジーを有する他分野に属する単語群であったり、他のアイデアや発想の概念が組み込まれた単語群となりえる。しかしながら、このような単語群は、元の単語群から利用者が容易に導き出すことができる概念を有する場合がある。特に、利用者のセレンディピティを起こし得るような概念は、利用者の発言に含まれる概念からある程度の類似性を有する概念のうち、利用者が想像もしていないような概念であると考えられる。
【0026】
しかしながら、利用者の発言に含まれる単語群から、セレンディピティを起こすような概念を有する単語群を抽出するのは、困難である。より具体的には、分散表現空間上に投影される単語の数は、有限であるため、入力された単語群を基準として、統計的にどの程度の類似性を有する単語群を出力すれば利用者のセレンディピティを起こし得るかが解りづらい。
【0027】
そこで、情報提供装置10は、大偏差原理を用いて、セレンディピティを起こし得る単語群の抽出を行う。より具体的には、情報提供装置10は、圏論の構造に基づいて抽出された単語群に含まれる単語を基準単語とする。また、情報提供装置10は、基準単語の分散表現と他の単語の分散表現との間のコサイン類似度を算出し、算出したコサイン類似度の分布を確率分布として推定する。そして、情報提供装置10は、大偏差原理に基づいて、基準単語の分散表現と他の単語の分散表現のコサイン類似度の確率分布が、他の単語の数(サンプルサイズ)を増やした時に近づく平均分散形状から外れた分布形状に基づいて、出力候補とする単語を抽出する。より具体的には、情報提供装置10は、確率分布が平均分布形状から外れた分布形状となる単語を、セレンディピティを起こし得る単語として抽出する。
【0028】
例えば、情報提供装置10は、サンプルとする単語群を選択し、選択した単語群と基準単語とのコサイン類似度の分布から、基準単語と他の単語との間のコサイン類似度の分布の確率分布を推定する。そして、情報提供装置10は、大偏差原理に基づいて、サンプルとする単語群の数を増やしていった際に近づく確率分布の分布形状が、平均的な分布形状から外れているか否かを判定し、確率分布の分布形状が平均的な分布形状から外れている場合には、サンプルとした単語群がセレンディピティを起こし得る単語群であるとして、出力候補とする。
【0029】
なお、情報提供装置10は、任意の分布形状を平均的な分布形状とすることができる。例えば、情報提供装置10は、正規分布や二項分布等を平均的な分布形状としてよい。また、情報提供装置10は、分布形状が平均的な分布形状からどれくらい外れている際に、サンプルとした単語群を出力候補とするかについては、任意の値が設定可能である。
【0030】
例えば、情報提供装置10は、基準単語の分散表現と、サンプルとした他の単語の分散表現との間のコサイン類似度を算出する。そして、情報提供装置10は、コサイン類似度の分布の確率分布を推定し、大偏差原理に基づいて、他の単語の数を増やした際に推定された確率分布が近づく分布形状を特定し、特定した分布形状に基づいて、サンプルとした単語を出力候補とするか否かを判定する。より具体的には、情報提供装置10は、ヴァラダンの補題を用いて、基準単語の分散表現と他の単語の分散表現とのコサイン類似度が属する確率の確率測度のレート関数を算出する。そして、情報提供装置10は、レート関数を用いて、基準単語の分散表現と他の単語の分散表現のコサイン類似度の確率分布が他の単語の数を増やしたときに近づく分布形状を特定する。
【0031】
このような処理を、圏論を用いて抽出された単語群に含まれる単語ごと、または、単語群ごとに実行することで、情報提供装置10は、セレンディピティを起こし得る単語群を抽出することができる。例えば、情報提供装置10は、圏論を用いて抽出された単語群の分散表現空間上における重心または中心を1つの基準単語と見做し、大偏差原理に基づいて、基準単語と他の単語とのコサイン類似度の分布を推定し、推定結果に基づいて、基準単語とのコサイン類似度が平均的なコサイン類似度を外れた複数の単語を抽出すればよい。また、情報提供装置10は、基準単語とのコサイン類似度が平均的なコサイン類似度を外れた複数の単語のうち、圏論を用いて抽出された単語群と同じ圏論の構造を有する単語群を抽出してもよい。
【0032】
〔1−2.学習処理の一例〕
ここで、圏論や大偏差原理に基づいて、セレンディピティを起こし得る単語群を抽出できたとしても、その単語群をそのまま出力した場合には、単語同士の係り受けが不明確となり、セレンディピティが生じる可能性が悪化する恐れがある。
【0033】
そこで、情報提供装置10は、RNN(Recurrent Neural Network)の技術を用いて、抽出された単語群から係り受けを考慮した文章、すなわち、自然な文章を生成し、生成した文章を出力してもよい。例えば、情報提供装置10は、特許出願における明細書や小説等、単語間の係り受けを含む文章を学習データとして収集し、収集した文章から単語群を抽出する。そして、情報提供装置10は、単語群に含まれる各単語が文章中に出現する順番とともに単語群が有する特徴を学習する学習器と、単語群に含まれる各単語と各単語が文章中に出現する順番とを文章中における各単語の係り受けとともに、学習器によって学習された特徴から復元する復元器とを同時に学習する。
【0034】
例えば、情報提供装置10は、リカレントニューラルネットワークの学習器と復元器とを準備する。また、端末配信装置10は、単語群に含まれる各単語を学習データとした文章中に出現する順番で、学習器となるリカレントニューラルネットワークに入力し、各単語が文章中に出現する順番とともに単語群が有する特徴を学習器に学習させる。また、情報提供装置10は、学習器が学習した特徴を復元器となるリカレントニューラルネットワークに入力し、特徴から単語群に含まれる各単語を学習データとした文章中に出現する順番で抽出するとともに、学習データとした文章中における各単語の係り受けを抽出するように復元器を学習させる。すなわち、情報提供装置10は、単語群に含まれる単語が文章中に出現する順番と単語群の特徴とを学習するとともに、特徴から、学習データとした文章に含まれる各単語の係り受けとともに、各単語を入力した順で復元するように、学習器と復元器とに含まれる各ニューロン間の計数を同時に学習(修正)する。
【0035】
また、情報提供装置10は、上述した学習処理によって学習が行われた学習器を用いて、抽出処理によって抽出された単語群の特徴を取得し、上述した学習処理によって学習が行われた復元器を用いて、取得された特徴から単語群を係り受けと共に復元させる。すなわち、情報提供装置10は、上述した抽出処理によって抽出された単語群を学習器に入力するとともに、学習器の出力を復元器に入力することで、抽出処理によって抽出された単語群を係り受けと共に復元する。そして、情報提供装置10は、係り受けとともに復元された単語群、すなわち、抽出処理によって抽出された単語群を含む文章を、処理結果として利用者に提供する。この結果、情報提供装置10は、抽出された単語群を、自然な文章として出力することができるので、利用者にセレンディピティを起こさせる可能性を増大させることができる。
【0036】
〔1−3.抽出処理および学習処理の一例〕
次に、
図1を用いて、情報提供装置10が実行する抽出処理および学習処理の一例について説明する。例えば、
図1に示す例では、情報提供装置10は、抽出処理に先駆けて、学習器と復元器との学習を行う学習処理を実行する(ステップS1)。このような学習処理においては、情報提供装置10は、明細書等の所定の文章を学習データとしてインターネット等を介して収集し、収集した文章に含まれる単語群を抽出する(ステップS2)。続いて、情報提供装置10は、抽出した単語群に含まれる各単語を、学習データとした文章内で出力する順(以下、「出現順」と記載する)で、学習器に入力し、特徴と出現順とを学習させる(ステップS3)。そして、情報提供装置10は、学習器の学習結果から、特徴を学習した単語群に含まれる各単語を、係り受けとともに、出現順に復元するように、復元器の学習を行う(ステップS4)。なお、ステップS3およびステップS4に示す処理は、同時におこなわれることとなる。このような処理を繰り返すことで、情報提供装置10は、単語群に含まれる各単語の自然な係り受けを作成可能な学習器と復元器とを生成することができる。
【0037】
続いて、情報提供装置10が実行する抽出処理の一例について説明する。例えば、情報提供装置10は、会議における利用者の発言Aや発言Bを入力として受付ける(ステップS5)。より具体的には、情報提供装置10は、利用者が発声した発言Aをテキストデータに変換し、変換後のテキストデータを入力情報として取得する。
【0038】
かかる場合、情報提供装置10は、圏論に基づく構成と大偏差原理とに基づいて、入力情報が有するアナロジーと同様のアナロジーを有する情報であって、利用者にセレンディピティを生じさせるような情報を抽出する抽出処理を実行する(ステップS6)。以下、
、情報提供装置10が実行する抽出処理の流れをステップS7〜ステップS13に分けて説明する。
【0039】
まず、情報提供装置10は、入力情報が属する分野を特定する(ステップS7)。例えば、情報提供装置10は、形態素解析等を用いて、利用者の発言のテキストデータを解析し、テキストデータに含まれる単語群を抽出する。そして、情報提供装置10は、抽出した単語群がどのような分野において使用されている単語群であるかを特定する。例えば、情報提供装置10は、「眼鏡型」、「腕時計型」、「表示」、「スマートデバイス」等といった単語が単語群に含まれる場合は、入力情報が属する分野を「ウェアラブルデバイス」とする。なお、情報提供装置10は、例えば、入力情報に含まれるであろう単語と、その単語が含まれる入力情報が属する分野とを予め対応付けて記憶し、入力情報に含まれる単語と対応付けられた分野を、入力情報が属する分野として特定してもよく、例えば、ウェブ上の検索サービス等を用いて、入力情報に含まれる単語と関連する分野を検索し、検索結果として得られる分野を入力情報が属する分野としてもよい。
【0040】
続いて、情報提供装置10は、入力情報に含まれる動詞を圏論の関手と見做して、名詞間が有する圏論の構造を特定する(ステップS8)。そして、情報提供装置10は、圏論の構造に基づいて、選択した単語群とは異なる分野に属する単語群を抽出する(ステップS9)。例えば、情報提供装置10は、分散表現空間内に投影された各単語群が有する圏論の構造を特定し、ステップS9にて抽出した単語群と同様の構造を有する単語群であって、ステップS9にて抽出した単語群とは異なる分野に属する単語群を抽出する。
【0041】
また、情報提供装置10は、抽出した単語群と他の単語とのコサイン類似度の確率分布を推定する(ステップS10)。そして、情報提供装置10は、大偏差原理に基づいて、確率分布が平均的な分布から外れる単語群を抽出する(ステップS11)。例えば、情報提供装置10は、公開特許公報や特許公報等、各種の技術について記載された文献データベースから、特定した分野の文献データを取得する。続いて、情報提供装置10は、取得した文献データの形態素解析を行い、文献データ内から単語を抽出する。そして、情報提供装置10は、抽出した各単語の類似性等を考慮して、各単語を投影した分散表現空間を作成する。なお、このような分散表現空間は、いわゆるW2V(Word 2 Vector)の技術等を利用することで実現される。
【0042】
また、情報提供装置10は、サンプルとする他の単語を選択し、抽出した単語群や、抽出した単語群に含まれる単語を基準単語として、基準単語と他の単語とのコサイン類似度を算出し、算出したコサイン類似度の分布を確率分布とする。そして、情報提供装置10は、大偏差原理に基づいて、サンプルとする他の単語を増大させた際における確率分布の分布の挙動が、平均的な分布からずれていく挙動を分析し、分析結果に基づいて、出力候補とする単語を抽出する。より具体的には、情報提供装置10は、分析結果に基づいて、所定の分布形状となる確率分布を特定し、特定した分布形状においてある閾値以上の確率で現れる単語を出力候補として抽出する。
【0043】
また、情報提供装置10は、学習処理によって学習された学習器に対してステップS11にて抽出した単語群を入力し、単語群を学習器に入力することで得られた特徴を復元器で復元することで、単語群とともに単語群の係り受けを取得する(ステップS12)。そして、情報提供装置10は、取得した単語群と係り受けとを用いて、出力する文章を生成し(ステップS13)、生成した文章を応答として出力する(ステップS14)。例えば、情報提供装置10は、ステップS11にて抽出した単語群を含み、かつ、各単語群の係り受けを含む文章を発言Cとしてロボット等に読み出させることで、利用者に提案を行う。
【0044】
このような提案が行われた場合、利用者は、提案された単語の概念に基づいて、あらたなひらめきを生じさせる可能性が高い。このため、情報提供装置10は、利用者のセレンディピティを起こさせることができる。
【0045】
〔2.情報提供装置の構成〕
次に、
図2を用いて、
図1に示した学習処理および抽出処理を実行する情報提供装置10の構成について説明する。
図2は、実施形態にかかる情報提供装置が有する機能構成の一例を示す図である。
図2に示すように、情報提供装置10は、入力装置30および出力装置31と接続されている。また、情報提供装置10は、通信部11、記憶部12、および制御部16を有する。
【0046】
通信部11は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部11は、マイクやキーボード等の入力装置30と、モニタやプリンタ、音声を発声することができるロボット等の出力装置31と接続され、各種情報の送受信を行う。
【0047】
記憶部12は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。また、記憶部12は、文献データベース13、モデルデータベース14、および分散表現空間データベース15を有する。
【0048】
文献データベース13には、各種分野に属する文献が登録されている。例えば、文献データベース13には、公開特許公報、公表特許公報、特許公報、論文等、過去になされたアイデアの概念を含む文献が登録されている。
【0049】
モデルデータベース14には、学習処理によって学習されるモデル、すなわち、RNNである学習器と復元器とのデータが登録されている。例えば、モデルデータベース14には、学習器と復元器とに含まれる各ニューロン間の接続や、各ニューロン間の接続係数等が登録されている。
【0050】
分散表現空間データベース15には、各種分野に属する単語の分散表現が登録されている。例えば、分散表現空間データベース15には、文献データベース13に登録された文献に含まれる単語を示すベクトルが登録されている。なお、各単語の分散表現は、各単語同士の関係性に基づいて生成されるため、各単語同士の向きやコサイン類似度は、各単語同士が有する概念や共起性の類似度に対応することとなる。
【0051】
制御部16は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等のプロセッサによって、情報提供装置10内部の記憶装置に記憶されている各種プログラムがRAM等を作業領域として実行されることにより実現される。また、制御部16は、コントローラ(controller)であり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されてもよい。
【0052】
図2に示すように、制御部16は、受付部17、分野特定部18、構造抽出部19、概念特定部20、類似度算出部21、分布推定部22、出力候補抽出部23、出力生成部24、出力部25、収集部26、およびRNN学習部27を有する。なお、各部17〜25は、抽出処理を実現するための機能構成であり、各部26、27は、学習処理を実現するための機能構成である。このため、情報提供装置10は、例えば、各部17〜25を有する抽出装置と、各部26、27を有する学習装置とが協調して動作することにより、実現されてもよい。
【0053】
〔2−1.圏論を用いた抽出処理を実現する構成例〕
受付部17は、利用者の発言を入力情報として受付ける。例えば、受付部17は、マイクやキーボード等により実現される入力装置30から利用者の発言を取得する。かかる場合、受付部17は、受付けた利用者の発言をテキストデータに変換する。そして、受付部17は、変換後のテキストデータを分野特定部18に出力する。
【0054】
分野特定部18は、入力情報が属する分野を特定する。例えば、分野特定部18は、受付部17から受付けたテキストデータの形態素解析を行い、テキストデータに含まれる単語がどのような分野において使用されている単語であるかを特定する。そして、分野特定部18は、特定した分野とテキストデータとを構造抽出部19に通知する。
【0055】
構造抽出部19は、入力されたテキストデータに含まれる動詞と名詞とを抽出し、動詞を矢印と見做した際の構造である矢印構造のパターンを抽出する。すなわち、構造抽出部19は、入力されたテキストデータが有する構造を抽出する。より具体的には、構造抽出部19は、矢印構造のパターンとして、圏論の構造を有するパターンを抽出する。
【0056】
概念特定部20は、構造抽出部19によって抽出されたパターンを用いて、入力された文章を抽象化した概念を特定する。そして、概念特定部20は、特定した概念と同様の概念を有する文章に含まれる単語群を、分野特定部18によって特定された分野とは異なる分野から特定する。すなわち、概念特定部20は、入力された文章と同様の概念(アナロジー)を含む文章の単語群を特定する。
【0057】
例えば、
図3は、実施形態にかかる情報提供装置が単語の矢印構造のパターンを抽出する処理の一例を示す図である。例えば、
図3に示す例では、分野「中華」に関連する文章に含まれる単語群と、分野「和食」に関連する文章に含まれる単語群との一例について記載した。
【0058】
例えば、「生肉を炒めることで肉炒めを作る」といった文章から、名詞「生肉」、動詞「炒める」、名詞「肉炒め」が抽出されたものとする。このような場合、動詞「炒める」は、名詞「生肉」を名詞「肉炒め」へと変換する矢印構造を示すものと考えられる。また、「ごはんを炒めることでチャーハンを作る」といった文章から、名詞「ごはん」、動詞「炒める」、名詞「チャーハン」が抽出されたものとする。このような場合、動詞「炒める」は、名詞「ごはん」を名詞「チャーハン」へと変換する矢印構造を示すものと考えられる。このため、
図3中(A)に示すように、文章中に含まれる動詞は、名詞間の関係性(例えば、素材と料理等)を示す矢印として示すことができると考えられる。このような矢印は、圏論の構造における関手と見做すことができる。
【0059】
また、例えば、分野「中華」と分野「和食」との関係性について考慮する。このような場合、「ゆでる」という動詞が、「炒める」という動詞と同様に、名詞間の関係性を示す矢印として示すことができると考えられる。このため、「炒める」という動詞を「ゆでる」という動詞に変換する関手は、分野「中華」を分野「和食」に変換する関手を示唆すると考えられる。
【0060】
そこで、概念特定部20は、構造抽出部19によって抽出されたパターンから、圏論の構造を特定し、特定した圏論の構造に基づいて、出力候補となる単語を抽出する。例えば、概念特定部20は、分野特定部18によって特定された分野とは異なる分野に属する複数の単語のうち、構造抽出部19によって特定された圏論の構造と同じ構造を有する複数の単語を抽出する。
【0061】
ここで、
図4を用いて、分散表現空間上において圏論の構造が示すアナロジーの一例について説明する。
図4は、分散表現空間上で圏論の構造が有するアナロジーの一例を示す図である。例えば、
図4中(A)に示すように、ウェブ関連の分野に属する単語を含む圏を考える。このような圏においては、単語間の結合および分解を示すカルテシアン積の関係を示す構造により、ウェブ関連の分野における発想やアイデアのアナロジーを表現することができる。例えば、
図4中(A)に示す例では、「検索連動広告」という単語を「Y」、「検索」という単語を「X
1」、広告という単語を「X
2」とした際に、「Y」を「X
1」へと変換する関手「f
1」は、「検索連動広告」から「検索」という単語を抽出する処理に対応し、「Y」を「X
2」へと変換する関手「f
2」は、「検索連動広告」から「広告」という単語を抽出する処理に対応する。また、「Y」を「X
1×X
2」へと変換する関手「f」は、「検索連動広告」を「検索×広告」というように単語が有する意味の要素を分解する処理に対応する。また、「X
1×X
2」を「X
1」へと変換する関手「π
1」や、「X
1×X
2」を「X
2」へと変換する関手「π
2」は、「検索×広告」という意味の要素を、「検索」や「広告」といった各要素を示す単語へと変換する処理に対応する。
【0062】
一方、リアル店舗に関連する技術の単語を含む圏において、
図4中(A)に示したカルテシアン積の構造と同様の構造を考えた場合、
図4中(B)に示すような単語間の構造を得ることができる。例えば、
図4中(B)に示す例では、「カード決済連動広告」という単語を「Y」、「カード決済」という単語を「X
1」、広告という単語を「X
2」とした際に、「Y」を「X
1」へと変換する関手「f
1」は、「カード決済連動広告」から「カード決済」という単語を抽出する処理に対応し、「Y」を「X
2」へと変換する関手「f
2」は、「カード決済連動広告」から「広告」という単語を抽出する処理に対応する。また、「Y」を「X
1×X
2」へと変換する関手「f」は、「カード決済連動広告」を「カード決済×広告」というように単語が有する意味の要素を分解する処理に対応する。また、「X
1×X
2」を「X
1」へと変換する関手「π
1」や、「X
1×X
2」を「X
2」へと変換する関手「π
2」は、「カード決済×広告」という意味の要素を、「カード決済」や「広告」といった各要素を示す単語へと変換する処理に対応する。
【0063】
このように、カルテシアン積の構造は、各単語の意味そのものを示すのではなく、各単語間の意味の関係性、すなわち、アナロジーを示していると考えられる。このため、情報提供装置10は、圏論における構造を考慮することで、各単語の中身に関係なく、抽象化した発想を抽出することができると考えられる。そこで、概念特定部20は、圏論における構造が同じ単語群を、特定された分野とは異なる分野から抽出することで、同様のアナロジーを有する他分野に属する単語群を抽出する。より具体的には、概念特定部20は、入力情報に含まれる単語群が有する構造と同じ構造を有する単語群を、文献データベース13に登録された文献のうち、分野特定部18が特定した分野とは異なる分野の文献に含まれる文章から特定する。
【0064】
なお、圏論における構造は、上述したカルテシアン積に限定されるものではない。以下、
図5を用いて、構造抽出部19および概念特定部20が考慮する圏論の構造の一例について説明する。例えば、
図5は、実施形態に係る情報提供装置が特定する圏論構造の一例を示す図である。例えば、概念特定部20は、圏論の構造として、
図5中(A)に示すように、単語間の結合および分解を示すカルテシアン積の関係を示す構造を有するパターンを抽出する。
【0065】
また、概念特定部20は、名詞間の関係性を示す矢印を圏論の関手として、圏論の構造を有するパターンを抽出する。ここで、関手は、同じ圏に属する単語間のみならず、他の圏に属する単語であって、同様の構造を有する単語間を示すことができる。そこで、概念特定部20は、
図5中(B)に示すように、ある分野における単語間の関係性の構造と一致する単語間の関係性であって、他の分野における単語間の関係性を抽出してもよい。例えば、概念特定部20は、画像処理に属する単語間の関係性に基づいて、音声認識に属する単語間の関係性を抽出してもよい。
【0066】
また、概念特定部20は、
図5中(C)に示すように、アナロジー型の自然変換を示す構造を抽出してもよい。例えば、概念特定部20は、画像処理に関する単語を「X」、言語処理に関する単語を「Y」、バーチャルに関する単語を含む圏を現実世界に関する単語を含む圏に変換する関手「F」、ウェブに関する単語を含む圏をスマートデバイスに関する単語を含む圏に変換する関手「G」を考える。すると、概念特定部20は、
図5中(C)に示すように、「F(X)」が「F(f)」により「F(Y)」に変換される構造を、「F(X)」を「G(X)」に変換する関手「ηX」と「F(Y)」を「G(Y)」に変換する関手「ηY」とにより、「G(X)」が「G(f)」により「G(Y)」に変換される構造へと結びつけることができる。すなわち、概念特定部20は、1つの圏から異なる関手によって導かれた2つの圏を結びつけるアナロジー型の構造に基づいて、同じアナロジーを持つ2つの異業種を抽出することができる。
【0067】
また、概念特定部20は、
図5中(D)に示すように、関手間の関係性を示す随伴関手の構造を有するパターンを抽出してもよい。例えば、コンテンツを「X」、広告を「A」とした際に、XをAへと変換する関手「F」、AをXへと変換する関手「G」を考える。このような場合、関手「G」は、関手「ηG」により関手「GFG」へと変換され、関手「GFG」は、関手「Gε」により関手「G」へと変換される。また、関手「F」は、関手「Fη」により関手「FGF」へと変換され、関手「FGF」は、関手「εF」により関手「F」へと変換される。このような随伴関手の構造は、関手によって導かれた圏からその圏上への射や、ある圏から関手によって導かれたその圏上への射を示す。このため、このような随伴関手の構造を単語群から特定した場合には、ある分野における技術的な概念に対し、その分野と随伴関係にある他の分野における技術的な概念を組み込む関係を示すことができる。そこで、概念特定部20は、随伴関手の構造を有するパターンを抽出することで、入力情報が示す概念に対し、入力情報が属する分野と随伴関係にある他の分野の概念を組み込んだ概念を示す単語群を抽出してもよい。
【0068】
また、概念特定部20は、
図5中(E)に示すように、第1の圏に属する単語に第2の圏に属する単語が有する関連性を埋め込むクライスリトリプルの構造を有するパターンを抽出してもよい。例えば、ある圏に属する単語「a」を単語「mb」へと変換する関手を関手「f」とし、単語「ma」を単語「mb」へと変換する関手を関手「f*」とする。このような場合、関手「f」の定義域である単語「a」を「ma」へと持ち上げる(すなわち、関手「f」と関手「f*」との合成)構成については、ある概念の中に他の概念を埋め込む操作を示すと考えられる。そこで、概念特定部20は、クライスリトリプルの構造に基づいて、入力情報が示す概念に他の概念を組み込んだ概念を示す単語群を抽出することができる。
【0069】
なお、概念特定部20は、上述した各処理をHaskellと呼ばれるプログラミング言語を用いて実現する。例えば、
図6は、実施形態にかかる情報提供装置がHaskellを用いてアナロジーを抽出する処理の一例を示す図である。例えば、
図6中(A)に示すように、圏論においては、ある分野Aに属する発明Aの概念が有する構造と、ある分野Bに属する発明Bが有する概念とは、同様のアナロジー、すなわち、同様の構造を有すると考えられる。すなわち、圏論においては、あるアナロジーを中心として分野Aの圏から分野Bの圏への変換が対象であると考えられる。換言すると、圏論においては、分野Bの圏における構造が分野Aの圏における構造と同じであるならば、同一のアナロジーを有している(単語の中身によらない抽象的な概念を示している)と予測される。
【0070】
このような構造を抽出するため、概念特定部20は、
図6中(B)に示すように、Haskellと呼ばれるプログラミング言語を用いたデータベースを使用して、アナロジーを示す構造を特定する。例えば、概念特定部20は、文献データベース13を参照し、発明Aの言語記載から抽出される単語リスト[a1,a2,・・・]と、発明Bの言語記載から抽出される単語リスト[b1,b2,・・・]を生成する。そして、概念特定部20は、動的型作成と動的型抽出とを同時に行う。すなわち、概念特定部20は、動的に作り出した型のマッチパーサを同時に利用して正解データを自力で見つけだし、学習と測定とを同時に実施する。例えば、概念特定部20は、各単語リストから型(構造のパターン)を生成して関数fとし、型のリストからさらに型を生成して関数f(f)とする。そして、概念特定部20は、リストから型を抽出する関数を関数g(f)とする。
【0071】
例えば、Haskellにおいて、
図5中(A)に示すカルテシアン積の構造については、「prod=foldr(\as bs->[a:b|a<-as,b<-bs])[[]]」で示すことができる。また、Haskellにおいて、
図5中(B)に示すアナロジー型の関手の構造については、「class Functor (f :: * -> *) where fmap :: (a -> b) -> (f a -> f b)」および「instance Functor Maybe where fmap f (Just x) = Just (f x) fmap _ Nothing = Nothing」で示すことができる。また、Haskellにおいて、
図5中(C)に示すアナロジー型の自然変換の構造については、「nat :: (Functor f, Functor g) => f a -> g a」といった文章を、各関手について設定することで示すことができる。また、Haskellにおいて、
図5中(D)に示す双対アナロジー型の随伴関手の構造については、「class Adjunction f g where」、「leftAd :: (f a -> b) -> (a -> g b)」、「rightAd :: (a -> g b) -> (f a -> b)」、「-- Adjoint laws」、「-- 1. leftAd . rightAd = id」、および「-- 2. rightAd . leftAd = id」で示すことができる。また、Haskellにおいて、
図5中(E)に示すクライスリトリプルの構造については、「class Monad m where」、「(>>=) :: m a -> (a -> m b) -> m b」、「return :: a -> m a」、「(>>) :: m a -> m b -> m b」、「m >> n = m >>= \_ -> n」、「fail :: String -> m a」、および「fail = error」で示すことができる。そこで、概念特定部20は、上述したHaskellのスクリプトを用いて、入力された分野に属する単語群が有する構造、すなわちアナロジーを抽出し、抽出したアナロジーを有する他分野に属する単語群を抽出する。
【0072】
なお、情報提供装置10は、特定した構造と完全に一致する構造を有する単語群を特定する必要はない。すなわち、情報提供装置10は、特定した構造の完全マッチではなく、近似マッチを利用することで、より広い範囲の分野から類似した構造を抽出し、アイデア創発のための単語群を抽出してもよい。また、情報提供装置10は、他分野における類似構造の単語群の係り受け関係を用いて、ある分野の文の係り受けを修正した新たな文を生成することにより、その分野の新たな創作として抽出するなどの使い方をしてもよい。例えば、情報提供装置10は、「RNNを用いたセレンディピティ創発」という文章を「セレンディピティ創発を用いたRNN」に修正することで、新たな創作の抽出を行ってもよい。
【0073】
〔2−2.大偏差原理を用いた抽出処理を実現する構成例〕
図2に戻り、説明を続ける。類似度算出部21は、概念特定部20によって特定された単語群を基準単語とし、基準単語の分散表現と他の単語の分散表現との間のコサイン類似度を算出する。例えば、類似度算出部21は、分散表現空間データベース15に分散表現が含まれる各単語の分散表現を特定し、基準単語の分散表現とのコサイン類似度を算出する。
【0074】
分布推定部22は、基準単語以外の単語からサンプルとなる単語群を選択し、類似度算出部21が算出した基準単語との間のコサイン類似度の分布を確率分布として推定する。そして、出力候補抽出部23は、大偏差原理に基づいて、基準単語の分散表現と他の単語の分散表現のコサイン類似度の確率分布が他の単語の数を増やしたときに、分布形状が平均的な分布形状から外れていく挙動に基づいて、出力候補とする単語を抽出する。より具体的には、出力候補抽出部23は、基準単語の分散表現と他の単語の分散表現のコサイン類似度の確率分布が他の単語の数を増やしたときに、分布形状が平均的な分布形状から外れていく挙動を分析し、その挙動に基づいて、所定の分布形状を抽出し、抽出した分布形状に基づいて、対応する単語を出力候補として抽出する。例えば、出力候補抽出部23は、様々な単語群について、大偏差原理に基づき、確率分布が平均的な分布形状から外れていく挙動を分析する。そして、出力候補抽出部23は、平均的な分布形状から外れていく確率分布を推定した際に、所定の閾値以上の確率で含まれる単語を出力候補として選択する。
【0075】
より具体的には、出力候補抽出部23は、基準単語以外の単語からサンプルとなる単語群を選択し、ヴァラダンの補題を用いて、基準単語の分散表現とサンプルとなる単語の分散表現とのコサイン類似度が属する確率の確率測度のレート関数を算出する。そして、出力候補抽出部23は、算出したレート関数を用いて、分布形状が平均的な分布形状から外れていく挙動を分析する。
【0076】
例えば、
図7は、実施形態にかかる情報提供装置が出力候補とする単語群と基準単語との関係性を説明する図である。なお、
図7に示す例では、基準単語と他の単語とのコサイン類似度の分布の一例について記載した。例えば、利用者が同じアナロジーとして理解することができる概念の範囲と、利用者にセレンディピティを起こし得る概念の範囲とは、双対関係にあると考えられる。そこで、利用者の発言に含まれるアナロジーと同一または類似するアナロジーを有するとともに(すなわち、理解させやすい概念を有するとともに)、利用者にセレンディピティを生じさせうる概念を出力する場合には、
図7中(A)に示すように、利用者が同じアナロジーとして理解できる範囲のうち、
図7中(B)に示すようにセレンディピティを生じさせる範囲と重複する範囲に属する概念を提供すればよい。すなわち、情報提供装置10は、
図7中(C)に示す範囲に属する概念を生じさせうる単語群を出力すればよい。
【0077】
ここで、基準となる単語群のアナロジーと同一または類似するアナロジーであるが、セレンディピティを起こす程異なるわけでもないアナロジーを有する単語群は、
図7中(D)に示すように、基準となる単語群とのコサイン類似度が平均の範囲内に収まると考えられる。一方、基準となる単語群のアナロジーと同一または類似するアナロジーであって、セレンディピティを起こしえるアナロジーを有する単語群は、
図7中(E)に示すように、基準となる単語群とのコサイン類似度が平均の範囲外にずれると考えられる。
【0078】
そこで、出力候補抽出部23は、大偏差原理を用いて、基準となる単語群からのコサイン類似度が平均から外れている単語群を出力対象として抽出する。より具体的には、出力候補抽出部23は、大偏差原理を用いて、基準単語の分散表現と他の単語の分散表現のコサイン類似度の確率分布が、平均的な分布形状から外れていく挙動を分析し、分析結果に基づいて、出力候補とする単語を抽出する。
【0079】
例えば、
図8は、実施形態にかかる情報提供装置が大偏差原理を用いて特定する分布形状の一例を示す図である。例えば、出力候補抽出部23は、
図1中(A)に示すように、基準単語と他の単語との間のコサイン類似度の分布を確率分布として推定する。そして、出力候補抽出部23は、大偏差原理を用いて、
図8中(B)に示すように、各分布が生じる確率を特定する。例えば、
図8中(C)に示す確率は、
図8中(D)に示す分布が生じる確率であり、
図8中(E)に示す確率は、
図8中(F)に示す分布が生じる確率であり、
図8中(G)に示す確率は、
図8中(H)に示す分布が生じる確率である。
【0080】
ここで、セレンディピティを起こしえるアナロジーを有する単語群は、コサイン類似度が平均からずれていると予測されるが、このような単語群とのコサイン類似度を確率分布とした場合、
図8中(A)や(F)に示すような分布形状よりも、
図8中(H)に示すような形状を有すると予測される。すなわち、アナロジーを有する単語群がサンプルに含まれる際に推定される確率分布の形状が生じる確率は、平均以下となり、
図8中(B)に示す各分布が生じる確率において、平均から外れた領域に属すると予測される。
【0081】
そこで、出力候補抽出部23は、大偏差原理を用いて、基準単語の分散表現と他の単語の分散表現のコサイン類似度の確率分布が、サンプルサイズを増やしたときに近づく平均分布形状から外れていく挙動を分析し、その挙動に基づいて、所定の分布形状を抽出する。例えば、出力候補抽出部23は、生じる確率が低い分布形状を抽出する。ここで、抽出される分布形状を確率分布と見做した場合は、セレンディピティが生じやすい単語との確率が最も高くなっていると予測される。そこで、出力候補抽出部23は、抽出された分布形状を確率分布と見做した際に、ある閾値以上の確率で現れる単語を出力候補として抽出する。
【0082】
なお、情報提供装置10は、情報提供装置10の出力に対する評価等に応じて、大偏差原理を用いた処理におけるパラメータを調整してもよい。例えば、情報提供装置10は、抽出処理および学習処理の結果出力された文章から利用者が適切なアイデアを出せたか否かのフィードバックを用いて、大偏差原理に用いられる各種のパラメータを調整してもよい。
【0083】
〔2−3.学習処理の結果を用いた出力を実現する構成例〕
図2に戻り、説明を続ける。出力生成部24は、後述する収集部26およびRNN学習部27によって学習された学習器(エンコーダ)と復元器(デコーダ)とを用いて、出力候補抽出部23が抽出した単語群から、単語群に含まれる各単語の係り受けを取得する。そして、出力生成部24は、各単語の係り受けを考慮した文章を出力対象として生成する。より具体的には、出力生成部24は、モデルデータベース14から学習器および復元器を読出し、学習器に単語群を入力する。そして、出力生成部24は、復元器を用いて、学習器が取得した特徴から各単語と各単語の係り受けとを復元し、復元した単語と係り受けとから出力対象となる文章を生成する。
【0084】
出力部25は、出力生成部24が生成した文章を出力する。例えば、出力部25は、出力生成部24によって生成された文章を音声に変換し、出力装置31等から出力することで、利用者の発言に対する応答を実現する。
【0085】
〔2−4.学習処理を実現する構成例〕
収集部26は、学習データの収集を行い、学習データに含まれる単語群を抽出する。例えば、収集部26は、明細書や小説等の文章のデータを学習データとして収集し、文献データベース13に登録する。そして、収集部26は、文献データベース13に登録された文章から、単語群を抽出し、抽出した単語群をRNN学習部27に出力する。
【0086】
RNN学習部27は、学習器と復元器との学習を行う。すなわち、RNN学習部27は、収集部26によって抽出された単語群に含まれる各単語が文章中に出現する順番とともに単語群が有する特徴を学習する学習器を学習する。同時に、RNN学習部27は、単語群に含まれる各単語と、各単語が文章中に出現する順番とを文章中における各単語の係り受けとともに、学習器が学習した特徴から復元する復元器を学習する。
【0087】
例えば、
図9は、実施形態にかかる情報提供装置が学習する学習器と復元器との一例を示す図である。
図9に示すように、RNN学習部27は、学習器および復元器として、リカレントニューラルネットワークの学習を行う。例えば、RNN学習部27は、
図9中(A)に示す学習器に対し、
図9中(B)に示すように、単語群に含まれる単語X
1〜X
Tを、単語群の抽出元となる文章中に出現する順番で、学習器となるRNNのノードに入力し、各単語が文章中に出現する順番と単語群が有する特徴とを学習結果「c」として出力するように、ノード間の接続係数を設定する。そして、RNN学習部27は、学習器の出力を、
図9中(C)に示す出力ノードに伝達させる。
【0088】
また、RNN学習部27は、
図9中(D)に示す復元器に対し、出力ノードの出力を入力する。そして、RNN学習部27は、
図9中(E)に示すように、学習結果「c」から単語群に含まれる各単語を、単語群の抽出元となる文章中に出現する順番で、Y
1〜Y
Tとして復元するとともに、単語群の抽出元となる文章中の係り受けを復元するように、
図9中(F)に示すノード間の接続係数を設定する。すなわち、RNN学習部27は、単語群の抽出元となる文章を正解データとして、文章から抽出した単語群の特徴と、単語群の出現順序と、単語間の係り受けとの学習を行う。RNN学習部27は、このような学習器と復元器との学習を同時に実行する。この結果、RNN学習部27は、単語群から、単語群の係り受けを復元する学習器および復元器の組を生成することができる。
【0089】
なお、
図9中(A)および(D)に示す学習器および復元器は、
図9中(G)に示す学習器と等価である。
図9中(G)に示す波付きの「h」は、ノードの出力に対応し、「h」は、ノードへの入力に対応し、パラメータ「z」および「r」は、ノード間の接続係数に対応する。
【0090】
このような学習器と復元器との学習を行うことで、情報提供装置10は、抽出処理によって抽出された単語群から自然な文章を生成することができる。例えば、
図10は、実施形態にかかる情報提供装置による学習処理と学習処理の効果とを説明するための図である。例えば、情報提供装置10は、学習時において、学習器に対し、明細書等の文章から抜き出した名詞等の単語群を入力し、復元器が元の明細書の文章を復元するように学習を行う。この結果、学習器および復元器は、学習処理によって、明細書中における単語間の係り受けの学習を行うことができる。
【0091】
続いて、情報提供装置10は、抽出処理によって抽出された単語群の出力時においては、抽出された単語群を学習済みの学習器に入力する。この結果、復元器は、単語群から係り受けを考慮した文章を生成し、出力することができる。
【0092】
なお、情報提供装置10は、生成する文章のバリエーションを増やすために、出力用の構文木と、構文木の各節点(ノード)や葉(リーフ)に対応する修飾語とをあらかじめ保持し、学習器および復元器から生成した文章に対して、構文木にマッチする修飾語を追加することで、出力する文章のバリエーションを増やしてもよい。また、情報提供装置10は、任意の文章解析技術を用いて、入力した単語群から生成された生成文の尤度を算出し、算出した尤度が所定の閾値よりも低い場合に、単語を類似する他の単語へと置き換えることで、尤度がより高い文章に修正してもよい。
【0093】
〔3.情報提供装置が用いる数式の一例〕
次に、上述した抽出処理と学習処理とを実行する際に使用する数式の一例について説明する。以下の説明では、学習処理に用いられる数式の一例について説明し、その後、抽出処理に用いられる数式の一例について説明する。
【0094】
〔3−1.学習処理に用いられる数式の一例〕
例えば、時刻「t」における学習器の「j」番目のノードの状態を「h
j<t>」と記載すると、学習器における各ノードの状態は、以下の式(1)で表すことができる。ここで、式(1)中の波付き「h
j<t>」は、式(2)で表すことができ、「z
j」および「r
j」は、以下の式(3)および式(4)で表される。ここで、「x
t」は、「t」番目の入力を示す。また、式(2)〜式(4)の「W」および「U」は、学習器の接続係数を示すパラメータである。
【0099】
すると、学習器による学習結果は、式(5)で示すことができる。
【0101】
ここで、学習器の出力は、復元器の各ノードへと伝達される。このような復元器のノードへの入力は、式(6)で示すことができる。
【0103】
すると、時刻「t」における復元器の「j」番目のノードの状態を「h´
j<t>」とすると、「h´
j<t>」は、以下の式(7)で示すことができる。ここで、式(7)中の波付き「h´
j<t>」は、以下の式(8)で表すことができ、「z´
j」および「r´
j」は、以下の式(9)および式(10)で表される。また、式(8)〜式(10)の「W´」および「U´」は、復元器の接続係数を示すパラメータである。
【0108】
例えば、情報提供装置10は、学習器が単語群の特徴および順番を学習し、復元器が学習器の出力から係り受けとともに各単語を順番通りに出力することができるよう、式(1)〜式(10)における「W」、「U」、「W´」および「U´」の値を学習する。
【0109】
〔3−2.抽出処理に用いられる数式の一例〕
次に、抽出処理において、大偏差原理に基づいて、セレンディピティを生じさせうる単語を抽出する処理に用いる数式の一例について説明する。例えば、分散表現空間を学習する際に用いた文章中の全単語数を「T」、周辺の単語の数を「c」、コーパス全体の単語数をWとおくと、W2V(Word 2 Vector)における確率モデルは、以下の式(11)で示される。
【0111】
また、確率測度のレート関数は、以下の式(12)で示される。
【0113】
ここで、式(12)に示す確率速度のレート関数を、ヴァラダンの補題より求める。例えば、各単語の識別子を「x」、式(12)に示す確率測度「p
k」を「φ(x)」、レート関数を「I(x)」と置くと、レート関数「I(x)」は、以下の式(13)を満たすこととなる。
【0115】
例えば、情報提供装置10は、式(13)を用いて、レート関数を算出し、算出したレート関数に基づいて、確率分布の挙動を推定する。そして、情報提供装置10は、推定した挙動に基づいて、セレンディピティを生じさせうる単語の確率測度が所定の閾値よりも大きくなるような分布形状を特定し、特定した分布形状に基づいて、セレンディピティを生じさせうる単語を抽出する。
【0116】
〔4.情報提供装置10が実行する処理の流れ〕
次に、
図11〜
図13を用いて、情報提供装置10が実行する処理の流れについて説明する。まず、
図11を用いて、情報提供装置10が実行する学習処理の流れの一例について説明する。
図11は、実施形態にかかる情報提供装置が実行する学習処理の流れを説明するフローチャートである。
【0117】
まず、情報提供装置10は、明細書等の文章を収集する(ステップS101)。そして、情報提供装置10は、収集した文章から単語群を抽出する(ステップS102)。また、情報提供装置10は、抽出した単語群を、出現順に学習器に入力し、特徴を抽出させるとともに(ステップS103)、復元器を用いて、抽出した特徴から、係り受けとともに単語群を復元する(ステップS104)。そして、情報提供装置10は、正解データ、すなわち、単語群の抽出元となる文章と復元器の出力との差が所定の閾値以内であるか否かを判定し(ステップS105)、閾値以内である場合は(ステップS105:Yes)、処理を終了する。一方、情報提供装置10は、正解データと復元器の出力との差が所定の閾値を超える場合は(ステップS105:No)、正解データに近づくように、学習器と復元器との学習を行い(ステップS106)、ステップS102を実行する。
【0118】
次に、
図12を用いて、圏論の構造から出力候補となる単語群を抽出する処理の流れの一例について説明する。
図12は、実施形態にかかる情報提供装置が圏論の構造から出力候補となる単語群を抽出する処理の流れを説明するフローチャートである。例えば、情報提供装置10は、利用者の発言等、入力された情報が属する分野を特定する(ステップS201)、続いて、情報提供装置10は、特定した分野に属する単語の動詞を矢印に置き換えることで名詞間の関係を示す矢印構造のパターンを抽出する(ステップS202)。すなわち、情報提供装置10は、特定した分野における圏論の構造を抽出する。また、情報提供装置10は、矢印構造のパターンに基づいて、入力された文章を抽象化した概念を特定する(ステップS203)。そして、情報提供装置10は、特定した概念を示す構造に基づいて、出力候補となる単語群を抽出し(ステップS204)、処理を終了する。
【0119】
次に、
図13を用いて、大偏差原理に基づいて、セレンディピティを生じさせうる単語群を抽出する処理の流れの一例について説明する。
図13は、実施形態にかかる情報提供装置が大偏差原理に基づいて単語群を抽出する処理の流れを説明するフローチャートである。
【0120】
例えば、情報提供装置10は、単語群に含まれる各単語と他の単語とのコサイン類似度を算出する(ステップS301)。続いて、情報提供装置10は、コサイン類似度の分布を確率分布として推定する(ステップS302)。そして、情報提供装置10は、大偏差原理に基づいて、サンプルサイズを増やした際における確率分布が平均的な分布形状から外れていく挙動を分析する(ステップS303)。また、情報提供装置10は、分析結果に基づいて、所定の分布形状となる確率分布を特定し(ステップS304)、特定した確率分布に基づいて、出力対象となる単語群を抽出する(ステップS305)。そして、情報提供装置10は、学習器と復元器とを用いて、単語群から係り受けを復元し、復元した係り受けを含む文章を出力し(ステップS306)、処理を終了する。
【0121】
〔5.変形例〕
上記では、
図1に例示した態様を用いながら、情報提供装置10が実行する処理の一例について説明した。しかしながら、実施形態は、これに限定されるものではない。以下、情報提供装置10が実行する抽出処理のバリエーションについて説明する。
【0122】
〔5−1.処理の実行形態について〕
上述した例では、情報提供装置10は、セレンディピティを起こさせる可能性を高めるため、入力された文章に含まれる単語群が有する圏論の構造に基づいて、同様の構造を有する他分野に属する単語群を抽出する第1の抽出処理とともに、大偏差原理に基づいて、抽出した単語群から、さらにセレンディピティを起こさせる可能性が高い単語群を抽出する第2の抽出処理を行った。また、情報提供装置10は、学習器および復元器の学習処理を実行し、学習器および復元器を用いて、第1の抽出処理および第2の抽出処理により抽出された単語群から係り受けを含む文章を生成した。しかしながら、実施形態は、これに限定されるものではない。
【0123】
すなわち、情報提供装置10は、第1の抽出処理または第2の抽出処理のいずれか一方のみを実行してもよい。また、情報提供装置10は、学習処理を行わずに、各抽出処理の結果抽出された単語群を、そのまま出力してもよい。すなわち、情報提供装置10は、各抽出処理および学習処理を、それぞれ個別に実現してもよい。
【0124】
〔5−2.その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【0125】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【0126】
また、上記してきた各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【0127】
〔5−3.ハードウェア構成について〕
また、上述してきた実施形態に係る情報提供装置10は、例えば
図14に示すような構成のコンピュータ1000によって実現される。
図14は、ハードウェア構成の一例を示す図である。コンピュータ1000は、出力装置1010、入力装置1020と接続され、演算装置1030、一次記憶装置1040、二次記憶装置1050、出力IF(Interface)1060、入力IF1070、ネットワークIF1080がバス1090により接続された形態を有する。
【0128】
演算装置1030は、一次記憶装置1040や二次記憶装置1050に格納されたプログラムや入力装置1020から読み出したプログラム等に基づいて動作し、各種の処理を実行する。一次記憶装置1040は、RAM等、演算装置1030が各種の演算に用いるデータを一時的に記憶するメモリ装置である。また、二次記憶装置1050は、演算装置1030が各種の演算に用いるデータや、各種のデータベースが登録される記憶装置であり、ROM(Read Only Memory)、HDD、フラッシュメモリ等により実現される。
【0129】
出力IF1060は、モニタやプリンタといった各種の情報を出力する出力装置1010に対し、出力対象となる情報を送信するためのインタフェースであり、例えば、USB(Universal Serial Bus)やDVI(Digital Visual Interface)、HDMI(登録商標)(High Definition Multimedia Interface)といった規格のコネクタにより実現される。また、入力IF1070は、マウス、キーボード、およびスキャナ等といった各種の入力装置1020から情報を受信するためのインタフェースであり、例えば、USB等により実現される。
【0130】
なお、入力装置1020は、例えば、CD(Compact Disc)、DVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等から情報を読み出す装置であってもよい。また、入力装置1020は、USBメモリ等の外付け記憶媒体であってもよい。
【0131】
ネットワークIF1080は、ネットワークNを介して他の機器からデータを受信して演算装置1030へ送り、また、ネットワークNを介して演算装置1030が生成したデータを他の機器へ送信する。
【0132】
演算装置1030は、出力IF1060や入力IF1070を介して、出力装置1010や入力装置1020の制御を行う。例えば、演算装置1030は、入力装置1020や二次記憶装置1050からプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行する。
【0133】
例えば、コンピュータ1000が情報提供装置10として機能する場合、コンピュータ1000の演算装置1030は、一次記憶装置1040上にロードされたプログラムを実行することにより、制御部16の機能を実現する。
【0134】
〔6.効果〕
上述したように、情報提供装置10は、所定の文章に含まれる単語群を抽出する。そして、情報提供装置10は、単語群に含まれる各単語が文章中に出現する順番とともに単語群が有する特徴を学習する学習器と、単語群に含まれる各単語と、各単語が文章中に出現する順番とを文章中における各単語の係り受けとともに特徴から復元する復元器とを学習する。この結果、情報提供装置10は、単語群の係り受けを学習することができるので、任意の単語群から、その単語群を自然な文章にすることができる係り受けを生成することができる。このため、情報提供装置10は、自然な文章を出力することができる。
【0135】
また、情報提供装置10は、学習器および復元器として、リカレントニューラルネットワークの学習を行う。また、情報提供装置10は、単語群に含まれる各単語を文章中に出現する順番で、学習器となるリカレントニューラルネットワークに入力し、各単語が文章中に出現する順番とともに単語群が有する特徴を学習させる。また、情報提供装置10は、学習器が学習した特徴を復元器となるリカレントニューラルネットワークに入力し、特徴から単語群に含まれる各単語を文章中に出現する順番で抽出するとともに、文章中における各単語の係り受けを抽出するよう学習させる。このため、情報提供装置10は、任意の単語群から、その単語群を自然な文章にすることができる係り受けを復元可能な学習器と復元器とを学習することができる。
【0136】
また、情報提供装置10は、学習が行われた学習器および復元器を用いて、出力対象となる単語群が有する特徴を取得し、特徴から出力対象となる単語群を各単語の係り受けとともに復元させ、復元結果に基づく文章を出力する。このため、情報提供装置10は、例えば、利用者との会話において応答として選択された複数の単語を、利用者が理解しやすい形、すなわち、自然な文章を出力することができる。
【0137】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【0138】
また、上記してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、制御部は、制御手段や制御回路に読み替えることができる。