(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023162154
(43)【公開日】2023-11-08
(54)【発明の名称】地域知識グラフに基づいて推薦情報を提供する方法、コンピュータ装置、およびコンピュータプログラム
(51)【国際特許分類】
G06F 16/909 20190101AFI20231031BHJP
G06F 16/90 20190101ALI20231031BHJP
【FI】
G06F16/909
G06F16/90 100
【審査請求】有
【請求項の数】20
【出願形態】OL
(21)【出願番号】P 2023071924
(22)【出願日】2023-04-26
(31)【優先権主張番号】10-2022-0051375
(32)【優先日】2022-04-26
(33)【優先権主張国・地域又は機関】KR
(71)【出願人】
【識別番号】505205812
【氏名又は名称】ネイバー コーポレーション
【氏名又は名称原語表記】NAVER Corporation
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】キム ジュンヒョン
(72)【発明者】
【氏名】イ ジュンゴル
(72)【発明者】
【氏名】チョン ヨンファン
(72)【発明者】
【氏名】クォン ギジュン
(72)【発明者】
【氏名】チュ サンウォン
(72)【発明者】
【氏名】イ ジョンソク
(72)【発明者】
【氏名】チェ インシク
(72)【発明者】
【氏名】キム ジンホ
(72)【発明者】
【氏名】チェ ジフン
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175DA03
5B175HA01
5B175KA12
(57)【要約】
【課題】地域知識グラフに基づいて推薦情報を提供する方法、コンピュータ装置、およびコンピュータプログラムを提供する。
【解決手段】推薦方法は、地域を構成する複数のアイテムに基づいて異種グラフ構造の地域知識グラフ(local knowledge graph)を生成する段階、前記地域知識グラフにおいて互いに異なるノードフィーチャを利用してノードタイプ別に埋め込みを実行する段階、および前記ノードタイプ別の埋め込みに基づいて、前記ノードタイプそれぞれに対応する推薦アイテムを提供する段階を含む。
【選択図】
図4
【特許請求の範囲】
【請求項1】
コンピュータ装置で実行される推薦方法であって、
前記コンピュータ装置は、メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサを含み、
前記推薦方法は、
前記少なくとも1つのプロセッサにより、地域を構成する複数のアイテムに基づいて異種グラフ構造の地域知識グラフ(local knowled gegraph)を生成する段階、
前記少なくとも1つのプロセッサにより、前記地域知識グラフにおいて互いに異なるノードフィーチャを利用してノードタイプ別に埋め込みを実行する段階、および
前記少なくとも1つのプロセッサにより、前記ノードタイプ別の埋め込みに基づいて、前記ノードタイプそれぞれに対応する推薦アイテムを提供する段階
を含む、推薦方法。
【請求項2】
前記実行する段階は、
前記地域知識グラフから、1つのノードタイプをターゲットノード(target node)として抽出し、少なくとも1つの他のノードタイプをコンテキストノード(context node)として抽出し、前記ターゲットノードと前記コンテキストノード間の関係グラフをモデリングする段階
を含む、請求項1に記載の推薦方法。
【請求項3】
前記モデリングする段階は、
イメージとテキスト、およびカテゴリーデータ(Categorical Data)を含むマルチモーダルデータを使用して、前記ターゲットノードと前記コンテキストノード間の関係をモデリングすること
を特徴とする、請求項2に記載の推薦方法。
【請求項4】
前記モデリングする段階は、
ランダムウォーク(Random Walk)基盤のサンプリングによって、ポジティブサンプル(Positive Sample)とネガティブサンプル(Negative Sample)を抽出する段階を含む、請求項2に記載の推薦方法。
【請求項5】
前記モデリングする段階は、
低ランクポジティブ損失(Low-rank Positive Loss)を利用して、前記ターゲットノードと前記コンテキストノードの関係グラフに互いに異なる加重値のエッジを適用すること
を特徴とする、請求項2に記載の推薦方法。
【請求項6】
前記生成する段階は、
POI、前記POIの訪問対象となるユーザ、前記POIに対して生産された文書を互いに異なるタイプのノードで構成し、前記ノードの関係をエッジで構成することによって前記地域知識グラフを生成すること
を特徴とする、請求項1に記載の推薦方法。
【請求項7】
前記実行する段階は、
ユーザそれぞれをノードに設定し、ユーザと関連する情報をユーザノードフィーチャに設定し、ユーザとの関係をエッジに設定するユーザ-ユーザグラフを利用してフォロー基盤のユーザ埋め込みを抽出する段階、および
ユーザとユーザが訪問したPOIをノードに設定し、ユーザと関連する情報をユーザノードフィーチャに設定し、POIと関連する情報をPOIノードフィーチャで設定し、POIに対するユーザの趣向情報をエッジに設定するユーザ-POIグラフを利用して訪問基盤のユーザ埋め込みを抽出する段階
を含む、請求項6に記載の推薦方法。
【請求項8】
前記提供する段階は、
前記フォロー基盤のユーザ埋め込みによってソース埋め込みと類似する埋め込みを検索してフォロー基盤の推薦ユーザを選定する段階、
前記訪問基盤のユーザ埋め込みによって前記ソース埋め込みと類似する埋め込みを検索して訪問基盤の推薦ユーザを選定する段階、および
前記フォロー基盤の推薦ユーザと前記訪問基盤の推薦ユーザを一定の基準にしたがって整列して提供する段階
を含む、請求項7に記載の推薦方法。
【請求項9】
前記提供する段階は、
前記フォロー基盤のユーザ埋め込みと前記訪問基盤のユーザ埋め込みによってソース埋め込みと類似の埋め込みを検索して推薦ユーザを選定する段階、および
前記ソース埋め込みとの類似特徴を示す推薦事由とともに、前記推薦ユーザを提供する段階
を含む、請求項7に記載の推薦方法。
【請求項10】
前記実行する段階は、
POIとPOIを訪問したユーザをノードに設定し、POIと関連する情報をPOIノードフィーチャに設定し、ユーザと関連する情報をユーザノードフィーチャに設定し、POIに対するユーザの趣向情報をエッジに設定するPOI-ユーザグラフを利用してPOI埋め込みを抽出する段階
を含む、請求項6に記載の推薦方法。
【請求項11】
前記提供する段階は、
前記POI埋め込みによってソース埋め込みと類似の埋め込みを検索して推薦POIを選定する段階、および
前記ソース埋め込みとの類似特徴を示す推薦事由とともに、前記推薦POIを提供する段階
を含む、請求項10に記載の推薦方法。
【請求項12】
前記実行する段階は、
文書と文書が登録されたPOIをノードに設定し、文書と関連する情報を文書ノードフィーチャに設定し、POIと関連する情報をPOIノードフィーチャに設定し、POIに対する文書の趣向情報をエッジに設定する文書-POIグラフを利用して文書埋め込みを抽出する段階
を含む、請求項6に記載の推薦方法。
【請求項13】
前記抽出する段階は、
文書に含まれたテキストをワード埋め込みモデルによって学習することによってテキスト埋め込みを抽出する段階、
文書に含まれたイメージをディープラーニングモデルによって学習することによってイメージ埋め込みを抽出する段階、および
前記テキスト埋め込みと前記イメージ埋め込み、および文書に含まれたメタ情報を反映した文書ノードを学習して前記文書-POIグラフに対する文書埋め込み行列を取得する段階
を含む、請求項12に記載の推薦方法。
【請求項14】
請求項1~13のうちのいずれか一項に記載の推薦方法をコンピュータに実行させるためのコンピュータプログラム。
【請求項15】
コンピュータ装置であって、
メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサ
を含み、
前記少なくとも1つのプロセッサは、
地域を構成する複数のアイテムに基づいて異種グラフ構造の地域知識グラフを生成し、
前記地域知識グラフにおいて互いに異なるノードフィーチャを利用してノードタイプ別に埋め込みを実行し、
前記ノードタイプ別の埋め込みに基づいて、前記ノードタイプそれぞれに対応する推薦アイテムを提供すること
を特徴とする、コンピュータ装置。
【請求項16】
前記少なくとも1つのプロセッサは、
前記地域知識グラフから、1つのノードタイプをターゲットノードとして抽出し、少なくとも1つの他のノードタイプをコンテキストノードとして抽出し、前記ターゲットノードと前記コンテキストノード間の関係グラフをモデリングすること
を特徴とする、請求項15に記載のコンピュータ装置。
【請求項17】
前記少なくとも1つのプロセッサは、
POI、前記POIの訪問対象となるユーザ、前記POIに対して生産された文書を互いに異なるタイプのノードで構成し、前記ノードの関係をエッジで構成することによって前記地域知識グラフを生成すること
を特徴とする、請求項15に記載のコンピュータ装置。
【請求項18】
前記少なくとも1つのプロセッサは、
ユーザそれぞれをノードに設定し、ユーザと関連する情報をユーザノードフィーチャに設定し、ユーザとの関係をエッジに設定するユーザ-ユーザグラフを利用してフォロー基盤のユーザ埋め込みを抽出し、
ユーザとユーザが訪問したPOIをノードに設定し、ユーザと関連する情報をユーザノードフィーチャに設定し、POIと関連する情報をPOIノードフィーチャに設定し、POIに対するユーザの趣向情報をエッジに設定するユーザ-POIグラフを利用して訪問基盤のユーザ埋め込みを抽出し、
前記フォロー基盤のユーザ埋め込みと前記訪問基盤のユーザ埋め込みによってソース埋め込みと類似の埋め込みを検索して推薦ユーザを提供すること
を特徴とする、請求項17に記載のコンピュータ装置。
【請求項19】
前記少なくとも1つのプロセッサは、
POIとPOIを訪問したユーザをノードに設定し、POIと関連する情報をPOIノードフィーチャに設定し、ユーザと関連する情報をユーザノードフィーチャに設定し、POIに対するユーザの趣向情報をエッジに設定するPOI-ユーザグラフを利用してPOI埋め込みを抽出し、
前記POI埋め込みによってソース埋め込みと類似の埋め込みを検索して推薦POIを提供すること
を特徴とする、請求項17に記載のコンピュータ装置。
【請求項20】
前記少なくとも1つのプロセッサは、
文書と文書が登録されたPOIをノードに設定し、文書と関連する情報を文書ノードフィーチャに設定し、POIと関連する情報をPOIノードフィーチャに設定し、POIに対する文書の趣向情報をエッジに設定する文書-POIグラフを利用して文書埋め込みを抽出し、
前記文書埋め込みによってソース埋め込みと類似の埋め込みを検索して推薦文書を提供すること
を特徴とする、請求項17に記載のコンピュータ装置。
【発明の詳細な説明】
【技術分野】
【0001】
以下の説明は、地域基盤推薦情報を提供する技術に関する。
【背景技術】
【0002】
モバイルやユビキタスによるインフラの拡散にともない、各種サービスは個人向けのカスタム型に進化している。
【0003】
カスタムサービスの1つとして、ユーザの位置情報や選好情報などに基づいて周辺の場所情報を提供するものがある。
【0004】
場所推薦技術の一例として、特許文献1(2014年5月26日)には、飲食店や売場などの場所をテーマによって分類して推薦する技術が開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】韓国公開特許第10-2014-0062684号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
1つの地域知識グラフ(local knowledge graph)を利用することで、地域と関連する複数のアイテム(POI、ユーザ、文書)を推薦することができる。
【0007】
アイテム間の関係に起因する構造的情報を活用することで、高度化された推薦システムを提供することができる。
【課題を解決するための手段】
【0008】
コンピュータ装置で実行される推薦方法であって、前記コンピュータ装置は、メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサを含み、前記推薦方法は、前記少なくとも1つのプロセッサにより、地域を構成する複数のアイテムに基づいて異種グラフ構造の地域知識グラフ(local knowledge graph)を生成する段階、前記少なくとも1つのプロセッサにより、前記地域知識グラフにおいて互いに異なるノードフィーチャを利用してノードタイプ別に埋め込みを実行する段階、および前記少なくとも1つのプロセッサにより、前記ノードタイプ別の埋め込みに基づいて、前記ノードタイプそれぞれに対応する推薦アイテムを提供する段階を含む、推薦方法を提供する。
【0009】
一側面によると、前記実行する段階は、前記地域知識グラフから、1つのノードタイプをターゲットノード(target node)として抽出し、少なくとも1つの他のノードタイプをコンテキストノード(context node)で抽出し、前記ターゲットノードと前記コンテキストノード間の関係グラフをモデリングする段階を含んでよい。
【0010】
他の側面によると、前記モデリングする段階は、イメージ、テキスト、およびカテゴリーデータ(Categorical Data)を含むマルチモーダルデータを使用して、前記ターゲットノードと前記コンテキストノード間の関係をモデリングしてよい。
【0011】
また他の側面によると、前記モデリングする段階は、ランダムウォーク(Random Walk)基盤のサンプリングによって、ポジティブサンプル(Positive Sample)とネガティブサンプル(Negative Sample)を抽出する段階を含んでよい。
【0012】
また他の側面によると、前記モデリングする段階は、低ランクポジティブ損失(Low-rank Positive Loss)を利用して、前記ターゲットノードと前記コンテキストノード間の関係グラフに互いに異なる加重値のエッジを適用してよい。
【0013】
また他の側面によると、前記生成する段階は、POI、前記POIの訪問対象となるユーザ、前記POIに対して生産された文書を互いに異なるタイプのノードで構成し、前記ノード間の関係をエッジで構成することによって前記地域知識グラフを生成してよい。
【0014】
また他の側面によると、前記実行する段階は、ユーザそれぞれをノードに設定し、ユーザと関連する情報をユーザノードフィーチャに設定し、ユーザ間の関係をエッジに設定するユーザ-ユーザグラフを利用してフォロー基盤のユーザ埋め込みを抽出する段階、およびユーザとユーザが訪問したPOIをノードに設定し、ユーザと関連する情報をユーザノードフィーチャに設定し、POIと関連する情報をPOIノードフィーチャに設定し、POIに対するユーザの趣向情報をエッジに設定するユーザ-POIグラフを利用して訪問基盤のユーザ埋め込みを抽出する段階を含んでよい。
【0015】
また他の側面によると、前記提供する段階は、前記フォロー基盤のユーザ埋め込みによってソース埋め込みと類似する埋め込みを検索してフォロー基盤の推薦ユーザを選定する段階、前記訪問基盤のユーザ埋め込みによって前記ソース埋め込みと類似の埋め込みを検索して訪問基盤の推薦ユーザを選定する段階、および前記フォロー基盤の推薦ユーザと前記訪問基盤の推薦ユーザを一定の基準にしたがって整列して提供する段階を含んでよい。
【0016】
また他の側面によると、前記提供する段階は、前記フォロー基盤のユーザ埋め込みと前記訪問基盤のユーザ埋め込みによってソース埋め込みと類似する埋め込みを検索して推薦ユーザを選定する段階、および前記ソース埋め込みとの類似特徴を示す推薦事由とともに、前記推薦ユーザを提供する段階を含んでよい。
【0017】
また他の側面によると、前記実行する段階は、POIとPOIを訪問したユーザをノードに設定し、POIと関連する情報をPOIノードフィーチャに設定し、ユーザと関連する情報をユーザノードフィーチャに設定し、POIに対するユーザの趣向情報をエッジに設定するPOI-ユーザグラフを利用してPOI埋め込みを抽出する段階を含んでよい。
【0018】
また他の側面によると、前記提供する段階は、前記POI埋め込みによってソース埋め込みと類似する埋め込みを検索して推薦POIを選定する段階、および前記ソース埋め込みとの類似特徴を示す推薦事由とともに、前記推薦POIを提供する段階を含んでよい。
【0019】
また他の側面によると、前記実行する段階は、文書と文書が登録されたPOIをノードに設定し、文書と関連する情報を文書ノードフィーチャに設定し、POIと関連する情報をPOIノードフィーチャに設定し、POIに対する文書の趣向情報をエッジに設定する文書-POIグラフを利用して文書埋め込みを抽出する段階を含んでよい。
【0020】
さらに他の側面によると、前記抽出する段階は、文書に含まれたテキストをワード埋め込みモデルによって学習することによってテキスト埋め込みを抽出する段階、文書に含まれたイメージをディープラーニングモデルによって学習することによってイメージ埋め込みを抽出する段階、および前記テキスト埋め込みと前記イメージ埋め込み、および文書に含まれたメタ情報を反映した文書ノードを学習して前記文書-POIグラフに対する文書埋め込み行列を取得する段階を含んでよい。
【0021】
前記推薦方法をコンピュータに実行させるためのコンピュータプログラムを提供する。
【0022】
コンピュータ装置であって、メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサを含み、前記少なくとも1つのプロセッサは、地域を構成する複数のアイテムに基づいて異種グラフ構造の地域知識グラフを生成し、前記地域知識グラフにおいて互いに異なるノードフィーチャを利用してノードタイプ別に埋め込みを実行し、前記ノードタイプ別の埋め込みに基づいて、前記ノードタイプそれぞれに対応する推薦アイテムを提供することを特徴とする、コンピュータ装置を提供する。
【発明の効果】
【0023】
本発明の実施形態によると、地域知識グラフに基づいて、地域と関連するアイテムであるPOI、ユーザ、文書を推薦することができる。POIノードとユーザノード、および文書ノードで構成される異種グラフ(Heterogeneous Graph)構造の地域知識グラフを生成することにより、各アイテムが所有する固有のフィーチャだけでなく、グラフ上で連結する他のノードとの関係までも考慮されることにより、より高度化した推薦を提供することができる。
【0024】
本発明の実施形態によると、異種グラフ構造によって互いに異なるタイプのノードと構造的情報を活用して各ノードの埋め込みを実行することによって、データ稀少性(Data Sparcity)問題を最小化することができ、イメージやテキストなどの多様なマルチモーダルデータ(Multimodal Data)を使用することによって、各モダリティ(Modality)から得られる情報の量を極大化することができる。
【図面の簡単な説明】
【0025】
【
図1】本発明の一実施形態における、ネットワーク環境の例を示した図である。
【
図2】本発明の一実施形態における、コンピュータシステムの例を示したブロック図である。
【
図3】本発明の一実施形態における、コンピュータシステムのプロセッサが含むことができる構成要素の例を示した図である。
【
図4】本発明の一実施形態における、コンピュータシステムが実行することができる方法の一例を示したフローチャートである。
【
図5】本発明の一実施形態における、ユーザ推薦モデリング過程を説明するための例示図である。
【
図6】本発明の一実施形態における、ユーザ推薦モデリング過程を説明するための例示図である。
【
図7】本発明の一実施形態における、ユーザ推薦モデリング過程を説明するための例示図である。
【
図8】本発明の一実施形態における、ユーザ推薦モデリング過程を説明するための例示図である。
【
図9】本発明の一実施形態における、POI推薦モデリング過程を説明するための例示図である。
【
図10】本発明の一実施形態における、POI推薦モデリング過程を説明するための例示図である。
【
図11】本発明の一実施形態における、文書(レビュー)推薦モデリング過程を説明するための例示図である。
【
図12】本発明の一実施形態における、文書(レビュー)推薦モデリング過程を説明するための例示図である。
【
図13】本発明の一実施形態における、文書(レビュー)推薦モデリング過程を説明するための例示図である。
【
図14】本発明の一実施形態における、文書(レビュー)推薦モデリング過程を説明するための例示図である。
【
図15】本発明の一実施形態における、文書(レビュー)推薦モデリング過程を説明するための例示図である。
【発明を実施するための形態】
【0026】
以下、本発明の実施形態について、添付の図面を参照しながら詳しく説明する。
【0027】
本発明の実施形態は、地域基盤推薦情報を提供する技術に関する。
【0028】
本明細書で具体的に開示される事項を含む実施形態は、1つの地域知識グラフを利用することで、地域と関連する複数のアイテムを推薦することができる。
【0029】
本明細書において、アイテムとは、検索または推薦対象を包括したものを意味してよい。アイテムは、地域を構成する要素に該当するものであり、本実施形態では、地域内に位置するPOI(point of interest)、POIに対する訪問や利用、購入などの対象となるユーザ、POIに対して生産されたUGC(user generated content)文書(例えば、レビューなど)を含んでよい。
【0030】
本発明の実施形態に係るアイテム推薦システムは、少なくとも1つのコンピュータシステムによって実現されてよくk、本発明の実施形態に係るアイテム推薦方法は、アイテム推薦システムに含まれる少なくとも1つのコンピュータシステムによって実行されてよい。このとき、コンピュータシステムにおいては、本発明の一実施形態に係るコンピュータプログラムがインストールされて実行されてよく、コンピュータシステムは、実行されたコンピュータプログラムの制御にしたがって本発明の実施形態に係るアイテム推薦方法を実行してよい。上述したコンピュータプログラムは、コンピュータシステムと結合してアイテム推薦方法をコンピュータに実行させるためにコンピュータ読み取り可能な記録媒体に記録されてよい。
【0031】
図1は、本発明の一実施形態における、ネットワーク環境の例を示した図である。
図1のネットワーク環境は、複数の電子機器110、120、130、140、複数のサーバ150、160、およびネットワーク170を含む例を示している。このような
図1は、発明の説明のための一例に過ぎず、電子機器の数やサーバの数が
図1のように限定されることはない。また、
図1のネットワーク環境は、本実施形態に適用可能な環境の一例に過ぎず、本実施形態に適用可能な環境が
図1のネットワーク環境に限定されることはない。
【0032】
複数の電子機器110、120、130、140は、コンピュータ装置によって実現される固定端末や移動端末であってよい。複数の電子機器110、120、130、140の例としては、スマートフォン、携帯電話、ナビゲーション、PC(personal computer)、ノート型PC、デジタル放送用端末、PDA(Personal Digital Assistant)、PMP(Portable Multimedia Player)、タブレット、ゲームコンソール(game console)、ウェアラブルデバイス(wearable device)、IoT(Internet of Things)デバイス、VR(Virtual Reality)デバイス、AR(Augmented Reality)デバイスなどがある。一例として、
図1では、電子機器110の例としてスマートフォンを示しているが、本発明の実施形態において、電子機器110は、実質的に無線または有線通信方式を利用し、ネットワーク170を介して他の電子機器120、130、140および/またはサーバ150、160と通信することができる多様な物理的なコンピュータシステムのうちの1つを意味してよい。
【0033】
通信方式が限定されることはなく、ネットワーク170が含むことのできる通信網(一例として、移動通信網、有線インターネット、無線インターネット、放送網)を利用する通信方式だけではなく、機器間の近距離無線通信が含まれてもよい。例えば、ネットワーク170は、PAN(personal area network)、LAN(local area network)、CAN(campus area network)、MAN(metropolitan area network)、WAN(wide area network)、BBN(broadband network)、インターネットなどのネットワークのうちの1つ以上の任意のネットワークを含んでよい。さらに、ネットワーク170は、バスネットワーク、スターネットワーク、リングネットワーク、メッシュネットワーク、スター-バスネットワーク、ツリーまたは階層的ネットワークなどを含むネットワークトポロジのうちの任意の1つ以上を含んでもよいが、これらに限定されることはない。
【0034】
サーバ150、160それぞれは、複数の電子機器110、120、130、140とネットワーク170を介して通信して命令、コード、ファイル、コンテンツ、サービスなどを提供する1つ以上のコンピュータ装置によって実現されてよい。例えば、サーバ150は、ネットワーク170を介して接続した複数の電子機器110、120、130、140に第1サービスを提供するシステムであってよく、サーバ160も、ネットワーク170を介して接続した複数の電子機器110、120、130、140に第2サービスを提供するシステムであってよい。より具体的な例として、サーバ150は、複数の電子機器110、120、130、140においてインストールされて実行されるコンピュータプログラムであるアプリケーションを通じて、当該アプリケーションが目的とするサービス(一例として、推薦サービスなど)を第1サービスとして複数の電子機器110、120、130、140に提供してよい。他の例として、サーバ160は、上述したアプリケーションのインストールおよび実行のためのファイルを複数の電子機器110、120、130、140に配布するサービスを第2サービスとして提供してよい。
【0035】
図2は、本発明の一実施形態における、コンピュータ装置の例を示したブロック図である。上述した複数の電子機器110、120、130、140それぞれやサーバ150、160それぞれは、
図2に示したコンピュータ装置200によって実現されてよい。
【0036】
このようなコンピュータ装置200は、
図2に示すように、メモリ210、プロセッサ220、通信インタフェース230、および入力/出力インタフェース240を含んでよい。
【0037】
メモリ210は、コンピュータ読み取り可能な記録媒体であって、RAM(random access memory)、ROM(read only memory)、およびディスクドライブのような永続的大容量記録装置を含んでよい。ここで、ROMやディスクドライブのような永続的大容量記録装置は、メモリ210とは区分される別の永続的記録装置としてコンピュータ装置200に含まれてもよい。また、メモリ210には、オペレーティングシステムと、少なくとも1つのプログラムコードが記録されてよい。このようなソフトウェア構成要素は、メモリ210とは別のコンピュータ読み取り可能な記録媒体からメモリ210にロードされてよい。このような別のコンピュータ読み取り可能な記録媒体は、フロッピー(登録商標)ドライブ、ディスク、テープ、DVD/CD-ROMドライブ、メモリカードなどのコンピュータ読み取り可能な記録媒体を含んでよい。他の実施形態において、ソフトウェア構成要素は、コンピュータ読み取り可能な記録媒体ではない通信インタフェース230を通じてメモリ210にロードされてもよい。例えば、ソフトウェア構成要素は、ネットワーク170を介して受信されるファイルによってインストールされるコンピュータプログラムに基づいてコンピュータ装置200のメモリ210にロードされてよい。
【0038】
プロセッサ220は、基本的な算術、ロジック、および入出力演算を実行することにより、コンピュータプログラムの命令を処理するように構成されてよい。命令は、メモリ210または通信インタフェース230によって、プロセッサ220に提供されてよい。例えば、プロセッサ220は、メモリ210のような記録装置に記録されたプログラムコードにしたがって受信される命令を実行するように構成されてよい。
【0039】
通信インタフェース230は、ネットワーク170を介してコンピュータ装置200が他の装置(一例として、上述した記録装置)と互いに通信するための機能を提供してよい。一例として、コンピュータ装置200のプロセッサ220がメモリ210のような記録装置に記録されたプログラムコードにしたがって生成した要求や命令、データ、ファイルなどが、通信インタフェース230の制御にしたがってネットワーク170を介して他の装置に伝達されてよい。これとは逆に、他の装置からの信号や命令、データ、ファイルなどが、ネットワーク170を経てコンピュータ装置200の通信インタフェース230を通じてコンピュータ装置200に受信されてよい。通信インタフェース230を通じて受信された信号や命令、データなどは、プロセッサ220やメモリ210に伝達されてよく、ファイルなどは、コンピュータ装置200がさらに含むことのできる記録媒体(上述した永続的記録装置)に記録されてよい。
【0040】
入力/出力インタフェース240は、入力/出力装置250とのインタフェースのための手段であってよい。例えば、入力装置は、マイク、キーボード、またはマウスなどの装置を、出力装置は、ディスプレイ、スピーカのような装置を含んでよい。他の例として、入力/出力インタフェース240は、タッチスクリーンのように入力と出力のための機能が1つに統合された装置とのインタフェースのための手段であってもよい。入力/出力装置250は、コンピュータ装置200と1つの装置で構成されてもよい。
【0041】
また、他の実施形態において、コンピュータ装置200は、
図2の構成要素よりも少ないか多くの構成要素を含んでもよい。しかし、大部分の従来技術的構成要素を明確に図に示す必要はない。例えば、コンピュータ装置200は、上述した入力/出力装置250のうちの少なくとも一部を含むように実現されてもよいし、トランシーバ、データベースなどのような他の構成要素をさらに含んでもよい。
【0042】
以下では、地域知識グラフに基づいて推薦情報を提供する方法およびシステムの具体的な実施形態について説明する。
【0043】
図3は、本発明の一実施形態における、コンピュータシステムのプロセッサが含むことができる構成要素の例を示したブロック図であり、
図4は、本発明の一実施形態における、コンピュータシステムが実行することができるアイテム推薦方法の一例を示したフローチャートである。
【0044】
本実施形態に係るコンピュータ装置200は、クライアントを対象に、クライアント上にインストールされた専用アプリケーションやコンピュータ装置200と関連するウェブ/モバイルサイトへの接続によって推薦サービスを提供してよい。
【0045】
コンピュータ装置200のプロセッサ220は、以下で説明するアイテム推薦方法を実行するための構成要素として、
図3に示すように、グラフ生成部310、ノード埋め込み部320、およびアイテム推薦部330を含んでよい。実施形態によって、プロセッサ220の構成要素は、選択的にプロセッサ220に含まれても除外されてもよい。また、実施形態によって、プロセッサ220の構成要素は、プロセッサ220の機能の表現のために分離されても併合されてもよい。
【0046】
このようなプロセッサ220およびプロセッサ220の構成要素は、以下で説明するアイテム推薦方法に含まれる段階を実行するようにコンピュータ装置200を制御してよい。例えば、プロセッサ220およびプロセッサ220の構成要素は、メモリ210が含むオペレーティングシステムのコードと、少なくとも1つのプログラムのコードとによる命令(instruction)を実行するように実現されてよい。
【0047】
ここで、プロセッサ220の構成要素は、コンピュータ装置200に記録されたプログラムコードが提供する命令にしたがってプロセッサ220によって実行される、互いに異なる機能(different functions)の表現であってよい。例えば、コンピュータ装置200が地域知識グラフを生成するように上述した命令にしたがってコンピュータ装置200を制御するプロセッサ220の機能的表現として、グラフ生成部310が利用されてよい。
【0048】
プロセッサ220は、コンピュータ装置200の制御と関連する命令がロードされたメモリ210から必要な命令を読み取ってよい。この場合、前記読み取られた命令は、プロセッサ220が以下で説明するアイテム推薦方法を実行するように制御するための命令を含んでよい。
【0049】
以下で説明するアイテム推薦方法に含まれる段階は、図に示したものとは異なる順序で実行されてもよいし、段階のうちの一部が省略されたり追加の過程がさらに含まれたりしてもよい。
【0050】
図4を参照すると、段階410で、グラフ生成部310は、地域と関連する複数のアイテムに基づいて異種グラフ構造の地域知識グラフを生成してよい。グラフ生成部310は、
図3に示すように、POIデータ301、ユーザデータ302、文書データ303などの多様なクロスドメイン(cross domain)データを活用することで、統合された1つの地域知識グラフを生成してよい。POIデータ301は、ビックデータ基盤分析モデル(context analysis model)またはPOI管理者によって入力された情報などに基づいて抽出可能なPOIメタデータであって、POIの雰囲気、メニュー、探索目的、業種、価格などが含まれてよい。ユーザデータ302には、ユーザの関係情報(例えば、ファローデータ、フォロワーデータなど)、趣向データ(例えば、いいね、キープ、レシートレビューなど)などが含まれてよい。文書データ303には、文書に含まれたイメージ、テキスト、メニュー情報、キーワードレビューなどが含まれてよい。地域知識グラフは大きく3つのノードタイプで構成されてよく、言い換えれば、POIノード、ユーザノード、文書ノードで構成されてよい。POIの業種、価格帯、業種内の価格帯、代表メニュー、雰囲気、探索目的などの情報はPOIノードフィーチャとして、ユーザの性別、年齢、活動地域などはユーザノードフィーチャとして、文書に含まれたイメージ、テキスト、注文価格、注文メニュー、訪問頻度、訪問目的などは文書ノードフィーチャとして使用されてよい。
【0051】
段階420で、ノード埋め込み部320は、地域知識グラフにおいて互いに異なるノードフィーチャを使用して各ノードの埋め込みを実行してよい。ノード埋め込み部320は、ノードタイプ別に異なるノードタイプのフィーチャと構造的情報を活用することで、該当となるノードに対する埋め込みを実行してよい。ノード埋め込み部320は、地域知識グラフから、1つのノードタイプをターゲットノード(target node)(すなわち、pin node)として抽出し、ターゲットノードとは異なる少なくとも1つのノードタイプをコンテキストノード(context node)(すなわち、board node)として抽出し、ターゲットノードとコンテキストノード間の関係をモデリングすることによってターゲットノードの埋め込みを実行してよい。
【0052】
ノード埋め込み部320は、2部グラフ(Bipartite Graph)や異種グラフの形態を基盤としたGCN(graph convolution network)モデル(例えば、PinSAGE基盤モデルなど)を利用して、ピンノードとボードノードの関係グラフを相互インタラクションさせて生成してよい。このとき、仮想バーテックス(virtual vertex)または仮想エッジを利用して所望するグラフを生成してよい。例えば、業種や地域バーテックスを追加してPOI間の関係を新たに定義してよく、ユーザデータに基づいてエッジを新たに定義してデータ稀少性を低め、協業フィルタリング(Collaborative Filtering)による性向を追加してもよい。また、ノード埋め込み部320は、ターゲットノードとコンテキストノード間の関係をモデリングするために地域ドメインの多様なノードフィーチャを使用してよく、例えば、イメージ、テキスト、カテゴリーデータ(Categorical Data)のようなマルチモーダルデータを使用してよい。
【0053】
ノード埋め込み部320は、モデル学習のためのポジティブサンプル(Positive Sample)とネガティブサンプル(Negative Sample)を抽出するにおいて目標とするドメイン知識に適合する推薦を提供するために、サンプリングロジックを追加してランダム性を改善してよい。一例として、ノード埋め込み部320は、ランダムウォーク(Random Walk)基盤のサンプリング過程において、ノード間のフィーチャが類似しない場合、ネガティブサンプルとして利用してよい。例えば、POIが同じ業種であるがメタデータが異なるPOIの場合、これをネガティブサンプルとして選定し、同じ業種であってもフィーチャが異なるPOIは互いに遠ざかるように学習してよい。
【0054】
ノード埋め込み部320は、グラフモデリングを改善するために低ランクポジティブ損失(Low-rank Positive Loss)を活用してよい。地域知識グラフのエッジは、明示的フィードバック(Explicit Feedback)によって生成されるため、互いに異なる加重値を適用してよい。互いに異なるエッジの強度を考慮して低ランクポジティブ損失を使用することによってポジティブサンプル内でも相互の差を反映することができ、これによって関連度が高いものがより近い距離になるように学習することができる。
【0055】
要するに、ノード埋め込み部320は、各ノードタイプに対して地域知識グラフから必要なノードとフィーチャを抽出し、該当となるノードタイプに適合したグラフをデザインした後、グラフモデリングによってノードタイプ別に埋め込みを抽出することができる。すなわち、ノード埋め込み部320は、1つの地域知識グラフを利用して、ユーザ推薦モデル、POI推薦モデル、および文書推薦モデルを構築することができる。
【0056】
段階430で、アイテム推薦部330は、ノードタイプ別の埋め込みに基づいて、各ノードタイプに対応する推薦アイテムを提供してよい。推薦アイテムのうちの1つはユーザを推薦するものであって、ユーザ推薦モデルとして、異種グラフ基盤のモデルはもちろん、同種グラフ(Homogeneous Graph)基盤のモデルを利用してユーザ推薦範囲を拡大してよい。意味ある推薦ユーザを提供するために、レビューや活動などに基づいて高品質のユーザを事前に選別して推薦してよい。推薦アイテムのうちの他の1つは、POIを推薦するものであって、類似度尺度(例えば、Jaccard Distanceなど)を活用してPOI間の類似度と類似特性を把握し、これによって推薦事由とともにPOIを推薦することができる。POIに対する推薦品質のために、一部の条件に符合するPOI、例えば、フランチャイズPOIやイメージのないPOIなどは推薦対象から除外してよい。多様な推薦結果を提供するために、同一業種のPOIが連続的に推薦されないように推薦対象を管理することも可能である。推薦アイテムのうちのさらに他の1つは、文書を推薦するものであって、文書を推薦するにあたって文書から抽出された情報(例えば、メニューや価格など)により、埋め込みだけでなく、実際のメタデータまで類似する文書を推薦することができる。
【0057】
図5は、本発明の一実施形態における、ユーザ推薦モデリング過程を示したフローチャートである。
【0058】
プロセッサ220は、地域知識グラフから、ユーザを示すノードと、当該ノードのフィーチャを抽出してユーザ推薦モデリングに使用してよい。
【0059】
段階501で、プロセッサ220は、フォロー基盤のユーザとの関係を示すグラフであるユーザ-ユーザ同種グラフとユーザと、POIとの関係を示すグラフであるユーザ-POI異種グラフを生成してよい。
【0060】
段階502で、プロセッサ220は、ユーザ-ユーザ同種グラフとユーザ-POI異種グラフそれぞれに対して、GCNモデル基盤の学習によってユーザ埋め込みをモデリングしてよい。
【0061】
ユーザ推薦モデルには、大きく、2つのモデルが使用される。
【0062】
1つ目に、ユーザが他のユーザをフォローする場合、このユーザと趣向(関心事)が類似するという前提の元、フォロー関係にあるユーザの特性をノードフィーチャに反映したフォロー基盤のグラフディープラーニングモデルに基づいて、フォロー関係にあるユーザを近くに埋め込んでよい。
【0063】
図6を参照すると、プロセッサ220は、ユーザとのフォロー関係を表現することができる同一タイプのノードとエッジで表現される同種グラフを使用してユーザ-ユーザグラフ600を生成してよい。言い換えれば、ユーザ間の関係を表現するために、各ユーザをノードに設定し、ユーザの性別、年齢、関心地域(活動地域)、関心カテゴリーなどの情報をノードフィーチャに設定し、フォロー関係をエッジに設定することによってユーザ-ユーザグラフ600を構成してよい。プロセッサ220は、ユーザ-ユーザグラフ600をGCNモデルに学習させてユーザの埋め込み値を抽出してよい。例えば、GCNモデルのうちの1つを利用してランダムウォークによって近隣をサンプリングし、グラフ構造(すなわち、トポロジー)に影響を受けないサブグラフ(aggregator、mini-batch)が入力として使用されるGraphSAGEモデルを使用してよい。
【0064】
プロセッサ220は、ユーザ-ユーザグラフ600のモデリングによる埋め込みによって、ターゲティング対象であるソースユーザの関心地域に該当する推薦ユーザを提供してよい。
図7を参照すると、プロセッサ220は、ソースユーザ埋め込み701が与えられる場合、ベクトル検索エンジン700を利用してソースユーザ埋め込み701と類似のユーザ埋め込みを検索して推薦ユーザ702に提供してよい。例えば、プロセッサ220は、ソースユーザの関心地域に基づいてレビューのような文書を多く保有している他のユーザを推薦候補として選定した後、推薦候補をソースユーザとフォロー関係にあるユーザ群と関心カテゴリーがソースユーザと同じでるユーザ群に分け、推薦事由別にユーザを推薦してよい。
【0065】
2つ目に、同じPOIを訪問したユーザの趣向が類似するという前提の元、ユーザとPOIの特性をノードフィーチャに反映した訪問基盤のグラフディープラーニングモデルに基づいて、同じPOI訪問履歴があるユーザを近くに埋め込んでよい。
【0066】
図8を参照すると、プロセッサ220は、ユーザとPOIに関する情報を同時に入れることが可能な異種グラフのうちでも特定の知識、すなわち、地域ドメインのコンテキストを反映することができる知識グラフを使用してユーザ-POIグラフ800を生成してよい。異種グラフは、1つのノードタイプとエッジタイプを取り扱う同種グラフとは異なり、多数のノードタイプとエッジタイプでグラフを表現する。そのうちでも知識グラフは、与えられたドメインに対する知識をグラフ形式で記録することができる。ユーザとPOI間の関係を表現するために2部グラフが活用されてよく、比重(rating)によってエッジに対する関係と加重値を表現してよい。ユーザとユーザが訪問したPOIをノードに設定し、ユーザの性別、年齢、関心地域、関心カテゴリーなどの情報をユーザノードフィーチャに設定し、POIの業種、価格帯、雰囲気、探索目的、代表メニュー、人気トピック、レシートキーワードなどの情報をPOIノードフィーチャに設定し、ユーザのPOIに対する趣向(例えば、訪問、いいね、キープなど)をエッジに設定することによってユーザ-POIグラフ800を構成してよい。プロセッサ220は、ユーザ-POIグラフ800をGCNモデルに学習させてユーザの埋め込み値を抽出してよい。例えば、GCNモデルのうちの1つであるpinSAGEモデルを使用することにより、ユーザをターゲットノードであるピンノードで構成し、POIをコンテキストノードであるボードノードで構成してよい。このとき、pinSAGEモデルは、メタパス(metapath)という辞書知識によって近隣を設定してよく、ランダムウォークによって近隣をサンプリングしてよく、ランダムウォークによってPOIの訪問回数を基準に近隣ノードの重要度点数(importance score)を定義して活用してよい。したがって、pinSAGEモデルを使用することにより、ユーザ-POIグラフ800上にユーザのPOIに対する選好度の差を反映することができる。
【0067】
プロセッサ220は、ユーザ-POIグラフ800のモデリングによる埋め込みによって、ソースユーザの関心地域に該当する推薦ユーザを提供してよい。
図7を参照しながら説明したように、プロセッサ220は、ソースユーザ埋め込み701が与えられる場合、ベクトル検索エンジン700を利用してソースユーザ埋め込み701と類似するユーザ埋め込みを検索して推薦ユーザ702に提供してよい。このとき、プロセッサ220は、ソースユーザの関心地域に基づいて、レビューのような文書を多く保有している他のユーザを推薦候補として選定した後、推薦候補をソースユーザと同じPOI訪問履歴があるユーザ群と関心カテゴリーがソースユーザと同じユーザ群に分け、推薦事由別にユーザを推薦してよい。
【0068】
プロセッサ220は、ユーザ推薦において、フォロー基盤の推薦ユーザと訪問基盤の推薦ユーザを一定の基準にしたがって整列して提供してよい。例えば、フォロー基盤の推薦ユーザ、訪問基盤の推薦ユーザの順に整列してよい。
【0069】
実施形態によっては、ユーザ埋め込みをフォロー基盤のユーザ埋め込みと訪問基盤のユーザ埋め込みに区分せず、2つの埋め込みの平均を、ユーザ情報を反映するユーザフィーチャに活用することも可能である。
【0070】
図9は、本発明の一実施形態における、POI推薦モデリング過程を示したフローチャートである。
【0071】
プロセッサ220は、地域知識グラフから、POIを示すノードと、当該ノードのフィーチャを抽出してPOI推薦モデリングに使用してよい。
【0072】
段階901で、プロセッサ220は、POIとユーザ間の関係を示すグラフであるPOI-ユーザ異種グラフを生成してよい。
【0073】
段階902で、プロセッサ220は、POI-ユーザ異種グラフに対し、GCNモデル基盤の学習によってPOI埋め込みをモデリングしてよい。
【0074】
POI推薦モデリングの場合、協業フィルタリングとは異なり、POIとユーザの特性をノードフィーチャに反映したグラフディープラーニングモデルに基づいて、特性が類似するPOIを近くに埋め込んでよい。ユーザの趣向が反映されたPOI埋め込みにより、ユーザが過去に訪問履歴のある趣向POIと類似する性質を有する他のPOIを推薦POIとして生成することができる。
【0075】
図8を参照しながら説明したユーザ-POIグラフ800と同じように、POIのメタデータおよびユーザのメタデータと関心情報に基づいてPOI-ユーザ異種グラフを生成してよい。POIとユーザの関係構造を適切に記録するために、POI-ユーザ異種グラフを2部グラフ形態で構成してよい。
【0076】
POIとPOIを訪問したユーザをノードに設定し、POIの業種、価格帯、雰囲気、探索目的、代表メニュー、人気トピック、レシートキーワードなどの情報をPOIノードフィーチャに設定し、ユーザの性別、年齢、関心地域、関心カテゴリーなどの情報をユーザノードフィーチャに設定し、ユーザのPOIに対する趣向(例えば、訪問、いいね、キープなど)をエッジに設定することによってPOI-ユーザグラフを構成してよい。プロセッサ220は、POI-ユーザグラフをGCNモデルに学習させてユーザの埋め込み値を抽出してよい。例えば、GCNモデルのうちの1つであるpinSAGEモデルを使用することにより、POI推薦モデリングのためには、ユーザ推薦モデリングとは反対に、POIはピンノードで構成し、ユーザはボードノードで構成してよい。
【0077】
同じPOIに連結するユーザによって互いに類似するPOIを近くに埋め込むために、POI-ユーザ-POIメタパスを定義してランダムウォークを実行してよい。ユーザが訪問したPOIのうちで相対的に比重を低く反映したPOIは、POI埋め込みに少ない影響を与えるように低ランクポジティブグラフを作成し、損失関数に低ランクポジティブターム(Low-Rank Positive Term)を反映してよい。
【0078】
プロセッサ220は、POI-ユーザグラフのモデリングによる埋め込みにより、ユーザが訪問したPOIである趣向POIと類似するPOIを推薦してよい。類似POIのうちで実在的なメタデータが類似するPOIが上位にランキングされるようにするために、リランキング(re-rank)ロジックを追加してよい。
図10を参照すると、趣向POIに該当するソースPOI埋め込み1001が与えられる場合、ベクトル検索エンジン700を利用してソースPOI埋め込み1001と類似するPOI埋め込みを検索して推薦POI1002として提供してよい。プロセッサ220は、趣向POIとの類似度順によって少なくとも1つの推薦POI1002を選定してよいが、このとき、推薦POI1002別に、POIノードフィーチャとして使用される業種、価格帯、雰囲気、探索目的、代表メニュー、人気トピック、レシートキーワードなどに対してそれぞれ趣向POIとの類似度を計算してよい。推薦POI1002の特徴うちで趣向POIとの類似度が最大である特徴を当該POIの推薦事由として選定してよい。言い換えれば、プロセッサ220は、趣向POIと類似する推薦POI1002を選定した後、推薦POI1002それぞれに対してどのような特性が趣向POIと類似するかという推薦事由をともに提供してよい。実施形態によっては、レビューのような文書を多く保有していたり、ユーザによる訪問履歴が多いPOIを推薦候補として選定した後、推薦候補POIを、趣向POIと業種が類似するPOI群、代表メニューが類似するPOI群、訪問目的が類似するPOI群などに分けて推薦事由別にPOIを推薦してよい。
【0079】
図11は、本発明の一実施形態における、文書推薦モデリング過程を示したフローチャートである。
【0080】
POIに対するレビューを文書の代表的な例として、具体的な実施形態を説明する。
【0081】
プロセッサ220は、地域知識グラフから、レビューを示すノードと、当該ノードのフィーチャを抽出してレビュー推薦モデリングに使用してよい。
【0082】
段階1101で、プロセッサ220は、レビューとPOI間の関係を示すグラフであるレビュー-POI異種グラフを生成してよい。
【0083】
段階1102で、プロセッサ220は、レビュー-POI異種グラフに対し、GCNモデル基盤の学習によってレビュー埋め込みをモデリングしてよい。
【0084】
ユーザがPOIを直接訪問した後に投稿したレビューを理解して類似のレビューを推薦してよい。このとき、単にテキストや訪問した業種が似ているレビューを推薦するのではなく、レビューから抽出されるテキスト、イメージ、メタ情報を総合的に考慮するマルチモダリティ性質の埋め込みにより、レビューの内在的な特徴まで考慮した推薦を提供することができる。
【0085】
レビューとレビューが登録されたPOIをノードに設定し、レビューイメージ、レビューテキスト、レシートイメージ、レシートキーワード、消費価格、消費メニューなどの情報をレビューノードフィーチャに設定し、POIの業種、価格帯、雰囲気、探索目的、代表メニュー、人気トピック、レシートキーワードなどの情報をPOIノードフィーチャに設定し、レビューに示された趣向(レシートレビュー、予約レビュー、趣向基盤の仮想エッジなど)をエッジに設定することによってレビュー-POIグラフを構成してよい。プロセッサ220は、レビュー-POIグラフをGCNモデルに学習させてレビューの埋め込み値を抽出してよい。例えば、GCNモデルのうちの1つであるpinSAGEモデルを使用して、レビューはピンノードで構成し、POIはボードノードで構成してよい。言い換えれば、pinSAGEに基づいて、レビューに含まれたイメージ、テキスト、レシート基盤の情報を総合的に考慮したマルチモダリティ埋め込みを取得した後、これに基づいて多様な情報面で類似するレビューを推薦することができるようにする。
【0086】
図12は、レビューテキスト埋め込み過程を説明するための例示図である。
【0087】
レビューに含まれたテキストは、ユーザがレビューとして作成したテキストやユーザがアップロードしたレシートイメージから抽出されたテキスト(価格、メニュー名、業種など)などを含んでよい。
図12を参照すると、レビューから抽出されたローテキスト1201をワード埋め込みモデル1200(例えば、Word2Vecなど)によって学習して各ワード単位で埋め込みベクトルを得た後、ワード埋め込みモデル1200から得られた埋め込み値の平均を計算してテキスト情報を反映するテキストフィーチャ1202を抽出してよい。
【0088】
図13は、レビューイメージ埋め込み過程を説明するための例示図である。
図13を参照すると、レビューから抽出されたローイメージ1301を、イメージデータセットによって事前学習したディープラーニングモデル1300(例えば、VGG16など)に入力して最後のレイヤのフィーチャマップ(feature map)を抽出することにより、各イメージ単位で1次的な埋め込みベクトルを取得する。1次的に取得したイメージフィーチャ1302は、大型ネットワークによって抽出されるものであるため稀少性問題があることから、次元縮小アルゴリズム(例えば、PCAなど)を利用して所望する次元に減らして最終的なイメージフィーチャ1303を取得してよい。1つのレビューに複数のイメージが含まれる場合、各イメージから得られた埋め込み値の平均を計算してイメージ情報を反映するイメージフィーチャ1303を抽出してよい。
【0089】
図14は、pinSAGE基盤のレビュー埋め込み過程を説明するための例示図である。
【0090】
レビューに含まれた多様な情報を総合的に考慮する、マルチモダリティ性質の埋め込みを取得してよい。
図14を参照すると、レビューとPOI間の関係を示すレビュー-POI異種グラフ1400を生成してよい。このとき、多様な属性を有するレビューとPOIの構造的な特徴を反映するネットワークを生成するために、マルチモーダル2部グラフ形態で構成されてよい。レビューのモダリティを反映するために事前学習されたテキストフィーチャ1202とイメージフィーチャ1303を活用してよいが、この他にも、レビューに含まれた多様なメタ情報(例えば、メニュー価格の平均、レビューに対する「いいね」の数、レビューに対する詳細レビューの数など)を反映してレビューノードを定義してよく、これに基づいて学習を行ってレビュー-POI異種グラフ1400に対するレビュー埋め込み行列1410を取得してよい。
【0091】
図15を参照すると、プロセッサ220は、レビュー埋め込み行列1410において与えられた基準レビュー1501に対してベクトル検索エンジン700を利用して他のレビューとの類似度を求め、類似度距離が近い順に上位の一定件数(K)のレビューを選定してよいが、このとき、選定されたレビューを基準レビュー1501と類似のレビュー1502で定義して推薦してよい。例えば、基準レビュー1501と類似する地域群に位置するレビューリストを先に探索した後、そのうちでも内容が基準レビュー1501と類似するレビューを選別して推薦してよい。
【0092】
したがって、プロセッサ220は、1つの巨大な地域知識グラフで構成されたユーザ-POI-文書異種グラフを利用し、ユーザ-ユーザグラフとユーザ-POIグラフ基盤のモデリングによって、ユーザノードを埋め込み、POI-ユーザグラフ基盤のモデリングによってPOIノードを埋め込み、文書-POIグラフ基盤のモデリングによって文書ノードを埋め込むことにより、各ノードタイプ別の埋め込みに基づいてユーザ推薦、POI推薦、および文書推薦を提供することができる。
【0093】
このように、本発明の実施形態によると、地域知識グラフに基づいて、地域と関連するアイテムであるPOI、ユーザ、文書を推薦することができる。POI、ユーザ、および文書で構成される異種グラフ構造の地域知識グラフを生成することにより、各アイテムが所有する固有のフィーチャだけでなく、グラフ上で連結する他のノードとの関係までも考慮されることにより、より高度化された推薦を提供することができる。また、本発明の実施形態によると、異種グラフ構造によって、互いに異なるタイプのノードと構造的情報を活用して各ノードを埋め込むことによってデータ稀少性問題を最小化することができ、イメージやテキストなどの多様なマルチモーダルデータを使用することによって、各モダリティから得られる情報の量を極大化することができる。
【0094】
上述した装置は、ハードウェア構成要素、ソフトウェア構成要素、および/またはハードウェア構成要素とソフトウェア構成要素との組み合わせによって実現されてよい。例えば、実施形態で説明された装置および構成要素は、プロセッサ、コントローラ、ALU(arithmetic logic unit)、デジタル信号プロセッサ、マイクロコンピュータ、FPGA(field programmable gate array)、PLU(programmable logic unit)、マイクロプロセッサ、または命令を実行して応答することができる様々な装置のように、1つ以上の汎用コンピュータまたは特殊目的コンピュータを利用して実現されてよい。処理装置は、オペレーティングシステム(OS)およびOS上で実行される1つ以上のソフトウェアアプリケーションを実行してよい。また、処理装置は、ソフトウェアの実行に応答し、データにアクセスし、データを記録、操作、処理、および生成してもよい。理解の便宜のために、1つの処理装置が使用されるとして説明される場合もあるが、当業者であれば、処理装置が複数個の処理要素および/または複数種類の処理要素を含んでもよいことが理解できるであろう。例えば、処理装置は、複数個のプロセッサまたは1つのプロセッサおよび1つのコントローラを含んでよい。また、並列プロセッサのような、他の処理構成も可能である。
【0095】
ソフトウェアは、コンピュータプログラム、コード、命令、またはこれらのうちの1つ以上の組み合わせを含んでもよく、思うままに動作するように処理装置を構成したり、独立的または集合的に処理装置に命令したりしてよい。ソフトウェアおよび/またはデータは、処理装置に基づいて解釈されたり、処理装置に命令またはデータを提供したりするために、いかなる種類の機械、コンポーネント、物理装置、コンピュータ記録媒体または装置に具現化されてよい。ソフトウェアは、ネットワークによって接続されたコンピュータシステム上に分散され、分散された状態で記録されても実行されてもよい。ソフトウェアおよびデータは、1つ以上のコンピュータ読み取り可能な記録媒体に記録されてよい。
【0096】
実施形態に係る方法は、多様なコンピュータ手段によって実行可能なプログラム命令の形態で実現されてコンピュータ読み取り可能な媒体に記録されてよい。ここで、媒体は、コンピュータ実行可能なプログラムを継続して記録するものであっても、実行またはダウンロードのために一時記録するものであってもよい。また、媒体は、単一または複数のハードウェアが結合した形態の多様な記録手段または格納手段であってよく、あるコンピュータシステムに直接接続する媒体に限定されることはなく、ネットワーク上に分散して存在するものであってもよい。媒体の例としては、ハードディスク、フロッピー(登録商標)ディスク、および磁気テープのような磁気媒体、CD-ROMおよびDVDのような光媒体、フロプティカルディスク(floptical disk)のような光磁気媒体、およびROM、RAM、フラッシュメモリなどを含み、プログラム命令が記録されるように構成されたものであってよい。また、媒体の他の例として、アプリケーションを配布するアプリケーションストアやその他の多様なソフトウェアを供給または配布するサイト、サーバなどで管理する記録媒体または格納媒体が挙げられる。
【0097】
以上のように、実施形態を、限定された実施形態および図面に基づいて説明したが、当業者であれば、上述した記載から多様な修正および変形が可能であろう。例えば、説明された技術が、説明された方法とは異なる順序で実行されたり、かつ/あるいは、説明されたシステム、構造、装置、回路などの構成要素が、説明された方法とは異なる形態で結合されたりまたは組み合わされたり、他の構成要素または均等物によって対置されたり置換されたとしても、適切な結果を達成することができる。
【0098】
したがって、異なる実施形態であっても、特許請求の範囲と均等なものであれば、添付される特許請求の範囲に属する。
【符号の説明】
【0099】
310:グラフ生成部
320:ノード埋め込み部
330:アイテム推薦部