IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社野村総合研究所の特許一覧

<>
  • 特許-ニーズマッチング装置およびプログラム 図1
  • 特許-ニーズマッチング装置およびプログラム 図2
  • 特許-ニーズマッチング装置およびプログラム 図3
  • 特許-ニーズマッチング装置およびプログラム 図4
  • 特許-ニーズマッチング装置およびプログラム 図5
  • 特許-ニーズマッチング装置およびプログラム 図6
  • 特許-ニーズマッチング装置およびプログラム 図7
  • 特許-ニーズマッチング装置およびプログラム 図8
  • 特許-ニーズマッチング装置およびプログラム 図9
  • 特許-ニーズマッチング装置およびプログラム 図10
  • 特許-ニーズマッチング装置およびプログラム 図11
  • 特許-ニーズマッチング装置およびプログラム 図12
  • 特許-ニーズマッチング装置およびプログラム 図13
  • 特許-ニーズマッチング装置およびプログラム 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-16
(45)【発行日】2024-02-27
(54)【発明の名称】ニーズマッチング装置およびプログラム
(51)【国際特許分類】
   G06Q 30/015 20230101AFI20240219BHJP
【FI】
G06Q30/015
【請求項の数】 5
(21)【出願番号】P 2020055392
(22)【出願日】2020-03-26
(65)【公開番号】P2021157363
(43)【公開日】2021-10-07
【審査請求日】2023-03-02
(73)【特許権者】
【識別番号】000155469
【氏名又は名称】株式会社野村総合研究所
(74)【代理人】
【識別番号】110002273
【氏名又は名称】弁理士法人インターブレイン
(72)【発明者】
【氏名】牧 純一郎
(72)【発明者】
【氏名】飛田 敏
(72)【発明者】
【氏名】渡邉 修一
(72)【発明者】
【氏名】堀 洋祐
(72)【発明者】
【氏名】永島 淳
【審査官】塩田 徳彦
(56)【参考文献】
【文献】特開2014-167722(JP,A)
【文献】中国特許出願公開第110909247(CN,A)
【文献】特開平10-031677(JP,A)
【文献】特開2002-251412(JP,A)
【文献】特開2015-121878(JP,A)
【文献】特開平11-134359(JP,A)
【文献】特開2018-142131(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00-99/00
(57)【特許請求の範囲】
【請求項1】
複数の登録ニーズの内容文をニーズ区分に紐づけて管理するデータベースに関して、各登録ニーズの前記内容文に含まれる各単語を表すベクトルと、前記ニーズ区分のタイトルに含まれる各単語を表すベクトルとに基づいて、当該登録ニーズを表す登録ニーズベクトルを算出する算出部と、
照会ニーズの内容文を受け付ける第1受付部と、
前記照会ニーズの前記内容文に含まれる各単語を表すベクトルに基づいて、前記照会ニーズを表す照会ニーズベクトルを算出し、算出された当該照会ニーズベクトルと類似する登録ニーズベクトルを探索する探索部と、
探索された前記登録ニーズベクトルで表される登録ニーズの少なくとも前記内容文を出力する出力部と、を備えることを特徴とするニーズマッチング装置。
【請求項2】
新たな登録ニーズに関する内容文とニーズ区分とを受け付けて、受け付けた当該登録ニーズを前記データベースに追加する第2受付部と、
前記算出部は、追加された前記登録ニーズを表す登録ニーズベクトルを算出し、
前記探索部は、追加された前記登録ニーズの前記登録ニーズベクトルが、前記照会ニーズベクトルと近似するか否かを判定し、
前記出力部は、追加された前記登録ニーズの前記登録ニーズベクトルが前記照会ニーズベクトルと近似する場合に、追加された前記登録ニーズの少なくとも前記内容文を出力することを特徴とする請求項1に記載のニーズマッチング装置。
【請求項3】
前記算出部は、前記各登録ニーズの前記内容文に含まれる前記各単語を表す前記ベクトルから当該内容文を表すニーズ内容ベクトルを算出し、前記ニーズ区分の前記タイトルに含まれる前記各単語を表す前記ベクトルから当該ニーズ区分を表すニーズ区分ベクトルを算出し、前記ニーズ内容ベクトルと前記ニーズ区分ベクトルとに基づいて、前記登録ニーズベクトルを算出することを特徴とする請求項1または2に記載のニーズマッチング装置。
【請求項4】
前記算出部は、前記各登録ニーズの前記内容文に含まれる前記各単語を表す前記ベクトルと、前記ニーズ区分の前記タイトルに含まれる前記各単語を表す前記ベクトルとに基づいて、前記登録ニーズベクトルを算出することを特徴とする請求項1または2に記載のニーズマッチング装置。
【請求項5】
複数の登録ニーズの内容文をニーズ区分に紐づけて管理するデータベースに関して、各登録ニーズの前記内容文に含まれる各単語を表すベクトルと、前記ニーズ区分のタイトルに含まれる各単語を表すベクトルとに基づいて、当該登録ニーズを表す登録ニーズベクトルを算出する機能と、
照会ニーズの内容文を受け付ける機能と、
前記照会ニーズの前記内容文に含まれる各単語を表すベクトルに基づいて、前記照会ニーズを表す照会ニーズベクトルを算出し、算出された当該照会ニーズベクトルと類似する登録ニーズベクトルを探索する機能と、
探索された前記登録ニーズベクトルで表される登録ニーズの少なくとも前記内容文を出力する機能と、を情報処理装置に発揮させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ニーズマッチングの技術に関する。
【背景技術】
【0002】
企業における事業は、他の企業との取引や協力によって成り立っている。そのため、企業は、新しい取引先や協力相手を探していることが多い。その企業にとって好適な相手が見つかれば、事業活動が円滑に進む。
【0003】
新しい取引先や協力相手は、人的な紹介などによって見つかることもあるが、人間関係に頼らずに効率よく出会える機会があればなお良い。
【0004】
双方の事業に関するニーズが満たされるときに、取引や協力関係が成立するという点で、新しい取引先や協力相手を探すということは、企業同士のニーズのマッチングがキーとなると言える。たとえば、ある企業がある商品を売りたいというニーズを持っており、別の企業がその商品を買いたいというニーズを持っていれば、それらのニーズはマッチしており、取引関係へ発展する可能性が高い。
【先行技術文献】
【特許文献】
【0005】
【文献】特開2018-13819号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
特許文献1にビジネスマッチングを支援するシステムが開示されている。特許文献1は、様々の企業に関する情報をデータベース化して、相手企業を探し出そうとする技術の一種である。企業に関する情報はテキストで表現されており、ユーザが設定したキーワードと一致する情報を検索するという手法が基礎となっている。つまり、テキストの比較によって適合する情報を探し出す。
【0007】
しかし、従来の手法では、必ずしも所望の企業情報にたどり着くとは限らない。表現的に合致していないように見えても、実質的にはニーズに適合する企業情報が見逃されることがある。企業に関する情報は膨大であって、人がニーズの実質的な適合性を判断することは、時間的にも労力的にも負荷が大きい。
【0008】
本発明は、上記課題認識に基づいて完成された発明であり、その主たる目的は、あるニーズに適合する他のニーズを効率的に見つけられるようにすることである。
【課題を解決するための手段】
【0009】
本発明のある態様におけるニーズマッチング装置は、複数の登録ニーズの内容文をニーズ区分に紐づけて管理するデータベースに関して、各登録ニーズの内容文に含まれる各単語を表すベクトルと、ニーズ区分のタイトルに含まれる各単語を表すベクトルとに基づいて、当該登録ニーズを表す登録ニーズベクトルを算出する算出部と、照会ニーズの内容文を受け付ける第1受付部と、照会ニーズの内容文に含まれる各単語を表すベクトルに基づいて、照会ニーズを表す照会ニーズベクトルを算出し、算出された当該照会ニーズベクトルと類似する登録ニーズベクトルを探索する探索部と、探索された登録ニーズベクトルで表される登録ニーズの少なくとも内容文を出力する出力部と、を備える。
【発明の効果】
【0010】
本発明によれば、あるニーズに適合する他のニーズを効率的に見つけられる。
【図面の簡単な説明】
【0011】
図1】本実施形態におけるニーズマッチングシステムのネットワーク構成図である。
図2】参考企業テーブルのデータ構造図である。
図3】単語テーブルのデータ構成図である。
図4】登録ニーズ受付画面の図である。
図5】登録ニーズテーブルのデータ構成図である。
図6】ニーズ区分テーブルのデータ構成図である。
図7】ニーズ区分ベクトル記憶部のデータ構成図である。
図8】登録ニーズベクトル記憶部のデータ構成図である。
図9】照会ニーズ受付画面の図である。
図10】マッチング結果画面の図である。
図11】サーバの機能ブロック図である。
図12】分散表現モデル生成処理の過程を示すフローチャート図である。
図13】登録ニーズ追加処理の過程を示すフローチャート図である。
図14】ニーズマッチング処理の過程を示すフローチャート図である。
【発明を実施するための形態】
【0012】
企業間の取引や協力関係は、企業同士のニーズが適合したときに成り立つ。ある企業がある商品を売りたいというニーズを持っており、別の企業がその商品を買いたいというニーズを持っていれば、それらのニーズはマッチしており、取引関係へ発展する可能性が高い。他にも、ある企業がある技術を開発したいというニーズを持っており、別の企業がその技術に関連する技術を提供したいというニーズを持っていれば、それらのニーズはマッチしており、研究や開発のパートナーになり得る。また、ある企業があるサービスを受けたいというニーズを持っており、別の企業がそのサービスを提供したいというニーズを持っていれば、それらのニーズはマッチしており、その企業のサービスが利用されるかも知れない。本実施形態では、このような企業間のニーズマッチングを支援するシステムを提案する。
【0013】
図1は、本実施形態におけるニーズマッチングシステムのネットワーク構成図である。ニーズマッチングシステムにおいて、好適なニーズ同士を引き合わせるためのニーズマッチングを行う。ただし、テキスト検索ではなくて、分散表現モデルを使ったベクトルの類似判定による探索を行う。
【0014】
本実施形態におけるニーズマッチングシステムは、サーバ100、ユーザ端末200aおよびユーザ端末200bを含む。この例で、ユーザ端末200aは、たとえばある企業の担当者が自社のニーズを登録するために使用する。登録されたニーズは他社から探索される対象となる。このように探索対象として登録されるニーズを、「登録ニーズ」という。ユーザ端末200bは、たとえば別の企業の担当者が登録ニーズの中から自社のニーズに適合するニーズを探し出すときに使用される。このように好適な登録ニーズを見つけるために提示するニーズを、「照会ニーズ」という。
【0015】
ユーザ端末200aおよびユーザ端末200bは、ネットワーク(たとえば、インターネット、LANや専用線など)を介してサーバ100と接続する。この図では、2つのユーザ端末200を示しているが、実際にはより多数のユーザ端末200が使用される。
【0016】
サーバ100は、分散表現モデルを有している。分散表現モデルは、分散表現モデル記憶部130に格納されている。以下、分散表現モデルについて説明する。
【0017】
分散表現モデルでは、多数の単語を高い次元の実数ベクトルで表す。分散表現モデルは、自然言語の文章を構造化し大規模に集積したコーパスとよばれるデータベースに基づく学習処理によって得られる。この技術は、自然言語処理の分野においてよく知られている。分散表現モデルとして得られる単語の実数ベクトルを、「単語ベクトル」という。なお、分散表現のベクトルであるという点で、「分散ベクトル」ということもある。また、テキストの意味を数値化しているという点で、「意味ベクトル」ということもある。
【0018】
代表的な分散表現の技術として、たとえばWord2vecが知られている。Word2vecでは、「近傍に出現する単語が似ている単語同士は意味的に近い」という前提に立ち、文において対象単語の近傍(たとえば前後5単語あるいは前後10単語)に出現する別の単語を探索するという問題を解く。ここでいう前後5単語とは、対象単語の5個前の単語から1個前までの単語と対象単語の1個後の単語から5個後までの単語の計10の単語の範囲のことである。学習手段としては、ニューラルネットワークが用いられる。大きなコーパスを用いた学習の過程で、近傍に出現する単語が似ている単語同士の単語ベクトルは、似た値を示すように変化する。
【0019】
分散表現モデルでは、単語ベクトルによって単語同士の類似関係を示すだけでなく、句、節、文や文章などの類似関係も示すことができる。複数の単語を含む文等において、これらの単語の単語ベクトルからその文等の分散ベクトル(「文ベクトル」等ということがある)を生成することが行われている。ある文の文ベクトルと別の文の文ベクトルが近似する場合、これらの文は内容が近しいことを示している。
【0020】
本実施形態では、分散表現モデルを用いて、ユーザ端末200aから受けた登録ニーズをベクトル化しておく。また、同様に、ユーザ端末200bから受けた照合ニーズもベクトル化する。ニーズ同士の適合性は、これらのベクトルの類似度によって求められる。類似度は、たとえばコサイン類似度である。詳しくは後述するが、本実施形態では、登録ニーズに関してニーズ区分も加味してベクトルを求める。
【0021】
どのような由来の分散表現モデルを使用するかは任意であるが、ここでは既存の企業情報のデータベースを利用する。企業情報のデータベースからコーパスを生成して、そのコーパスに基づく分散表現モデルを使用するものとする。ニーズマッチングを行う企業は、このデータベースに登録されている必要はない。このデータベースに載っている企業の情報は参考にすぎないので、「参考企業データベース」という。参考企業データベース120は、参考とする企業情報が格納されている参考企業テーブルを有している。
【0022】
図2は、参考企業テーブルのデータ構造図である。
参考企業テーブルは、分散表現モデルの生成に利用されるだけで、直接的にニーズマッチングにはかかわらない。企業テーブルは、企業毎のレコードを有する。企業テーブルのレコードには、参考企業ID、参考企業名および事業内容が含まれる。事業内容のフィールドには、一文のみが設定されてもよいし、複数の文が設定されてもよい。あるいは、単語や句を列挙したテキストなどでもよい。
【0023】
図3は、単語テーブルのデータ構成図である。
分散表現モデルの実体は、たとえば単語テーブルのデータ形式をとる。単語テーブルは、単語毎のレコードを有する。単語テーブルのレコードには、単語および単語ベクトルが設定される。
【0024】
図4は、登録ニーズ受付画面の図である。
登録ニーズ受付画面は、ユーザ端末200aからログインされたサーバ100で生成されて、ユーザ端末200aに送信される。そして、ユーザ端末200aに表示された画面で、ユーザから登録ニーズの情報を受け付ける。登録企業の表示領域300には、ニーズを登録する企業の名前が表示される。ログインされた段階で、企業名、所在地、アカウント情報、担当者氏名、メールアドレスや電話番号などを管理する企業テーブル(図示せず)を参照して、企業名が特定されるものとする。登録ニーズ内容の入力領域302には、登録ニーズの内容がテキストで入力される。ニーズ区分の選択領域304では、ニーズ区分が選択される。この例では、予め設定されているニーズ区分の候補の中からプルダウンメニュー方式で選択する。登録ボタン306がタッチされると、登録企業名、登録ニーズ内容およびニーズ区分IDを含む登録ニーズのデータ(以下、「登録ニーズデータ」という)が、サーバ100へ送信される。取消ボタン308がタッチされると、登録ニーズデータを送信せずに、登録ニーズ受付画面が閉じられる。
【0025】
図5は、登録ニーズテーブルのデータ構成図である。
サーバ100へ送信された登録ニーズデータは、登録ニーズテーブルに格納される。登録ニーズテーブルは、登録ニーズ毎のレコードを有する。サーバ100において登録ニーズデータを受信すると、新たなレコードが追加される。登録ニーズテーブルのレコードには、登録企業名、登録ニーズ内容およびニーズ区分IDが設定される。
【0026】
図6は、ニーズ区分テーブルのデータ構成図である。
ニーズ区分テーブルは、ニーズデータベース140に予め用意されている。ニーズ区分テーブルは、ニーズ区分毎のレコードを有する。ニーズ区分テーブルのレコードには、ニーズ区分IDおよびニーズ区分タイトルが設定されている。ニーズ区分タイトルは、上述したニーズ区分の選択領域304のプルダウンメニューで表示される。
【0027】
図7は、ニーズ区分ベクトル記憶部のデータ構成図である。
ニーズ区分ベクトル記憶部もニーズ区分テーブルに合わせて、予めニーズデータベース140に用意されている。ニーズ区分ベクトル記憶部は、ニーズ区分ごとのレコードを有する。ニーズ区分ベクトル記憶部のレコードには、ニーズ区分IDとニーズ区分ベクトルが対応付けて設定される。ニーズ区分ベクトルは、ニーズ区分タイトルの分散ベクトルに相当する。つまり、ニーズ区分ベクトルは、ニーズ区分タイトルに含まれる各単語の単語ベクトルから生成される。この例では、ニーズ区分タイトルに含まれる各単語の単語ベクトルの平均化によって生成される。例えば、タイトル「研究開発協力」のニーズ区分ベクトルは、「研究」の単語ベクトル、「開発」の単語ベクトルおよび「協力」の単語ベクトルの平均ベクトルである。したがって、「研究開発協力」のニーズ区分ベクトルには、「研究」の単語ベクトルの特徴、「開発」の単語ベクトルの特徴および「協力」の単語ベクトルの特徴が反映されている。
【0028】
図8は、登録ニーズベクトル記憶部のデータ構成図である。
登録ニーズベクトルは、サーバ100において登録ニーズデータを受信してから生成される。登録ニーズベクトル記憶部は、登録ニーズに対応するレコードを有し、そのレコードには、登録ニーズIDと登録ニーズベクトルが対応付けて設定される。登録ニーズベクトルは、登録ニーズの分散ベクトルに相当する。ただし、登録ニーズ内容のみならず、ニーズ区分も加味して生成される。具体的には、登録ニーズ内容の分散ベクトル(以下、「ニーズ内容ベクトル」という)とニーズ区分ベクトルから生成される。この例では、ニーズ内容ベクトルとニーズ区分ベクトルの加重平均によって登録ニーズベクトルが算出される。重みの比率は一定であるものとする。たとえば、ニーズ内容ベクトルの重みが7で、ニーズ区分ベクトルの重みが3であるとすれば、ベクトルの各成分について、ニーズ内容ベクトルの値に7を乗じ、ニーズ区分ベクトルの値に3を乗じ、それらの合計を10で割ることによって、登録ニーズベクトルの値が算出される。
【0029】
たとえば、図5の登録ニーズID:N0300の登録ニーズベクトルは、「静音モータの応用分野を増やしたい」のニーズ内容ベクトルと「研究開発協力」のニーズ区分ベクトルの7:3の荷重平均によって求められる。「静音モータの応用分野を増やしたい」のニーズ内容ベクトルは、「静音」の単語ベクトル、「モータ」の単語ベクトル、「応用」の単語ベクトル、「分野」の単語ベクトル、「増やす」の単語ベクトルおよび「したい」の単語ベクトルの平均ベクトルである。ここでは、助詞を無視するものとする。また、「研究開発協力」のニーズ区分ベクトルは、「研究」の単語ベクトル、「開発」の単語ベクトルおよび「協力」の単語ベクトルの平均ベクトルである。したがって、登録ニーズID:N0300の登録ニーズベクトルには、「静音」の単語ベクトルの特徴、「モータ」の単語ベクトルの特徴、「応用」の単語ベクトルの特徴、「分野」の単語ベクトルの特徴、「増やす」の単語ベクトルの特徴、「したい」の単語ベクトルの特徴、「研究」の単語ベクトルの特徴、「開発」の単語ベクトルの特徴および「協力」の単語ベクトルの特徴が反映されている。なお、加重平均に代えて、単純平均を用いてもよい。
【0030】
図9は、照会ニーズ受付画面の図である。
照会ニーズ受付画面は、ユーザ端末200bからログインされたサーバ100で生成されて、ユーザ端末200bに送信される。そして、ユーザ端末200bに表示された画面で、ユーザから照会ニーズの情報を受け付ける。照会ニーズ内容の入力領域310には、照会ニーズの内容がテキストで入力される。実行ボタン312がタッチされると、照会ニーズ内容が照会ニーズのデータ(以下、「照会ニーズデータ」という)としてサーバ100へ送られる。取消ボタン314がタッチされると、照会ニーズデータを送信せずに、照会ニーズ受付画面が閉じられる。
【0031】
サーバ100は、照会ニーズデータを受信すると、照会ニーズ内容のテキストに基づいて、照会ニーズベクトルを生成する。つまり、照会ニーズベクトルは、照会ニーズの分散ベクトルに相当する。具体的には、照会ニーズ内容に含まれる単語の単語ベクトルから生成される。この例では、それらの単語ベクトルの平均が、照会ニーズベクトルとなる。
【0032】
たとえば、「静かな掃除機の開発を手伝って欲しい」の照会ニーズベクトルは、「静か」の単語ベクトル、「掃除機」の単語ベクトル、「開発」の単語ベクトル、「手伝う」の単語ベクトルおよび「欲しい」の単語ベクトルから生成される。したがって、「静かな掃除機の開発を手伝って欲しい」の照会ニーズベクトルには、「静か」の単語ベクトルの特徴、「掃除機」の単語ベクトルの特徴、「開発」の単語ベクトルの特徴、「手伝う」の単語ベクトルの特徴および「欲しい」の単語ベクトルの特徴が反映されている。
【0033】
図10は、マッチング結果画面の図である。
マッチング結果画面では、照会ニーズにマッチした登録ニーズを一覧形式で表示する。マッチング結果画面は、照会ニーズデータの送信元であるユーザ端末200bへ返信される。各登録ニーズの行には、登録ニーズ内容の表示領域320、ニーズ区分の表示領域322、登録企業の表示領域324および詳細ボタン326が含まれる。詳細ボタン326にタッチすると、登録企業に関する詳細な情報(企業名、所在地、担当者氏名、メールアドレスや電話番号など)が表示される。
【0034】
第1行に表示された登録ニーズについて説明する。図8に関連して説明したとおり、ニーズ内容ベクトル「静音モータの応用分野を増やしたい」とニーズ区分ベクトル「研究開発協力」から生成された登録ニーズベクトルには、「静音」の単語ベクトルの特徴、「モータ」の単語ベクトルの特徴、「応用」の単語ベクトルの特徴、「分野」の単語ベクトルの特徴、「増やす」の単語ベクトルの特徴、「したい」の単語ベクトルの特徴、「研究」の単語ベクトルの特徴、「開発」の単語ベクトルの特徴および「協力」の単語ベクトルの特徴が反映されている。一方、図9に関連して説明したとおり、「静かな掃除機の開発を手伝って欲しい」の照会ニーズベクトルには、「静か」の単語ベクトルの特徴、「掃除機」の単語ベクトルの特徴、「開発」の単語ベクトルの特徴、「手伝う」の単語ベクトルの特徴および「欲しい」の単語ベクトルの特徴が反映されている。
【0035】
両者を比較すると、登録ニーズベクトルの「静音」の単語ベクトルの特徴は、照会ニーズベクトルの「静か」の単語ベクトルの特徴に近しい。登録ニーズベクトルの「モータ」の単語ベクトルの特徴は、照会ニーズベクトルの「掃除機」の単語ベクトルの特徴と関連がある。登録ニーズベクトルの「開発」の単語ベクトルの特徴は、照会ニーズベクトルと共通する。登録ニーズベクトルの「協力」の単語ベクトルの特徴は、照会ニーズベクトルの「手伝う」の単語ベクトルの特徴に近しい。登録ニーズベクトルの「したい」の単語ベクトルの特徴は、照会ニーズベクトルの「欲しい」の単語ベクトルの特徴に近しい。よって、第1行目に関する登録ニーズベクトルは、全体として「静かな掃除機の開発を手伝って欲しい」の照会ニーズベクトルと近しく、高い類似度を示すことになる。特に、「静音モータの応用分野を増やしたい」のニーズ内容ベクトルにはない「開発」の単語ベクトルの特徴と「協力」の単語ベクトルの特徴が、ニーズ区分ベクトルによって補足されている点で、実効性が高まっている。
【0036】
図11は、サーバ100の機能ブロック図である。
サーバ100の各構成要素は、CPU(Central Processing Unit)および各種コプロセッサなどの演算器、メモリやストレージといった記憶装置、それらを連結する有線または無線の通信線を含むハードウェアと、記憶装置に格納され、演算器に処理命令を供給するソフトウェアによって実現される。コンピュータプログラムは、デバイスドライバ、オペレーティングシステム、それらの上位層に位置する各種アプリケーションプログラム、また、これらのプログラムに共通機能を提供するライブラリによって構成されてもよい。図示した各ブロックは、ハードウェア単位の構成ではなく、機能単位のブロックを示している。
【0037】
サーバ100は、データ格納部110、データ処理部150および通信部190を含む。通信部190は、ネットワークを介した通信処理を担当する。データ格納部110は各種データを格納する。データ処理部150は、通信部190により取得されたデータおよびデータ格納部110に格納されているデータに基づいて各種処理を実行する。データ処理部150は、通信部190およびデータ格納部110のインタフェースとしても機能する。
【0038】
通信部190は、データを送信する送信部180とデータを受信する受信部170を含む。
送信部180は、各種画面データを送信する画面データ送信部182を含む。受信部170は、登録ニーズデータを受信する登録ニーズデータ受信部172および照会ニーズデータを受信する照会ニーズデータ受信部174を含む。
【0039】
データ処理部150は、モデル生成部152、登録ニーズベクトル算出部154、画面データ生成部160および探索部162を含む。
モデル生成部152は、分散表現モデル生成処理を実行する。登録ニーズベクトル算出部154は、登録ニーズベクトルを算出する。画面データ生成部160は、各種画面データを生成する。探索部162は、照会ニーズに適合する登録ニーズの探索を行う。
【0040】
データ格納部110は、参考企業データベース120、分散表現モデル格納部130およびニーズデータベース140を含む。参考企業データベース120は、図2に示した参考企業テーブルを格納する。分散表現モデル格納部130は、図3に示した単語テーブルを格納する。ニーズデータベース140は、登録ニーズテーブル格納部142、ニーズ区分テーブル格納部144、ニーズ区分ベクトル記憶部146および登録ニーズベクトル記憶部148を有する。登録ニーズテーブル格納部142は、登録ニーズテーブル(図5参照)を格納する。ニーズ区分テーブル格納部144は、ニーズ区分テーブル(図6参照)を格納する。ニーズ区分ベクトル記憶部146については、図7に関連して上述した。登録ニーズベクトル記憶部148については、図8に関連して上述した。
【0041】
図12は、分散表現モデル生成処理の過程を示すフローチャート図である。
モデル生成部152は、参考企業テーブル(図2)からコーパスを生成する(S10)。コーパスとは、自然言語の文章を構造化した大規模データである。コーパスは、データ格納部110に保持される。具体的には、モデル生成部152は、各企業の事業内容から抽出される文ごとに、形態素解析を行って分かち書き形式に変換する。分かち書きとは、単語の間を余白で空けて区切る文字列である。分かち書き形式のデータが、コーパスに含められる。
【0042】
モデル生成部152は、コーパスを用いて単語ベクトルを生成する(S12)。具体的には、モデル生成部152は、たとえばWord2vecの学習処理によって、コーパスに含まれる各単語に関する単語ベクトルを求める。生成された単語ベクトルは、分散表現モデル格納部130に単語テーブル(図3)の形式で格納される。
【0043】
図13は、登録ニーズ追加処理の過程を示すフローチャート図である。
登録ニーズデータ受信部172は、ユーザ端末200から登録ニーズデータを受信すると(S20)、登録ニーズテーブルを更新する(S22)。具体的には、登録ニーズデータ受信部172は、登録ニーズテーブルに新たなレコードを設けて、登録ニーズデータに含まれる登録企業名、登録ニーズ内容およびニーズ区分IDをそのレコードに設定する。
【0044】
登録ニーズベクトル算出部154は、登録ニーズ内容に含まれる各文の文ベクトルを算出する(S24)。文に含まれる単語の単語ベクトルから、文ベクトルが生成される。生成方法は、例えば平均化である。つまり、文ベクトルは、単語ベクトルの平均ベクトルである。
【0045】
登録ニーズベクトル算出部154は、登録ニーズ内容に含まれる各文の文ベクトルの平均を算出して、算出された平均ベクトルをニーズ内容ベクトルとする(S26)。登録ニーズベクトル算出部154は、平均化以外の方法で、文ベクトルからニーズ内容ベクトルを生成してもよい。
【0046】
登録ニーズベクトル算出部154は、上述のとおり、ニーズ内容ベクトルとニーズ区分ベクトルの荷重平均によって、登録ニーズベクトルを算出する(S28)。登録ニーズベクトルは、登録ニーズIDに対応づけて登録ニーズベクトル記憶部148に記憶される。加重平均に代えて、単純平均を用いてもよい。
【0047】
図14は、ニーズマッチング処理の過程を示すフローチャート図である。
照会ニーズデータ受信部174がサーバ100から照会ニーズデータを受信すると(S30)、探索部162は、照会ニーズベクトルを算出する(S32)。具体的には、照会ニーズ内容が句、節や文である場合には、形態素解析によって単語を抽出する。照会ニーズ内容が、複数の単語がスペースや読点などで区切られている場合には、それらの単語を用いる。照会ニーズ内容に含まれる単語の単語ベクトルから、照会ニーズベクトルが生成される。生成方法は、例えば平均化である。つまり、照会ニーズベクトルは、単語ベクトルの平均ベクトルである。
【0048】
探索部162は、照会ニーズベクトルと類似する登録ニーズベクトルを探索する(S34)。具体的には、探索部162は、登録ニーズベクトル記憶部148に記憶されている各登録ニーズベクトルと照会ニーズベクトルとの類似度を算出する。そして、探索部162は、基準値以上の類似度を有する登録ニーズベクトルに対応する登録ニーズ内容、ニーズ区分IDおよび登録企業名を抽出する。
【0049】
画面データ生成部160は、抽出された登録ニーズ内容、ニーズ区分IDおよび登録企業名を一覧表示するマッチング結果画面を生成し、画面データ送信部182は、生成されたマッチング結果画面のデータをユーザ端末200へ送信する(S36)。このとき、類似度の降順に登録ニーズの行がソートされてもよい。また、各登録ニーズに関する類似度が表示されてもよい。
【0050】
本実施形態では、登録ニーズベクトル算出部154が、各登録ニーズの内容文に含まれる各単語を表す単語ベクトルからニーズ内容ベクトルを算出し、さらにニーズ区分のタイトルに含まれる各単語を表す単語ベクトルからニーズ区分ベクトルを算出し、そして、ニーズ内容ベクトルの重みとニーズ区分ベクトルの重みの比を一定とした加重平均によって、各登録ニーズベクトルを算出する例を示した。
【0051】
[変形例]
変形例として、登録ニーズベクトル算出部154は、各登録ニーズの内容文に含まれる各単語を表す単語ベクトルの第1重みを一定とし、ニーズ区分のタイトルに含まれる各単語を表す単語ベクトルの第2重みを一定とした加重平均によって、各登録ニーズベクトルを算出してもよい。
【0052】
たとえば、第1重みが7で、第2重みが3であるとすれば、図5の登録ニーズID:N0300の登録ニーズベクトルにおける各要素の値は、「静音」の単語ベクトルの値、「モータ」の単語ベクトルの値、「応用」の単語ベクトルの値、「分野」の単語ベクトルの値、「増やす」の単語ベクトルの値および「したい」の単語ベクトルの値にそれぞれ7を乗じ、「研究」の単語ベクトルの値、「開発」の単語ベクトルの値および「協力」の単語ベクトルの値にそれぞれ3を乗じて、それらの合計を51(=7×6+3×3)で割ることによって算出される。加重平均に代えて、単純平均を用いてもよい。
【0053】
また、照会ニーズの入力によってニーズマッチングを行った後に、再びその照会ニーズによるニーズマッチングを行うようにしてもよい。そのようにすれば、後に追加された登録ニーズとの適合性もチェックできる。たとえば、新しい登録ニーズが追加された時点で、それまでに受け付けた照合ニーズとの類似を検証してもよいし、周期的に過去の照合ニーズとの類似を検証してもよい。
【0054】
そのため、登録ニーズデータ受信部172は、新たな登録ニーズに関する内容文とニーズ区分とを受信すると、受信した登録ニーズをニーズデータベース140に追加する。登録ニーズベクトル154は、追加された登録ニーズを表す登録ニーズベクトルを算出する。探索部162は、追加された登録ニーズの登録ニーズベクトルが、過去に受信した照会ニーズベクトルと近似するか否かを判定する。追加された登録ニーズの登録ニーズベクトルが照会ニーズベクトルと近似する場合に、通知部(不図示)は、追加された登録ニーズの情報を、照会ニーズベクトルを送ったユーザのメールアドレス宛のメールにて送信する。あるいは、過去の照会ニーズに適合する登録ニーズが追加された旨だけをメールで送信してもよい。また、このメールを受け取ったユーザが、ユーザ端末200bからログインして、追加された登録ニーズの情報を確認できるようにしてもよい。
【0055】
ベクトルの平均化において、例えばTF-IDF(Term Frequency-Inverse Document Frequency)のような評価指標を用いて、元となる単語ベクトル毎、句ベクトル毎あるいは文ベクトル毎などに重みづけを行ってもよい。
【0056】
また、照会ニーズ受付画面(図9)においてニーズ区分を受け付け、照会ニーズデータにニーズ区分IDを含めてもよい。探索部162は、受け付けたニーズ区分に合致する登録ニーズを登録ニーズテーブル(図5)から抽出し、抽出された登録ニーズについて、反対ニーズのマッチングを行うようにしてもよい。たとえば、「〇〇を買いたい」の反対ニーズは、「〇〇を売りたい」である。つまり、探索部162は、照会ニーズ内容に含まれる「買いたい」を反対語の「売りたい」に置き換えてから、その照会ニーズ内容によって照会ニーズベクトルを算出し、その照会ニーズベクトルと類似する登録ニーズベクトルの探索を行うようにする。
【0057】
実施形態では、登録ニーズベクトルおよび照会ニーズベクトルを算術平均によって求める例を示したが、他の方法で算出してもよい。たとえば、マッチングに対するフィードバックとして評価や実績を受け付けて、その評価や実績を教師データとする機械学習によって、最終的な登録ニーズベクトルまたは/および最終的な照会ニーズベクトルを算出するようにしてもよい。たとえば、相手と連絡が取れた場合や商談が成立した場合に、評価値を高くするようにしてもよい。相手と連絡が取れた回数や商談が成立した回数を、実績値としてもよい。
【0058】
照会ニーズ入力の際に、ニーズ区分を指定できるようにしてもよい。また、ニーズ区分に、予め反対ニーズを対応付けて定義しておいてもよい。ニーズマッチングの際には、照会ニーズ内容と、照会ニーズ区分の反対ニーズとに基づいて、照会ニーズベクトルを生成してもよい。そして、その照会ニーズベクトルを用いて登録ニーズベクトルとの類似度を算出するようにしてもよい。
【0059】
なお、本発明は上記実施形態や変形例に限定されるものではなく、要旨を逸脱しない範囲で構成要素を変形して具体化することができる。上記実施形態や変形例に開示されている複数の構成要素を適宜組み合わせることにより種々の発明を形成してもよい。また、上記実施形態や変形例に示される全構成要素からいくつかの構成要素を削除してもよい。
【符号の説明】
【0060】
100 サーバ、110 データ格納部、120 参考企業データベース、130 分散表現モデル格納部、140 ニーズデータベース、142 登録ニーズテーブル格納部、144 ニーズ区分テーブル格納部、146 ニーズ区分ベクトル記憶部、148 登録ニーズベクトル記憶部、150 データ処理部、152 モデル生成部、154 登録ニーズベクトル算出部、160 画面データ生成部、162 探索部、170 受信部、172 登録ニーズデータ受信部、174 照会ニーズデータ受信部、180 送信部、182 画面データ送信部、190 通信部、200 ユーザ端末、300 表示領域、302 入力領域、304 選択領域、306 登録ボタン、308 取消ボタン、310 入力領域、312 実行ボタン、314 取消ボタン、320 表示領域、322 表示領域、324 表示領域、326 詳細ボタン
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14