JP2021140588A - マッチングシステム、マッチング方法およびマッチングプログラム - Google Patents

マッチングシステム、マッチング方法およびマッチングプログラム Download PDF

Info

Publication number
JP2021140588A
JP2021140588A JP2020039151A JP2020039151A JP2021140588A JP 2021140588 A JP2021140588 A JP 2021140588A JP 2020039151 A JP2020039151 A JP 2020039151A JP 2020039151 A JP2020039151 A JP 2020039151A JP 2021140588 A JP2021140588 A JP 2021140588A
Authority
JP
Japan
Prior art keywords
matching
question
user
answer
questions
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2020039151A
Other languages
English (en)
Inventor
家▲きん▼ 馬
Jia-Kang Ma
家▲きん▼ 馬
善久 井尻
Yoshihisa Ijiri
善久 井尻
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Omron Tateisi Electronics Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Omron Corp, Omron Tateisi Electronics Co filed Critical Omron Corp
Priority to JP2020039151A priority Critical patent/JP2021140588A/ja
Priority to EP20923475.6A priority patent/EP4116918A4/en
Priority to CN202080097690.0A priority patent/CN115191002A/zh
Priority to PCT/JP2020/046960 priority patent/WO2021176795A1/ja
Priority to US17/908,126 priority patent/US20230119860A1/en
Publication of JP2021140588A publication Critical patent/JP2021140588A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0201Market modelling; Market analysis; Collecting market data
    • G06Q30/0203Market surveys; Market polls
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking

Abstract

【課題】より効率的なユーザ同士の結び付けを実現できる技術を提供する。【解決手段】マッチングシステムは、複数の質問からなる質問セットを保持する記憶手段と、質問セットに含まれる1または複数の質問をユーザに提示するとともに、当該ユーザからの質問に対する回答を取得する取得手段と、ユーザが回答した質問に基づいて第1のマッチング処理を実行する第1のマッチング処理手段と、第1のマッチング処理の結果が第1の判定条件を満たす場合に、ユーザからの回答に含まれる回答の内容に基づいて第2のマッチング処理を実行する第2のマッチング処理手段とを含む。【選択図】図1

Description

本発明は、マッチングシステム、マッチング方法およびマッチングプログラムに関する。
例えば、雇用支援、ソーシャルネットワーク形成、出会い支援などの目的でユーザ同士を結び付ける場合には、ユーザの趣味、嗜好、性格、適正、興味などを把握することが好ましい。このようなユーザの趣味、嗜好、性格、適正、興味などに基づいて、ユーザ同士を容易に結び付ける技術が要望されている。
ユーザの趣味や嗜好などを把握する技術として、特開2001−067400号公報(特許文献1)は、同一の時間空間内に存在する人々を対象とした、嗜好情報によるマッチング(取り組み)が可能な通信装置などを開示する。特開2001−067400号公報(特許文献1)においては、質問事項記憶部に記憶されている質問がマンマシンインタフェース画面に表示され、利用者がそれに回答することによって、個人の趣味・嗜好情報が入力される。
このような質問とその質問に対する回答とを組み合わせた知識情報を交換する技術として、特開2002−049786号公報(特許文献2)は、質問者、回答者の匿名性を保ち、かつメール、チャット、アナログ電話、VoIP通話への自動接続全てを利用可能とし、さらに回答者が応答手段の選択ならびに現在の応答諾否を随時修正可能な情報交換仲介技術を開示する。同様に、特開2013−016054号公報(特許文献3)は、質問回答型コンテンツについてキーワードに応じたカテゴリに適した質問を例示する技術を開示する。
また、質問を自動的に作成する技術として、特開2004−287745号公報(特許文献4)は、回答者の属性情報に合致した質問群からなるアンケートを自動作成し、各質問群で回答に応じて更に下位の詳細質問に遷移して詳細な回答を収集できるアンケートを作成する技術を開示する。
特開2001−067400号公報 特開2002−049786号公報 特開2013−016054号公報 特開2004−287745号公報
特開2001−067400号公報(特許文献1)に開示される通信装置においては、予め定義された複数の質問に対する回答に基づいてマッチングが行われる。ユーザは、予め定義された複数の質問のすべてに回答する必要があり、ユーザの手間が大きいという課題があった。また、予め定義される質問は、対象のユーザの潜在的な趣味、嗜好、性格、適正、興味などを反映したものではないので、ユーザの多様なモデルを生成することが難しかった。
本発明は、より効率的なユーザ同士の結び付けを実現できる技術を提供することを一つの目的とする。
本発明の一例に従うマッチングシステムは、複数の質問からなる質問セットを保持する記憶手段と、質問セットに含まれる1または複数の質問をユーザに提示するとともに、当該ユーザからの質問に対する回答を取得する取得手段と、ユーザが回答した質問に基づいて第1のマッチング処理を実行する第1のマッチング処理手段と、第1のマッチング処理の結果が第1の判定条件を満たす場合に、ユーザからの回答に含まれる回答の内容に基づいて第2のマッチング処理を実行する第2のマッチング処理手段とを含む。
この構成によれば、第1のマッチング処理において、それぞれのユーザが任意に選択して回答した質問に着目してマッチングの可能性を評価した上で、第2のマッチング処理において、それぞれのユーザからの回答に含まれる回答の内容に着目してマッチングの可能性を評価できるので、ユーザ同士の結び付きの可能性をより効率的に推定できる。なお、各ユーザは、自身が回答したいと考えた質問に対して回答すればよく、提示される質問のすべてに回答する必要はない。
第1のマッチング処理手段は、ユーザが回答した1または複数の質問と、他のユーザが回答した1または複数の質問との類似度を評価し、第2のマッチング処理手段は、ユーザからの回答に含まれる回答の内容と、他のユーザからの回答に含まれる回答の内容との類似度を評価するようにしてもよい。
この構成によれば、第1のマッチング処理において、それぞれのユーザが回答した質問の類似度を評価するので、興味の対象が類似する可能性が高いユーザ群を抽出できる。また、第2のマッチング処理において、それぞれのユーザからの回答の内容の類似度を評価するので、興味の対象が類似する可能性が高いユーザ群のうち、価値観や嗜好も類似する可能性の高いユーザを推定できる。
第1のマッチング処理手段は、複数の他のユーザのうち、第1のマッチング処理の結果が第1の判定条件を満たす他のユーザを抽出するようにしてもよい。
この構成によれば、多数のユーザが存在する場合に、第1のマッチング処理において、ある程度の候補に絞ることができ、マッチング処理を効率化できる。
第2のマッチング処理手段は、第1のマッチング処理により抽出された他のユーザに対してマッチングスコアを算出するようにしてもよい。
この構成によれば、マッチングスコアを用いて、ユーザ同士のマッチングの可能性を客観的に評価できる。
第1のマッチング処理手段は、ユーザが回答した1または複数の質問と、他のユーザが回答した1または複数の質問との間で、一致している質問の数に基づいて、類似度を評価するようにしてもよい。
この構成によれば、それぞれのユーザが回答した質問のうち、どの程度の質問が一致しているのかといった評価をすればよいので、処理を簡素化できる。
第1のマッチング処理手段は、ユーザが回答した1または複数の質問から算出される潜在空間への写像と、他のユーザが回答した1または複数の質問から算出される潜在空間への写像とに基づいて、類似度を評価するようにしてもよい。
この構成によれば、それぞれのユーザが回答した質問の数が同一ではなくても、潜在空間への写像という共通の指標を用いて、類似度を評価できる。
質問セットは、階層構造を有していてもよい。第1のマッチング処理手段および第2のマッチング処理手段の少なくとも一方は、質問セットの階層構造に基づいて、回答を取得した質問から論理的な推論を行うようにしてもよい。
ここで、論理的な推論とは、例えば、質問セットの階層構造に含まれる情報を参照することなどで、取得された回答から、マッチング処理に適した情報を推論して補間する処理を含む。この構成によれば、質問セットが有している階層構造を利用して、回答された質問が相対的に少なくても、より精度の高い評価を実現できる。例えば、共通のカテゴリに属する別の質問にそれぞれ回答したユーザ同士についても、マッチングの可能性が相対的に高いと評価することもできる。
質問セットに含まれる質問はカテゴリ別に区分されていてもよい。マッチングシステムは、ユーザが作成した質問を受付けて、質問セットを更新する更新手段をさらに含んでいてもよい。
この構成によれば、ユーザが作成した新たな質問を用いて、質問セットを逐次更新できる。
更新手段は、追加された質問が属するカテゴリを決定してもよい。この構成によれば、少ないコストで質問セットを順次更新できる。
更新手段は、追加された質問と他の質問との類似度に基づいて、当該追加された質問と当該追加された質問に類似した質問とをまとめて質問セットを更新する処理、および、当該追加された質問に対応する代表質問で質問セットを更新する処理の少なくとも一方を実行するようにしてもよい。
この構成によれば、質問セットが過度に細分化することを防止できる。
取得手段は、質問のカテゴリと、予めユーザが登録した興味の範囲もしくは推定した興味の範囲とが適合するユーザに対してのみ、質問セットを配信するようにしてもよい。
この構成によれば、ユーザからの回答を取得できる可能性を高くできる。
マッチングシステムは、ユーザからの回答率を最大化するように、質問を配信するユーザを決定、あるいは、ユーザに配信する質問を決定する学習済モデルをさらに含んでいてもよい。
この構成によれば、機械学習により、ユーザからの回答率を最大化するように、質問セットを配信するユーザ、あるいは、ユーザに配信する質問を最適化できる。
第1のマッチング処理手段および第2のマッチング処理手段の少なくとも一方は、質問セットに含まれる質問に対して、マッチング処理に関する任意の重みを付与するようにしてもよい。また、第1のマッチング処理手段および第2のマッチング処理手段の少なくとも一方は、ユーザから取得された回答に対して、マッチング処理に関する重みを付与するようにしてもよい。さらに、マッチング処理に関する重みは、対象の質問の時期、または、対象の回答の時期、に依存して決定されてもよい。
これらの構成によれば、目的に適った評価結果を取得できる可能性をより高めることができる。
マッチングシステムは、第2のマッチング処理の結果が第2の判定条件を満たす他のユーザをマッチング結果として通知する通知手段をさらに含んでいてもよい。
この構成によれば、各ユーザは、自身と共通の趣味、嗜好、性格、適正、興味などを有する他のユーザと容易に繋がることができる。
本発明の別の一例に従うコンピュータが実行するマッチング方法は、複数の質問からなる質問セットに含まれる1または複数の質問をユーザに提示するとともに、当該ユーザからの質問に対する回答を取得するステップと、ユーザが回答した質問に基づいて第1のマッチング処理を実行するステップと、第1のマッチング処理の結果が第1の判定条件を満たす場合に、ユーザからの回答に含まれる回答の内容に基づいて第2のマッチング処理を実行するステップとを含む。
本発明のさらに別の一例に従えば、マッチング方法を実行させるマッチングプログラムが提供される。マッチングプログラムは、コンピュータに、複数の質問からなる質問セットに含まれる1または複数の質問をユーザに提示するとともに、当該ユーザからの質問に対する回答を取得するステップと、ユーザが回答した質問に基づいて第1のマッチング処理を実行するステップと、第1のマッチング処理の結果が第1の判定条件を満たす場合に、ユーザからの回答に含まれる回答の内容に基づいて第2のマッチング処理を実行するステップとを実行させる。
本発明によれば、より効率的なユーザ同士の結び付けを実現できる技術を提供できる。
本実施の形態に係るマッチング方法の適用例を示す模式図である。 本実施の形態に係るマッチングシステムの構成例を示す模式図である。 本実施の形態に係るマッチングシステムに含まれるサーバのハードウェア構成例を示す模式図である。 本実施の形態に係るマッチングシステムに含まれる端末装置のハードウェア構成例を示す模式図である。 本実施の形態に係るマッチングシステムにおけるマッチング処理の概要を示すシーケンス図である。 本実施の形態に係るマッチングシステムにおいて用いられる質問セットの構成例を示す模式図である。 本実施の形態に係るマッチングシステムにおいて用いられる回答された質問と回答内容との組の一例を示す模式図である。 本実施の形態に係るマッチングシステムにおいて用いられる質問のデータ構造の一例を示す模式図である。 本実施の形態に係るマッチングシステムにおける評価フェーズの処理概要を説明するための図である。 本実施の形態に係るマッチングシステムにおける第1のマッチング処理(選択質問マッチング)の一つの手法を説明するための図である。 図10に示される第1のマッチング処理(選択質問マッチング)の手法により算出されるマッチングスコアの評価結果の一例を示す図である。 本実施の形態に係るマッチングシステムにおける第1のマッチング処理(選択質問マッチング)の別の手法を説明するための図である。 本実施の形態に係るマッチングシステムにおける第1のマッチング処理(選択質問マッチング)のさらに別の手法を説明するための図である。 本実施の形態に係るマッチングシステムにおける第2のマッチング処理(回答内容マッチング)の一つの手法を説明するための図である。 本実施の形態に係るマッチングシステムにおける第2のマッチング処理(回答内容マッチング)のさらに別の手法を説明するための図である。 本実施の形態に係るマッチングシステムの別の構成例を示す模式図である。
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
<A.適用例>
まず、本発明が適用される場面の一例について説明する。
図1は、本実施の形態に係るマッチング方法の適用例を示す模式図である。図1を参照して、本実施の形態に係るマッチングシステムは、複数の質問310からなる質問セット300を保持している。質問セット300に含まれる複数の質問310は、カテゴリ別に区分されていてもよい。
マッチングシステムは、1または複数のユーザに対して、質問セット300に含まれる1または複数の質問310をユーザに提示するとともに、当該ユーザからの質問に対する回答を取得する。
図1に示す例では、2人のユーザ(ユーザAおよびユーザB)に対して、質問セット300に含まれる1または複数の質問310が提示されている例を示す。なお、質問310の提示は、一覧形式であってもよいし、所定数ずつ切替えまたはスクロール表示されてもよい。
各ユーザは、提示された質問310のうち一部または全部を選択して回答する。図1に示すように、各ユーザからの回答は、ユーザが回答した複数の質問310を特定するための質問ID332と、各質問310に対する回答内容334とを含む、回答データセット330の形式で取得されてもよい。
マッチングシステムは、ユーザが回答した質問に基づいて第1のマッチング処理(後述する「選択質問マッチング」)を実行する。この第1のマッチング処理では、回答データセット330に含まれる質問ID332の情報が利用される。
続いて、第1のマッチング処理の結果が第1の判定条件を満たす場合に、ユーザからの回答に含まれる回答の内容に基づいて第2のマッチング処理(後述する「回答内容マッチング」)を実行する。この第2のマッチング処理では、回答データセット330に含まれる、特定の質問310に対する回答内容334の情報が利用される。
最終的に、マッチングシステムは、所定の判定条件を満たすユーザ間について、マッチングスコアを算出する。なお、本明細書において、「マッチングスコア」は、ある基準となるユーザと他のユーザ(現実のユーザおよび仮想のユーザのいずれをも含む)との間のマッチング度合いあるいは適合度を示す指標を包含する用語である。あるいは、「マッチングスコア」は、ユーザ間の相性の良さ(潜在的な場合も含む)を示す指標ということもできる。「マッチングスコア」は、どのようなレンジの値であってもよく、スカラ値であってもよいし、ベクトル値であってもよい。
図1に示すように、本実施の形態に係るマッチングシステムは、2段階のマッチング処理を採用することで、多数のユーザが存在する場合であっても、マッチングスコアの高いユーザの組み合わせを少ない計算リソースおよび短時間で見つけることができる。
<B.マッチングシステム構成例>
次に、本実施の形態に係るマッチングシステムの構成例について説明する。
図2は、本実施の形態に係るマッチングシステム1の構成例を示す模式図である。図2を参照して、マッチングシステム1は、マッチングに係る主たる処理を担当するサーバ100と、サーバ100にネットワーク2を介して接続可能な1または複数の端末装置200とを含む。なお、後述するように、サーバ100と端末装置200とにより構成される、いわゆるサーバ・クライエント形式に限らず、任意の形式を用いて実装してもよい。
マッチングシステム1において、ユーザ同士を結び付けるためのマッチング処理は、典型的には、次のような手順を含む。
まず、サーバ100から1または複数の端末装置200の各々に対して、複数の質問からなる質問セットが配信される((1)質問セット配信)。端末装置200の各々において、ユーザが配信された複数の質問のうち一部または全部を選択して回答を入力する((2)質問選択・回答)。端末装置200の各々を介してユーザから入力された回答の内容はサーバ100へ送信される((3)回答内容)。
なお、端末装置200からサーバ100へWebベースで質問セットが提供されてもよい。この場合には、サーバ100は、質問セットを任意の端末装置200からアクセス可能に保持するとともに、端末装置200から入力される回答を格納する。このような構成を採用した場合には、サーバ100から端末装置200へ質問セットの全体を送信する必要がない。
サーバ100は、端末装置200の各々からの回答内容に基づいて、ユーザ間の適合度などを算出するためのマッチング処理を実行する((4)マッチング処理)。サーバ100は、必要に応じて、マッチング処理の結果を端末装置200の各々へ送信してもよい。サーバ100で実行されるマッチング処理の詳細については後述する。
なお、サーバ100から配信された質問セットに対してユーザが受動的に回答する構成例に加えて/代えて、回答予定のユーザ自身が興味あるカテゴリを選択し((0)カテゴリ選択)、サーバ100が質問セットに含まれる質問のうち、選択されたカテゴリに属する質問を配信するようにしてもよい((1)質問セット配信(選択カテゴリ))。このような、ユーザが能動的に回答する構成を採用することで、マッチングの精度を高めることができる。
<C.ハードウェア構成例>
次に、本実施の形態に係るマッチングシステムに含まれるサーバ100および端末装置200のハードウェアの構成例について説明する。
(c1:サーバ100)
図3は、本実施の形態に係るマッチングシステム1に含まれるサーバ100のハードウェア構成例を示す模式図である。サーバ100は、一例として、汎用的なアーキテクチャに従うハードウェア(例えば、汎用コンピュータ)を用いて実現されてもよい。
図3を参照して、サーバ100は、プロセッサ102と、メインメモリ104と、入力部106と、表示部108と、ストレージ110と、光学ドライブ112と、ネットワークコントローラ116とを含む。これらのコンポーネントは、プロセッサバス130を介して電気的に接続されている。
プロセッサ102は、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)などで構成され、ストレージ110に格納されたプログラム(一例として、OS(Operating System)1102およびマッチングプログラム1104)を読出して、メインメモリ104に展開して実行することで、後述するような各種処理を実現する。
メインメモリ104は、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)などの揮発性記憶装置などで構成される。ストレージ110は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)などの不揮発性記憶装置などで構成される。
ストレージ110には、基本的な機能を実現するためのOS1102および後述するマッチング処理を実行するためのマッチングプログラム1104が格納される。ストレージ110には、配信される質問セット300がさらに格納されてもよい。すなわち、ストレージ110は、質問セット300を保持する記憶部に相当する。
入力部106は、キーボードやマウスなどで構成され、ユーザ操作を受付ける。表示部108は、ディスプレイ、各種インジケータ、プリンタなどで構成され、プロセッサ102からの処理結果などを出力する。
サーバ100は、光学ドライブ112を有しており、コンピュータ読取可能なプログラムを非一過的に格納する記憶媒体114(例えば、DVD(Digital Versatile Disc)などの光学記憶媒体)から、その中に格納されたプログラムに相当するコンピュータ読取可能な命令コードが読取られてストレージ110などにインストールされる。
サーバ100で実行されるマッチングプログラム1104などは、コンピュータ読取可能な記憶媒体114を介してインストールされてもよいが、ネットワーク上のファイルサーバなどからダウンロードしてインストールするようにしてもよい。また、本実施の形態に係るサーバ100が提供する機能は、OSが提供するモジュールの一部を利用する形で実現される場合もある。
ネットワークコントローラ116は、ネットワーク2を介して、端末装置200などの任意の情報処理装置との間でデータを遣り取りする。
(c2:端末装置200)
図4は、本実施の形態に係るマッチングシステム1に含まれる端末装置200のハードウェア構成例を示す模式図である。端末装置200は、汎用的なアーキテクチャに従う汎用コンピュータを用いて実現されてもよい。例えば、端末装置200は、スマートフォン、タブレット、ノートパソコンのような形で具現化されてもよい。
図4を参照して、端末装置200は、プロセッサ202と、メインメモリ204と、入力部206と、表示部208と、ストレージ210と、カメラ212と、マイク214と、スピーカ216と、無線通信コントローラ218と、モバイル通信コントローラ220とを含む。これらのコンポーネントは、プロセッサバス230を介して電気的に接続されている。
プロセッサ202は、CPUやGPUなどで構成され、ストレージ210に格納されたプログラム(一例として、OS2102および接続用アプリケーションプログラム2104)を読出して、メインメモリ204に展開して実行することで、後述するような各種処理を実現する。
接続用アプリケーションプログラム2104は、サーバ100から配信される複数の質問(質問セット300)を表示するとともに、ユーザによる入力される回答を受付ける画面インターフェイスを提供する。接続用アプリケーションプログラム2104はとしては、ブラウザアプリケーションを採用してもよい。
メインメモリ204は、DRAMやSRAMなどの揮発性記憶装置などで構成される。ストレージ210は、例えば、HDDやSSDなどの不揮発性記憶装置などで構成される。
ストレージ210には、基本的な機能を実現するためのOS2102および接続用アプリケーションプログラム2104が格納される。
入力部206は、タッチパネル、操作キー、キーボード、マウスなどで構成され、ユーザの操作を受付ける。表示部208は、液晶ディスプレイ、有機EL(Electro Luminescence)ディスプレイなどで構成され、プロセッサ202からの処理結果などを出力する。カメラ212は、視野内の静止画または動画を撮像する。カメラ212は、端末装置200の任意の外表面に配置されていてもよい。マイク214は、任意の音声を電気信号に変換する。スピーカ216は、プロセッサ202などからの指令に応じて音声を発生する。
無線通信コントローラ218は、ネットワーク2を介してサーバ100などとの間でデータを遣り取りするためのインターフェイスである。無線通信コントローラ218としては、無線LAN(Local Area Network)やBluetooth(登録商標)などの無線通信モジュールを採用してもよい。
モバイル通信コントローラ220は、広域無線通信網を介してインターネットなどに接続し、サーバ100などとの間でデータを遣り取りするためのインターフェイスである。モバイル通信コントローラ220としては、LTE(Long Term Evolution)やWiMAXなどの無線通信モジュールを採用してもよい。
<D.マッチング処理の概要>
次に、本実施の形態に係るマッチングシステム1におけるマッチング処理の概要について説明する。
(d1:処理手順)
図5は、本実施の形態に係るマッチングシステム1におけるマッチング処理の概要を示すシーケンス図である。図5に示す処理手順は、典型的には、サーバ100のプロセッサ102がマッチングプログラム1104(いずれも図3参照)を実行するとともに、端末装置200のプロセッサ202が、ユーザ操作に応じて、接続用アプリケーションプログラム2104(いずれも図4参照)を実行することで実現されてもよい。
図5に示す処理手順は、回答収集フェーズ(ステップS2〜S20)と、評価フェーズ(ステップS20〜S28)とを含む。説明の便宜上、図5には、回答収集フェーズおよび評価フェーズをまとめて記載しているが、それぞれのフェーズは互いに独立に実行することができる。例えば、評価フェーズは、回答収集フェーズの実行直後に実行されなくてもよい。すなわち、評価フェーズは、回答収集フェーズの実行とは独立して実行されてもよい。また、回答収集フェーズもユーザ毎にそれぞれ独立して実行されてもよい。
図5を参照して、いずれかのユーザが自身の端末装置200に対して、マッチング処理への参加要求を入力する(ステップS2)。このとき、各ユーザは自身を特定するための識別情報であるユーザID(以下、「Subject ID」と記載する場合もある。)を明示的または黙示的に入力することが好ましい。なお、ユーザIDは、各ユーザを他のユーザから識別できる情報であれば十分であり、各ユーザの個人情報を特定できる情報でなくてもよい。端末装置200は、ユーザが入力された参加要求をサーバ100へ送信する(ステップS4)。
サーバ100は、いずれかの端末装置200からのユーザの参加要求に応答して、対象のユーザへ提供するための複数の質問からなる質問セット300の配信を準備する(ステップS6)。そして、サーバ100は、準備した質問セット300を端末装置200へ配信する(ステップS8)。
端末装置200は、サーバ100から配信された質問セット300を表示部208などに表示する(ステップS10)。ユーザは、端末装置200の表示部208などに表示された複数の質問(質問セット300)のうちいずれかを選択し(ステップS12)、選択した質問に対して回答を入力する(ステップS14)。ステップS12およびS14の処理は、ユーザが選択および回答した質問の数だけ繰返される(※1の繰返し)。
最終的に、端末装置200は、ユーザが回答した1または複数の質問に対する回答の内容をサーバ100へ送信する(ステップS16)。
サーバ100は、端末装置200から回答内容を受信すると、回答された質問と回答内容との組を、対応するユーザのユーザIDと関連付けて格納する(ステップS18)。なお、回答された質問と回答内容との組を特徴量化した上で格納するようにしてもよい。
このように、サーバ100は、質問セット300に含まれる1または複数の質問310をユーザに提示するとともに、当該ユーザからの質問310に対する回答を取得する取得処理を実行する。
回答収集フェーズ(ステップS2〜S20)は、参加要求を入力したユーザの数だけ繰返される(※2の繰返し)。
このように、サーバ100は、複数のユーザからの回答内容が収集されると、評価フェーズ(ステップS20〜S28)の処理を実行する。
より具体的には、サーバ100は、ユーザが選択および回答した1または複数の質問に基づいて、第1のマッチング処理(以下、「選択質問マッチング」とも称す。)を実行する(ステップS20)。第1のマッチング処理(選択質問マッチング)において、サーバ100は、予め定められた第1の判定条件を満たすユーザの集合を抽出する。典型的には、サーバ100は、選択および回答した質問(すなわち、質問セット300における質問の位置)のパターンが類似するユーザの集合を探索する。
続いて、サーバ100は、抽出したユーザの集合について、回答内容に基づく第2のマッチング処理(以下、「回答内容マッチング」とも称す。)を実行する(ステップS22)。第2のマッチング処理(回答内容マッチング)において、サーバ100は、予め定められた第2の判定条件を満たすユーザの組を抽出する。典型的には、サーバ100は、選択された質問に対する回答内容または回答内容を示す特徴量が類似するユーザ同士を探索する。
ステップS20およびS22の処理は、質問に回答したユーザの数に応じて繰返される(※3の繰返し)。
このように、サーバ100は、第1のマッチング処理の結果が第1の判定条件を満たす場合に、ユーザからの回答に含まれる回答の内容に基づいて第2のマッチング処理を実行する。
最終的に、サーバ100は、第2のマッチング処理の結果に基づいて、マッチングスコアを算出する(ステップS24)。サーバ100は、必要に応じて、算出したマッチングスコアの全部または一部を端末装置200へ送信する(ステップS26)。なお、サーバ100により算出されたマッチングスコアは、端末装置200ではなく、上位のサーバなどへ送信されてもよい。
端末装置200は、サーバ100からマッチングスコアを受信すると、その受信したマッチングスコアを表示部208などに表示する(ステップS28)。
以上で、マッチングシステム1における処理手順の実行が完了する。
なお、ユーザに提供される画面インターフェイスとしては、第1のマッチング処理(選択質問マッチング)(ステップS20)の後は、マッチングしたユーザのみを提示するようにしてもよい。また、第2のマッチング処理(回答内容マッチング)(ステップS22)の後は、対応するマッチングスコアの順に並べて抽出されたユーザを表示してもよい。マッチングスコアを数値で表示してもよいが、マッチングの強度(強いあるいは弱い)を示す離散的な表現を採用してもよい(例えば、マッチングスコアが大きいほど、互いに近接してユーザの顔やアイコンを表示するなど)。
第1のマッチング処理(選択質問マッチング)(ステップS20)においては、すべての処理を実行しなくてもよい。すなわち、ある段階までの処理によって決定される、ある程度ラフなマッチング結果を出力するようにしてもよい。この場合、残りの処理での処理結果に基づいて、出力する順序やマッチングの強度を示す表示態様を決定してもよい。
第1のマッチング処理(選択質問マッチング)の処理途中で結果を出力する場合には、第1のマッチング処理(選択質問マッチング)の残りの処理での処理結果を後段の第2のマッチング処理(回答内容マッチング)に反映してもよい。
このように、第1のマッチング処理(選択質問マッチング)(ステップS20)と、第2のマッチング処理(回答内容マッチング)(ステップS22)とは、任意の態様で結合させることができる。
(d2:質問セット)
次に、本実施の形態に係るマッチングシステム1において用いられる質問セット300の一例について説明する。
図6は、本実施の形態に係るマッチングシステム1において用いられる質問セット300の構成例を示す模式図である。図6を参照して、質問セット300は、カテゴリ別に区分された複数の質問310を含む。質問310の各々には、質問セット300において各質問310を特定するための識別情報である質問IDが付与されている。
図6に示す質問セット300は、複数のカテゴリの階層構造を有するカテゴリツリー302をベースとして構成されており、質問310の各々は、階層化されたいずれかのカテゴリに属することになる。このように、質問セット300は、階層構造を有している。
図6には、第1階層および第2階層を有するカテゴリツリー302の一例を示すが、より多くの階層、あるいは、より少ない階層のカテゴリツリー302を採用してもよい。また、質問310は、単一のカテゴリではなく、複数のカテゴリに属するようにしてもよい。さらに、同一階層のカテゴリ(図6に示す例では、第2階層)にすべての質問310が属していなくてもよく、例えば、一部の質問310については第1階層のカテゴリに属するようにしてもよい。
図6には、カテゴリ別に区分された質問セット300(すなわち、階層化された質問セット300)の例を示すが、質問310の各々は特定のカテゴリに分類されていなくてもよい。言い換えれば、複数の質問310からなる質問セット300を採用してもよい。
(d3:回答収集フェーズ)
次に、図5に示す回答収集フェーズにおいて収集される回答された質問と回答内容との組の一例について説明する。
図7は、本実施の形態に係るマッチングシステム1において用いられる回答された質問と回答内容との組の一例を示す模式図である。図7を参照して、サーバ100は、ユーザが回答した質問310と、当該質問310に対する回答内容との回答データセット330を収集および格納する。
回答データセット330は、ユーザが回答した1または複数の質問310を特定するための1または複数の質問ID332と、各質問310に対する回答内容334とを含む。すなわち、回答データセット330は、対応付けられた質問ID332と回答内容334との組を1または複数含む。
回答データセット330には、任意の数の質問ID332と回答内容334との組が含まれ得るので、含まれる組の数を明確化するために、NULLコード338を最後に付加してもよい。
図7には、ユーザが、「質問ID」として「127」が付与された質問310Aと、「質問ID」として「882」が付与された質問310Bと、「質問ID」として「1469」が付与された質問310Cとに対して回答した場合に収集および格納される回答データセット330の例を示す。
質問310Aの質問内容は「猫は好きですか?」であり、この質問に対する回答内容334Aは「はい」である。質問310Bの質問内容は「水泳は好きですか?」であり、この質問に対する回答内容334Bは「いいえ」である。質問310Cの質問内容は「ランチでよく食べるものは?」であり、この質問に対する回答内容334Cは「カレーライス」である。
図7に示すように、質問としては、質問310Aおよび質問310Bに示されるような、はい(YES)/いいえ(NO)といった回答範囲を限定するクローズドクエスチョンであってもよいし、質問310Cに示されるような、ユーザから任意の内容を回答として受付けるオープンクエスチョンであってもよい。
回答としてオープンクエスチョンを受付ける場合には、回答内容から特徴量を算出して、回答の類似度を評価するようにしてもよい。回答内容から特徴量を算出する手法としては、Word2vecやBERT(Bidirectional Encoder Representations from Transformers)(https://arxiv.org/abs/1810.04805)などを用いることができる。
当然のことながら、質問としては、図7に示されるようなものに限定されることなく、任意の内容を採用できる。このような質問の多様性に対応して、回答内容も任意の内容を受付けるようにすればよい。
図7には、説明の便宜上、質問ID332と対応する回答内容334と組の簡略化された例を示すが、マッチングシステム1に格納する大規模な質問については、質問セット300の階層構造を特定するための情報を含めるようにしてもよい。
図8は、本実施の形態に係るマッチングシステム1において用いられる質問310のデータ構造の一例を示す模式図である。図8を参照して、質問310の各々は、質問ID332と、質問310の属性情報333とを含む。属性情報333は、質問310が属するカテゴリおよび当該属するカテゴリの上位カテゴリの情報を含む。属性情報333は、質問310の内容や質問形式を示す情報を含んでいてもよい。
図8に示すようなデータ構造の質問セット300を採用することで、大量の質問310を格納した場合であっても、質問セット300の階層構造を適切に規定できる。
(d4:評価フェーズ)
次に、図5に示す評価フェーズにおける回答データセット330を利用したマッチング処理の一例について説明する。
図9は、本実施の形態に係るマッチングシステム1における評価フェーズの処理概要を説明するための図である。評価フェーズにおいては、2段階のマッチング(選択質問マッチングおよび回答内容マッチング)が実行される。
第1のマッチング処理(選択質問マッチング)において、サーバ100は、ユーザが選択および回答した1または複数の質問に基づいて、ユーザ間の適合度を評価する。すなわち、サーバ100は、第1のマッチング処理(選択質問マッチング)において、ユーザが回答した1または複数の質問と、他のユーザが回答した1または複数の質問との類似度を評価する。
例えば、サーバ100は、ユーザAから得られた回答データセット330Aに含まれる1または複数の質問ID332と、ユーザBから得られた回答データセット330Bに含まれる1または複数の質問ID332とに基づいて、第1のマッチング処理を行う。ここで、サーバ100は、複数の他のユーザのうち、第1のマッチング処理の結果が第1の判定条件を満たしている他のユーザ(の集合)を抽出する。
続いて、第2のマッチング処理(回答内容マッチング)において、サーバ100は、第1のマッチング処理により抽出されたユーザの集合について、選択された質問に対する回答内容に基づいて、ユーザ間の適合度を評価する。すなわち、サーバ100は、第2のマッチング処理(回答内容マッチング)において、ユーザからの回答に含まれる回答の内容と、他のユーザからの回答に含まれる回答の内容との類似度を評価する。
例えば、サーバ100は、ユーザAから得られた回答データセット330Aに含まれる1または複数の質問310に対する回答内容334と、ユーザBから得られた回答データセット330Bに含まれる1または複数の質問310に対する回答内容334とに基づいて、第2のマッチング処理を行う。このとき、サーバ100は、第1のマッチング処理により抽出された他のユーザに対してマッチングスコアを算出してもよい。そして、サーバ100は、第2のマッチング処理の結果(例えば、マッチングスコア)が第2の判定条件を満たすユーザの組を抽出する。
さらに、サーバ100は、第2のマッチング処理の結果が第2の判定条件を満たす他のユーザをマッチング結果として通知する通知処理を実行するようにしてもよい。すなわち、サーバ100は、第2のマッチング処理の結果が第2の判定条件を満たすユーザの組を抽出すると、当該抽出したユーザの組に含まれるユーザに対して、当該組に含まれる他のユーザを特定できる情報を提供してもよい。
なお、2段階のマッチング処理(選択質問マッチングおよび回答内容マッチング)は、実際のユーザ間のマッチングスコアを算出するだけではなく、対象のユーザと予め想定した仮想のユーザとの間のマッチングスコアを算出するようにしてもよい。この場合には、何らかの観点で分類された典型的な複数の仮想ユーザを想定し、各仮想ユーザが回答するであろう回答パターンを予め用意しておけばよい。
第1のマッチング処理および第2のマッチング処理については、任意の手法を採用できる。以下、第1のマッチング処理および第2のマッチング処理として採用される手法の具体例について説明する。
<E.第1のマッチング処理(選択質問マッチング)>
次に、図5に示す評価フェーズに含まれる第1のマッチング処理(選択質問マッチング)の具体的な手法のいくつかについて説明する。
(e1:マッチング手法1)
第1のマッチング処理(選択質問マッチング)の手法として、回答データセット330に含まれる質問ID332の一致数(重複数)を評価してもよい。
図10は、本実施の形態に係るマッチングシステム1における第1のマッチング処理(選択質問マッチング)の一つの手法を説明するための図である。図10を参照して、複数のユーザ間において、各ユーザの回答データセット330に含まれる質問ID332の一致数(重複数)をマッチングスコアとして算出する。
図10に示す例では、ユーザA(Subject ID:4492)から得られた回答データセット330Aは5個の質問ID332を含み、ユーザB(Subject ID:102534)から得られた回答データセット330Bは7個の質問ID332を含む。質問ID332の重複について評価すると、質問ID332の値が「127」および「1469」の2個について両者の間で一致(重複)していることが分かる。2個の質問ID332が一致していることから、マッチングスコアを「2」と算出できる。
マッチングスコアが「2」であることは、対象のユーザ間において、2つの質問(興味)において接点があると推定できる。
このように、第1のマッチング処理(選択質問マッチング)においては、あるユーザが回答した1または複数の質問と、他のユーザが回答した1または複数の質問との間で、一致している質問の数に基づいて、類似度が評価される。
任意のユーザ間について、図10に示すマッチングスコアをそれぞれ算出することができる。なお、図10には、2人のユーザ間についてマッチングスコアを算出する例を示すが、3人以上のユーザ間についてマッチングスコアを算出してもよい。
図11は、図10に示される第1のマッチング処理(選択質問マッチング)の手法により算出されるマッチングスコアの評価結果の一例を示す図である。図11(A)および図11(B)に示すように、ユーザ毎に他のユーザとの間の適合度を算出してもよい。なお、適合度の算出には、後述するような重みを採用してもよい。
図11(A)には、第1のマッチング処理の評価結果340Aとして、基準ユーザについて、当該基準ユーザに対して高いマッチングスコアを示す順に他のユーザをランキングした結果が示されている。より具体的には、評価結果340Aは、基準ユーザ欄342と、基準ユーザ欄342に規定されるユーザIDのユーザに対して、高いマッチングスコアを示すユーザのユーザIDを規定する高ランキングユーザ欄344と、基準ユーザに対して算出されたマッチングスコアの値を規定するマッチングスコア欄346とを含む。
なお、ランキング上位のユーザに関する関連情報をさらに関連付けて表示してもよい。
図11(B)には、基準ユーザが選択した質問のうち、どの程度の質問が一致しているかを示すマッチ率を算出する例を示す。すなわち、マッチ率=(他のユーザとの間で一致している質問の数)/(基準ユーザの選択した質問の総数)として算出できる。
図11(B)に示される第1のマッチング処理の評価結果340Bにおいては、基準ユーザについて、当該基準ユーザに対して高いマッチ率を示す順に他のユーザをランキングした結果が示されている。より具体的には、評価結果340Bは、基準ユーザ欄342と、高ランキングユーザ欄344と、基準ユーザに対して算出されたマッチ率の値を規定するマッチ率欄348とを含む。
上述した第1の判定条件としては、(1)図11(A)および図11(B)に示される評価結果340Aおよび340Bにおいて上位から所定数の範囲にあること(例えば、上位20位以内)、(2)算出されるマッチングスコアの値が予め定められたしきい値を超えること、(3)算出されるマッチ率が予め定められたしきい値を超えること、などが想定される。
(e2:マッチング手法2)
第1のマッチング処理(選択質問マッチング)の別の手法として、回答データセット330に含まれる質問ID332ではなく、質問ID332が属するカテゴリの一致数(重複数)を評価してもよい。すなわち、それぞれのユーザが同一のカテゴリに属する異なる質問を選択した場合においては、カテゴリの同一性をもって、互いに接点があると推定できる。このようなカテゴリの同一性に基づく推定は、質問セット300の階層構造に基づいた、回答を取得した質問からの論理的な推論を意味する。
図12は、本実施の形態に係るマッチングシステム1における第1のマッチング処理(選択質問マッチング)の別の手法を説明するための図である。図12に示す手法においては、各ユーザの回答データセット330に含まれる質問ID332が属するカテゴリID336が評価に用いられる。カテゴリID336は、質問セット300において各質問310が属するカテゴリを特定するための識別情報である。より具体的には、カテゴリID336の一致数(重複数)をマッチングスコアとして算出する。
図12に示す例では、ユーザA(Subject ID:4492)から得られた回答データセット330Aは5個の質問を含み、ユーザB(Subject ID:102534)から得られた回答データセット330Bは7個の質問を含む。サーバ100は、それぞれの質問が属するカテゴリを示すカテゴリID336を決定し、カテゴリID336の重複について評価する。カテゴリID336の値が「a10」、「b07」および「b15」の3個について両者の間で一致(重複)していることが分かる。3個のカテゴリID336が一致していることから、マッチングスコアを「3」と算出できる。
マッチングスコアが「3」であることは、対象のユーザ間において、3つの質問(興味)において接点があると推定できる。
任意のユーザ間について、図12に示すマッチングスコアをそれぞれ算出することができる。なお、図12には、2人のユーザ間についてマッチングスコアを算出する例を示すが、3人以上のユーザ間についてマッチングスコアを算出してもよい。
図12に示されるマッチング手法においても、上述の図11と同様の評価結果を算出できる。算出される評価結果の内容については上述した内容と実質的に同一であるので、詳細な説明は繰返さない。
また、上述した第1の判定条件についても同様に、(1)ランキングの上位から所定数の範囲にあること(例えば、上位20位以内)、(2)算出されるマッチングスコアの値が予め定められたしきい値を超えること、(3)算出されるマッチ率が予め定められたしきい値を超えること、などが想定される。
(e3:マッチング手法3)
第1のマッチング処理(選択質問マッチング)のさらに別の手法として、回答データセット330に含まれる質問ID332から算出される潜在空間への写像(あるいは、特徴量ないし特徴ベクトル)に基づいて、マッチングスコアを算出してもよい。
図13は、本実施の形態に係るマッチングシステム1における第1のマッチング処理(選択質問マッチング)のさらに別の手法を説明するための図である。図13を参照して、複数のユーザ間において、各ユーザの回答データセット330に含まれる質問ID332から算出される潜在空間への写像352に基づいて、マッチングスコアを算出してもよい。
図13に示す例では、ユーザA(Subject ID:4492)から得られた回答データセット330Aに含まれる5個の質問ID332を写像モデル350に入力することで、潜在空間への写像352Aが算出され、ユーザB(Subject ID:102534)から得られた回答データセット330Bに含まれる7個の質問ID332を写像モデル350に入力することで、潜在空間への写像352Bが算出される。
そして、潜在空間への写像352Aと潜在空間への写像352Bとの間の類似度を評価することで、マッチングスコアを算出できる。マッチングスコアの算出には、例えば、照合モデル354を用いてもよい。
このように、第1のマッチング処理(選択質問マッチング)においては、あるユーザが回答した1または複数の質問から算出される潜在空間への写像と、他のユーザが回答した1または複数の質問から算出される潜在空間への写像とに基づいて、類似度が評価される。
ここで、写像モデル350および照合モデル354の詳細について説明する。写像モデル350および照合モデル354は、いずれも事前の学習によって生成してもよい。
写像モデル350は、潜在空間への写像352として、カテゴリ間の類似度に対する事前知識に基づいて作成された特徴量を出力するように学習されてもよい。あるいは、写像モデル350は、主成分分析などのアルゴリズムを利用したものであってもよい。また、写像モデル350は、ニューラルネットワークなどを用いて学習したものであってもよい。
照合モデル354は、入力される複数の潜在空間への写像352(特徴量)間の類似度合いを示す特徴量を算出するものであってもよい。
マッチングスコアを算出する方法として、潜在空間への写像352の間の距離を示す指標を用いてもよい。例えば、潜在空間への写像352の間の距離が近いほど、マッチングスコアが高いと評価されてもよいし、潜在空間への写像352の間の距離が予め定められたしきい値以上である場合に、マッチすると評価するとともに、それ以外の場合に、アンマッチしないと評価してもよい。
写像モデル350および照合モデル354を生成するための学習には、質問と回答との組に、実際のマッチングスコア(あるいは、主観的な満足度合い)をラベル付けした学習データセットを用いてもよい。
なお、潜在空間への写像352として、人為的に設計した特徴量を出力するように写像モデル350を設計した上で、照合モデル354としてニューラルネットワークを用いて、マッチングスコアを算出してもよい。逆に、写像モデル350を学習により生成した上で、算出される潜在空間への写像352(特徴量)を、予め定められた距離を示す指標を用いて評価してもよい。
任意のユーザ間について、図13に示すマッチングスコアをそれぞれ算出することができる。なお、図13には、2人のユーザ間についてマッチングスコアを算出する例を示すが、3人以上のユーザ間についてマッチングスコアを算出してもよい。
図13に示されるマッチング手法においても、上述の図11と同様の評価結果を算出できる。算出される評価結果の内容については上述した内容と実質的に同一であるので、詳細な説明は繰返さない。
また、上述した第1の判定条件についても同様に、(1)ランキングの上位から所定数の範囲にあること(例えば、上位20位以内)、(2)算出されるマッチングスコアの値が予め定められたしきい値を超えること、(3)算出されるマッチ率が予め定められたしきい値を超えること、などが想定される。
(e4:マッチング手法4)
第1のマッチング処理(選択質問マッチング)のさらに別の手法として、図13に示す手法において、回答データセット330に含まれる質問ID332ではなく、質問ID332が属するカテゴリの一致数(重複数)を評価してもよい。すなわち、それぞれのユーザが同一のカテゴリに属する異なる質問を選択した場合においては、カテゴリの同一性をもって、互いに接点があると推定できる。このようなカテゴリの同一性に基づく推定は、質問セット300の階層構造に基づいた、回答を取得した質問からの論理的な推論を意味する。
質問ID332が属するカテゴリを用いる処理の詳細については、上述の図12および図13において説明した処理と同様であるので、ここでは、詳細な説明は繰返さない。
<F.第2のマッチング処理(回答内容マッチング)>
次に、図5に示す評価フェーズに含まれる第2のマッチング処理(回答内容マッチング)の具体的な手法のいくつかについて説明する。
(f1:マッチング手法1)
第2のマッチング処理(回答内容マッチング)の手法として、回答データセット330に含まれる各質問に対する回答内容334の一致数(重複数)を評価してもよい。
図14は、本実施の形態に係るマッチングシステム1における第2のマッチング処理(回答内容マッチング)の一つの手法を説明するための図である。図14を参照して、複数のユーザ間において、各ユーザの回答データセット330に含まれる各質問に対する回答内容334の一致数(重複数)をマッチングスコアとして算出する。なお、マッチングスコアの算出には、後述するような重みを採用してもよい。
図14に示す例では、ユーザA(Subject ID:4492)から得られた回答データセット330AとユーザB(Subject ID:102534)から得られた回答データセット330Bとの間では、2つの質問が一致(共通)しているとする。回答データセット330Aと回答データセット330Bとの間で、2つの共通する質問に対する回答内容334の一致の有無が評価される。
図12に示す例では、回答データセット330Aに含まれる回答内容334は、「はい」および「いいえ」であり、回答データセット330Bに含まれる回答内容334は、「はい」および「はい」である。この例においては、1個の回答内容334について両者の間で一致(重複)していることが分かる。1個の回答内容334が一致していることから、マッチングスコアを「1」と算出できる。
マッチングスコアが「1」であることは、対象のユーザ間において、1つの趣味、嗜好、性格、適正、興味などが共通していると推定できる。
任意のユーザ間について、図14に示すマッチングスコアをそれぞれ算出することができる。なお、図14には、2人のユーザ間についてマッチングスコアを算出する例を示すが、3人以上のユーザ間についてマッチングスコアを算出してもよい。
さらに、図14に示される第2のマッチング処理(回答内容マッチング)の手法により算出されるマッチングスコアに基づいて、上述の図11(A)および図11(B)のように、ユーザ毎に他のユーザとの間の適合度を算出してもよい。
上述した第2の判定条件としては、(1)マッチングスコアのランキングにおいて上位であること(例えば、上位20位以内)、(2)算出されるマッチングスコアの値が予め定められたしきい値を超えること、(3)算出されるマッチ率が予め定められたしきい値を超えること、などが想定される。
(f2:マッチング手法2)
第2のマッチング処理(回答内容マッチング)の別の手法として、回答データセット330に含まれる質問ID332ではなく、質問ID332が属するカテゴリの一致数(重複数)を評価してもよい。すなわち、それぞれのユーザが同一のカテゴリに属する異なる質問を選択した場合においては、カテゴリの同一性をもって、互いに接点があると推定できる。このようなカテゴリの同一性に基づく推定は、質問セット300の階層構造に基づいた、回答を取得した質問からの論理的な推論を意味する。
質問ID332が属するカテゴリを用いる処理の詳細については、上述の図12および図13において説明した処理と同様であるので、ここでは、詳細な説明は繰返さない。
(f3:マッチング手法3)
第2のマッチング処理(回答内容マッチング)のさらに別の手法として、回答データセット330に含まれる各質問に対する回答内容334から算出される潜在空間への写像(あるいは、特徴量ないし特徴ベクトル)に基づいて、マッチングスコアを算出してもよい。
図15は、本実施の形態に係るマッチングシステム1における第2のマッチング処理(回答内容マッチング)のさらに別の手法を説明するための図である。図15を参照して、複数のユーザ間において、各ユーザの回答データセット330に含まれる各質問に対する回答内容334から算出される潜在空間への写像362に基づいて、マッチングスコアを算出してもよい。
図15に示す例では、ユーザA(Subject ID:4492)から得られた回答データセット330Aに含まれる各質問に対する回答内容334Aを写像モデル360に入力することで、潜在空間への写像352Aが算出され、ユーザB(Subject ID:102534)から得られた回答データセット330Bに含まれる各質問に対する回答内容334Bを写像モデル360に入力することで、潜在空間への写像362Bが算出される。
そして、潜在空間への写像362Aと潜在空間への写像362Bとの間の類似度を評価することで、マッチングスコアを算出できる。マッチングスコアの算出には、例えば、照合モデル364を用いてもよい。
写像モデル360および照合モデル364は、上述の図13に示す写像モデル350および照合モデル354と同様に生成あるいは構成できる。写像モデル360および照合モデル364を生成するための学習には、質問と回答との組に、実際のマッチングスコア(あるいは、主観的な満足度合い)をラベル付けした学習データセットを用いてもよい。
任意のユーザ間について、図15に示すマッチングスコアをそれぞれ算出することができる。なお、図15には、2人のユーザ間についてマッチングスコアを算出する例を示すが、3人以上のユーザ間についてマッチングスコアを算出してもよい。
図15に示されるマッチング手法においても、上述の図11と同様の評価結果を算出できる。算出される評価結果の内容については上述した内容と実質的に同一であるので、詳細な説明は繰返さない。
また、上述した第2の判定条件についても同様に、(1)マッチングスコアのランキングにおいて上位であること(例えば、上位20位以内)、(2)算出されるマッチングスコアの値が予め定められたしきい値を超えること、(3)算出されるマッチ率が予め定められたしきい値を超えること、などが想定される。
(f4:マッチング手法4)
第2のマッチング処理(回答内容マッチング)のさらに別の手法として、図15に示す手法において、回答データセット330に含まれる質問ID332ではなく、質問ID332が属するカテゴリの一致数(重複数)を評価してもよい。すなわち、それぞれのユーザが同一のカテゴリに属する異なる質問を選択した場合においては、カテゴリの同一性をもって、互いに接点があると推定できる。このようなカテゴリの同一性に基づく推定は、質問セット300の階層構造に基づいた、回答を取得した質問からの論理的な推論を意味する。
質問ID332が属するカテゴリを用いる処理の詳細については、上述の図12および図13において説明した処理と同様であるので、ここでは、詳細な説明は繰返さない。
<G.アプリケーション例>
以下、本実施の形態に係るマッチングシステムのアプリケーション例のいくつかについて説明する。
(g1:エキスパートクライアント型)
第1のアプリケーション例として、エキスパートクライアント型のシステムについて説明する。エキスパートクライアント型のシステムでは、雇用や診断などのサービスを提供するにあたって、適切な人同士のマッチングを決定するような場合に使用される。
エキスパートクライアント型においては、典型的には、図2に示すようなシステム構成が採用される。まず、エキスパートが、提供するサービスに応じた質問セット300を用意する。そして、用意された質問セット300の全部または一部がユーザへ配信される。
ユーザは、配信された質問セット300に含まれる質問のうち、興味のある質問を選択して回答する。ユーザが選択した回答の内容がサーバ100へ送信される。
サーバ100は、上述したような2段階のマッチング(選択質問マッチングおよび回答内容マッチング)により、マッチングスコアを算出する。そして、サーバ100は、算出したマッチングスコアに基づいて、雇用や診断などのサービスを実行する。
マッチングスコアに基づく分析においては、ユーザ間について算出されるマッチングスコアを用いる方法に加えて、代表的なペルソナパターンを予め用意しておき、各ペルソナパターンとの類似度あるいは適合度を評価する方法を採用してもよい。類似度あるいは適合度が予め定められた条件に合致した場合に、対応するペルソナパターンに応じた処方やサービスを提供するようにしてもよい。
(g2:SNS(Social Networking Service)型)
第2のアプリケーション例として、SNS型のシステムについて説明する。SNS型のシステムでは、各ユーザが目的とするユーザとの繋がりをより容易に見つけるような場合に使用される。
図16は、本実施の形態に係るマッチングシステム1の別の構成例を示す模式図である。図16を参照して、各ユーザが自分のもちたい繋がりに応じた質問を作成する((1)質問作成)。例えば、動物に興味ある他のユーザと繋がりたいユーザは、例えば、「猫は好きですか?」といった質問を作成する。ユーザが作成した質問は、端末装置200からサーバ100へ送信される((2)質問内容)。
サーバ100は、端末装置200から送信された質問を分析して、各質問が属するカテゴリを決定するとともに、質問セット300を更新する((3)質問セット更新)。
そして、サーバ100は、1または複数の端末装置200の各々に対して、更新後の質問セットの全部または一部を他のユーザへ配信する((4)質問セット配信)。ユーザは、配信された質問セット300に含まれる質問のうち、興味のある質問を選択して回答する((5)質問選択・回答)。端末装置200の各々を介してユーザから入力された回答の内容はサーバ100へ送信される((6)回答内容)。
サーバ100は、上述したような2段階のマッチング(選択質問マッチングおよび回答内容マッチング)により、マッチングスコアを算出する((7)マッチング処理)。そして、サーバ100は、算出したマッチングスコアに基づいて、質問を作成したユーザに対して、高いマッチングスコアを示すユーザをマッチング結果として応答する((8)マッチング結果)。これによって、質問を作成したユーザは、目的に適合したユーザと繋がることができる。
サーバ100のマッチング処理においては、選択質問マッチングおよび回答内容マッチングの両方を行うようにしてもよいし、選択質問マッチングのみを行うようにしてもよい。例えば、選択質問マッチングにおいて、あるユーザが作成した質問に別のユーザが興味をもって回答したということは、回答内容が異なっていても、同じカテゴリの質問に興味をもっていると推論できる。そこで、同じカテゴリの質問に興味をもっているユーザ間のマッチングスコアを高くするようにしてもよい。
また、サーバ100のマッチング処理においては、特定の質問に対してより大きな重み(あるいは、より小さな重み)を付与してマッチングスコアを算出するようにしてもよい。あるいは、ユーザに応じて、重みを付与する質問を変更し、あるいは、付与する重みの大きさを変更するようにしてもよい。
(g3:SNS型の変形例)
図16には、サーバ100を介して、端末装置200同士で質問セットを配信する構成例について例示したが、ある端末装置200から別の端末装置200へ質問セットを直接配信するようにしてもよい。このような端末装置200からの質問セットの直接配信は、例えば、あるユーザに関してマッチング対象の候補が既に存在している場合に、その候補の中から実際にマッチングするユーザを決定するような場合に有効である。
なお、上述したような場合に限らず、サーバ100が存在しない、ピアトゥピアに類するシステムを採用してもよい。
(g4:AI(artificial intelligence)型)
第3のアプリケーション例として、AI型のシステムについて説明する。AI型のシステムでは、質問セット(あるいは質問)を明示的にユーザに配信するのではなく、自立対話エージェントがユーザと対話するとともに、ユーザとの対話に1または複数の質問を含めることで、ユーザからの回答(ユーザが回答した質問のカテゴリおよび回答内容)を収集する。
自立対話エージェント(あるいはサーバ100)は、上述したような2段階のマッチング(選択質問マッチングおよび回答内容マッチング)により、マッチングスコアを算出する。そして、算出したマッチングスコアに基づいて、雇用や診断などのサービスが実行される。
マッチングスコアに基づく分析においては、ユーザ間について算出されるマッチングスコアを用いる方法に加えて、代表的なペルソナパターンを予め用意しておき、各ペルソナパターンとの類似度あるいは適合度を評価する方法を採用してもよい。類似度あるいは適合度が予め定められた条件に合致した場合に、対応するペルソナパターンに応じた処方やサービスを提供するようにしてもよい。
<H.質問セット300の構築および更新>
次に、質問セット300の構築および更新の一例について説明する。
まず、任意の方法で質問が収集される。例えば、公知の知識データベースを参照する方法や、ネットワークを介した任意のユーザから収集する方法などが想定される。上述の図16に示すように、何らかの繋がりをもちたいユーザによる質問の作成などの方法を採用してもよい。
質問セット300は、複数のカテゴリの階層構造を有するカテゴリツリー302をベースとして構成されており、新たに追加された質問がいずれのカテゴリに属するのかを判断するようにしてもよい。
例えば、マッチングシステム1のサーバ100は、新たに追加された質問を言語解析するとともに、カテゴリツリー302に含まれるカテゴリ(文字および内容)との類似性を評価することで、新たに追加された質問が属するカテゴリを決定してもよい。言語解析には、機械学習により構成された推論モデルを用いてもよい。
さらに、カテゴリツリー302の構造および過去に追加された質問の内容を入力とし、当該過去に追加された質問が分類されたカテゴリ(人手で決定してもよい)を推論結果の教師データとして、機械学習により構成された推論モデルを用いてもよい。
このように、サーバ100は、ユーザが作成した質問を受付けると、当該受付けた質問が属するカテゴリを自動的に決定するとともに、質問セット300を更新する更新処理を実行するようにしてもよい。このような構成を採用することで、少ないコストで、質問セットを構成できる。
なお、新たに追加された質問と既存の質問セット300に含まれる他の質問との類似度に基づいて、複数の質問を単一の質問にまとめるようにしてもよい。例えば、「猫は好きですか?」という質問と、「犬は好きですか?」という質問とが含まれている場合には、「動物は好きですか?」といった質問にまとめてもよい。
あるいは、「猫は好きですか?」という質問と、「犬は好きですか?」という質問とが含まれている場合には、「猫は好きですか?」という質問のみを有効化してもよい。この場合、「犬は好きですか?」という質問そのものではなく、「猫は好きですか?」という代用質問が追加されることになる。
さらにあるいは、新たに追加された質問そのものではなく、代用質問を質問セット300に追加するようにしてもよい。例えば、「猫は好きですか?」という質問が追加された場合に、そのままではなく、「動物は好きですか?」といった代用質問を追加してもよい。
このような質問をまとめる処理には、例えば、機械学習により構成された文章類似度判別モデルを用いることができる。このような文章類似度判別モデルとしては、BERTなどを利用してもよい。この文章類似度判別モデルを用いることで、2つの質問が等価であるか否かを評価することができる。このような評価結果を用いることで、類似した2つの質問を1つにまとめることができる。
このように、マッチングシステム1のサーバ100は、追加された質問と他の質問との類似度に基づいて、当該追加された質問と当該追加された質問に類似した質問とをまとめて質問セット300を更新してもよい。あるいは、サーバ100は、追加された質問と他の質問との類似度に基づいて、当該追加された質問に対応する代表質問で質問セット300を更新してもよい。
マッチングシステム1のサーバ100は、質問のカテゴリと、予めユーザが登録した興味の範囲もしくは推定した興味の範囲とが適合するユーザに対してのみ、質問セット300(1または複数の質問)を配信するようにしてもよい。ここで、興味の範囲は、各ユーザが先に行った回答内容から推定してもよい。
また、回答率の最大化を目標として、質問を配信するユーザを決定、あるいは、ユーザに配信する質問を決定する仕組みを機械学習により実現してもよい。この場合には、推論モデルに対する入力として、質問が属するカテゴリなどの特徴量、配信先ユーザの個人プロファイル(年齢や性別などの属性情報を含んでいてもよい)、配信先ユーザの過去の回答状況、予め用意された質問セット300と配信先ユーザとの潜在的適合度、などを用いてもよい。推論モデルからは各ユーザの回答率が出力されるようにしてもよい。
各ユーザの回答率を最大化するように、推論モデルのパラメータを機械学習により最適化することで、学習済モデルを決定できる。なお、ユーザからの新たな回答状況を用いて、決定した学習済モデルのパラメータを順次最適化(追加学習)してもよい。
決定された学習済モデルを用いて、質問セット300の配信先とすべきユーザを決定できる。あるいは、決定された学習済モデルを用いて、配信先のユーザに応じた質問セット300を決定できる。
このような機械学習を用いた仕組みを採用することで、より効率的な質問セット300の配信および回答の取得を実現できる。
<I.変形例>
(i1:重み)
評価フェーズ(第1のマッチング処理(選択質問マッチング)、および/または、第2のマッチング処理(回答内容マッチング))においては、質問セット300に含まれる質問に対して、マッチング処理に関する任意の重みを付与してもよい。また、評価フェーズ(第1のマッチング処理(選択質問マッチング)、および/または、第2のマッチング処理(回答内容マッチング))においても、ユーザから取得された回答に対して、マッチング処理に関する重みを付与してもよい。
このような重みの一例として、質問セット300に追加されたのが新しい質問ほど大きな重みを付与し、古い質問ほど小さな重みを付与するようにしてもよい。なお、評価の目的や趣旨などに応じて、新しい質問ほど小さな重みを付与するようにしてもよい。
また、ユーザからの回答を取得した時刻に基づいて、より最近に取得された回答ほど大きな重みを付与し、古い回答ほど小さな重みを付与するようにしてもよい。なお、評価の目的や趣旨などに応じて、古い質問ほど小さな重みを付与するようにしてもよい。
このように、マッチング処理に関する重みは、対象の質問の時期、または、対象の回答の時期、に依存して決定されてもよい。
質問セット300に含まれる質問に対して付与されるマッチング処理に関する重みの別の例として、質問セット300に含まれる質問の特徴に基づいて重みを設定してもよい。質問の特徴の一例として流行度を採用すれば、流行度が低い質問ほど大きな重みを付与するようにしてもよい。このような構成を採用することで、ロングテールの問題が緩和でき、より公平的なマッチングシステムを実現できる。
質問セット300に含まれる質問に対して付与されるマッチング処理に関する重みのさらに別の例として、各質問が属するカテゴリに応じた重みを採用してもよい。例えば、評価対象のマッチングの内容をより強く反映するカテゴリほど、大きな重みを付与してもよい。この場合、カテゴリ毎にマッチング結果に与える影響を機械学習などにより評価した上で、その評価結果に応じて重みを決定すればよい。
質問セット300に含まれる質問に対して付与されるマッチング処理に関する重みのさらに別の例として、質問の回答者数に応じた重みを採用してもよい。例えば、回答者の多い質問ほど小さな重みを付与してもよい。なお、評価の目的や趣旨などに応じて、回答者の少ない質問ほど小さな重みを付与するようにしてもよい。
さらに、ユーザが任意の優先順位を設定できるようにしてもよい。この場合、設定された優先順位に応じた重みが付与されることになる。このように、質問セット300に対して、任意の重みを人為的に設定できるようにしてもよい。
ユーザから取得された回答に対して付与されるマッチング処理に関する重みの別の例として、質問セット300に回答したユーザの属性に基づいて重みを設定してもよい。ユーザの属性の一例として、弱い立場(すなわち、マッチングされにくい)と判定されたグループに属するユーザほど大きな重みを付与するようにしてもよい。このような構成を採用することで、ロングテールの問題が緩和でき、より公平的なマッチングシステムを実現できる。ユーザの属性の別の例として、重要なユーザや新たに登録されたユーザなども想定される。すなわち、重要なユーザからの回答や、新たに登録されたユーザからの回答に対して、より大きな重みを付与するようにしてもよい。
このように、質問セット300および/または回答に対する、任意の重みを付与して、マッチング処理に適用してもよい。
(i2:論理的な推論)
上述したように、論理的な推論は、例えば、質問セットの階層構造に含まれる情報を参照することなどで、取得された回答から、マッチング処理に適した情報(回答)を推論する処理を含む。このような論理的な推論を行うことで、例えば、あるユーザがある質問に対して回答した内容から、別の質問に対する回答を推論できる。ユーザが実際に回答した内容および推論によって得られた回答を用いて、第1のマッチング処理(選択質問マッチング)および/または第2のマッチング処理(回答内容マッチング)をより高い精度で実行できる。
このような論理的な推論は、質問セット300の階層構造に基づいて、例えば、あるユーザが回答した質問のカテゴリと同じカテゴリに属する別の質問に対する回答を推論するような手法により実現できる。
例えば、あるユーザが「猫は好きですか?」という質問に対して、「はい」という回答を行っている場合には、「動物は好きですか?」という質問に対して、「はい」という回答を行うであろうと推論できる。
(i3:実装形態)
上述の説明においては、典型例として、サーバ100と1または複数の端末装置200とからなるシステムによる実装例を示すが、どのような実装形態を採用してもよい。例えば、サーバ100がすべての機能を担当するようにしてもよいし、サーバ100が提供する機能の一部を端末装置200で実行するようにしてもよい。
また、サーバ100は、単一のコンピュータで実現する必要はなく、ネットワーク接続された複数のコンピュータで実現するようにしてもよい。この場合には、ネットワーク上のいわゆるクラウドと称させる計算リソースを利用して実現してもよい。
端末装置200で実行されるプログラムは、任意のデータサーバから要求に応じてダウンロードする形でインストールされてもよい。
なお、上述の説明においては、プロセッサがプログラムを実行することで、本実施の形態に係るマッチングシステムを実現する実装例(ソフトウェア実装)を例示するがこれに限らず、一部または全部の処理を、ハードワイヤード回路を用いて実装してもよい(ハードウェア実装)。ハードワイヤード回路の一例としては、ASIC(application specific integrated circuit)やFPGA(field-programmable gate array)などを用いることができる。
<J.付記>
上述したような本実施の形態は、以下のような技術思想を含む。
[構成1]
マッチングシステム(1)であって、
複数の質問(310)からなる質問セット(300)を保持する記憶手段(110)と、
前記質問セットに含まれる1または複数の質問をユーザに提示するとともに、当該ユーザからの質問に対する回答を取得する取得手段(S8,S16,S18)と、
前記ユーザが回答した質問に基づいて第1のマッチング処理を実行する第1のマッチング処理手段(S20)と、
前記第1のマッチング処理の結果が第1の判定条件を満たす場合に、前記ユーザからの回答に含まれる回答の内容に基づいて第2のマッチング処理を実行する第2のマッチング処理手段(S22,S24)とを備える、マッチングシステム。
[構成2]
前記第1のマッチング処理手段は、前記ユーザが回答した1または複数の質問と、他のユーザが回答した1または複数の質問との類似度を評価し、
前記第2のマッチング処理手段は、前記ユーザからの回答に含まれる回答の内容と、他のユーザからの回答に含まれる回答の内容との類似度を評価する、構成1に記載のマッチングシステム。
[構成3]
前記第1のマッチング処理手段は、複数の前記他のユーザのうち、前記第1のマッチング処理の結果が前記第1の判定条件を満たす他のユーザを抽出する、構成2に記載のマッチングシステム。
[構成4]
前記第2のマッチング処理手段は、前記第1のマッチング処理により抽出された他のユーザに対してマッチングスコア(S24)を算出する、構成3に記載のマッチングシステム。
[構成5]
前記第1のマッチング処理手段は、前記ユーザが回答した1または複数の質問と、他のユーザが回答した1または複数の質問との間で、一致している質問の数に基づいて、類似度を評価する、構成2〜4のいずれか1項に記載のマッチングシステム。
[構成6]
前記第1のマッチング処理手段は、前記ユーザが回答した1または複数の質問から算出される潜在空間への写像と、他のユーザが回答した1または複数の質問から算出される潜在空間への写像とに基づいて、類似度を評価する、構成2〜4のいずれか1項に記載のマッチングシステム。
[構成7]
前記質問セットは、階層構造を有しており、
前記第1のマッチング処理手段および前記第2のマッチング処理手段の少なくとも一方は、前記質問セットの階層構造に基づいて、回答を取得した質問から論理的な推論を行う、構成1〜6のいずれか1項に記載のマッチングシステム。
[構成8]
前記質問セットに含まれる質問はカテゴリ別に区分されており、
ユーザが作成した質問を受付けて、前記質問セットを更新する更新手段をさらに備える、構成1〜6のいずれか1項に記載のマッチングシステム。
[構成9]
前記更新手段は、追加された質問が属するカテゴリを決定する、構成8に記載のマッチングシステム。
[構成10]
前記更新手段は、追加された質問と他の質問との類似度に基づいて、当該追加された質問と当該追加された質問に類似した質問とをまとめて前記質問セットを更新する処理、および、当該追加された質問に対応する代表質問で前記質問セットを更新する処理の少なくとも一方を実行する、構成8または9に記載のマッチングシステム。
[構成11]
前記取得手段は、質問のカテゴリと、予めユーザが登録した興味の範囲もしくは推定した興味の範囲とが適合するユーザに対してのみ、前記質問セットを配信する、構成8〜10のいずれか1項に記載のマッチングシステム。
[構成12]
ユーザからの回答率を最大化するように、質問を配信するユーザを決定、あるいは、ユーザに配信する質問を決定する学習済モデルをさらに備える、構成11に記載のマッチングシステム。
[構成13]
前記第1のマッチング処理手段および前記第2のマッチング処理手段の少なくとも一方は、前記質問セットに含まれる質問に対して、マッチング処理に関する重みを付与する、構成1〜12のいずれか1項に記載のマッチングシステム。
[構成14]
前記第1のマッチング処理手段および前記第2のマッチング処理手段の少なくとも一方は、前記ユーザから取得された回答に対して、マッチング処理に関する重みを付与する、構成1〜13のいずれか1項に記載のマッチングシステム。
[構成15]
前記マッチング処理に関する重みは、対象の質問の時期、または、対象の回答の時期、に依存して決定される、構成13または14に記載のマッチングシステム。
[構成16]
前記第2のマッチング処理の結果が第2の判定条件を満たす他のユーザをマッチング結果として通知する通知手段をさらに備える、構成1〜15のいずれか1項に記載のマッチングシステム。
[構成17]
コンピュータ(100)が実行するマッチング方法であって、
複数の質問(310)からなる質問セット(300)に含まれる1または複数の質問をユーザに提示するとともに、当該ユーザからの質問に対する回答を取得するステップ(S8,S16,S18)と、
前記ユーザが回答した質問に基づいて第1のマッチング処理を実行するステップ(S20)と、
前記第1のマッチング処理の結果が第1の判定条件を満たす場合に、前記ユーザからの回答に含まれる回答の内容に基づいて第2のマッチング処理を実行するステップ(S22,S24)とを備える、マッチング方法。
[構成18]
マッチング方法を実行させるマッチングプログラム(1104)であって、コンピュータ(100)に、
複数の質問(310)からなる質問セット(300)に含まれる1または複数の質問をユーザに提示するとともに、当該ユーザからの質問に対する回答を取得するステップ(S8,S16,S18)と、
前記ユーザが回答した質問に基づいて第1のマッチング処理を実行するステップ(S20)と、
前記第1のマッチング処理の結果が第1の判定条件を満たす場合に、前記ユーザからの回答に含まれる回答の内容に基づいて第2のマッチング処理を実行するステップ(S22,S24)とを実行させる、マッチングプログラム。
<K.効果>
本実施の形態に係るマッチングシステムおよびマッチング方法は、それぞれのユーザが回答した質問に基づく第1のマッチング処理(選択質問マッチング)と、それぞれのユーザからの回答に含まれる回答の内容に基づく第2のマッチング処理(回答内容マッチング)とからなる2段階のマッチングを採用する。このような2段階のマッチングを採用することで、多数のユーザが存在する場合であっても、趣味、嗜好、性格、適正、興味などが共通してマッチングの可能性が高いユーザの組を効率的に見つけることができる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 マッチングシステム、2 ネットワーク、100 サーバ、102,202 プロセッサ、104,204 メインメモリ、106,206 入力部、108,208 表示部、110,210 ストレージ、112 光学ドライブ、114 記憶媒体、116 ネットワークコントローラ、130,230 プロセッサバス、200 端末装置、212 カメラ、214 マイク、216 スピーカ、218 無線通信コントローラ、220 モバイル通信コントローラ、300 質問セット、302 カテゴリツリー、310,310A,310B,310C 質問、330,330A,330B 回答データセット、332 質問ID、334,334A,334B,334C 回答内容、336 カテゴリID、338 コード、340A,340B 評価結果、342 基準ユーザ欄、344 高ランキングユーザ欄、346 マッチングスコア欄、348 マッチ率欄、350,360 写像モデル、352,352A,352B,362,362A,362B 写像、354,364 照合モデル、1104 マッチングプログラム、2104 接続用アプリケーションプログラム。

Claims (18)

  1. マッチングシステムであって、
    複数の質問からなる質問セットを保持する記憶手段と、
    前記質問セットに含まれる1または複数の質問をユーザに提示するとともに、当該ユーザからの質問に対する回答を取得する取得手段と、
    前記ユーザが回答した質問に基づいて第1のマッチング処理を実行する第1のマッチング処理手段と、
    前記第1のマッチング処理の結果が第1の判定条件を満たす場合に、前記ユーザからの回答に含まれる回答の内容に基づいて第2のマッチング処理を実行する第2のマッチング処理手段とを備える、マッチングシステム。
  2. 前記第1のマッチング処理手段は、前記ユーザが回答した1または複数の質問と、他のユーザが回答した1または複数の質問との類似度を評価し、
    前記第2のマッチング処理手段は、前記ユーザからの回答に含まれる回答の内容と、他のユーザからの回答に含まれる回答の内容との類似度を評価する、請求項1に記載のマッチングシステム。
  3. 前記第1のマッチング処理手段は、複数の前記他のユーザのうち、前記第1のマッチング処理の結果が前記第1の判定条件を満たす他のユーザを抽出する、請求項2に記載のマッチングシステム。
  4. 前記第2のマッチング処理手段は、前記第1のマッチング処理により抽出された他のユーザに対してマッチングスコアを算出する、請求項3に記載のマッチングシステム。
  5. 前記第1のマッチング処理手段は、前記ユーザが回答した1または複数の質問と、他のユーザが回答した1または複数の質問との間で、一致している質問の数に基づいて、類似度を評価する、請求項2〜4のいずれか1項に記載のマッチングシステム。
  6. 前記第1のマッチング処理手段は、前記ユーザが回答した1または複数の質問から算出される潜在空間への写像と、他のユーザが回答した1または複数の質問から算出される潜在空間への写像とに基づいて、類似度を評価する、請求項2〜4のいずれか1項に記載のマッチングシステム。
  7. 前記質問セットは、階層構造を有しており、
    前記第1のマッチング処理手段および前記第2のマッチング処理手段の少なくとも一方は、前記質問セットの階層構造に基づいて、回答を取得した質問から論理的な推論を行う、請求項1〜6のいずれか1項に記載のマッチングシステム。
  8. 前記質問セットに含まれる質問はカテゴリ別に区分されており、
    ユーザが作成した質問を受付けて、前記質問セットを更新する更新手段をさらに備える、請求項1〜7のいずれか1項に記載のマッチングシステム。
  9. 前記更新手段は、追加された質問が属するカテゴリを決定する、請求項8に記載のマッチングシステム。
  10. 前記更新手段は、追加された質問と他の質問との類似度に基づいて、当該追加された質問と当該追加された質問に類似した質問とをまとめて前記質問セットを更新する処理、および、当該追加された質問に対応する代表質問で前記質問セットを更新する処理の少なくとも一方を実行する、請求項8または9に記載のマッチングシステム。
  11. 前記取得手段は、質問のカテゴリと、予めユーザが登録した興味の範囲もしくは推定した興味の範囲とが適合するユーザに対してのみ、前記質問セットを配信する、請求項8〜10のいずれか1項に記載のマッチングシステム。
  12. ユーザからの回答率を最大化するように、質問を配信するユーザを決定、あるいは、ユーザに配信する質問を決定する学習済モデルをさらに備える、請求項11に記載のマッチングシステム。
  13. 前記第1のマッチング処理手段および前記第2のマッチング処理手段の少なくとも一方は、前記質問セットに含まれる質問に対して、マッチング処理に関する重みを付与する、請求項1〜12のいずれか1項に記載のマッチングシステム。
  14. 前記第1のマッチング処理手段および前記第2のマッチング処理手段の少なくとも一方は、前記ユーザから取得された回答に対して、マッチング処理に関する重みを付与する、請求項1〜12のいずれか1項に記載のマッチングシステム。
  15. 前記マッチング処理に関する重みは、対象の質問の時期、または、対象の回答の時期、に依存して決定される、請求項13または14に記載のマッチングシステム。
  16. 前記第2のマッチング処理の結果が第2の判定条件を満たす他のユーザをマッチング結果として通知する通知手段をさらに備える、請求項1〜15のいずれか1項に記載のマッチングシステム。
  17. コンピュータが実行するマッチング方法であって、
    複数の質問からなる質問セットに含まれる1または複数の質問をユーザに提示するとともに、当該ユーザからの質問に対する回答を取得するステップと、
    前記ユーザが回答した質問に基づいて第1のマッチング処理を実行するステップと、
    前記第1のマッチング処理の結果が第1の判定条件を満たす場合に、前記ユーザからの回答に含まれる回答の内容に基づいて第2のマッチング処理を実行するステップとを備える、マッチング方法。
  18. マッチング方法を実行させるマッチングプログラムであって、コンピュータに、
    複数の質問からなる質問セットに含まれる1または複数の質問をユーザに提示するとともに、当該ユーザからの質問に対する回答を取得するステップと、
    前記ユーザが回答した質問に基づいて第1のマッチング処理を実行するステップと、
    前記第1のマッチング処理の結果が第1の判定条件を満たす場合に、前記ユーザからの回答に含まれる回答の内容に基づいて第2のマッチング処理を実行するステップとを実行させる、マッチングプログラム。
JP2020039151A 2020-03-06 2020-03-06 マッチングシステム、マッチング方法およびマッチングプログラム Pending JP2021140588A (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2020039151A JP2021140588A (ja) 2020-03-06 2020-03-06 マッチングシステム、マッチング方法およびマッチングプログラム
EP20923475.6A EP4116918A4 (en) 2020-03-06 2020-12-16 RECONCILIATION SYSTEM, PROCEDURE AND PROGRAM
CN202080097690.0A CN115191002A (zh) 2020-03-06 2020-12-16 匹配系统、匹配方法以及匹配程序
PCT/JP2020/046960 WO2021176795A1 (ja) 2020-03-06 2020-12-16 マッチングシステム、マッチング方法およびマッチングプログラム
US17/908,126 US20230119860A1 (en) 2020-03-06 2020-12-16 Matching system, matching method, and matching program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020039151A JP2021140588A (ja) 2020-03-06 2020-03-06 マッチングシステム、マッチング方法およびマッチングプログラム

Publications (1)

Publication Number Publication Date
JP2021140588A true JP2021140588A (ja) 2021-09-16

Family

ID=77613219

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020039151A Pending JP2021140588A (ja) 2020-03-06 2020-03-06 マッチングシステム、マッチング方法およびマッチングプログラム

Country Status (5)

Country Link
US (1) US20230119860A1 (ja)
EP (1) EP4116918A4 (ja)
JP (1) JP2021140588A (ja)
CN (1) CN115191002A (ja)
WO (1) WO2021176795A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7007001B1 (ja) 2021-07-05 2022-01-24 おっとっと株式会社 情報提供サーバ装置および情報提供方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024043012A1 (ja) * 2022-08-22 2024-02-29 株式会社考える学校 マッチングシステム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001067400A (ja) 1999-08-25 2001-03-16 Ntt Data Corp 携帯通信装置、及び携帯通信システム
JP2002049786A (ja) 2000-05-26 2002-02-15 Lealcom Kk 情報交換仲介方法
JP2003050927A (ja) * 2001-08-07 2003-02-21 Thomas Cubric:Kk 情報処理システム、マッチング方法、マーケティングリサーチ方法、及び情報記録媒体
JP2004287745A (ja) 2003-03-20 2004-10-14 Fujitsu Ltd アンケート作成方法
US8060390B1 (en) * 2006-11-24 2011-11-15 Voices Heard Media, Inc. Computer based method for generating representative questions from an audience
JP5520259B2 (ja) 2011-07-05 2014-06-11 ヤフー株式会社 質問例提示装置、方法及びプログラム
JP6069619B2 (ja) * 2012-12-13 2017-02-01 株式会社コナミデジタルエンタテインメント サーバ装置、サーバ装置の制御方法およびプログラム
US20150178742A1 (en) * 2013-12-20 2015-06-25 Strum, Inc. System and Method For The Facilitation of Real-time Customer, Employee and Stakeholder Engagement Through Managed Devices
US20150293988A1 (en) * 2014-04-10 2015-10-15 Jeremiah D. Eubanks System and Method for Opinion Sharing and Recommending Social Connections

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7007001B1 (ja) 2021-07-05 2022-01-24 おっとっと株式会社 情報提供サーバ装置および情報提供方法
JP2023008702A (ja) * 2021-07-05 2023-01-19 おっとっと株式会社 情報提供サーバ装置および情報提供方法

Also Published As

Publication number Publication date
US20230119860A1 (en) 2023-04-20
EP4116918A4 (en) 2024-01-24
WO2021176795A1 (ja) 2021-09-10
EP4116918A1 (en) 2023-01-11
CN115191002A (zh) 2022-10-14

Similar Documents

Publication Publication Date Title
JP7005694B2 (ja) コンピュータによるエージェントのための合成音声の選択
AU2019204800B2 (en) Intent engines systems and method
Al-Sharafi et al. Understanding the impact of knowledge management factors on the sustainable use of AI-based chatbots for educational purposes using a hybrid SEM-ANN approach
JP6753707B2 (ja) コミュニケーションを支援する人工知能システム
Ortigosa et al. Predicting user personality by mining social interactions in Facebook
US10152695B1 (en) Machine learning based system and method of calculating a match score and mapping the match score to a level
US20160180248A1 (en) Context based learning
Fogués et al. BFF: A tool for eliciting tie strength and user communities in social networking services
JP7316453B2 (ja) オブジェクト推薦方法及び装置、コンピュータ機器並びに媒体
CN111201566A (zh) 用于处理数据和输出用户反馈的口语通信设备和计算体系架构以及相关方法
US11443645B2 (en) Education reward system and method
JP7292780B2 (ja) 認知システムのためのコミュニケーション・モデル
WO2021176795A1 (ja) マッチングシステム、マッチング方法およびマッチングプログラム
Nguyen et al. Conflict resolution in group decision making: insights from a simulation study
Ikemoto et al. Tuning a conversation strategy for interactive recommendations in a chatbot setting
Wang Exploration of data mining algorithms of an online learning behaviour log based on cloud computing
JP2020126392A (ja) 選択装置、選択方法および選択プログラム
US11868374B2 (en) User degree matching algorithm
JP6315485B2 (ja) 個人に関するデータを解析する方法及びそのためのシステム
KR20210079264A (ko) 감정적 기계를 정의하는 방법 및 시스템
US20230325944A1 (en) Adaptive wellness collaborative media system
KR101266499B1 (ko) 인재개발시스템 및 인재개발방법
WO2023059620A1 (en) Mental health intervention using a virtual environment
Esteban et al. Supporting an autonomous social agent within a competitive environment
Zheng et al. Personality-aware recommendations: An empirical study in education

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231017

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231120

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240213

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240226