(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2022-12-09
(45)【発行日】2022-12-19
(54)【発明の名称】マッチングシステムおよびプログラム
(51)【国際特許分類】
G06Q 50/10 20120101AFI20221212BHJP
G06Q 30/02 20120101ALI20221212BHJP
【FI】
G06Q50/10
G06Q30/02 480
(21)【出願番号】P 2021098929
(22)【出願日】2021-06-14
【審査請求日】2021-08-18
(73)【特許権者】
【識別番号】596108508
【氏名又は名称】株式会社大和総研
(74)【代理人】
【識別番号】100114638
【氏名又は名称】中野 寛也
(72)【発明者】
【氏名】加藤 惇雄
(72)【発明者】
【氏名】參木 裕之
(72)【発明者】
【氏名】原 悟
(72)【発明者】
【氏名】伊東 俊哉
(72)【発明者】
【氏名】臼井 飛翔
(72)【発明者】
【氏名】佐藤 泰之
(72)【発明者】
【氏名】岡田 航
(72)【発明者】
【氏名】大堀 崇志
(72)【発明者】
【氏名】馬場 陽一
(72)【発明者】
【氏名】田中 稔介
【審査官】松野 広一
(56)【参考文献】
【文献】特開2021-026413(JP,A)
【文献】特開2015-164022(JP,A)
【文献】特開2010-118064(JP,A)
【文献】米国特許出願公開第2017/0300563(US,A1)
【文献】中国特許出願公開第112800209(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00-99/00
(57)【特許請求の範囲】
【請求項1】
自然人、法人、法人でない団体、またはその他の案件同士を組み合わせるマッチング処理を実行するコンピュータにより構成されたマッチングシステムであって、
多数の案件の各々についての自己の特徴を記述したテキストデータからなる自己データ、およびマッチング相手に対するニーズを記述したテキストデータからなるニーズデータ、または、これらの自己データとニーズデータとを結合して得られた結合テキストデータを、各案件に固有の情報を記述した多数の固有テキストデータとして用いて、ソフトクラスタリングまたはニューラル言語モデルによるトピック推定処理を実行して得られた、各案件の固有テキストデータにおける各トピックの出現確率を示すトピック値を、案件識別情報と関連付けて記憶するとともに、当該トピック推定処理を実行して得られた各トピックにおける各単語の出現確率を記憶するトピックモデル記憶手段と、
キーワードまたは案件識別情報の入力を受け付ける処理を実行する入力受付手段と、
この入力受付手段により案件識別情報の入力を受け付けた場合に、受け付けた案件識別情報の案件をマッチング処理の対象案件とし、前記トピックモデル記憶手段に記憶されている各案件の前記固有テキストデータにおける各トピックの出現確率を示すトピック値を用いて、対象案件とこの対象案件のマッチング相手となる各候補案件とからなる複数のペアの各々についてのマッチング用特徴データを作成し、作成した複数のマッチング用特徴データの各々を入力データとして、選定されるか否かの2クラス分類で予め学習されてマッチングモデル記憶手段に記憶されたマッチングモデルを用いて、教師あり分類モデルによる分類処理を行うことにより、対象案件に対して各候補案件が選定される確度を示すスコアを算出する処理を実行するマッチング手段と、
前記入力受付手段により案件識別情報の入力を受け付けた場合に、前記マッチング手段による処理と併せて、各案件の前記固有テキストデータを用いて算出した前記対象案件とそれ以外の案件との間の案件類似度の高い順で前記対象案件の類似案件を抽出する処理を実行する類似案件検索手段と、
前記入力受付手段によりキーワードの入力を受け付けた場合に、分散表現モデル記憶手段に記憶された単語の分散表現を用いて算出した前記キーワードとそれ以外の単語との間の一般類似度を最終類似度とするか、または、この一般類似度と、各案件の前記固有テキストデータを用いて算出した前記キーワードとそれ以外の単語との間の固有類似度とを用いて最終類似度を算出し、得られた最終類似度の高い順で前記キーワードの関連単語を決定するとともに、前記キーワードおよび前記関連単語の各々が、各案件の前記固有テキストデータの中に出現する単語別出現回数を求め、求めた単語別出現回数および前記関連単語の最終類似度を用いて算出した前記キーワードに対する各案件の関連度の高い順で関連案件を決定する処理を実行する連想検索手段と、
前記入力受付手段によりキーワードの入力を受け付けた場合には、前記連想検索手段により決定した前記関連案件、または、前記関連案件に加えて前記関連単語を、前記入力受付手段によるキーワードまたは案件識別情報の入力部と同一の画面上に表示し、前記入力受付手段により案件識別情報の入力を受け付けた場合には、前記マッチング手段により算出したスコアの高い前記候補案件を、推薦案件として前記入力部と同一の画面上に表示するとともに、前記類似案件検索手段により抽出した前記類似案件を、前記入力部と同一の画面上に表示する処理を実行する出力手段と
を備えたことを特徴とするマッチングシステム。
【請求項2】
前記トピック推定処理に用いられていない新規案件についての前記固有テキストデータ、および、前記トピックモデル記憶手段に記憶されている各トピックにおける各単語の出現確率を用いて、前記新規案件の前記固有テキストデータにおける各トピックの出現確率を示すトピック値を予測する処理を実行するトピック値予測手段を備え、
前記マッチング手段は、
前記トピック値予測手段により求めた前記新規案件の前記固有テキストデータにおける各トピックの出現確率を示すトピック値と、前記トピックモデル記憶手段に記憶されている前記新規案件のマッチング相手となる各候補案件の前記固有テキストデータにおける各トピックの出現確率を示すトピック値とを用いて、前記新規案件と前記各候補案件とからなる複数のペアについてのマッチング用特徴データを作成し、作成した複数のマッチング用特徴データの各々を入力データとして、選定されるか否かの2クラス分類で予め学習されて前記マッチングモデル記憶手段に記憶されたマッチングモデルを用いて、教師あり分類モデルによる分類処理を行うことにより、前記新規案件に対して前記各候補
案件が選定される確度を示すスコアを出力する処理を実行する構成とされ、
前記類似案件検索手段は、
前記新規案件およびそれ以外の各案件の前記固有テキストデータを用いて算出した前記新規案件とそれ以外の案件との間の案件類似度を含めて類似案件を抽出する処理を実行する構成とされ、
前記連想検索手段は、
前記キーワードおよび前記関連単語の各々が、前記新規案件を含めた各案件の前記固有テキストデータの中に出現する単語別出現回数を求め、求めた単語別出現回数および前記関連単語の最終類似度を用いて算出した前記キーワードに対する各案件の関連度の高い順で関連案件を決定する処理を実行する構成とされている
ことを特徴とする請求項1に記載のマッチングシステム。
【請求項3】
前記類似案件検索手段は、
前記トピックモデル記憶手段に記憶されている各案件の固有テキストデータにおける各トピックの出現確率を示すトピック値からなるトピック分布ベクトルと、各案件の前記固有テキストデータを構成する各単語の分散表現の平均値からなる文章ベクトルと、各案件の前記固有テキストデータについての各単語のTFIDF値またはその他の単語重要度指標値からなる単語重要度ベクトルとのうちの少なくとも1つのベクトルを用いて算出した前記対象案件とそれ以外の案件との間の案件類似度の高い順で前記対象案件の類似案件を抽出する処理を実行する構成とされている
ことを特徴とする請求項1または2に記載のマッチングシステム。
【請求項4】
前記入力受付手段により受け付けたキーワードまたは案件識別情報、並びにこれらの入力順を含むログ情報を記憶する検索履歴記憶手段を備え、
前記入力受付手段は、
前記検索履歴記憶手段に記憶されている前記ログ情報を用いて、キーワードまたは案件識別情報のいずれの入力を受け付けたのかの入力種別および入力順を示すことに加え、
前記対象案件に対する前記推薦案件の案件識別情報の入力を受け付けたのか、前記対象案件の前記類似案件の案件識別情報の入力を受け付けたのかを区別する推薦・類似区別情報と、
前記推薦案件の案件識別情報と前記類似案件の案件識別情報との入力の受付を繰り返す中で、案件識別情報の入力を受け付けた案件が、マッチングを求める側の案件か、マッチング相手側の案件かという観点から、前記推薦案件については、案件識別情報の入力を受け付けた案件と反対側の案件とし、前記類似案件については、案件識別情報の入力を受け付けた案件と同じ側の案件とし、前記推薦案件に対する前記推薦案件については、案件識別情報の入力を受け付けた案件と同じ側の案件とすることにより、案件識別情報の入力を受け付けた各案件が、互いに同じ側または反対側のいずれの案件かを区別するサイド情報とのうちの少なくとも一方の情報を含む検索履歴表示処理を実行するか、
または、各案件の案件データに、売・買の別、労働者・使用者の別、男・女の別、その他の対になる情報を示すニーズフラグが含まれている場合に、前記推薦・類似区別情報と前記サイド情報とのうちの少なくとも一方の情報を含み、かつ、前記ニーズフラグを含む検索履歴表示処理を実行する構成とされている
ことを特徴とする請求項1~3のいずれかに記載のマッチングシステム。
【請求項5】
新規案件の案件データの入力を受け付けて案件識別情報を付与し、受け付けた案件データを、付与した案件識別情報と関連付けて案件データ記憶手段に記憶させる処理を実行する新規案件登録手段を備え、
前記出力手段は、
新規案件の登録時の参考案件として選択された前記関連案件、前記推薦案件、若しくは前記類似案件の案件識別情報またはその案件データを登録時参考案件記憶手段に記憶させる処理を実行する構成とされ、
前記新規案件登録手段は、
前記登録時参考案件記憶手段に記憶されている前記参考案件の案件識別情報を用いて前記案件データ記憶手段から前記参考案件の案件データを取得するか、または前記登録時参考案件記憶手段に記憶されている前記参考案件の案件データを取得し、取得した前記参考案件の案件データを、新規案件の案件データの入力部と同一の画面上に表示する処理を実行する構成とされている
ことを特徴とする請求項1~4のいずれかに記載のマッチングシステム。
【請求項6】
前記連想検索手段は、
前記一般類似度と前記固有類似度とを用いて前記最終類似度を算出する処理を実行する構成とされ、かつ、
全ての案件のうち、前記固有テキストデータの中に前記キーワードおよび前記一般類似度の高さで選定した一般類似単語の双方が含まれる各案件の集合Pにおける前記一般類似単語の出現回数によるか、または、集合Pにおける前記キーワードの出現回数および前記一般類似単語の出現回数による集合Pの評価値Psと、
前記固有テキストデータの中に前記キーワードが含まれず、かつ、前記一般類似単語が含まれる各案件の集合Qにおける前記一般類似単語の出現回数による集合Qの評価値Qsとを用いて、
Ps/(Ps+Qs)により、前記固有類似度を算出する処理を実行する構成とされている
ことを特徴とする請求項1~5のいずれかに記載のマッチングシステム。
【請求項7】
前記入力受付手段は、
キーワードの入力および案件識別情報の入力を同一の入力部で受け付けた後、前記入力部に入力された情報が、キーワードであるか案件識別情報であるかを判断する処理を実行する構成とされている
ことを特徴とする請求項1~6のいずれかに記載のマッチングシステム。
【請求項8】
前記入力受付手段は、
複数の案件識別情報の同時入力を受け付けることができる構成とされ、
前記マッチング手段は、
前記入力受付手段により複数の案件識別情報の同時入力を受け付けた場合に、受け付けた複数の案件識別情報の各案件をまとめて1つのマッチング処理の対象案件グループとし、前記トピックモデル記憶手段に記憶されている各案件の固有テキストデータにおける各トピックの出現確率を示すトピック値を用いて、前記対象案件グループを構成する複数の対象案件の各々とこれらの複数の対象案件の各々のマッチング相手となる各候補案件とからなる複数のペアの各々についてのマッチング用特徴データを作成し、作成した複数のマッチング用特徴データの各々を入力データとして、選定されるか否かの2クラス分類で予め学習されてマッチングモデル記憶手段に記憶されたマッチングモデルを用いて、教師あり分類モデルによる分類処理を行うことにより、前記対象案件グループを構成する複数の対象案件の各々に対して各候補案件が選定される確度を示すスコアを算出し、
前記対象案件グループを構成する複数の対象案件の各々と、マッチング相手となる複数の候補案件の各々との間の各スコアの合計値が大きくなる複数の候補案件を選択し、選択した複数の候補案件を、推薦案件グループを構成する複数の推薦案件として決定する処理を実行する構成とされ、
前記類似案件検索手段は、
前記入力受付手段により複数の案件識別情報の同時入力を受け付けた場合に、前記マッチング手段による処理と併せて、前記対象案件グループを構成する複数の対象案件の各々について、各案件の前記固有テキストデータを用いて算出した前記対象案件とそれ以外の案件との間の案件類似度の高い順で前記対象案件の類似案件を抽出する処理を実行する構成とされ、
前記出力手段は、
前記入力受付手段により複数の案件識別情報の同時入力を受け付けた場合に、前記マッチング手段により決定した前記推薦案件グループを構成する複数の前記推薦案件を、前記入力部と同一の画面上に表示するとともに、前記類似案件検索手段により抽出した前記対象案件グループを構成する複数の対象案件の各々についての前記類似案件を、前記入力部と同一の画面上に表示する処理を実行する構成とされている
ことを特徴とする請求項1~7のいずれかに記載のマッチングシステム。
【請求項9】
請求項1~8のいずれかに記載のマッチングシステムとして、コンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、自然人、法人、法人でない団体、またはその他の案件同士を組み合わせるマッチング処理を実行するコンピュータにより構成されたマッチングシステムおよびプログラムに係り、例えば、企業同士を組み合わせるビジネスマッチングシステム等に利用できる。
【背景技術】
【0002】
従来のビジネスマッチングサービスでは、事業の提携や協力等を行う相手企業を探すことを希望する企業に対し、主に以下の2つの手法によってサービス担当者が紹介候補の企業を選定していた。
【0003】
第1の手法は、サービス担当者がキーワードによる検索を行い、その検索結果からマッチング相手となる企業を選定するというキーワード検索機能に基づく手法である。この第1の手法では、各企業について、自己の特徴を記述したテキストデータからなる自己データと、マッチング相手に対するニーズを記述したテキストデータからなるニーズデータとを用意しておき、それらのテキストデータを検索対象とする。
【0004】
第2の手法は、マッチング相手を探している企業とその他の任意の企業との2社のマッチング確度を示すスコアを算出し、スコアの高い企業を選出するというAI推薦機能に基づく手法である。すなわち、マッチング相手となる候補企業の選定実績をまとめた過去のデータ(どのような特徴を有する企業に対し、どのような特徴を有する企業がマッチング相手として選定されたのかを示すデータの集合)を学習用データとして機械学習を行うことによりマッチングモデルを構築しておき、このマッチングモデルに対し、マッチング相手を探している企業の情報を入力し、スコアを出力する手法である。この第2の手法を実現するシステムとしては、本願出願人により開発されたマッチングシステムを用いることができる(特許文献1参照)。このマッチングシステムでは、上述した各企業の自己データとニーズデータとをそれぞれ結合し、得られた多数の結合テキストデータを用いて、ソフトクラスタリングまたはニューラル言語モデルによるトピック推定処理(例えば、LDA:レイテント・ディリクレ・アロケーション等)を実行し、結合テキストデータにおける各トピックの出現確率を示すトピック値を用いてマッチング用特徴データを作成している。
【0005】
なお、前述した第1の方法を実現するには、キーワードを入力してそのキーワードに関連する企業を抽出するシステムがあればよいことになるが、このような条件を満たすシステムとしては、本願出願人により開発された抽出システムが知られている(特許文献2参照)。この抽出システムは、主として、キーワードを入力してテーマ型ファンドの構成銘柄とする候補銘柄(すなわち、その銘柄の発行企業)を抽出するシステムとして開発されたものであり、関連企業の抽出を行うために、各企業の固有テキストデータとして、各企業が投資家に向けて発信するインベスター・リレーションズ情報(IR情報)や各企業のホームページ情報(HP情報)を用いている。
【先行技術文献】
【特許文献】
【0006】
【文献】特許第6802334号掲載公報
【文献】特許第6596565号掲載公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、前述した第1、第2の手法では、以下のような問題点があった。
【0008】
第1の手法のキーワード検索、第2の手法のマッチングモデルによるAI推薦のいずれでも、各企業について記述したテキストデータの内容が検索結果や推薦結果に大きく影響する。従って、ビジネスマッチングという観点から企業の情報を的確に示していないテキストデータや、そもそも情報量の少ないテキストデータでは、望ましい検索結果や推薦結果が得られない。
【0009】
また、第1の手法のキーワード検索や、第2の手法のマッチングモデルの構築に用いられる前述した自己データおよびニーズデータは、マッチングを希望する企業自身が作成する。この際、自己データやニーズデータをどのように記述すれば、ビジネスマッチングの観点から効果的であるのかが不明であったり、自己データとニーズデータとの区別を付けにくいことから、双方に同じ情報を記述したり、いずれか一方を記述しない等の不備が発生するおそれもある。これに対し、マッチングのサービス担当者が、各企業に対し、適切な記述方法を指導することも考えられるが、手間がかかる、サービス担当者の経験や知識等の相違により指導内容に差が出る、サービス担当者による指導の特徴が記述内容に直接に現れてしまう等の不都合が生じる。
【0010】
さらに、第1の手法のキーワード検索を行う場合は、マッチング条件に合致する適切なキーワードを入力する必要があり、サービス担当者のノウハウに大きく影響するため、紹介件数が限られてしまう。また、第1の手法のキーワード検索と、第2の手法のマッチングモデルによるAI推薦とを併用する場合において、上記のようにキーワード検索による紹介件数が限られることから、キーワード検索により選定した企業よりも、マッチングモデルの推薦した企業の紹介が増えてしまう結果となり、紹介実績に偏りが生じる。これにより、偏った紹介実績をマッチングモデルが再学習することで、推薦される企業が似たようなものに偏ってしまう。
【0011】
そして、以上のような問題は、企業同士を結び付けるビジネスマッチングシステムに限らず、例えば、未婚の男女を結び付けるお見合い支援を行うマッチングシステム等を含め、広く「案件」同士を組み合わせるマッチングシステムで同様に生じることである。
【0012】
なお、ビジネスマッチングであれば、企業と企業、企業と個人事業主、個人事業主と個人事業主とのマッチングになり、お見合い支援のマッチングであれば、未婚の男性と女性とのマッチングになるが、データ処理の本質としては、実質的には、それらの者がマッチングを目的として登録した情報同士のマッチングであるということと、それ故に登録する情報の内容が重要であり、マッチングの結果を左右するということと、ペット等の動物や、ロボット等の機械でも、人間がそれらの保有情報を代弁(代理で記述)することができれば、マッチングは行い得ることから、本願では、マッチングの対象(自然人、法人、法人でない団体、動物、ロボット、その他)を「案件」と呼ぶものとする。
【0013】
本発明の目的は、偏った紹介の未然防止、偏った紹介実績に基づくマッチングモデルの再学習の未然防止、効果的なマッチングを行うための適切な案件データの登録の実現、サービス担当者の手間の軽減を図ることができるマッチングシステムおよびプログラムを提供するところにある。
【課題を解決するための手段】
【0014】
本発明は、各企業の固有テキストデータ(自己データおよびニーズデータ、またはこれらの結合テキストデータ)を用いた3つの処理、すなわち、キーワードによる連想検索処理と、マッチングモデルによるAI推薦のためのマッチング処理と、類似案件検索処理とを繰り返し実行することができるようにして前記目的を達成するものである。
【0015】
すなわち、本発明は、自然人、法人、法人でない団体、またはその他の案件同士を組み合わせるマッチング処理を実行するコンピュータにより構成されたマッチングシステムであって、
多数の案件の各々についての自己の特徴を記述したテキストデータからなる自己データ、およびマッチング相手に対するニーズを記述したテキストデータからなるニーズデータ、または、これらの自己データとニーズデータとを結合して得られた結合テキストデータを、各案件に固有の情報を記述した多数の固有テキストデータとして用いて、ソフトクラスタリングまたはニューラル言語モデルによるトピック推定処理を実行して得られた、各案件の固有テキストデータにおける各トピックの出現確率を示すトピック値を、案件識別情報と関連付けて記憶するとともに、当該トピック推定処理を実行して得られた各トピックにおける各単語の出現確率を記憶するトピックモデル記憶手段と、
キーワードまたは案件識別情報の入力を受け付ける処理を実行する入力受付手段と、
この入力受付手段により案件識別情報の入力を受け付けた場合に、受け付けた案件識別情報の案件をマッチング処理の対象案件とし、トピックモデル記憶手段に記憶されている各案件の固有テキストデータにおける各トピックの出現確率を示すトピック値を用いて、対象案件とこの対象案件のマッチング相手となる各候補案件とからなる複数のペアの各々についてのマッチング用特徴データを作成し、作成した複数のマッチング用特徴データの各々を入力データとして、選定されるか否かの2クラス分類で予め学習されてマッチングモデル記憶手段に記憶されたマッチングモデルを用いて、教師あり分類モデルによる分類処理を行うことにより、対象案件に対して各候補案件が選定される確度を示すスコアを算出する処理を実行するマッチング手段と、
入力受付手段により案件識別情報の入力を受け付けた場合に、マッチング手段による処理と併せて、各案件の固有テキストデータを用いて算出した対象案件とそれ以外の案件との間の案件類似度の高い順で対象案件の類似案件を抽出する処理を実行する類似案件検索手段と、
入力受付手段によりキーワードの入力を受け付けた場合に、分散表現モデル記憶手段に記憶された単語の分散表現を用いて算出したキーワードとそれ以外の単語との間の一般類似度を最終類似度とするか、または、この一般類似度と、各案件の固有テキストデータを用いて算出したキーワードとそれ以外の単語との間の固有類似度とを用いて最終類似度を算出し、得られた最終類似度の高い順でキーワードの関連単語を決定するとともに、キーワードおよび関連単語の各々が、各案件の固有テキストデータの中に出現する単語別出現回数を求め、求めた単語別出現回数および関連単語の最終類似度を用いて算出したキーワードに対する各案件の関連度の高い順で関連案件を決定する処理を実行する連想検索手段と、
入力受付手段によりキーワードの入力を受け付けた場合には、連想検索手段により決定した関連案件、または、関連案件に加えて関連単語を、入力受付手段によるキーワードまたは案件識別情報の入力部と同一の画面上に表示し、入力受付手段により案件識別情報の入力を受け付けた場合には、マッチング手段により算出したスコアの高い候補案件を、推薦案件として入力部と同一の画面上に表示するとともに、類似案件検索手段により抽出した類似案件を、入力部と同一の画面上に表示する処理を実行する出力手段と
を備えたことを特徴とするものである。
【0016】
ここで、「出力手段」における「入力部と同一の画面上」は、必ずしも入力部と処理結果の表示部とが同じウィンドウに設けられている必要はなく、例えば、処理結果の表示部が設けられたメインウィンドウと、入力部が設けられた小型ウィンドウ等とが同時に画面表示(重畳表示を含む)されるような場合も、同じ表示手段の画面上に、入力部と処理結果の表示部とが同時期に存在する状態となるので、ここでいう「入力部と同一の画面上」に該当する。また、表示手段の画面サイズが小さい場合や、処理結果として多くの情報を表示部に表示した場合等に、画面をスクロールしなければ、入力部と処理結果の表示部とが、同時に目に入らないような場合も、ここでいう「入力部と同一の画面上」に該当する。
【0017】
このような本発明のマッチングシステムにおいては、ユーザ(マッチングサービスの提供を受ける者、またはマッチングサービスを提供するサービス担当者)が、入力部にキーワードを入力すると、連想検索手段による処理が実行され、入力部と同一の画面上に、関連案件が表示されるか、またはこの関連案件の表示に加えて関連単語が表示される。一方、入力部に案件識別情報を入力すると、マッチング手段による処理、および類似案件検索手段による処理が実行され、入力部と同一の画面上に、マッチング相手としての推薦案件、および入力した案件識別情報の対象案件に対する類似案件が表示される。
【0018】
この際、連想検索手段、マッチング手段、および類似案件検索手段による3つの処理は、いずれも各案件の固有テキストデータ、すなわち同じデータを用いて実行されるので、3つの処理の全てでマッチングに適した処理を実現できることに加え、互いに関連性のある処理内容とすることができる。従って、本発明のマッチングシステムは、既存の3つのシステムを単純に併設したものではなく、各処理でデータの共用や、処理内容の共通化を図ることが可能となる。
【0019】
また、連想検索手段、マッチング手段、および類似案件検索手段による各処理の結果は、これらの各手段による次の処理に活かすことができ、これらの各手段による処理を繰り返すことができるので、ユーザは、多様な検索を行うことができる。
【0020】
より詳細には、キーワードを入力し、連想検索手段による処理でそのキーワードの関連案件が得られた場合には、その関連案件の案件識別情報を入力すれば、その関連案件に対するマッチング相手としての推薦案件が得られるとともに、その関連案件に対する類似案件が得られる。そして、得られた推薦案件の案件識別情報を入力すれば、その推薦案件に対するマッチング相手としての推薦案件が得られるとともに、その推薦案件に対する類似案件が得られる。また、得られた類似案件の案件識別情報を入力すれば、その類似案件に対するマッチング相手としての推薦案件が得られるとともに、その類似案件に対する類似案件が得られる。このように関連案件、推薦案件、類似案件を横断した繰り返しの検索が可能となり、さらにその間に任意のタイミングで様々なキーワードを入力することが可能となる。
【0021】
このため、ユーザが新規案件の登録を行う者またはその補助・指導・案内を行うサービス担当者であれば、自分または自分が担当する顧客と同じ立場の幾つかの案件(例えば、ある製品や商品を売るという目的でマッチングを希望する企業)についての案件データ(そこに含まれる自己データおよびニーズデータ)の内容を容易に把握することが可能となり、また、どのような内容の案件データを登録すると、どのような内容の案件データを有する案件が、マッチング相手として推薦されるのか(つまり、どのような内容の案件データを有する案件同士のマッチング確度が高いのか)を容易に把握することが可能となるので、それらの検索で参照した情報を、新規案件の案件データを登録する際に活かすことが可能となる。従って、ユーザは、マッチングという観点から適切な案件データを登録し、効果的なマッチングサービスの提供を受けることが可能となる。
【0022】
また、このような案件データの検索・参照は、新規案件の登録を行う者が、自身で行うことができるので、サービス担当者の負担を軽減することも可能となる。さらに、例えばサービス窓口や客先等でサービス担当者が検索を行う場合でも、検索で得られた幾つかの参考案件の案件データの内容を、新規案件の登録を行う者に直接に示すことができるので、サービス担当者の負担(補助・指導・案内をする上での手間)を軽減することが可能となる。
【0023】
また、マッチング手段は、トピック推定処理で得られたトピックモデルの更新や、マッチング用特徴データを用いた学習で得られたマッチングモデルの更新が行われない限り、同じ入力に対しては、同じ出力をすることから、ある案件に対し、いつも同じ案件が同じ順位(同じスコア)で推薦案件として出力されることになる。そして、これが選定実績となり、マッチングモデルの更新に反映されると、偏った紹介を助長することに繋がる。しかし、本発明では、類似案件検索手段による処理を行うと、マッチングを希望する対象案件の類似案件を把握することができ、その類似案件を入力すれば、マッチング手段による処理で、その類似案件に対する推薦案件が出力されるので、対象案件に対する推薦案件だけではなく、対象案件の類似案件に対する推薦案件を出力することもでき、サービス担当者は、それを紹介することもできる。同様に、検索を繰り返せば、対象案件に対する推薦案件の類似案件や、対象案件の類似案件に対する推薦案件の類似案件も出力することができ、サービス担当者は、それらを紹介することもできる。従って、サービス担当者は、様々な角度から紹介する案件を見つけることができるので、ノウハウの少ない担当者でも、マッチング依頼者に対し、マッチング相手として適切な案件を紹介することができるとともに、紹介案件の選定作業の固定化を防ぐことができるので、偏った学習用データによるマッチングモデルの更新の未然防止を図ることが可能となり、これらにより前記目的が達成される。
【0024】
なお、キーワードを入力すると、連想検索手段による処理で得られた関連案件の出力に加え、そのキーワードの関連単語も出力される構成としてもよく、そのような構成とした場合には、その関連単語を新たなキーワードとして入力することが可能となり、検索上の利便性が高まる。この際、関連単語を、一般類似度と固有類似度とを用いて算出した最終類似度の高い順で決定する構成としてもよく、そのような構成とした場合には、関連単語を、単なる一般的な関連単語(入力したキーワードに対し、一般類似度が高い単語)ではなく、各案件の固有テキストデータの内容を反映した関連単語とすることができ、マッチングという観点から、より一層、効果的な関連単語を、新たなキーワードとして入力することが可能となる。つまり、連想検索手段による処理では、各案件の固有テキストデータを用いて関連案件を決定するが、その関連案件の決定で使用される関連単語の決定にも、各案件の固有テキストデータが用いられることになり、マッチングという観点から、より一層、効果的な処理を実現することができる。
【0025】
<トピックモデルの更新を行わずに、新規案件の固有テキストデータを検索に反映させる構成>
【0026】
また、前述したマッチングシステムにおいて、
トピック推定処理に用いられていない新規案件についての固有テキストデータ、および、トピックモデル記憶手段に記憶されている各トピックにおける各単語の出現確率を用いて、新規案件の固有テキストデータにおける各トピックの出現確率を示すトピック値を予測する処理を実行するトピック値予測手段を備え、
マッチング手段は、
トピック値予測手段により求めた新規案件の固有テキストデータにおける各トピックの出現確率を示すトピック値と、トピックモデル記憶手段に記憶されている新規案件のマッチング相手となる各候補案件の固有テキストデータにおける各トピックの出現確率を示すトピック値とを用いて、新規案件と各候補案件とからなる複数のペアについてのマッチング用特徴データを作成し、作成した複数のマッチング用特徴データの各々を入力データとして、選定されるか否かの2クラス分類で予め学習されてマッチングモデル記憶手段に記憶されたマッチングモデルを用いて、教師あり分類モデルによる分類処理を行うことにより、新規案件に対して各候補者が選定される確度を示すスコアを出力する処理を実行する構成とされ、
類似案件検索手段は、
新規案件およびそれ以外の各案件の固有テキストデータを用いて算出した新規案件とそれ以外の案件との間の案件類似度を含めて類似案件を抽出する処理を実行する構成とされ、
連想検索手段は、
キーワードおよび関連単語の各々が、新規案件を含めた各案件の固有テキストデータの中に出現する単語別出現回数を求め、求めた単語別出現回数および関連単語の最終類似度を用いて算出したキーワードに対する各案件の関連度の高い順で関連案件を決定する処理を実行する構成とされていてもよい。
【0027】
このようにトピック値予測手段を設け、トピックモデルの更新を行わずに、新規案件の固有テキストデータを検索に反映させる構成とした場合には、新規案件の固有テキストデータを含めたトピック推定処理によるトピックモデルの更新を行う前であっても、新規案件を対象案件とするマッチング処理が可能となる。従って、トピックモデルの更新を行う前に、新規案件を含めた状態で、連想検索手段、マッチング手段、および類似案件検索手段による各処理を繰り返す検索を行うことが可能となる。
【0028】
<類似案件検索手段による固有テキストデータを用いたベクトル処理の詳細>
【0029】
さらに、前述したマッチングシステムにおいて、
類似案件検索手段は、
トピックモデル記憶手段に記憶されている各案件の固有テキストデータにおける各トピックの出現確率を示すトピック値からなるトピック分布ベクトルと、各案件の固有テキストデータを構成する各単語の分散表現の平均値からなる文章ベクトルと、各案件の固有テキストデータについての各単語のTFIDF値またはその他の単語重要度指標値からなる単語重要度ベクトルとのうちの少なくとも1つのベクトルを用いて算出した対象案件とそれ以外の案件との間の案件類似度の高い順で対象案件の類似案件を抽出する処理を実行する構成とされていてもよい。
【0030】
このように類似案件検索手段により固有テキストデータを用いたベクトル処理を行う構成とした場合には、固有テキストデータ(自己データ、ニーズデータ)の記述内容を的確に反映させ、マッチングに役立つ類似案件の抽出処理を実現することができる。
【0031】
<検索履歴表示処理の詳細>
【0032】
そして、前述したマッチングシステムにおいて、
入力受付手段により受け付けたキーワードまたは案件識別情報、並びにこれらの入力順を含むログ情報を記憶する検索履歴記憶手段を備え、
入力受付手段は、
検索履歴記憶手段に記憶されているログ情報を用いて、キーワードまたは案件識別情報のいずれの入力を受け付けたのかの入力種別および入力順を示すことに加え、
対象案件に対する推薦案件の案件識別情報の入力を受け付けたのか、対象案件の類似案件の案件識別情報の入力を受け付けたのかを区別する推薦・類似区別情報と、
推薦案件の案件識別情報と類似案件の案件識別情報との入力の受付を繰り返す中で、案件識別情報の入力を受け付けた案件が、マッチングを求める側の案件か、マッチング相手側の案件かという観点から、推薦案件については、案件識別情報の入力を受け付けた案件と反対側の案件とし、類似案件については、案件識別情報の入力を受け付けた案件と同じ側の案件とし、推薦案件に対する推薦案件については、案件識別情報の入力を受け付けた案件と同じ側の案件とすることにより、案件識別情報の入力を受け付けた各案件が、互いに同じ側または反対側のいずれの案件かを区別するサイド情報とのうちの少なくとも一方の情報を含む検索履歴表示処理を実行するか、
または、各案件の案件データに、売・買の別、労働者・使用者の別、男・女の別、その他の対になる情報を示すニーズフラグが含まれている場合に、推薦・類似区別情報とサイド情報とのうちの少なくとも一方の情報を含み、かつ、ニーズフラグを含む検索履歴表示処理を実行する構成としてもよい。
【0033】
このようにキーワードまたは案件識別情報のいずれの入力を受け付けたのかの入力種別および入力順を示す通常の検索履歴表示処理を行うだけではなく、推薦・類似区別情報とサイド情報とのうちの少なくとも一方の情報を含む検索履歴表示処理や、さらにニーズフラグを含む検索履歴表示処理を行う構成とした場合には、連想検索手段、マッチング手段、および類似案件検索手段による各処理を繰り返す検索を行う中で、ユーザは、自分が今まで何をしてきたのか、今何をしているのか、さらには今から何をすればよいのかを把握し易くなるので、効率的な検索を行うことが可能となる。
【0034】
<新規案件の登録時に参考案件を表示する構成>
【0035】
また、前述したマッチングシステムにおいて、
新規案件の案件データの入力を受け付けて案件識別情報を付与し、受け付けた案件データを、付与した案件識別情報と関連付けて案件データ記憶手段に記憶させる処理を実行する新規案件登録手段を備え、
出力手段は、
新規案件の登録時の参考案件として選択された関連案件、推薦案件、若しくは類似案件の案件識別情報またはその案件データを登録時参考案件記憶手段に記憶させる処理を実行する構成とされ、
新規案件登録手段は、
登録時参考案件記憶手段に記憶されている参考案件の案件識別情報を用いて案件データ記憶手段から参考案件の案件データを取得するか、または登録時参考案件記憶手段に記憶されている参考案件の案件データを取得し、取得した参考案件の案件データを、新規案件の案件データの入力部と同一の画面上に表示する処理を実行する構成とされていてもよい。
【0036】
このように新規案件の登録時に参考案件を表示する構成とした場合には、新規案件の登録を行うユーザは、マッチング用のデータとして適切な案件データ(自己データおよびニーズデータを含む)の入力作業を容易に行うことができる。
【0037】
<連想検索手段により一般類似度と固有類似度とを用いて最終類似度を算出する構成とする場合の固有類似度の算出処理の詳細>
【0038】
さらに、前述したマッチングシステムにおいて、
連想検索手段は、
一般類似度と固有類似度とを用いて最終類似度を算出する処理を実行する構成とされ、かつ、
全ての案件のうち、固有テキストデータの中にキーワードおよび一般類似度の高さで選定した一般類似単語の双方が含まれる各案件の集合Pにおける一般類似単語の出現回数によるか、または、集合Pにおけるキーワードの出現回数および一般類似単語の出現回数による集合Pの評価値Psと、
固有テキストデータの中にキーワードが含まれず、かつ、一般類似単語が含まれる各案件の集合Qにおける一般類似単語の出現回数による集合Qの評価値Qsとを用いて、
Ps/(Ps+Qs)により、固有類似度を算出する処理を実行する構成としてもよい。
【0039】
このように連想検索手段により単語の出現回数を用いて固有類似度を算出する構成とした場合には、各案件の固有テキストデータの記述内容を的確に反映した固有類似度を算出し、その固有類似度を用いて最終類似度を算出し、その最終類似度を用いて関連単語を決定することが可能となる。
【0040】
<キーワードの入力および案件識別情報の入力を同一の入力部で受け付ける構成>
【0041】
そして、前述したマッチングシステムにおいて、
入力受付手段は、
キーワードの入力および案件識別情報の入力を同一の入力部で受け付けた後、入力部に入力された情報が、キーワードであるか案件識別情報であるかを判断する処理を実行する構成としてもよい。
【0042】
このようにキーワードの入力および案件識別情報の入力を同一の入力部で受け付ける構成とした場合には、入力部を配置し、かつ、検索結果を表示する画面の構成が簡易になり、ユーザによる操作性の向上が図られる。
【0043】
<複数の案件識別情報の同時入力を受け付けることができる構成>
【0044】
また、前述したマッチングシステムにおいて、
入力受付手段は、
複数の案件識別情報の同時入力を受け付けることができる構成とされ、
マッチング手段は、
入力受付手段により複数の案件識別情報の同時入力を受け付けた場合に、受け付けた複数の案件識別情報の各案件をまとめて1つのマッチング処理の対象案件グループとし、トピックモデル記憶手段に記憶されている各案件の固有テキストデータにおける各トピックの出現確率を示すトピック値を用いて、対象案件グループを構成する複数の対象案件の各々とこれらの複数の対象案件の各々のマッチング相手となる各候補案件とからなる複数のペアの各々についてのマッチング用特徴データを作成し、作成した複数のマッチング用特徴データの各々を入力データとして、選定されるか否かの2クラス分類で予め学習されてマッチングモデル記憶手段に記憶されたマッチングモデルを用いて、教師あり分類モデルによる分類処理を行うことにより、対象案件グループを構成する複数の対象案件の各々に対して各候補案件が選定される確度を示すスコアを算出し、
対象案件グループを構成する複数の対象案件の各々と、マッチング相手となる複数の候補案件の各々との間の各スコアの合計値が大きくなる複数の候補案件を選択し、選択した複数の候補案件を、推薦案件グループを構成する複数の推薦案件として決定する処理を実行する構成とされ、
類似案件検索手段は、
入力受付手段により複数の案件識別情報の同時入力を受け付けた場合に、マッチング手段による処理と併せて、対象案件グループを構成する複数の対象案件の各々について、各案件の固有テキストデータを用いて算出した対象案件とそれ以外の案件との間の案件類似度の高い順で対象案件の類似案件を抽出する処理を実行する構成とされ、
出力手段は、
入力受付手段により複数の案件識別情報の同時入力を受け付けた場合に、マッチング手段により決定した推薦案件グループを構成する複数の推薦案件を、入力部と同一の画面上に表示するとともに、類似案件検索手段により抽出した対象案件グループを構成する複数の対象案件の各々についての類似案件を、入力部と同一の画面上に表示する処理を実行する構成とされていてもよい。
【0045】
このように複数の案件識別情報の同時入力を受け付けることができる構成とした場合には、類似案件検索手段により、入力された対象案件グループを構成する複数の対象案件の各々についての類似案件が抽出され、表示されるので、様々な観点から、紹介する案件グループを決定することが可能となり、ノウハウの少ないサービス担当者でも適切な紹介作業を行うことが可能になるとともに、偏った紹介実績を含む学習用データによるマッチングモデルの更新の未然防止を図ることが可能となる。すなわち、マッチング手段は、トピック推定処理で得られたトピックモデルの更新や、マッチング用特徴データを用いた学習で得られたマッチングモデルの更新が行われない限り、同じ入力に対しては、同じ出力をすることから、ある対象案件グループに対し、いつも同じ推薦案件グループが出力されることになる。しかし、本発明により、対象案件グループを構成する複数の対象案件のうちの少なくとも1つの案件を、それらの対象案件の類似案件に変えて検索を行ったり、あるいは、推薦案件グループを構成する複数の推薦案件のうちの少なくとも1つの案件を、それらの推薦案件の類似案件に変えて紹介すること等が可能となる。
【0046】
<プログラムの発明>
【0047】
また、本発明のプログラムは、以上に述べたマッチングシステムとして、コンピュータを機能させるためのものである。
【0048】
なお、上記のプログラムまたはその一部は、例えば、光磁気ディスク(MO)、コンパクトディスク(CD)、デジタル・バーサタイル・ディスク(DVD)、フレキシブルディスク(FD)、磁気テープ、読出し専用メモリ(ROM)、電気的消去および書換可能な読出し専用メモリ(EEPROM)、フラッシュ・メモリ、ランダム・アクセス・メモリ(RAM)、ハードディスクドライブ(HDD)、ソリッドステートドライブ(SSD)、フラッシュディスク等の記録媒体に記録して保存や流通等させることが可能であるとともに、例えば、ローカル・エリア・ネットワーク(LAN)、メトロポリタン・エリア・ネットワーク(MAN)、ワイド・エリア・ネットワーク(WAN)、インターネット、イントラネット、エクストラネット等の有線ネットワーク、あるいは無線通信ネットワーク、さらにはこれらの組合せ等の伝送媒体を用いて伝送することが可能であり、また、搬送波に載せて搬送することも可能である。さらに、上記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。
【発明の効果】
【0049】
以上に述べたように本発明によれば、連想検索手段、マッチング手段、および類似案件検索手段による3つの処理を繰り返す検索を行うことができるので、偏った紹介の未然防止、偏った紹介実績に基づくマッチングモデルの再学習の未然防止、効果的なマッチングを行うための適切な案件データの登録の実現、サービス担当者の手間の軽減を図ることができるという効果がある。
【図面の簡単な説明】
【0050】
【
図1】本発明の一実施形態のマッチングシステムの全体構成図。
【
図2】前記実施形態の単語の分散表現を用いた処理の説明図。
【
図3】前記実施形態の固有類似度Bの算出処理の説明図。
【
図4】前記実施形態の関連度CSの算出処理の説明図。
【
図5】前記実施形態の固有テキストデータの準備処理の説明図。
【
図6】前記実施形態の固有テキストデータの準備からトピック分布の推定までのデータの具体例を示す図。
【
図7】前記実施形態のマッチング用特徴データに含める合成変数の作成方法の説明図。
【
図8】前記実施形態の運用時におけるマッチング用特徴データの作成方法の説明図。
【
図9】前記実施形態の学習時におけるマッチング用特徴データの準備方法の説明図。
【
図10】前記実施形態の案件類似度の算出処理の説明図。
【
図11】前記実施形態のマッチングシステムでの検索の流れを示す説明図。
【
図12】前記実施形態の連想検索手段による処理の結果を表示した画面例を示す図。
【
図13】前記実施形態のマッチング手段および類似案件検索手段による各処理の結果を表示した画面例を示す図。
【
図14】前記実施形態のマッチングシステムの事前処理の全体的な流れを示すフローチャートの図。
【
図15】前記実施形態のマッチングシステムによる検索処理の全体的な流れを示すフローチャートの図。
【
図16】前記実施形態の新規の案件データを含めたトピックモデルの更新等の時期が到来した場合の処理の全体的な流れを示すフローチャートの図。
【
図17】前記実施形態の連想検索用の事前処理の詳細な流れを示すフローチャートの図。
【
図18】前記実施形態のマッチング用の事前処理の詳細な流れを示すフローチャートの図。
【
図19】前記実施形態の類似案件検索用の事前処理の詳細な流れを示すフローチャートの図。
【
図20】前記実施形態の連想検索処理の詳細な流れを示すフローチャートの図。
【
図21】前記実施形態のマッチング処理の詳細な流れを示すフローチャートの図。
【
図22】前記実施形態の類似案件検索処理の詳細な流れを示すフローチャートの図。
【
図23】前記実施形態の新規案件登録処理の流れを示すフローチャートの図。
【発明を実施するための形態】
【0051】
以下に本発明の一実施形態について図面を参照して説明する。
図1には、本実施形態のマッチングシステム10の全体構成が示されている。このマッチングシステム10は、事業者(主として企業であるが、個人事業主や、大学等の非営利団体でもよい。)に対し、ビジネスパートナー(産学連携を含む。)となる事業者を紹介するビジネスマッチングサービスを実施するためのシステムである。なお、本願明細書では、個人事業主や、大学等の非営利団体も含めた事業者という意味で「企業」という用語を用いることがある。
【0052】
サービス形態としては、事業者からのマッチングの依頼を受けて、専らサービス担当者が検索を行い、条件に合うマッチング相手を探して依頼者に紹介する形態でもよく、例えばサービス会社の窓口や客先等で、サービス担当者と顧客(依頼者)とが対話をしながら検索を行うことにより、条件に合うマッチング相手を探し、選定した相手方の名称や連絡先等をサービス担当者が依頼者に開示して紹介する形態でもよく、専らマッチングの依頼者が検索(遠隔地からのオンライン検索を含む。)を行い、条件に合うマッチング相手を探し、選定した相手方の名称や連絡先等をサービス担当者(サービス会社)に紹介してもらう形態でもよく、従って、検索を行う主体は、マッチングを希望する事業者、またはその事業者の補助・指導・案内を行うサービス担当者である。
【0053】
図2~
図10には、マッチングシステム10による各処理の内容の詳細が示されている。また、
図11~
図13は、ユーザの操作に伴って実行されるマッチングシステム10の検索機能の説明図である。さらに、
図14および
図15には、マッチングシステム10の事前処理および運用時の検索処理の全体的な流れが、
図16には、トピックモデルの更新等の処理の流れが、
図17~
図19には、連想検索用、マッチング用、類似案件検索用の各事前処理の流れが、
図20~
図23には、連想検索処理、マッチング処理、類似案件検索処理、新規案件登録処理の流れが、それぞれフローチャートで示されている。
【0054】
<マッチングシステム10の全体構成>
【0055】
図1において、マッチングシステム10は、コンピュータにより構成され、本体20と、例えば液晶ディスプレイ等の表示手段80と、例えばマウスやキーボードやタッチパネル等の入力手段90とを備えている。
【0056】
本体20は、マッチング並びにそれに付随する連想検索および類似案件検索に関する各種処理を実行する処理手段30と、この処理手段30による処理に必要となる各種データを記憶する記憶手段50とを備えて構成されている。
【0057】
処理手段30は、設定手段31と、分散表現モデル学習手段32と、案件データ準備手段33と、固有テキストデータ準備手段34と、トピック推定手段35と、トピック値予測手段36と、単語重要度ベクトル算出手段37と、マッチング学習用データ準備手段38と、マッチングモデル学習手段39と、入力受付手段40と、連想検索手段41(単語類似度算出手段41A、関連度算出手段41Bを含む)と、マッチング手段42(マッチング用特徴データ作成手段42A、マッチングスコア算出手段42Bを含む)と、類似案件検索手段43(案件類似度算出手段43A、類似案件抽出手段43Bを含む)と、出力手段44と、新規案件登録手段45とを含んで構成されている。
【0058】
ここで、処理手段30に含まれる各手段31~45は、マッチングシステム10の本体20の内部に設けられた中央演算処理装置(CPU)、およびこのCPUの動作手順を規定する1つまたは複数のプログラムにより実現される。これらの各手段31~45の詳細は後述する。
【0059】
記憶手段50は、設定データ記憶手段51と、分散表現モデル学習用データ記憶手段52と、分散表現モデル記憶手段53と、案件データ記憶手段54と、不要語辞書記憶手段55と、トピックモデル記憶手段56と、単語重要度ベクトル記憶手段57と、マッチング候補選定実績リスト記憶手段58と、マッチング学習用データ記憶手段59と、マッチングモデル記憶手段60と、検索履歴記憶手段61と、モデル別類似度記憶手段62と、一般類似度記憶手段63と、固有類似度記憶手段64と、最終類似度記憶手段65と、関連度記憶手段66と、文章ベクトル記憶手段67と、案件類似度記憶手段68と、登録時参考案件記憶手段69とを含んで構成されている。
【0060】
ここで、記憶手段50に含まれる各記憶手段51~69としては、例えば、ハードディスクドライブ(HDD)、ソリッドステートドライブ(SSD)等を採用することができるが、揮発性メモリ(主メモリやキャッシュメモリ等の作業用メモリに一時的に確保される記憶領域)でよいものも含まれている。この点については後述する。また、各記憶手段51~69の詳細も後述する。
【0061】
また、
図1では、マッチングシステム10は、スタンドアロンの構成で記載されているが、ネットワークを介して通信を行うシステム構成としてもよい。サーバ・クライアント型のマッチングシステム10とする場合には、本体20を1台または複数台のサーバにより構成し、表示手段80および入力手段90は端末側に設けることができる。この際、ネットワークは、インターネットのような外部ネットワークでもよく、イントラネットやLAN等の内部ネットワークでもよく、それらの組合せでもよく、有線であるか、無線であるか、有線・無線の混在型であるかは問わない。端末は、サービス形態により、主としてサービス担当者の端末である場合と、主としてマッチング依頼者(マッチングサービスの提供を受ける者)の端末である場合と、例えばサービス窓口や客先等で互いにそばにいるサービス担当者とマッチング依頼者とが同時に同じ画面を物理的に1つの端末で見る場合と、互いに遠隔地にいるサービス担当者とマッチング依頼者とがオンライン会議のように共有の画面を別々の端末で見る場合とがある。遠隔地にいるマッチング依頼者が自分の案件データを自分で直接に入力し、あるいはマッチングの結果(スコアリングの結果)を画面で直接に参照する場合には、ネットワークをインターネットのような外部ネットワークとし、マッチング依頼者の端末を、サーバである本体20に接続することになる。また、いずれのサービス形態をとる場合でも、システムの構築・維持・更新等の管理を行うシステム管理者の端末を設置することになる。
【0062】
<処理手段30の構成>
【0063】
(処理手段30/設定手段31の構成)
設定手段31は、システム管理者による入力手段90からの各種の設定データの入力を受け付け、設定データ記憶手段41に記憶させる処理を実行するものである。
【0064】
また、設定手段31は、ユーザ(サービス担当者)による入力手段90からの各種の設定データの入力を受け付け、設定データ記憶手段41に記憶させる処理を実行してもよい。この場合は、ユーザ(サービス担当者)毎の設定データが、ユーザ識別情報(サービス担当者識別情報)と関連付けられて設定データ記憶手段41に記憶される。例えば、ユーザ毎の設定ファイル等の形式で保存される。なお、ユーザによる設定データは、保存せずに、その都度、入力するものとしてもよく、その場合には、設定データ記憶手段41の一部が、主メモリやキャッシュメモリ等の作業用メモリにより構成されることになる。
【0065】
具体的には、設定データには、単語類似度算出手段41Aにより一般類似単語を決定する際(詳細は後述するが、処理の結果としてN5個(例えば、N5=70)の単語が一般類似単語として選択決定される。)に用いる各分散表現モデルにおけるモデル別類似度Sの個数N3(例えば、N3=100)と、単語類似度算出手段41AによりN5個の一般類似単語の中から選択決定する関連単語の個数N6(例えば、N6=10)と、単語類似度算出手段41Aにより複数の分散表現モデルにおけるモデル別類似度Sを統合して一般類似度Aを求める際に加重調和平均や加重平均を使う場合の各分散表現モデルに対する重み係数の値と、単語類似度算出手段41Aにより固有類似度Bを求める際の後述する式(1)における係数σ,τおよび式(2)における係数φと、単語類似度算出手段41Aにより一般類似度Aと固有類似度Bとを用いて最終類似度FSを求める際に加重調和平均や加重平均を使う場合の一般類似度Aおよび固有類似度Bに対する重み係数の値と、関連度算出手段41Bにより関連度CSを求める際の後述する式(3)における重み係数κ(i)と、案件類似度算出手段43Aにより案件類似度を算出する際の後述する式(4)における重み係数Wtf-idf、Wword2vec、Wtopicとがある。また、出力手段44により画面表示する関連案件(連想検索手段41の処理結果)、推薦案件(マッチング手段42の処理結果)、類似案件(類似案件検索手段43の処理結果)の各表示数(例えば、上位10位以内等)も、設定データである。なお、これらの設定データは、固定値としてもよい。
【0066】
さらに、設定手段31は、システム管理者による入力手段90の操作で、事前に取得・収集しておいた分散表現モデル学習用のテキストデータを、分散表現モデル学習用データ記憶手段52に記憶させる処理も実行する。
【0067】
(処理手段30/分散表現モデル学習手段32の構成)
分散表現モデル学習手段32は、分散表現モデル学習用データ記憶手段52に記憶された分散表現モデル学習用のテキストデータを用いて、形態素解析、各種のアルゴリズムによる機械学習を行い、得られた学習結果データ(本実施形態では、単語の分散表現としての高次元の単語ベクトルの集合である重み行列W)を、分散表現モデル記憶手段53(
図2参照)に記憶させる処理を実行するものである。学習で得られた分散表現モデルは、
図2に示すように、連想検索手段41による処理および類似案件検索手段43による処理で使用されるが、双方の処理で使用する分散表現モデルは共用としてもよく、別々に用意してもよい。本実施形態では、一例として共用とする。なお、公開・提供された学習結果データ(重み行列W)を取得し、分散表現モデル記憶手段53に保存してもよい。
【0068】
ここで、分散表現モデル学習用のテキストデータには、例えば、ニュースのテキストデータや、ウィキペディア等のインターネットから収集したテキストデータ等を用いる。この分散表現モデル学習用のテキストデータは、N1個(例えば、N1=18億)の単語を含むデータであり、膨大な量のデータである。この中には、重なりのないユニークな単語が、N2個(例えば、N2=115万)含まれている。
【0069】
また、分散表現モデル記憶手段53(
図2参照)に記憶される単語ベクトルとしては、例えば、ワード・ツー・ベック(word2vec)のモデルであるコンティニュアス・バッグ・オブ・ワード(CBOW)やスキップ・グラム(Skip-gram)、あるいは、グローヴ(GloVe)、ファースト・テキスト(fastText)、リカレント・ニューラル・ネットワーク(RNN)の1種であるロング・ショート・ターム・メモリ(LSTM)によるエルモ(ELMo)、さらには、ニューラル・ネットワーク(NN)以外でも、例えば、ライン(LINE)等のアルゴリズムによる単語ベクトルを用いることができる。
【0070】
具体的には、
図2に示すように、例えばword2vec等による学習で得られた単語ベクトルの集合である重み行列W(行が単語ベクトルになっている。)を利用することができる。この重み行列Wは、ワード・ベクター・ルックアップ・テーブル等と称され、ボキャブラリ数N2(例えば、N2=115万)×ディメンジョン数の行列である。本実施形態では、一例として、3種類のディメンジョン(=100,200,400)で、いずれについてもウィンドウサイズ=12を設定することにより、3タイプの重み行列W1,W2,W3を用意し、3タイプの分散表現モデルとして分散表現モデル記憶手段53(
図2参照)に記憶させる。これらの3タイプの分散表現モデルは、各分散表現モデルによるモデル別類似度Sが、後述するように調和平均または加重調和平均等によりアンサンブルされるので、統合された1つのモデルであると考えてもよい。ディメンジョン数は、単語ベクトルの次元数であり、例えばword2vec等のニューラルネットワーク(NN)のアルゴリズムで得られた単語ベクトルの場合には、NNの中間層(隠れ層)のノード数と同等である。
【0071】
なお、用意する分散表現モデルの数は、1つだけとしてもよく、また、複数の分散表現モデルを用意する場合には、3タイプに限らず、2タイプや4タイプ以上でもよく、例えば、複数種類のディメンジョンの各々について複数種類のウィンドウサイズを設定することにより、4タイプ以上の分散表現モデルを用意してもよい。
【0072】
また、本発明における単語の分散表現として用いる単語ベクトルは、必ずしも各種のアルゴリズムによる機械学習で得られた学習結果データとしての単語ベクトルである必要はなく、例えば、機械学習で得られた学習結果データとしての単語ベクトルを加工、調整、または混合(異なるアルゴリズムによる機械学習で得られた単語ベクトルを混成させる等)して作成した単語ベクトルや、機械学習によらない手法で集計作業等を行って作成した単語ベクトル等としてもよい。
【0073】
(処理手段30/案件データ準備手段33の構成)
案件データ準備手段33は、マッチングサービスの提供を受けることを目的として用意された多数の案件(ここでは、企業)についての案件データを、案件識別情報(本実施形態では、案件番号)と関連付けて案件データ記憶手段54に記憶させる処理を実行するものである。これらの案件データは、マッチングサービスを行う既存のシステムで用いていたデータを流用してもよい。なお、案件識別情報は、本実施形態のような数字からなる案件番号に限らず、文字や記号等を含めた識別情報でもよい。
【0074】
案件データには、企業情報として、企業名、自己所在地、電話番号、ホームページアドレス、代表者名や担当者名およびそれらの役職、自己業種および主な取扱商品、自己PR(自由記述形式のテキストデータ)、資本金、従業員数、年商(売上高)等が含まれている。また、ビジネスマッチング相手に求めるニーズ情報として、希望業種(相手企業の業種)、希望地域(相手企業の所在地)、ニーズの種類をサービス会社(マッチングサービス提供者)が予め用意した各項目に該当するか否かの選択指定で示すニーズフラグ、ニーズ詳細(自由記述形式のテキストデータ)等が含まれている。このうち、本発明におけるマッチングを実行するうえで重要なデータは、自由記述形式のテキストデータである自己PRおよびニーズ詳細である。本発明(請求項)における「自己データ」は、自己PRを中心とするデータ(自己PRを含んでいればよく、自己PRだけでもよい。)であり、「ニーズデータ」は、ニーズ詳細を中心とするデータ(ニーズ詳細を含んでいればよく、ニーズ詳細だけでもよい。)であり、この点については、
図5、
図6を用いて後述する。
【0075】
図5、
図10に示すように、ニーズフラグは、ニーズの種類を示すデータ(該当するか否かの1,0のデータ)であり、本実施形態では、一例として7個設けられているが、ニーズフラグの設置個数は任意であり、1つでも、複数でもよい。また、内容やその粗さの度合いの設定も任意であり、例えば、「売ります」というニーズフラグと、「買います」というニーズフラグとを設けてもよく、さらに細かく、例えば、「部品を売ります」、「材料を売ります」、「部品を買います」、「材料を買います」等のニーズフラグを設けてもよい。なお、例えば、「売ります」と「販売先を求めています」とは同じ内容であり、「買います」と「仕入れ先を求めています」も同じ内容であるため、表現上の相違は問題にならない。
【0076】
同様に、「弊社にて製造します」というニーズフラグと、「貴社で製造してください」というニーズフラグとを設けてもよく、さらに細かく、例えば、「部品を製造します」、「材料を製造します」、「部品を製造してください」、「材料を製造してください」等のニーズフラグを設けてもよい。その他には、例えば、「システムを構築します」、「システムの構築をお願いします」、「製品・商品を輸送します」、「製品・商品を輸送してください」、「広告を引き受けます」、「広告をお願いします」、「人材を派遣します」、「人材の派遣をお願いします」、「小売りします」、「小売店を求めています」、「全国展開を引き受けます」、「全国展開をお願いしたい」、「不動産を提供します」、「不動産の提供を求めています」、「サービスを提供します」、「サービスの提供を求めています」、「納品は当日または翌日です」、「納期は当日または翌日として欲しい」等のニーズフラグを設けることができる。また、「その他」というニーズフラグを設けてもよい。
【0077】
(処理手段30/固有テキストデータ準備手段34の構成)
固有テキストデータ準備手段34は、案件データ記憶手段54に記憶されている各案件(各企業)の案件データを用いて、マッチング処理およびそれに付随する連想検索処理および類似案件検索処理に必要となる各案件(各企業)の固有テキストデータを準備する処理を実行し、処理後の固有テキストデータを、案件識別情報(案件番号)と関連付けて案件データ記憶手段54に記憶させる処理を実行するものである。
【0078】
なお、処理後の固有テキストデータは、案件データ記憶手段54とは別に、固有テキストデータ記憶手段を設けておき、そこに案件識別情報(案件番号)と関連付けて記憶させてもよい。また、本実施形態では、処理後の固有テキストデータを案件データ記憶手段54に記憶させるが、案件データ記憶手段54に記憶されている処理後の固有テキストデータの部分を、固有テキストデータ記憶手段と呼んでもよい。従って、案件データや処理後の固有テキストデータを記憶するために設置するデータベースの数や、テーブルの数は任意であり、どのようなデータ分割形態をとっていても、案件識別情報(案件番号)により関連付けられていればよい。
【0079】
固有テキストデータは、連想検索手段41、マッチング手段42、類似案件検索手段43のいずれの処理でも使用される。本実施形態では、マッチング手段42による処理については、
図5に示すように、自己データとニーズデータとを結合した結合テキストデータを、固有テキストデータとして使用する。一方、類似案件検索手段43による処理については、
図10に示すように、自己データとニーズデータとは結合せずに、別々の状態の自己データおよびニーズデータのそれぞれを固有テキストデータとして使用する。但し、マッチング手段42による処理において、自己データとニーズデータとを結合せずに、別々の状態でそれぞれを固有テキストデータとして使用してもよく、また、類似案件検索手段43による処理において、自己データとニーズデータとを結合した結合テキストデータを、固有テキストデータとして使用してもよい。
【0080】
また、連想検索手段41による処理については、本実施形態では、マッチング手段42による処理で使用する固有テキストデータ(結合テキストデータの状態のもの)を共用で使用する。但し、連想検索手段41による処理において、自己データまたはニーズデータのいずれか一方を固有テキストデータとして使用してもよい。なお、前述した本願出願人により開発された特許文献2の抽出システムは、キーワードを入力してそのキーワードに関連する企業を抽出するシステムであるため、連想検索手段41による処理に応用することができる。この際、特許文献2の抽出システムは、主として、キーワードを入力してテーマ型ファンドの構成銘柄とする候補銘柄(すなわち、その銘柄の発行企業)を抽出するシステムとして開発されたので、関連企業の抽出を行うために、各企業の固有テキストデータとして、各企業が投資家に向けて発信するインベスター・リレーションズ情報(IR情報)や各企業のホームページ情報(HP情報)を用いているが、本発明のマッチングシステムに応用する場合には、IR情報やHP情報を、マッチングを目的として記述された自己データ、ニーズデータ、またはそれらの結合テキストデータに置き換える。
【0081】
この固有テキストデータ準備手段34による処理は、事前処理(
図14参照)の段階で実行される。また、新規案件の登録時(
図23参照)に、新規案件登録手段45からの指示を受けて、トピックモデル等の更新前における新規案件の即時反映処理として、新規案件の固有テキストデータについて実行される。さらに、トピックモデルの更新等の時期が到来した場合(
図16参照)にも実行されるが、上記の新規案件の即時反映処理で実行されている処理については、繰り返し実行する必要はない。
【0082】
(処理手段30/固有テキストデータ準備手段34の構成:結合テキストデータの作成処理、
図5、
図6)
固有テキストデータ準備手段34は、[α]結合テキストデータの作成処理と、[β]不要な記号やタグ等の除去処理と、[γ]形態素解析で単語に分解し、名詞のみを抽出する処理と、[δ]不要な単語の除去処理とを実行する。なお、[α]の処理を実行して得られたデータと、[α]~[δ]の処理を実行して得られたデータとは、ともに結合テキストデータ(固有テキストデータ)と呼ぶ。この際、[γ]の処理を経た後は、単語に分解された状態となるが、トピック推定を行ううえで、[α]の処理を実行して得られたデータと同等な情報を持ち合わせているので、説明の便宜上、結合テキストデータ(固有テキストデータ)と呼ぶ。また、[δ]までの処理を経た結合テキストデータ(固有テキストデータ)を特に区別して呼ぶときは、処理後の結合テキストデータ(処理後の固有テキストデータ)と呼ぶ。
【0083】
[α]結合テキストデータの作成処理では、固有テキストデータ準備手段34は、
図5に示すように、案件データを構成する自己業種(取扱商品)および自己PR(自由記述形式のテキストデータ)を合わせたテキストデータからなる自己データと、希望業種(マッチング相手の業種)およびニーズ詳細(自由記述形式のテキストデータ)を合わせたテキストデータからなるニーズデータとを結合することにより、結合テキストデータを作成する。得られた結合テキストデータは、1つの文書データとして取り扱われる。
【0084】
この際、固有テキストデータ準備手段34は、
図6に示すように、句点(。)を挟んで自己業種、自己PR(自由記述形式)、希望業種、ニーズ詳細(自由記述形式)を結合する。なお、ここでは、自己業種を含めて自己データとし、希望業種を含めてニーズデータとしているが、自己業種を含めずに自己PR(自由記述形式)だけを自己データとしてもよく、希望業種を含めずにニーズ詳細(自由記述形式)だけをニーズデータとしてもよい。
【0085】
また、固有テキストデータ準備手段34により作成する結合テキストデータは、テキストデータであるから、自己業種や希望業種が選択式の記号や番号(1,2,…等)になっている場合には、それらの業種をテキストデータ(電機、建築・土木、IT、…等)に変換してから結合する。一方、自己業種や希望業種が自由記述形式になっているか、あるいはマッチングサービス提供者側で予め用意した業種の中から選択した業種をテキストで記述するようになっている場合には、既にテキストデータになっているので、そのまま結合することができる。
【0086】
さらに、マッチングサービス提供者側で予め用意した業種の中から選択した業種(記号や番号で選択指定されているか、テキストで記述されているかは問わない。)と、マッチング依頼者が自由記述形式で記述した業種とが併用されている場合(予め用意された業種の中に、該当する業種が無いときに、該当する業種を自由記述形式で記述するようになっている場合)には、自由記述形式で記述した業種だけを、自己データやニーズデータに含めてもよい。このようにする場合は、自由記述形式で記述した自己業種や希望業種だけが、自己PR(自由記述形式)やニーズ詳細(自由記述形式)と同等な情報であると考えていることになる。
【0087】
そして、
図5および
図6での図示は省略されているが、自由記述形式の「その他」の欄がある場合には、「その他」の欄に記述されたテキストデータを、自己PR(自由記述形式)やニーズ詳細(自由記述形式)と同等な情報であると考え、それも結合して結合テキストデータに含めるようにしてもよい。
【0088】
[β]不要な記号やタグ等の除去処理では、固有テキストデータ準備手段34は、[α]の処理で得られた結合テキストデータから、例えば、☆、<br>等を削除する。
【0089】
[γ]形態素解析で単語に分解し、名詞のみを抽出する処理では、固有テキストデータ準備手段34は、
図6に示すように、先ず、[β]の処理で得られた結合テキストデータを用いて形態素解析を実行し、結合テキストデータを単語に分解(分割)し、分かち書きにする。この形態素解析は、既存の解析ツールを利用して実行することができる。
【0090】
この際、形態素解析用に、単語や類義語の辞書を作成し、図示されない単語辞書記憶手段や類義語辞書記憶手段に記憶しておいてもよい。単語辞書には、例えば「イヤホン」、「インスタグラム」、「オーガニック」等、既存の解析ツールの辞書に含まれていない単語を登録する。また、類義語辞書には、例えば「バッテリー」、「バッテリ」等の表記のゆれ単語を登録する。
【0091】
[δ]不要な単語の除去処理では、固有テキストデータ準備手段34は、単語の絞り込みを行う。先ず、単語の品詞や出現回数に基づいて、単語をフィルタリングする。具体的には、名詞の一部(例えば「一般」、「サ変接続」等)だけを残し、他の単語は捨てる。また、全ての案件の結合テキストデータの集合において、出現回数が、例えば3回未満の単語は捨てる。各単語と出現回数との関係は、図示されない単語出現回数記憶手段に記憶されている。従って、新規案件の結合テキストデータが増えた場合には、そこに含まれる単語の出現回数が加算されるので、例えば3回という閾値を超える場合もあり、これにより、捨てられていた単語が活かされるようになる場合もある。また、新規案件の結合テキストデータが増えた場合に、その結合テキストデータに全く新出の単語が現れ、その出現回数が、例えば3回という閾値を超えていれば、その新出の単語は、捨てられる単語ではなく、活かされる単語となる。
【0092】
次に、固有テキストデータ準備手段34は、不要語辞書記憶手段55に記憶されている不要語(ノイズ単語)を排除する。具体的には、例えば、「企業」、「ニーズ」、「サポート」等のような業種に関係なく出現すると考えられる単語は、不要語として排除する。また、例えば、「京都」、「関東」、「東日本」等の国内の地名は、不要語として排除する。但し、例えば、「欧州」、「中国」、「大連」等、海外の地名は残しておく。不要語として登録する単語は、例えば、1,000~2,000単語等である。
【0093】
図6の例では、固有テキストデータ準備手段34による以上の[α]~[δ]の処理を経た後に残る単語は、先頭から順番に、「飲食」、「店舗」、「酒類」、「ブランド」、「飲食」、「食品」、「酒類」、「食品」、「ブランド」、「泡盛」、…となる。従って、
図6に示すように、残った各単語とそれらの出現回数との関係が得られ、この関係が、トピック推定を行うために必要な情報となる。すなわち、1つの文書データとして取り扱われる結合テキストデータ(i=00001234)における各単語の出現回数となる。i=00001234は、案件番号であり、案件識別情報であるとともに、結合テキストデータ(文書データ)の番号でもある。案件番号は、連続番号である必要はないが(飛び飛びの番号でもよいが)、後述するトピック推定の説明も含め、ここでは、説明の便宜上、番号は、詰めて考えることにする。
【0094】
(処理手段30/固有テキストデータ準備手段34の構成:自己データとニーズデータとを結合せずに別々の固有テキストデータとして使用する場合の処理、
図10)
本実施形態の類似案件検索処理では、
図10に示すように、自己データとニーズデータとを結合せずに別々の固有テキストデータとして使用するが、処理後の固有テキストデータを作成する手順は、上述した処理後の結合テキストデータを作成する場合と殆ど同様であり、[α]の処理がないだけである。この際、自己データとニーズデータとは、別々の固有テキストデータであるから、それぞれについて[β]~[δ]の処理を実行する。従って、処理後の固有テキストデータは、別々に存在するので、それぞれの処理後の固有テキストデータを、案件識別情報(案件番号)と関連付けて案件データ記憶手段54に記憶させる。つまり、案件データ記憶手段54には、各案件について、処理後の結合テキストデータ、処理後の自己データ、処理後のニーズデータが、それぞれ内容の異なる固有テキストデータとして記憶されることになる。
【0095】
なお、結合テキストデータの作成処理では、固有テキストデータ準備手段34は、
図5に示すように、自己業種と自己PRとを合わせて自己データとし、希望業種とニーズ詳細とを合わせてニーズデータとしていたが、類似案件検索用の固有テキストデータは、
図10に示すように、自己PRだけを自己データとし、ニーズ詳細だけをニーズデータとする。但し、類似案件検索用の固有テキストデータについても、自己業種と自己PRとを合わせて自己データとし、希望業種とニーズ詳細とを合わせてニーズデータとしてもよく、このようにする場合は、結合が行われるので、[α]の処理があるといえる。
【0096】
(処理手段30/トピック推定手段35の構成)
トピック推定手段35は、固有テキストデータ準備手段34により作成されて案件データ記憶手段54に記憶されている全ての案件(企業)の固有テキストデータを用いて、ソフトクラスタリングまたはニューラル言語モデルで、ギブスサンプリング等を行うことにより、各案件(各企業)の固有テキストデータ(i)における各トピックの出現確率を示すトピック値(縦ベクトルπ(i))、および、各トピックにおける各単語の出現確率(行列β)を求めるトピック推定処理を実行し、このトピック推定処理で得られたπ(i)およびβを、トピックモデルとしてトピックモデル記憶手段56に記憶させる処理を実行するものである。
【0097】
この際、本実施形態では、案件データ記憶手段54には、マッチングおよび連想検索に共用の固有テキストデータである結合テキストデータと、類似案件検索用の固有テキストデータである自己データおよびニーズデータとが記憶されているので、これらの3種類の固有テキストデータの各々について別々にトピック推定処理を実行し、それぞれのトピック推定処理で得られたπ(i)およびβを、それぞれのトピックモデルとしてトピックモデル記憶手段56に記憶させる。
【0098】
このトピック推定手段35による処理は、事前処理(
図14参照)として実行される。また、トピックモデルの更新処理(
図16参照)でも実行される。後者の更新時には、案件データ記憶手段54に新規案件(前回更新時から見て、1件に限らず、複数の新規案件が登録されている場合もある。)の固有テキストデータが記憶されているので、新規案件の固有テキストデータも含めて全ての案件の固有テキストデータを用いてトピック推定処理が実行される。
【0099】
トピック推定処理を実行する際のソフトクラスタリングまたはニューラル言語モデルについては、本実施形態では、一例として、レイテント・ディリクレ・アロケーション(LDA:Latent Dirichlet Allocation、潜在的ディリクレ配分法)を採用する。なお、ここでいうニューラル言語モデルの「モデル」は、アルゴリズムおよびパラメータを含めた概念であり、一方、トピックモデル記憶手段56に記憶されるトピックモデルの「モデル」は、学習結果として得られるパラメータ(学習結果データ)を指す概念である。従って、アルゴリズムにより実現されるトピック推定手段35および後述するトピック値予測手段36と、トピックモデルを記憶するトピックモデル記憶手段56とにより、推定器が構成されている。
【0100】
また、レイテント・ディリクレ・アロケーション(LDA)の他には、例えば、ファジー・Cミーンズ(Fuzzy c-means)、混合分布モデル、非負値行列因子分解(NMF:Non-negative Matrix Factorization)、pLSI(probabilistic Latent Semantic Indexing)、Doc2Vec、SCDV(Sparse Compose Document Vecotors)等を採用することができる。例えば、Doc2Vecを実装する場合には、既存のGensimと呼ばれるライブラリを用いることができる。
【0101】
ここで、各案件の固有テキストデータ(i)における各トピックの出現確率を示すトピック値は、
図18および
図19に示すように、K次元の縦ベクトルπ(i)であり、本願では、これをトピック分布と呼んでいる。iは文書番号であり、i=1~nのとき、nは文書数であるが、この文書数nは、本発明では、固有テキストデータの数(すなわち、案件の数)に相当し、本実施形態のビジネスマッチングでは、登録企業数に相当し、例えば、n=約10万社等である。Kはトピック数であり、システムの構築者が指定する。従って、トピック分布は、トピック番号=1~Kの各トピック値π(i,1),π(i,2),π(i,3),…,π(i,K)により構成される。例えば、本実施形態のビジネスマッチングでは、トピックとして20業種を想定し、K=20等とすることができる。但し、トピック数Kは20に限定されるものではなく、また、トピックとして必ずしも業種を想定しなければならないわけではなく、本実施形態がビジネスマッチングであるから、最も容易に当て嵌めて考えることができる業種を想定してシステム設計を行っているに過ぎない。
【0102】
また、各トピックにおける各単語の出現確率は、
図18および
図19に示すように、K行p列の行列βで表すことができる。Kはトピック数である。pは単語数であり、例えば、p=約3,000語等である。
【0103】
図6に示すように、1つの文書データとして取り扱われる固有テキストデータ(
図6の例では、結合テキストデータ)(i=00001234)から直接に得られる情報は、その固有テキストデータに含まれる各単語とそれらの出現回数との関係を示すデータである。そして、各単語の出現回数が判れば、それぞれの単語の出現回数を、全ての単語の出現回数の和で除することにより、ある1つの固有テキストデータにおける各単語の出現確率が判るので、これが既知の情報となる。トピック推定手段35は、多数の固有テキストデータのそれぞれにおける各単語とそれらの出現回数との関係を示すデータを既知の情報として、それらの既知の情報を用いて、ギブスサンプリング等を行うことにより、各固有テキストデータ(i)におけるトピック分布π(i)(トピック番号=1~Kの各トピックの出現確率を示すトピック値)、および、各トピックにおける各単語の出現確率(K行p列の行列β)を求める。なお、K行p列の行列βと、K次元の縦ベクトルで示されるトピック分布π(i)とが得られているときに、固有テキストデータ(i)における各単語(1~p番目の単語)の出現確率を算出するには、行列βの転置行列(p行K列)と、トピック分布π(i)(K次元の縦ベクトル)とを、この順で掛ける演算を行うことになる。以上のことは、固有テキストデータが、結合テキストデータではなく、結合されていない自己データやニーズデータの場合も同様である。
【0104】
(処理手段30/トピック値予測手段36の構成)
トピック値予測手段36は、トピックモデルの更新前に、新規案件登録手段45からの指示を受けて固有テキストデータ準備手段34により作成されて案件データ記憶手段54に記憶されている新規案件(新規企業)の処理後の固有テキストデータ、および、トピックモデル記憶手段56に記憶されている各トピックにおける各単語の出現確率(K行p列の行列β)(更新前のトピックモデルの行列β)を用いて、新規案件の固有テキストデータにおける各トピックの出現確率を示すトピック値(K次元の縦ベクトルπ(i)で表されるトピック分布)を予測し、予測したπ(i)を、更新前における仮の値としてトピックモデル記憶手段56に記憶させる処理を実行するものである。
【0105】
この際、トピック値予測手段36は、新規案件(新規企業)の処理後の固有テキストデータ(i=n+1)について、次の3種類のトピック分布π(i)を予測する。すなわち、マッチング処理で用いる固有テキストデータである結合テキストデータにおけるトピック分布π(i)と、類似案件検索処理で用いる固有テキストデータである自己データ、ニーズデータの各々におけるトピック分布π(i)とを予測する。
【0106】
このトピック値予測手段36による処理を行う際には、
図6に示すように、新規案件の固有テキストデータ(
図6の例では、結合テキストデータ)における各単語とそれらの出現回数との関係(すなわち、1つの文書データとして取り扱われる新規案件の固有テキストデータにおける各単語の出現確率)と、各トピック(トピック番号=1~K)における各単語(1~p番目の単語)の出現確率(K行p列の行列β)とが既知の情報である。従って、トピック値予測手段36は、これらの既知の情報から、新規案件の固有テキストデータにおける各トピックの出現確率を示すトピック値(K次元の縦ベクトルπ(i)で表されるトピック分布)を予測する。
【0107】
なお、新規案件の固有テキストデータの中に、各トピックにおける各単語の出現確率(K行p列の行列β)として用意されている各単語(1~p番目の単語)に含まれない新出の単語が存在する場合には、その新出の単語を含めた予測は行うことができないので、その新出の単語は無いものとして、新規案件の固有テキストデータにおけるトピック分布の予測を行う。従って、この新出の単語の情報は、その後に行われるトピック推定手段35によるトピック推定処理(トピックモデルの更新処理)で、トピックモデル記憶手段56に記憶されるトピックモデルに反映されることになる。
【0108】
(処理手段30/単語重要度ベクトル算出手段37の構成)
単語重要度ベクトル算出手段37は、固有テキストデータ準備手段34により作成されて案件データ記憶手段54に記憶されている各案件(各企業)の固有テキストデータについての各単語のTFIDF値またはその他の単語重要度指標値からなる単語重要度ベクトルを算出し、得られた単語重要度ベクトルを、案件識別情報(案件番号)と関連付けて単語重要度ベクトル記憶手段57に記憶させる処理を実行するものである。なお、単語重要度ベクトルの算出に用いる固有テキストデータは、固有テキストデータ準備手段34による[δ]までの処理を経た後に残った単語の集合である。
【0109】
ここで、単語重要度指標値は、本実施形態では、一例として、TFIDF値を採用しているが、これに限定されるものではなく、例えば、Okapi-BM25等でもよい。なお、TF(Term Frequency)は、文書(ここでは、固有テキストデータ)における単語の出現頻度であり、ある1つの固有テキストデータにおける各単語の出現回数を、その固有テキストデータにおける全単語の出現回数の和で除した値である。IDF(Inverse Document Frequency)は、逆文書頻度であり、全文書数(ここでは、固有テキストデータの総数)を、各単語を含む固有テキストデータの数で除した値についてロガリズム(log)をとった値である。
【0110】
単語重要度ベクトルは、単語数をpとすると、p次元のベクトルであり、例えば、p=約3,000語等であれば、約3,000次元のベクトルとなる。この単語重要度ベクトルは、正規化(例えば、L2ノルム正規化)の処理を行っておくことが好ましい。
【0111】
本実施形態では、案件データ記憶手段54には、マッチング処理で用いる固有テキストデータである結合テキストデータと、類似案件検索処理で用いる固有テキストデータである自己データおよびニーズデータとが記憶されているので、これらの3種類の固有テキストデータの各々についての単語重要度ベクトルを算出し、それぞれの単語重要度ベクトルを、案件識別情報(案件番号)と関連付けて単語重要度ベクトル記憶手段57に記憶させる。なお、マッチング処理および類似案件検索処理で用いる固有テキストデータを、結合テキストデータで統一するか、あるいは、結合していない自己データおよびニーズデータで統一する場合には、マッチング処理用と類似案件検索処理用の単語重要度ベクトルは、共用にすることができる。
【0112】
この単語重要度ベクトル算出手段37による処理は、事前処理(
図14参照)の段階で実行される。また、新規案件の登録時(
図23参照)に、新規案件登録手段45からの指示を受けて、トピックモデル等の更新前における新規案件の即時反映処理として、新規案件の固有テキストデータについての単語重要度ベクトルの算出処理が実行される。さらに、トピックモデルの更新等の時期が到来した場合(
図16参照)にも実行されるが、上記の新規案件の即時反映処理で実行されている処理については、繰り返し実行する必要はない。
【0113】
(処理手段30/マッチング学習用データ準備手段38の構成)
マッチング学習用データ準備手段38は、マッチング学習用データ(マッチングモデル記憶手段60に記憶させるマッチングモデルの学習用データ)として、多数のマッチング用特徴データ(
図8参照)の各々について、選定・非選定のラベル(タグ)を付したアノテーション後のデータ(
図9参照)を作成し、タグ付けされた多数のマッチング用特徴データを、案件識別情報(案件番号)のペアと関連付けてマッチング学習用データ記憶手段59に記憶させる処理を実行するものである。
【0114】
この際、マッチング学習用データ準備手段38は、多数のマッチング用特徴データを用意するが、マッチング用特徴データの作成方法については、マッチング手段42のマッチング用特徴データ作成手段42Aの説明で
図7、
図8を用いて詳述する。また、各マッチング用特徴データについての選定・非選定のタグ付け処理は、マッチング候補選定実績リスト記憶手段58に記憶されているマッチング候補選定実績リストを用いて実行される。
【0115】
このマッチング学習用データ準備手段38による処理は、マッチングモデルの初期モデルを構築する事前処理(
図14参照)の段階で実行される。また、マッチングモデルの更新時(
図16参照)にも実行される。
【0116】
(処理手段30/マッチングモデル学習手段39の構成)
マッチングモデル学習手段39は、マッチング学習用データ準備手段38により作成されてマッチング学習用データ記憶手段59に記憶されているマッチング学習用データ(多数のマッチング用特徴データの各々について、選定・非選定のラベル(タグ)を付したアノテーション後のデータ、
図9参照)を用いて、教師あり分類モデルによる学習処理を行い、得られたマッチングモデル(ここでは、学習結果データとしてのパラメータを意味する。)を、マッチングモデル記憶手段60に記憶させる処理を実行するものである。
【0117】
このマッチングモデル学習手段39による処理は、マッチングモデルの初期モデルを構築する事前処理(
図14参照)の段階で実行される。また、マッチングモデルの更新時(
図16参照)にも実行される。
【0118】
なお、固有テキストデータの数を増やしてトピック推定手段35によるトピック推定処理を再度実行すると、厳密に言えば、各固有テキストデータにおけるトピック分布は、若干、異なる値となるので、それらのトピック分布を用いて作成される各マッチング用特徴データも、若干、異なる状態となる。そして、そのような若干異なる各マッチング用特徴データを用いてマッチングモデル学習手段39による学習処理を行えば、マッチングモデル記憶手段60に記憶させるマッチングモデルは、若干異なる状態となる。しかし、追加する固有テキストデータが、1つまたは比較的少数であれば、トピック分布は殆ど変化しないので、マッチングモデル記憶手段60に記憶されているマッチングモデルについては、再学習せずに、そのまま用いることができる。従って、マッチングモデルの更新は、必ずしもトピック推定処理を再度実行することによるトピックモデルの更新と同時期に行う必要はなく、トピックモデルの更新と、マッチングモデルの更新とは、異なるタイミングで行ってよい(
図16のステップS14参照)。
【0119】
(処理手段30/入力受付手段40の構成)
入力受付手段40は、各画面100,200,300(
図11、
図12、
図13参照)に設けられた入力部110でのキーワードまたは案件識別情報(案件番号)の入力を受け付ける処理を実行するものである。
【0120】
ここで、入力部110へのキーワードの入力には、各画面100,200,300の入力部110への打鍵操作による入力の他、
図12の画面200の「類似キーワード」表示部210に表示された各単語(入力されたキーワード、およびそのキーワードに関連する複数の関連単語)を選択することによる選択入力(クリック操作やタップ操作等による入力)が含まれる。各単語のいずれかを選択入力すると、選択した単語が、入力部110に自動表示されるようになっている。また、入力部110への案件識別情報(案件番号)の入力には、各画面100,200,300の入力部110への打鍵操作による入力の他、
図12の画面200の「キーワード検索リスト」表示部220に表示された各関連案件の案件識別情報(案件番号)を選択することによる選択入力と、
図13の画面300の「推薦案件リスト」表示部320や「類似案件一覧」表示部330に表示された各推薦案件や各類似案件の案件識別情報(案件番号)を選択することによる選択入力とが含まれる。各関連案件、各推薦案件、各類似案件の案件識別情報(案件番号)のいずれかを選択入力すると、選択した案件識別情報(案件番号)が、入力部110に自動表示されるようになっている。
【0121】
また、入力受付手段40は、入力部110に入力された情報が、キーワードであるか案件識別情報(案件番号)であるかを判断し、キーワードであると判断した場合には、連想検索手段41にキーワードを伝達して連想検索処理を実行させ、案件識別情報(案件番号)であると判断した場合には、マッチング手段42および類似案件検索手段43に案件識別情報を伝達してマッチング処理および類似案件検索処理を実行させる。なお、本実施形態では、キーワードの入力と、案件識別情報(案件番号)の入力とを、同一の入力部110で受け付ける構成とされているが、キーワードの入力部と、案件識別情報(案件番号)の入力部とを、別々に設けてもよい。但し、同一の入力部110で受け付ける構成とすることが、ユーザの操作性、利便性向上の観点から好ましい。
【0122】
さらに、入力受付手段40は、入力を受け付けたキーワードまたは案件識別情報(案件番号)のログ情報を、検索履歴記憶手段61に記憶させる。検索履歴記憶手段61は、主メモリ等の揮発性メモリでもよい。この際、マッチングシステム10が、複数のユーザ(サービス担当者またはマッチング依頼者)の操作を同時に受け付けることができる構成(例えば、ネットワーク構成)である場合には、各ユーザの検索履歴のログ情報を、ユーザ識別情報と関連付けて検索履歴記憶手段61に記憶させる。そして、入力受付手段40は、検索履歴記憶手段61に記憶させたログ情報を用いて、各画面100,200,300に設けられた「検索履歴」表示部130(
図11では、表示部130の図示が省略されている。)に検索履歴の表示(キーワードまたは案件識別情報を入力順に並べた表示)を行う。なお、同じキーワードや、同じ案件識別情報(案件番号)を続けて入力してもよいが、同じ出力が繰り返されるだけであり、検索履歴には、同じキーワードや、同じ案件識別情報(案件番号)が並ぶことになる。
【0123】
(処理手段30/連想検索手段41の構成)
連想検索手段41は、単語類似度算出手段41Aと、関連度算出手段41Bとを含んで構成されている。
【0124】
単語類似度算出手段41Aは、入力受付手段40によりキーワードの入力を受け付けた場合に、分散表現モデル記憶手段53に記憶された単語の分散表現を用いて算出したキーワードとそれ以外の単語との間の一般類似度Aと、案件データ記憶手段54に記憶された各案件(各企業)の固有テキストデータを用いて算出したキーワードとそれ以外の単語との間の固有類似度Bとを用いて最終類似度FSを算出し、得られた最終類似度FSの高い順でキーワードの関連単語を決定する処理を実行するものである。より詳細な内容は、後述する。
【0125】
ここで、固有類似度Bを算出する際の各案件の固有テキストデータは、連想検索用の固有テキストデータであり、本実施形態では、マッチング用と共用の固有テキストデータである結合テキストデータである。
【0126】
なお、単語類似度算出手段41Aは、固有類似度Bを用いずに、一般類似度Aを最終類似度FSとし、キーワードの関連単語を決定してもよい。但し、より効果的なマッチングを行うという観点から、一般類似度Aと固有類似度Bとの双方を用いて最終類似度FSを算出することが好ましい。
【0127】
関連度算出手段41Bは、入力受付手段40により受け付けたキーワードおよびその関連単語の各々が、案件データ記憶手段54に記憶された各案件(各企業)の固有テキストデータの中に出現する単語別出現回数Cを求め、求めた単語別出現回数Cおよび関連単語の最終類似度FSを用いて、キーワードに対する各案件の関連度CSを算出し、関連度CSの高い順で関連案件を決定する処理を実行するものである。より詳細な内容は、後述する。
【0128】
(処理手段30/連想検索手段41/単語類似度算出手段41Aの構成:一般類似度Aの算出処理、
図2)
単語類似度算出手段41Aは、分散表現モデル記憶手段53(
図2参照)に記憶された分散表現モデル(本実施形態では、単語ベクトルの集合からなる重み行列Wであり、3つのタイプの重み行列W1,W2,W3とする。)を用いて、入力受付手段40により受け付けたキーワードと他の単語との間のモデル別類似度Sを算出し、このモデル別類似度Sの大きさで順位付けした単語のうち、予め定められた上位N3(例えば、N3=100)の単語を、モデル別類似単語として選択する。なお、N3は、設定データとして設定データ記憶手段51に記憶されているが、固定値としてもよい。
【0129】
より詳細には、単語類似度算出手段41Aは、先ず、
図2に示すように、タイプ1~3の各々の分散表現モデルについて、分散表現モデル記憶手段53(
図2参照)に記憶されている重み行例W(W1~W3)を用いて、入力受付手段40により受け付けたキーワードについての単語ベクトルV(k,j)と、他の単語についての単語ベクトルV(i,j)との間のコサイン類似度S(i,j)を算出し、モデル別類似度記憶手段62に記憶させる。モデル別類似度記憶手段62は、主メモリ等の揮発性メモリでもよい。
図2に示すように、コサイン類似度S(i,j)は、V(k,j)とV(i,j)との内積を、V(k,j)の大きさとV(i,j)の大きさとの積で除した値である。このコサイン類似度S(i,j)の算出処理は、例えばword2vecのモジュール等のように、既存のツールの機能を利用して実行してもよい。
【0130】
ここで、kは、入力受付手段40により受け付けたキーワード(単語)の番号である。iは、各単語の番号であり、i=1,2,3,…,k-1,k+1,…,N2-2,N2-1,N2をとり、N2は、ボキャブラリ数(例えば、N2=115万)である。kが抜けているのは、N2個の単語のうち、キーワードの単語を除くという意味であり、キーワードの単語と、それ以外の全ての単語との間で、コサイン類似度S(i,j)を算出するという意味である。jは、分散表現モデルのタイプの番号であり、本実施形態では、j=1,2,3である。なお、分散表現モデルの数は3つに限定されるものではなく、3以外の複数でもよく、また、複数に限定されるものでもなく、1つでもよい。但し、複数の分散表現モデルを用いれば、各分散表現モデル間のモデル別類似度Sのばらつきを吸収し、より適切な単語を、一般類似単語として決定することが可能となる。なお、分散表現モデルの数が1つの場合は、その分散表現モデルにおけるモデル別類似度Sが、一般類似度Aとなり、その分散表現モデルにおけるモデル別類似度Sの上位N3(例えば、N3=100)の単語が、モデル別類似単語であり、かつ、一般類似単語となる。
【0131】
従って、
図2に示すように、例えば、タイプ1の分散表現モデルについては、重み行例W1を用いて、キーワードの単語についての単語ベクトルV(k,1)と、他の単語についての単語ベクトルV(i,1)との間のコサイン類似度S(i,1)を算出する。同様に、タイプ2の分散表現モデルについては、重み行例W2を用いて、キーワードの単語についての単語ベクトルV(k,2)と、他の単語についての単語ベクトルV(i,2)との間のコサイン類似度S(i,2)を算出する。タイプ3の分散表現モデルも同様である。
【0132】
それから、単語類似度算出手段41Aは、タイプ1~3の各々の分散表現モデルについて、モデル別類似度記憶手段62に記憶しているコサイン類似度S(i,j)の中から、大きさが上位N3(例えば、N3=100)位以内のコサイン類似度S(i,j)を選択する。ここで、i=1,2,3,…,k-1,k+1,…,N2-2,N2-1,N2であり、j=1,2,3である。番号iの数は、N2個(例えば115万個)の単語から、番号kのキーワードの単語を1つを除くので、(N2-1)個である。
【0133】
例えば、タイプ1のモデルについては、(N2-1)個(例えば、(115万-1)個)のコサイン類似度S(i,1)(i=1,2,3,…,k-1,k+1,…,N2-2,N2-1,N2)の中から、上位N3位以内(例えば、100位以内)のコサイン類似度S(i,1)を選択する。選択されたコサイン類似度S(i,1)は、
図2の最下部の表において太線で囲まれている。同様に、タイプ2のモデルについては、(N2-1)個(例えば、(115万-1)個)のコサイン類似度S(i,2)(i=1,2,3,…,k-1,k+1,…,N2-2,N2-1,N2)の中から、上位N3位以内(例えば100位以内)のコサイン類似度S(i,2)を選択する。さらに、タイプ3のモデルについては、(N2-1)個(例えば、(115万-1)個)のコサイン類似度S(i,3)(i=1,2,3,…,k-1,k+1,…,N2-2,N2-1,N2)の中から、上位N3位以内(例えば100位以内)のコサイン類似度S(i,3)を選択する。
【0134】
そして、タイプ1~3の各分散表現モデルで選択された上位N3位以内(例えば100位以内)のS(i,j)の単語の番号iは、通常、一致していない。つまり、
図2の最下部の表に示すように、太枠で囲まれた部分は、ずれている。従って、3タイプ全体で考えた場合には、各分散表現モデルで選択した単語が一致していない場合のずれ分の単語を含め、少なくとも1つの分散表現モデルで選択された単語の数は、N3(例えば100)個よりも大きくなる。この数を、N4(例えば150)とする。
【0135】
また、N3個(例えば100個)の単語の番号がずれて選択されることにより、全体でN4個(例えば150個)の単語の番号が選択されているので、タイプ1~3の分散表現モデルの各々についてみれば、(N4-N3)個(例えば、150-100=50個)の単語の番号に対応するコサイン類似度S(i,j)が選択されていないため、存在しない状態である。このように、対応するコサイン類似度S(i,j)が存在しない番号の単語については、コサイン類似度S(i,j)=0とみなすものとする。すなわち、実際には、それらのコサイン類似度S(i,j)の値は存在するが、上位N3位以内(例えば100位以内)に入らないような小さな数値であるため、0とみなすことになる。
【0136】
例えば、
図2の最下部の表において、タイプ1の分散表現モデルについては、N4個(例えば150個)の単語の番号iのうち、番号i=k-1のS(k-1,1)が存在しないので、S(k-1,1)=0とみなす。同様に、タイプ2の分散表現モデルについては、N4個(例えば150個)の単語の番号iのうち、番号i=2のS(2,2)と、番号i=N-2のS(N-2,2)とが存在しないので、S(2,2)=S(N-2,2)=0とみなす。また、タイプ3の分散表現モデルについては、N4個(例えば150個)の単語の番号iのうち、番号i=k-1のS(k-1,3)と、番号i=N-2のS(N-2,3)とが存在しないので、S(k-1,3)=S(N-2,3)=0とみなす。
【0137】
その後、単語類似度算出手段41Aは、タイプ1~3の各々の分散表現モデルについて、N4個(例えば150個)の番号iの単語毎に、モデル別類似度記憶手段62に記憶しているコサイン類似度S(i,j)の調和平均または加重調和平均(重み付き調和平均)を求めることにより、3つのタイプの分散表現モデルをアンサンブルした一般類似度A(i)を算出する。すなわち、一般類似度A(i)は、S(i,1)、S(i,2)、S(i,3)の調和平均または加重調和平均である。加重調和平均は、例えば、ディメンジョンやウィンドウサイズについて、強調したい分散表現モデルがある場合に、そこに相対的に大きな重みを付けたり、word2vecのCBOWの分散表現モデルとSkip-gramの分散表現モデルとの混成とする場合に、CBOWとSkip-gramとで重みを変える場合等に利用することができる。
【0138】
調和平均または加重調和平均をとると、番号iの単語について、タイプ1~3の各分散表現モデルのコサイン類似度S(i,1),S(i,2),S(i,3)のうちのいずれかの値(少なくとも1つの値)がゼロになった場合には、一般類似度A(i)=0となる。例えば、
図2の最下部の表では、タイプ2の分散表現モデルについての番号i=2のS(2,2)=0であるから、番号i=2の単語の一般類似度A(2)=0となる。同様に、タイプ1,3の分散表現モデルについての番号i=k-1のS(k-1,1)=S(k-1,3)=0であるから、番号i=k-1の単語の一般類似度A(k-1)=0となる。また、タイプ2,3の分散表現モデルについての番号i=N-2のS(N-2,2)=S(N-2,3)=0であるから、番号i=N-2の単語の一般類似度A(N-2)=0となる。
【0139】
続いて、単語類似度算出手段41Aは、アンサンブルした一般類似度A(i)の値がゼロにならなかった単語を選択し、それらを一般類似単語として決定し、一般類似単語およびその一般類似単語についての一般類似度A(i)を、一般類似度記憶手段63に記憶させる。一般類似度記憶手段63は、主メモリ等の揮発性メモリでもよい。なお、複数種類の分散表現モデルをアンサンブルした一般類似度A(i)の値がゼロになることなく、一般類似単語として選択される単語は、タイプ1~3の各分散表現モデルで選択された上位N3位以内(例えば100位以内)のモデル別類似度S(i,j)の番号iのうち、全ての分散表現モデルで選択された番号、すなわち全ての分散表現モデルで重なっている番号の単語である。換言すれば、全ての分散表現モデルについてのモデル別類似単語となっている単語である。この結果、一般類似単語として決定した単語の個数がN5個(例えば70個)になったとする。このN5の値は、当然にN3(例えば100)以下の値となり、N5=N3となるのは、タイプ1~3の全ての分散表現モデルについて上位N3位以内(例えば100位以内)のモデル別類似度S(i,j)の単語の組合せが一致している場合(順位まで一致している必要はない。)のみである。
【0140】
以上のように、本実施形態では、一般類似度A(i)は、S(i,1)、S(i,2)、S(i,3)の調和平均または加重調和平均としているが、一般類似度Aを算出するためのモデル別類似度Sの統合方法は、調和平均または加重調和平均に限定されるものではなく、例えば、単純平均、加重平均、相乗平均等でもよい。また、各種平均をとる前に、突出した値を除外するという観点で、各分散表現モデルの番号iの単語のモデル別類似度Sのうちの最大および/または最小のモデル別類似度Sを除いた状態としてから、各種平均をとるようにしてもよい。
【0141】
(処理手段30/連想検索手段41/単語類似度算出手段41Aの構成:固有類似度Bの算出処理、
図3)
さらに、単語類似度算出手段41Aは、以上のようにして決定したN5個(例えば70個)の各一般類似単語、および、キーワードの単語について、案件テキストデータ記憶手段54に記憶された各案件の固有テキストデータ(本実施形態では、自己データとニーズデータとの結合テキストデータ)との照合を行うことにより、各一般類似単語および/またはキーワードの単語を含む固有テキストデータおよびその案件識別情報(案件番号)を抽出する。なお、抽出した案件識別情報(案件番号)は、図示されない抽出案件記憶手段(主メモリ等の揮発性メモリでもよい。)に記憶しておく。
【0142】
そして、単語類似度算出手段41Aは、
図3に示すように、N5個(例えば70個)の一般類似単語の全てについて、次の処理を実行する。なお、
図3では、N5個の一般類似単語のうちの任意の1つの一般類似単語をβとしている。
【0143】
すなわち、単語類似度算出手段41Aは、全ての案件のうち、固有テキストデータの中にキーワードαおよび一般類似単語βの双方が含まれる各案件の集合Pにおけるキーワードαの出現回数および一般類似単語βの出現回数による集合Pの評価値Ps(但し、後述する式(1)の係数σ=0とし、キーワードαの出現回数を使用せずに一般類似単語βの出現回数だけによる集合Pの評価値Psとしてもよい。)と、固有テキストデータの中にキーワードαが含まれず、かつ、一般類似単語βが含まれる各案件の集合Qにおける一般類似単語βの出現回数による集合Qの評価値Qsとを用いて、Ps/(Ps+Qs)により、固有類似度Bを算出し、算出した固有類似度Bを固有類似度記憶手段64に記憶させる。固有類似度記憶手段64は、主メモリ等の揮発性メモリでもよい。
【0144】
図3において、例えば、キーワードα(例えば「お酒」)を含む案件は、A社、B社、C社、H社、J社であり、一般類似単語β(例えば「焼酎」)を含む案件は、A社、B社、C社、D社、E社、F社、G社であるとする。この場合、キーワードαおよび一般類似単語βの双方を含む案件の集合Pは、A社、B社、C社により構成される。また、キーワードαを含まず、かつ、一般類似単語βを含む案件の集合Qは、D社、E社、F社、G社により構成される。なお、キーワードαに対する一般類似単語βについての固有類似度Bの算出には、H社、J社は関与しない。
【0145】
集合Pの評価値Psは、次の式(1)により、集合Pに属する各案件(企業)のαの出現回数と、βの出現回数との関数fで算出される。
【0146】
Ps=f(集合Pに属する各案件のαの出現回数,βの出現回数)
=(Aα+Bα+Cα)×σ+(Aβ+Bβ+Cβ)×τ ・・・・(1)
【0147】
ここで、Aαは、A社の固有テキストデータにおけるキーワードαの出現回数である。同様に、Bα、Cαは、B社、C社の各固有テキストデータにおけるキーワードαの各出現回数である。Aβ、Bβ、Cβは、A社、B社、C社の各固有テキストデータにおける一般類似単語βの各出現回数である。なお、
図3は、一例であるから、より多くの案件が集合Pに属していれば、それらの全ての案件の固有テキストデータにおけるキーワードαや一般類似単語βの各出現回数を加算対象とする。
【0148】
また、係数σは、σ=0の値をとることができ、その場合は、集合Pに属する各案件の固有テキストデータには、キーワードαおよび一般類似単語βの双方が含まれているが、キーワードαの出現回数は使用しないことになる。係数σ,τは、設定データとして設定データ記憶手段51に記憶されているが、固定値としてもよい。
【0149】
集合Qの評価値Qsは、次の式(2)により、集合Qに属する各案件(企業)のβの出現回数の関数gで算出される。
【0150】
Qs=g(集合Qに属する各案件(企業)のβの出現回数)
=(Dβ+Eβ+Fβ+Gβ)×φ ・・・・・・・・・・・・・・・(2)
【0151】
ここで、Dβ、Eβ、Fβ、Gβは、D社、E社、F社、G社の各固有テキストデータにおける一般類似単語βの各出現回数である。なお、
図3は、一例であるから、より多くの案件が集合Qに属していれば、それらの全ての案件の固有テキストデータにおける一般類似単語βの出現回数を加算対象とする。また、係数φは、設定データとして設定データ記憶手段51に記憶されているが、固定値としてもよい。
【0152】
例えば、
図3の表のデータ集計例1では、式(1)の係数σ=τ=1という設定とした場合は、Ps=(3+2+2)×1+(2+1+3)×1=13となり、式(2)の係数φ=1という設定とした場合は、Qs=(2+1+2+4)×1=9となる。従って、固有類似度Bは、Ps/(Ps+Qs)=13/(13+9)=0.591となる。
【0153】
図3の表のデータ集計例1で、αの出現回数を用いずにβの出現回数だけで固有類似度Bを算出すべく、式(1)の係数σ=0、τ=1、式(2)の係数φ=1という設定とした場合は、Ps=6、Qs=9となるので、固有類似度Bは、Ps/(Ps+Qs)=6/(6+9)=0.4となる。
【0154】
また、
図3の表のデータ集計例1で、集合Pの評価値Psを算出する際に、a,βという2つの単語の出現回数を合計することによる過大な影響を抑えるべく、式(1)の係数σ=τ=0.5、式(2)の係数φ=1という設定とした場合は、Ps=6.5、Qs=9となるので、固有類似度Bは、Ps/(Ps+Qs)=6.5/(6.5+9)=0.419となる。
【0155】
さらに、ある1つの案件の固有テキストデータにおけるa,βの出現回数の値が突出していると、その1つの案件による影響が過大になるおそれがある。そこで、例えば、閾値(例えば、10回等)を設け、出現回数が閾値を超える場合には、閾値に変更する等の上限調整を行ってもよい。例えば、閾値が10回のときに、Aβ=13であれば、上限であるAβ=10に調整する等である。また、出現回数の平方根を求める等の変換調整を行ってもよい。例えば、Aβ=2であれば、Aβ=√2=1.414に変換調整する等である。
【0156】
従って、固有類似度Bは、各案件(各企業)の固有テキストデータを用いて算出されていればよい。このため、本願出願人により開発された前述した特許文献2の抽出システムに記載された方法で固有類似度B(特許文献2では、テキストデータ基準関連度Pword(適合率)と称されている。)を算出してもよい。前述した特許文献2の抽出システムでは、固有類似度Bは、本実施形態のような単語α,βの出現回数を用いる方法ではなく、集合Pに属する案件(企業)の数と、集合Qに属する案件(企業)の数とを用いて固有類似度Bを算出している。よって、前述した特許文献2の抽出システムの方法によれば、固有類似度Bは、一般類似単語βを含む案件のうちのキーワードαも含む案件の比率であるから、
図3の表のデータ集計例1では、固有類似度Bは、3社/(3社+4社)=3社/7社=0.429となる。
【0157】
なお、
図3の表のデータ集計例2の状況で、式(1)の係数σ=τ=1、式(2)の係数φ=1という設定とした場合、あるいは、
図3の表のデータ集計例3の状況で、式(1)の係数σ=0、τ=1、式(2)の係数φ=1という設定とした場合は、Ps=6、Qs=8となるので、固有類似度Bは、Ps/(Ps+Qs)=6/(6+8)=0.429となり、前述した特許文献2の抽出システムの方法により算出した固有類似度Bの値と同じ値となる。従って、単語α,βの出現回数が特殊な状況(各案件で均等)になったときに、案件の数を考慮する特許文献2の方法による固有類似度Bの算出値と、出現回数を考慮する本実施形態の方法による固有類似度Bの算出値とが一致する。
【0158】
(処理手段30/連想検索手段41/単語類似度算出手段41Aの構成:最終類似度FSの算出処理)
その後、単語類似度算出手段41Aは、一般類似度記憶手段63に記憶されている各一般類似単語についての一般類似度A(i)と、固有類似度記憶手段64に記憶されている各一般類似単語についての固有類似度B(i)との調和平均または加重調和平均(重み付き調和平均)を求めることにより、各一般類似単語についての最終類似度FS(i)を算出し、この最終類似度FS(i)の大きさで順位付けした各一般類似単語のうち、予め定められた数の上位の単語、または、閾値に対する最終類似度FS(i)の大きさで選択した単語を、関連単語として決定し、決定した各関連単語およびそれらの関連単語の最終類似度FS(i)を最終類似度記憶手段65に記憶させる処理を実行する。本実施形態では、上位N6個(例えば10個)の一般類似単語を、関連単語として選択決定する。N6は、設定データとして設定データ記憶手段51に記憶されているが、固定値としてもよい。
【0159】
ここで、iは、一般類似単語として決定された単語の番号であり、i=1,2,3,…,N5をとり、N5(例えば70)は、一般類似単語の個数である。従って、ここでは、番号iは、詰めている。
【0160】
なお、一般類似度A(i)と固有類似度B(i)とを用いて最終類似度FS(i)を算出する際には、調和平均または加重調和平均ではなく、単純平均、加重平均、相乗平均、二乗平均平方根(RMS)等を求めてもよいが、率の平均をとるという観点では、調和平均または加重調和平均とすることが好ましい。
【0161】
(処理手段30/連想検索手段41/関連度算出手段41Bの構成:関連度CSの算出処理、
図4)
関連度算出手段41Bは、案件データ記憶手段54に記憶された全ての案件(企業)の固有テキストデータのうち、単語類似度算出手段41Aにより決定した各関連単語(本実施形態では、一般類似単語βのうち、最終類似度FSが上位N6個(例えば10個)の単語)またはキーワードαのいずれかの単語を含む各固有テキストデータについて、次の処理を実行する。この処理対象となる各固有テキストデータは、当然に、各一般類似単語βまたはキーワードαのいずれかの単語を含む各固有テキストデータの集合の中に含まれるので、ここでの処理対象となる各固有テキストデータの案件識別情報(案件番号)は、単語類似度算出手段41Aにより抽出されて図示されない抽出案件記憶手段に記憶されている案件識別情報(案件番号)の範囲内である。
【0162】
すなわち、関連度算出手段41Bは、
図4に示すように、各関連単語γ(本実施形態では、N5個(例えば70個)の一般類似単語βのうち、最終類似度FSが上位N6個(例えば10個)の単語)およびキーワードαのそれぞれの単語について、上述した処理対象となる各固有テキストデータの中に出現する単語別出現回数C(i)を求め、次の式(3)により、各関連単語γ(γ1,γ2,…)についての単語別出現回数C(i)に各関連単語γについての最終類似度FS(i)を乗じた値またはこの値に各関連単語γの重み係数κ(i)を乗じた値、並びに、キーワードαについての単語別出現回数C(0)またはこの単語別出現回数C(0)にキーワードαの重み係数κ(0)を乗じた値を合計することにより、キーワードαに対する各案件(各企業)の関連度CSを算出し、算出した関連度CSを、案件識別情報(案件番号)と関連付けて関連度記憶手段66に記憶させる処理を実行する。
【0163】
CS=Σi{κ(i)×FS(i)×C(i)} ・・・・・・・・・(3)
【0164】
ここで、iは、単語の番号であり、i=0,1,2,3,…,N6をとり、番号i=0は、キーワード(単語α)の番号であり、番号i=1~N6は、関連単語γとして決定された単語の番号であり、N6(例えば10)は、関連単語γの個数である。従って、ここでは、番号iは、詰めている。キーワードα(i=0)についての最終類似度FSは、FS(0)=1とする。
【0165】
κ(i)は、各単語(キーワードα、各関連単語γ)の重み係数であり、いずれも設定データとして、設定データ記憶手段51に記憶されている。原則的には、全ての単語(i=0,1,…,N6)の重み係数について、κ(i)=1としてよい。単語別出現回数C(i)には、重みとしてFS(i)が乗じられているからである。従って、最終類似度FS(i)による重み付けについて、更なる重み付けをする場合等に、1以外の値であるκ(i)を利用することができる。例えば、1番大きいFS(i)または1番大きいC(i)には、κ(i)=3を乗じ、2番目に大きいFS(i)または2番目に大きいC(i)には、κ(i)=2を乗じる等のような更なる重み付けを行うことができる。また、キーワードα(i=0)と、各関連単語γ(i=1~N6)との相対的な重み付けに、κ(i)を利用してもよく、その場合には、κ(0)と、その他のκ(i)(i=1~N6)とを別の値に設定すればよい。この際、キーワードα(i=0)についての最終類似度は、FS(0)=1とし、さらに重み係数κ(0)を乗じているので、κ(0)×FS(0)を1つの重み係数と考えてもよく、あるいは、κ(0)を使用せずに、FS(0)自体を、1とするのではなく、重み係数と考えてもよい。なお、式(3)により求まる関連度CSの値は、案件(企業)を順位付けするための相対的な評価用の数値であるから、κ(i)(i=0,1,…,N6)は、相対的な重み付けをすることができる数値であればよいので、どのようなレベルの値でもよく(例えば、0~1の範囲でも、0~100の範囲でも、どのような範囲をとる数値でもよいという意味である。)、整数である必要もない。
【0166】
より詳細には、
図4の例では、関連度算出手段41Bは、処理対象の1つであるA社の固有テキストデータについて、キーワードα(例えば「お酒」)や各関連単語γ(例えば、γ1=「焼酎」、γ2=「泡盛」等)が含まれているか否かを判断している。
図4に示すように、A社の固有テキストデータには、「お酒」(キーワードα)が3回出現し、「焼酎」(関連単語γ1)が2回出現し、「泡盛」(関連単語γ2)が2回出現しているので、その他の関連単語γ3,γ4,…の出現も含め、これらの単語のそれぞれが出現する単語別出現回数C(i)(i=0,1,…,N6)を求める。
【0167】
続いて、関連度算出手段41Bは、最終類似度記憶手段65に記憶されている各関連単語γについての最終類似度FS(i)(i=1~N6)を取得し、取得した最終類似度FS(i)と、キーワードα(i=0)についてのFS(0)=1と、上記のようにして求めたA社の固有テキストデータにおける単語別出現回数C(i)(i=0,1,…,N6)と、設定データ記憶手段51に記憶されている重み係数κ(i)(i=0,1,…,N6)とを用いて、式(3)により、キーワードαに対するA社の関連度CSを算出する。
【0168】
そして、関連度算出手段41Bは、以上の処理を、A社以外の処理対象の案件の固有テキストデータについても同様に実行する。これにより、キーワードαに対する各案件(各企業)の関連度CSが得られるので、関連度CSの高い案件(企業)を、関連案件(関連企業)として決定し、案件データ記憶手段54から、決定した関連案件の案件データを取得する。この際、関連度CSが予め定められた数の上位の案件を関連案件として選択決定してもよく、関連度CSに対する閾値を設けて関連案件を決定してもよい。
【0169】
(処理手段30/マッチング手段42の構成)
マッチング手段42は、マッチング用特徴データ作成手段42Aと、マッチングスコア算出手段42Bとを含んで構成されている。このマッチング手段42には、本願出願人により開発された前述した特許文献1のマッチングシステムまたはその変形システム(固有テキストデータとして、特許文献1に記載された結合テキストデータを使用する代わりに、非結合状態の自己データおよびニーズデータを使用する場合)を適用することができ、本発明は、主として、特許文献1のマッチングシステムの周辺部分を開発したものである。従って、本発明のマッチング処理の有効性については、特許文献1の段落番号[0211]に実験結果として記載されている通りであり、適合率、再現率、F1値、正確度のいずれについても高い数値が得られている。
【0170】
マッチング用特徴データ作成手段42Aは、入力受付手段40により案件識別情報(案件番号)の入力を受け付けた場合に、受け付けた案件識別情報(案件番号)の案件をマッチング処理の対象案件とし、トピックモデル記憶手段56に記憶されている各案件の固有テキストデータにおけるトピック分布(各トピックの出現確率を示すトピック値)を用いて、対象案件とこの対象案件のマッチング相手となる各候補案件とからなる複数のペアの各々についてのマッチング用特徴データを作成する処理を実行するものである。より詳細な内容は、後述する。
【0171】
マッチングスコア算出手段42Bは、マッチング用特徴データ作成手段42Aにより作成した複数のマッチング用特徴データの各々を入力データとして、選定されるか否かの2クラス分類で予め学習されてマッチングモデル記憶手段60に記憶されたマッチングモデルを用いて、教師あり分類モデルによる分類処理を行うことにより、対象案件に対して各候補案件が選定される確度(確からしさ)を示すスコア(マッチングスコア)を算出する処理を実行するものである。より詳細な内容は、後述する。
【0172】
(処理手段30/マッチング手段42/マッチング用特徴データ作成手段42Aの構成:
図5、
図7、
図8)
マッチング用特徴データ作成手段42Aは、
図5に示すように、マッチング用の固有テキストデータ(本実施形態では、結合テキストデータ)におけるトピック分布π(i)(トピック番号=1~Kの各トピックの出現確率を示すトピック値)と、マッチング用の固有テキストデータについてのマッチング用の単語重要度ベクトル(本実施形態では、一例として、TFIDFベクトルとする。)と、マッチングの対象案件(対象企業)および各候補案件(各候補企業)についてのニーズフラグや年商とを用いて、マッチングスコア算出手段42Bおよびマッチングモデル記憶手段60からなる識別器への入力データとなるマッチング用特徴データを作成する処理を実行する。但し、
図5の下部に記載されているのは、マッチングの対象案件と候補案件とからなるペアのうちの一方の側のマッチング用特徴データ(従って、合成変数を作成する前の状態、単語重要度ベクトルの内積を算出する前の状態)である。
【0173】
より詳細には、マッチング用特徴データ作成手段42Aは、
図8に示すように、運用時(ユーザの検索中)の処理として、トピックモデル記憶手段56に記憶されている対象案件Xおよび各候補案件Yのマッチング用の固有テキストデータ(本実施形態では、結合テキストデータ)におけるトピック分布(各トピックの出現確率を示すトピック値)と、単語重要度ベクトル算出手段37により算出されて単語重要度ベクトル記憶手段57に記憶されている対象案件Xおよび各候補案件Yのマッチング用の固有テキストデータについてのマッチング用の単語重要度ベクトル(TFIDFベクトル等)と、案件データ記憶手段54に記憶されている対象案件Xおよび各候補案件Yの案件データに含まれるニーズフラグや年商とを用いて、対象案件Xと各候補案件Yとからなる複数のペアについてのマッチング用特徴データを作成する。
【0174】
ここで、トピックモデル記憶手段56に記憶されている対象案件Xおよび各候補案件Yのマッチング用の固有テキストデータにおけるトピック分布(各トピックの出現確率を示すトピック値)には、トピック推定手段35によるトピック推定処理(トピックモデルの初期モデルの構築時およびモデルの更新時)で得られた各案件のマッチング用の固有テキストデータにおけるトピック分布の他、検索のタイミングにより、トピック値予測手段36によるトピック値予測で得られた新規案件のマッチング用の固有テキストデータにおけるトピック分布(トピックモデルの更新前における仮の値)が含まれることがある。「検索のタイミングにより」というのは、トピックモデルの更新後(新規モデルの構築後を含む)で、かつ、未だその更新後において新規案件の登録がないタイミングでは、トピック値予測手段36によるトピック分布(仮の値)は存在せず、一方、トピックモデルの更新後において新規案件の登録があり、かつ、その次の更新時期が到来していないタイミングでは、トピック値予測手段36によるトピック分布(仮の値)が存在するという意味である。
【0175】
また、
図5では、各案件識別情報(各案件番号)についてのマッチング用特徴データ(但し、
図5は合成変数を作成する前の状態、単語重要度ベクトルの内積を算出する前の状態)は、トピック分布と、単語重要度ベクトル(例えばTFIDFベクトル等)と、ニーズフラグと、年商とで構成されているが、
図5中の二点鎖線で示すように、単語重要度ベクトル、ニーズフラグ、年商は、マッチング用特徴データの作成に必須のものではなく、使用しないという選択もできる。また、
図5での図示は省略されているが、マッチング用特徴データの作成に、文書長を使用してもよい。この文書長としては、例えば、固有テキストデータ準備手段34による[α]固有テキストデータの作成処理を行った状態、または[β]不要な記号やタグ等の除去処理を行った状態の固有テキストデータの文字数(すなわち、[γ]の形態素解析で単語に分解される前の状態の固有テキストデータの文字数)、あるいは、[δ]までの処理を経た状態の処理後の固有テキストデータの単語の総数等を用いることができる。
【0176】
さらに、
図7に示すように、マッチング用特徴データの作成では、合成変数を含めることが、適切なスコアリングを行ううえで効果的である。
【0177】
図7(A)に示すように、各トピック値により合成変数を作成する場合は、対象案件Xのトピック分布π(X)と、候補案件Yのトピック分布π(Y)との積からなる合成変数の分布λ(XY)を求め、これをマッチング用特徴データに含めることができる。なお、
図7(A)において、λ(XY)=π(X)*π(Y)という表記を行っているが、ベクトルの内積を求めるわけではなく、ベクトルの対応する要素同士の積を求めるという意味である。すなわち、同じトピックについてのトピック値同士の積であるから、トピック番号=1のトピック値同士の積、トピック番号=2のトピック値同士の積、…、トピック番号=K(Kはトピック数)のトピック値同士の積を求める。より正確な表記にすると、λ(XY,1)=π(X,1)*π(Y,1)、λ(XY,2)=π(X,2)*π(Y,2)、…、λ(XY,K)=π(X,K)*π(Y,K)となる。従って、K次元ベクトルであるトピック分布π(X)と、K次元ベクトルであるトピック分布π(Y)とから、K次元ベクトルである合成変数の分布λ(XY)を求めることになる。
【0178】
また、
図7(A)に示すように、対象案件Xのトピック分布π(X)と、候補案件Yのトピック分布π(Y)との差の絶対値からなる合成変数の分布μ(XY)を求め、これをマッチング用特徴データに含めることができる。差ではなく、差の絶対値としているのは、方向性を無くすためであり、μ(XY)とμ(YX)とを同じにするため(順番を変えても同じになるようにするため)である。この場合は、ベクトルの対応する要素間の差の絶対値を求める。すなわち、同じトピックについてのトピック値間の差の絶対値であるから、トピック番号=1のトピック値間の差の絶対値、トピック番号=2のトピック値間の差の絶対値、…、トピック番号=K(Kはトピック数)のトピック値間の差の絶対値を求める。より正確な表記にすると、μ(XY,1)=|π(X,1)-π(Y,1)|、μ(XY,2)=|π(X,2)-π(Y,2)|、…、μ(XY,K)=|π(X,K)-π(Y,K)|となる。従って、K次元ベクトルであるトピック分布π(X)と、K次元ベクトルであるトピック分布π(Y)とから、K次元ベクトルである合成変数の分布μ(XY)を求めることになる。
【0179】
なお、
図7(A)の例において、トピック分布の積からなる合成変数の分布λ(XY)と、トピック分布の差の絶対値からなる合成変数の分布μ(XY)との双方を、マッチング用特徴データに含めることが好ましいが、積の分布λ(XY)、差の絶対値の分布μ(XY)のうち、いずれか一方を使用してもよい。
【0180】
さらに、
図7(B)に示すように、各ニーズフラグにより合成変数を作成する場合は、対応するニーズフラグ同士(同じ種類のニーズフラグ同士)の論理和(OR)、論理積(AND)、排他的論理和(XOR)、否定論理和(NOR)、否定論理積(NAND)、否定排他的論理和(NXOR)、算術和等を採用することができる。
図7(B)の例では、論理和(OR)、論理積(AND)、算術和による合成変数が示されている。この例は、論理和(OR)、論理積(AND)、算術和等による複数タイプ(3タイプ)の合成変数の全部を使用するという意味ではなく、いずれか1タイプの合成変数を選んで使用すればよいという趣旨で記載している。なお、複数タイプの合成変数を、マッチング用特徴データに含めてもよい。
【0181】
そして、各ニーズフラグにより合成変数を作成する場合は、対応するニーズフラグ同士ではなく、異なる種類のニーズフラグに跨って、合成変数を作成してもよい。例えば、ニーズフラグの中に、(1)売ります、(2)買います、のように内容的に関連するニーズフラグがある場合に、(1)および(2)のニーズフラグを用いて、上述した論理和(OR)等による合成変数を作成してもよい。
【0182】
また、
図7(C)に示すように、年商により合成変数を作成する場合は、双方の年商の比の値等を採用することができる。比の値による合成変数M(XY)とする場合、希望者Xの年商をS(X)、希望者Yの年商をS(Y)とすると、方向性を持たせて、M(XY)=S(X)/S(Y)、あるいは、M(XY)=S(Y)/S(X)としてもよい。また、方向性を無くすため、M(XY)=S(X)/S(Y)またはS(Y)/S(X)のうちの大きい方の値、あるいは、M(XY)=S(X)/S(Y)またはS(Y)/S(X)のうちの小さい方の値としてもよい。方向性を持たせた場合には、M(XY)とM(YX)とが異なる値となる。
【0183】
さらに、
図7での図示は省略されているが、文書長により合成変数を作成する場合は、双方の文書長の比の値等を採用することができる。比の値による合成変数とする場合、方向性を待たせてもよく、方向性を無くしてもよいのは、上述した年商の場合と同様である。
【0184】
単語重要度ベクトル(例えばTFIDFベクトル等)については、対象案件Xの単語重要度ベクトルと、候補案件Yの単語重要度ベクトルとの内積をとる。内積であるから、方向性はない。
【0185】
また、本実施形態では、マッチング用の固有テキストデータは、結合テキストデータとしているが、結合していない自己データおよびニーズデータを固有テキストデータとしてもよく、この場合には、対象案件Xに、自己データについてのトピック分布π1(X)と、ニーズデータについてのトピック分布π2(X)とがあり、候補案件Yにも、自己データについてのトピック分布π1(Y)と、ニーズデータについてのπ2(Y)とがある。
【0186】
この際、トピック分布の積からなる合成変数を求めるには、対象案件Xの自己データと、候補案件Yのニーズデータとを組み合わせてλ1(XY)=π1(X)*π2(Y)とするとともに、候補案件Yの自己データと、対象案件Xのニーズデータとを組み合わせてλ2(XY)=π1(Y)*π2(X)とすることができる。「*」がベクトルの内積ではなく、ベクトルの対応する要素同士の積を意味するのは、前述した通りである。同様に、トピック分布の差の絶対値からなる合成変数は、μ1(XY)=|π1(X)-π2(Y)|、μ2(XY)=|π1(Y)-π2(X)|とすることができる。従って、4つの合成変数λ1(XY)、λ2(XY)、μ1(XY)、μ2(XY)をマッチング用特徴データに含めることができる。なお、合成変数を使用しない場合は、4つのトピック分布π1(X)、π2(X)、π1(Y)、π2(Y)をそのままマッチング用特徴データに含めることになる。
【0187】
また、求めた2つの合成変数λ1(XY)とλ2(XY)とを用いて、これらのベクトルの対応する要素同士の平均値からなるλave(XY)という1つの合成変数を求める2段階合成を行ってもよい。同様に、2つの合成変数μ1(XY)とμ2(XY)とを用いて、これらのベクトルの対応する要素同士の平均値からなるμave(XY)という1つの合成変数を求める2段階合成を行ってもよい。このように2段階合成を行った場合には、2つの合成変数λave(XY)、μave(XY)をマッチング用特徴データに含めることになる。
【0188】
さらに、マッチング用特徴データ作成手段42Aにより、対象案件Xと候補案件Yとの1つのペア案件について、π1(X)およびπ2(Y)を含むか、またはこれらの合成変数λ1(XY)およびμ1(XY)を含む第1のマッチング用特徴データと、π1(Y)およびπ2(X)を含むか、またはこれらの合成変数λ2(XY)およびμ2(XY)を含む第2のマッチング用特徴データを作成し、これらの第1、第2のマッチング用特徴データを別々に、マッチングスコア算出手段42Bおよびマッチングモデル記憶手段60からなる識別器に入力することにより、第1、第2のマッチングスコアを算出し、その後、これらの第1、第2のマッチングスコアの平均値等を算出して統合後のマッチングスコアを算出してもよい。
【0189】
このような統合後のマッチングスコアを算出する構成とする場合には、マッチング学習用データ準備手段38により、案件番号Xと案件番号Yとの1つのペアから、2つのマッチング学習用データである第1、第2のマッチング用特徴データを作成する。すなわち、
図9において、選定実績のある1つのペア案件から、「1(選定)」というタグが付された2つのマッチング用特徴データを作成し、選定実績のない1つのペア案件から、「0(非選定)」というタグが付された2つのマッチング用特徴データを作成するという準備処理を、全てのペア案件について行い、マッチングモデル学習手段39による学習処理を実行してマッチングモデルを構築する。
【0190】
(処理手段30/マッチング手段42/マッチングスコア算出手段42Bの構成)
マッチングスコア算出手段42Bは、選定されるか否かの2クラス分類で予め学習されてマッチングモデル記憶手段60に記憶されたマッチングモデルを用いて、「教師あり分類モデル」による分類処理(分類アルゴリズム)を実行するものであり、マッチングモデル記憶手段60とともに、マッチング用の識別器を構成する。この識別器への入力は、マッチング用特徴データ作成手段42Aにより作成したマッチング用特徴データであり、識別器からの出力は、対象案件と候補案件とからなるペア案件が選定される確度(つまり、対象案件に対して候補案件が選定される確度)を示すスコア(マッチングスコア)である。このスコアは、候補案件毎(対象案件と候補案件とからなるペア案件毎)に出力される。スコアは、例えば、尤度で出力する場合には、0~1の範囲の値で出力され、スコアが1に近い程、マッチング相手として相応しい候補案件であることを示している。
【0191】
ここで、「教師あり分類モデル」の「モデル」は、アルゴリズムおよびパラメータを含む概念であり、マッチングモデル記憶手段60に記憶されたマッチングモデルの「モデル」は、学習で得られたパラメータ(学習結果データ)だけの概念である。
【0192】
また、「教師あり分類モデル」は、選定されるか否かの2クラス分類による機械学習を行うことができる手法であれば、いずれの機械学習手法でもよい。例えば、SGD分類器(SGD Classifier:Stochastic Gradient Descent Classifier)、K近傍法分類器(K-Neighbors Classifier)、単純ベイズ分類器(Naive Bayes Classifier)、サポート・ベクター・マシン分類器(SVC:Support Vector Classifier)、ランダム・フォレスト分類器(Random Forest Classifier)、多層パーセプトロン分類器(MLP Classifier:Multi Layer Perceptron Classifier)、ニューラル・ネットワーク等を採用することができる。本実施形態では、ランダム・フォレスト分類器を採用している。
【0193】
なお、マッチングスコア算出手段42Bとマッチングモデル記憶手段60とにより構成される識別器は、同じ入力データ(マッチング用特徴データ)を、上記のような複数種類の分類器へ入力し、それぞれから出力されるスコアの平均値等を算出して統合スコアを出力する構成としてもよく、また、統合の際に重み付けをしてもよい(それぞれの分類器から出力されるスコアの加重平均値等を統合スコアとしてもよい)。
【0194】
また、マッチングスコア算出手段42Bは、対象案件と各候補案件(対象案件以外の全ての案件)との間のスコア(マッチングスコア)を算出した後、算出したスコアの高い順で推薦案件を決定し、案件データ記憶手段54から、決定した推薦案件の案件データを取得する。この際、スコアが予め定められた数の上位の案件を推薦案件として選択決定してもよく、スコアに対する閾値を設けて推薦案件を決定してもよい。
【0195】
(処理手段30/類似案件検索手段43の構成)
類似案件検索手段43は、案件類似度算出手段43Aと、類似案件抽出手段43Bとを含んで構成されている。
【0196】
案件類似度算出手段43Aは、案件データ記憶手段54に記憶されている各案件の類似案件検索用の固有テキストデータ(本実施形態では、結合していない自己データおよびニーズデータ)を用いて、案件間の類似度を示す案件類似度(本実施形態体では、PRスコアおよびニーズスコア)を算出し、算出した案件類似度を、案件識別情報(案件番号)のペアと関連付けて案件類似度記憶手段68に記憶させる処理を実行するものである。より詳細な内容は、後述する。
【0197】
類似案件抽出手段43Bは、入力受付手段40により案件識別情報(案件番号)の入力を受け付けた場合に、案件類似度算出手段43Aにより算出されて案件類似度記憶手段68に記憶されている案件類似度を用いて、入力された対象案件に対する類似案件を抽出する処理を実行するものである。より詳細な内容は、後述する。
【0198】
(処理手段30/類似案件検索手段43/案件類似度算出手段43Aの構成:
図2、
図10)
案件類似度算出手段43Aは、
図2に示すように、案件データ記憶手段54に記憶されている固有テキストデータに含まれる全ての単語(単語1,単語2,単語3,単語4,単語5,…)に対応する単語ベクトルを分散表現モデル記憶手段53から取得し、ある1つの案件に含まれる全ての単語の単語ベクトルの平均ベクトル(各単語ベクトルの対応する要素同士の平均値からなるベクトル)を算出し、これを当該案件の文章ベクトルとして案件識別情報(案件番号)と関連付けて文章ベクトル記憶手段67に記憶させる処理を実行する。
【0199】
この際、当該案件の固有テキストデータの中に、同じ単語が複数回出現しても、それらは別の単語として捉え、同じ単語ベクトルを出現回数分だけ用意し、平均値を算出する。例えば、単語1と単語4とが同じ単語であっても、単語1の単語ベクトルと、単語4の単語ベクトルとをそれぞれ用意し、平均値を算出する。そして、この処理を、全ての案件について実行する。
【0200】
本実施形態では、類似案件検索用の固有テキストデータとして、非結合状態の自己データ、ニーズデータを使用するので、1つの案件につき、2つの文章ベクトルが作成され、文章ベクトル記憶手段67に記憶されるが、結合テキストデータを使用して、1つの案件につき、1つの文章ベクトルを作成してもよい。また、
図10に示すように、自己データは、自己業種を含めずに自己PRだけとしているが、自己業種を含めてもよい。ニーズデータは、ニーズ詳細だけとしているが、希望業種(相手企業の業種)を含めてもよい。
【0201】
また、案件類似度算出手段43Aは、
図2および
図10に示すように、文章ベクトル記憶手段67に記憶させた各案件の文章ベクトルを用いて、任意のペア案件X,Y(任意の2つの案件番号X,Yの組合せ)の文章ベクトル間の類似度Sword2vec(本実施形態では、コサイン類似度)を算出する。任意のペア案件X,Yは、全ての案件(本実施形態のビジネスマッチングでは、登録企業数に相当し、例えば、n=約10万社等)についての組合せ(n個の中から2個を選ぶ組合せ)である。本実施形態では、1つの案件につき、自己データとニーズデータとについての2つの文章ベクトルが作成されているので、それぞれについて文章ベクトル間の類似度Sword2vecを算出する。なお、本実施形態では、分散表現としてword2vecを採用しているため、添え字にその用語を用いているが、分散表現モデル学習手段32の説明で既に詳述している通り、分散表現はword2vecに限定されるものではない。
【0202】
さらに、案件類似度算出手段43Aは、
図10に示すように、単語重要度ベクトル記憶手段57に記憶されている単語重要度ベクトル(TFIDFベクトル等)を用いて、任意のペア案件X,Y(任意の2つの案件番号X,Yの組合せ)の単語重要度ベクトル間の類似度Stf-idf(本実施形態では、コサイン類似度)を算出する。本実施形態では、単語重要度ベクトル記憶手段57には、類似案件検索用の単語重要度ベクトルとして、自己データとニーズデータとにおける2つの単語重要度ベクトルが記憶されているので、それぞれについて単語重要度ベクトル間の類似度Stf-idfを算出する。
【0203】
また、案件類似度算出手段43Aは、
図10に示すように、トピックモデル記憶手段56に記憶されているトピック分布π(i)(K次元の縦ベクトル、Kはトピック数、iは案件番号)を用いて、任意のペア案件X,Y(任意の2つの案件番号X,Yの組合せ)のトピック分布ベクトル間の類似度Stopic(本実施形態では、コサイン類似度)を算出する。本実施形態では、トピックモデル記憶手段56には、類似案件検索用のトピック分布ベクトルとして、自己データとニーズデータとにおける2つのトピック分布ベクトルが記憶されているので、それぞれについてトピック分布ベクトル間の類似度Stopicを算出する。この際、本実施形態では、ニーズデータにおけるトピック分布ベクトルについては、
図10に示すように、案件データ記憶手段54に記憶されたニーズフラグの集合からなるニーズベクトルと結合し、トピック分布ベクトル間(ニーズベクトルとの結合ベクトル間)の類似度Stopicを算出する。
【0204】
さらに、案件類似度算出手段43Aは、
図10に示すように、単語重要度ベクトル間の類似度Stf-idf、文章ベクトル間の類似度Sword2vec、トピック分布ベクトル間の類似度Stopic、およびこれらの重み係数であるWtf-idf、Wword2vec、Wtopicを用いて、次の式(4)により、任意のペア案件X,Y(任意の2つの案件番号X,Yの組合せ)の案件類似度を算出し、算出した案件類似度を、ペア案件X,Yの案件識別情報(案件番号X,Y)と関連付けて案件類似度記憶手段68に記憶させる処理を実行するものである。本実施形態では、案件類似度として、自己データを用いたPRスコアと、ニーズデータを用いたニーズスコアとを算出する。Wtf-idf、Wword2vec、Wtopicは、設定データとして設定データ記憶手段51に記憶されているが、固定値としてもよい。
【0205】
案件類似度(PRスコア、ニーズスコア)
=Stf-idf×Wtf-idf+Sword2vec×Wword2vec+Stopic×Wtopic ・・(4)
【0206】
この案件類似度算出手段43Aによる処理は、事前処理(
図14参照)の段階で実行される。また、新規案件の登録時(
図23参照)に、新規案件登録手段45からの指示を受けて、トピックモデル等の更新前における新規案件の即時反映処理として、新規案件と既存の全ての案件(新規案件以外の全ての案件)との間で実行される。さらに、トピックモデルの更新等の時期が到来した場合(
図16参照)にも実行されるが、上記の新規案件の即時反映処理で実行されている処理については、繰り返し実行する必要はない。
【0207】
(処理手段30/類似案件検索手段43/類似案件抽出手段43Bの構成)
類似案件抽出手段43Bは、運用時(ユーザによる検索中)において、入力受付手段40により案件識別情報(案件番号)の入力を受け付けた場合に、案件類似度記憶手段68から、入力を受け付けた案件番号と、その案件番号以外の全ての案件番号との組合せ(ペア案件の案件番号の組合せ)に関連付けられて記憶されている案件類似度を取得し、案件類似度が高い順で、対象案件(入力を受け付けた案件番号の案件)に対する類似案件を抽出し、案件データ記憶手段54から、抽出した類似案件の案件データを取得する処理を実行する。この際、案件類似度が予め定められた数の上位の案件を類似案件として抽出してもよく、案件類似度に対する閾値を設けて類似案件を抽出してもよい。
【0208】
また、本実施形態では、案件類似度記憶手段68には、案件類似度として、PRスコアと、ニーズスコアとが記憶されているので、PRスコアとニーズスコアとの平均値または加重平均値等を算出して統合スコアを求め、統合スコアにより類似案件の抽出を行ってもよく、PRスコア、ニーズスコアのうちユーザ(サービス担当者またはマッチング依頼者)が選択したスコアにより類似案件の抽出を行ってもよい。なお、統合スコアは、単純平均、加重平均、調和平均、加重調和平均、相乗平均等の各種の方法で求めることができ、加重平均や加重調和平均とする場合の重みは、設定データとして設定データ記憶手段51に記憶してもよく、固定値としてもよい。
【0209】
また、PRスコア、ニーズスコアのうち、高い値のほうを選択し、または低い値のほうを選択し、選択したスコアの値に基づき、類似案件の抽出を行ってもよい。
【0210】
(処理手段30/出力手段44の構成)
出力手段44は、入力受付手段40によりキーワードの入力を受け付けた場合には、表示手段80において、連想検索手段41により決定した関連案件の案件データ、または、関連案件に加えて関連単語を、入力受付手段40によるキーワードまたは案件識別情報(案件番号)の入力部110と同一の画面(
図12の画面200参照)上に表示し、入力受付手段40により案件識別情報(案件番号)の入力を受け付けた場合には、マッチング手段42により算出したスコア(マッチングスコア)の高い候補案件の案件データを、推薦案件の案件データとして入力部110と同一の画面(
図13の画面300参照)上に表示するとともに、類似案件検索手段43により案件類似度(本実施形態では、PRスコア、ニーズスコア)を用いて抽出した類似案件の案件データを、入力部110と同一の画面(
図13の画面300参照)上に表示する処理を実行するものである。
【0211】
また、出力手段44は、連想検索手段41、マッチング手段42、類似案件検索手段43による処理結果を出力した画面(
図12の画面200、
図13の画面300参照)上に表示された関連案件、推薦案件、類似案件の中から、ユーザ(サービス担当者または新規案件の登録を行う顧客)が新規案件登録時の参考案件とするために選択した1つまたは複数の案件について、それらの案件識別情報(案件番号)のメモ入力(図示は省略)を受け付け、受け付けた参考案件の案件識別情報(案件番号)を登録時参考案件記憶手段69に記憶させる構成とされている。
【0212】
(処理手段30/新規案件登録手段45の構成)
新規案件登録手段45は、ユーザ(新規案件の登録を行う顧客、またはその入力を代行するサービス担当者)の操作による入力手段90からの新規案件の案件データの登録のための入力を受け付け、この新規案件についての案件識別情報(案件番号)を自動付与し、受け付けた案件データを、付与した案件識別情報(案件番号)と関連付けて案件データ記憶手段54に記憶させる処理を実行するものである。案件データの内容は、案件データ準備手段33の説明で既に詳述している通りである。
【0213】
この際、新規案件登録手段45は、登録時参考案件記憶手段69に記憶されている参考案件の案件識別情報(案件番号)を取得し、取得した参考案件の案件識別情報を用いて、案件データ記憶手段54から、参考案件の案件データを取得し、表示手段80において新規案件登録画面(不図示)上に表示する。ユーザは、その表示を見ながら、新規案件(自己の案件)の案件データの登録のための入力作業を行う。また、登録時参考案件記憶手段69に参考案件の案件識別情報(案件番号)が記憶されていなくても、ユーザが参考案件の案件番号を覚えているか、または紙にメモしている場合には、その案件番号を入力すれば、新規案件登録手段45により受け付けられ、案件データ記憶手段54から、参考案件の案件データが取得され、新規案件登録画面(不図示)上に表示される。
【0214】
また、新規案件登録手段45は、新規案件の案件データが登録された後に、案件データ記憶手段54に記憶された新規案件の案件データを用いて、新規案件の即時反映処理(
図23参照)を実行する。具体的には、固有テキストデータ準備手段34に指示を出し、新規案件の固有テキストデータ(マッチング用および連想検索用の結合テキストデータ、および類似案件検索用の非結合の自己データ、ニーズデータ)を準備する処理([α]~[δ]の処理、
図5、
図6、
図10参照)を実行し、処理後の固有テキストデータを、新規案件の案件識別情報(案件番号)と関連付けて案件データ記憶手段54に記憶させる。
【0215】
さらに、新規案件登録手段45は、単語重要度ベクトル算出手段37に指示を出し、固有テキストデータ準備手段34により作成されて案件データ記憶手段54に記憶されている新規案件の固有テキストデータ(マッチング用および連想検索用の結合テキストデータ、および類似案件検索用の非結合の自己データ、ニーズデータ)についての各単語のTFIDF値またはその他の単語重要度指標値からなる単語重要度ベクトルを算出し、得られた単語重要度ベクトルを、新規案件の案件識別情報(案件番号)と関連付けて単語重要度ベクトル記憶手段57に記憶させる。この際、単語重要度ベクトルをTFIDF値とする場合には、TF値は、新規案件の固有テキストデータだけで算出することができるが、IDF値の算出には、全ての案件の固有テキストデータが必要となるので、厳密に言えば、新規案件以外の既存の案件のTFIDF値も、若干、値が変化することになる。しかし、既存の案件のTFIDF値は、変更せずにそのままとし、新規案件のTFIDF値だけを算出し、追加記憶してもよい。
【0216】
また、新規案件登録手段45は、トピック値予測手段36に指示を出し、新規案件の処理後の固有テキストデータ(マッチング用および連想検索用の結合テキストデータ、および類似案件検索用の非結合の自己データ、ニーズデータ)と、トピックモデル記憶手段56に記憶されている各トピックにおける各単語の出現確率(K行p列の行列β)(更新前のトピックモデルの行列β)とを用いて、新規案件の固有テキストデータにおける各トピックの出現確率を示すトピック値(K次元の縦ベクトルπ(i)で表されるトピック分布)を予測し、予測した新規案件のπ(i)を、更新前における仮の値としてトピックモデル記憶手段56に記憶させる。
【0217】
さらに、新規案件登録手段45は、案件類似度算出手段43Aに指示を出し、新規案件の文章ベクトルを作成し、文章ベクトル記憶手段67に記憶させ、さらに、新規案件と既存の全ての案件との間の案件類似度(本実施形態では、PRスコア、ニーズスコア)を算出し、算出した案件類似度を、新規案件と既存の各案件とからなる各ペア案件の案件識別情報(案件番号)と関連付けて案件類似度記憶手段68に記憶させる。
【0218】
なお、新規案件登録手段45は、案件データの修正も受け付ける。軽微な修正の場合は、案件識別情報(案件番号)を維持して内容の修正入力を受け付けるが、大幅な修正の場合は、新たな案件識別情報(案件番号)を付与し、新規案件と同様な取り扱いとする。
【0219】
<記憶手段50の構成>
【0220】
設定データ記憶手段51は、設定手段31により入力を受け付けたシステム管理者またはユーザ(サービス担当者)による各種の設定データを記憶するものである。この設定データの詳細は、設定手段31の説明で既に詳述している通りである。
【0221】
分散表現モデル学習用データ記憶手段52は、分散表現モデル学習用のテキストデータを記憶するものである。この分散表現モデル学習用のテキストデータの詳細は、分散表現モデル学習手段32の説明で既に詳述している通りである。
【0222】
分散表現モデル記憶手段53は、
図2に示すように、分散表現モデル学習手段32による学習処理で得られた学習結果データとしての分散表現モデルを記憶するものである。この分散表現モデルは、本実施形態では、単語の分散表現としての高次元の単語ベクトルの集合である重み行列Wであり、ディメンジョンの異なる3種類のW1,W2,W3が用意されている。
【0223】
案件データ記憶手段54は、各案件の案件データを、案件識別情報(案件番号)と関連付けて記憶するものである。この案件データの詳細は、案件データ準備手段33の説明で既に詳述している通りである。
【0224】
不要語辞書記憶手段55は、固有テキストデータ準備手段34による[δ]の処理で用いる不要語(ノイズ単語)を記憶するものである。この不要語の詳細は、固有テキストデータ準備手段34の説明で既に詳述している通りである。
【0225】
トピックモデル記憶手段56は、トピック推定手段35によるトピック推定処理で得られたトピックモデルとして、
図18、
図19に示すπ(i)(案件番号iの各案件の固有テキストデータにおける各トピックの出現確率を示すトピック値からなる縦ベクトル)およびβ(各トピックにおける各単語の出現確率からなる行列)を記憶するものである。また、新規案件登録手段45による新規案件の即時反映処理(
図23参照)が実行された場合には、トピック値予測手段36による処理で得られた新規案件のπ(i)を、更新前における仮の値として記憶する。
【0226】
単語重要度ベクトル記憶手段57は、単語重要度ベクトル算出手段37により算出した各案件の固有テキストデータについての各単語のTFIDF値またはその他の単語重要度指標値からなる単語重要度ベクトルを、案件識別情報(案件番号)と関連付けて記憶するものである。
【0227】
マッチング候補選定実績リスト記憶手段58は、マッチング学習用データ準備手段38による各マッチング用特徴データへの選定・非選定のタグ付け処理を行う際に使用するマッチング候補選定実績リストを記憶するものである。
【0228】
マッチング学習用データ記憶手段59は、マッチング学習用データ準備手段38により作成したマッチング学習用データ(マッチングモデルの学習用データであり、選定・非選定のラベル(タグ)を付されたマッチング用特徴データ)を、案件識別情報(案件番号)のペアと関連付けて記憶するものである。
【0229】
マッチングモデル記憶手段60は、マッチングモデル学習手段39による学習処理で得られたマッチングモデルを記憶するものである。マッチングスコア算出手段42Bとともに、マッチング用の識別器を構成する。
【0230】
検索履歴記憶手段61は、入力受付手段40により受け付けたキーワードまたは案件識別情報(案件番号)のログ情報を記憶するものである。
【0231】
モデル別類似度記憶手段62は、単語類似度算出手段41Aにより算出したモデル別類似度Sを記憶するものである。
【0232】
一般類似度記憶手段63は、単語類似度算出手段41Aにより算出した一般類似度Aを記憶するものである。
【0233】
固有類似度記憶手段64は、単語類似度算出手段41Aにより算出した固有類似度Bを記憶するものである。
【0234】
最終類似度記憶手段65は、単語類似度算出手段41Aにより算出した最終類似度FS
を記憶するものである。
【0235】
関連度記憶手段66は、関連度算出手段41Bにより算出した関連度CSを、案件識別情報(案件番号)と関連付けて記憶するものである。
【0236】
文章ベクトル記憶手段67は、案件類似度算出手段43Aにより求めた文章ベクトルを、案件識別情報(案件番号)と関連付けて記憶するものである。
【0237】
案件類似度記憶手段68は、案件類似度算出手段43Aにより算出した案件類似度(PRスコア、ニーズスコア)を、ペア案件の案件識別情報(案件番号)と関連付けて記憶するものである。
【0238】
登録時参考案件記憶手段69は、出力手段44により受け付けたユーザが選択した新規案件登録時の参考案件の案件識別情報(案件番号)を記憶するものである。
【0239】
【0240】
図11において、ユーザ(サービス担当者、または、新規登録を行う顧客、若しくはマッチング相手の紹介を依頼する既登録の顧客)は、画面100の入力部110にキーワードまたは案件識別情報(案件番号)を入力する。この際、マッチング相手の紹介を依頼する顧客(既に自分の案件番号を有している顧客)またはそのサービス担当者であれば、入力部110に自分(または自分の顧客)の案件番号を入力することになるが、その場合は、画面300が表示されるため、その詳細は、
図13を用いて後述する。ここでは、新規登録を行う顧客(未だ自分の案件番号を有していない顧客)またはそのサービス担当者が、自分(または自分の顧客)の情報を新規案件として登録するにあたり、自分と類似する内容(ここでは事業内容)の案件についての案件データが、どのような記述内容になっているのか、あるいは、自分と類似する内容の案件に対し、どのような記述内容の案件がマッチングで推薦されるのか等を確認するため、先ず、入力部110に、キーワード(自分の事業内容に関連する単語)を入力するものとする。
【0241】
入力部110にキーワード(K1、例えば「お酒」)が入力されると、これが入力受付手段40により受け付けられ、
図11に示すように連想検索手段41による処理が実行され、出力手段44により、
図12に示す画面200が表示される。
【0242】
図12において、画面200には、入力部110と、検索を実行するための「Search」ボタン120と、「検索履歴」表示部130とが設けられている。なお、入力部110には、直前に入力されたキーワード(K1)が表示されたままになっている。また、「検索履歴」表示部130にも、最初に入力されたキーワード(K1)が表示される。
【0243】
また、
図12の画面200には、「類似キーワード」表示部210が設けられ、この表示部210には、各単語(入力されたキーワード、およびそのキーワードに関連する複数の関連単語)の表示部211が設けられ、これらの表示部211をクリックやタップ等の操作により選択すると、選択された単語(入力されたキーワード、または関連単語)が、入力部110に自動入力されるようになっている。また、各表示部211を選択操作せずに、打鍵入力によりキーワードまたは関連単語、またはその他の単語を入力部110に入力することもできる。なお、再度、同じキーワードを入力・選択入力すると、同じ処理結果が表示されることになる。
【0244】
さらに、
図12の画面200には、「キーワード検索リスト」表示部220が設けられ、この表示部220には、各関連案件についての関連度CSの表示部221と、用語(当該関連案件の固有テキストデータに含まれる関連単語)の表示部と、当該関連案件(関連企業)の案件番号(案件識別情報)の表示部222と、ニーズフラグの「売り/買い」の選択情報、自社業種、取扱商品、地域名称、希望地域詳細、希望業種詳細、自己PRのテキストデータ、ニーズ詳細のテキストデータの各表示部とが設けられている。関連度CSの算出、関連案件の決定の処理、関連案件の案件番号を用いて案件データ記憶手段54から関連案件の案件データを取得する処理は、連想検索手段41により実行され、連想検索手段41から受け取った情報を表示手段80の画面上に表示する処理は、出力手段44により実行される。
【0245】
関連案件の案件番号の表示部222をクリックやタップ等の操作により選択すると、選択された関連案件の案件番号が、入力部110に自動入力されるようになっている。また、各表示部222を選択操作せずに、打鍵入力により関連案件の案件番号、またはその他の案件番号を入力部110に入力することもできる。
【0246】
そして、
図12の画面200の入力部110に、関連単語の表示部211の選択操作により関連単語が新たなキーワードとして入力されるか、または、打鍵により別のキーワード(K2,K3,…)が入力されると、
図11中の点線で示すように、再び、連想検索手段41による処理が実行され、出力手段44により、
図12に示す画面200が表示される。一方、画面200の入力部110に、関連案件の案件番号の表示部222の選択操作により関連案件の案件番号(M1、例えば「5678」)が入力されるか、または、打鍵により案件番号(M1)が入力されると、
図11中の実線で示すように、マッチング手段42および類似案件検索処理43による各処理が実行され、出力手段44により、
図13に示す画面300が表示される。なお、
図11中の点線の矢印は、キーワード(単語)の流れを示し、実線の矢印は、案件番号の流れを示している。
【0247】
図13において、画面300には、入力部110と、「Search」ボタン120と、「検索履歴」表示部130とが設けられている。なお、入力部110には、直前に入力された案件番号(M1、例えば「5678」)が表示されたままになっている。また、「検索履歴」表示部130にも、案件番号(M1)が最後に入力された情報として表示される。
【0248】
また、
図13の画面300には、入力部110に入力された案件番号(M1)の案件を表示する「対象案件」表示部310と、対象案件の情報を表示するか否かの選択部311とが設けられている。「対象案件」表示部310には、対象案件の案件番号(案件識別情報)の表示部312と、ニーズフラグの「売り/買い」の選択情報、自社業種、取扱商品、地域名称、希望地域詳細、希望業種詳細、自己PRのテキストデータ、ニーズ詳細のテキストデータの各表示部とが設けられている。
【0249】
さらに、
図13の画面300には、「推薦案件リスト」表示部320と、マッチング処理による推薦案件の情報を表示するか否かの選択部321とが設けられている。「推薦案件リスト」表示部320には、推薦案件の案件番号(案件識別情報)の表示部322と、ニーズフラグの「売り/買い」の選択情報、自社業種、取扱商品、地域名称、希望地域詳細、希望業種詳細、自己PRのテキストデータ、ニーズ詳細のテキストデータ、スコア(マッチングスコア)の各表示部とが設けられている。マッチングスコアの算出、推薦案件の決定の処理、推薦案件の案件番号を用いて案件データ記憶手段54から推薦案件の案件データを取得する処理は、マッチング手段42により実行され、マッチング手段42から受け取った情報を表示手段80の画面上に表示する処理は、出力手段44により実行される。
【0250】
推薦案件の案件番号の表示部322をクリックやタップ等の操作により選択すると、選択された推薦案件の案件番号が、入力部110に自動入力されるようになっている。また、各表示部322を選択操作せずに、打鍵入力により推薦案件の案件番号、またはその他の案件番号を入力部110に入力することもできる。
【0251】
また、
図13の画面300には、「類似案件一覧」表示部330と、類似案件の情報を表示するか否かの選択部331とが設けられている。「類似案件一覧」表示部330には、類似案件の案件番号(案件識別情報)の表示部332と、ニーズフラグの「売り/買い」の選択情報、自社業種、取扱商品、地域名称、希望地域詳細、希望業種詳細、自己PRのテキストデータ、ニーズ詳細のテキストデータ、案件類似度(PRスコア、ニーズスコア)の各表示部とが設けられている。案件類似度の算出、類似案件の抽出の処理、類似案件の案件番号を用いて案件データ記憶手段54から類似案件の案件データを取得する処理は、類似案件検索処理43により実行され、類似案件検索処理43から受け取った情報を表示手段80の画面上に表示する処理は、出力手段44により実行される。
【0252】
類似案件の案件番号の表示部332をクリックやタップ等の操作により選択すると、選択された類似案件の案件番号が、入力部110に自動入力されるようになっている。また、各表示部332を選択操作せずに、打鍵入力により類似案件の案件番号、またはその他の案件番号を入力部110に入力することもできる。
【0253】
そして、
図13の画面300の入力部110に、推薦案件の案件番号の表示部322の選択操作により推薦案件の案件番号が入力されるか、類似案件の案件番号の表示部332の選択操作により類似案件の案件番号が入力されるか、または、打鍵により別の案件番号(M2,M3,…)が入力されると、
図11中の実線で示すように、再び、マッチング手段42および類似案件検索処理43による各処理が実行され、出力手段44により、
図13に示す画面300が表示される。一方、
図13の画面300の入力部110に、キーワードが入力されると、
図11中の点線で示すように、連想検索手段41による処理が実行され、出力手段44により、
図12に示す画面200が表示される。
【0254】
新規登録を行う顧客(未だ自分の案件番号を有していない顧客)またはそのサービス担当者は、以上のような検索を繰り返しながら、
図12の画面200、
図13の画面300を参照し、適宜、新規案件(自分の案件)の登録時の参考案件を選んでメモ入力することにより、登録時参考案件記憶手段69に記憶させておくか、または、参考案件の案件番号を覚えるか、若しくは紙にメモしておく。そして、新規案件登録手段45により画面表示された参考案件の案件データを見ながら、新規案件(自分の案件)の案件データの登録のための入力を行うと、新規案件登録手段45により、その新規案件に案件番号が自動付与され、登録処理が実行される。
【0255】
続いて、新規案件の登録を行った後に、新規登録を行った顧客またはそのサービス担当者は、
図11に示すように、付与された新規案件の案件番号(Mnew)を入力部110(画面100,200,300のいずれの状態の入力部110でもよい。)に入力し、検索を繰り返すことにより、新規案件(自分の案件)に対する推薦案件、新規案件の類似案件に対する推薦案件、新規案件に対する推薦案件の類似案件等の案件データを画面表示させる。
【0256】
<マッチングシステム10による処理の全体的な流れ:
図14、
図15>
【0257】
図14において、先ず、システム管理者は、作成済の多数の既存の案件データを準備し、案件識別情報(案件番号)と関連付けて案件データ記憶手段54に記憶させる(ステップS1)。運用中の既存のシステムからのデータ移行でもよい。この処理は、案件データ準備手段33により実行される。
【0258】
次に、連想検索用の事前処理(詳細は、
図17参照)を実行する(ステップS2)。続いて、マッチング用の事前処理(トピックモデル、マッチングモデルの初期モデルの構築等、
図18参照)を実行する(ステップS3)。さらに、類似案件(類似企業)検索用の事前処理(詳細は、
図19参照)を実行する(ステップS4)。これらのステップS2~S4の事前処理は、いずれも検索中(運用時)のリアルタイム処理でも実行することができるが、反応速度が遅くなる。
【0259】
図15において、事前処理(ステップS1~S4)の完了後に、運用段階に入ると、ユーザによる検索処理が行われる。検索処理では、先ず、入力受付手段40により、画面100の入力部110(
図11参照)で、ユーザによるキーワードまたは案件番号(案件識別情報)の入力を受け付ける(ステップS5)。なお、2回目以降は(後述するステップS11からの戻りでは)、画面200,300の入力部110で入力(選択入力を含む)を受け付ける。
【0260】
次に、入力受付手段40により、入力部110で入力を受け付けた情報がキーワードか否かを判断し(ステップS6)、キーワードである場合には、連想検索手段41による連想検索処理(詳細は、
図20参照)を実行し(ステップS7)、キーワードでない場合(すなわち、案件番号である場合)には、マッチング手段42によるマッチング処理(詳細は、
図21参照)を実行するとともに(ステップS8)、類似案件検索手段43による類似案件(類似企業)検索処理(詳細は、
図22参照)を実行する(ステップS9)。
【0261】
続いて、出力手段44により、連想検索処理の結果(
図12参照)を画面表示するか、または、マッチング処理および類似案件(類似企業)検索処理の各結果(
図13参照)を画面表示する(ステップS10)。そして、検索を続行する場合には(ステップS11)、前述したステップS5の処理に戻り、ユーザによるキーワードまたは案件番号(案件識別情報)の入力(選択入力を含む)を受け付ける。一方、検索を続行しない場合には、そのまま検索処理を終了するか、または、新規案件登録時の参考案件の案件番号のメモ入力がある場合には、出力手段44により、そのメモ入力を受け付けて検索処理を終了する。
【0262】
それから、ユーザ(新規に案件データの登録を行う企業、またはそのサービス担当者)が、画面表示された参考案件の案件データの内容を見ながら、自分の案件データを登録するための新規案件登録処理(新規案件の登録の受付、新規案件への案件番号の付与、即時反映処理、
図23参照)を実行する(ステップS12)。この処理は、新規案件登録手段45により実行される。そして、新規案件の登録を終えたユーザは、新規の案件データを含めたトピックモデルの更新等の時期の到来前に、新規案件の即時反映処理が行われている状態で、付与された新規案件の案件番号を用いた検索を行う場合は、前述したステップS5の処理に戻り、入力部110に、新規案件の案件番号を入力し、検索を繰り返す。その後、新規の案件データを含めたトピックモデルの更新等の時期が到来した場合には、次の
図16の更新処理(ステップS13~S15)へ進む。
【0263】
図16に示すように、トピックモデルの更新等の時期は、(1)新規の案件データの登録数が、所定の数に達したとき、(2)新規の案件データの登録が行われる都度、(3)毎日(毎晩)、毎週、毎月等の一定周期、但し、直近の期間中に新規の案件データの登録があることが前提、(4)システム管理者が適当と判断した任意の時期のいずれでもよい。なお、(2)の場合には、新規の案件データの登録後、すぐに更新処理を実行するときは、新規案件登録手段45による新規案件の即時反映処理(
図23参照)を行う必要はないが、新規の案件データの登録後、すぐに更新処理を実行するのではなく、例えばその日の夜間バッチ等で更新処理を実行するときは、登録処理と更新処理とにタイムラグがあるので、新規案件登録手段45による新規案件の即時反映処理を行う。
【0264】
図16において、更新時期が到来した場合は、先ず、連想検索用の更新処理を実行する(ステップS13)。この処理は、ステップS2の連想検索用の事前処理(詳細は、
図17参照)と同様である。但し、分散表現モデルの更新は、頻繁に行う必要はないので、省略してもよい。
【0265】
次に、マッチング用の更新処理を実行する(ステップS14)。この処理は、ステップS3のマッチング用の事前処理(詳細は、
図18参照)と同様である。この際、トピックモデルの更新は行うが、マッチングモデルの更新は省略してもよい。従って、トピックモデルの更新と、マッチングモデルの更新とは、同じ頻度で行う必要はなく、同時期に行う必要もない。
【0266】
続いて、類似案件(類似企業)検索用の更新処理を実行する(ステップS15)。この処理は、ステップS4の類似案件(類似企業)検索用の事前処理(詳細は、
図19参照)と同様である。この際、新規案件の登録時に即時反映されている処理は省略してもよい。
【0267】
<ステップS2の連想検索用の事前処理の流れ:
図17>
【0268】
図17において、先ず、システム管理者が、入力手段90を操作し、連想検索用の設定データ(N3=例えば100、N6=例えば10、関連案件の表示数等)を入力すると、設定手段31により、この設定データが受け付けられ、設定データ記憶手段51に保存される(ステップS201)。また、マッチング用の設定データ(推薦案件の表示数等)、類似案件検索用の設定データ(Wtf-idf、Wword2vec、Wtopic、類似案件の表示数等)の入力の受付、保存も、設定手段31により、ここで行ってよい。
【0269】
次に、システム管理者は、入力手段90を操作し、事前に取得・収集しておいた分散表現モデル学習用のテキストデータを、分散表現モデル学習用データ記憶手段52に保存する(ステップS202)。この処理は、設定手段31により行う。
【0270】
続いて、分散表現モデル学習手段32により、分散表現モデル学習用データ記憶手段52に記憶されている分散表現モデル学習用のテキストデータを用いて、分散表現モデルの学習処理を実行し、得られた学習結果データ(単語ベクトルで構成された重み行列W)を、分散表現モデル記憶手段53に保存する(ステップS202)。なお、公開・提供された学習結果データ(重み行列W)を取得し、分散表現モデル記憶手段53に保存してもよい。
【0271】
また、本実施形態では、連想検索用、類似案件検索用の分散表現モデルは共用とするが、共用としない場合でも、このステップS202の処理で、双方の分散表現モデルを用意してよい。
【0272】
<ステップS3のマッチング用の事前処理の流れ:
図18>
【0273】
図18において、固有テキストデータ準備手段34により、案件データ記憶手段54から、全ての案件(ここでは企業)について、自己データ(自己業種、自社PR)、ニーズデータ(希望業種、ニーズ詳細)を取得し、マッチング用および連想検索用(共用)の固有テキストデータ(本実施形態では、結合テキストデータとする。)を作成する(ステップS301)。なお、モデルの更新処理の場合(
図16のステップS14)は、新規案件について固有テキストデータを追加作成すればよい。
【0274】
続いて、固有テキストデータ準備手段34により、上記のステップS301の処理で作成した全ての固有テキストデータ(ここでは、結合テキストデータ)について、不要な記号やタグ等の除去、形態素解析で単語に分解、名詞のみ抽出、不要な単語の除去の各処理を実行し、処理後の固有テキストデータを、案件識別情報(案件番号)と関連付けて案件データ記憶手段54に記憶させる(ステップS302)。これらの処理の内容は、固有テキストデータ準備手段34の説明で既に詳述しているので、ここでは詳しい説明を省略する。なお、モデルの更新処理の場合(
図16のステップS14)は、新規案件の固有テキストデータについてだけ、これらの処理を実行すればよい。
【0275】
次に、トピック推定手段35により、案件データ記憶手段54に記憶されているマッチング用の処理後の固有テキストデータ(i=1~n)の全てを用いて、ソフトクラスタリングまたはニューラル言語モデル(ここでは、LDA)によるトピック推定処理を実行し、各案件(各企業)の固有テキストデータ(i=1~n)における各トピック(トピック番号=1~K)の出現確率を示すトピック値π(i)、および各トピックにおける各単語の出現確率βを求め、求めたマッチング用のπ(i)およびβを、トピックモデル記憶手段56に保存する(ステップS303)。このトピック推定処理の内容は、トピック推定手段35の説明で既に詳述しているので、ここでは詳しい説明を省略する。なお、モデルの更新処理の場合(
図16のステップS14)には、文書数に相当する案件数(企業数)nが、追加登録された新規案件の数だけ増えた状態で、トピック推定処理が実行される。
【0276】
その後、単語重要度ベクトル算出手段37により、案件データ記憶手段54に記憶されているマッチング用の処理後の固有テキストデータ(ここでは、結合テキストデータ)(i=1~n)の全てを用いて、単語重要度ベクトル(ここでは、TFIDFベクトル)を算出し、算出したマッチング用の単語重要度ベクトルを、案件識別情報(案件番号)と関連付けて単語重要度ベクトル記憶手段57に保存する(ステップS304)。この処理の内容は、単語重要度ベクトル算出手段37の説明で既に詳述しているので、ここでは詳しい説明を省略する。なお、モデルの更新処理の場合(
図16のステップS14)は、TD値は、新規案件の固有テキストデータだけで算出できるが、IDF値の算出には、全ての案件の固有テキストデータが必要となるので、新規案件を含めた全ての案件について、単語重要度ベクトルを算出する。
【0277】
続いて、マッチング学習用データ準備手段38により、マッチング候補選定実績リスト記憶手段58に記憶されているマッチング候補選定実績リストに存在するペアを正例(正解データ)とし、マッチング候補選定実績リストに存在するペア以外のペアを負例(不正解データ)とし、マッチング学習用データとしてのマッチング用特徴データ(
図9参照)を作成するための多数のペアを用意する(ステップS305)。この処理の内容は、マッチング学習用データ準備手段38の説明で既に詳述しているので、ここでは詳しい説明を省略する。なお、モデルの更新処理の場合(
図16のステップS14)は、トピック推定処理を実行してトピックモデルの更新を行っていても、必ずしもマッチングモデルの更新を行う必要はないので、この処理を省略してもよい。トピックモデルを更新すると各案件のトピック分布が若干変化するので、厳密に言えば、マッチング用特徴データも変化することになるが、選定実績があまり増えていない状況では、マッチングモデルへの影響が小さいからである。
【0278】
それから、マッチング学習用データ準備手段38により、上記のステップS305の処理でマッチング学習用データを作成するために用意した全てのペア案件について、トピックモデル記憶手段56から、各トピック値π(i)を取得し、案件データ記憶手段54から、ニーズフラグ、年商を取得し、合成変数(各トピック値の積、差の絶対値、ニーズフラグの論理和、年商の比の値等)を算出する(ステップS306)。さらに、マッチング学習用データ準備手段38により、マッチング学習用データを作成するために用意した全てのペア案件について、単語重要度ベクトル記憶手段57に記憶されているマッチング用の単語重要度ベクトル(ここでは、TFIDFベクトル)の内積を算出した後、マッチング学習用データとしてのマッチング用特徴データ(
図9参照)を作成し、ペア案件の案件識別情報(案件番号)と関連付けてマッチング学習用データ記憶手段59に保存する(ステップS307)。これらの処理の内容は、マッチング学習用データ準備手段38の説明で既に詳述しているので、ここでは詳しい説明を省略する。なお、モデルの更新処理の場合(
図16のステップS14)は、上記のステップS305と同様に、マッチングモデルの更新処理を省略してもよい。
【0279】
続いて、マッチングモデル学習手段38により、マッチング学習用データ記憶手段59に記憶されているマッチング学習用データを用いて、教師あり分類モデル(例えば、ランダムフォレスト)により、選定・非選定の2クラス分類のマッチングモデル(パラメータ)を求め、求めたマッチングモデルをマッチングモデル記憶手段60に記憶させる(ステップS308)。この処理の内容は、マッチングモデル学習手段38の説明で既に詳述しているので、ここでは詳しい説明を省略する。なお、モデルの更新処理の場合(
図16のステップS14)は、上記のステップS305~S307と同様に、マッチングモデルの更新処理を省略してもよい。
【0280】
<ステップS4の類似案件(類似企業)検索用の事前処理の流れ:
図19>
【0281】
図19において、固有テキストデータ準備手段34により、案件データ記憶手段54から、全ての案件(ここでは企業)について、自己データ(自己業種、自社PR)、ニーズデータ(希望業種、ニーズ詳細)を取得し、類似案件検索用の2種類の固有テキストデータ(本実施形態では、自己データとニーズデータとの結合は行わない。)を用意する(ステップS401)。この際、自己データとして、自己業種を含めずに自社PRだけを用い、また、ニーズデータとして、希望業種を含めずにニーズ詳細だけを用いてもよく、本実施形態では、そのようにする(
図10参照)。なお、モデルの更新処理の場合(
図16のステップS15)は、新規案件について固有テキストデータを追加作成すればよい。
【0282】
続いて、固有テキストデータ準備手段34により、上記のステップS401の処理で用意した全ての類似案件検索用の2種類の固有テキストデータ(非結合の自己データ、ニーズデータ)について、不要な記号やタグ等の除去、形態素解析で単語に分解、名詞のみ抽出、不要な単語の除去の各処理を実行し、処理後の固有テキストデータを、案件識別情報(案件番号)と関連付けて案件データ記憶手段54に記憶させる(ステップS402)。これらの処理の内容は、固有テキストデータ準備手段34の説明で既に詳述しているので、ここでは詳しい説明を省略する。なお、モデルの更新処理の場合(
図16のステップS15)は、新規案件の固有テキストデータについてだけ、これらの処理を実行すればよい。
【0283】
次に、トピック推定手段35により、案件データ記憶手段54に記憶されている類似案件検索用の2種類の処理後の固有テキストデータ(i=1~n)の全てを用いて、2種類のそれぞれについて別々に、ソフトクラスタリングまたはニューラル言語モデル(ここでは、LDA)によるトピック推定処理を実行し、各案件(各企業)の類似案件検索用の固有テキストデータ(i=1~n)における各トピック(トピック番号=1~K)の出現確率を示すトピック値π(i)、および各トピックにおける各単語の出現確率βを求め、求めた類似案件検索用の2種類のそれぞれのπ(i)およびβ(つまり、自己データについてのπ(i)およびβ、ニーズデータについてのπ(i)およびβ)を、トピックモデル記憶手段56に保存する(ステップS403)。このトピック推定処理の内容は、トピック推定手段35の説明で既に詳述しているので、ここでは詳しい説明を省略する。なお、モデルの更新処理の場合(
図16のステップS15)には、文書数に相当する案件数(企業数)nが、追加登録された新規案件の数だけ増えた状態で、トピック推定処理が実行される。
【0284】
その後、単語重要度ベクトル算出手段37により、案件データ記憶手段54に記憶されている類似案件検索用の2種類の処理後の固有テキストデータ(ここでは、非結合の自己データ、ニーズデータ)(i=1~n)の全てを用いて、単語重要度ベクトル(ここでは、TFIDFベクトル)を算出し、算出した類似案件検索用の2種類の単語重要度ベクトル(つまり、自己データ、ニーズデータのそれぞれについての単語重要度ベクトル)を、案件識別情報(案件番号)と関連付けて単語重要度ベクトル記憶手段57に保存する(ステップS404)。この処理の内容は、単語重要度ベクトル算出手段37の説明で既に詳述しているので、ここでは詳しい説明を省略する。なお、モデルの更新処理の場合(
図16のステップS15)は、TD値は、新規案件の固有テキストデータだけで算出できるが、IDF値の算出には、全ての案件の固有テキストデータが必要となるので、新規案件を含めた全ての案件について、2種類の単語重要度ベクトルを算出する。
【0285】
続いて、案件類似度算出手段43Aにより、類似案件検索用の2種類の処理後の固有テキストデータ(i=1~n)の全てを用いて、固有テキストデータ毎(自己データ毎、ニーズデータ毎)に、
図2に示すように、各固有テキストデータを構成する全ての単語の分散表現(ここでは、word2vecによる単語ベクトルとする)の平均値を算出し、これらを各案件の固有テキストデータの文章ベクトルとして案件識別情報(案件番号)と関連付けて文章ベクトル記憶手段67に記憶させる(ステップS405)。この際、各案件(各企業)について、自己データの分散表現の平均値(文章ベクトル)と、ニーズデータの分散表現の平均値(文章ベクトル)とを、別々に算出する。この処理の内容は、案件類似度算出手段43Aの説明で既に詳述しているので、ここでは詳しい説明を省略する。
【0286】
それから、案件類似度算出手段43Aにより、全ての案件(企業)の総当たりの各ペアについて、単語重要度ベクトル記憶手段57に記憶されている単語重要度ベクトル同士の類似度Stf-idf、文章ベクトル記憶手段67に記憶されている文章ベクトル同士の類似度Sword2vec、トピックモデル記憶手段56に記憶されているトピック分布(トピック値)ベクトル同士の類似度Stopicを算出し、これらの各類似度を重み係数(Wtf-idf、Wword2vec、Wtopic)を用いて統合することにより、案件(企業)間の類似度を示す案件類似度を算出し、算出した案件類似度を、ペア案件の案件識別情報(案件番号)と関連付けて案件類似度記憶手段68に記憶させる(ステップS406)。この際、案件類似度として、各ペア案件について、自己データについての類似度を示すPRスコアと、ニーズデータについての類似度を示すニーズスコアとを、別々に算出する。この処理の内容は、案件類似度算出手段43Aの説明で既に詳述しているので、ここでは詳しい説明を省略する。
【0287】
【0288】
図20において、先ず、単語類似度算出手段41Aにより、分散表現モデル記憶手段53に記憶されている各分散表現モデル(本実施形態では、ディメンジョンの異なる3種類の単語ベクトルの集合)について、入力・選択入力されたキーワードと他の単語との間のコサイン類似度等のモデル別類似度Sを算出し、各分散表現モデルについて、モデル別類似度Sが上位N3以内(例えば100位以内)の単語を選択してモデル別類似単語とし、各モデル別類似単語のモデル別類似度Sをモデル別類似度記憶手段62に記憶させる(ステップS701)。この処理の内容は、単語類似度算出手段41Aの説明で既に詳述しているので、ここでは詳しい説明を省略する。なお、モデル別類似単語は、各分散表現モデルでずれている。
【0289】
次に、単語類似度算出手段41Aにより、少なくとも1つの分散表現モデルで選択された単語(N4個)の全てについて、対応する単語が選択されていない分散表現モデルの当該単語のモデル別類似度Sをゼロとみなすとともに(
図2参照)、全ての分散表現モデル(ここでは、3タイプの分散表現モデル)のモデル別類似度Sの調和平均または加重調和平均等を求めることにより、複数種類の分散表現モデルをアンサンブルした一般類似度Aを算出し、算出した一般類似度Aがゼロにならなかった単語を一般類似単語(N5個)として決定し、各一般類似単語の一般類似度Aを一般類似度記憶手段63に記憶させる(ステップS702)。この処理の内容は、単語類似度算出手段41Aの説明で既に詳述しているので、ここでは詳しい説明を省略する。
【0290】
続いて、単語類似度算出手段41Aにより、各一般類似単語(N5個)および入力・選択入力されたキーワードについて、全ての連想検索用の固有テキストデータ(本実施形態では、自己データとニーズデータとの結合テキストデータとする)との照合を行うことにより、それらの単語の少なくとも1つを含む固有テキストデータに関連付けられた案件(ここでは企業)の案件番号を抽出する(ステップS703)。さらに、単語類似度算出手段41Aにより、各一般類似単語(N5個)および入力・選択入力されたキーワードとの照合で抽出した各案件の固有テキストデータを用いて、入力・選択入力されたキーワードと、各一般類似単語(N5個)との間の固有類似度Bを算出し、算出した固有類似度Bを固有類似度記憶手段64に記憶させる(ステップS704)。これらの処理の内容は、単語類似度算出手段41Aの説明で既に詳述しているので、ここでは詳しい説明を省略する。
【0291】
それから、単語類似度算出手段41Aにより、各一般類似単語(N5個)について、一般類似度Aと固有類似度Bとの調和平均または加重調和平均等により最終類似度FSを算出し、最終類似度FSが上位N6以内(例えば10位以内)の単語を、関連単語として決定し、各関連単語の最終類似度FSを最終類似度記憶手段65に記憶させる(ステップS705)。この処理の内容は、単語類似度算出手段41Aの説明で既に詳述しているので、ここでは詳しい説明を省略する。
【0292】
その後、関連度算出手段41Bにより、各関連単語(N6=10個)および入力・選択入力されたキーワードについて、それぞれの単語が連想検索用の各固有テキストデータ(本実施形態では、結合テキストデータ)に出現する単語別出現回数C(i)(i=0,1,2,…,N6)を求め、これに最終類似度FS(i)を乗じ、各単語についてそれらの値を合計して関連度CSを算出し、関連度CSの高い順で関連案件を決定し、各関連案件の関連度CSを関連度記憶手段66に記憶させるとともに、関連案件の案件番号を用いて、案件データ記憶手段54から関連案件の案件データを取得する(ステップS706)。この処理の内容は、関連度算出手段41Bの説明で既に詳述しているので、ここでは詳しい説明を省略する。
【0293】
【0294】
図21において、先ず、マッチング用特徴データ作成手段42Aにより、入力部110(
図11~
図13参照)に入力・選択入力された対象案件(企業)と、推薦の候補となる他の全ての案件(企業)との各ペアについて、トピックモデル記憶手段56から、各トピック値π(i)を取得し、案件データ記憶手段54から、ニーズフラグ、年商を取得し、合成変数(各トピック値の積、差の絶対値、ニーズフラグの論理和、年商の比の値等)を算出する(ステップS801)。さらに、マッチング用特徴データ作成手段42Aにより、入力部110に入力・選択入力された対象案件(企業)と、推薦の候補となる他の全ての案件(企業)との各ペアについて、単語重要度ベクトル記憶手段57に記憶されている単語重要度ベクトル(ここでは、TFIDFベクトル)の内積を算出した後(ステップS802)、マッチング用特徴データ(
図8参照)を作成する(ステップS803)。これらの処理の内容は、マッチング用特徴データ作成手段42Aの説明で既に詳述しているので、ここでは詳しい説明を省略する。
【0295】
次に、上記のステップS803の処理で作成したマッチング用特徴データを、教師あり分類モデル(例えば、ランダムフォレスト)によるマッチング用の識別器(マッチングスコア算出手段42Bおよびマッチングモデル記憶手段50により構成される識別器)に入力し、入力部110に入力・選択入力された対象案件(企業)に対して各候補案件(候補企業)が選定される確率を示すスコア(マッチングスコア)を出力し、得られたスコアの高い順で推薦案件(推薦企業)を決定し、決定した推薦案件の案件番号を用いて、案件データ記憶手段54から推薦案件の案件データを取得する(ステップS804)。
【0296】
<ステップS9の類似案件(類似企業)検索処理の流れ:
図22>
【0297】
図22において、類似案件抽出手段43Bにより、案件類似度記憶手段68から、入力部110(
図11~
図13参照)で入力・選択入力された案件番号の対象案件(企業)と、他の全ての案件(企業)との間の案件類似度(本実施形態では、PRスコアおよびニーズスコア)を取得する(ステップS901)。
【0298】
続いて、類似案件抽出手段43Bにより、案件類似度の高い順で類似案件を抽出し、抽出した類似案件の案件番号を用いて、案件データ記憶手段54から、類似案件の案件データを取得する(ステップS902)。
【0299】
<ステップS12の新規案件登録処理の流れ:
図23>
【0300】
図23において、新規案件登録手段45により、ユーザによる新規案件の案件データの登録のための入力を受け付け(ステップS1201)、新規案件に対して案件識別情報(案件番号)を自動付与し、受け付けた新規案件の案件データを、付与した新規案件の案件番号と関連付けて案件データ記憶手段54に保存する(ステップS1202)。この際、新規案件登録手段45により、登録時参考案件記憶手段69に記憶されている参考案件の案件識別情報(案件番号)を用いて、案件データ記憶手段54から参考案件の案件データを取得し、表示手段80の画面上に表示する。
【0301】
その後、新規案件登録手段45からの指示により、以下のような更新前における新規案件の即時反映処理を実行する。
【0302】
先ず、新規案件登録手段45からの指示を受けた固有テキストデータ準備手段34により、新規案件(企業)について、案件データ記憶手段54から、自己データ、ニーズデータを取得し、次の固有テキストデータを用意する(ステップS1203)。すなわち、マッチング処理および連想検索処理で用いる固有テキストデータ(自己データとニーズデータとの結合テキストデータ)と、類似案件検索処理で用いる固有テキストデータ(非結合の自己データ、ニーズデータ)とを用意する。
【0303】
続いて、新規案件登録手段45からの指示を受けた固有テキストデータ準備手段34により、新規案件(企業)の固有テキストデータ(マッチング用および連想検索用(共用)の結合テキストデータ、類似案件検索用の非結合の自己データ、ニーズデータ)について、不要な記号やタグ等の除去、形態素解析で単語に分解、名詞のみ抽出、不要な単語の除去の各処理を実行し、処理後の各固有テキストデータを、案件識別情報(案件番号)と関連付けて案件データ記憶手段54に記憶させる(ステップS1204)。
【0304】
次に、新規案件登録手段45からの指示を受けた単語重要度ベクトル算出手段37により、新規案件(企業)を含む全ての案件の処理後の固有テキストデータ(i=1~n+1)を用いて、新規案件の処理後の固有テキストデータ(i=n+1)についての次の単語重要度ベクトル(ここでは、TFIDFベクトル)を算出し、案件識別情報(案件番号)と関連付けて単語重要度ベクトル記憶手段57に記憶させる(ステップS1205)。すなわち、マッチング処理で用いる単語重要度ベクトル(結合テキストデータの単語重要度ベクトル)と、類似案件検索処理で用いる単語重要度ベクトル(自己データ、ニーズデータの各々の単語重要度ベクトル)とを算出する。
【0305】
それから、新規案件登録手段45からの指示を受けたトピック値予測手段36により、新規案件(企業)の処理後の固有テキストデータ(i=n+1)について、次のトピック分布π(i)を予測し、得られたトピック分布π(i)を、案件識別情報(案件番号)と関連付けてトピックモデル記憶手段56に記憶させる(ステップS1206)。すなわち、マッチング処理で用いる結合テキストデータのトピック分布π(i)と、類似案件検索処理で用いる自己データ、ニーズデータの各々のトピック分布π(i)とを予測する。
【0306】
続いて、新規案件登録手段45からの指示を受けた案件類似度算出手段43Aにより、新規案件(企業)の処理後の固有テキストデータを用いて、その固有テキストデータを構成する全ての単語の分散表現(ここでは、word2vecによる単語ベクトル)の平均値を算出して文章ベクトルとし、得られた文章ベクトルを、案件識別情報(案件番号)と関連付けて文章ベクトル記憶手段67に記憶させる(ステップS1207)。この祭、自己データの分散表現の平均値(文章ベクトル)と、ニーズデータの分散表現の平均値(文章ベクトル)とを、別々に算出する。
【0307】
さらに、新規案件登録手段45からの指示を受けた案件類似度算出手段43Aにより、新規案件(企業)と、既存の全ての案件との間で、単語重要度ベクトル記憶手段57に記憶されている単語重要度ベクトル同士の類似度Stf-idf、文章ベクトル記憶手段67に記憶されている文章ベクトル同士の類似度Sword2vec、トピックモデル記憶手段56に記憶されているトピック分布(トピック値)ベクトル同士の類似度Stopicを算出し、これらの各類似度を重み係数(Wtf-idf、Wword2vec、Wtopic)を用いて統合することにより、案件間(企業間)の類似度を示す案件類似度を算出し、算出した案件類似度を、ペア案件の案件識別情報(案件番号)と関連付けて案件類似度記憶手段68に記憶させる(ステップS1208)。この際、案件類似度として、自己データについての類似度を示すPRスコアと、ニーズデータについての類似度を示すニーズスコアとを、別々に算出する。
【0308】
<本実施形態の効果>
【0309】
このような本実施形態によれば、次のような効果がある。すなわち、マッチングシステム10では、ユーザ(マッチングサービスの提供を受ける者、またはサービス担当者)が、入力部110(
図11~
図13参照)にキーワードを入力すると、連想検索手段41による処理が実行され、入力部110と同一の画面上に、関連案件の案件データや関連単語を表示することができる。一方、入力部110に案件識別情報(案件番号)を入力すると、マッチング手段42による処理、および類似案件検索手段43による処理が実行され、入力部110と同一の画面上に、対象案件(入力された案件番号の案件)のマッチング相手としての推薦案件の案件データ、および対象案件の類似案件の案件データを表示することができる。
【0310】
この際、連想検索手段41、マッチング手段42、および類似案件検索手段43による3つの処理は、いずれも各案件の固有テキストデータ、すなわち同じデータ(各処理で結合・非結合の選択の自由度はあるが、いずれの処理でも自己データ、ニーズデータを使う。)を用いて実行されるので、3つの処理の全てでマッチングに適した処理を実現できることに加え、互いに関連性のある処理内容とすることができる。従って、マッチングシステム10は、既存の3つのシステムを単純に併設したものではなく、各処理でデータの共用や、処理内容の共通化を図ることができる。
【0311】
また、連想検索手段41、マッチング手段42、および類似案件検索手段43による各処理の結果は、これらの各手段41,42,43による次の処理に活かすことができ、これらの各手段41,42,43による処理を繰り返すことができるので、ユーザは、多様な検索を行うことができる。
【0312】
より詳細には、入力部110(
図11~
図13参照)にキーワードを入力し、連想検索手段41による処理でそのキーワードの関連案件が得られた場合には、その関連案件の案件識別情報(案件番号)を入力部110に入力すれば、その関連案件に対するマッチング相手としての推薦案件を得ることができるとともに、その関連案件に対する類似案件を得ることができる。そして、得られた推薦案件の案件識別情報(案件番号)を入力部110に入力すれば、その推薦案件に対するマッチング相手としての推薦案件を得ることができるとともに、その推薦案件に対する類似案件を得ることができる。また、得られた類似案件の案件識別情報(案件番号)を入力部110に入力すれば、その類似案件に対するマッチング相手としての推薦案件を得ることができるとともに、その類似案件に対する類似案件を得ることができる。マッチングシステム10では、このように関連案件、推薦案件、類似案件を横断した繰り返しの検索を行うことができ、さらにその間に任意のタイミングで様々なキーワードを入力することができる(
図11参照)。
【0313】
このため、ユーザが新規案件の登録を行う者またはその補助・指導・案内を行うサービス担当者であれば、自分または自分が担当する顧客と同じ立場の幾つかの案件(例えば、ある製品や商品を売るという目的でマッチングを希望する企業)についての案件データ(そこに含まれる自己データおよびニーズデータ)の内容を容易に把握することができ、また、どのような内容の案件データを登録すると、どのような内容の案件データを有する案件が、マッチング相手として推薦されるのか(つまり、どのような内容の案件データを有する案件同士のマッチング確度が高いのか)を容易に把握することができるので、それらの検索で参照した情報を、新規案件の案件データを登録する際に活かすことができる。従って、ユーザは、マッチングという観点から適切な案件データを登録し、効果的なマッチングサービスの提供を受けることができる。
【0314】
また、このような案件データの検索・参照は、新規案件の登録を行う者が、自身で行うことができるので、サービス担当者の負担を軽減することもできる。さらに、例えばサービス窓口や客先等でサービス担当者が検索を行う場合でも、検索で得られた幾つかの参考案件の案件データの内容を、新規案件の登録を行う者に直接に示すことができるので、サービス担当者の負担(補助・指導・案内をする上での手間)を軽減することができる。
【0315】
また、マッチング手段42は、トピック推定処理で得られたトピックモデルの更新や、マッチング用特徴データを用いた学習で得られたマッチングモデルの更新が行われない限り、同じ入力に対しては、同じ出力をすることから、ある案件に対し、いつも同じ案件が同じ順位(同じスコア)で推薦案件として出力されることになる。そして、これが選定実績となり、マッチングモデルの更新に反映されると、偏った紹介を助長することに繋がる。しかし、マッチングシステム10では、類似案件検索手段43による処理を行うと、対象案件の類似案件を把握することができ、その類似案件を入力すれば、マッチング手段42による処理で、その類似案件に対する推薦案件を出力することができるので、対象案件に対する推薦案件だけではなく、対象案件の類似案件に対する推薦案件を出力することもでき、サービス担当者は、それを紹介することもできる。同様に、検索を繰り返せば、対象案件に対する推薦案件の類似案件や、対象案件の類似案件に対する推薦案件の類似案件も出力することができ、サービス担当者は、それらを紹介することもできる。従って、サービス担当者は、様々な角度から紹介する案件を見つけることができるので、ノウハウの少ない担当者でも、マッチング依頼者に対し、マッチング相手として適切な案件を紹介することができるとともに、紹介案件の選定作業の固定化を防ぐことができるので、偏った学習用データによるマッチングモデルの更新の未然防止を図ることができる。
【0316】
さらに、連想検索手段41は、一般類似度Aと、固有テキストデータを用いて算出した固有類似度Bとを用いて最終類似度FSを算出し、最終類似度FSの高い順で関連単語を決定するので、関連単語を、単なる一般的な関連単語(入力したキーワードに対し、一般類似度Aが高い単語)ではなく、固有テキストデータの内容を反映した関連単語とすることができる。このため、マッチングという観点から、より一層、効果的な関連単語を、新たなキーワードとして入力することができる。つまり、連想検索手段41による処理では、関連案件の決定に用いる関連度CSを求める式(3)の中に、固有テキストデータにおける単語別出現回数C(i)が含まれているので、この関連度CSが、固有テキストデータを用いて算出されていることになるが、これに加え、関連案件の決定で使用される関連単語の決定に用いる最終類似度FSにも、固有テキストデータを用いて算出した固有類似度Bが関与するので、マッチングという観点から、より一層、効果的な処理を実現することができる。
【0317】
また、マッチングシステム10は、トピック値予測手段36を備えているので、トピックモデルの更新を行わずに、新規案件の固有テキストデータを検索に反映させることができる(
図23の新規案件の即時反映処理を参照)。このため、新規案件の固有テキストデータを含めたトピック推定処理によるトピックモデルの更新を行う前であっても、新規案件を対象案件とするマッチング処理を行うことができる。従って、トピックモデルの更新を行う前に、新規案件を含めた状態で、連想検索手段41、マッチング手段42、および類似案件検索手段43による各処理を繰り返す検索を行うことができる。換言すれば、トピックモデルの更新を行う前であっても、新規案件の案件識別情報(案件番号)を、入力部110(
図11~
図13参照)に入力することができ、また、新規案件が、処理結果として画面表示される関連案件、推薦案件、類似案件になり得る状態とすることができる。
【0318】
さらに、類似案件検索手段43は、式(4)に示すように、各案件の固有テキストデータにおける各トピックの出現確率を示すトピック値からなるトピック分布ベクトルと、各案件の固有テキストデータを構成する各単語の分散表現の平均値からなる文章ベクトルと、各案件の固有テキストデータについての単語重要度ベクトル(本実施形態では、TFIDFベクトル)とを用いて、対象案件とそれ以外の案件との間の案件類似度(PRスコア、ニーズスコア)を算出し、この案件類似度の高い順で対象案件の類似案件を抽出する構成とされているので、固有テキストデータ(自己データ、ニーズデータ)の記述内容を的確に反映させた、マッチングに役立つ類似案件の抽出処理を実現することができる。
【0319】
また、連想検索手段41は、
図3に示すように、単語の出現回数を用いて固有類似度Bを算出する構成とされているので、各案件の固有テキストデータの記述内容を、より的確に反映した固有類似度Bを算出することができ、その固有類似度Bを用いて最終類似度FSを算出し、その最終類似度FSを用いて関連単語を決定することができる。このため、マッチングという観点から、より適切な関連単語の決定処理を行うことができる。
【0320】
さらに、入力受付手段40は、キーワードの入力および案件識別情報(案件番号)の入力を、同一の入力部110(
図11~
図13参照)で受け付け、いずれの入力であるかを自動判別する構成とされているので、入力部110を配置し、かつ、検索結果を表示する画面の構成が簡易になり、ユーザによる操作性の向上を図ることができる。
【0321】
そして、入力受付手段40は、検索履歴記憶手段61に記憶させたログ情報を用いて、各画面100,200,300(
図11~
図13参照)に設けられた「検索履歴」表示部130(
図11では、表示部130の図示が省略されている。)に検索履歴の表示を行うので、ユーザは、この表示を見ることで、どのようなキーワードまたは案件識別情報(案件番号)をどのような順序で入力し、検索を行ってきたのかを容易に把握することができる。このため、ユーザの検索作業効率を向上させることができる。
【0322】
また、出力手段44は、参考案件の案件識別情報(案件番号)のメモ入力(図示は省略)を受け付け、登録時参考案件記憶手段69に記憶させる構成とされ、新規案件登録手段45は、登録時参考案件記憶手段69に記憶されている参考案件の案件識別情報を用いて、表示手段80に表示された新規案件登録画面(不図示)上において参考案件の案件データを表示する構成とされているので、ユーザは、その表示を見ながら、新規案件(自己の案件)の案件データの登録のための入力作業を行うことができる。このため、適切な案件データを容易に登録することができる。
【0323】
<変形の形態>
【0324】
なお、本発明は前記実施形態に限定されるものではなく、本発明の目的を達成できる範囲内での変形等は本発明に含まれるものである。
【0325】
(検索履歴表示に関する変形の形態:
図24)
例えば、前記実施形態では、各画面100,200,300(
図11~
図13参照)に設けられた「検索履歴」表示部130(
図11では、表示部130の図示が省略されている。)には、検索履歴の表示として、キーワードまたは案件識別情報を入力順に並べた表示が行われていたが、
図24に示すような検索履歴の表示を行ってもよい。
【0326】
図24において、画面400には、前記実施形態の各画面100,200,300(
図11~
図13参照)と同様に、入力部110および「Search」ボタン120が設けられているが、前記実施形態の「検索履歴」表示部130(
図11では、表示部130の図示が省略されている。)とは異なる「検索履歴」表示部430が設けられている。
【0327】
「検索履歴」表示部430には、最下行から上方に向かって入力順に従って、キーワードまたは案件識別情報(案件番号)が並べられている。従って、
図24の例は、キーワード「お酒」、案件番号「5678」、案件番号「6006」、…という順序で、入力部110への入力が行われたことを示している。なお、入力順は、最上行から下方に向かっていてもよい。
【0328】
また、「検索履歴」表示部430には、3つの列が設けられている。左列には、キーワードが表示され、中央列には、最初に入力された案件識別情報(案件番号)と同じ側の案件識別情報(案件番号)が表示され、右列には、最初に入力された案件識別情報(案件番号)と反対側の案件識別情報(案件番号)が表示される。同じ側・反対側というのは、マッチングを求める側か、マッチング相手側かという観点で区別したサイド情報である。なお、キーワード、同じ側の案件識別情報、反対側の案件識別情報の左右方向の並び順(各列の配置位置)は、
図24の例に限定されず、任意であり、3つの情報が列によって区別されていればよい。また、
図24の例では、上下方向が入力順(時間情報)を示し、左右方向が、キーワード、同じ側・反対側の案件識別情報の区別を示すようになっているが、上下方向と左右方向との関係を入れ替えてもよい。
【0329】
「検索履歴」表示部430では、最初に入力された案件識別情報(案件番号)の案件が起点の案件(企業)となり、中央列と右列との間で、振り分け表示が行われる。
図24の例では、案件番号「5678」が起点である。類似案件(類似企業)を選択して入力部110に入力すると、同じ列に表示され、推薦案件(推薦企業)を選択して入力部110に入力すると、反対側の列に表示される。よって、マッチング相手(推薦案件)のマッチング相手(推薦案件)は、元の列に戻る。一旦、キーワードが入力部110に入力されると、この関係はリセットされ、その後において、最初に入力された案件識別情報(案件番号)の案件が新たな起点の案件となる。
図24の例では、案件番号「18777」が新たな起点である。なお、類似案件、推薦案件のいずれでもない案件の案件番号を入力部110に打鍵入力することもできるが、この場合も、それまでの関係はリセットされ、打鍵入力した案件番号が、新たな起点となる。
【0330】
さらに、「検索履歴」表示部430では、関連案件、類似案件、推薦案件のいずれの案件番号を選択入力したのかを示す文字表示も行われている。例えば、「6006・類似(売)」における「類似」の文字は、その直前に入力された案件番号「5678」の類似案件であることを示している。また、「6006・類似(売)」における「(売)」の文字は、ニーズフラグの情報であり、案件番号「6006」の案件のニーズフラグが「売」であることを示している。
【0331】
「検索履歴」表示部430では、ニーズフラグの情報(ここでは、売買の別)と、類似案件の入力か推薦案件の入力かの区別に従った中央列・右列の振り分け表示によるサイド情報との整合性情報も表示される。すなわち、最初に入力した案件番号の案件のニーズフラグが「売」であれば、その案件に対する推薦案件は「買」の案件になり、さらにその推薦案件に対する推薦案件は「売」の案件に戻るのが自然であるため、中央列には「売」の案件番号が並び、右列には「買」の案件番号が並ぶのが自然である。最初に入力した案件番号の案件のニーズフラグが「買」であれば、この関係は全て逆になるのが自然である。従って、最初に入力した案件番号の案件(起点の案件)のニーズフラグに対し、そのような自然な状態が保たれていれば、通常の背景色(例えば白色)に通常色の文字(例えば黒字)を表示する通常表示になる。一方、ニーズフラグが「売買」(「売」と「買」の双方)になっている案件があることと、テキストデータである自己データやニーズデータが必ずしも「売」と「買」とを明確に区別した情報になっていないことから、上記のような自然な状態が保たれない場合があるので、その場合は、逆転が生じたことを示すため、赤色背景または赤字にする等の注意喚起表示が行われる。
【0332】
また、ユーザが最初に入力する案件番号の案件(企業)が、自分側(ユーザと同じ側)の案件なのか、マッチング相手側(ユーザと反対側)の案件なのかについては、前者のケースが多いものの、ユーザの意思表示を受け付けない限り、システムは正確にそれを把握することはできない。しかし、いずれのケースであっても、すなわちユーザの検索意図(最初にどちら側を選んだのか)が不明であっても、最初に入力された案件番号が起点になることに変わりはない。この起点の案件のニーズフラグが「売買」のときもあり得るが、その場合は、ニーズフラグの情報から見ても、最初からユーザの検索意図が不明であるため、以降の表示の全部(リセットされるまでの全部)を黄色背景または黄色字にする等により、整合性情報の表示が機能しない旨の注意喚起表示が行われる。
【0333】
以上より、入力受付手段による「検索履歴」表示部430の表示には、次の(1)~(5)の機能がある。
【0334】
(1)キーワードまたは案件識別情報(案件番号)のいずれの入力を受け付けたのかという入力種別および入力順を示す基本機能がある。
【0335】
(2)対象案件(入力された案件番号の案件)に対する推薦案件の案件識別情報の入力を受け付けたのか、対象案件の類似案件の案件識別情報の入力を受け付けたのかを区別する推薦・類似区別情報の表示機能がある。
図24の例では、「推薦」および「類似」の文字で示されている。但し、推薦・類似区別情報は、文字表示ではなく、例えば、色分け表示や、網掛けの有無、枠囲いの有無等により実現してもよい。
【0336】
(3)案件識別情報(案件番号)の入力を受け付けた各案件が、互いに同じ側または反対側のいずれの案件かを区別するサイド情報の表示機能がある。起点の案件から見て、同じ側か反対側かというだけではなく、どの案件から見ても、他の案件が同じ側か反対側かがわかるようになっている。
図24の例では、「6667・類似(買)」と「5295・推薦(買)」とが同じ側であることがわかり、「6667・類似(買)」と「11223・推薦(売)」とが反対側であることがわかる。このサイド情報の表示機能は、
図24の例では、中央列・右列の振り分け表示で実現されている。但し、サイド情報は、列の振り分け表示ではなく、例えば、色分け表示や、網掛けの有無、枠囲いの有無等により実現してもよい。なお、このサイド情報の表示機能は、推薦案件の推薦案件を同じ側に表示するので、上記(2)の推薦・類似区別情報の表示機能とは異なる機能である。
【0337】
(4)ニーズフラグの情報の表示機能がある。各案件の案件データに、売・買の別、労働者・使用者の別、男・女の別、その他の対になる情報を示すニーズフラグ(
図24の例では、売・買の別)が含まれていることが前提となる。
図24の例では、「(売)」、「(買)」、「(売買)」という文字で示されている。但し、ニーズフラグの情報は、文字表示ではなく、例えば、色分け表示や、網掛けの有無、枠囲いの有無等により実現してもよい。
【0338】
(5)ニーズフラグの情報(
図24の例では、売買の別)と、同じ側か反対側かを区別するサイド情報(
図24の例では、類似案件の入力か推薦案件の入力かの区別に従った中央列・右列の振り分け表示)との整合性情報の表示機能がある。
図24の例では、通常の背景色(例えば白色)に通常色の文字(例えば黒字)を表示する通常表示と、赤色背景または赤字にする等により逆転の発生を示す注意喚起表示と、黄色背景または黄色字にする等により整合性情報の表示が機能しない旨を示す注意喚起表示とがある。
【0339】
これらの(1)~(5)の機能を伴う検索履歴表示処理を行うことにより、連想検索手段41、マッチング手段42、および類似案件検索手段43による各処理を繰り返す検索を行う中で、ユーザは、自分が今まで何をしてきたのか、今何をしているのか、さらには今から何をすればよいのかを把握し易くなるので、効率的な検索を行うことができる。
【0340】
(新規案件の登録時における参考案件の表示に関する変形の形態:
図25)
また、前記実施形態では、出力手段44により参考案件の案件識別情報(案件番号)のメモ入力(不図示)を受け付ける構成とされていたが、
図25に示すような流れで、新規案件の登録時に、参考案件の案件データを表示するようにしてもよい。
【0341】
図25において、ユーザ(新規案件の登録を行う顧客(企業)、またはそのサービス担当者)は、検索を行っている最中に、画面200(
図12参照)に表示されている関連案件や、画面300(
図13参照)に表示されている推薦案件、類似案件を、参考案件として選択することができる。選択操作は、各関連案件、各推薦案件、各類似案件に対応して設けられたチェックボックスやラジオボタン等の選択入力操作でもよく、各関連案件、各推薦案件、各類似案件に対応して設けられたアイコンをドロップエリアにドラッグ&ドロップする操作でもよく、要するに、検索中に画面表示されている案件を直接に画面上で選択できればよい。検索中に画面が入れ替わり、既に選択済の案件が再表示された場合には、その案件のチェックボックスやラジオボタン等は、既に選択入力操作が行われた状態で表示される。また、ドロップエリアの周辺部(
図25の例では、下部)には、選択済の案件の案件番号が表示されている。なお、選択取消用のドロップエリアを設けておき、選択取消を行うときには、そこにアイコンをドラッグ&ドロップするようにしてもよい。
【0342】
そして、選択された参考案件の案件識別情報(案件番号)は、前記実施形態のメモ入力(不図示)の場合と同様に、出力手段44により、登録時参考案件記憶手段69に保存される。その後、ユーザが新規案件の登録を行う際に、新規案件登録手段45により、
図25に示すような新規案件登録画面500が、表示手段80の画面上に表示される。
【0343】
図25において、新規案件登録画面500には、自己PR入力部510と、ニーズ詳細入力部520と、参考案件表示部530とが設けられている。参考案件表示部530には、案件番号の表示部531と、ニーズフラグの表示部532と、参考案件の自己PRテキストデータを新規案件の自己PR入力部510に自動的にコピー&ペーストするための選択ボタン533と、参考案件の自己PRテキストデータを新規案件のニーズ詳細入力部520に自動的にコピー&ペーストするための選択ボタン534と、参考案件のニーズ詳細テキストデータを新規案件の自己PR入力部510に自動的にコピー&ペーストするための選択ボタン535と、参考案件のニーズ詳細テキストデータを新規案件のニーズ詳細入力部520に自動的にコピー&ペーストするための選択ボタン536とが設けられている。このように選択ボタン533~536が、交差移動できるように設けられているのは、ニーズフラグが「売買」になっている案件(対になる情報の双方を指定している案件)があることと、ユーザが選択した参考案件が、必ずしもユーザ自身(新規登録を行う者)と同じ側の案件であるとは限らないことからである。
【0344】
ユーザは、選択ボタン533~536を選択操作し、参考案件のテキストデータをコピー&ペーストしてから、自分の案件用のテキストデータに編集することができる。また、選択ボタン533~536の選択操作を複数回行うことにより、新規案件の自己PR入力部510に、複数のテキストデータを自動的にコピー&ペーストすることもできる。この場合、上書きではなく、選択した順序で、次々に新規案件の自己PR入力部510に、選択したテキストデータが追加されていく。
図25の例では、参考案件(案件番号=15542)の自己PRのテキストデータ「XXXXXXXX」の選択ボタン533と、参考案件(案件番号=8275)のニーズ詳細のテキストデータ「ZZZZZZZZ」の選択ボタン535とが、この順で選択されることにより、「XXXXXXXX」および「ZZZZZZZZ」が、自己PR入力部510にペーストされた状態となっている。新規案件のニーズ詳細入力部520にも同様に、複数のテキストデータを次々に自動的にコピー&ペーストすることができる。なお、選択ボタン533~536を選択操作するのではなく、画面500上で通常のコピー&ペーストの操作を行うことにより、参考案件のテキストデータの一部または全部(選択したコピー範囲)を、新規案件の自己PR入力部510やニーズ詳細入力部520にペーストしてもよい。
【0345】
このように新規案件の登録時に参考案件の案件データ(自己PR、ニーズ詳細を含む)を表示し、ユーザ自身の案件の自己PR、ニーズ詳細の編集に利用することができるようにしておけば、新規案件の登録を行うユーザは、マッチング用のデータとして適切な案件データ(自己PR、ニーズ詳細を含む)の入力作業を容易に行うことができる。
【0346】
(複数の案件識別情報の同時入力を受け付けることができる変形の形態:
図26)
また、本発明のマッチングシステムは、
図26に示すように、複数の案件を同時に入力することができるようにしてもよい。この場合、複数の案件の全てが対象案件となり、複数の対象案件からなる対象案件グループが構成される。そして、対象案件グループに対し、複数の推薦案件からなる推薦案件グループが表示される。この推薦案件グループは、対象案件グループに対し、一体としたマッチング処理により決定された推薦案件の集合であり、原則的には、複数の対象案件のそれぞれに対する個別のマッチング処理で決定された推薦案件を単純に寄せ集めたものではないが、集団マッチングアルゴリズムによっては、結果的に、そのような単純な寄せ集めと同じ表示状態になる場合もある。このように一体としたマッチング処理を行うのは、推薦案件グループを紹介する目的が、具体的には、例えば、複数の企業(対象案件グループ)と、別の複数の企業(推薦案件グループ)との名刺交換会、集団会合等の設定、あるいは、複数の男性(対象案件グループ)と、複数の女性(推薦案件グループ)との集団お見合い、合同飲食会の設定等であるため、1対1のマッチングを考慮するだけでは不十分だからである。一方、類似案件については、検索の利便性や多様性向上の観点から表示するので、一体としての抽出処理により類似案件グループを一体的に抽出するという概念はなく、対象案件グループを構成する複数の対象案件のそれぞれに対し、類似案件が表示される。これにより、対象案件グループを構成する複数の対象案件のうちの少なくとも一部の案件を、それぞれの類似案件に入れ替えて検索を行うことが可能となっている。
【0347】
図26において、画面600には、入力部610と、検索を実行するための「Search」ボタン620と、「検索履歴」表示部630と、推薦案件グループを構成する案件数の入力部640とが設けられている。画面600のタイトルは、ビジネスマッチングになっているが、これに限定されるものではなく、例えば、男女の集団カップリング等でもよい。
【0348】
入力部610には、カンマ区切り、セミコロン区切り(
図26の例)、ブランク挿入等により、対象案件グループを構成する複数の対象案件についての案件識別情報(案件番号)を同時に入力する。例えば、入力部610に5つの案件番号を同時に入力し、入力部640に「5」を入力すれば、5案件(5企業または5人)に対し、5案件からなる推薦案件グループが表示される。但し、対象案件グループを構成する対象案件の案件数と、推薦案件グループを構成する推薦案件の案件数とは、必ずしも一致させる必要はなく、例えば、5案件の対象案件グループに対し、10案件の推薦案件グループが表示されるようにしてもよい。なお、5案件の対象案件グループに対し、10案件の1つの推薦案件グループを表示するマッチング処理と、5案件の2つの推薦案件グループ(グループ番号=1,2)を表示するマッチング処理とは、異なる処理である。
【0349】
また、
図26の画面600には、「対象案件」表示部650と、「推薦案件グループ」表示部660と、「類似案件一覧」表示部670と、1対象案件当たりの類似案件の表示数の入力部671とが設けられている。「対象案件」表示部650には、対象案件グループを構成する複数の対象案件の各々の案件データ(案件番号、自己PR、ニーズ詳細を含む)が表示される。
【0350】
「推薦案件グループ」表示部660には、少なくとも1つの推薦案件グループが表示され、それぞれの推薦案件グループには、グループ番号が付与されている。各推薦案件グループを構成する複数の推薦案件の各々の案件データ(案件番号、自己PR、ニーズ詳細を含む)が表示される。表示される推薦案件グループの数は、システム管理者により入力され、設定データとして設定データ記憶手段51に記憶されているが、固定数としてもよい。また、ユーザが画面600で指定してもよい。なお、入力部640に入力するのは、1つの推薦案件グループを構成する案件の数であるから、ここでいう推薦案件グループの数とは異なる。また、ある推薦案件グループを構成する複数の推薦案件と、別の推薦案件グループを構成する複数の推薦案件とに重なりはない。
【0351】
「類似案件一覧」表示部670には、対象案件グループを構成する複数の対象案件のそれぞれに対する複数の類似案件の案件データ(案件番号、自己PR、ニーズ詳細を含む)が表示される。いずれの対象案件に対する類似案件であるかがわかるように、対象案件の案件番号も表示される。1対象案件当たりの類似案件の表示数は、ユーザが入力部671に入力して指定するが、システム管理者が設定データとして入力して設定データ記憶手段51に記憶してもよく、固定数としてもよい。
【0352】
なお、推薦案件グループの決定方法は、前述した特許文献1(本願出願人により開発されたマッチングシステム)に記載されているので、そのアルゴリズムを採用することができる。この集団マッチングアルゴリズムは、対象案件グループを構成する複数の対象案件(企業等)の全ての満足度が高くなるように推薦案件グループの決定を行うが、必ずしも厳密な意味での最適化処理を行う必要はない。要するに、1案件と1案件との間のマッチングスコアは、全てのペア案件について得られるので、それらのスコアを用いて、それぞれの集団マッチングアルゴリズム内において、スコアの合計値が大きくなるように推薦案件グループの決定を行えばよい。
【0353】
例えば、A社、B社、C社、D社、E社の5案件(Nt案件)の対象案件グループに対し、10案件(Nc案件)の推薦案件グループを決定するものとする。この場合、登録された全ての案件(Na案件)からA社、B社、C社、D社、E社の5案件(Nt案件)を除いた(Na-Nt)案件からなる候補案件群を考える。この候補案件群の任意の1案件と、A社、B社、C社、D社、E社の5案件(Nt案件)との間の5つ(Nt個)のマッチングスコアの合計値を算出する。この合計値の算出を、候補案件群の(Na-Nt)案件の全てについて行う。そして、候補案件群の案件のうち、合計値が1番目に大きい案件、2番目、3番目、…、10番目(Nc番目)に大きい案件を、グループ番号=1の推薦案件グループを構成する10個(Nc個)の推薦案件として決定し、合計値が11番目((Nc+1)番目)から20番目(2×Nc番目)までの案件を、グループ番号=2の推薦案件グループを構成する10個(Nc個)の推薦案件として決定し、合計値が21番目((2×Nc+1)番目)から30番目(3×Nc番目)までの案件を、グループ番号=3の推薦案件グループを構成する10個(Nc個)の推薦案件として決定し、…というマッチング処理を実行する。
【0354】
また、別の集団マッチングアルゴリズムとしては、例えば、先ず、(Na-Nt)案件からなる候補案件群の中から、A社、B社、C社、D社、E社の5案件(Nt案件)の各々とのマッチングスコアが最も高い5案件(Nt案件)を選択する。つまり、A社とのマッチングスコアが最も高い案件と、B社とのマッチングスコアが最も高い案件と、…を選択する。選択した5案件に重なりがなければ、5案件の全てを推薦案件として決定し、推薦案件として決定すべき残りの案件は5案件となるが、ここでは1案件について重なりがあったとすると、4案件を推薦案件として決定し、残りの案件は6案件となる。次に、A社、B社、C社、D社、E社の5案件(Nt案件)の各々とのマッチングスコアが2番目に高い5案件(Nt案件)を選択する。つまり、A社とのマッチングスコアが2番目に高い案件と、B社とのマッチングスコアが2番目に高い案件と、…を選択する。選択した5案件に重なりがなければ、5案件の全てを推薦案件として追加決定し、推薦案件として決定すべき残りの案件は1案件となるが、ここでも1案件について重なりがあったとすると、4案件を推薦案件として追加決定し、残りの案件は2案件となる。続いて、A社、B社、C社、D社、E社の5案件(Nt案件)の各々とのマッチングスコアが3番目に高い5案件(Nt案件)を選択する。つまり、A社とのマッチングスコアが3番目に高い案件と、B社とのマッチングスコアが3番目に高い案件と、…を選択する。残りの案件は2案件であるから、選択した5案件のうち、マッチングスコアが上位2番目までの案件を選択し、推薦案件として追加決定する。そして、グループ番号=2以降の推薦案件グループの決定では、A社、B社、C社、D社、E社の5案件(Nt案件)の各々とのマッチングスコアが4番目、5番目、6番目、…に高い5案件(Nt案件)を順次選択していく。
【0355】
図26に示すように、複数の案件番号の同時入力を受け付けることができる構成にすると、類似案件検索手段43により、対象案件グループを構成する複数の対象案件の各々についての類似案件が抽出され、「類似案件一覧」表示部670に、それらの類似案件の案件データが表示されるので、様々な観点から、紹介する案件グループを決定することができる。このため、ノウハウの少ないサービス担当者でも適切な紹介作業を行うことができるとともに、偏った紹介実績を含む学習用データによるマッチングモデルの更新の未然防止を図ることができる。
【0356】
すなわち、マッチング手段42は、トピック推定処理で得られたトピックモデルの更新や、マッチング用特徴データを用いた学習で得られたマッチングモデルの更新が行われない限り、同じ入力に対しては、同じ出力をすることから、ある対象案件グループに対し、いつも同じ推薦案件グループが出力されることになる。しかし、
図26に示すような表示を行うと、対象案件グループを構成する複数の対象案件のうちの少なくとも1つの案件を、それらの対象案件の類似案件に変えて検索を行ったり、あるいは、推薦案件グループを構成する複数の推薦案件のうちの少なくとも1つの案件を、それらの推薦案件の類似案件に変えて紹介すること等が可能となる。
【産業上の利用可能性】
【0357】
以上のように、本発明のマッチングシステムおよびプログラムは、例えば、企業同士を組み合わせるビジネスマッチングシステム等に用いるのに適している。
【符号の説明】
【0358】
10 マッチングシステム
36 トピック値予測手段
40 入力受付手段
41 連想検索手段
41A 連想検索手段を構成する単語類似度算出手段
41B 連想検索手段を構成する関連度算出手段
42 マッチング手段
42A マッチング手段を構成するマッチング用特徴データ作成手段
42B マッチング手段を構成するマッチングスコア算出手段
43 類似案件検索手段
43A 類似案件検索手段を構成する案件類似度算出手段
43B 類似案件検索手段を構成する類似案件抽出手段
44 出力手段
45 新規案件登録手段
53 分散表現モデル記憶手段
54 案件データ記憶手段
56 トピックモデル記憶手段
60 マッチングモデル記憶手段
68 案件類似度記憶手段
69 登録時参考案件記憶手段
【要約】
【課題】偏った紹介の未然防止、偏った紹介実績に基づくマッチングモデルの再学習の未然防止、効果的なマッチングを行うための適切な案件データの登録の実現、サービス担当者の手間の軽減を図ることができるマッチングシステムを提供する。
【解決手段】マッチングシステム10では、ユーザが、入力部110にキーワードを入力すると、連想検索処理が実行され、入力部110と同一の画面上に、関連案件や関連単語が表示され、入力部110に案件識別情報を入力すると、マッチング処理および類似案件検索処理が実行され、入力部110と同一の画面上に、マッチング相手としての推薦案件および対象案件の類似案件が表示される。この際、連想検索処理、マッチング処理、および類似案件検索処理は、いずれも各案件の固有テキストデータを用いて実行される。
【選択図】
図11