以下に、本願にかかる情報提供装置、情報提供方法および情報提供プログラムを実施するための形態(以下、「実施形態」と記載する。)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願にかかる情報提供装置、情報提供方法および情報提供プログラムが限定されるものではない。また、以下の実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
〔1.情報提供装置の一例〕
まず、図1を用いて、情報提供装置10が実行する処理の一例について説明する。図1は、実施形態にかかる情報提供装置の一例を示す図である。例えば、図1に示す例では、情報提供装置10は、複数の利用者がブレインストーミング等の会議を行っている際に、利用者の発言を入力情報として取得し、取得した入力情報に基づいて、通常の思考では浮かばないような発言を生成し、生成した発言を音声に変換してロボット等に出力させることで、利用者の思考を支援する処理の一例について記載した。
図1に示した情報提供装置10は、サーバ装置等の情報処理装置により実現される。なお、情報提供装置10は、単一の情報処理装置に実現されてもよく、例えば、クラウドネットワーク上に存在する複数の情報処理装置が協調して実現されてもよい。このような、情報提供装置10は、利用者の発言をテキストデータに変換し、テキストデータを自然言語処理により解析する。そして、情報提供装置10は、解析結果に基づいて、会議や利用者の思考を支援する発言を生成し、生成した発言を出力する。
ここで、従来技術では、入力されたテキストを構成する複数次元の単語ベクトルで示す分散表現を用いて、入力されたテキストと類似するテキストや、入力されたテキストに続くテキストを類推する。しかしながら、従来技術では、入力されたテキストと分散表現が類似するテキスト、すなわち、利用者が予測しうるテキストを出力するに過ぎない。このため、従来技術では、利用者が思いもしなかった情報や、利用者に新規なひらめきを与えるような情報、すなわち、利用者のセレンディピティ(ひらめき、気づき、驚き)を起こし得る情報を提供することができなかった。また、例えば、単純に入力されたテキストとは分散表現が類似しないテキストを出力した場合には、利用者の思考とは関係がないテキストを出力することとなり、利用者の思考を阻害する場合がある。
そこで、情報提供装置10は、以下の処理を実行する。まず、情報処理装置10は、利用者の発言等を入力情報として受付ける。また、情報提供装置10は、入力情報が属する分野を特定する。また、情報提供装置10は、特定した分野に属する情報から所定の関係性を有する複数の情報を特定する。そして、情報提供装置10は、特定した複数の情報により生じる概念と同様の概念を有する情報を、特定した分野とは異なる分野に属する情報から抽出する。ここで、情報提供装置10は、所定の関連性を有する複数の情報の分散表現を用いて、複数の情報により生じる属性との類似度が所定の条件を満たす属性を有する情報を、入力情報が属する分野との類似度が所定の閾値以下となる分野に属する情報から抽出する。例えば、情報提供装置10は、入力情報が属する分野の文献から、所定の関係性を有する複数の単語を特定し、特定した複数の単語により生じる属性と同様の属性を有する単語を、特定した分野との類似度が所定の閾値以下となる分野に属する文献から抽出する。そして、情報提供装置10は、抽出した情報を出力する。
ここで、複数の情報により生じる概念とは、例えば、各情報が持つ属性である。より具体的な例を説明すると、情報として単語を採用する場合、各単語が何語であるか、各単語にどのような意味があるか等といった属性の組を、複数の単語が持つ属性、すなわち単語の組の概念とする。以下の説明では、情報提供装置10は、情報として取り扱われる単語、生体情報、コンテンツ等が有する属性を、その情報が有する「概念」と記載し、複数の単語、複数の生体情報、複数のコンテンツ等が有する属性を、その複数の情報が有する「概念」と記載する。
すなわち、情報提供装置10は、入力情報が属するカテゴリにおいて所定の関係性を有する情報によって形成される概念を特定し、入力情報とは異なるカテゴリに属する情報から、共通する概念を形成しうる情報を抽出する。かかる処理の結果、情報提供装置10は、入力情報と暗黙的なつながりを保持しつつ、明示的には不連続な関係性を有する情報、すなわち、カテゴリが異なる結果、一見すると関係が無さそうに見える情報を提供することができる。
ここで入力情報と暗黙的なつながりを保持しつつ、明示的には不連続な関係性を有する情報、すなわち、カテゴリが異なる結果、一見すると関係が無さそうに見える情報は、利用者が思いもしなかった情報や、利用者に新規なひらめきを与えるような情報となりえる。
例えば、情報提供装置10は、入力情報が属する分野の情報から、その分野における発明や発想のポイントを示す複数の情報を特定し、特定した情報が示す概念、すなわち、発明や発想のポイントを示す概念を特定する。そして、情報提供装置10は、特定した概念と類似する情報を他分野の情報から抽出する。このような処理によって抽出された情報は、入力情報が属する分野とは異なる分野において、発明や発想のポイントを示す概念を満たす情報、すなわち、他分野における発明や発想のポイントを利用者に示唆し、利用者のセレンディピティを起こし得る情報になりえる。この結果、情報提供装置10は、利用者の創作を援助することができる。
例えば、図2は、発明発掘手法の1つである等価変換理論を示す図である。例えば、図2中(A)に示すように、元となる具体的事象(例えば、元となる発明)であるAoは、図2中(B)に示すように、開発目的に合った観点viにより成り立っている。また、Aoには、図2中(C)に示すように、Aoが属する技術的な属性など、Aoが有する特殊な条件Σaが含まれている。このため、図2中(D)に示すように、AoからΣaを除いた概念cεは、Aoの核心をなす概念となりうる。そして、図2中(E)に示すように、概念cεに、Σaとは異なる特殊な条件Σbを考慮した場合には、図2中(F)に示すように、概念上、新たな発明Bτを導出できると考えられる。
そこで、情報提供装置10は、後述する抽出処理により、入力情報が属する分野におけるアイデアの概念、すなわちAoからAoの核心をなす概念cεを抽出し、抽出した概念cεを他分野の条件Σbにあてはめることで、新たなアイデアBτを導出できるような情報を利用者に提供する。
以下、図1の例を用いて、情報提供装置10が実行する具体的な抽出処理の一例を説明する。まず、情報提供装置10は、会議における利用者の発言Aや発言Bを入力として受付ける(ステップS1)。例えば、情報提供装置10は、利用者が発声した発言Aをテキストデータに変換し、変換後のテキストデータを入力情報として取得する。
かかる場合、情報提供装置10は、入力情報が属する分野とは異なる分野に属する単語であって、入力情報が属する分野において所定の関係性を有する複数の単語が形成する概念と同様の概念を示す単語を抽出する抽出処理を実行する(ステップS2)。以下、情報提供装置10が実行する生成処理の流れをステップS3〜ステップS8に分けて説明する。
まず、情報提供装置10は、入力情報が属する分野を特定する(ステップS3)。例えば、情報提供装置10は、利用者の発言のテキストデータを解析し、テキストデータに含まれる単語がどのような分野において使用されている単語であるかを特定する。例えば、情報提供装置10は、例えば、「眼鏡型」、「腕時計型」、「表示」、「スマートデバイス」等といった単語が含まれる場合は、入力情報が属する分野を「ウェアラブルデバイス」とする。なお、情報提供装置10は、例えば、入力情報に含まれるであろう単語と、その単語が含まれる入力情報が属する分野とを予め対応付けて記憶し、入力情報に含まれる単語と対応付けられた分野を、入力情報が属する分野として特定してもよく、例えば、ウェブ上の検索サービス等を用いて、入力情報に含まれる単語と関連する分野を検索し、検索結果として得られる分野を入力情報が属する分野としてもよい。
続いて、情報提供装置10は、特定した分野における文献データから、所定の関係性を有する複数の単語を含む単語組を抽出する(ステップS4)。例えば、情報提供装置10は、公開特許公報や特許公報等、各種の技術について記載された文献データベースから、特定した分野の文献データを取得する。続いて、情報提供装置10は、取得した文献データを形態素解析を行い、文献データ内から所定の順序で出現する複数の単語組を抽出する。より具体的には、情報提供装置10は、発想や発明の特徴を説明する際に用いられる構造を有する文章を特定し、特定した文章中に含まれる単語組を抽出する。
具体例を説明すると、例えば、発想や発明の特徴、すなわちアイデアの特徴を説明しているであろう文章は、処理の対象を示す名詞、名詞が示す対象の状態を示す状態表現語若しくは副詞句、および処理の内容を示す動詞とを含むと予測される。また、このような文章は、助詞などの単語間に存在しうる品詞を中括弧で囲むと、「(名詞){を}(状態表現語、副詞句){で、によって、にして}(動詞){する、できる}」といった構造を有すると予測される。
そこで、情報提供装置10は、特定した分野の文献データから上述した構造を有する文章を抽出し、抽出した文章に含まれる3つの単語、すなわち、名詞、状態表現語若しくは副詞句、および動詞を、発想を示す単語組として抽出する。このようにして抽出された単語組は、所定の格助詞を追加するのみで、発明や発想などのアイデアを示す文章を再現することができるため、単語組の抽出元となる文章が示す概念、すなわち、発明や発想等のアイデアの概念を示すことができる。
ここで、ある分野に属する文献データには、その分野において当たり前に用いられている概念を示す単語組が多く含まれていると予測される。例えば、プログラム分野の文献データには、「プログラム」を「作成する」ことにより任意のアイデアを「実現」するといった概念の文章が多く含まれると予測される。このため、プログラム分野の文献データから抽出された単語組のうち、「プログラム、作成、実現」等といった単語を含む単語組には、利用者のセレンディピティを起こし得る概念が含まれているとは言えない。
そこで、情報提供装置10は、抽出した単語組からセレンディピティを起こし得る単語組を選択する(ステップS5)。すなわち、情報提供装置10は、単語組の中から、利用者がより発想しづらい概念であって、提示された際に理解しやすい概念を示す単語組を選択する。具体的には、情報提供装置10は、他に抽出された単語組のうち、同様の概念を示す単語組の数や単語組に含まれる単語間の関係性に基づいて、セレンディピティを起こし得る単語組を選択する。
例えば、情報提供装置10は、利用者がより発想しづらい概念を示す単語組を選択するため、同様の概念を示す単語組の数が所定の数以下である単語組を選択する。また、情報提供装置10は、提示された際に理解しやすい概念を示す単語組を選択するため、選択した単語組の中から、単語組に含まれる単語同士が関連語である単語組や、単語組に含まれる単語から関連語を辿った場合に、同じ単語組に含まれる他の単語にたどり着くまで辿った関連語の数が所定の閾値以下となる単語組を選択する。
ここで、セレンディピティを起こし得る単語組であっても、複数の文献において横断的に使用されている単語組は、利用者が予測しやすい単語組であるため、セレンディピティを起こす確率が低い。そこで、情報提供装置10は、選択した単語組のうち、横断的に用いられている単語組を除去する(ステップS6)。
例えば、情報提供装置10は、選択した単語組が各文献に含まれる頻度である文章頻度(DF:Document Frequency)を算出する。より具体的な例を説明すると、情報提供装置10は、単語組ごとに、単語組が出現する文献の数を全文献の数で除算した値を算出する。そして、情報提供装置10は、算出した値が所定の閾値以下となる単語組を選択する。なお、文章頻度を算出する際に用いる文献は、ステップS3にて特定した分野の文献に限定してもよく、限定しなくともよい。
ここで、文章頻度が所定の閾値よりも低い値にした場合には、選択された単語組の数が少なくなる。そこで、情報提供装置10は、名詞が示す物体に対して行われる各種の操作を示す動詞(以下、操作的動詞と記載する。)を用いて、選択された単語組を拡張する(ステップS7)。すなさち、情報提供装置10は、所定の関連性を有する複数の情報を含む組に対し、所定の操作を示す複数の情報を組み合わせた新たな組を生成することで、所定の関連性を有する複数の情報を含む組が有する概念を拡張する。
例えば、情報提供装置10は、コバーク&バクナールの操作的動詞を予め記憶する。ここで、コバーク&バクナールの操作的動詞とは、例えば、「増やす」、「分割する」、「除去する」、「和らげる」、「逆にする」、「切り離す」、「入れ換える」、「一体化する」、「ねじ曲げる」、「回転させる」、「平らに伸ばす」、「絞る」、「補足する」、「水に沈める」、「凍結させる」、「柔らかくする」、「ふくらませる」、「回り道をする」、「付け加える」、「控除する」、「軽くする」、「繰り返す」、「厚くする」、「一杯に伸ばす」、「押し出す」、「はねのける」、「防衛する」、「引き離す」、「統合する」、「象徴する」、「抽象する」、「切断する」といった動詞である。
続いて、情報提供装置10は、選択された単語組に含まれる動詞を、上述した操作的動詞のそれぞれに置き換えた単語組を新たに生成する。例えば、情報提供装置10は、「眼鏡、着用、視聴」といった単語組から、「眼鏡、着用、増やす」、「眼鏡、着用、分割する」等といった単語組を新たに生成する。この結果、情報提供装置10は、利用者に対してセレンディピティを起こす可能性が高い概念のバリエーションを生成することができる。
続いて、情報提供装置10は、単語組のそれぞれについて、様々な分野の単語をベクトルで示した空間上、すなわち、分散表現された単語を含む分散表現空間上に単語組を示すベクトルをマッピングする。そして、情報提供装置10は、単語組が属する分野とは異なる分野に属する単語であって、単語組が示す概念と同様の概念を示す単語を分散表現空間上から抽出する(ステップS8)。つまり、情報提供装置10は、所定の関係性を有する複数の情報により生じる属性と同様の属性を有する情報を、所定の関係性を有する複数の情報を距離空間にマッピングし、距離が一定範囲内の情報群に、距離が一定範囲外の情報を加えることで、新たな情報を生成する。
例えば、情報提供装置10は、W2V(word2vec)を用いて、様々な分野に属する単語の分散表現を含む分散表現空間を予め記憶する。かかる分散表現空間においては、ステップS3にて特定した分野に属する文献に含まれる単語の分散表現も含まれる。続いて、情報提供装置10は、W2Vを用いて、単語組に含まれる各単語を分散表現に変換し、各単語の分散表現の和を算出する。すなわち、情報提供装置10は、単語組に含まれる各単語を示すベクトルの和を算出する。
ここで、分散表現空間上において、単語組に含まれる各単語を示すベクトルの和(以下、単語組のベクトルと記載する。)が示す向きは、単語組が示す概念を示唆していると考えられる。このため、単語組のベクトルと向きが類似するベクトルが示す単語は、単語組が示す概念と類似する概念を有すると考えられる。しかしながら、単語組が示す概念と類似する概念を有する単語であっても、単語組が属する分野と同じ分野の単語は、利用者が予測しうる単語であり、セレンディピティを起こす可能性が低い。
そこで、情報提供装置10は、単語組が示す概念と類似する概念を有する単語であって、単語組が属する分野とは異なる分野の文献に含まれる単語を抽出する。より具体的には、情報提供装置10は、単語組のベクトルと向きが類似するベクトルであって、分散表現空間上において単語組のベクトルとは距離が離れたベクトルが示す単語、すなわち、単語組が示す概念と類似する概念を示す単語であって、単語組とは異なる分野に属する単語を抽出する。
例えば、2つのベクトルの向きがそろうにつれて、かかる2つのベクトルのコサイン距離の値は大きくなる。また、ある合成ベクトルと他のベクトルとのコサイン距離が離れるにつれて、合成ベクトルを構成する各単語ベクトルと、他のベクトルとのコサイン距離の値は小さくなる。そこで、情報提供装置10は、単語組のベクトルと、分散表現空間上の各ベクトルとのコサイン距離をそれぞれ算出する。また、情報提供装置10は、単語組に含まれる各単語のベクトルと、分散表現空間上の各ベクトルとのコサイン距離をそれぞれ算出する。
そして、情報提供装置10は、単語組のベクトルとのコサイン距離の値が所定の閾値よりも大きく、かつ、単語組に含まれる各単語のベクトルとのコサイン距離の和が所定の閾値よりも小さいベクトルを抽出し、抽出したベクトルが示す単語を特定する。すなわち、情報提供装置10は、単語組が示す概念と類似する概念を有する単語であって、単語組が属する分野とは異なる分野の単語を抽出する。
そして、情報提供装置10は、抽出した単語を提案として出力する(ステップS9)。例えば、情報提供装置10は、単語組「グラフ、一括、付け加える」について、ステップS8に示す処理により、単語「回転」を抽出していた場合、「回転させてはどう?」等というように、抽出した単語を含み、かつ、抽出した単語が示す概念を提案するような文章を生成し、生成した文章を発言Cとしてロボット等に読み出させることで、利用者に提案を行う。
このような提案が行われた場合、利用者は、提案された単語の概念に基づいて、あらたなひらめきを生じさせる可能性が高い。このため、情報提供装置10は、利用者のセレンディピティを起こさせることができる。
〔2.情報提供装置が提供する概念のバリエーション〕
ここで、図1に示す例では、利用者の発言に含まれる単語から、利用者にセレンディピティを生じさせるような概念を示す単語を提案する処理について記載した。例えば、図3は、実施形態にかかる情報提供装置の入力と出力のバリエーションの第1の例を説明する図である。例えば、図3中(A)に示すように、情報提供装置10は、文献として、公開公報等の特許明細書に含まれる単語をW2Vにより分散表現空間にマッピングすることで、古い技術や異分野技術の共通アナロジーを含む分散表現空間を生成する。
続いて、情報提供装置10は、図3中(B)に示すように、入力情報から、サービスや技術分野を特定する。そして、情報提供装置10は、図3中(C)に示すように上述した抽出処理を実行することで、特定した分野とは異なる分野のアナロジーのうち、特定した分野におけるアナロジーが有する概念と近い概念を有するアナロジーを抽出する。この結果、情報提供装置10は、図3中(D)に示すように、新たなアイデアのヒントを出力できる。
このように出力されたヒントは、入力情報が属する分野におけるアイデアが有する概念と類似する概念であって、異なる分野における概念を利用者に想起させることができると予測される。このため、情報提供装置10は、図3中(E)に示すように、古い技術の発想を新しい環境に展開したアイデアや、図3中(F)に示すように、異分野の技術を活用した新たな技術の創出を助けることができる。
しかしながら、実施形態は、これに限定されるものではない。例えば、情報提供装置10は、単語に代えて、ビジネスモデルやビジネスの分野を入力とし、様々な業種におけるビジネスモデルの内容や契約書の内容を分散表現に置き換えた分散表現空間を用いることで、新たなビジネスモデルを創出するためのセレンディピティを利用者に起こさせるようなヒントとなる情報を出力してもよい。
例えば、図4は、実施形態にかかる情報提供装置の入力と出力のバリエーションの第2の例を説明する図である。例えば、図4中(A)に示すように、情報提供装置10は、文献として、過去のビジネスが有する特徴をW2Vにより分散表現空間にマッピングすることで、古いビジネスや異分野技術の共通アナロジーを含む分散表現空間を生成する。
続いて、情報提供装置10は、図4中(B)に示すように、入力情報から、サービスやビジネスが属する業種を特定する。そして、情報提供装置10は、特定した分野のサービスやビジネスが有する特徴を抽出し、抽出した複数の特徴を分散表現に変換する。また、情報提供装置10は、分散表現に変換した特徴の和と類似する特徴を有するビジネスの特徴を他分野のビジネスから抽出することで、図4中(C)に示すように、特定した業種とは異なる業種のアナロジーのうち、特定した業種におけるアナロジーが有する概念と近い概念を有するアナロジーを抽出する。この結果、情報提供装置10は、図4中(D)に示すように、新たなビジネスのヒントを出力できる。
このように出力されたヒントは、入力情報が属する業種におけるビジネスの概念と類似する概念であって、異なる業種における概念を利用者に想起させることができると予測される。このため、情報提供装置10は、図4中(E)に示すように、古いビジネスの発想を新しい環境に展開したビジネスや、図4中(F)に示すように、異業種のビジネスモデルを活用した新たなビジネスモデルの創出を助けることができる。
また、例えば、情報提供装置10は、単語に代えて、音楽、画像、広告等の任意のコンテンツを入力とし、コンテンツの分散表現空間を用いることで、新たなコンテンツを創出するためのセレンディピティを利用者に起こさせるようなコンテンツを出力してもよい。
例えば、図5は、実施形態にかかる情報提供装置の入力と出力のバリエーションの第3の例を説明する図である。例えば、図5中(A)に示すように、情報提供装置10は、文献に代えて、過去のコンテンツが有する特徴を分散表現空間にマッピングすることで、古いコンテンツや異分野のコンテンツの共通アナロジーを含む分散表現空間を生成する。
続いて、情報提供装置10は、図5中(B)に示すように、音声や画像等のコンテンツを入力情報として受付けると、コンテンツが属する分野を特定する。また、情報提供装置10は、特定した分野のコンテンツが有する複数の特徴を抽出し、抽出した複数の特徴を分散表現に変換する。また、情報提供装置10は、分散表現に変換した特徴の和と類似するコンテンツを他分野のコンテンツから抽出することで、図5中(C)に示すように、特定した分野とは異なる分野のコンテンツが有するアナロジーのうち、特定した分野におけるコンテンツのアナロジーが有する概念と近い概念を有するアナロジーを抽出する。この結果、情報提供装置10は、図5中(D)に示すように、新たなコンテンツのヒントを出力できる。
このように出力されたヒントは、入力情報が属する分野のコンテンツが有する概念と類似する概念であって、異なる分野のコンテンツの概念を利用者に想起させることができると予測される。このため、情報提供装置10は、図5中(E)に示すように、古いコンテンツの発想を新しい環境に展開したコンテンツや、図5中(F)に示すように、異分野のコンテンツを活用した新たなコンテンツの創出を助けることができる。また、情報提供装置10は、図5中(G)に示すように、例えば、出力が音であった場合は、例えば、作曲の元となるフレーズの作成を助けることができる。
また、例えば、情報提供装置10は、単語に代えて、利用者から取得した五感などの生体情報を入力とし、各種生体情報を分散表現した分散表現空間を用いることで、セレンディピティを利用者に起こさせるようなヒントとなる情報を出力してもよい。
例えば、図6は、実施形態にかかる情報提供装置の入力と出力のバリエーションの第4の例を説明する図である。例えば、図6中(A)に示すように、情報提供装置10は、文献にかえて、過去に取得された生体情報が有する特徴を分散表現空間にマッピングすることで、古い生体情報や異種別の生体情報が有する共通アナロジー(例えば、パターン)を含む分散表現空間を生成する。
続いて、情報提供装置10は、図6中(B)に示すように、入力情報から、利用者の生体情報の種別を特定する。また、情報提供装置10は、特定した種別の複数の生体情報が有する特徴を抽出し、抽出した複数の特徴を分散表現に変換する。また、情報提供装置10は、分散表現に変換した特徴の和と類似する特徴を有する生体情報を他種別の生体情報から抽出することで、図6中(C)に示すように、特定した種別とは異なる種別の生体情報が有するアナロジーのうち、特定した種別の生体情報のアナロジーが有する概念と近い概念を有するアナロジーを抽出する。この結果、情報提供装置10は、図6中(D)に示すように、新たな生体情報を惹起させるためのヒントを出力できる。
このように出力されたヒントは、図6中(F)に示すように、例えば、生体情報の元となる利用者にとって心地よい感覚の特定に用いることができる。例えば、情報提供装置10は、利用者から取得した生体情報が好む味覚であった場合に、利用者が好む色彩や音程等を出力することができる。
なお、上述した処理を実行するためには、単語以外のコンテンツを分散表現空間上にマッピングする必要がある。そこで、情報提供装置10は、例えば、ニューラルネットワークやディープラーニング等の手法を用いて、契約書やビジネス書籍、各種のコンテンツ、生体情報が有する特徴を抽出し、抽出した特徴を示すベクトルを分散表現空間上にマッピングすればよい。すなわち、情報提供装置10は、特徴を分散表現空間上にマッピングすることができる情報であって、複数の種別に分類することができる情報であれば、任意の情報について上述した抽出処理を適用することができる。
〔3.情報提供装置の構成〕
次に、図7を用いて、図1に示した抽出処理を実行する情報提供装置10の構成について説明する。なお、以下の説明では、複数の文献に含まれる単語を分散表現空間上にマッピングし、利用者の発言が属する技術の分野とは異なる分野の単語であって、利用者の発言が属する分野におけるアイデアの概念と類似する概念を有する単語をヒントとして出力する情報提供装置10の一例について説明する。
図7は、実施形態にかかる情報提供装置が有する機能構成の一例を示す図である。図7に示すように、情報提供装置10は、入力装置30および出力装置31と接続されている。また、情報提供装置10は、通信部11、記憶部12、および制御部16を有する。
通信部11は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部11は、マイクやキーボード等の入力装置30と、モニタやプリンタ、音声を発声することができるロボット等の出力装置31と接続され、各種情報の送受信を行う。
記憶部12は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。また、記憶部12は、文献データベース13、分散表現空間データベース14、拡張単語データベース15を有する。
文献データベース13には、各種分野に属する文献が登録されている。例えば、文献データベース13には、公開特許公報、公表特許公報、特許公報、論文等、過去になされたアイデアの概念を含む文献が登録されている。
分散表現空間データベース14には、各種分野に属する単語の分散表現が登録されている。例えば、分散表現空間データベース14には、文献データベース13に登録された文献に含まれる単語を示すベクトルが登録されている。なお、各単語の分散表現は、各単語同士の関係性に基づいて生成されるため、各単語同士の向きや距離は、各単語同士が有する概念や共起性の類似度に対応することとなる。
拡張単語データベース15は、単語組を拡張する際に用いる操作的動詞が登録されている。例えば、拡張単語データベース15には、コバーク&バクナールの操作的動詞を含む操作的動詞リストが予め登録されている。
制御部16は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、情報提供装置10内部の記憶装置に記憶されている各種プログラムがRAMを作業領域として実行されることにより実現される。また、制御部16は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。
図7に示すように、制御部16は、受付部17、分野特定部18、パターン抽出部19、関連単語抽出部20、単語空間限定部21、単語空間拡張部22、提案単語抽出部23、出力部24、学習部25を有する。
受付部17は、利用者の発言を入力情報として受付ける。例えば、受付部17は、マイクやキーボード等により実現される入力装置30から利用者の発言を取得する。かかる場合、受付部17は、受付けた利用者の発言をテキストデータに変換する。そして、受付部17は、変換後のテキストデータを分野特定部18に出力する。
分野特定部18は、入力情報が属する分野を特定する。例えば、分野特定部18は、受付部17から受付けたテキストデータの形態素解析を行い、テキストデータに含まれる単語がどのような分野において使用されている単語であるかを特定する。そして、分野特定部18は、特定した分野をパターン抽出部19に通知する。
パターン抽出部19は、特定した分野において所定の関係性を有する複数の単語を含む単語組を抽出する。例えば、パターン抽出部19は、分野特定部18から分野の通知を受付けると、通知された分野に属する文献を文献データベース13から抽出する。そして、パターン抽出部19は、抽出した文献から所定の構造を有する文章を特定し、特定した文章中に所定の順序で含まれる複数の単語を抽出し、抽出した複数の単語を含む単語組を関連単語抽出部20に出力する。
例えば、図8は、実施形態にかかる情報提供装置が抽出する単語の一例を説明するための図である。図8中(A)に示すように、アイデアの特徴を示す文章は、「(名詞){を}(状態表現語、副詞句){で、によって、にして}(動詞){する、できる}」という構造を有すると予測される。そこで、パターン抽出部19は、通知された分野に属する文献を文献データベース13から抽出し、形態素解析等の技術を用いて、「(名詞){を}(状態表現語、副詞句){で、によって、にして}(動詞){する、できる}」という構造の文章を抽出する。そして、パターン抽出部19は、図8中(B)に示すように、抽出した文章に含まれる名詞を単語#1とし、状態表現語又は副詞句を単語#2とし、動詞を単語#3として抽出し、抽出した各単語#1〜#3を含む単語組を生成する。このようにして生成された単語組は、図8中(C)に示すように、抽出した文章が示すアイデアの特徴、すなわち概念cεを含むこととなる。
図7に戻り、説明を続ける。関連単語抽出部20は、パターン抽出部19が抽出した単語組の中から利用者がより発想しづらい概念であって、提示された際に理解しやすい概念を示す単語組を選択する。例えば、図9は、実施形態にかかる情報提供装置が抽出する単語組の一例を説明する図である。なお、図9に示す例では、複数の公開特許公報を形態素解析し、所定の構造を有する文章から抽出した単語組、すなわち、所定の関係性を有する複数の単語を含む単語組を、各文献の出現順に記載した。
例えば、図9中(A)に示すように、「プログラム 作成 実現」、「トレリス構造 縮退 計算」等といった単語組が文献に多く含まれている。しかしながら、このような単語組は、特定した分野において良く使用されている単語組や安定感がある単語組であるため、このような単語組が有するアイデアの概念は、その分野において当たり前に用いられている概念である。この結果、出現頻度が高い単語組は、セレンディピティが低い。
一方、図9中(B)に示すように、「眼鏡 着用 視聴」といった単語組は、特定した分野においての使用頻度があまり高くないため、特定した分野において当たり前ではない概念を示す単語組、すなわち、セレンディピティを起こさせる可能性が高い単語組であると予測される。また、図9中(C)に示すように、出現頻度があまりにも低い単語組、すなわち、出現頻度が所定の閾値よりも低い単語組は、概念が理解しづらいため、利用者にセレンディピティを起こさせる可能性が低くなってしまう。
そこで、関連単語抽出部20は、パターン抽出部19が抽出した単語組のうち、特定した分野に属する文献内に、同様の概念を示す単語組の数が第1の閾値以下、第2の閾値以上である単語組を抽出する。この結果、関連単語抽出部20は、特定した分野、すなわち、利用者の発言が属する分野においてセレンディピティを起こしやすい概念を含む単語組を抽出することができる。
なお、関連単語抽出部20は、単語同士の関連関係を示す関連語辞書を用いて、単語組に含まれるいずれかの単語から同一の単語組に含まれる他の単語までの間に存在する関連語の数を計数する。そして、関連単語抽出部20は、計数した関連語の数が所定の範囲内に収まるような単語組を抽出することで、セレンディピティを起こしやすい概念を含む単語組を抽出してもよい。
図7に戻り、説明を続ける。単語空間限定部21は、関連単語抽出部20が抽出した単語組に含まれる各単語によって形成される分散表現空間をさらに限定する。具体的には、単語空間限定部21は、文献データベース13に格納された全ての文献のうち、関連単語抽出部20が抽出した単語組が含まれる文章を含む文献の数を計数する。そして、単語空間限定部21は、計数した値を文献の数で除算した値、すなわち、単語組のDFを算出し、算出したDFの値が所定の閾値以下となる単語組を抽出する。この結果、情報提供装置10は、全ての分野を基準としてよりセレンディピティを起こされる可能性が高い概念を含む単語組を抽出することができる。
単語空間拡張部22は、単語組に含まれる動詞を所定の操作的動詞に置き換えた複数の単語組を生成する。この結果、単語空間拡張部22は、単語組に含まれる概念を大きく変更することなく、単語空間限定部21によって限定された分散表現空間を拡張する。
例えば、図10は、実施形態にかかる情報提供装置が実行する分散表現空間を拡張する処理の一例を説明するための図である。例えば、単語空間拡張部22は、単語空間限定部21により抽出された単語組として、「アイコン クリック 表示」といった単語組を取得する。かかる場合、単語空間拡張部22は、図10中(A)に示すように、単語組に含まれる動詞「表示」を、図10中(B)に示すように、拡張単語データベース15に登録された操作的動詞リストの各単語に置き換えた単語組を生成する。
この結果、例えば、単語空間拡張部22は、図10中(C)に示すように、「アイコン クリック 増やす」、「アイコン クリック 分割する」「アイコン クリック 除去する」といった単語組を新たに生成する。なお、単語空間拡張部22は、元となる単語組「アイコン クリック 表示」についても、新たに生成した単語組として提案単語抽出部23に出力する。
このように、単語空間限定部21と単語空間拡張部22とは、関連単語抽出部20により抽出された単語組が含まれる文章の数を、全ての分野の文章の数で除算した値を算出し、算出した値が所定の閾値よりも小さい単語組と操作的動詞とを組み合わせることで、新たな単語組の生成を行う。このようにして新たに生成された単語組は、元の単語組の動詞を変換した単語組であるため、分散表現空間上にマッピングした場合、元の単語組と類似する方向を示すベクトルになると予測されるが、このようなベクトルは、類似する概念を示していると予測される。この結果、情報提供装置10は、抽出された単語組の数が少ない場合にも、単語空間限定部21によって抽出された単語組と類似する概念を含む単語組、すなわち、セレンディピティを生じさせやすい概念を含む単語組を生成することができる。
なお、単語空間拡張部22は、情報提供装置10が単語以外の情報を処理対象とする場合には、所定の関連性を有する情報の組に対し、操作的動詞と同様に所定の操作を示す情報を組み合わせることで、複数の新たな情報の組を生成してもよい。また、単語空間拡張部22は、例えば、所定の関連性を有する情報の組に含まれる情報のうち、所定の種別の情報を、所定の操作を示す情報に変更した組を生成すればよい。
図7に戻り、説明を続ける。提案単語抽出部23は、特定した分野とは異なる分野に属する単語のうち、抽出された単語組により生じる概念と同様の概念を有する単語を抽出する。例えば、提案単語抽出部23は、単語空間拡張部22が生成した単語組に含まれる各単語をW2Vに入力し、各単語の分散表現を取得する。続いて、提案単語抽出部23は取得した分散表現の和、すなわち、単語組の分散表現を算出する。そして、提案単語抽出部23は、分散表現空間データベース14に格納された分散表現のうち、単語組の分散表現と類似する向きの分散表現であって、単語組の分散表現との距離が離れている分散表現を特定する。すなわち、提案単語抽出部23は、単語組に含まれる単語の分散表現を用いて、単語組により生じる概念との類似度が所定の条件を満たす概念を有する単語を、入力情報が属する分野とは異なる分野に属する単語から抽出する。より具体的には、提案単語抽出部23は、単語組の分散表現との類似度が所定の閾値以下となる分散表現に対応する単語を抽出する。
例えば、図11は、実施形態にかかる情報提供装置が実行する分散表現空間の限定と拡張とを説明するための図である。例えば、図11中(A)に示すように、関連単語抽出部20は、セレンディピティを起こしやすい概念を含む単語組として、単語組#1〜#Nを抽出する。かかる場合、図11中(B)に示すように、単語空間限定部21は、文献データベース13に格納された全ての文献について、各単語組#1〜#NのDFの値を算出し、算出したDFの値で単語組のフィルタリングを行う。この結果、単語空間限定部21は、図11中(C)に示すように、DFの値が所定の閾値以下である単語組として、例えば、単語組#1、#3、#N等を抽出する。
また、単語空間拡張部22は、図11中(D)に示すように、コバーク&バクナールチェックリストを用いて単語組を拡張する。例えば、単語空間拡張部22は、単語組#1に含まれる動詞を、コバーク&バクナールチェックリストに含まれる操作的動詞に置き換えた単語組#1−1〜#1−mを生成する。同様に、単語空間拡張部22は、単語組#3に含まれる動詞を操作的動詞に置き換えた単語組#3−1〜#3−mを生成し、単語組#Nに含まれる動詞を操作的動詞に置き換えた単語組#N−1〜#N−mを生成する。
続いて、提案単語抽出部23は、図11中(E)に示すように、各単語組#1−1〜#1−m、#3−1〜#3−m、#N−1〜#N−mごとに、以下の処理を実行する。すなわち、提案単語抽出部23は、単語組に含まれる単語をW2Vに入力してベクトルを取得し、取得したベクトルの和と類似する単語であって、利用者の発言が属する分野、すなわち、特定した分野とは異なる分野の単語を分散表現空間から取得する。
以下、提案単語抽出部23が、単語組のベクトルの和と類似する単語であって、特定した分野とは異なる分野の単語を分散表現空間から取得する処理の一例について図面を用いて説明する。例えば、図12は、実施形態にかかる情報提供装置が類似する単語を抽出する処理の一例を説明する図である。例えば、提案単語抽出部23は、図12中(A)に示すように、単語組「眼鏡 着用 視聴」を取得する。かかる場合、提案単語抽出部23は、図12中(B)に示すように、単語組に含まれる各単語、すなわち、「眼鏡」、「着用」、「視聴」をそれぞれW2Vに入力することで、各単語の分散表現、すなわちベクトルを算出する。
続いて、提案単語抽出部23は、図12中(C)に示すように、単語組のそれぞれの単語のベクトルの和と類似するベクトルを分散表現空間データベース14から抽出し、抽出したベクトルが示す単語を取得する。例えば、提案単語抽出部23は、図12中(D)に示すように、単語組のベクトルとのコサイン距離の値が大きいベクトルが示す単語を取得する。
例えば、図12中(D)に示す例では、コサイン距離の値が大きい順に「高齢」、「配偶」、「出演」、「演技」、「検眼」、「司会」、「不動産_所有」等といった単語が取得される。ここで「不動産_所有」とは、単語「不動産」と単語「所有」とが連続することで1つの熟語として用いられている場合に、形態素解析により1単語として抽出された単語である。
ここで、コサイン距離の値が大きい単語は、単語組が示す概念と類似する概念を有する単語であると言える。しかしながら、単純にコサイン距離の値が大きい単語は、利用者が予測していなかった概念を提供するものではないため、セレンディピティが低いと予測される。一方、コサイン距離の値が小さい単語には、単語組が示す概念とは異なる概念を有する単語が含まれるものの、一見して利用者が思いつかないような概念を提供する単語、すなわち、セレンディピティが高い単語も含まれると予測される。
例えば、図13は、単語のベクトル同士の関係性の一例を説明するための図である。図13に示す例では、単語「MAN」、「WOMAN」、「UNCLE」、「AUNT」、「KING」、「QUEEN」がマッピングされた分散表現空間の一例を記載した。ここで、図13中(A)に示すように、単語「MAN」から単語「WOMAN」までのベクトル、単語「UNCLE」から単語「AUNT」までのベクトル、単語「KING」から単語「QUEEN」までのベクトルは、それぞれ「単語から男性の概念を除いて女性の概念を加算する」といった同一の概念を示すと考えられる。このため、図13中(B)に示すように、このようなベクトルの矢印が向く方向は一致する。
一方、単語「KING」と単語「UNCLE」との距離が離れている場合、単語「KING」から単語「UNCLE」を容易に想起できるとは限らないため、図13中(C)に示すように、単語「KING」が示す概念と単語「UNCLE」が示す概念との共起性は小さいと考えられる。しかしながら、このように共起性が小さい概念であっても、ベクトルの方向が向いている場合には、同様の概念を示し得るため、図13中(D)に示すように、セレンディピティを起こす可能性が高いと考えられる。
このため、情報提供装置10は、利用者にセレンディピティを起こす可能性が高い単語として、利用者の発言に含まれる単語との共起性が高いアイデアが有する概念と類似する概念を有する単語であって、利用者の発言に含まれる単語からは共起性が低い単語を提供すればよい。ここで、共起性が低い単語とは、ベクトル同士の距離が離れている単語であり、例えば、異なる分野に属する単語等が該当すると予測される。
そこで、提案単語抽出部23は、単語組のベクトルと他の単語を示すベクトルとの距離を算出し、算出した距離が所定の閾値よりも離れているベクトルを特定する。このようにして特定された単語は、利用者の発言と共起性が高いアイデアの概念と類似する概念を含む単語であって、利用者の発言との共起性が低い単語であると予測される。
例えば、図14は、情報提供装置が提案する単語が有する概念の一例を説明するための図である。図14に示すように、分野#1に属する単語組#1を構成する単語#1〜#3は、それぞれ概念#1〜#3を有する。ここで、概念#1は、概念を形成する複数の要素である要素群#1により形成され、概念#2は、概念を形成する複数の要素である要素群#2により形成され、概念#3は、概念を形成する複数の要素である要素群#3により形成される。このため、単語組#1の概念は、概念#1〜#3の和、すなわち、要素群#1〜#3の和であると考えられる。
ここで、図14中(A)に示すように、ベクトルの距離が遠いほどセレンディピティを生じさせる可能性が高い。しかしながら、単純に距離が離れてしまうと、単語組#1が有する概念と離れすぎてしまうため、セレンディピティが生じにくくなる。そこで、提案単語抽出部23は、図14中(B)に示すように、セレンディピティを生じさせる程度に意味があることを保証することができる程度に、単語組#1と共通する部分がある単語を抽出する。より具体的には、提案単語抽出部23は、単語組#1が有する概念、すなわち、要素群#1〜#3の和と類似する要素群#4によって形成される概念#4を有する単語であって、分野#1との類似性が十分に離れた分野#2に属する単語#4を抽出する。
例えば、提案単語抽出部23は、単語組のベクトルとのコサイン距離が所定の閾値よりも大きい(若しくは、所定の範囲内に収まる)ベクトルを抽出し、抽出したベクトルと、単語組に含まれる各単語のベクトルのコサイン距離をそれぞれ算出する。そして、提案単語抽出部23は、算出したコサイン距離の和が所定の閾値よりも小さいベクトルを特定し、特定したベクトルが示す単語を提案する単語とする。すなわち、提案単語抽出部23は、単語組の分散表現の和とのコサイン距離が所定の閾値よりも大きく、かつ、各単語の分散表現とのコサイン距離の和が所定の閾値よりも小さい分散表現に対応する単語を抽出する。
このように、提案単語抽出部23は、単語組に含まれる各単語の分散表現の和を算出し、算出した分散表現の和との類似度が所定の条件を満たす分散表現に対応する単語を抽出する。例えば、提案単語抽出部23は、単語組に含まれる単語の分散表現の和(すなわち、単語組のベクトル)と同様の向きを有する分散表現であって、単語組に含まれる単語の分散表現の和との距離が所定の閾値以上となる分散表現に対応する単語を抽出する。換言すると、提案単語抽出部23は、特定した複数の情報により生じる属性と同様の属性を有する情報を、距離空間への対応付けを行い、距離が一定範囲内の情報群に、距離が一定範囲外の情報を加えることにより、新たな情報を生成する。
例えば、提案単語抽出部23は、「グラフ 一括 付け加える」といった単語組を受信した場合、単語「グラフ」のベクトルと、単語「一括」のベクトルと、単語「付け加える」のベクトルとの和を算出する。次に、提案単語抽出部23は、算出したベクトルの和とのコサイン距離が所定の閾値よりも大きいベクトルとして、単語「回転」のベクトルを特定する。かかる場合、提案単語抽出部23は、単語「回転」のベクトルと単語「グラフ」のベクトルとのコサイン距離、単語「回転」のベクトルと単語「一括」のベクトルとのコサイン距離、単語「回転」のベクトルと単語「付け加える」のベクトルとのコサイン距離をそれぞれ算出し、算出したコサイン距離の和が所定の閾値よりも小さいか否かを判定する。
すなわち、提案単語抽出部23は、単語組のベクトルを構成する各単語ベクトルとの距離が所定の閾値よりも小さいか否かを判定する。そして、提案単語抽出部23は、単語「回転」のベクトルについて、単語組のベクトルを構成する各単語ベクトルとの距離が所定の閾値よりも小さいと判定した場合は、単語「回転」を提案する単語とする。
図7に戻り、説明を続ける。出力部24は、提案単語抽出部23が抽出した単語を提案として出力する。例えば、出力部24は、提案単語抽出部23が単語「回転」を抽出した場合に、「回転させるのはどう?」等といった提案を行う文章を生成し、生成した文章を出力装置31に送信する。この結果、出力装置31は、情報提供装置10が抽出した単語、すなわち、利用者にセレンディピティを生じさせるような単語を出力することができる。
学習部25は、分散表現空間データベース14が記憶する分散表現空間の学習を行う。例えば、学習部25は、文献データベース13に含まれる各文献の形態素解析を行い、W2Vの技術を用いて、各文献に含まれる単語同士の関係性に基づく分散表現を学習する。そして、学習部25は、学習結果を分散表現空間データベース14に登録する。
〔4.情報提供装置10が実行する処理の流れ〕
次に、図15〜図17を用いて、情報提供装置10が実行する処理の流れについて説明する。まず、図15を用いて、情報提供装置10が実行する抽出処理の流れについて説明する。図15は、実施形態にかかる情報提供装置が実行する抽出処理の流れを説明するフローチャートである。
図15に示すように、情報提供装置10は、入力情報を取得すると(ステップS101)、取得した入力情報が属する分野を特定する(ステップS102)。続いて、情報提供装置10は、特定した分野に属する文献データから、所定の関係性を満たす単語組を抽出する(ステップS103)。そして、情報提供装置10は、抽出した単語組からセレンディピティを起こし得る単語組を選択し(ステップS104)、単語組の分散表現を用いて、単語組により生じる概念と類似度が所定の条件を満たす単語を抽出する(ステップS105)。すなわち、情報提供装置10は、単語組が属する分野以外の分野に属する単語であって、単語組が有する概念と類似する概念を有する単語を抽出する。そして、情報提供装置10は、抽出した単語をヒントとして出力し(ステップS106)、処理を終了する。
次に、図16を用いて、単語組が属する分野以外の分野に属する単語であって、単語組が有する概念と類似する概念を有する単語を抽出するための各種処理の流れをより具体的に説明する。図16は、実施形態にかかる情報提供装置が実行する抽出処理の具体的な処理の流れを説明するフローチャートである。なお、図16に示すステップS201〜S206は、図15に示すステップS103〜S105の処理をより具体的にしたものである。
例えば、情報提供装置10は、入力情報が属する分野に属する文献データの形態素解析を行い(ステップS201)、所定のパターンに合致する文字列を特定する(ステップS202)。そして、情報提供装置10は、特定した文字列に含まれる単語から単語組を生成する(ステップS203)。
また、情報提供装置10は、生成した単語組からセレンディピティを起こしやすい単語組を選択し(ステップS204)、選択した単語組から操作的動詞を用いて単語組のバリエーションを生成する(ステップS205)。そして、情報提供装置10は、選択した単語組をW2Vに入力し、方向を含めた類似度、すなわち、単語組のベクトルとのコサイン距離が所定の範囲内であって、方向を含めない類似度、すなわち、単語組に含まれる各単語のベクトルとのコサイン距離の和が所定の閾値以下となる単語を抽出する(ステップS206)。
次に、図17を用いて、単語組の中からセレンディピティを起こしやすい単語組を選択し、選択した単語組から単語組のバリエーションを生成する処理の流れをより具体的に説明する。図17は、実施形態にかかる情報提供装置がセレンディピティを起こしやすい単語組を選択する処理の具体的な処理の流れを説明するフローチャートである。なお、図17に示すステップS301〜S303は、図16に示すステップS204、S205の処理をより具体的にしたものである。
例えば、情報提供装置10は、生成した単語組のDFをそれぞれ算出する(ステップS301)。また、情報提供装置10は、生成した単語組のDFの値が所定の閾値以下となる単語組を選択する(ステップS302)。そして、情報提供装置10は、操作的動詞リストを用いて、選択した単語組のバリエーションを生成する(ステップS303)。
〔5.変形例〕
上記では、図1に例示した態様を用いながら、情報提供装置10が実行する抽出処理の一例について説明した。しかしながら、実施形態は、これに限定されるものではない。以下、情報提供装置10が実行する抽出処理のバリエーションについて説明する。
〔5−1.各種のパラメータについて〕
上述した情報提供装置10は、セレンディピティを起こし得る単語を抽出するため、例えば、抽出した単語組のうち、DFの値が所定の閾値(以下、第1閾値と記載する。)以下の単語組を抽出した。また、情報提供装置10は、単語組のベクトルとのコサイン距離が所定の範囲(以下、第1範囲と記載する。)内となるベクトルであって、単語組に含まれる各単語のベクトルとのコサイン距離の和が所定の閾値(以下、第2閾値と記載する。)以下となるベクトルを抽出した。ここで、情報提供装置10が採用する各種の閾値は、任意の閾値が採用可能である。
例えば、情報提供装置10は、一見した際にはわかりづらいものの、熟考した際にセレンディピティが生じやすい単語を出力する場合は、第1閾値の値をより低くしてもよく、第2閾値の値をより小さくしてもよい。また、情報提供装置10は、第1範囲をより狭く設定してもよい。
〔5−2.セレンディピティを生じさせやすい単語組について〕
上述した例では、情報提供装置10は、セレンディピティを起こさせる可能性を高めるため、抽出した単語組からセレンディピティを起こさせる可能性が高い単語を選択した。例えば、関連単語抽出部20は、各単語組の出現頻度や単語同士の関係性等に基づいて、単語組の選択を行った。しかしながら、実施形態は、これに限定されるものではない。
例えば、情報提供装置10は、分野ごとに、セレンディピティを起こし得る単語組を予め選択しておいてもよい。また、かかる選択処理は、人の手によって予め行われていてもよい。例えば、情報提供装置10は、所定の関係性を有する複数の単語を含む単語組を文献データから抽出し、抽出した単語組をオペレータに提示する。そして、情報提供装置10は、オペレータが選択した単語組を、セレンディピティを起こし得る単語組として予め選択しておいてもよい。
〔5−3.情報提供装置が実行する処理〕
上述した説明では、情報提供装置10は、入力情報が属する分野の情報から所定の関係性を有する複数の情報を特定し、特定した複数の情報により生じる概念と同様の概念を有する情報を、特定した分野とは異なる分野に属する情報から抽出した。しかしながら、実施形態は、これに限定されるものではない。すなわち、情報提供装置10は、入力情報が属する分野と異なる分野の情報の中から、入力情報と暗黙的なつながりを保持しつつ、明示的には不連続な関係性を有する情報を出力できるのであれば、異なる処理により、出力する情報を抽出してもよい。
例えば、図18は、入力分野の情報と異分野の情報とに関係のある情報を出力する処理の一例を説明する図である。なお、図18に示す例では、情報提供装置10が実行する処理のバリエーションとして、入力情報が属する分野の情報と、入力情報が属する分野とは異なる分野の情報との双方を分析し、双方の情報に関連性のある情報を出力する処理の一例について記載した。
例えば、図18に示すように、利用者が新たなアイデアを思案する場合、参考になるであろう情報が属する分野は、教育業、電力供給業、銀行業等、多岐に渡る。このため、利用者は、図18中(A)に示すように、これら全ての分野の情報を考慮して、新たなアイデアを思索するのが困難である。
そこで、情報提供装置10は、以下の処理を実行する。まず、情報提供装置10は、利用者から入力情報を受付ける。このような場合、情報提供装置10は、入力情報が属する分野を特定する。また、情報提供装置10は、特定した分野とは異なる分野(異分野)を抽出する。そして、情報提供装置10は、入力情報が属する分野に属する情報と、かかる分野とは異なる分野に属する情報との双方を分析し、双方の情報に関連性のある情報を特定する。そして、情報提供装置10は、特定した情報を出力する。
例えば、利用者は、図18中(B)に示すように、情報提供装置10に対して、思いついた単語等の任意の情報を入力情報として入力する。このような場合、情報提供装置10は、図18中(C)に示すように、入力情報が属する分野を特定する。例えば、情報提供装置10は、入力情報が「プロパンガス」等といった情報であれば、「ガス供給業」を入力情報が属する分野として特定する。
続いて、情報提供装置10は、特定した分野とは異なる分野を抽出する。例えば、情報提供装置10は、特定した分野「ガス供給業」とは異なる分野として「広告業」を抽出する。なお、情報提供装置10は、入力情報が属する分野とは異なる分野を、複数選択してもよい。また、情報提供装置10は、上述した各種の処理を用いて、入力情報が属する分野とは、意味が離れている分野(例えば、分散表現空間上における距離が遠い分野)を選択してもよい。
そして、情報提供装置10は、入力情報が属する分野と抽出した分野との双方の情報を分析し、双方の情報に関係のある情報を特定する。例えば、情報提供装置10は、各分野に属する単語の属性、概念、意味等を分散表現空間上における単語間の距離や向きを用いて比較し、双方の分野に関係のある情報を特定する。また、例えば、情報提供装置10は、分散表現空間上における単語の向きが近く、距離が遠い単語同士を抽出する。そして、情報提供装置10は、図18中(F)に示すように、抽出した単語を出力する。
このような処理を実行した結果、情報提供装置10は、通常の思考では浮かばない単語の組み合わせを出力することができるので、利用者にセレンディピティを生じさせることができる。なお、上述した処理以外にも、情報提供装置10は、入力情報が属する分野と、異分野との双方に関係のある情報を出力するのであれば、任意の分析手法を採用することができる。
なお、上述した情報提供装置10は、入力情報として任意の情報を採用することができる。例えば、情報提供装置10は、入力情報として、テキスト、ビジネスの特徴、音や画像等のコンテンツ、生体情報等を採用し、入力情報が属する分野と、異分野との双方の情報に関係のある情報として、テキスト、ビジネスの特徴、コンテンツ、生体情報等を出力すればよい。また、情報提供装置10は、上述した実施形態において説明した書く処理のうち、任意の処理を矛盾させない範囲で利用可能である。
〔5−4.その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、図7に示した単語空間限定部21と単語空間拡張部22とは統合されてもよい。
また、上記してきた各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
〔5−5.プログラム〕
また、上記してきた実施形態にかかる情報提供装置10は、例えば、図19に示すような構成のコンピュータ1000によって実現される。図19は、抽出処理を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM1300、HDD1400、通信インターフェイス(I/F)1500、入出力インターフェイス(I/F)1600、およびメディアインターフェイス(I/F)1700を有する。
CPU1100は、ROM1300またはHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。
HDD1400は、CPU1100によって実行されるプログラム、および、かかるプログラムによって使用されるデータ等を格納する。通信インターフェイス1500は、ネットワークNを介して他の機器からデータを受信してCPU1100へ送り、CPU1100が生成したデータを他の機器へ送信する。
CPU1100は、入出力インターフェイス1600を介して、ディスプレイやプリンタ等の出力装置、および、キーボードやマウス等の入力装置を制御する。CPU1100は、入出力インターフェイス1600を介して、入力装置からデータを取得する。また、CPU1100は、生成したデータを入出力インターフェイス1600を介して出力装置へ出力する。
メディアインターフェイス1700は、非一時的にコンピュータが読み取り可能な記憶媒体の一例である記録媒体1800に格納された情報提供プログラム等のプログラムまたはデータを読み取り、RAM1200を介してCPU1100に提供する。CPU1100は、かかるプログラムを、メディアインターフェイス1700を介して記録媒体1800からRAM1200上にロードし、ロードしたプログラムを実行する。記録媒体1800は、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
例えば、コンピュータ1000が実施形態にかかる情報提供装置10として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムを実行することにより、制御部16の機能を実現する。また、HDD1400には、記憶部12内のデータ、すなわち文献データベース13、分散表現空間データベース14、拡張単語データベース15が格納される。コンピュータ1000のCPU1100は、これらのプログラムを記録媒体1800から読み取って実行するが、他の例として、他の装置からこれらのプログラムを取得してもよい。
〔6.効果〕
上述したように、情報提供装置10は、入力情報を受付けると、入力情報が属する分野を特定し、特定した分野に属する情報から所定の関係性を有する複数の情報を特定し、特定した複数の情報により生じる属性と同様の属性を有する情報を、距離空間への対応付けを行い、距離が一定範囲内の情報群に、距離が一定範囲外の情報を加えることにより、新たな情報を生成する。そして、情報提供装置10は、生成した情報を出力する。
このような処理を実行する結果、例えば、情報提供装置10は、利用者が話していた分野における所定の概念と類似する概念を有し、かつ、利用者が話していた分野とは異なる分野の情報を出力することができる。この結果、情報提供装置10は、利用者が思い浮かばない情報を提供することができるので、利用者にセレンディピティを生じさせることができるような情報を出力することができる。
また、情報提供装置10は、距離空間における距離を情報の類似度と見做す。このため、情報提供装置10は、複数の情報が有する概念と類似する概念を有する新たな単語を抽出することができる。この結果、情報提供装置10は、分散表現空間上に現れる概念(すなわち、複数の情報により生じる属性)を保ちつつ、利用者がより思い浮かびづらい情報を提供することができるので、利用者にセレンディピティを生じさせることができるような情報を出力することができる。
また、情報提供装置10は、言語の分散表現を距離空間上にマッピングする。このため、情報提供装置10は、言語同士の類似性を判断することができるので、例えば、単語群が有する概念と類似する概念を有する新たな単語や、単語群が有する概念と類似する概念を有しつつ、その距離が遠い単語、すなわち、想起しづらい単語を抽出することができる。このため、情報提供装置10は、利用者にセレンディピティを生じさせることができるような情報を出力することができる。
また、情報提供装置10は、コサイン距離を用いて、単語群同士の類似性を判断する。このため、情報提供装置10は、距離空間上において、単語群同士の類似性を判断することができる。
また、情報提供装置10は、特定した複数の情報の分散表現の和を算出し、距離空間において、算出した分散表現の和との距離が所定の閾値以上であって、算出した分散表現の和と向きが類似する分散表現に対応する情報を抽出する。より具体的には、情報提供装置10は、特定した複数の情報の分散表現の和とのコサイン距離が所定の閾値よりも大きい分散表現であって、各情報の分散表現とのコサイン距離の和が所定の閾値よりも小さい分散表現と対応する情報を抽出する。このため、情報提供装置10は、例えば、特定した複数の情報により生じる概念を保ちつつ、利用者がより思い浮かびづらい情報を提供することができるので、利用者にセレンディピティを生じさせることができるような情報を出力することができる。
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
また、上記してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、制御部は、制御手段や制御回路に読み替えることができる。