(57)【要約】      （修正有）【課題】利用者間の対話の効率化を図るために、対話を補助する補助情報を提供する提供装置、提供方法及び提供プログラムを提供する。【解決手段】提供装置１０における制御部４０は、対話の対象となる分野に属する技術要素をノードとし、各要素間の関係性をノード間のリンクとして示すグラフ情報の成長速度を推定する推定部４２と、推定部４２により推定された成長速度に応じて、対話を補助するための補助情報を提供する提供部４３と、を有する。【選択図】図２
2019109789.tif 000002
【特許請求の範囲】
【請求項１】
対話の対象となる分野に属する技術要素をノードとし、各要素間の関係性をノード間のリンクとして示すグラフ情報の成長速度を推定する推定部と、
前記推定部により推定された成長速度に応じて、前記対話を補助するための補助情報を提供する提供部と
を有することを特徴とする提供装置。
【請求項２】
前記推定部は、将来における前記グラフ情報の成長速度を推定し、
前記提供部は、実際の対話に応じた前記グラフ情報の成長速度が、前記推定部により推定された前記グラフ情報の成長速度よりも遅い場合には、前記補助情報を提供する
ことを特徴とする請求項１に記載の提供装置。
【請求項３】
前記推定部は、将来における前記グラフ情報の成長速度を推定し、
前記提供部は、前記推定部により推定された前記グラフ情報の成長速度が所定の成長速度よりも遅い場合には、前記補助情報を提供する
ことを特徴とする請求項１または２に記載の提供装置。
【請求項４】
前記推定部は、単位時間当たりの前記ノードの増加数と、単位時間当たりの前記対話における発言回数とに基づいて、前記グラフ情報の成長速度を推定する
ことを特徴とする請求項３に記載の提供装置。
【請求項５】
前記推定部は、前記ノードの数の増加数を前記発言回数で除算した値を、前記グラフ情報の成長速度とする
ことを特徴とする請求項４に記載の提供装置。
【請求項６】
前記提供部は、前記グラフ情報の成長態様の特徴を学習したモデルを用いて、既存のノードから将来生じる新たなノードを推定し、推定したノードを示す情報を前記補助情報として提供する
ことを特徴とする請求項１〜５のうちいずれか１つに記載の提供装置。
【請求項７】
提供装置が実行する提供方法であって、
対話の対象となる分野に属する技術要素をノードとし、各要素間の関係性をノード間のリンクとして示すグラフ情報の成長速度を推定する推定工程と、
前記推定工程により推定された成長速度に応じて、前記対話を補助するための補助情報を提供する提供工程と
を含むことを特徴とする提供方法。
【請求項８】
対話の対象となる分野に属する技術要素をノードとし、各要素間の関係性をノード間のリンクとして示すグラフ情報の成長速度を推定する推定手順と、
前記推定手順により推定された成長速度に応じて、前記対話を補助するための補助情報を提供する提供手順と
をコンピュータに実行させるための提供プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、提供装置、提供方法および提供プログラムに関する。
【背景技術】
【０００２】
従来、入力された情報の解析結果に基づいて、入力された情報と関連する情報を検索もしくは生成し、検索もしくは生成した情報を応答として出力する技術が知られている。このような技術の一例として、入力されたテキストに含まれる単語、文章、文脈を多次元ベクトルに変換して解析し、解析結果に基づいて、入力されたテキストと類似するテキストや、入力されたテキストに続くテキストを類推し、類推結果を出力する自然言語処理の技術が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−１７５６１４号公報
【非特許文献】
【０００４】
【非特許文献１】“Dynamics  on  expanding  spaces:  modeling  the  emergence  of  novelties”，Vittorio  Loreto,  Vito  D.  P.  Servedio,  Steven  H.  Strogatz,  Francesca  Tria＜インターネット＞https://arxiv.org/abs/1701.00994（平成２９年１２月０６日検索）
【非特許文献２】“Yule過程とSimon過程”，橋本康弘＜インターネット＞https://dencity.jp/misc/yule-simon_process/（平成２９年１２月０６日検索）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ここで、上述した技術を用いて、利用者間の対話を補助するといった処理が考えられる。しかしながら、上述した技術では、入力されたテキストと類似するテキストや、入力されたテキストに続くテキスト等、参加者が予測しうる情報を所定のタイミングで出力しているに過ぎない。このため、上述した技術では、利用者間の対話を効率的に進めることができない場合がある。
【０００６】
本願は、上記に鑑みてなされたものであって、利用者間の対話の効率化を図ることを目的とする。
【課題を解決するための手段】
【０００７】
本願に係る提供装置は、対話の対象となる分野に属する技術要素をノードとし、各要素間の関係性をノード間のリンクとして示すグラフ情報の成長速度を推定する推定部と、前記推定部により推定された成長速度に応じて、前記対話を補助するための補助情報を提供する提供部とを有することを特徴とする。
【発明の効果】
【０００８】
実施形態の一態様によれば、利用者間の対話の効率化を図ることができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施形態に係る提供装置が実行する処理の一例を示す図である。
【図２】図２は、実施形態に係る提供装置の構成例を示す図である。
【図３】図３は、実施形態に係る技術グラフデータベースに登録される情報の一例を示す図である。
【図４】図４は、実施形態に係る提供処理の流れの一例を説明するフローチャートである。
【図５】図５は、ハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１０】
以下に、本願に係る提供装置、提供方法および提供プログラムを実施するための形態（以下、「実施形態」と記載する。）について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る提供装置、提供方法および提供プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【００１１】
［実施形態］
〔１−１．提供装置の一例〕
まず、図１を用いて、提供装置が実行する処理の一例について説明する。図１は、実施形態に係る提供装置が実行する処理の一例を示す図である。図１では、提供装置１０は、以下に説明する提供処理を実行する情報処理装置であり、例えば、サーバ装置やクラウドシステム等により実現される。
【００１２】
より具体的には、提供装置１０は、インターネット等の所定のネットワークＮを介して、入出力装置１００（例えば、図２を参照）といった任意の装置と通信が可能である。ここで、入出力装置１００は、マイクなどの音声を取得する音声取得装置を用いて、利用者の発言を取得する。そして、入出力装置１００は、任意の音声認識技術を用いて、発言をテキストデータに変換し、変換後のテキストデータを提供装置１０へと送信する。また、入出力装置１００は、スピーカ等の音声を出力する装置を用いて、提供装置１０から受信したテキストデータの読み上げを行う。なお、入出力装置１００は、提供装置１０から受信したテキストデータを所定の表示装置に表示してもよい。
【００１３】
なお、入出力装置１００は、スマートフォンやタブレット等のスマートデバイス、デスクトップＰＣ（Personal  Computer）やノートＰＣ等、サーバ装置等の情報処理装置により実現される。なお、入出力装置１００は、例えば、同一の情報処理装置によって実現されてもよく、例えば、ロボット等の装置によって実現されてもよい。
【００１４】
〔１−２．提供装置の処理について〕
ここで、利用者の発言を分散表現に変換し、他の発言や情報の分散表現との比較結果に基づいて、利用者の発言に対する応答や、利用者間の対話を補助する発言を生成するといった処理が考えられる。しかしながら、従来技術では、入力されたテキストと類似するテキストや、入力されたテキストに続くテキスト等、参加者が予測しうる情報を出力しているに過ぎない。このため、上述した技術では、利用者間の対話を効率的に進めることができない場合がある。例えば、上述した技術では、対話における状況に応じた出力を行うことができない。
【００１５】
ここで、提供装置１０は、以下の提案処理を実行する。まず、提供装置１０は、対話の対象となる分野に属する技術要素をノードとし、各要素間の関係性をノード間のリンクとして示すグラフ情報の成長速度を推定する。そして、提供装置１０は、推定された成長速度に応じて、対話を補助するための補助情報を提供する。
【００１６】
例えば、提供装置１０は、対話の対象となった技術要素をノードとし、各要素間の関係性をノード間のリンクとして示すグラフ情報（以下、「技術グラフ」と記載する。）を生成する。このようなグラフ情報は、対話の対象となった技術要素が、どのような技術要素から生じたものであるかを示す情報である。例えば、第１技術要素が、第２技術要素と第３技術要素との組合せである場合や、第２技術要素と第３技術要素とから発展した技術である場合、第１技術要素と対応するノードは、リンクを介して、第２技術要素と対応するノードおよび第３技術要素と対応するノードと接続される。
【００１７】
ここで、提供装置１０は、ある分野に属する技術を示す情報であれば、任意の情報を技術要素としてよい。例えば、提供装置１０は、対話において生成されたアイデアであると推定される内容を技術要素とし、各技術要素同士の関係性を技術グラフに落とし込んでもよい。例えば、提供装置１０は、所定の時間内に、既存の複数のアイデアについての言及があり、その後、新たなアイデアについての言及があった場合は、その新たなアイデアを示すノードを技術グラフに追加するとともに、既存のアイデアを示す各ノードと新たなアイデアと対応するノードとをリンクで接続する。
【００１８】
このような技術グラフにおいて、ノードの数の増加傾向は、その分野に属する技術要素の増加傾向、すなわち、新たな技術要素の増加傾向を示す。このような技術グラフを、利用者間の対話（例えば、会議やブレスト等）に応じて展開した場合、対話がどのように進んでいるかを示すことができると考えられる。すなわち、対話において何らかのアイデアが形成された際に、そのアイデアを技術要素としてノードに変換し、そのアイデアの元となった他のアイデアとの間でリンクを形成した場合、対話においてアイデアが発生しているのであれば、技術グラフに含まれるノードやリンクは、増加傾向にあると言える。
【００１９】
そこで、提供装置１０は、対話に対応する技術グラフを生成し、生成した技術グラフの発展態様を推定する。より具体的には、提供装置１０は、ノードの数の増加傾向を推定する。また、提供装置１０は、推定したノードの数の増加傾向に基づいて、技術グラフと対応する対話の状態を推定する。そして、提供装置１０は、推定した状態が所定の条件を満たす場合には、対話を補助するような情報（以下、「補助情報」と記載する。）を利用者に対して提供する。
【００２０】
例えば、技術グラフの成長速度が所定の閾値を下回るような場合は、利用者間の対話が滞っていると推定される。しかしなら、新たなアイデアを生成するのが困難な分野を話題としている場合等、対話の内容によっては、利用者間の対話が滞る場合があるため、一定の閾値では適切なタイミングで補助情報を出力することができない。そこで、提供装置１０は、将来における技術グラフの成長速度を推定する。例えば、提供装置１０は、それまでの対話に基づいて生成された技術グラフの成長態様に基づいて、将来における技術グラフの成長速度を推定する。
【００２１】
例えば、提供装置１０は、単位時間ごとに、対話において生成された新たなアイデアの数、すなわち、技術グラフに含まれるノードの数の増加量を計数する。そして、提供装置１０は、単位時間ごとに計数したノードの数の増加量の平均値を、将来の技術グラフの成長速度として算出する。なお、提供装置１０は、任意の速度推定技術を用いて、将来のノードの数の増加量を推定し、推定した増加量を技術グラフの成長速度としてもよい。
【００２２】
一方、提供装置１０は、処理タイミングにおける実際の対話の内容に応じた技術グラフの成長速度を推定する。例えば、提供装置１０は、処理タイミングから２０分以内における技術グラフの成長速度を推定する。そして、提供装置１０は、実際の対話に応じた技術グラフの成長速度が、推定された技術グラフの成長速度よりも遅い場合には、利用者間の対話が停滞しているものとして、所定の補助情報を提供する。なお、提供装置１０は、推定された技術グラフの成長速度が単純に所定の成長速度よりも遅い場合には、補助情報の提供を行ってもよい。
【００２３】
すなわち、提供装置１０は、技術グラフの成長速度を推定し、推定した技術グラフの成長速度が減速したら、ブレスト等の対話が停滞していると判断し、次の話題に移ったり、新しい話題を強制的に提案するように、ファシリテートを行う。この結果、提供装置１０は、利用者間の対話威を効率化することができる。
【００２４】
〔１−３．成長速度について〕
ここで、提供装置１０は、技術グラフに含まれるノードの数の増加傾向に基づいて、技術グラフの成長速度を推定するのであれば、任意の手法により、技術グラフの成長速度を推定してよい。
【００２５】
例えば、利用者が発言を行う度に新たなアイデアが発生している場合、対話が効率的に進んでいると考えられる。一方で、アイデアの数と比較して利用者の発言数が多い場合、対話が効率的に進んでいるとは言えないとも考えられる。そこで、提供装置１０は、単位時間当たりのノードの増加数と、単位時間当たりの対話における発言回数とに基づいて、技術グラフの成長速度を推定してもよい。例えば、提供装置１０は、ノードの数の増加数と発言回数との割合に基づいて、技術グラフの成長速度を推定してもよい。より具体的な例を挙げると、提供装置１０は、ノードの数の増加数を発言回数で除算した値を、技術グラフの成長速度としてもよい。
【００２６】
〔１−４．補助情報について〕
ここで、提供装置１０は、任意の内容の情報を補助情報としてよい。例えば、提供装置１０は、対話が停滞していると判断される場合は、対話が停滞している旨の情報を利用者に対して提供してもよく、それまでの対話において新たに生成されたアイデアと、既存のアイデアとの間の関係性を示す情報を提供してもよい。
【００２７】
また、提供装置１０は、技術グラフの成長態様に基づいた補助情報の提供を行ってもよい。例えば、提供装置１０は、技術グラフの成長態様の特徴を学習したモデルを用いて、既存のノードから将来生じる新たなノードを推定し、推定したノードを示す情報を補助情報として提供してもよい。
【００２８】
例えば、提供装置１０は、既存ノードから新たなノードが生じるまでの時間、新たなノードと関係性を有する既存ノードと対応するアイデアの特徴、新たなノードを生じさせる既存ノードの数等といった技術グラフの成長態様が有する特徴を各種のモデルに学習させる。そして、提供装置１０は、技術グラフの成長速度が所定の閾値を満たす場合、すなわち、対話が停滞していると推定される場合は、学習済モデルを用いて、新たに発生するノードと既存ノードとの関係性を推定する。
【００２９】
例えば、提供装置１０は、あるタイミングにおける技術グラフに含まれるノードとリンクに関する情報を入力した場合に、次のタイミングにおいて新たに追加されたノードとリンクを示す情報を出力するように、モデルの学習を行う。そして、提供装置１０は、対話が停滞していると推定される場合は、モデルに対して処理タイミングにおける技術グラフの情報を入力することで、将来新たに追加されると推定されるノードとリンクを示す情報を取得する。
【００３０】
その後、提供装置１０は、将来新たに追加されると推定されるノードとリンクを示す情報を補助情報として提案してもよい。例えば、提供装置１０は、新たに追加されるノードとリンクによって接続される既存ノードを特定し、特定した既存ノードと対応するアイデアと共に、それらのアイデアから新たなアイデアが生じるかを利用者に問い合わせる情報を補助情報として提供してもよい。
【００３１】
〔１−５．将来の技術グラフについて〕
ここで、提供装置１０は、過去の技術グラフにおけるノードやリンクの増加態様に基づいて、技術グラフの発展を示すパラメータを推定し、推定したパラメータに基づいて技術グラフに含まれるノードやリンクの数を変化させることで、技術グラフの将来の発展態様、ひいては、対話における新たなアイデアの生じやすさを予測してもよい。
【００３２】
例えば、ある分野における技術の発展は、技術グラフにおけるノードやリンクの数の変化と見做すことができるが、このようなノードやリンクの数の変化は、冪分布で仮想的に再現されると予測される（例えば、非特許文献１参照）。そこで、提供装置１０は、冪分布に従って、既存のノードから、そのノードとリンクにより接続される新たなノードが発生するものとして、ノードの数とリンクの数との変化の傾向を推定してもよい。また、提供装置１０は、Ｙｕｌｅ過程、Ｓｉｍｏｎ過程、修正Ｙｕｌｅ過程等、任意の冪分布に従って技術グラフが発展するものとして、将来の技術グラフの成長速度を推定してもよい。
【００３３】
ここで、技術グラフの発展を示す各種のパラメータは、過去における実測値に基づいて設定されればよい。例えば、提供装置１０は、技術グラフに含まれるノードやリンクの増加態様から、技術グラフの発展を示す各種のパラメータを生成するモデルの学習を行い、学習したモデルを用いて、過去の対話に基づいたノードやリンクの増加態様から、各種のパラメータを生成してもよい。
【００３４】
〔１−６．ポリアの壺アルゴリズムについて〕
ここで、非特許文献１で示されるように、技術分野の発展をポリアの壺アルゴリズムにより数学的に表す手法が考えられる。そこで、提供装置１０は、ポリアの壺アルゴリズムを用いて、技術グラフを発展させてもよい。
【００３５】
以下、ポリアの壺アルゴリズムの一例について説明する。例えば、ポリアの壺アルゴリズムにおいては、それぞれ異なる色の玉が入れられた壺からランダムに１つの玉が取り出され、取り出された玉が、初めて取り出された玉の色であるか否かが判定される。そして、取り出された玉が、過去に取り出された玉と同じ色である場合は、取り出された玉が壺に戻されるとともに、その玉と同じ色の玉が所定の数だけ壺に追加される。一方、取り出された玉が初めて取り出された色である場合は、取り出された玉が壺に戻され、その玉と同じ色の玉が所定の数だけ壺に追加されるとともに、それぞれ色が異なる所定の数の玉であって、それぞれが新たな色を有する玉が壺に入れられる。
【００３６】
このようなポリアの壺アルゴリズムは、ある分野における技術要素の発展の確率モデルと見做せる。例えば、壺の中に入れられた玉を技術要素とした場合、壺の中から取り出された玉の色が初めて取り出された玉の色である確率は、新たな技術要素が発生する確率と対応付けることができる。また、取り出された玉が初めて取り出された色である場合に、新たに壺の中に入れられる新たな色の玉の数は、新たな技術要素が発生した際にその技術から将来発生する新たな技術要素の数を示すパラメータと対応付けることができる。また、取り出された玉とともに壺に入れられる玉であって、壺の中から取り出された玉と同じ色の玉の数は、技術要素間の関係性、すなわち、リンクが生じるパラメータと対応付けることができる。
【００３７】
そこで、提供装置１０は、ポリアの壺アルゴリズムを用いて、技術グラフを発展させ、対象分野における将来の発展傾向を推定する。例えば、提供装置１０は、複数種別の要素の集合からいずれかの要素が選択された際に、選択された要素とともに選択された要素とは異なる種別の要素を集合に加えた後において各種別の要素が選択される確率に基づいて、既存のノードから、そのノードとリンクにより接続される新たなノードが発生するものとして、ノードの数とリンクの数との変化の傾向を推定してもよい。
【００３８】
〔１−７．技術グラフの初期モデルについて〕
ここで、提供装置１０は、任意の構成を有するグラフを技術グラフの初期モデルとして採用してもよい。例えば、提供装置１０は、バラバシ・アルバートモデルを用いて、技術グラフの初期状態を生成し、生成した技術グラフに含まれるノードから、そのノードとリンクにより接続される新たなノードが発生するものとして、ノードの数とリンクの数との変化の傾向を推定してもよい。
【００３９】
例えば、提供装置１０は、技術グラフの初期モデルとして、ｍ個のノードを有する完全グラフを生成する。続いて、提供装置１０は、新しいノードを１つ追加し、追加したノードと他のノードとの間を所定の確率で接続するリンクを設定する。このような処理をノードの数が所定の数になるまで繰り返すことで、提供装置１０は、初期モデルの生成を行ってもよい。なお、上述した技術以外にも、提供装置１０は、例えば、ワッツ・ストロガッツモデル等、複雑グラフの初期モデルを生成するための各種の手法を採用して、技術グラフの初期モデルを生成してよい。
【００４０】
〔１−８．グラフの畳み込みについて〕
なお、提供装置１０は、対話において発生したアイデアのうち、中核となるアイデアの発生する速度を考慮して、対話が停滞しているか否かを推定し、対話が停滞していると推定される場合に、補助情報の出力を行ってもよい。
【００４１】
例えば、グラフコンボリューション等といったグラフの畳み込みを行う技術を用いて、技術グラフの畳み込み解析を行った場合、対話における主要なノード、すなわち、対話における中核的アイデアと対応するノードのグラフ構造を得ることができる。そこで、提供装置１０は、技術グラフの畳み込み解析を行うことで、対話における主要なノード間の関係性を示す技術グラフを新たに生成し、新たに生成した技術グラフの成長速度を推定する。
【００４２】
そして、提供装置１０は、推定した成長速度が所定の閾値を下回る場合、対話で多くの発言やアイデアが発生していたとしても、中核的なアイデアが発生していない、すなわち、対話が停滞していると推定し、補助情報の出力を行ってもよい。このように、提供装置１０は、技術グラフの畳み込み解析を行うことで、中核的アイデアが生じているか否かに応じて補助情報を出力することできる。
【００４３】
〔１−９．提案処理の一例について〕
次に、図１を用いて、提供装置１０が実行する提案処理の一例について説明する。まず提供装置１０は、ブレスト等といった利用者間の対話における発言を取得する（ステップＳ１）。このような場合、提供装置１０は、対話において生じたアイデアをノードとし、アイデア間の関係性をリンクとする技術グラフを、所定の時間単位ごとに生成する（ステップＳ２）。例えば、提供装置１０は、各種の文字解析技術を用いて、利用者の発言の中に含まれる技術やアイデアをノードとし、発言の中に含まれる技術やアイデア同士の共起性をリンクとする技術グラフを生成する。例えば、提供装置１０は、同一の発言に含まれる技術やアイデアと対応するノード同士をリンクで接続する。
【００４４】
続いて、提供装置１０は、ノードとリンクとの発生態様の特徴を、モデルに学習させる（ステップＳ３）。例えば、提供装置１０は、提供装置１０は、タイミングＴ１におけるリンクの状態を示すリンク情報Ｔ１とタイミングＴ１におけるノードの状態を示すノード情報Ｔ１を入力した際に、タイミングＴ２におけるリンクの状態を示すリンク情報Ｔ２とタイミングＴ２におけるノードの状態を示すノード情報Ｔ２を出力するように、学習モデルの学習を行う。
【００４５】
続いて、提供装置１０は、技術グラフの成長速度と学習モデルにより推定される成長速度との差に基づいて、対話の停滞具合を判断する（ステップＳ４）。例えば、処理タイミングをＴｎとする。このような場合、提供装置１０は、タイミングＴｎ−１からタイミングＴｎまでの発言に基づいて、技術グラフを生成し、生成した技術グラフの実際の成長速度を推定する。例えば、提供装置１０は、あるタイミングＴｎ−１からタイミングＴｎまでの発言から実際に抽出された新たなアイデアの数を実際の成長速度として推定する。一方、提供装置１０は、あるタイミングＴｎ−１における技術グラフを学習モデルに入力することで、タイミングＴｎにおける技術グラフを推定する。
【００４６】
そして、提供装置１０は、タイミングＴｎ−１における技術グラフにおけるノードの数と、推定されたタイミングＴｎにおける技術グラフにおけるノードの数との差を、推定された成長速度とする。そして、提供装置１０は、実際の成長速度が推定された成長速度を下回る場合は、対話が停滞していると判定する。
【００４７】
ここで、提供装置１０は、対話が停滞していると推定される場合、学習モデルを用いて、既存ノードから新たに生じるノードを推定し、推定したノードと既存のノードとを接続するリンクを推定する（ステップＳ５）。例えば、提供装置１０は、タイミングＴｎにおける技術グラフ（すなわち、タイミングＴ０からタイミングＴｎまでに生じたアイデアや技術をノードとして含む技術グラフ）を生成し、生成した技術グラフを学習モデルに入力することで、タイミングＴｎ＋１における技術グラフを推定する。
【００４８】
また、提供装置１０は、タイミングＴｎにおける技術グラフと、推定したタイミングＴｎ＋１における技術グラフとを比較し、タイミングＴｎからタイミングＴｎ＋１までの新たに追加されるノード（以下、「新規ノード」と記載する。）を特定する。また、提供装置１０は、特定した新規ノードと、既存のノード（すなわち、タイミングＴｎにおける技術グラフに含まれるノード）との間の関係性を示すリンクを推定する。
【００４９】
そして、提供装置１０は、推定したリンクを示す情報を利用者に対して提供する（ステップＳ６）。例えば、提供装置１０は、推定したリンクが接続される既存ノードを特定し、特定した既存ノードと対応するアイデアや技術を示す情報を出力するとともに、「これらに関連する新たなアイデアはありませんか？」等というように、既存ノードから新たなノードと対応するアイデアや技術を考察するよう、利用者に対して提案する。
【００５０】
〔２．提供装置の構成〕
以下、上記した提供処理を実現する提供装置１０が有する機能構成の一例について説明する。図２は、実施形態に係る提供装置の構成例を示す図である。図２に示すように、提供装置１０は、通信部２０、記憶部３０、および制御部４０を有する。
【００５１】
通信部２０は、例えば、ＮＩＣ（Network  Interface  Card）等によって実現される。そして、通信部２０は、ネットワークＮと有線または無線で接続され、入出力装置１００との間で情報の送受信を行う。
【００５２】
記憶部３０は、例えば、ＲＡＭ（Random  Access  Memory)、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。また、記憶部３０は、技術グラフデータベース３１およびモデルデータベース３２を記憶する。
【００５３】
技術グラフデータベース３１には、技術グラフが登録されている。例えば、図３は、実施形態に係る技術グラフデータベースに登録される情報の一例を示す図である。図３に示す例では、技術グラフデータベース３１には、「タイミング」、「ブレストＩＤ（Identifier）」、「リンクＩＤ」、「第１ノードＩＤ」、および「第２ノードＩＤ」等といった項目を有する情報が、技術グラフごとに登録される。
【００５４】
ここで、「タイミング」とは、技術グラフがどのタイミングにおける技術グラフであるかを示す情報である。また、「ブレストＩＤ」とは、技術グラフがどのブレスト、すなわち、どの利用者のどの対話と対応する技術グラフであるかを示す情報である。また、「リンクＩＤ」とは、技術グラフに含まれるリンクを識別するための情報である。また、「第１ノードＩＤ」および「第２ノードＩＤ」とは、対応付けられた「リンクＩＤ」が示すリンクによって接続されたノード、すなわち、関連性を有する２つの技術要素を示すノードを識別する情報である。
【００５５】
例えば、図３に示す例では、「技術グラフ＃１」が示す技術グラフの情報として、タイミング「タイミング＃１」、ブレストＩＤ「ブレスト＃１」、リンクＩＤ「リンク＃１」、第１ノードＩＤ「ノード＃１」、および第２ノードＩＤ「ノード＃２」が対応付けて登録されている。このような情報は、「技術グラフ＃１」が示す技術グラフであって、タイミング「タイミング＃１」が示すタイミングにおける技術グラフが、ブレストＩＤ「ブレスト＃１」が示す対話と対応する技術グラフであり、リンクＩＤ「リンク＃１」が示すリンクにより、第１ノードＩＤ「ノード＃１」が示すノードと、第２ノードＩＤ「ノード＃２」が示すノードとが接続されている旨を示す。
【００５６】
なお、図３に示す例では、「タイミング＃１」「ブレスト＃１」、「リンク＃１」、「ノード＃１」等といった概念的な値について記載したが、実際には、タイミングを示す文字列や数値、ブレストを示す文字列や数値、リンクやノードを示す文字列や数値等が登録されることとなる。また、技術グラフデータベース３１には、各タイミングごとに、「技術グラフ＃１」が示す技術グラフの情報が登録されているものとする。また、図３に示す情報は、あくまで一例であり、技術グラフデータベース３１には、グラフ構造を有するデータであれば、任意の形式のデータが登録されていてよい。
【００５７】
図２に戻り、説明を続ける。モデルデータベース３２には、学習済モデルが登録される。例えば、モデルデータベース３２には、モデルに入力される情報である入力情報が入力される入力層と、入力層に入力された入力情報に対して所定の処理を順次行う複数の中間層と、複数の中間層のうち最後に処理を行う中間層の出力に基づいて、入力情報に対応する出力情報を生成する出力層とを有するモデルのデータが登録されている。より具体的には、モデルデータベース３２には、各ノードの接続関係や、ノード間の接続係数を示すデータが登録される。
【００５８】
ここで、モデルは、入力層から出力層までのいずれかの層であって出力層以外の層に属する第１要素と、第１要素と第１要素の重みとに基づいて値が算出される第２要素とを含み、入力層に入力された情報に対し、出力層以外の各層に属する各要素を第１要素として、第１要素と第１要素の重みとに基づく演算を行うことにより、入力層に入力された情報と対応する情報を出力層から出力するようコンピュータを機能させる。なお、モデルは、人工知能ソフトウェアの一部であるプログラムモジュールとしての利用が想定されるものであってもよい。
【００５９】
このようなモデルは、入力層にあるタイミングにおける技術グラフに含まれるノードを示す情報とリンクを示す情報とが入力された場合に、出力層から、将来その技術グラフに含まれるノードを示す情報とリンクを示す情報とを出力するようコンピュータを機能させる。例えば、モデルは、ＣＰＵ及びメモリを備えるコンピュータにて用いられる。具体的には、コンピュータのＣＰＵが、メモリに記憶された学習済モデルからの指令に従って、モデルの入力層に入力された技術グラフの情報に対して、ニューラルネットワークにおける学習済みの重みづけ係数と応答関数等に基づく演算を行い、出力層から将来の技術グラフを示す情報を出力するよう動作する。
【００６０】
ここで、モデルがＤＮＮ等、１つまたは複数の中間層を有するニューラルネットワークで実現される場合、各モデルが含む第１要素とは、入力層または中間層が有するいずれかのノードと見做すことができ、第２要素とは、第１要素と対応するノードから値が伝達されるノード、すなわち、次段のノードと対応し、第１要素の重みとは、第１要素と対応するノードから第２要素と対応するノードに伝達される値に対して考慮される重み、すなわち、接続係数である。
【００６１】
ここで、提供装置１０は、技術グラフデータベース３１に登録される情報を用いて、学習モデルの学習を行う。すなわち、技術グラフデータベース３１に登録される情報は、所定のタイミングの技術グラフが入力される入力層と、出力層と、入力層から出力層までのいずれかの層であって出力層以外の層に属する第１要素と、第１要素と第１要素の重みとに基づいて値が算出される第２要素とを含み、入力された所定のタイミングの技術グラフの特徴を反映させた重みに基づく演算を行うことにより、入力された技術グラフであって、所定のタイミングよりも後のタイミングにおける技術グラフを示す情報を出力層から出力するよう、コンピュータを機能させるためのデータである。
【００６２】
例えば、提供装置１０は、学習データとして、ある対話から生成した技術グラフであって、対話の最初から所定の第１タイミングまでの発言に基づいた第１技術グラフと、対話の最初から第１タイミングよりも後の第２タイミングまでの発言に基づいた第２技術グラフとを生成する。そして、提供装置１０は、第１技術グラフをモデルに入力した際に、モデルが出力する情報が第２技術グラフに近づくように、モデルの学習を行う。
【００６３】
なお、モデルの学習については、バックプロパゲーション等、任意の学習手法が適用可能である。このような学習を様々なタイミングについて繰り返し実行することで、提供装置１０は、ある対話と対応する技術グラフのノードやリンクの増加態様の特徴を学習したモデルであって、あるタイミングの技術グラフから将来の技術グラフを推定するモデルを生成することができる。すなわち、モデルに含まれるノード間の重みは、ある対話と対応する技術グラフのノードやリンクの増加態様の特徴が反映されており、入力された技術グラフから将来の技術グラフを推定するようにコンピュータを実行させるためのパラメータとなる。
【００６４】
制御部４０は、コントローラ（controller）であり、例えば、ＣＰＵ（Central  Processing  Unit）、ＭＰＵ（Micro  Processing  Unit）等のプロセッサによって、提供装置１０内部の記憶装置に記憶されている各種プログラムがＲＡＭ等を作業領域として実行されることにより実現される。また、制御部４０は、コントローラ（controller）であり、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路により実現されてもよい。
【００６５】
図２に示すように、制御部４０は、生成部４１、推定部４２、および提供部４３を有する。生成部４１は、対話ごとに技術グラフを生成する。例えば、生成部４１は、ある対話における利用者の発言を入出力装置１００から取得する。そして、生成部４１は、利用者の発話に含まれる技術やアイデアをノードとし、技術やアイデアの関係性を示すリンクを設定した技術グラフを、各単位時間ごとに生成する。そして、生成部４１は、生成した技術グラフを技術グラフデータベース３１に登録する。
【００６６】
なお、生成部４１は、所定の時間間隔で技術グラフの生成を行い、生成した技術グラフを技術グラフデータベース３１に登録することとなる。すなわち、生成部４１は、所定の時間間隔で、利用者がブレスト等の対話においてそれまでに発言したアイデアや技術の関係性を示す技術グラフを生成し、生成した技術グラフを技術グラフデータベース３１に登録する。
【００６７】
推定部４２は、対話の対象となる分野に属する技術要素をノードとし、各要素間の関係性をノード間のリンクとして示す技術グラフの成長速度を推定する。例えば、推定部４２は、将来における技術グラフの成長速度を推定する。より具体的な例を挙げると、推定部４２は、単位時間当たりのノードの増加数と、単位時間当たりの対話における発言回数とに基づいて、技術グラフの成長速度を推定する。例えば、推定部４２は、ノードの数の増加数を発言回数で除算した値を、技術グラフの成長速度とする。
【００６８】
例えば、推定部４２は、ある対話についての技術グラフの成長速度を推定する場合、モデルデータベース３２から対話と対応するモデルを読み出す。また、推定部４２は、技術グラフデータベース３１から、対話と対応する技術グラフであって、最も新しい技術グラフを読み出し、読み出した技術グラフをモデルに入力する。この結果、推定部４２は、将来の技術グラフとして推定された技術グラフを示す情報をモデルから得ることとなる。
【００６９】
続いて、推定部４２は、推定された将来の技術グラフと、それまでの技術グラフとを用いて、技術グラフの成長速度を推定する。すなわち、推定部４２は、将来の技術グラフの成長速度を推定する。例えば、推定部４２は、推定された将来の技術グラフに含まれるノードの数と、生成部４１によって生成された最新の技術グラフに含まれるノードの数との差を推定成長速度として算出する。なお、推定部４２は、ノードの数の差を平均的な発言数で除算した値を推定成長速度としてもよい。
【００７０】
一方、推定部４２は、生成部４１が対話と対応する新たな技術グラフを生成するまで待機する。そして、推定部４２は、生成部４１が新たな技術グラフを生成した場合は、生成部４１が新たに生成した技術グラフに含まれるノードの数と、生成部４１が前回生成した技術グラフに含まれるノードの数との差を、実際の成長速度として算出する。なお、推定部４２は、ノードの数の差を平均的な発言数で除算した値を実際の成長速度としてもよい。
【００７１】
そして、推定部４２は、実際の成長速度と推定成長速度との比較結果を提供部４３に提供する。例えば、推定部４２は、実際の成長速度が推定成長速度を下回るか否か、実際の成長速度や推定成長速度が所定の閾値を超えるか否か等を判定し、判定結果を提供部４３に出力する。
【００７２】
提供部４３は、推定された成長速度に応じて、対話を補助するための補助情報を提供する。例えば、提供部４３は、実際の対話に応じた技術グラフの成長速度が、推定された技術グラフの成長速度よりも遅い場合には、補助情報を提供する。また、提供部４３は、推定された技術グラフの成長速度が所定の成長速度よりも遅い場合には、補助情報を提供する。また、提供部４３は、技術グラフの成長態様の特徴を学習したモデルを用いて、既存のノードから将来生じる新たなノードを推定し、推定したノードを示す情報を補助情報として提供する。
【００７３】
例えば、提供部４３は、実際の成長速度が推定成長速度を下回る場合や、実際の成長速度や推定成長速度が所定の閾値を下回る場合等、利用者間の対話が停滞していると判断さされるような場合には、補助情報の提供を行う。例えば、提供部４３は、対話が停滞している旨のメッセージを入出力装置１００から出力するための情報を生成し、生成した情報を補助情報として入出力装置１００へと送信する。
【００７４】
なお、提供部４３は、推定したノードを示す情報を補助情報とする場合、以下の処理を実行する。まず、提供部４３は、技術グラフデータベース３１から対話と対応する技術グラフであって、最新の技術グラフを読み出す。また、提供部４３は、モデルデータベース３２から対話と対応するモデルを読み出す。そして、提供部４３は、読み出したモデルに対して最新の技術グラフを入力し、モデルによって推定される将来の技術グラフを得る。
【００７５】
ここで、提供部４３は、将来の技術グラフと最新の技術グラフとを比較し、将来生じると推定される新たなノードを特定する。また、提供部４３は、特定したノードとリンクによって接続された既存のノードを特定する。そして、提供部４３は、特定した既存のノードから新たなノードが生じる可能性がある旨の補助情報を生成し、生成した補助情報を入出力装置１００へと送信する。
【００７６】
〔３．提供装置が実行する処理の流れの一例〕
次に、図４を用いて、提供装置１０が実行する提供処理の流れの一例について説明する。図４は、実施形態に係る提供処理の流れの一例を説明するフローチャートである。まず、提供装置１０は、入出力装置１００を介して、対話における利用者の発言を取得する（ステップＳ１０１）。このような場合、提供装置１０は、取得した利用者の発言から技術グラフを生成する（ステップＳ１０２）。例えば、提供装置１０は、利用者の発言に含まれるアイデアや技術等の技術要素をノードとし、共起性を有する技術要素を接続するリンクを生成する。
【００７７】
続いて、提供装置１０は、技術グラフの成長態様をモデルに学習させる（ステップＳ１０３）。そして、提供装置１０は、技術グラフの成長速度が所定の閾値を下回るか否かを判定する（ステップＳ１０４）。例えば、提供装置１０は、モデルを用いて推定成長速度を求めるとともに、実際の成長速度が推定成長速度を下回るかを推定する。そして、提供装置１０は、技術グラフの成長速度が所定の閾値を下回る場合は（ステップＳ１０４：Ｙｅｓ）、学習モデルを用いて、既存ノードから生じる新たなノードを推定する（ステップＳ１０５）。
【００７８】
例えば、提供装置１０は、モデルに最新の技術グラフを入力することで将来の技術グラフを推定し、将来の技術グラフにおいて新たに追加されているノードである推定ノードを特定する。そして、提供装置１０は、既存ノードと推定ノードとの関係性を示すリンクを推定し（ステップＳ１０６）、推定した推定ノードとリンクとを示す情報を提供して（ステップＳ１０７）、処理を終了する。一方、提供装置１０は、技術グラフの成長速度が所定の閾値以上となる場合は（ステップＳ１０４：Ｎｏ）、ステップＳ１０１を実行する。
【００７９】
〔４．変形例〕
上記では、提供装置１０による提供処理の一例について説明した。しかしながら、実施形態は、これに限定されるものではない。以下、提供装置１０が実行する提供処理のバリエーションについて説明する。
【００８０】
〔４−１．装置構成〕
上述した例では、提供装置１０は、提供装置１０内で提供処理を実行した。しかしながら、実施形態は、これに限定されるものではない。例えば、提供装置１０は、技術グラフの初期モデルやパラメータを設定する生成装置、技術グラフの成長速度に基づいて、対話が停滞しているか否かを推定する推定装置、および推定結果に基づいた情報を提供する提供装置が連携して動作することで、実現されてもよい。このような場合、生成装置は、図２に示す生成部４１を有し、推定装置は、図２に示す推定部４２を有し、提供装置は、図２に示す提供部４３を有することとなる。また、提供装置１０は、技術グラフデータベース３１を外部のストレージサーバに記憶させてもよい。
【００８１】
また、提供装置１０は、モデルの学習を行う学習装置としての機能を有していてもよい。このような場合、提供装置１０が有する制御部４０は、例えば、学習処理を発揮するための学習部を有する。学習部は、あるタイミングの技術グラフをモデルに入力した際に、そのタイミングよりも後のタイミングにおける技術グラフを出力するように、モデルが有するノード間の接続係数（すなわち、重み係数）を修正することで、モデルに対し、対話に基づく技術グラフの成長態様の特徴を学習させることができる。
【００８２】
〔４−２．その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文章中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【００８３】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【００８４】
また、上記してきた各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【００８５】
〔５．プログラム〕
また、上述してきた実施形態に係る提供装置１０は、例えば図５に示すような構成のコンピュータ１０００によって実現される。図５は、ハードウェア構成の一例を示す図である。コンピュータ１０００は、出力装置１０１０、入力装置１０２０と接続され、演算装置１０３０、一次記憶装置１０４０、二次記憶装置１０５０、出力ＩＦ（Interface）１０６０、入力ＩＦ１０７０、ネットワークＩＦ１０８０がバス１０９０により接続された形態を有する。
【００８６】
演算装置１０３０は、一次記憶装置１０４０や二次記憶装置１０５０に格納されたプログラムや入力装置１０２０から読み出したプログラム等に基づいて動作し、各種の処理を実行する。一次記憶装置１０４０は、ＲＡＭ等、演算装置１０３０が各種の演算に用いるデータを一次的に記憶するメモリ装置である。また、二次記憶装置１０５０は、演算装置１０３０が各種の演算に用いるデータや、各種のデータベースが登録される記憶装置であり、ＲＯＭ(Read  Only  Memory)、ＨＤＤ、フラッシュメモリ等により実現される。
【００８７】
出力ＩＦ１０６０は、モニタやプリンタといった各種の情報を出力する出力装置１０１０に対し、出力対象となる情報を送信するためのインタフェースであり、例えば、ＵＳＢ（Universal  Serial  Bus）やＤＶＩ（Digital  Visual  Interface）、ＨＤＭＩ（登録商標）（High  Definition  Multimedia  Interface）といった規格のコネクタにより実現される。また、入力ＩＦ１０７０は、マウス、キーボード、およびスキャナ等といった各種の入力装置１０２０から情報を受信するためのインタフェースであり、例えば、ＵＳＢ等により実現される。
【００８８】
なお、入力装置１０２０は、例えば、ＣＤ（Compact  Disc）、ＤＶＤ（Digital  Versatile  Disc）、ＰＤ（Phase  change  rewritable  Disk）等の光学記録媒体、ＭＯ（Magneto-Optical  disk）等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等から情報を読み出す装置であってもよい。また、入力装置１０２０は、ＵＳＢメモリ等の外付け記憶媒体であってもよい。
【００８９】
ネットワークＩＦ１０８０は、ネットワークＮを介して他の機器からデータを受信して演算装置１０３０へ送り、また、ネットワークＮを介して演算装置１０３０が生成したデータを他の機器へ送信する。
【００９０】
演算装置１０３０は、出力ＩＦ１０６０や入力ＩＦ１０７０を介して、出力装置１０１０や入力装置１０２０の制御を行う。例えば、演算装置１０３０は、入力装置１０２０や二次記憶装置１０５０からプログラムを一次記憶装置１０４０上にロードし、ロードしたプログラムを実行する。
【００９１】
例えば、コンピュータ１０００が提供装置１０として機能する場合、コンピュータ１０００の演算装置１０３０は、一次記憶装置１０４０上にロードされたプログラムを実行することにより、制御部４０の機能を実現する。
【００９２】
〔６．効果〕
上述したように、提供装置１０は、対話の対象となる分野に属する技術要素をノードとし、各要素間の関係性をノード間のリンクとして示す技術グラフの成長速度を推定する。そして、提供装置１０は、推定された成長速度に応じて、対話を補助するための補助情報を提供する。このように、提供装置１０は、対話の進行状況（例えば、アイデアや技術要素の生成状況）を技術グラフに基づいて推定し、推定結果に応じたタイミングで、補助情報を提供するので、適切なタイミングで補助情報を提供できる結果、利用者間の対話の効率化を図ることができる。
【００９３】
また、提供装置１０は、将来における技術グラフの成長速度を推定し、実際の対話に応じた技術グラフの成長速度が、推定された技術グラフの成長速度よりも遅い場合には、補助情報を提供する。また、提供装置１０は、推定された技術グラフの成長速度が所定の成長速度よりも遅い場合には、補助情報を提供する。このため、提供装置１０は、対話が停滞しているような場合に、補助情報を提供するので、利用者間の対話の効率化を図ることができる。
【００９４】
また、提供装置１０は、単位時間当たりのノードの増加数と、単位時間当たりの対話における発言回数とに基づいて、技術グラフの成長速度を推定する。例えば、提供装置１０は、ノードの数の増加数を発言回数で除算した値を、技術グラフの成長速度とする。このため、提供装置１０は、対話が停滞しているか否かを適切に推定することができる。
【００９５】
また、提供装置１０は、技術グラフの成長態様の特徴を学習したモデルを用いて、既存のノードから将来生じる新たなノードを推定し、推定したノードを示す情報を補助情報として提供する。このため、提供装置１０は、対話において新たに生じるアイデアや技術要素を推定し、推定したアイデアや技術要素を示す情報を補助情報として提供することができる。
【００９６】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【００９７】
また、上記してきた「部（section、module、unit）」は、「手段」や「回路」などに読み替えることができる。例えば、生成部は、生成手段や生成回路に読み替えることができる。
【符号の説明】
【００９８】
１０  提供装置
２０  通信部
３０  記憶部
３１  技術グラフデータベース
３２  モデルデータベース
４０  制御部
４１  生成部
４２  推定部
４３  提供部
１００  入出力装置
【図１】
2019109789.tif 000003
【図２】
2019109789.tif 000004
【図３】
2019109789.tif 000005
【図４】
2019109789.tif 000006
【図５】
2019109789.tif 000007