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

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

▶ アイオーティ株式会社の特許一覧

特許7621699プログラム、情報処理装置、方法及びシステム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2025-01-17
(45)【発行日】2025-01-27
(54)【発明の名称】プログラム、情報処理装置、方法及びシステム
(51)【国際特許分類】
   G06Q 50/10 20120101AFI20250120BHJP
【FI】
G06Q50/10
【請求項の数】 20
(21)【出願番号】P 2024101496
(22)【出願日】2024-06-24
【審査請求日】2024-06-25
【早期審査対象出願】
(73)【特許権者】
【識別番号】522260517
【氏名又は名称】アイオーティ株式会社
(74)【代理人】
【識別番号】110002815
【氏名又は名称】IPTech弁理士法人
(72)【発明者】
【氏名】鷹石 ▲恵▼充
(72)【発明者】
【氏名】太田 宏
(72)【発明者】
【氏名】▲今▼橋 景人
【審査官】松浦 かおり
(56)【参考文献】
【文献】特開2003-108507(JP,A)
【文献】特開2002-259820(JP,A)
【文献】特開2022-147969(JP,A)
【文献】特開2022-026759(JP,A)
【文献】特開2021-073549(JP,A)
【文献】特開2019-036196(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00-99/00
G06F 13/00-13/14
(57)【特許請求の範囲】
【請求項1】
プロセッサとメモリとを備えるコンピュータを動作させるためのプログラムであって、
複数の登録ユーザの出生情報に関する第1情報が前記メモリに格納されており、
前記プログラムは、前記プロセッサに、
第1ユーザから前記第1ユーザの前記出生情報に関する前記第1情報の入力を受け入れるとともに所定の日時に関する第2情報を取得するステップと、
前記第1ユーザの前記第1情報と、所定の日時に関する前記第2情報とに基づいて、前記第1ユーザに関連する第1キーワードを生成するステップと、
前記登録ユーザの前記第1情報と、前記第2情報とに基づいて、前記登録ユーザの少なくとも一部のユーザに関連する少なくとも一つの第2キーワードを生成するステップと、
前記第1キーワードと前記第2キーワードとの間の類似性に基づいて、前記第2キーワードに係る前記登録ユーザのうちから1以上の前記第1ユーザのマッチング相手を選出するステップと、
選出した前記マッチング相手に関する情報を前記第1ユーザに提示するステップと、を実行させる、プログラム。
【請求項2】
前記第1キーワード及び前記第2キーワードは、前記第1情報及び前記第2情報に基づいて一意に定まる、請求項1に記載のプログラム。
【請求項3】
前記出生情報は、前記ユーザの生年月日に関する情報を必ず含み、前記ユーザの誕生時間に関する情報、前記ユーザの誕生場所の位置情報、前記ユーザの血液型のうち少なくとも一つが含まれうる請求項1に記載のプログラム。
【請求項4】
前記第1キーワードを生成するステップにおいて、複数の前記第1キーワードを生成して第1キーワード群を生成し、
前記第2キーワードを生成するステップにおいて、複数の前記第2キーワードを生成して第2キーワード群を生成し、
前記マッチング相手を選出するステップにおいて、前記第1キーワード群に含まれる前記第1キーワードと前記第2キーワード群に含まれる前記第2キーワードとの間の前記類似性に基づいて、前記マッチング相手を選出する、請求項1に記載のプログラム。
【請求項5】
前記プログラムは、前記プロセッサに、さらに、
前記第1キーワード群に含まれる複数の前記第1キーワードに対して重み付けを行うステップと、
前記第2キーワード群に含まれる複数の前記第2キーワードに対して重み付けを行うステップと、を実行させる、請求項4に記載のプログラム。
【請求項6】
前記マッチング相手を選出するステップでは、前記第1キーワード群の前記重み付けと前記第2キーワード群の前記重み付けとに基づいて、前記マッチング相手を選出する、請求項5に記載のプログラム。
【請求項7】
前記マッチング相手を選出するステップは、
前記第1キーワードと前記第2キーワードとの間の前記類似性を評価するとともに前記第1ユーザと前記登録ユーザとの相性を数値化した評価値であって前記第1ユーザと前記登録ユーザとの相性がよいほど高い値をとる類似相性値を算出するステップと、
前記類似相性値が高い前記マッチング相手を抽出するステップと、を含む、請求項1に記載のプログラム。
【請求項8】
前記第1キーワードを生成するステップにおいて、複数の前記第1キーワードを生成して第1キーワード群を生成し、
前記第2キーワードを生成するステップにおいて、複数の前記第2キーワードを生成して第2キーワード群を生成し、
前記マッチング相手を選出するステップにおいて、前記第1キーワード群に含まれる前記第1キーワードと前記第2キーワード群に含まれる前記第2キーワードとの間の前記類似性に基づいて、前記マッチング相手を選出し、
前記マッチング相手を選出するステップは、
前記第1キーワード群と前記第2キーワード群との間の前記類似性および重み付けに基づいて、前記第1ユーザと前記登録ユーザとの相性がよいほど高い前記類似相性値に数値化するステップと、
前記類似相性値が高い前記マッチング相手を抽出するステップと、を含む、請求項7に記載のプログラム。
【請求項9】
前記第1キーワードに対して重み付けを行うステップにおいて、前記第1ユーザの前記出生情報から生成される前記第1キーワードの重み付けの値を1次的に発生させ、その重み付けの値をさらに小さい値に設定し、
前記第2キーワードに対して重み付けを行うステップにおいて、前記登録ユーザの前記出生情報から生成される前記第2キーワードの重み付けの値を1次的に発生させ、その重み付けの値をさらに小さい値に設定する、請求項5に記載のプログラム。
【請求項10】
前記第1キーワードに対して重み付けを行うステップにおいて、前記第1ユーザの前記出生情報から生成される前記第1キーワードの重み付けの値を1次的に発生させ、その重み付けの値をさらに大きい値に設定し、
前記第2キーワードに対して重み付けを行うステップにおいて、前記登録ユーザの前記出生情報から生成される前記第2キーワードの重み付けの値を1次的に発生させ、その重み付けの値をさらに大きい値に設定する、請求項5に記載のプログラム。
【請求項11】
前記プログラムは、前記プロセッサに、さらに、
前記マッチング相手を選出するステップにおいて複数の前記マッチング相手を選出し、
前記マッチング相手を提示するステップにおいて複数の前記マッチング相手を提示し、
前記複数のマッチング相手から前記第1ユーザによる1以上の前記マッチング相手の選択を受け付けるステップと、
受け付けた前記マッチング相手のアカウント情報を特定するための情報を前記第1ユーザのアカウント情報と関連させて記憶させるステップと、を実行させる、請求項1に記載のプログラム。
【請求項12】
前記プログラムは、前記プロセッサに、さらに、
前記第1ユーザの前記第1情報および前記第2情報に基づいて前記第1ユーザが属するグループとして第1グループを指定するステップと、
前記登録ユーザの前記第1情報および前記第2情報に基づいて前記登録ユーザが属するグループとして第2グループを指定するステップと、を実行させ、
前記第1キーワードを生成するステップにおいて、前記第1グループの特性から前記第1キーワード群に前記第1キーワードを追加し、
前記第2キーワードを生成するステップにおいて、前記第2グループの特性から前記第2キーワード群に前記第2キーワードを追加する、請求項4に記載のプログラム。
【請求項13】
前記プログラムは、前記プロセッサに、さらに、
電子商取引サイトにおける前記第1ユーザの購買履歴を参照するステップと、
前記第1ユーザの前記購買履歴からキーワードを生成して前記第1キーワード群に追加するステップと、
前記電子商取引サイトにおける前記登録ユーザの購買履歴を参照するステップと、
前記登録ユーザの前記購買履歴からキーワードを生成して前記第2キーワード群に追加するステップと、を実行させる、請求項4に記載のプログラム。
【請求項14】
前記プログラムは、さらに、前記プロセッサに、
前記第1キーワードに基づいて、前記第1ユーザを象徴するアバターを仮想空間内に生成するステップを実行させる、請求項1に記載のプログラム。
【請求項15】
前記プログラムは、
前記アバターの行動パターンと性格との少なくとも一方を、前記第1キーワードに基づいて設定する、請求項14に記載のプログラム。
【請求項16】
前記プログラムは、さらに、前記プロセッサに、
前記第1ユーザの前記第1情報と前記登録ユーザの少なくとも一部のユーザの前記第1情報とから、前記第1ユーザと前記登録ユーザとの間の親疎性に基づいて前記第1ユーザと前記登録ユーザとの相性を評価する親疎相性値を算出するステップと、
前記類似相性値と前記親疎相性値とに基づいて、前記第1ユーザと前記登録ユーザとの間の相性値を算出するステップと、を実行させる、請求項7に記載のプログラム。
【請求項17】
前記プログラムは、さらに、前記プロセッサに、
前記第1ユーザに対して好調な期間を導出するとともに、前記好調な期間に含まれる所定の日時を前記第2情報として設定するステップを実行させる、請求項1に記載のプログラム。
【請求項18】
プロセッサとメモリとを備える情報処理装置であって、
複数の登録ユーザの出生情報に関する第1情報が前記メモリに格納されており、
前記プロセッサは、
第1ユーザから前記第1ユーザの出生情報に関する前記第1情報の入力を受け入れるとともに所定の日時に関する第2情報を取得するステップと、
前記第1ユーザの前記第1情報と、所定の日時に関する前記第2情報とに基づいて、前記第1ユーザに関連する第1キーワードを生成するステップと、
前記登録ユーザの前記第1情報と、前記第2情報とに基づいて、前記登録ユーザの少なくとも一部のユーザに関連する少なくとも一つの第2キーワードを生成するステップと、
前記第1キーワードと前記第2キーワードとの間の類似性に基づいて、前記第2キーワードに係る前記登録ユーザのうちから1以上の前記第1ユーザのマッチング相手を選出するステップと、
選出した前記マッチング相手に関する情報を前記第1ユーザに提示するステップと、を実行する、情報処理装置。
【請求項19】
プロセッサとメモリとを備えるコンピュータにより実行される方法であって、
複数の登録ユーザの出生情報に関する第1情報が前記メモリに格納されており、
前記プロセッサは、
第1ユーザから前記第1ユーザの出生情報に関する前記第1情報の入力を受け入れるとともに所定の日時に関する第2情報を取得するステップと、
前記第1ユーザの前記第1情報と、所定の日時に関する前記第2情報とに基づいて、前記第1ユーザに関連する第1キーワードを生成するステップと、
前記登録ユーザの前記第1情報と、前記第2情報とに基づいて、前記登録ユーザの少なくとも一部のユーザに関連する少なくとも一つの第2キーワードを生成するステップと、
前記第1キーワードと前記第2キーワードとの間の類似性に基づいて、前記第2キーワードに係る前記登録ユーザのうちから1以上の前記第1ユーザのマッチング相手を選出するステップと、
選出した前記マッチング相手に関する情報を前記第1ユーザに提示するステップと、を実行する、方法。
【請求項20】
複数の登録ユーザの出生情報に関する第1情報をメモリに格納する手段と、
第1ユーザから前記第1ユーザの出生情報に関する前記第1情報の入力を受け入れるとともに所定の日時に関する第2情報を取得する手段と、
前記第1ユーザの前記第1情報と、所定の日時に関する前記第2情報とに基づいて、前記第1ユーザに関連する第1キーワードを生成する手段と、
前記登録ユーザの前記第1情報と、前記第2情報とに基づいて、前記登録ユーザの少なくとも一部のユーザに関連する少なくとも一つの第2キーワードを生成する手段と、
前記第1キーワードと前記第2キーワードとの間の類似性に基づいて、前記第2キーワードに係る前記登録ユーザのうちから1以上の前記第1ユーザのマッチング相手を選出する手段と、
選出した前記マッチング相手に関する情報を前記第1ユーザに提示する手段と、を具備する、システム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、プログラム、情報処理装置、方法及びシステムに関する。
【背景技術】
【0002】
心理テスト等の結果に基づいて、アバターと一般的に称される人工生命体を、コンピュータシステムが構築する仮想空間内に生成し、このアバターに各種行動を起こさせる技術が存在する。
【0003】
上述した技術に関連する技術として、特許文献1、特許文献2に開示された技術がある。
【0004】
特許文献1には、仮想空間提供装置に関する技術が開示されている。仮想空間提供装置は、ユーザから入力される情報に基づいて、そのユーザに対応するアバターに設定するためのDNAを生成する。仮想空間提供装置は、DNAに応じて決定される先天的パーツとユーザの選択指示に応じて選択される後天的パーツとからアバターを生成し、仮想空間内に配置させる。
【0005】
また、特許文献2には、ユーザ本人を照合し、照合したユーザ本人の顔画像を取り込み、血液型性格判断等のデータベースやAI学習機能ソフトを使用することで、取り込んだ顔画像に人格と会話能力を与えてマイクローンを生成するオンデマンドマイクローンシステムに関する技術が開示されている。
【先行技術文献】
【特許文献】
【0006】
【文献】特開2008-293401号公報
【文献】特開2002-269589号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
これら特許文献1、特許文献2に開示された技術は、いずれも、心理テスト等を用いてアバターの性格や行動を規定するものである。一方、個人情報を特定できる形で提供することなく、ショッピングサイト等においてその個人に好適な商品等をレコメンドするニーズが消費者側にある。
【0008】
そこで、本開示は、上記課題を解決すべくなされたものであって、その目的は、個人情報を特定せずに個人に対するレコメンドを受けることが可能な技術を提供することである。
【課題を解決するための手段】
【0009】
プロセッサとメモリとを備えるコンピュータを動作させるためのプログラムである。複数の登録ユーザの出生情報に関する第1情報がメモリに格納されている。プログラムは、プロセッサに、第1ユーザから第1ユーザの出生情報に関する第1情報の入力を受け入れるとともに所定の日時に関する第2情報を取得するステップと、第1ユーザの第1情報と、所定の日時に関する第2情報とに基づいて、第1ユーザに関連する第1キーワードを生成するステップと、登録ユーザの第1情報と、第2情報とに基づいて、登録ユーザの少なくとも一部のユーザに関連する少なくとも一つの第2キーワードを生成するステップと、第1キーワードと第2キーワードとの間の類似性に基づいて、第2キーワードに係る登録ユーザのうちから1以上の第1ユーザのマッチング相手を選出するステップと、選出したマッチング相手に関する情報を第1ユーザに提示するステップと、を実行させる。
【発明の効果】
【0010】
本開示によれば、個人情報を特定せずに個人に対するレコメンドを受けることができる。
【図面の簡単な説明】
【0011】
図1】本開示に係るシステムの動作の概要を示す図である。
図2】第1実施形態に係るシステム1の全体構成の例を示すブロック図である。
図3】第1実施形態に係る端末装置10の機能的な構成の例を表すブロック図である。
図4】第1実施形態に係るサーバ20の機能的な構成の例を示す図である。
図5】第1実施形態に係るユーザ情報DB2021のデータ構造を示す図である。
図6】第1実施形態に係るキーワード情報DB2022のデータ構造を示す図である。
図7】第1実施形態に係るキーワードDB2026のデータ構造を示す図である。
図8】第1実施形態に係るサーバ20の動作の一例を表すフローチャートである。
図9】第1実施形態に係る端末装置10のユーザが、本実施形態のシステム1(サーバ20)にログインした際に、端末装置10に表示される画面を示す図である。
図10図9に示す画面が表示されたことに引き続いて、端末装置10に表示される画面を示す図である。
図11図10において端末装置10のユーザが「OK!」ボタン1603の入力操作を行ったことを受けて、端末装置10のユーザに対して血液型情報の入力を求めるために端末装置10に表示される画面を示す図である。
図12】第1実施形態に係る相手選出モジュール2037により提示されるサービスを表示する画面を示す図である。
図13】第1実施形態に係るアバター情報DB2025のデータ構造の例を示す図である。
図14】第2実施形態に係るシステム1Aの全体構成の例を示すブロック図である。
図15】第2実施形態に係る端末装置10Aの機能的な構成の例を示す図である。
図16】第2実施形態に係るサーバ20Aの機能的な構成の例を示す図である。
図17】第2実施形態に係る電子商取引サーバ30の機能的な構成の例を示す図である。
図18】第2実施形態に係るアカウント情報DB2023のデータ構造を示す図である。
図19】第2実施形態に係る購買履歴情報DB3021のデータ構造を示す図である。
図20】第2実施形態に係るサーバ20Aの動作の一例を表すフローチャートである。
図21】五行の関係を示す図である。
図22】第1ユーザと登録ユーザの四柱推命の命式の一部を抜粋したものを例示する図である。
図23】第3実施形態に係るサーバ20の機能的な構成を説明するためのブロック図である。
図24】第3実施形態の制御部203が実行するフローを説明するためのフローチャートである。
図25】第4実施形態の制御部203が実行するフローを説明するためのフローチャートである。
【発明を実施するための形態】
【0012】
以下、本開示の実施形態について図面を参照して説明する。実施形態を説明する全図において、共通の構成要素には同一の符号を付し、繰り返しの説明を省略する。なお、以下の実施形態は、特許請求の範囲に記載された本開示の内容を不当に限定するものではない。また、実施形態に示される構成要素のすべてが、本開示の必須の構成要素であるとは限らない。また、各図は模式図であり、必ずしも厳密に図示されたものではない。
【0013】
また、以下の説明において、「プロセッサ」は、1以上のプロセッサである。少なくとも1つのプロセッサは、典型的には、CPU(Central Processing Unit)のようなマイクロプロセッサであるが、GPU(Graphics Processing Unit)のような他種のプロセッサでもよい。少なくとも1つのプロセッサは、シングルコアでもよいしマルチコアでもよい。
【0014】
また、少なくとも1つのプロセッサは、処理の一部又は全部を行うハードウェア回路(例えばFPGA(Field-Programmable Gate Array)又はASIC(Application Specific Integrated Circuit))といった広義のプロセッサでもよい。
【0015】
また、以下の説明において、「xxxテーブル」といった表現により、入力に対して出力が得られる情報を説明することがあるが、この情報は、どのような構造のデータでもよいし、入力に対する出力を発生するニューラルネットワークのような学習モデルでもよい。従って、「xxxテーブル」を「xxx情報」と言うことができる。
【0016】
また、以下の説明において、各テーブルの構成は一例であり、1つのテーブルは、2以上のテーブルに分割されてもよいし、2以上のテーブルの全部又は一部が1つのテーブルであってもよい。
【0017】
また、以下の説明において、「プログラム」を主語として処理を説明する場合があるが、プログラムは、プロセッサによって実行されることで、定められた処理を、適宜に記憶部及び/又はインタフェース部などを用いながら行うため、処理の主語が、プロセッサ(或いは、そのプロセッサを有するコントローラのようなデバイス)とされてもよい。
【0018】
プログラムは、計算機のような装置にインストールされてもよいし、例えば、プログラム配布サーバ又は計算機が読み取り可能な(例えば非一時的な)記録媒体にあってもよい。また、以下の説明において、2以上のプログラムが1つのプログラムとして実現されてもよいし、1つのプログラムが2以上のプログラムとして実現されてもよい。
【0019】
また、以下の説明において、種々の対象の識別情報として、識別番号が使用されるが、識別番号以外の種類の識別情報(例えば、英字や符号を含んだ識別子)が採用されてもよい。
【0020】
また、以下の説明において、同種の要素を区別しないで説明する場合には、参照符号(又は、参照符号のうちの共通符号)を使用し、同種の要素を区別して説明する場合は、要素の識別番号(又は参照符号)を使用することがある。
【0021】
また、以下の説明において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。
【0022】
<0 システムの概要>
図1は、本開示に係るシステムの動作の概要を示す図である。本開示のシステムは、第1ユーザから第1ユーザ固有の情報の入力を受け入れ、第1ユーザ固有の情報に基づいて第1ユーザに関連する第1キーワードを生成し、他の登録ユーザ固有の情報に基づいて登録ユーザに関連する第2キーワードを生成し、第1キーワードと第2キーワードとの類似性に基づいて登録ユーザの中から第1ユーザと相性のよいユーザを第1ユーザに提示する。
【0023】
ユーザに対して入力を求める情報は、ユーザの出生情報に関する第1情報の入力と、所定の日時に関する第2情報とである。第1ユーザの出生情報に関する第1情報は、第1ユーザ固有の情報である。第1ユーザの第1情報は、第1ユーザの生年月日に関する情報を必ず含み、第1ユーザの誕生時間に関する情報、第1ユーザの誕生場所の位置情報、第1ユーザの血液型のうち少なくとも一つが含まれうる。第2情報は、例えば、第1情報の入力を受け付けた時刻である。システムは、第1ユーザの第1情報及び第2情報に基づいて第1キーワードを生成する。
【0024】
一方、システムのデータベースには、多数の登録ユーザの出生情報に関する第1情報が格納されている。登録ユーザの第1情報は、登録ユーザの生年月日に関する情報を必ず含み、登録ユーザの誕生時間に関する情報、登録ユーザの誕生場所の位置情報、登録ユーザの血液型のうち少なくとも一つが含まれうる。システムは、登録ユーザの第1情報及び第2情報に基づいて第2キーワードを生成する。ここで、登録ユーザの第2情報は所定の日時に関する情報である。例えば、第1情報を登録ユーザが入力した日時である。
【0025】
本開示に係るシステムにおいて、キーワードは占いエンジンが生成する。一般的に、占いは、出生情報、顔画像、掌画像等を入力データとし、これら入力データが定まることにより結果が導き出される統計処理であると言える。その意味で、占いエンジン毎の個体差は許容されているとはいえ、単体の占いエンジンであれば、入力データが定まれば、占いエンジンが出力するキーワードは一意に定まる。当然のように、本開示に係るシステムにおいて複数の占いエンジンを設けることができるし、単体の占いエンジンが複数のキーワードを出力することも可能である。
【0026】
第1情報を入力とする占いエンジンの場合、第2情報が変われば、占いエンジンが出力するキーワードも変化する。例えば、第2情報が第1情報の入力日時に関する情報であれば、占いエンジンがキーワードを出力する日(より詳細には日時)に応じてキーワードが変化しうる。例えば、第2情報の変化に応じてバイオリズムやホロスコープが変化し、その変化に伴ってキーワードが変化する。
【0027】
第1情報及び第2情報の入力形態は任意である。一例として、第1ユーザが所有するスマートフォン等の端末装置(情報処理装置)に構築される仮想空間内で自立的行動を行うアバターを生成し、このアバターとの会話、テキスト入出力を介して第1情報等の入力を第1ユーザに求め、第1ユーザから第1情報等を取得する形態があげられる。好ましくは、アバターの行動パターン及び性格の少なくとも一方を、占いエンジンが出力するキーワードに基づいて設定する。生成されたアバターは、本開示に係るシステム全般で利用されてもよい。
【0028】
占いエンジンが出力したキーワードを、後述するマッチングエンジンに入力してもよいが、例えば占いエンジンが多数のキーワードを出力するなどして、マッチングエンジンの負荷が高くなる可能性がある。このため、本開示に係るシステムでは、占いエンジンが出力するキーワードに属性や重み付けを付与し、これら属性及び/または重み付けに基づいて、マッチングエンジンに入力するキーワードを選定してもよい。
【0029】
キーワードに属性を付与する手法は任意であり、特段の限定はない。一例として、本開示に係るシステムがシソーラス辞書を有し、このシソーラス辞書に基づいてキーワードを分類し、カテゴライズして、このカテゴリーに紐付けられた属性をキーワードに付与する手法が挙げられる。同様に、本開示に係るシステムが形態素解析エンジンを有し、形態素解析エンジンの出力として得られるキーワードの品詞分類及び語順を参照して属性をキーワードに付与する手法が挙げられる。このような解析手法は、インターネットコンテンツの検索エンジン等で実施されているものも含まれており、既知のものである。
【0030】
また、重み付けが持つ意味や重み付けを付与する手法についても特段の限定はない。一例として、後述するマッチングエンジンにおいて、ユーザに適切なサービスを提示できるか否か、という観点で重み付けを付与する手法が挙げられる。
【0031】
占いエンジンが出力するキーワードは多種多様であり、マッチング相手を提示するためのキーワードとしての適切さの度合いが異なりうる。この適切さの度合いを重み付けの値とする手法が一例として挙げられる。好ましくは、キーワードに付与した属性に基づいて重み付けの値を付与してもよい。
【0032】
占いエンジンは第1ユーザの第1情報及び第2情報から第1キーワード群を生成し、登録ユーザのうちの少なくとも一部のユーザの第1情報及び第2情報から第2キーワード群を生成する。
【0033】
マッチングエンジンは、第1キーワード群と第2キーワード群とを比較し、重み付けを考慮した上で相性値を算出する。相性値は、第1ユーザの第1キーワード群と登録ユーザの第2キーワード群とを重み付けを考慮した類似性を評価するとともに第1ユーザと登録ユーザとの相性を数値化した評価値であって第1キーワード群と第2キーワード群との類似性が高いほど高い値をとる。相性値は、例えば、0以上1以下の実数である。相性値が1の場合に第1ユーザと登録ユーザとの相性が最もよく、相性値が0の場合に第1ユーザと登録ユーザとの相性が最も悪い。または、相性値は0以上100以下の実数であってもよい。最大値および最小値はあくまで規格化の問題であり、自由に設定することができる。
【0034】
マッチングエンジンは、複数の登録ユーザに対して相性値を算出し、算出した登録ユーザのうちから相性値の高い複数のユーザを抽出する。
【0035】
なお、本開示においてメモリは、揮発性メモリ、不揮発性メモリ、ストレージ、その他の記憶装置を含んでよい。
【0036】
<第1実施形態>
<1 システム全体の構成図>
図2は、システム1の全体構成の例を示すブロック図である。図2に示すシステム1は、例えば、複数の端末装置10、サーバ20を含む。複数の端末装置10、サーバ20は、例えば、ネットワーク80を介して通信接続する。
【0037】
端末装置10は、この端末を所有する、あるいは使用するユーザが、自身の固有情報である出生情報等を入力し、この固有情報に基づいてサービスの提示を受けることを希望するユーザが所持または利用する端末である。
【0038】
本実施形態において、複数の装置の集合体を1つのサーバとしてもよい。1つ又は複数のハードウェアに対して本実施形態に係るサーバ20を実現することに要する複数の機能の配分の仕方は、各ハードウェアの処理能力及び/又はサーバ20に求められる仕様等に鑑みて適宜決定することができる。
【0039】
図2に示す端末装置10は、例えば、スマートフォン、タブレット等の携帯端末でもよいし、据え置き型のPC(Personal Computer)、ラップトップPCであってもよい。また、HMD(Head Mount Display)、腕時計型端末等のウェアラブル端末であってもよい。
【0040】
端末装置10は、通信IF(Interface)12と、入力装置13と、出力装置14と、メモリ15と、ストレージ16と、プロセッサ19とを備える。
【0041】
通信IF12は、端末装置10が、例えば、サーバ20等のシステム1内の装置と通信するため、信号を入出力するためのインタフェースである。
【0042】
入力装置13は、ユーザからの入力操作を受け付けるための装置(例えば、タッチパネル、タッチパッド、マウス等のポインティングデバイス、キーボード等)である。
【0043】
出力装置14は、ユーザに対して情報を提示するための装置(ディスプレイ、スピーカー等)である。
【0044】
メモリ15は、プログラム、及びプログラム等で処理されるデータ等一時的に記憶するためのものであり、例えばDRAM(Dynamic Random Access Memory)等の揮発性のメモリである。
【0045】
ストレージ16は、データを保存するためのものであり、例えばフラッシュメモリ、HDD(Hard Disc Drive)である。
【0046】
プロセッサ19は、プログラムに記述された命令セットを実行するためのハードウェアであり、演算装置、レジスタ、周辺回路等により構成される。
【0047】
サーバ20は、端末装置10から提供されたユーザの固有情報に基づいてキーワードを生成する。また、必要に応じて、生成したキーワードを選定してもよい。そして、サーバ20は、第1ユーザの第1情報及び第2情報から第1キーワード群を生成し、登録ユーザの第1情報及び第2情報から第2キーワード群を生成する。そして、サーバ20は、第1キーワード群と第2キーワード群との間で類似性を評価し、第1ユーザと登録ユーザとのマッチングを行う。
【0048】
サーバ20は、例えば、ネットワーク80に接続されたコンピュータ(情報処理装置)により実現される。図2に示すように、サーバ20は、通信IF22と、入出力IF23と、メモリ25と、ストレージ26と、プロセッサ29とを備える。
【0049】
通信IF22は、サーバ20が、例えば、端末装置10等のシステム1内の装置と通信するため、信号を入出力するためのインタフェースである。
【0050】
入出力IF23は、ユーザからの入力操作を受け付けるための入力装置、及び、ユーザに対して情報を提示するための出力装置とのインタフェースとして機能する。
【0051】
メモリ25は、プログラム、及び、プログラム等で処理されるデータ等を一時的に記憶するためのものであり、例えばDRAM等の揮発性のメモリである。
【0052】
ストレージ26は、データを保存するためのものであり、例えばフラッシュメモリ、HDDである。
【0053】
プロセッサ29は、プログラムに記述された命令セットを実行するためのハードウェアであり、演算装置、レジスタ、周辺回路等により構成される。
【0054】
<1.1 端末装置の機能的な構成>
図3は、図2に示す端末装置10の機能的な構成の例を表すブロック図である。図3に示す端末装置10は、例えば、PC、携帯端末、またはウェアラブル端末により実現される。図3に示すように、端末装置10は、通信部120と、入力装置13と、出力装置14と、音声処理部17と、マイク171と、スピーカー172と、カメラ160と、位置情報センサ150と、記憶部180と、制御部190とを備える。端末装置10に含まれる各ブロックは、例えば、バス等により電気的に接続される。
【0055】
通信部120は、端末装置10が他の装置と通信するための変復調処理等の処理を行う。通信部120は、制御部190で生成された信号に送信処理を施し、外部(例えば、サーバ20)へ送信する。通信部120は、外部から受信した信号に受信処理を施し、制御部190へ出力する。
【0056】
入力装置13は、端末装置10を操作するユーザが指示、または情報を入力するための装置である。入力装置13は、例えば、キーボード、マウス、リーダー等により実現されてもよい。端末装置10が携帯端末等である場合には、操作面へ触れることで指示が入力されるタッチ・センシティブ・デバイス131等により実現される。入力装置13は、ユーザから入力される指示を電気信号へ変換し、電気信号を制御部190へ出力する。なお、入力装置13には、例えば、外部の入力機器から入力される電気信号を受け付ける受信ポートが含まれてもよい。
【0057】
出力装置14は、端末装置10を操作するユーザへ情報を提示するための装置である。出力装置14は、例えば、ディスプレイ141等により実現される。ディスプレイ141は、制御部190の制御に応じたデータを表示する。ディスプレイ141は、例えば、LCD(Liquid Crystal Display)、または有機EL(Electro-Luminescence)ディスプレイ等によって実現される。
【0058】
音声処理部17は、例えば、音声信号のデジタル-アナログ変換処理を行う。音声処理部17は、マイク171から与えられる信号をデジタル信号に変換して、変換後の信号を制御部190へ与える。また、音声処理部17は、音声信号をスピーカー172へ与える。音声処理部17は、例えば音声処理用のプロセッサによって実現される。マイク171は、音声入力を受け付けて、当該音声入力に対応する音声信号を音声処理部17へ与える。スピーカー172は、音声処理部17から与えられる音声信号を音声に変換して当該音声を端末装置10の外部へ出力する。
【0059】
カメラ160は、受光素子により光を受光し、撮影信号として出力するためのデバイスである。
【0060】
位置情報センサ150は、端末装置10の位置を検出するセンサであり、例えばGPS(Global Positioning System)モジュールである。GPSモジュールは、衛星測位システムで用いられる受信装置である。衛星測位システムでは、少なくとも3個または4個の衛星からの信号を受信し、受信した信号に基づいて、GPSモジュールが搭載される端末装置10の現在位置を検出する。位置情報センサ150は、端末装置10が接続する無線基地局の位置から、端末装置10の現在の位置を検出してもよい。
【0061】
記憶部180は、例えば、メモリ15、およびストレージ16等により実現され、端末装置10が使用するデータ、およびプログラムを記憶する。記憶部180は、例えば、アカウント情報181を記憶する。
【0062】
アカウント情報181は、電子商取引サーバ30にログインする際に必要とされる端末装置10のユーザ(のアカウント)を特定するための情報であり、一例として、ユーザID、ユーザパスワードである。
【0063】
制御部190は、プロセッサ19が記憶部180に記憶されるプログラムを読み込み、プログラムに含まれる命令を実行することにより実現される。制御部190は、端末装置10の動作を制御する。制御部190は、プログラムに従って動作することにより、操作受付部191と、送受信部192と、提示制御部193としての機能を発揮する。
【0064】
操作受付部191は、入力装置13から入力される指示、または情報を受け付けるための処理を行う。具体的には、例えば、操作受付部191は、キーボード、マウス等から入力される指示に基づく情報を受け付ける。
【0065】
また、操作受付部191は、マイク171から入力される音声指示を受け付ける。具体的には、例えば、操作受付部191は、マイク171から入力され、音声処理部17でデジタル信号に変換された音声信号を受信する。操作受付部191は、例えば、受信した音声信号を分析して所定の名詞を抽出することで、ユーザからの指示を取得する。
【0066】
送受信部192は、端末装置10が、サーバ20等の外部の装置と、通信プロトコルに従ってデータを送受信するための処理を行う。具体的には、例えば、送受信部192は、ユーザから入力された業務内容をサーバ20へ送信する。また、送受信部192は、ユーザに関する情報を、サーバ20から受信する。
【0067】
提示制御部193は、サーバ20から提供された情報をユーザに対して提示するため、出力装置14を制御する。具体的には、例えば、提示制御部193は、サーバ20から送信される情報をディスプレイ141に表示させる。また、提示制御部193は、サーバ20から送信される情報をスピーカー172から出力させる。
【0068】
<1.2 サーバ20の機能的な構成>
図4は、サーバ20の機能的な構成の例を示す図である。図4に示すように、サーバ20は、通信部201と、記憶部202と、制御部203としての機能を発揮する。
【0069】
通信部201は、サーバ20が外部の装置と通信するための処理を行う。
【0070】
記憶部202は、例えば、ユーザ情報DB2021と、キーワード情報DB2022と、アバター情報DB2025と、キーワードDB2026等とを有する。
【0071】
ユーザ情報DB2021は、本実施形態のシステム1(特にサーバ20)を利用するユーザ(このユーザは端末装置10のユーザでもある)に関する情報を保持するためのデータベースである。詳細は後述する。
【0072】
キーワード情報DB2022は、サーバ20(特に後述するキーワード生成モジュール2034)が生成したキーワードに関する情報を保持するためのデータベースである。詳細は後述する。
【0073】
アバター情報DB2025は、サーバ20が提供する仮想空間内において各種行動を行うアバターに関する情報を保持するためのデータベースである。詳細は後述する。
【0074】
キーワードDB2026は、サーバ20のキーワード生成モジュール2034がキーワードを生成する際に参照するデータベースである。詳細は後述する。
【0075】
制御部203は、プロセッサ29が記憶部202に記憶されるプログラムを読み込み、プログラムに含まれる命令を実行することにより実現される。制御部203は、プログラムに従って動作することにより、受信制御モジュール2031、送信制御モジュール2032、出生情報等取得モジュール2033、キーワード生成モジュール2034、重み付けモジュール2035、相性値算出モジュール2036、相手選出モジュール2037、アバター管理モジュール2038として示す機能を発揮する。
【0076】
受信制御モジュール2031は、サーバ20が外部の装置から通信プロトコルに従って信号を受信する処理を制御する。
【0077】
送信制御モジュール2032は、サーバ20が外部の装置に対し通信プロトコルに従って信号を送信する処理を制御する。
【0078】
出生情報等取得モジュール2033は、端末装置10のユーザから、このユーザの固有情報である出生情報(第1情報)の入力を受け入れる。そして、出生情報等取得モジュール2033は、受け入れた固有情報のうち出生情報をユーザ情報DB2021に格納するとともに、出生情報を記憶部202に一時的に格納する。
【0079】
ここに、出生情報は、ユーザの生年月日に関する情報を必ず含み、ユーザの誕生時間に関する情報、ユーザの誕生場所の位置情報、ユーザの血液型のうち少なくとも一つが含まれうる。ユーザの誕生時間を出生情報に含めるのは、後述する占いエンジンであるキーワード生成モジュール2034は、出生情報として誕生時間を含めることで、ユーザ固有の(その意味でユーザに適した)キーワードを出力することができる。ユーザの誕生場所の位置情報についても、マッチングがよりユーザに適したものになるために出生情報として含めている。血液型に関する情報は、ユーザを4つの区分にカテゴライズする情報であるが、同様に、マッチングがよりユーザに適したものになるために出生情報として含めている。
【0080】
なお、出生情報等取得モジュール2033は、後述するアバター管理モジュール2038が生成するアバターを経由して、出生情報等の入力を受け入れてもよい。一例として、アバター管理モジュール2038が生成するアバターがユーザに対して出生情報等の入力を求める会話を行い、ユーザがアバターに対して出生情報等を回答する(入力する)ことで出生情報等の入力を受け入れてもよい。
【0081】
キーワード生成モジュール2034は、出生情報等取得モジュール2033が入力を受け入れた出生情報等に基づいて、ユーザに関連するキーワードを生成し、生成したキーワードをキーワード情報DB2022に格納する。
【0082】
キーワード生成モジュール2034は、上述した占いエンジンであり、占いが有する手順(アルゴリズムとも言える)に基づいて、出生情報等を入力とすることにより結果が導き出される統計処理を行うエンジンである。その意味で、占いエンジン毎の個体差は許容されているとはいえ、単体の占いエンジンであれば、入力データが定まれば、占いエンジンが出力するキーワードは一意に定まる。当然、キーワード生成モジュール2034が複数の占いエンジンを有し、これら複数の占いエンジンを用いて多数のキーワードを生成することも可能である。また、ユーザに対して占いエンジンの選択入力をさせ、選択された占いエンジンによりキーワードを生成してもよい。
【0083】
あるいは、キーワード生成モジュール2034は、キーワードDB2026を参照して、出生情報等を入力として一意に定められるキーワードを出力する。キーワードDB2026そのものは、上述したアルゴリズムに基づいて出生情報等を入力として事前に複数生成したキーワードを格納することにより生成すればよい。この場合、キーワードDB2026の説明の際にも言及するが、キーワードDB2026では、一つの出生情報等の入力に対して複数個のキーワードが関連付けられていることが好ましい。これにより、キーワード生成モジュール2034は、出生情報等を入力として複数の関連するキーワードを出力することができる。
【0084】
キーワード生成モジュール2034を構成する占いエンジンは、複数のキーワードを生成することができる。キーワード生成モジュール2034は、複数のキーワードを生成できるが、複数のキーワードのうちの一部のみを出力してもよい。
【0085】
ここで、出生情報等取得モジュール2033が出生情報(第1情報)の入力を受け入れる場合、キーワード生成モジュール2034は、第1情報に加えて所定の日時に関する情報(第2情報)を取得し、これら第1情報及び第2情報に基づいてキーワードを生成する。所定の日時の例として挙げられるものの一例としては、キーワード生成モジュール2034によりキーワードを生成する時の現在日時である。
【0086】
キーワード生成モジュール2034は、第1ユーザの第1情報及び第2情報から第1キーワード群を生成する。また、キーワード生成モジュール2034は、登録ユーザのうちの少なくとも一部の第1情報及び第2情報から第2キーワード群を生成する。
【0087】
なお、第1キーワード及び第2キーワードは、第1情報及び第2情報に基づいて一意に定まるキーワードである。
【0088】
重み付けモジュール2035は、キーワード生成モジュール2034が生成したキーワード群に対して重み付けを行う。重み付けモジュール2035は、第1ユーザの第1情報及び第2情報から第1キーワード群のそれぞれのキーワードに対して重み付けを行う。重み付けモジュール2035は、登録ユーザのうちの少なくとも一部の第1情報及び第2情報から第2キーワード群のそれぞれのキーワードに対して重み付けを行う。
【0089】
相性値算出モジュール2036は、第1ユーザと登録ユーザのうちの少なくとも一部との相性値を算出する。相性値は、第1ユーザの第1キーワード群と登録ユーザの第2キーワード群とを重み付けを考慮した類似性を評価するとともに第1ユーザと登録ユーザとの相性を数値化した評価値である。第1キーワード群と第2キーワード群との間の類似性が高いほど相性値の値は高い。相性値は、例えば、0以上1以下の値である。相性値が1の場合、第1ユーザと登録ユーザとの間の相性は最もよい。相性値が0の場合、第1ユーザと登録ユーザとの間の相性は最も悪い。
【0090】
相性値算出モジュール2036は、例えば、第1キーワード群のうちの1つのキーワードと第2キーワード群のうちの1つのキーワードの類似性を数値化し、その数値に重み付けを掛け合わせることとしてもよい。このときに、第1キーワード群の側の重み付け値と第2キーワード群の側の重み付け値との両方を掛け合わせるとよい。
【0091】
類似性に関する相性値である類似相性値CS1は、例えば、次の数式で与えられる。
CS1 = Σij (ai × bj × Eij) ………(1)
i : 第1ユーザの複数のキーワードに対する通し番号
j : 登録ユーザの複数のキーワードに対する通し番号
Σij: i,jについて和をとる
ai : 第1キーワードの重み付け値
bj : 第2キーワードの重み付け値
Eij: 第1キーワードと第2キーワードとの間の類似性の評価値
【0092】
上記の式は、第1キーワード群のキーワードと第2キーワード群のキーワードとの類似性を評価値Eijとして数値化し、それに第1キーワード群のキーワードの重み付け値aiと、第2キーワード群のキーワードの重み付け値bjと、を掛け合わせたものをすべての組み合わせについて和をとったものである。
【0093】
後述する図6のユーザ0001とユーザ0002との相性値を算出する場合を例に挙げる。まず、和の第1項は「赤い」というキーワードと「友達に連絡」というキーワードについての評価値である。a1は+2であり、b1は-2である。E11は「赤い」というキーワードと「友達に連絡」というキーワードの類似性の評価値である。これらの類似性の評価値は、例えば、シソーラス辞書の階層をまたぐ数距離で定義することができる。すなわち、シソーラス辞書において2つの単語が非常に近い階層に位置していれば高い評価値を付与し、遠い階層に位置していれば低い評価値を付与する。また、これらの2つの単語がシソーラス辞書における下位の階層に位置している場合に、評価値Eijの値として絶対値が大きな値を用いることとしてもよい。または、シソーラス辞書における2つの言葉の距離で類似性を評価してもよい。
【0094】
和の第2項は「赤い」というキーワードと「一家団欒」というキーワードとについて評価値を算出する。このように、順次計算した評価値を足し合わせることにより、相性値CS1が算出される。
【0095】
この際、第1キーワード群の側の重み付け値を大きくするように設定してもよい。例えば、第1キーワード群の側の重み付け値を2倍にしてもよい。また、逆に、第2キーワード群の側の重み付け値を大きくするように設定してもよい。
【0096】
なお、相性値算出モジュール2036は、必ずしも最大値や最小値を設定しなくてもよい。または、計算後に、例えば、0以上100以下の実数にスケーリングしてもよい。
【0097】
相手選出モジュール2037は、相性値を算出した登録ユーザを相性値が高い順に並び替える。相手選出モジュール2037は、例えば、相性値が高い上位5人を選出する。相手選出モジュール2037は、例えば、その上位5人をユーザ名及び相性値を表示させる。表示する登録ユーザの数は適宜変更してもよい。
【0098】
アバター管理モジュール2038は、サーバ20内に仮想空間を形成し、この仮想空間内において、ユーザ毎のアバターを生成してこのアバターを仮想空間内において行動させる。アバター管理モジュール2038は、アバター情報DB2025を参照して、ユーザ毎のアバターの行動パターン及び性格を決定し、決定した行動パターン及び性格に基づいて仮想空間内において各種行動をさせる。アバター情報DB2025に格納されているユーザ毎のアバターの行動パターン及び性格は、アバター管理モジュール2038が事前に規定値を割り振る形で設定してもよいが、キーワード生成モジュール2034が生成した第1キーワードに基づいて、アバター管理モジュール2038が決定してもよい。また、ユーザとアバターとの間の会話入力(主にユーザからの入力)に基づいて、アバター管理モジュール2038がアバターの行動パターン及び性格を設定、変更してもよい。
【0099】
<2 データ構造>
図5図7は、サーバ20が記憶するデータベースのデータ構造を示す図である。なお、図5図7は一例であり、記載されていないデータを除外するものではない。
【0100】
図5図7に示すデータベースは、リレーショナルデータベースを指し、行と列によって構造的に規定された表形式のテーブルと呼ばれるデータ集合を、互いに関連づけて管理するためのものである。データベースでは、表をテーブル、表の列をカラム、表の行をレコードと呼ぶ。リレーショナルデータベースでは、テーブル同士の関係を設定し、関連づけることができる。
【0101】
通常、各テーブルにはレコードを一意に特定するための主キーとなるカラムが設定されるが、カラムへの主キーの設定は必須ではない。サーバ20及び電子商取引サーバ30の制御部203、303は、各種プログラムに従ってプロセッサ29に、記憶部202、302に記憶された特定のテーブルにレコードを追加、削除、更新を実行させることができる。
【0102】
図5は、ユーザ情報DB2021のデータ構造を示す図である。図5に示すように、ユーザ情報DB2021のレコードの各々は、例えば、項目「ユーザID」と、項目「ユーザPW」と、項目「誕生日時」とを含む。ユーザ情報DB2021に記憶された情報のうち、項目「ユーザID」「ユーザPW」は、ユーザがはじめて本実施形態のシステム1にユーザ登録した際に制御部203が付与した情報であり、項目「誕生日時」は、サーバ20の出生情報等取得モジュール2033がユーザから取得した情報である。ユーザ情報DB2021が記憶する情報は、適宜変更・更新することが可能である。
【0103】
項目「ユーザID」は、本実施形態のシステム1(特にサーバ20)を利用するユーザを特定するためのIDである。項目「ユーザPW」は、ユーザが本実施形態のシステム1にログインする際に用いるパスワードである。サーバ20は、これら項目「ユーザID」「ユーザPW」と、ログイン時にユーザが入力する情報とを用いてユーザの認証を行う。項目「誕生日時」は、出生情報等取得モジュール2033が取得した第1情報であるユーザの出生情報である。
【0104】
図6は、キーワード情報DB2022のデータ構造を示す図である。図6に示すように、キーワード情報DB2022のレコードの各々は、例えば、項目「ユーザID」と、項目「生成年月日」と、項目「キーワードID」と、項目「キーワード」と、項目「属性」と、項目「重み付け」と、項目「パラメータ」とを含む。キーワード情報DB2022に記憶された情報のうち、項目「ユーザID」「生成年月日」「キーワードID」「キーワード」は、キーワード生成モジュール2034が、ユーザ情報DB2021を参照して生成した情報であり、項目「属性」「重み付け」は、例えば、重み付けモジュール2035が生成し、項目「パラメータ」は、例えば、重み付けモジュール2035が生成する。キーワード情報DB2022が記憶する情報は、適宜変更・更新することが可能である。
【0105】
項目「ユーザID」は、ユーザを特定するためのIDであり、ユーザ情報DB2021の項目「ユーザID」と共通である。項目「生成年月日」は、キーワード生成モジュール2034によりキーワードが生成された年月日を示す情報である。項目「キーワードID」は、キーワード生成モジュール2034により生成されたキーワードを特定するための情報である。項目「キーワード」は、キーワードIDにより特定されるキーワードを示す情報である。本実施形態のキーワード情報DB2022において、キーワードはユーザ毎、生成年月日毎に分類されている。よって、仮に「キーワード」が同じ情報であっても、ユーザ、生成年月日が違えば異なるキーワードとして管理される。項目「属性」は、キーワードIDにより特定されるキーワードの属性を示す情報である。項目「重み付け」は、キーワードIDにより特定されるキーワードの重み付けの値を示す情報である。図6に示す例では、重み付けの値は0を中心に正負の値を取るが、重み付けの値は図示例に限定されない。項目「パラメータ」は、キーワードIDにより特定されるキーワードのパラメータ値を示す情報である。図7に示す例では、パラメータ値は0以上の値であるが、パラメータ値は図示例に限定されない。
【0106】
図7は、キーワードDB2026のデータ構造を示す図である。図7に示すように、キーワードDB2026のレコードの各々は、例えば、項目「キーワードID」と、項目「出生情報」と、項目「日時」と、項目「キーワード」とを含む。キーワード情報DB2022に記憶された情報は、キーワード生成モジュール2034が生成した情報である。キーワードDB2026が記憶する情報は、適宜変更・更新することが可能である。
【0107】
項目「キーワードID」は、キーワード生成モジュール2034により生成されたキーワードを特定するための情報である。項目「出生情報」は、キーワードIDにより特定されるキーワードに一意に関連付けられた出生情報である。項目「日付」は、キーワードIDにより特定されるキーワードに一意に関連付けられた日付である。項目「キーワード」は、キーワードIDにより特定されるキーワードを示す情報である。
【0108】
図7に示すように、キーワードDB2026では、一つの出生情報等の入力に対して複数個のキーワードが関連付けられている。これにより、キーワード生成モジュール2034は、出生情報等を入力として複数の関連するキーワードを出力することができる。
【0109】
<3 動作例>
以下、サーバ20の動作の一例について説明する。
【0110】
図8は、サーバ20の動作の一例を表すフローチャートである。図8は、端末装置10の第1ユーザが、出生情報である第1情報を入力し、第1ユーザの第1情報等に基づいてサーバ20が第1キーワード群を生成し、登録ユーザの第1情報等に基づいてサーバ20が第2キーワード群を生成し、第1キーワード群と第2キーワード群との類似性を評価する相性値を算出し、その相性値に基づいてサーバ20がマッチング相手を第1ユーザに提示する際の動作の例を表すフローチャートである。
【0111】
ステップS1400において、制御部203は、端末装置10に対して、端末装置10のユーザの出生情報等の入力を求める画面データを送出する。具体的には、例えば、制御部203は、出生情報等取得モジュール2033により画面データを生成し、生成した画面データをネットワーク80経由で端末装置10に送出する。画面データが送出された端末装置10の制御部190は、例えば、送受信部192、通信部120を介して画面データを受信し、提示制御部193により、受信した画面データに基づいてディスプレイ141に所定の表示画面を生成して表示する。
【0112】
ステップS1401において、制御部203は、端末装置10のユーザによる出生情報等の入力を待ち、ユーザの操作入力を受け入れたら(ステップS1401においてYES)、ステップS1402に進む。具体的には、例えば、端末装置10の制御部190の操作受付部191は、ユーザがタッチ・センシティブ・デバイス131経由で入力した出生情報等の操作入力を受け入れ、入力された出生情報等を、送受信部192、通信部120及びネットワーク80を介してサーバ20に送信する。サーバ20の制御部203は、例えば出生情報等取得モジュール2033により、端末装置10から送信されたユーザの出生情報等を受け入れ、ユーザ情報DB2021に格納する。このように、制御部203は、第1ユーザから第1ユーザの出生情報に関する第1情報の入力を受け入れるとともに所定の日時に関する第2情報を取得する。第2情報は、例えば、第1ユーザが第1情報を入力し、出生情報等取得モジュール2033がユーザ情報DB2021に第1情報を格納した時刻である。
【0113】
ステップS1402において、制御部203は、ステップS1401において受け入れた端末装置10のユーザの出生情報等、及び、必要に応じて第2情報である所定の日時(一般的には現在の日時)に基づいて第1キーワード群を生成する。具体的には、例えば、制御部203は、キーワード生成モジュール2034により、端末装置10のユーザの出生情報等、及び、第2情報である所定の日時に基づいて第1キーワード群を生成する。
【0114】
ステップS1403において、制御部203は、登録ユーザのうちの少なくとも一部のユーザの出生情報等、及び上記の第2情報に基づいて第2キーワード群を生成する。具体的には、例えば、制御部203は、キーワード生成モジュール2034により、登録ユーザの出生情報等、及び、第2情報である所定の日時に基づいて第1キーワード群を生成する。ここで、第2情報は、ステップS1402で用いるものと同じである。
【0115】
ステップS1404において、重み付けモジュール2035は、第1キーワード群に対して属性、重み付けの値を付与し、付与した属性等をキーワード情報DB2022に格納する。また、属性に応じて重み付けの値を変更してもよい。
【0116】
ステップS1405において、重み付けモジュール2035は、第2キーワード群に対して属性、重み付けの値を付与し、付与した属性等をキーワード情報DB2022に格納する。また、属性に応じて重み付けの値を変更してもよい。
【0117】
ステップS1406において、相性値算出モジュール2036は、相性値を算出する。その際に、第1キーワード群のキーワードと第2キーワード群のキーワードとの間の類似性を数値化し、その数値に、第1キーワード群の側の重み付け値と、第2キーワード群の側の重み付け値と、を掛け合わせればよい。もちろん、その他の処理をしてもよい。
【0118】
ステップS1407において、相手選出モジュール2037は、マッチング相手を選出する。その際に例えば、相手選出モジュール2037は、相性値を算出した登録ユーザのうちの上位5名のユーザ名及び相性値を端末装置10に表示させる。その際に、例えば、相性値を0以上100以下の値にスケーリングするとよい。提示を受ける第1ユーザが、ピックアップされた登録ユーザとの相性の良さをイメージしやすいからである。
【0119】
<4 画面例>
以下、端末装置10に出力される画面の一例を、図9図12を参照して説明する。
【0120】
図9は、端末装置10のユーザが、本実施形態のシステム1(サーバ20)にログインした際に、端末装置10に表示される画面を示す図である。
【0121】
端末装置10の画面1500には、サーバ20のアバター管理モジュール2038により生成されたアバター1501が表示され、また、このアバター1501からの質問が表示される領域1502が表示されている。領域1502には、端末装置10のユーザの出生情報等の入力をユーザに求めることが記載されている。
【0122】
図10は、図9に示す画面が表示されたことに引き続いて、端末装置10に表示される画面を示す図である。
【0123】
サーバ20のアバター管理モジュール2038及び出生情報等取得モジュール2033は、端末装置10に対して、図10に示すような画面1600をそのディスプレイ141に表示させる。画面1600には、引き続きアバター1601が表示されており、このアバター1601からの質問が表示される領域1602が表示されている。領域1502には、ユーザの出生情報等を入力する欄が設けられている。端末装置10のユーザは、領域1602に出生情報等を入力し、入力した出生情報等をサーバ20に送信してよいと判断した場合は、「OK!」1603ボタンをタッチする等して入力操作を行う。一方、ユーザが出生情報等の送信を希望しない場合、ユーザは「キャンセル」ボタン1604をタッチする等して入力操作を行う。「OK!」ボタン1603に対するタッチ等の入力操作があると、端末装置10のユーザの出生情報等がサーバ20に送出され、ユーザ情報DB2021に格納される。
【0124】
図11は、図10において端末装置10のユーザが「OK!」ボタン1603の入力操作を行ったことを受けて、端末装置10のユーザに対して血液型情報の入力を求めるために端末装置10に表示される画面を示す図である。
【0125】
サーバ20のアバター管理モジュール2038及び出生情報等取得モジュール2033は、端末装置10に対して、図11に示すような画面1700をそのディスプレイ141に表示させる。画面1700には、引き続きアバター1701が表示されており、このアバター1701からの質問が表示される領域1702が表示されている。領域1702には、ユーザの血液型を入力する欄が設けられている。端末装置10のユーザは、領域1702に血液型を入力し、入力した血液型情報をサーバ20に送信してよいと判断した場合は、「OK!」1703ボタンをタッチする等して入力操作を行う。一方、ユーザが血液型情報の送信を希望しない場合、ユーザーは「キャンセル」ボタン1704をタッチする等して入力操作を行う。「OK!」ボタン1703に対するタッチ等の入力操作があると、端末装置10のユーザの血液型情報がサーバ20に送出され、ユーザ情報DB2021に格納される。
【0126】
図12は、相手選出モジュール2037により提示されるサービスを表示する画面を示す図である。
【0127】
サーバ20のアバター管理モジュール2038は、端末装置10に対して、図12に示すような画面1800をそのディスプレイ141に表示させる。画面1800には、引き続きアバター1801が表示されており、このアバター1801からのメッセージが表示される領域1802が表示されている。領域1802には、相手選出モジュール2037により選出された登録ユーザのうち上位2名の情報が表示されている。領域1802には、Aさん及びBさんのユーザ名、相性値、年齢、血液型、星座、キーワードが表示されている。
【0128】
ユーザは「続き」ボタン1803にタッチ等の入力操作をすることにより、例えば、Aさんを選択してお気に入りに登録することができる。
【0129】
ユーザが「終了」ボタン1804にタッチ等の入力操作をすることにより、マッチングを終了させることができる。
【0130】
<5 第1実施形態の効果>
以上詳細に説明したように、本実施形態のシステム1によれば、端末装置10のユーザからユーザの固有情報である出生情報等の入力を受け入れ、この出生情報等に基づいてユーザに関連する第1キーワード群を生成し、一方、登録ユーザのうちの少なくとも一部のユーザの出生情報等に基づいて登録ユーザに関連する第2キーワード群を生成し、第1キーワード群と第2キーワード群との間の類似性を評価する相性値を算出し、相性値の高い登録ユーザの情報をユーザに提示する。これにより、ユーザ及び登録ユーザの出生情報等に基づいて相性のよい登録ユーザをユーザに提示することができる。
【0131】
例えば、第2情報として現在日時を用いるとともに、占術としてホロスコープを用いると、第1ユーザ及び登録ユーザの出生時及び現在日時のホロスコープに基づいたキーワードが追加されることになる。このように現在日時のホロスコープ情報が用いられるため、第2情報としての現在日時が変わると、それにともなって相性値も変わる。
【0132】
<6 変形例>
<キーワード群>
第1キーワード群及び第2キーワード群は、それぞれ、1個のキーワードであってもよい。すなわち、第1キーワード群は1つの第1キーワードであってもよい。第2キーワード群は1つの第2キーワードであってもよい。
【0133】
<相性値>
相性値CS1は、大きければ第1ユーザと登録ユーザとの相性がよいことを示し、小さければ第1ユーザと登録ユーザとの相性がよくないことを示している。相性値CS1を算出するにあたって、ai及びbjを0以上1以下の実数で規格化してもよい。また、評価値Eijが正または負の実数であるとよい。
【0134】
また、キーワードの数がそれほど多くない場合には、評価値Eijをテーブル化してもよい。計算の度にシソーラス辞書の階層をまたぐ数を数えるより、計算が速いからである。
【0135】
相性値をその他のアルゴリズムにより算出してもよい。
【0136】
<重み付け値の調整>
第1キーワードに対して重み付けを行うステップにおいて、第1ユーザの出生情報から生成されるキーワードの重み付けの値を1次的に発生させ、その重み付けの値をさらに大きい値に設定し、第2キーワードに対して重み付けを行うステップにおいて、登録ユーザの出生情報から生成されるキーワードの重み付けの値を1次的に発生させ、その重み付けの値をさらに大きい値に設定してもよい。この場合には、出生情報に基づく相性が重要視される。長い期間にわたって相性のよい相手をピックアップすることができる。
【0137】
上記とは反対に、第1キーワードに対して重み付けを行うステップにおいて、第1ユーザの出生情報から生成されるキーワードの重み付けの値を1次的に発生させ、その重み付けの値をさらに小さい値に設定し、第2キーワードに対して重み付けを行うステップにおいて、登録ユーザの出生情報から生成されるキーワードの重み付けの値を1次的に発生させ、その重み付けの値をさらに小さい値に設定してもよい。この場合には、例えば、その日の相性がよい相手をピックアップすることができる。
【0138】
第1キーワード群及び第2キーワード群には必ずしも重み付けを付与しなくてもよい。その場合には、重み付け値を1にすればよい。
【0139】
<第2情報>
第2情報は、第1ユーザ及び登録ユーザに共通の情報である。また、制御部203は、第2情報として所定の日時を第1ユーザから受け付けてもよい。また、場合によっては、第1ユーザの第2情報と登録ユーザの第2情報とは別々の年月日であってもよい場合がある。
【0140】
<ホロスコープ>
プロセッサ29は、ホロスコープを利用してもよい。この場合に、プロセッサ29は、出生情報に第1共通点を有するユーザを含む第1ユーザ群を設定するステップと、出生情報に第2共通点を有し第1ユーザ群に含まれないユーザを含む第2ユーザ群を設定するステップと、第1共通点に基づいて第1群に関連する第1キーワードを生成するステップと、第2共通点に基づいて第2群に関連する第2キーワードを生成するステップと、第1キーワードと第2キーワードとの間の類似性に基づいて、第2ユーザ群のうちから第1ユーザ群のマッチング相手となる群を選出するステップと、選出したマッチング相手に関する情報を第1ユーザに提示するステップと、を実行する。
【0141】
例えば、第1ユーザ群は牡羊座であり、第1共通点は牡羊座の誕生日の期間であり、第2ユーザ群は乙女座であり、第2共通点は乙女座の誕生日の期間である。この場合には、プロセッサ29は、牡羊座の特徴から第1ユーザ群に対するキーワードを作成するとともに乙女座の特徴から第2ユーザ群に対するキーワードを作成する。これにより、第1ユーザ群と第2ユーザ群との間で相性値を計算することができる。
【0142】
プロセッサ29は、第1ユーザの第1情報および第2情報とに基づいて第1ユーザが属するグループとして第1グループを指定するステップと、登録ユーザの第1情報および第2情報とに基づいて登録ユーザが属するグループとして第2グループを指定するステップと、を実行させ、第1キーワードを生成するステップにおいて、第1グループの特性から第1キーワード群に第1キーワードを追加し、第2キーワードを生成するステップにおいて、第2グループの特性から第2キーワード群に第2キーワードを追加する処理を実行してもよい。例えば、第1グループ及び第2グループは占星術における星座である。これにより、星座の特性からキーワードを辿って相性値を算出することができる。
【0143】
<お気に入り>
プロセッサ29は、マッチング相手を選出するステップにおいて複数のマッチング相手を選出し、マッチング相手を提示するステップにおいて複数のマッチング相手を提示し、複数のマッチング相手から第1ユーザによる1以上のマッチング相手の選択を受け付けるステップと、受け付けたマッチング相手のアカウント情報を特定するための情報を第1ユーザのアカウント情報と関連させて記憶させるステップと、を実行してもよい。第1ユーザは、マッチング相手の情報をお気に入りとして登録することができる。また、その際の第2情報等をこれらの情報に紐付けてデータベースに登録することができるようになっていてもよい。
【0144】
<アバター>
プロセッサ29は、第1キーワードに基づいて、第1ユーザを象徴するアバターを仮想空間内に生成するステップを実行してもよい。また、プロセッサ29は、アバターの行動パターンと性格との少なくとも一方を、第1キーワードに基づいて設定してもよい。
【0145】
図13は、アバター情報DB2025のデータ構造の例を示す図である。図13に示すように、ユーザごとにアバターの性格および行動パターンが決められている。また、アバターの性格または行動パターンに対応して、アバターのアニメーションがメモリ25に格納されている。
【0146】
<キーワードの絞り込み>
処理の作業量を削減する観点から、キーワードを削減してもよい。また、重み付け値に基づいてキーワードを選定する場合、重み付け値の大きい順に一定数のキーワードを選定する、重み付け値が所定値以上のキーワードに選定する、など、種々の選定作業が可能である。
【0147】
<登録ユーザの絞り込み>
処理の作業量を削減する観点から、マッチング相手として相性値を算出する対象となる登録ユーザの数を絞ってもよい。そのために、例えば、登録ユーザの登録順で1000ユーザをピックアップしてもよい。もちろん、ピックアップするユーザの数は変更してもよい。または、ログイン日時が新しい登録ユーザから一定数のユーザをピックアップしてもよい。もしくは、第1ユーザの誕生年を基準にして予め定めた年の範囲内の登録ユーザをピックアップしてもよい。例えば、第1ユーザの年齢から前後5歳以下の登録ユーザをピックアップすることができる。この場合であっても、登録ユーザのうちの少なくとも一部について相性値を算出することに変わりは無い。
【0148】
または、第1ユーザから、最終ログインからの経過日数、マッチング相手の年齢の範囲、マッチング相手の地域、を受け付けてもよい。その場合には、プロセッサ29は、その条件を満たす登録ユーザをピックアップし、相性値を計算する。ここで、必ずしも、条件を満たす全ての登録ユーザに対して相性値を計算する必要は無い。条件を満たす登録ユーザのうちの一部のユーザに対して相性値を算出してもよい。
【0149】
<形態素分解>
制御部203は、形態素分解モジュールを有していてもよい。形態素分解モジュールは、キーワードを形態素分解する。例えば、「友達に連絡」というキーワードを「友達」と「連絡」という2つのキーワードに分解する。
【0150】
<複数の占術>
キーワード生成モジュール2034がキーワードを生成するにあたって、いずれの占術を用いてもよい。また、キーワード生成モジュール2034は、複数の占術を用いてキーワードを生成してもよい。キーワード生成モジュール2034は、例えば、四柱推命と占星術とからキーワードを生成することができる。
【0151】
<第2実施形態>
<1.1 サーバ20の機能的な構成>
図14は、システム1Aの全体構成の例を示すブロック図である。図14に示すシステム1Aは、例えば、端末装置10A、サーバ20A、サービスサイトの一例である電子商取引サーバ30を含む。端末装置10A、サーバ20A、及び電子商取引サーバ30は、例えば、ネットワーク80を介して通信接続する。
【0152】
電子商取引サーバ30のハードウェア構成はサーバ20のハードウェア構成と同一である。
【0153】
電子商取引サーバ30は、例えば、ネットワーク80に接続されたコンピュータにより実現される。電子商取引サーバ30はいわゆるウェブサーバであり、商品、サービスを提示するページを多数用意し、このページを閲覧したユーザが、ページに提示された商品等の購入を希望する操作入力を受け入れ、この操作入力に基づいて、商品配送、代金決済等を行う。電子商取引サーバ30は、かかる商品購入から商品発送、代金決済までのプラットフォームを提供するサーバであってもよく、この場合、ページに記載された内容の決定、商品発送等、いわゆる電子商取引手続の一部は、電子商取引プラットフォームに参加する個別の販売業者が行うことがある。電子商取引サーバ30は、この電子商取引サーバ30を利用するユーザの過去の購買履歴を有する。
【0154】
図14において、電子商取引サーバ30は単体で設けられているが、複数の装置の集合体を1つの電子商取引サーバ30としてもよい。
【0155】
図15は、第2の実施形態の端末装置10Aの機能的な構成の例を示す図である。端末装置10Aは、第1の実施系形態の端末装置10Aの記憶部180にサイト特定情報182を記憶させたものである。
【0156】
サイト特定情報182は、電子商取引サーバ30がユーザを特定するための情報であり、アカウント情報181等を用いて端末装置10Aのユーザがログインした際に、電子商取引サーバ30から端末装置10Aに提供される情報である。このようなサイト特定情報182の一例として、HTTP Cookie(クッキー)と呼ばれる情報が知られている。但し、クッキーは個人情報保護の観点からユーザに忌避されることが最近増えてきているので、個人情報との結びつきが薄いサイト特定情報182を用いることが好ましい。
【0157】
図16は、第2の実施形態のサーバ20Aの機能的な構成の例を示す図である。サーバ20Aは、第1の実施系形態のサーバ20にサイト閲覧情報DB2024及びサイト検索モジュール2039を付加したものである。
【0158】
サイト閲覧情報DB2024は、端末装置10Aのユーザが電子商取引サーバ30を閲覧した履歴情報を保持するためのデータベースである。この履歴情報には電子商取引サーバ30の購買履歴情報も含まれる。
【0159】
サイト検索モジュール2039は、電子商取引サーバ30内を検索してキーワードを取得し、検索結果であるサイトキーワードを一時的に記憶部202に格納する。本実施形態のシステム1Aでは、サーバ20Aが電子商取引サーバ30を検索するパターンと、電子商取引サーバ30自身が検索するパターンとの双方について説明する。いずれのパターンのみ、あるいは双方のパターンを併用するかは、システム1Aによって定めればよい。サイト検索モジュール2039は、サーバ20Aが電子商取引サーバ30を検索する際に用いられるモジュールである。サイト検索モジュール2039は、電子商取引サーバ30のユーザのアカウント情報181がアカウント情報DB2023に格納されていれば、このアカウント情報181を用いて電子商取引サーバ30に格納されているユーザ毎の購買履歴情報DB3021及びサイト閲覧情報DB3023を参照し、過去ユーザが電子商取引サーバ30においてサービスを購買した履歴があるページから、あるいは、このページを優先して、サイトキーワードを取得してもよい。また、電子商取引サーバ30がユーザ毎の購買履歴情報DB3021及びサイト閲覧情報DB3023の参照を許可しない場合などでは、サイト検索モジュール2039は、ユーザの購買履歴を参照せずに電子商取引サーバ30内を検索してキーワードを取得し、検索結果であるサイトキーワードを一時的に記憶部202に格納してもよい。
【0160】
サイト検索モジュール2039による電子商取引サーバ30の検索のタイミングも任意である。
【0161】
<1.2 電子商取引サーバ30の機能的な構成>
図17は、電子商取引サーバ30の機能的な構成の例を示す図である。図17に示すように、電子商取引サーバ30は、通信部301と、記憶部302と、制御部303としての機能を発揮する。
【0162】
通信部301は、電子商取引サーバ30が外部の装置と通信するための処理を行う。
【0163】
記憶部302は、例えば、購買履歴情報DB3021と、画面ページデータ3022と、サイト閲覧情報DB3023等とを有する。
【0164】
購買履歴情報DB3021は、電子商取引サーバ30を利用するユーザがこの電子商取引サーバ30においてサービス、商品等を購買した履歴に関する情報を保持するためのデータベースである。詳細は後述する。
【0165】
画面ページデータ3022は、電子商取引サーバ30に設けられるページを構成するためのデータである。
【0166】
サイト閲覧情報DB3023は、端末装置10Aのユーザが電子商取引サーバ30を閲覧した履歴情報を保持するためのデータベースである。この履歴情報には電子商取引サーバ30の購買履歴情報も含まれる。
【0167】
制御部303は、電子商取引サーバ30のプロセッサが記憶部302に記憶されるプログラムを読み込み、プログラムに含まれる命令を実行することにより実現される。制御部303は、プログラムに従って動作することにより、受信制御モジュール3031、送信制御モジュール3032、サイト内検索モジュール3033、情報提示モジュール3034、サイト閲覧検出モジュール3035、電子商取引モジュール3036及び、決済モジュール3037として示す機能を発揮する。
【0168】
受信制御モジュール3031は、電子商取引サーバ30が外部の装置から通信プロトコルに従って信号を受信する処理を制御する。
【0169】
送信制御モジュール3032は、電子商取引サーバ30が外部の装置に対し通信プロトコルに従って信号を送信する処理を制御する。
【0170】
サイト内検索モジュール3033は、電子商取引サーバ30内を検索してキーワードを取得し、検索結果であるサイトキーワードを一時的に記憶部302に格納する。サイト内検索モジュール3033は、電子商取引サーバ30が自身の電子商取引サーバ30を検索する際に用いられるモジュールである。サイト内検索モジュール3033は、ユーザの購買履歴情報DB3021及びサイト閲覧情報DB3023を参照し、過去ユーザが電子商取引サーバ30においてサービスを購買した履歴があるページから、あるいは、このページを優先して、サイトキーワードを取得してもよい。
【0171】
サイト内検索モジュール3033による電子商取引サーバ30の検索のタイミングも任意である。
【0172】
情報提示モジュール3034は、サーバ20Aからの要求に応じて、マッチングの結果に基づく電子商取引サーバ30内のサービスを選定し、このサービスについての情報をサーバ20Aの制御部203に送出する。
【0173】
サイト閲覧検出モジュール3035は、ユーザを含む電子商取引サーバ30内の訪問者が電子商取引サーバ30を閲覧したことを検出し、この閲覧履歴をサイト閲覧情報DB2024に格納する。
【0174】
電子商取引モジュール3036は、電子商取引サーバ30を閲覧(訪問)したユーザを含む訪問者に対して、画面ページデータ3022等を用いて電子商取引のためのページを生成して訪問者の端末(含むユーザの端末装置10)に送信し、訪問者からの操作入力に基づいてページを遷移させ、購買入力があったら入力に係るサービス、商品を訪問者に販売、提供する。電子商取引モジュール3036の動作は公知のものであり、これ以上の説明を省略する。
【0175】
決済モジュール3037は、電子商取引モジュール3036によるサービス等の販売があったら、外部の決済サーバを含めた決済処理を行う。
【0176】
<2 データ構造>
アカウント情報DB2023は、端末装置10Aのユーザが電子商取引サーバ30にアクセスする際に使用するアカウント情報181を保持するためのデータベースである。
【0177】
図18は、アカウント情報DB2023のデータ構造を示す図である。図18に示すように、アカウント情報DB2023のレコードの各々は、例えば、項目「ユーザID」と、項目「サイトID」と、項目「電子商取引サイト」と、項目「サイト_ユーザーID」と、項目「サイト_ユーザーPW」とを含む。アカウント情報DB2023に記憶された情報のうち、項目「ユーザID」「サイトID」は制御部203が付与した情報であり、項目「電子商取引サイト」「サイト_ユーザーID」「サイト_ユーザーPW」は、ユーザが端末装置10内にあるアカウント情報181を制御部203に提供することにより取得した情報である。アカウント情報DB2023が記憶する情報は、適宜変更・更新することが可能である。
【0178】
項目「ユーザID」は、ユーザを特定するためのIDであり、ユーザ情報DB2021の項目「ユーザID」と共通である。項目「サイトID」は、アカウント情報181を必要とする電子商取引サーバ(サイト)30を特定するための情報である。項目「電子商取引サイト」は、項目「サイトID」により特定される電子商取引サーバ(サイト)30の名称に関する情報である。項目「サイト_ユーザーID」は、項目「サイトID」により特定される電子商取引サーバ(サイト)30にユーザ名義でログインする際に必要なユーザIDに関する情報である。項目「サイト_ユーザーPW」は、項目「サイトID」により特定される電子商取引サーバ(サイト)30にユーザ名義でログインする際に必要なユーザパスワードに関する情報である。
【0179】
図19は、購買履歴情報DB3021のデータ構造を示す図である。図19に示すように、購買履歴情報DB3021のレコードの各々は、例えば、項目「サイト_ユーザーID」と、項目「閲覧ページID」と、項目「閲覧ページURL」と、項目「購入商品」とを含む。購買履歴情報DB3021に記憶された情報は、サイト閲覧検出モジュール3035及び電子商取引モジュール3036が作成し、購買履歴情報DB3021に格納する。購買履歴情報DB3021が記憶する情報は、適宜変更・更新することが可能である。
【0180】
項目「サイト_ユーザーID」は、電子商取引サーバ30におけるユーザを特定するための情報であり、アカウント情報DB2023の項目「サイト_ユーザーID」と共通である。項目「閲覧ページID」は、項目「サイト_ユーザーID」により特定されるユーザが閲覧したページを特定するための情報であり、アカウント情報DB2023の項目「閲覧ページID」と共通である。項目「閲覧ページURL」は、項目「閲覧ページID」により特定される電子商取引サーバ(サイト)30のURLに関する情報であり、アカウント情報DB2023の項目「閲覧ページURL」と共通である。項目「購入商品」は、項目「サイト_ユーザーID」により特定されるユーザが、項目「閲覧ページID」により特定される電子商取引サーバ(サイト)30のページにおいてサービス等を購入した場合、購入したサービス等の名称に関する情報である。
【0181】
<3 動作例>
以下、サーバ20Aの動作の一例について説明する。
【0182】
図20は、サーバ20Aの動作の一例を表すフローチャートである。
【0183】
ステップS2400において、ステップS1400と同様に、制御部203は、端末装置10Aに対して、端末装置10のユーザの出生情報等の入力を求める画面データを送出する。
【0184】
ステップS2401において、ステップS1401と同様に、制御部203は、端末装置10のユーザによる出生情報等の入力を待ち、ユーザの操作入力を受け入れたら(ステップS1401においてYES)、ステップS1402に進む。
【0185】
ステップS2402において、第1ユーザ及び登録ユーザのうちの少なくとも一部のユーザの購買履歴を取得する。まず、キーワード生成モジュール2034は、図18に示すアカウント情報DB2023にアクセスする。キーワード生成モジュール2034は、第1ユーザ及び登録ユーザのサイトユーザ、電子商取引サイトのデータを取得する。
【0186】
次に、図19に示す購買履歴情報DB3021から購入商品のデータを取得する。サイト検索モジュール2039が電子商取引サーバ30の記憶部302の購買履歴情報DB3021にアクセスする。購買履歴情報DB3021は、第1ユーザの購買履歴及び登録ユーザの購買履歴の情報を有している。制御部203は、購買履歴情報DB3021から第1ユーザの購買履歴及び登録ユーザの購買履歴の情報を取得する。そして、第1ユーザの購買履歴及び登録ユーザの購買履歴の情報をキーワード生成モジュール2034に送信する。
【0187】
ステップS2403において、ステップS1402と同様に、制御部203は、ステップS2401において受け入れた端末装置10のユーザの出生情報等、及び、必要に応じて第2情報である所定の日時(一般的には現在の日時)に基づいて第1キーワード群を生成する。具体的には、例えば、制御部203は、キーワード生成モジュール2034により、端末装置10Aのユーザの出生情報等、及び、第2情報である所定の日時に基づいて第1キーワード群を生成する。
【0188】
また、制御部203は、電子商取引サーバ30の購買履歴情報DB3021を参照し、第1ユーザの購買履歴情報に基づいて、キーワードを生成し、第1キーワード群にキーワードを追加する。ここで、購入商品自体をキーワードとしてもよいし、キーワード生成モジュール2034が購入商品と関連したキーワードを生成してもよい。または、キーワード生成モジュール2034は、電子商取引サイトのサイトキーワードに基づいてキーワードを生成してもよい。
【0189】
ステップS2404において、ステップS1403と同様に、制御部203は、登録ユーザのうちの少なくとも一部のユーザの出生情報等、及び上記の第2情報に基づいて第2キーワード群を生成する。具体的には、例えば、制御部203は、キーワード生成モジュール2034により、登録ユーザの出生情報等、及び、第2情報である所定の日時に基づいて第1キーワード群を生成する。ここで、第2情報は、ステップS1402で用いるものと同じである。また、制御部203は、電子商取引サーバ30の購買履歴情報DB3021を参照し、登録ユーザの購買履歴情報に基づいて、キーワードを生成し、第2キーワード群にキーワードを追加する。
【0190】
ステップS2405において、ステップS1404と同様に、重み付けモジュール2035は、第1キーワード群に対して属性、重み付けの値を付与し、付与した属性等をキーワード情報DB2022に格納する。
【0191】
ステップS2406において、ステップS1405と同様に、重み付けモジュール2035は、第2キーワード群に対して属性、重み付けの値を付与し、付与した属性等をキーワード情報DB2022に格納する。
【0192】
ステップS2407において、ステップS1406と同様に、相性値算出モジュール2036は、相性値を算出する。
【0193】
ステップS2408において、ステップS1407と同様に、相手選出モジュール2037は、マッチング相手を選出する。その際に例えば、相手選出モジュール2037は、相性値を算出した登録ユーザのうちの上位5名のユーザ名及び相性値を端末装置10に表示させる。その際に、例えば、相性値を0以上100以下の値にスケーリングするとよい。提示を受ける第1ユーザが、ピックアップされた登録ユーザとの相性の良さをイメージしやすいからである。
【0194】
<4 第2実施形態の効果>
第2実施形態のシステム1Aは、第1ユーザのマッチング相手を登録ユーザのうちの少なくとも一部のユーザから選出する。その際に、第1ユーザ及び登録ユーザが利用する電子商取引サイトから購入履歴の情報を利用する。このシステムA1は、相性値を算出するに当たって、日々の購買行動に沿った共通点を考慮することができる。したがって、システムA1はより精度の高いマッチングを行うことができる。
【0195】
<5 変形例>
制御部203は、登録ユーザのうちの少なくとも一部を抽出するようにしてもよい。キーワードの生成及びマッチングを行うステップの処理時間を短くすることができるからである。
【0196】
<第2情報>
第2情報として、提示されるサービスを実際にユーザが利用する(商品を購買する、サービスの提供を受けるなど)日時に関する情報を用いてもよい。第2情報を加味してキーワード生成モジュール2034がキーワードを生成することで、例えば同一のユーザが(この場合第1情報は共通である)サービスの提示を受ける場合でも、ユーザが本開示に係るシステム1を利用する日時により、提示されるサービスが異なりうることになり、これにより、ユーザが繰り返し本開示に係るシステム1を利用するインセンティブが生じる。
【0197】
<属性による重み付け>
キーワードに付与した属性に基づいて重み付けの値を付与してもよい。あくまで一例であるが、キーワードの属性が行動や場面についてのものであれば重み付けの値を大きくし、キーワードの属性がユーザの性格についてのものであれば重み付けの値を小さくすることが考えられる。つまり、行動や場面についてのキーワードであれば、マッチングエンジンが電子商取引サイトをクロールする(クローリング)ことにより取得するキーワード(以下、サイトキーワードと称する)とのマッチングが良好であるし、サービス提示のためのキーワードとして好適であると考えられる。一方、ユーザの性格についてのキーワードの場合、キーワードとしての抽象度が高く、サイトキーワードとのマッチングが必ずしも良好であるとは限らない。当然、マッチングの結果、どのような好適なサービスを抽出できるかはマッチングエンジンの性能にもよるし、ユーザの性格に関するキーワードに類似するサイトキーワードが抽出できる電子商取引サイトもあり得るので、ユーザの性格に関するキーワードの重み付けの値を必ず低くすることではない。
【0198】
本開示に係るシステムでは、マッチングエンジンが電子商取引サイトをクロールし、この電子商取引サイトに含まれるページからサイトキーワードを抽出する。マッチングエンジンによる電子商取引サイトのクローリングの頻度は任意であり、定期的にクロールする、電子商取引サイトのページ内容の更新を検知して、更新されたら更新されたページをクロールする、占いエンジンからキーワードが出力された(適宜選定された後でもよい)ことを契機にクロールする等、任意のタイミングでクロールすればよい。ページをクロールしてサイトキーワードを抽出する手法は、例えばインターネット検索サイト等において既知であり、ここではこれ以上の説明を省略する。
【0199】
マッチングエンジンは単体で存在してもよいし、電子商取引サイトの一機能として実現されていてもよい。電子商取引サイトの一機能とは、一例として、電子商取引サイトのトップページ等に設けられている検索窓にキーワードを入力すると、このキーワードにマッチしたページが提示される形態を指す。この場合、占いエンジンが出力した(選定済みのものも含む)キーワードを検索窓に入力し、出力されたページに対して特徴的なサイトキーワードを抽出すればよい。
【0200】
電子商取引サイトをユーザが以前から利用している場合、この電子商取引サイトにユーザの購買履歴が残っている場合が多い。マッチングエンジンは、この購買履歴を参照して、取得するキーワードをよりユーザに好ましいものにすることができる。この場合、購買履歴は電子商取引サイト内に通常格納されているので、どのユーザの購買履歴であるかを特定するために、電子商取引サイトにおけるユーザのアカウント情報を、マッチングエンジン及び/または電子商取引サイトが入手しておくことが好ましい。但し、ユーザがユーザ以外の人に商品をプレゼントするなどの状況、あるいは、電子商取引サイトのポリシー等の関係で購買履歴の参照を許可しない場合などでは、ユーザ自身の購買履歴を参照しない態様も可能である。
【0201】
この後、マッチングエンジンは、占いエンジンが出力したキーワードと、電子商取引サイトをクロールして取得したサイトキーワードとのマッチングを行い、マッチした率が高いサイトキーワードに基づいて、電子商取引サイト内のサービスをユーザに提示する。
【0202】
キーワードとサイトキーワードのマッチングを行う手法は種々知られており、その手法に特段の限定はない。一例として、キーワードとサイトキーワードとを単純にマッチングし、マッチング率(マッチングスコア)を算出する手法が挙げられる。また、キーワード、サイトキーワードの意味を解釈してそれぞれをクラスタリングし、クラスタ間の距離に基づいてマッチングをする手法もある。一般的にこのような手法をデータマイニングと言う。データマイニングで用いられる手法は一般的にキーワードとサイトキーワードとのマッチングに好適に用いられる。他に、キーワードとサイトキーワードとの単語ベクトルをそれぞれ生成し、単語ベクトル間の距離を類似の度合いとしてマッチングする手法も挙げられる。
【0203】
マッチング率に基づいてユーザにサービスを提示する手法も種々存在し、その手法に特段の限定はない。一例として、マッチング率が高いサイトキーワードが含まれる電子商取引サイト内のページに提示されているサービスを提示する手法が挙げられる。この場合、ユーザに提示する情報としては、電子商取引サイトの該当ページのURL(Uniform Resource Locator)及びページのタイトル情報(ページのHTML(HyperText Markup Language)中のタイトルタグ(<title>)に記述されているページタイトル)が挙げられる。また、ページにサムネイル画像が指定されている場合(HTMLのヘッダ()に画像に関する記述がある場合はこの画像をサムネイル画像とすればよい)、このサムネイル画像もユーザに提示するとよい。
【0204】
また、マッチング率が高いサイトキーワードが含まれるページそのものをユーザに提示することに加えて、あるいは、その代わりに、サイトキーワードが含まれるページよりも上位の階層に存在し、ページで提供するサービスを端的に示すページをユーザに提示してもよい。
【0205】
マッチングエンジンがユーザにサービスを提示するタイミングも任意であり、例えば、マッチングエンジン、電子商取引サイトにおけるキーワードのクローリングは常時(一定の時間間隔を置いて繰り返し)行い、マッチングも常時行いつつ、ユーザへのサービス提示は、ユーザが活動していると考えられる時間に行うこともできる。一例として、ユーザが所有するスマートフォン等の端末装置を操作したことを検知して、また、いわゆるデイタイムになったことを検知して、検知結果に基づいてサービスを提示してもよい。加えて、上述したアバターとの会話をユーザが行ったことを検知して、サービスを提示してもよい。
【0206】
なお、図1では、サービスサイトの一例として電子商取引サイトを例に取って説明したが、電子商取引サイト以外のサービスサイト、一例として旅行サイトなどにも本開示に係るシステムを適用することができる。
【0207】
サーバ20のキーワード生成モジュール2034が生成するキーワードは、ユーザの出生情報等に基づくとはいえ、ユーザの個人情報の大半を捨象した情報に基づくものである。つまり、ユーザは個人を特定する情報である氏名、住所をシステム1に提供することなく、ユーザに関連するキーワードを得ることができ、このキーワードに基づいて電子商取引サーバ30内のサービスの提示を受けることができる。従って、端末装置10のユーザは、氏名、住所等の個人情報をサーバ20及び電子商取引サーバ30に提供することなく、ユーザの性向に合致したサービスの提示を受けることができる。
【0208】
<第1実施形態の変形例との組み合わせ>
第2実施形態と第1実施形態の変形例とを自由に組み合わせてよい。
【0209】
<第3実施形態>
<1 相性値の定義>
<親疎性>
第1実施形態では、第1ユーザと登録ユーザとの相性を類似性に基づいて相性値を算出する。すなわち、両者の共通点に基づいて両者の相性を評価する。しかし、相性は共通点のみにより評価するとは限らない。
【0210】
例えば、相性を評価する場合に、親疎性により評価することがある。親疎性とは、相手との関係が親しい場合と、相手との関係が疎遠である場合と、を示す関係性のことである。「親」の場合には両者は調和しており、相性がよい。「疎」の場合には両者は不調和であり、相性が悪い。親疎性について、五行、四柱推命、占星術を例に挙げて説明する。
【0211】
<五行>
図21は、五行の関係を示す図である。五行は占いの対象となる人に対して「木」「火」「土」「金」「水」の5つの要素を当てはめる。例えば、図21において実線の矢印は良好な関係を示し、破線の矢印は不良な関係を示す。例えば、「木」と「火」の相性は良好であり、「木」と「土」の相性は不良であり、「木」と「木」の相性は良くも悪くもない(比和)。このような関係は、第1実施形態の式(1)では表現することができない。
【0212】
第1実施形態では共通点が多いほど相性はよいものとして相性値を算出する。しかし、占術によっては、自分(第1ユーザ)と相手(登録ユーザ)との相性は、五行のように共通点ではなく、要素が異なることで相性が良好と判断される場合がある。このように、第3実施形態では、第1ユーザの第1情報が含む要素と登録ユーザの第1情報が含む要素との関係を個別に評価する。
【0213】
実際には、五行の関係は、前述の例で説明したものよりも複雑である。
【0214】
相性値は、例えば、次の数式で与えられる。
CSf = Fkl
k : 第1ユーザの五行の種類
l : 登録ユーザの五行の種類
Fkl: 第1ユーザの五行と登録ユーザの五行の関係
【0215】
例えば、「木」、「火」、「土」、「金」、「水」のそれぞれに1、2、3、4、5の番号を割り当てる。例えば、第1ユーザの五行が「土」であり、登録ユーザの五行が「水」である場合には、上の式から相性値CSfはF35である。ここで、k及びlは、1から5のうちのいずれかの値である。
【0216】
ここで、k及びlは、それぞれ、第1ユーザの五行の種類、登録ユーザの五行の種類を示している。五行の種類はユーザに固有であるため、k及びlについて和を取らない。なお、「木」、「火」、「土」、「金」、「水」に割り当てる数字は、システムの設計者で自由に決めてよい。
【0217】
Fklは、例えば、図21の実線の矢印の関係の場合に+10、破線の矢印の関係の場合に-10、同じ要素の関係の場合に0を与える。もちろん、上記以外の数値であってもよい。ここでは、正の値は両者の関係が「親」であることを示し、負の値は両者の関係が「疎」であることを示している。
【0218】
<四柱推命>
四柱推命は五行の考え方を包含する。
【0219】
図22は、第1ユーザと登録ユーザの四柱推命の命式の一部を抜粋したものを例示する図である。命式には、年柱、月柱、日柱、時柱のそれぞれについて天干、地支が与えられている。
【0220】
天干には、甲、乙、丙、丁、戊、己、庚、辛、壬、癸の十種類がある。表1は、要素と天干との間の関係を示す。
【0221】
[表1]
要素 天干
木 甲、乙
火 丙、丁
土 戊、己
金 庚、辛
水 壬、癸
【0222】
地支には、子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥の十二種類がある。表2は、要素と地支との間の関係を示す。
【0223】
[表2]
要素 地支
木 寅、卯
火 巳、午
土 丑、辰、未、戌
金 申、酉
水 子、亥
【0224】
四柱推命においては、相性をみるにあたって、第1ユーザの日柱の天干と、登録ユーザの日柱の天干と、の関係を考慮し、第1ユーザの日柱の地支と、登録ユーザの日柱の地支と、の関係を考慮する。すなわち、図22において、行列の同じもの同士の関係を考慮する。
【0225】
図22において、第1ユーザの日柱の天干は「丁」である。表1から「丁」に対応する要素は「火」である。登録ユーザの日柱の天干は「戊」である。表1から「戊」に対応する要素は「土」である。図21より、「火」と「土」との間の関係は良好である。
【0226】
図22において、第1ユーザの日柱の地支は「卯」である。表2から「卯」に対応する要素は「木」である。尊くユーザの日柱の地支は「午」である。表2から「午」に対応する要素は「火」である。図21より、「木」と「火」との間の関係は良好である。
【0227】
相性において、お互いの日柱の影響が最も大きいが、年柱、月柱、時柱の影響も少なからず存在する。
【0228】
相性値CS2は次式(2)で与えられる。
CS2 = Σm (cm × Fkl) ………(2)
k : 第1ユーザの五行の種類
l : 登録ユーザの五行の種類
m : 柱及び天干、地支の種類
Fkl: 第1ユーザの五行と登録ユーザの五行の関係による評価値
cm : 柱及び天干、地支の種類の種類に対する重み付け値
【0229】
ここで、mは、図22の行列のそれぞれを数値で割り当てたものである。図22は、4つの柱(4行)と、天干及び地支の2つ(2列)と、を有する。このため、mは8(4×2)までの値をとる。
【0230】
cmは、日柱の天干、日柱の地支のFklに対して大きい値をとり、その他のFklに対して小さい値を取る。
【0231】
なお、四柱推命においては、天干、地支の他に、「天干通変星」、「蔵干通変星」等を加えて相性を評価することがある。その場合には、mの値はその分だけ大きい値をとりうる。また、式(2)では、k及びlは五行の種類であるが、五行の種類に変えて、天干または地支を直接に割り当ててもよい。すなわち、「火」と「土」の代わりに、「丁」と「戊」の関係を数値化したものを別途用意しておけばよい。
【0232】
<占星術>
占星術を用いて相性を評価する場合について説明する。例えば、第1ユーザの天体の種類と、登録ユーザの天体の種類と、前述の天体同士の間の角度と、を考慮する。天体の種類は、例えば、太陽、月、水星、金星、火星、木星、土星、天王星、海王星、冥王星である。
【0233】
相性値CS3は次式(3)で与えられる。
CS3 = Σpq (dp × eq × Gpqr) ………(3)
p :第1ユーザの天体
q :登録ユーザの天体
r :pの天体とqの天体との間の角度範囲
Σpq :p,qについて和をとる
dp :第1ユーザの天体についての重み付け値
eq :登録ユーザの天体についての重み付け値
Gpqr:第1ユーザの天体と登録ユーザの天体との間の角度範囲による評価値
【0234】
p及びqについて、例えば、太陽、月、水星、金星、火星、木星、土星、天王星、海王星、冥王星の順に1から10までの数字を割り当てる。このとき第1ユーザの太陽と登録ユーザの太陽とについての評価値GはG11rである。また、第1ユーザの太陽と登録ユーザの月とについての評価値GはG12rである。
【0235】
前述のように、p及びqは太陽等の天体を表しており、各ユーザーに共通である。ここで、制御部203は、第1ユーザのホロスコープ及び登録ユーザのホロスコープを用いて、各天体の位置を算出する。この際に、第1ユーザの出生情報と登録ユーザの出生情報を用いる。
【0236】
ホロスコープは、基準点に対する円周上のどの角度にそれぞれの天体が配置されているかを示すものである。第1ユーザのホロスコープと登録ユーザのホロスコープとを重ね合わせることにより、例えば、第1ユーザの木星と登録ユーザの金星との間の角度を算出することができる。もちろん、すべての天体の組み合わせについて角度を算出することができる。
【0237】
表3は、第1ユーザの太陽と登録ユーザの月との間の角度範囲と評価値Gpqrとの間の関係を例示する表である。例えば、両者のホロスコープの結果から、太陽と月との間の角度が61.5°であったとすると、指標3の項目における評価値Gpqrの値は+15である。
【0238】
占星術においては一般に、天体同士の間の角度が、0°、60°、90°、120°、180°付近の場合に強い相関が現れる。例えば、表3においては、角度が60°、120°の近傍で正の評価値が与えられ、角度が0°、90°、180°の近傍で負の評価値が与えられ、それ以外の角度で0の評価値が与えられる。
【0239】
第1ユーザの天体および登録ユーザの天体が他の天体であれば、表3の評価値Gpqrの値はもちろん異なる値をとる。なお、表3の角度範囲及び評価値Gpqrの値はあくまで例示であり、実際には、これと異なる表を用いてもよい。
【0240】
[表3]
指標 角度範囲 評価値Gpqr
1 0°以上 5°未満 -10
2 5°以上 55°未満 0
3 55°以上 65°未満 +15
4 65°以上 85°未満 0
5 85°以上 95°未満 -10
6 95°以上115°未満 0
7 115°以上125°未満 +15
8 125°以上175°未満 0
9 175°以上180°未満 -10
【0241】
表3に示すように、重要な角度範囲(例えば、0°、60°等)は占星術により定まるため、角度範囲の刻み幅(刻み角度)は等間隔である必要は無い。
【0242】
天体の代わりに、または天体に加えて、牡羊座等の黄道十二宮の星座を考慮してもよい。また、架空の天体を考慮してもよい。
【0243】
<親疎性の組み合わせ>
第1実施形態では、どの占術を用いても最終的にキーワードに落とし込むことができる。このため、どの占術を用いても式(1)を用いることができる。しかし、親疎性は、占術によって全く異なる。例えば、四柱推命においては対応する天干地支の要素の関係が相性を決める。占星術においては天体と天体との間の角度が相性を決める。このため、親疎性については同じ数式を用いることは原理的に不可能である。ただし、四柱推命は五行の考え方を含んでいるため、四柱推命と五行とを同じ数式に統合することができる。
【0244】
このように、占術によって親疎性の定義は異なる。しかし、異なる占術の数式を足し合わせることにより、複数の異なる占術の結果を用いた相性値を算出することができる。
【0245】
親疎性に基づく相性値は次式(4)のように表すことができる。
CSD = CS2 + CS3 ………(4)
【0246】
ここで、式(4)の相性値CSDは、四柱推命の相性値CS2と占星術の相性値CS3との和である。相性値CSDは、四柱推命による相性と占星術による相性との両方を加味した相性値である。すなわち、相性値CSDは複数の異なる占術による相性値を足し合わせたものである。
【0247】
なお、式(4)において、CS2及びCS3のそれぞれに重み付け値をかけてもよい。これにより、例えば、四柱推命の結果を重視した相性値を算出することができる。
【0248】
親疎性に基づく親疎相性値CS2、CS3、CSDは、いずれも占術に基づく親疎性により第1ユーザと登録ユーザとの相性を評価する評価値である。
【0249】
このように、第3実施形態では、親疎性に基づく親疎相性値CS2、CS3、CSDのいずれをも用いることができる。
【0250】
<第1実施形態との組み合わせ>
第3実施形態を第1実施形態と組み合わせてもよい。
【0251】
この場合の相性値CSAは次式(5)で表される。
CSA = CS1 + CSD
= CS1 + CS2 + CS3 ………(5)
【0252】
この場合の相性値CSAは、第1ユーザと登録ユーザとの間の類似性(CS1)と、親疎性(CSD)と、を含む。
【0253】
本開示において、親和性とは、類似性と親疎性とを含むものとする。
【0254】
<2 サーバの機能的な構成>
図23は、第3実施形態のサーバ20の機能的な構成を説明するためのブロック図である。制御部203は、第1実施形態の構成に加えて、親疎性算出モジュール2040を有する。親疎性算出モジュール2040は、四柱推命と、占星術と、その他の占術とのうちの少なくとも一つの占術を用いて、式(2)、(3)、(4)のいずれかを用いて親疎性による相性値CS2、CS3、CSDを算出する。
【0255】
相性値算出モジュール2036は、親疎性算出モジュール2040により算出された相性値CS2、CS3、CSDのいずれかを用いて第1ユーザと登録ユーザとの間の相性を評価する。
【0256】
また、相性値算出モジュール2036は、式(5)の相性値CSAを用いて、第1ユーザと登録ユーザとの間の相性を評価してもよい。
【0257】
<3 動作例>
図24は、第3実施形態の制御部203が実行するフローを示すフローチャートである。図24は、式(5)の相性値CSAを用いる場合を示している。第1実施形態と異なる点について説明する。
【0258】
ステップS3402においては、四柱推命、占星術の占術を実行する。第1情報に含まれる出生情報等があれば、制御部203は、四柱推命、占星術等の占術を実行可能である。場合により、第2情報を用いる。第1ユーザの第1情報と登録ユーザの少なくとも一部のユーザの第1情報とから、第1ユーザと登録ユーザとの間の親疎性に基づいて第1ユーザと登録ユーザとの相性を評価する複数の親疎相性値を複数の占術により算出する。
【0259】
ステップS3403からステップS3406までにおいては、実行した占術の結果を用いて、第1実施形態と同様に実行する。
【0260】
ステップS3407においては、制御部203は、式(5)の相性値CSAを計算する。すなわち、制御部203は、類似相性値と親疎相性値とに基づいて、第1ユーザと登録ユーザとの間の相性値を算出する。
【0261】
なお、式(2)、式(3)、式(4)を用いる場合には、前述した内容から適宜ステップを省略すればよい。
【0262】
<4 第3実施形態の効果>
第3実施形態においては、制御部203は、占術固有の親疎性を用いて相性値を算出することができる。特に、式(5)では、両者の類似性と親疎性とを考慮して両者の相性を評価することができる。
【0263】
第1実施形態では、相性値CS1を算出するにあたって類似性を考慮する。どの占術を用いたとしても、第1ユーザに関する第1キーワード群と登録ユーザに関する第2キーワード群とに最終的に落とし込むことができる。このため、いずれの占術を用いても相性値CS1は式(1)の形式で表現することができる。
【0264】
一方、親疎性については、占術に応じて関係性が異なる。このため、占術の種類が異なると、式(2)や式(3)のように別々の式で表現せざるをえないことがある。
【0265】
<5 変形例>
親疎相性値を算出するための占術は、四柱推命、ホロスコープに限らず、算命術等のその他の占術を用いてもよい。
【0266】
第1実施形態の変形例、第2実施形態およびその変形例と自由に組み合わせてもよい。
【0267】
<第4実施形態>
第1実施形態では、出生情報の入力日時を第2情報として扱ったが、第1ユーザが任意に指定してもよい。例えば、第1ユーザがある年月のうち運勢が最もよい日時を占いエンジンで調べ、その日時を第2情報として取り扱ってもよい。これにより、運勢のいい日に相性がよいマッチング相手をピックアップすることができる。
【0268】
図25は、第4実施形態の制御部203が実行するフローを説明するためのフローチャートである。第4実施形態に特徴的な部分を説明する。
【0269】
ステップS4402においては、占術を用いて第1ユーザの運気の好調な期間を導出する。この好調な期間とは、例えば、特定の日時であってもよいし、特定の一週間であってもよい。特定の一週間である場合については、その一週間のうちから最も幸運な日にちを導出する。そして、特定の日時または最も幸運な日にちを第2情報として設定する。すなわち、このステップS4402では、制御部203は、第1ユーザに対して好調な期間を導出するとともに、好調な期間に含まれる所定の日時を第2情報として設定する。
【0270】
これにより、制御部203は、第1ユーザにとって運勢のいい日に相性がよいマッチング相手を選出することができる。
【0271】
<各実施形態の組み合わせ>
上記の第1実施形態から第4実施形態までを自由に組み合わせてもよい。
【0272】
<付記>
なお、上記した実施形態は本開示を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施形態の構成の一部について、他の構成に追加、削除、置換することが可能である。
【0273】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるプロセッサが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD-ROM、DVD-ROM、ハードディスク、SSD、光ディスク、光磁気ディスク、CD-R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。
【0274】
また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、C/C++、perl、Shell、PHP、Java(登録商標)等の広範囲のプログラム又はスクリプト言語で実装できる。
【0275】
さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段又はCD-RW、CD-R等の記憶媒体に格納し、コンピュータが備えるプロセッサが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。
【0276】
以上の各実施形態で説明した事項を以下に付記する。
【0277】
(付記1)
プロセッサ(29)とメモリ(25)とを備えるコンピュータ(20)を動作させるためのプログラムであって、複数の登録ユーザの出生情報に関する第1情報がメモリ(25)に格納されており、プログラムは、プロセッサ(29)に、第1ユーザから第1ユーザの出生情報に関する第1情報の入力を受け入れるとともに所定の日時に関する第2情報を取得するステップ(S1401)と、第1ユーザの第1情報と、所定の日時に関する第2情報とに基づいて、第1ユーザに関連する第1キーワードを生成するステップ(S1402)と、登録ユーザの第1情報と、第2情報とに基づいて、登録ユーザの少なくとも一部のユーザに関連する少なくとも一つの第2キーワードを生成するステップ(S1403)と、第1キーワードと第2キーワードとの間の類似性に基づいて、第2キーワードに係る登録ユーザのうちから1以上の第1ユーザのマッチング相手を選出するステップ(S1406)と、選出したマッチング相手に関する情報を第1ユーザに提示するステップ(S1407)と、を実行させる、プログラム。
(付記2)
第1キーワード及び第2キーワードは、第1情報及び第2情報に基づいて一意に定まるキーワードである、付記1に記載のプログラム。
(付記3)
出生情報は、ユーザの生年月日に関する情報を必ず含み、ユーザの誕生時間に関する情報、ユーザの誕生場所の位置情報、ユーザの血液型のうち少なくとも一つが含まれうる付記1に記載のプログラム。
(付記4)
第1キーワードを生成するステップ(S1402)において、複数の第1キーワードを生成し第1キーワード群を生成し、第2キーワードを生成するステップ(S1403)において、複数の第2キーワードを生成し第2キーワード群を生成し、マッチング相手を選出するステップにおいて、第1キーワード群に含まれる第1キーワードと第2キーワード群に含まれる第2キーワードとの間の類似性に基づいて、マッチング相手を選出する、付記1に記載のプログラム。
(付記5)
プログラムは、プロセッサ(29)に、さらに、第1キーワード群に含まれる複数の第1キーワードに対して重み付けを行うステップ(S1404)と、第2キーワード群に含まれる複数の第2キーワードに対して重み付けを行うステップ(S1405)と、を実行させる、付記4に記載のプログラム。
(付記6)
マッチング相手を選出するステップ(S1406)では、第1キーワード群の重み付けと第2キーワード群の重み付けとに基づいて、マッチング相手を選出する、付記5に記載のプログラム。
(付記7)
マッチング相手を選出するステップ(S1406)は、第1キーワードと第2キーワードとの間の類似性を評価するするとともに第1ユーザと登録ユーザとの相性を数値化した評価値であって第1ユーザと登録ユーザとの相性がよいほど高い値をとる類似相性値を算出するステップと、類似相性値が高いマッチング相手を抽出するステップと、を含む、付記1に記載のプログラム。
(付記8)
マッチング相手を選出するステップ(S1406)は、第1キーワード群と第2キーワード群との間の類似性および重み付けに基づいて、第1ユーザと登録ユーザとの相性がよいほど高い類似相性値に数値化するステップと、類似相性値が高いマッチング相手を抽出するステップと、を含む、付記7に記載のプログラム。
(付記9)
第1キーワードに対して重み付けを行うステップ(S1404)において、第1ユーザの出生情報から生成されるキーワードの重み付けの値を1次的に発生させ、その重み付けの値をさらに小さい値に設定し、第2キーワードに対して重み付けを行うステップ(S1405)において、登録ユーザの出生情報から生成されるキーワードの重み付けの値を1次的に発生させ、その重み付けの値をさらに小さい値に設定する、付記5に記載のプログラム。
(付記10)
第1キーワードに対して重み付けを行うステップ(S1404)において、第1ユーザの出生情報から生成されるキーワードの重み付けの値を1次的に発生させ、その重み付けの値をさらに大きい値に設定し、 第2キーワードに対して重み付けを行うステップ(S1405)において、登録ユーザの出生情報から生成されるキーワードの重み付けの値を1次的に発生させ、その重み付けの値をさらに大きい値に設定する、付記5に記載のプログラム。
(付記11)
プログラムは、プロセッサ(29)に、さらに、マッチング相手を選出するステップにおいて複数のマッチング相手を選出し、マッチング相手を提示するステップにおいて複数のマッチング相手を提示し、複数のマッチング相手から第1ユーザによる1以上のマッチング相手の選択を受け付けるステップと、受け付けたマッチング相手のアカウント情報を特定するための情報を第1ユーザのアカウント情報と関連させて記憶させるステップと、を実行させる、付記10に記載のプログラム。
(付記12)
プログラムは、プロセッサ(29)に、さらに、第1ユーザの第1情報および第2情報とに基づいて第1ユーザが属するグループとして第1グループを指定するステップと、登録ユーザの第1情報および第2情報とに基づいて登録ユーザが属するグループとして第2グループを指定するステップと、を実行させ、第1キーワードを生成するステップにおいて、第1グループの特性から第1キーワード群に第1キーワードを追加し、第2キーワードを生成するステップにおいて、第2グループの特性から第2キーワード群に第2キーワードを追加する。
(付記13)
プログラムは、プロセッサ(29)に、さらに、電子商取引サイトにおける第1ユーザの購買履歴を参照するステップ(S2402)と、第1ユーザの購買履歴からキーワードを生成して第1キーワード群に追加するステップ(S2403)と、電子商取引サイトにおける登録ユーザの購買履歴を参照するステップ(S2402)と、登録ユーザの購買履歴からキーワードを生成して第2キーワード群に追加するステップ(S2404)と、を実行させる、付記1に記載のプログ。
(付記14)
プログラムは、さらに、プロセッサ(29)に、第1キーワードに基づいて、第1ユーザを象徴するアバターを仮想空間内に生成するステップを実行させる、付記1に記載のプログラム。
(付記15)
プログラムは、アバターの行動パターンと性格との少なくとも一方を、第1キーワードに基づいて設定する、付記13に記載のプログラム。
(付記16)
プログラムは、さらに、プロセッサ(29)に、第1ユーザの第1情報と登録ユーザの少なくとも一部のユーザの第1情報とから、第1ユーザと登録ユーザとの間の親疎性に基づいて第1ユーザと登録ユーザとの相性を評価する親疎相性値を算出するステップと、類似相性値と親疎相性値とに基づいて、第1ユーザと登録ユーザとの間の相性値を算出するステップと、を実行させる、付記1に記載のプログラム。
(付記17)
プログラムは、さらに、プロセッサ(29)に、第1ユーザに対して好調な期間を導出するとともに、好調な期間に含まれる所定の日時を第2情報として設定するステップを実行させる、付記1に記載のプログラム。
(付記18)
プロセッサ(29)とメモリ(25)とを備えるコンピュータを動作させるためのプログラムであって、複数の登録ユーザの出生情報に関する第1情報がメモリ(25)に格納されており、プログラムは、プロセッサ(29)に、第1ユーザから第1ユーザの出生情報に関する第1情報の入力を受け入れるステップと、第1ユーザの第1情報と登録ユーザの少なくとも一部のユーザの第1情報とから、第1ユーザと登録ユーザとの間の親疎性に基づいて第1ユーザと登録ユーザとの相性を評価する複数の親疎相性値を複数の占術により算出するステップと、複数の親疎相性値に基づいて、登録ユーザのうちから1以上の第1ユーザのマッチング相手を選出するステップと、選出したマッチング相手に関する情報を第1ユーザに提示するステップと、を実行させる。
(付記19)
プロセッサ(29)とメモリ(25)とを備えるコンピュータ(20)を動作させるためのプログラムであって、複数の登録ユーザの出生情報に関する第1情報がメモリ(25)に格納されており、プログラムは、プロセッサ(29)に、出生情報に第1共通点を有するユーザを含む第1ユーザ群を設定するステップと、出生情報に第2共通点を有し第1ユーザ群に含まれないユーザを含む第2ユーザ群を設定するステップと、第1共通点に基づいて第1ユーザ群に関連する第1キーワードを生成するステップと、第2共通点に基づいて第2ユーザ群に関連する第2キーワードを生成するステップと、第1キーワードと第2キーワードとの間の類似性に基づいて、第2ユーザ群のうちから第1ユーザ群のマッチング相手となる群を選出するステップと、選出したマッチング相手に関する情報を登録ユーザに提示するステップと、を実行させる、プログラム。
(付記20)
プロセッサ(29)とメモリ(25)とを備える情報処理装置(20)であって、複数の登録ユーザの出生情報に関する第1情報がメモリに格納されており、プロセッサは、第1ユーザから第1ユーザの出生情報に関する第1情報の入力を受け入れるとともに所定の日時に関する第2情報を取得するステップ(S1401)と、第1ユーザの第1情報と、所定の日時に関する第2情報とに基づいて、第1ユーザに関連する第1キーワードを生成するステップ(S1402)と、登録ユーザの第1情報と、第2情報とに基づいて、登録ユーザの少なくとも一部のユーザに関連する少なくとも一つの第2キーワードを生成するステップ(S1403)と、第1キーワードと第2キーワードとの間の類似性に基づいて、第2キーワードに係る登録ユーザのうちから1以上の第1ユーザのマッチング相手を選出するステップ(S1406)と、選出したマッチング相手に関する情報を第1ユーザに提示するステップ(S1407)と、を実行する、情報処理装置(20)。
(付記21)
プロセッサ(29)とメモリ(25)とを備えるコンピュータ(20)により実行される方法であって、複数の登録ユーザの出生情報に関する第1情報がメモリに格納されており、プロセッサ(29)は、第1ユーザから第1ユーザの出生情報に関する第1情報の入力を受け入れるとともに所定の日時に関する第2情報を取得するステップ(S1401)と、第1ユーザの第1情報と、所定の日時に関する第2情報とに基づいて、第1ユーザに関連する第1キーワードを生成するステップ(S1402)と、登録ユーザの第1情報と、第2情報とに基づいて、登録ユーザの少なくとも一部のユーザに関連する少なくとも一つの第2キーワードを生成するステップ(S1403)と、第1キーワードと第2キーワードとの間の類似性に基づいて、第2キーワードに係る登録ユーザのうちから1以上の第1ユーザのマッチング相手を選出するステップ(S1406)と、選出したマッチング相手に関する情報を第1ユーザに提示するステップ(S1407)と、を実行する、方法。
(付記22)
複数の登録ユーザの出生情報に関する第1情報がメモリに格納する手段と、第1ユーザから第1ユーザの出生情報に関する第1情報の入力を受け入れるとともに所定の日時に関する第2情報を取得する手段と、第1ユーザの第1情報と、所定の日時に関する第2情報とに基づいて、第1ユーザに関連する第1キーワードを生成する手段と、登録ユーザの第1情報と、第2情報とに基づいて、登録ユーザの少なくとも一部のユーザに関連する少なくとも一つの第2キーワードを生成する手段と、第1キーワードと第2キーワードとの間の類似性に基づいて、第2キーワードに係る登録ユーザのうちから1以上の第1ユーザのマッチング相手を選出する手段と、選出したマッチング相手に関する情報を第1ユーザに提示する手段と、を具備する、システム(1)。
【符号の説明】
【0278】
1 システム、10 端末装置、20 サーバ、25 メモリ、26 ストレージ、29 プロセッサ、30 電子商取引サーバ、80 ネットワーク、180、202、302 記憶部、181 アカウント情報、182 サイト特定情報、190、203、303 制御部、2021 ユーザ情報DB、2022 キーワード情報DB、2023 アカウント情報DB、2025 アバター情報DB、2026 キーワードDB、2033 出生情報等取得モジュール、2034 キーワード生成モジュール、2035 重み付けモジュール、2036 相性値算出モジュール、2037 相手選出モジュール、2038 アバター管理モジュール、2039 サイト検索モジュール
【要約】
【課題】 個人情報を特定せずに個人に対するレコメンドを受ける。
【解決手段】 プログラムは、プロセッサ(29)に、第1ユーザから第1ユーザの出生情報に関する第1情報の入力を受け入れるステップ(S1400)と、第1ユーザの第1情報と、所定の日時に関する第2情報とに基づいて、第1ユーザに関連する第1キーワードを生成するステップ(S1402)と、登録ユーザの第1情報と、第2情報とに基づいて、登録ユーザに関連する第2キーワードを生成するステップ(S1403)と、第1キーワードと第2キーワードとの間の類似性に基づいて、登録ユーザのうちから1以上の第1ユーザのマッチング相手を選出するステップ(S1406)と、選出したマッチング相手に関する情報を第1ユーザに提示するステップ(S1407)と、を実行させる。
【選択図】 図1
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25