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

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

▶ ネイバー コーポレーションの特許一覧

特許7529344関心トピックに基づいた個人化推薦のための方法、システム、およびコンピュータプログラム
<>
  • 特許-関心トピックに基づいた個人化推薦のための方法、システム、およびコンピュータプログラム 図1
  • 特許-関心トピックに基づいた個人化推薦のための方法、システム、およびコンピュータプログラム 図2
  • 特許-関心トピックに基づいた個人化推薦のための方法、システム、およびコンピュータプログラム 図3
  • 特許-関心トピックに基づいた個人化推薦のための方法、システム、およびコンピュータプログラム 図4
  • 特許-関心トピックに基づいた個人化推薦のための方法、システム、およびコンピュータプログラム 図5
  • 特許-関心トピックに基づいた個人化推薦のための方法、システム、およびコンピュータプログラム 図6
  • 特許-関心トピックに基づいた個人化推薦のための方法、システム、およびコンピュータプログラム 図7
  • 特許-関心トピックに基づいた個人化推薦のための方法、システム、およびコンピュータプログラム 図8
  • 特許-関心トピックに基づいた個人化推薦のための方法、システム、およびコンピュータプログラム 図9
  • 特許-関心トピックに基づいた個人化推薦のための方法、システム、およびコンピュータプログラム 図10
  • 特許-関心トピックに基づいた個人化推薦のための方法、システム、およびコンピュータプログラム 図11
  • 特許-関心トピックに基づいた個人化推薦のための方法、システム、およびコンピュータプログラム 図12
  • 特許-関心トピックに基づいた個人化推薦のための方法、システム、およびコンピュータプログラム 図13
  • 特許-関心トピックに基づいた個人化推薦のための方法、システム、およびコンピュータプログラム 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-29
(45)【発行日】2024-08-06
(54)【発明の名称】関心トピックに基づいた個人化推薦のための方法、システム、およびコンピュータプログラム
(51)【国際特許分類】
   G06F 16/9535 20190101AFI20240730BHJP
   G06F 16/335 20190101ALI20240730BHJP
   G06F 16/9035 20190101ALI20240730BHJP
【FI】
G06F16/9535
G06F16/335
G06F16/9035
【請求項の数】 15
(21)【出願番号】P 2022174072
(22)【出願日】2022-10-31
(65)【公開番号】P2023108590
(43)【公開日】2023-08-04
【審査請求日】2022-10-31
(31)【優先権主張番号】10-2022-0010593
(32)【優先日】2022-01-25
(33)【優先権主張国・地域又は機関】KR
【新規性喪失の例外の表示】特許法第30条第2項適用 ・2021年11月23日に次のホームページのアドレスに掲載された。”https://blog.naver.com/naver_search/222575844697” ・2021年11月24日に次のホームページのアドレスに掲載された。”https://tv.naver.com/v/23649833” ・2021年11月24日に次のホームページのアドレスに掲載された。”https://www.navercorp.com/promotion/pressReleasesView/30722” ・2021年12月8日に次のホームページのアドレスに掲載された。”https://www.ddaily.co.kr/news/article/?no=226991”
(73)【特許権者】
【識別番号】505205812
【氏名又は名称】ネイバー コーポレーション
【氏名又は名称原語表記】NAVER Corporation
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】キム ドンヒョン
(72)【発明者】
【氏名】キム チュンギ
(72)【発明者】
【氏名】ヤン ミンチョル
(72)【発明者】
【氏名】ファン ヒョンドン
(72)【発明者】
【氏名】ユ ヘス
(72)【発明者】
【氏名】チャン イェフン
(72)【発明者】
【氏名】イ ジョンテ
【審査官】甲斐 哲雄
(56)【参考文献】
【文献】特開2012-018412(JP,A)
【文献】特開2010-197706(JP,A)
【文献】米国特許出願公開第2020/0233917(US,A1)
【文献】特開2018-206361(JP,A)
【文献】Asahi Ushio 他,BERT is to NLP what AlexNet is to CV: Can Pre-trained Language Models Identify Analogies?,Proceedings of the 59th Annual Meeting of the Association for Computational Linguistics and the 11th International Joint Conference on Natural Language Processing,2021年08月06日,pages 3609-3624,[2023年12月13日検索],インターネット<URL:https://aclanthology.org/2021.acl-long.280.pdf>
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
G06F 40/00-40/58
(57)【特許請求の範囲】
【請求項1】
コンピュータシステムで実行される方法であって、
前記コンピュータシステムは、メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサを含み、
前記方法は、
前記少なくとも1つのプロセッサにより、インターネット上で使用されるキーワードに対して、キーワードのサンプルと当該キーワードのトピックからなるサンプルデータペアとターゲットキーワードとで構成されたプロンプト(prompt)を言語モデル(language model)に入力して、前記ターゲットキーワードに該当する複数の候補トピックを生成し、前記候補トピックに対して、候補トピック間の類似度に基づいて類似関係にある候補トピックを選別し、類似関係にある候補トピック間の包含関係と、包含関係にある候補トピックを除いた候補トピック間の同等関係とを利用して、前記複数の候補トピック間の関係を表現したグラフ埋め込み(graph embedding)を実行し、前記グラフ埋め込みを利用して前記ターゲットキーワードと前記複数の候補トピックとの間に関係を構築する段階、および
前記少なくとも1つのプロセッサにより、前記ターゲットキーワードと前記複数の候補トピックの関係を利用して、インターネット上のユーザの活動に対応する少なくとも1つの関心トピックを選定する段階、および
前記少なくとも1つのプロセッサにより、前記関心トピックに基づいて前記ユーザに個人化された推薦情報を提供する段階
を含む、方法。
【請求項2】
前記キーワードと関係が構築される関心トピックは、
インターネット上の情報検索または情報分類に使用される前記キーワードに関連して、当該キーワードを使用するユーザの関心事を示す、請求項1に記載の方法。
【請求項3】
記構築する段階は、
前記候補トピック間の包含関係と、前記候補トピック間の同等関係とを利用して把握された前記複数の候補トピック間の関係に基づいて、少なくとも1つの代表トピックを選定する段階
を含む、請求項1に記載の方法。
【請求項4】
前記類似関係にある候補トピックは、
前記キーワードと前記言語モデルで生成された候補トピックに対して行列分解(MF:matrix factorization)を実行することによりグルーピングされる、請求項に記載の方法。
【請求項5】
前記代表トピックを選定する段階は、
階層構造を構成する前記複数の候補トピック間の関係において、一定のデプス以上の候補トピックを代表トピックとして選定する、請求項に記載の方法。
【請求項6】
前記関心トピックを選定する段階は、
前記ユーザが入力した検索語と前記ユーザがクリックした商品のタグのうちの少なくとも1つの活動キーワードと関係が設定されたトピックを前記関心トピックとして選定すること
を特徴とする、請求項1に記載の方法。
【請求項7】
前記ユーザに個人化された推薦情報を提供する段階は、
前記関心トピックと関係が設定されたキーワードのうちで前記ユーザの活動と関連する少なくとも1つのキーワードを関連キーワードとして推薦する段階
を含む、請求項1に記載の方法。
【請求項8】
前記ユーザに個人化された推薦情報を提供する段階は、
前記関心トピックと関係が設定されたキーワードのうちで前記ユーザの活動と関連する少なくとも1つのキーワードを関連キーワードとして選定する段階、および
インターネット上のアイテムのうちで前記関連キーワードと関連するアイテムを推薦する段階
を含む、請求項1に記載の方法。
【請求項9】
前記関連キーワードと関連するアイテムを推薦する段階は、
前記ユーザのプロフィール情報と前記関心トピックのうちの少なくとも1つを利用して推薦アイテムを選定する段階
を含む、請求項に記載の方法。
【請求項10】
請求項1~のうちのいずれか一項に記載の方法を前記コンピュータシステムに実行させるためのコンピュータプログラム。
【請求項11】
コンピュータシステムであって、
メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサ
を含み、
前記少なくとも1つのプロセッサは、
インターネット上で使用されるキーワードに対して、キーワードのサンプルと当該キーワードのトピックからなるサンプルデータペアとターゲットキーワードとで構成されたプロンプトを言語モデルに入力して、前記ターゲットキーワードに該当する複数の候補トピックを生成し、前記候補トピックに対して、候補トピック間の類似度に基づいて類似関係にある候補トピックを選別し、類似関係にある候補トピック間の包含関係と、包含関係にある候補トピックを除いた候補トピック間の同等関係とを利用して、前記複数の候補トピック間の関係を表現したグラフ埋め込みを実行し、前記グラフ埋め込みを利用して前記ターゲットキーワードと前記複数の候補トピックの間に関係を構築し、
前記ターゲットキーワードと前記複数の候補トピックの関係を利用してインターネット上のユーザの活動に対応する少なくとも1つの関心トピックを選定し、
前記関心トピックに基づいて前記ユーザに個人化された推薦情報を提供すること
を特徴とする、コンピュータシステム。
【請求項12】
前記キーワードと関係が構築される関心トピックは、
インターネット上の情報検索または情報分類に使用される前記キーワードに関連して、当該キーワードを使用するユーザの関心事を示す、請求項11に記載のコンピュータシステム。
【請求項13】
前記少なくとも1つのプロセッサは、
前記候補トピック間の包含関係と、前記候補トピック間の同等関係とを利用して把握された前記複数の候補トピック間の関係に基づいて、少なくとも1つの代表トピックを選定すること
を特徴とする、請求項11に記載のコンピュータシステム。
【請求項14】
前記少なくとも1つのプロセッサは、
階層構造を構成する前記複数の候補トピック間の関係において、一定のデプス以上の候補トピックを代表トピックとして選定すること
を特徴とする、請求項13に記載のコンピュータシステム。
【請求項15】
前記少なくとも1つのプロセッサは、
前記関心トピックと関係が設定されたキーワードのうちで前記ユーザの活動と関連する少なくとも1つのキーワードを関連キーワードとして推薦するか、または前記インターネット上のアイテムのうちで前記関連キーワードと関連するアイテムを推薦すること
を特徴とする、請求項11に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【0001】
以下の説明は、個人化推薦技術に関する。
【背景技術】
【0002】
インターネットでの商品推薦は、個人の購入履歴に基づいて個人に最適な商品を選別して推薦することが一般的である。
【0003】
商品推薦のために使用される主な方法としては、商品を推薦しようとする対象ユーザと似たような購入履歴をもつユーザを選別し、このユーザが購入した商品のうちで推薦対象ユーザが購入したことのない商品を推薦する協調フィルタリング(Collaborative Filtering)や、多数のユーザの購入記録を利用し、同時購入の可能性または同時クリックの可能性が高い商品を推薦する相関ルールマイニング(Association Rule Mining)のようなアルゴリズムが挙げられる。
【0004】
例えば、特許文献1(登録日2009年2月2日)には、ユーザ端末機にインストールされた情報推薦エージェントが認識した商品の商品コード、商品名、またはモデルなどを利用して商品に対する商品情報を自動推薦する技術が開示されている。
【先行技術文献】
【特許文献】
【0005】
【文献】韓国登録特許第10-0882716号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
言語モデル(language model)を利用して、キーワードとトピックの間の意味論的関係(semantic relation)を示す新たな概念の関心事データを生成することができる。
【0007】
キーワードとトピックの関係を利用して、インターネット上のユーザの行動を明示的な単語で表現することが可能な関心トピックに要約することができる。
【0008】
ユーザの関心トピックという明示的な理由に基づいて、ユーザに個人化された推薦を提供することができる。
【課題を解決するための手段】
【0009】
コンピュータシステムで実行される方法であって、前記コンピュータシステムは、メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサを含み、前記方法は、前記少なくとも1つのプロセッサにより、インターネット上で使用されるキーワードに対して、言語モデル(language model)を利用して前記キーワードのトピックを生成して前記キーワードと前記トピックの間に関係を構築する段階、および前記少なくとも1つのプロセッサにより、前記キーワードと前記トピックの関係を利用してインターネット上のユーザの活動に対応する少なくとも1つの関心トピックを選定する段階、および前記少なくとも1つのプロセッサにより、前記関心トピックに基づいて前記ユーザに個人化された推薦情報を提供する段階を含む方法を提供する。
【0010】
一側面によると、前記キーワードと前記トピックの間に関係を構築する段階は、キーワードサンプルと当該キーワードのトピックからなるサンプルデータを利用してターゲットキーワードに対するプロンプト(prompt)を構成する段階、および前記プロンプトを前記言語モデルの入力とし、前記サンプルデータのパターンによって前記ターゲットキーワードのトピックを生成する段階を含んでよい。
【0011】
他の側面によると、前記キーワードと前記トピックの間に関係を構築する段階は、インターネット上の情報検索または情報分類に使用されるキーワードに対して、当該キーワードを使用するユーザの関心事として表現するためのトピックを生成する段階を含んでよい。
【0012】
また他の側面によると、前記キーワードと前記トピックの間に関係を構築する段階は、前記言語モデルで生成されたトピック間の類似度に基づいてトピックグループを生成する段階、および前記トピックグループに対して、前記トピック間の関係に基づいた埋め込み学習によって前記キーワードに対する少なくとも1つの代表トピックを選定する段階を含んでよい。
【0013】
また他の側面によると、前記トピックグループを生成する段階は、検索記録に含まれた複数の検索語に対して、各検索語をトピックに置き換えた後、置き換えられたトピックを連結して文章(sentence)で表現し、前記検索語それぞれを単語(word)で表現して埋め込み学習を実行することにより、類似関係にあるトピックをグルーピングする段階を含んでよい。
【0014】
また他の側面によると、前記トピックグループを生成する段階は、前記キーワードに対して前記言語モデルで生成された候補トピックを連結して文章で表現し、前記候補トピックそれぞれを単語で表現して埋め込み学習を実行することにより、類似関係にあるトピックをグルーピングする段階を含んでよい。
【0015】
また他の側面によると、前記トピックグループを生成する段階は、前記キーワードと前記言語モデルで生成された候補トピックに対して行列分解(MF:matrix factorization)を実行することにより、類似関係にあるトピックをグルーピングする段階を含んでよい。
【0016】
また他の側面によると、前記キーワードに対して少なくとも1つの代表トピックを選定する段階は、前記トピック間の包含関係と同等関係のうちの少なくとも1つの関係を把握してグラフ埋め込み(graph embedding)を実行する段階、および前記グラフ埋め込みを利用した前記キーワードと前記トピックの間の確率に基づいて前記代表トピックを選定する段階を含んでよい。
【0017】
また他の側面によると、前記関心トピックを選定する段階は、前記ユーザが入力した検索語と前記ユーザがクリックした商品のタグのうちの少なくとも1つの活動キーワードと関係が設定されたトピックを前記関心トピックとして選定してよい。
【0018】
また他の側面によると、前記ユーザに個人化された推薦情報を提供する段階は、前記関心トピックと関係が設定されたキーワードのうちで前記ユーザの活動と関連する少なくとも1つのキーワードを関連キーワードとして推薦する段階を含んでよい。
【0019】
また他の側面によると、前記ユーザに個人化された推薦情報を提供する段階は、前記関心トピックと関係が設定されたキーワードのうちで前記ユーザの活動と関連する少なくとも1つのキーワードを関連キーワードとして選定する段階、およびインターネット上のアイテムのうちで前記関連キーワードと関連するアイテムを推薦する段階を含んでよい。
【0020】
さらに他の側面によると、前記関連キーワードと関連するアイテムを推薦する段階は、前記ユーザのプロフィール情報と前記関心トピックのうちの少なくとも1つを利用して推薦アイテムを選定する段階を含んでよい。
【0021】
前記方法を前記コンピュータシステムに実行させるためのコンピュータプログラムを提供する。
【0022】
コンピュータシステムであって、メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサを含み、前記少なくとも1つのプロセッサは、インターネット上で使用されるキーワードに対して、言語モデルを利用して前記キーワードのトピックを生成して前記キーワードと前記トピックの間に関係を構築し、前記キーワードと前記トピックの関係を利用してインターネット上のユーザの活動に対応する少なくとも1つの関心トピックを選定し、前記関心トピックに基づいて前記ユーザに個人化された推薦情報を提供することを特徴とする、コンピュータシステムを提供する。
【発明の効果】
【0023】
本発明の実施形態によると、大規模言語モデルを利用することで、キーワードとトピックの間の意味論的関係を示す、新たな概念の関心事データを生成することができる。
【0024】
本発明の実施形態によると、キーワードとトピックの関係を利用することで、インターネット上のユーザの行動を明示的な単語で表現することが可能な関心トピックに要約することができる。
【0025】
本発明の実施形態によると、ユーザの関心トピックという明示的な理由に基づいて、当該ユーザに個人化された推薦を提供することができる。
【図面の簡単な説明】
【0026】
図1】本発明の一実施形態における、ネットワーク環境の例を示した図である。
図2】本発明の一実施形態における、コンピュータシステムの例を示したブロック図である。
図3】本発明の一実施形態における、コンピュータシステムのプロセッサが含むことができる構成要素の例を示した図である。
図4】本発明の一実施形態における、コンピュータシステムが実行することができる方法の一例を示したフローチャートである。
図5】本発明の一実施形態における、プロンプトを利用したデータ生成過程の一例を説明するためのフローチャートである。
図6】本発明の一実施形態における、データ生成の一例を示した図である。
図7】本発明の一実施形態における、データ生成の一例を示した図である。
図8】本発明の一実施形態における、トピック選定過程の一例を示した図である。
図9】本発明の一実施形態における、トピック選定過程の一例を示した図である。
図10】本発明の一実施形態における、トピック選定過程の一例を示した図である。
図11】本発明の一実施形態における、トピック選定過程の一例を示した図である。
図12】本発明の一実施形態における、個人化推薦過程の一例を示した図である。
図13】本発明の一実施形態における、個人化推薦過程の一例を示した図である。
図14】本発明の一実施形態における、個人化推薦過程の一例を示した図である。
【発明を実施するための形態】
【0027】
以下、本発明の実施形態について、添付の図面を参照しながら詳しく説明する。
【0028】
本発明の実施形態は、個人化推薦技術に関する。
【0029】
本明細書で具体的に開示される事項を含む実施形態は、インターネット上のユーザの行動を明示的な単語(すなわち、関心トピック)に要約することができ、ユーザの関心トピックを利用してインターネット上のアイテムを個人化して推薦することができる。
【0030】
本発明の実施形態に係る個人化推薦システムは、少なくとも1つのコンピュータシステムによって実現されてよく、本発明の実施形態に係る個人化推薦方法は、個人化推薦システムに含まれる少なくとも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)、タブレット、ゲームコンソール、ウェアラブルデバイス、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は、インターネット上で使用されるキーワードそれぞれに対して、当該キーワードに相応しいトピックを生成してよい。このとき、キーワードとは、検索時に使用されるキーワードである検索語、ある情報のメタデータとして付与されたキーワード、分類を示すタグなどのように、インターネット上の情報検索や情報分類に使用されるすべてのキーワードを包括したものを意味してよい。例えば、データ生成部310は、購入したい商品を検索するための目的で使用されるショッピング性検索語、ショッピング推薦に使用されるショッピング性タグなどに対して関心事データを生成してよい。キーワード「糸こんにゃく」とトピック「ダイエット」の間に関係が構築されていると仮定すれば、ユーザAが検索語「糸こんにゃく」を利用して商品を検索したり、タグ「糸こんにゃく」が付与された商品をクリックしたりするとき、ユーザAの行動から読み取れる関心事を明示的な単語「ダイエット」に要約することができる。一例として、データ生成部310は、検索語やタグなどに使用されるキーワードに対して、当該キーワードを使用するユーザの関心事として表現することができるトピックを言語モデルで生成することにより、キーワードとトピックの関係を現す関心事データを生成してよい。データ生成部310は、言語モデルの入力文となるプロンプト(prompt)で与えられたキーワードに相応しいトピックを生成してキーワードとトピックの関係を構築してよい。キーワードとトピックの関係データは、一定の周期単位でアップデートされてよい。
【0051】
段階420で、関心トピック選定部320は、キーワードとトピックの関係を利用して、インターネット上のユーザの活動に対応する少なくとも1つのトピックをユーザの関心トピックとして選定してよい。関心トピック選定部320は、ユーザ活動キーワード(リアルタイム入力される検索語、またはここ最近の一定期間内の検索語やクリック商品のタグなど)を基準に、当該キーワードと関係が設定されたトピックをユーザの関心トピックとして選定してよい。
【0052】
段階430で、個人化推薦部330は、ユーザの関心トピックに基づいて個人化された推薦を提供してよい。個人化推薦部330は、ユーザの関心トピックと関係が設定されたキーワードを利用して個人化推薦情報を提供してよい。一例として、個人化推薦部330は、ユーザの関心トピックに属するキーワード(検索語、タグなど)のうちの少なくとも1つのキーワードを関連キーワードとして推薦してよい。このとき、個人化推薦部330は、埋め込み方法論(例えば、word2vec、FastTextなど)に基づいてキーワード間の類似度を測定してよく、ユーザの関心トピックに属するキーワードのうちでユーザ活動キーワードと類似のキーワードを関連キーワードとして選定してよい。また、個人化推薦部330は、行列分解(MF:matrix factorization)モデルを利用して、ユーザの関心トピックに属するキーワードのうちでユーザが選好するキーワードを関連キーワードとして選定してよい。ユーザをUとし、ユーザ活動キーワードをIとするとき、U×Iサイズのインタラクションデータに対して行列分解を実行することにより、各キーワードのユーザ選好度を求めてよい。ユーザの関心トピックに属するキーワードに対して選好度を求めた後、選好度が一定レベル以上となるキーワードをユーザ活動キーワードの関連キーワードとして推薦してよい。ユーザ活動キーワードが一定レベル以上となるユーザに対しては行列分解モデルを利用して関連キーワードを推薦してよく、ユーザ活動キーワードが一定レベル未満のユーザに対しては埋め込み方法論を利用して関連キーワードを推薦してよい。他の例として、個人化推薦部330は、ユーザの関心トピックに応じて、関連キーワードに基づいてインターネット上のアイテムを推薦してよい。例えば、個人化推薦部330は、関連キーワードと関連するアイテムとして、多数のユーザが関連キーワードを検索語として入力して実際にクリックした商品の一部を推薦商品として提供してよい。このとき、クリック商品のうちでもここ最近のクリック商品に加重値をおいて優先的に推薦されるように適用してよい。また、クリック商品のうち、ユーザのプロフィール情報(例えば、性別、年齢、位置など)とマッチングする他のユーザまたはユーザと関心トピックが等しい他のユーザがクリックした商品を、当該ユーザの推薦商品として選定してよい。
【0053】
ユーザの関心トピックに基づいて推薦されるアイテムとしてショッピング商品を例に挙げて説明したが、これに限定されてはならない。例えば、カフェ、ブログ、ニュース、動画などのような多様なプラットフォームやチャンネルなどのコンテンツが推薦アイテムとして活用されてよい。
【0054】
図5は、本発明の一実施形態における、プロンプトを利用したデータ生成過程の一例を説明するためのフローチャートである。
【0055】
図5を参照すると、段階501で、プロセッサ220は、サンプルデータセットを利用して言語モデルの入力プロンプトを構成してよい。プロセッサ220は、事前に定められたキーワードと当該キーワードのトピックを正解が定められたサンプルデータとして利用してよい。予め定められたサンプルデータペアの他に個別のデータセットが存在してもよく、実施形態によっては、データセット内でキーワードと当該キーワードのトピックからなるサンプルデータペアを選定して利用してよい。プロセッサ220は、与えられたNLP問題の特性が適切に反映された専用プロンプトテンプレートを製作してよく、このとき、プロンプトテンプレートにはタスクの定義やメタ情報が含まれてよい。言い換えれば、プロセッサ220は、データセットから選択されたサンプルデータを利用して自然語形態のプロンプトを構成することができる。このとき、プロンプトは、言語モデルが理解可能な形式で製作され、言語モデルの入力として与えられる。プロセッサ220は、サンプルデータがラベルのあるデータの場合、ラベル情報とともに入力文が生成されるようにプロンプトを設計してよい。プロンプトの形式自体は多様に構成されてよく、一例として、プロンプトは、キーワードサンプルと当該キーワードのトピックがサンプルとして構成されてよい。本実施形態において、プロンプトは、少なくとも1つ以上のキーワードと当該キーワードのトピックからなるサンプルデータペアと、ターゲットキーワードで構成されてよい。プロンプト構成の詳細な方法については、図6を参照しながら説明する。
【0056】
段階502で、プロセッサ220は、段階501で構成されたプロンプトを言語モデルに入力し、言語モデルから与えられたターゲットキーワードのトピックを理解してよい。プロセッサ220は、プロンプト入力文を言語モデルに入力した後、言語モデルの生成あるいは完成機能による言語生成結果としてターゲットキーワードのトピックを取得してよい。プロセッサ220は、プロンプトを言語モデルに入力し、言語モデルでプロンプトに含まれたサンプルの自然語パターンを分析することにより、当該パターンを有する新たな結果を得ることができる。
【0057】
図6~7は、本発明の一実施形態における、データ生成の一例を示した図である。
【0058】
図6を参照すると、プロセッサ220は、サンプルデータとして選定されたキーワードサンプルと当該キーワードに対する関心事として表現することができるトピックからなるサンプルデータペアを利用して、言語モデルの入力文となるプロンプト610を構成してよい。
【0059】
プロセッサ220は、少なくとも1つのサンプルデータペアとターゲットキーワードで構成されたプロンプト610を言語モデルの入力とし、言語モデルがターゲットキーワードに対するトピックを生成するようにしてよい。すなわち、言語モデルの完成機能によってターゲットキーワードの内容に該当するトピックを生成してよい。
【0060】
プロセッサ220は、[キーワード+トピック]形態のサンプルデータペアと[ターゲットキーワード]で構成されたプロンプト610を利用し、プロンプトに含まれたサンプルデータのパターンにしたがってターゲットキーワードに対するトピックを生成してよい。
【0061】
言い換えれば、プロセッサ220は、キーワードと当該キーワードのトピックをサンプルとして提供し、サンプルのパターンにしたがってターゲットキーワードに該当するトピックを生成することができる。
【0062】
図7を参照すると、プロセッサ220は、与えられたキーワード701に対して、言語モデル700を利用して当該キーワード701に相応しい候補トピック702を生成してよい。例えば、言語モデル700は、キーワード「糸こんにゃく」が与えられれば、当該キーワードのトピックとしてダイエット、ダイエット食事、ダイエット飲み物、サラダチキンブランド、体脂肪管理、インボディ、デトックスダイエットなどを生成してよい。
【0063】
言語モデル700で生成される候補トピック702は、言語モデル700の特性(多様性、偶然性など)上、ワーディングは異なるが同じ意味の単語、範疇が互いに異なる単語などのように一貫性のない単語を生成するという問題がある。
【0064】
プロセッサ220は、キーワード701との関係を構築するために、言語モデル700で生成された候補トピック702をグルーピングして代表トピックを選定する必要がある。
【0065】
図8~11は、本発明の一実施形態における、トピック選定過程の一例を示した図である。
【0066】
先ず、プロセッサ220は、キーワードに対して生成された候補トピックに対して、トピック間の類似度に基づいて類似関係にあるトピックを選別してよい。
【0067】
一例として、図8を参照すると、プロセッサ220は、行列分解(MF)に基づいてキーワードと言語モデルで生成された候補トピックをモデリングする方法により、類似関係にあるトピックをグルーピングしてよい。
【0068】
他の例として、図9を参照すると、プロセッサ220は、キーワードに対して生成された候補トピックをすべて連結して(concatenate)文章(sentence)で表現し、各候補トピックを個別の単語で表現して埋め込み学習を実行することにより、類似関係にあるトピックをグルーピングしてよい。
【0069】
また他の例として、プロセッサ220は、ユーザが検索した記録を関心事を表現したトピックに置き換えた後、埋め込み学習を実行してよい。図10を参照すると、ユーザ検索記録が<糸こんにゃく、プロテイン、シッサス、ひよこ豆スナック、こんにゃくゼリー>などであるとき、それぞれの検索語をトピックに該当する単語に置き換えた後、置き換えられたトピックをすべて連結して文章で表現し、検索語それぞれを個別の単語で表現して埋め込み学習を実行することにより、類似関係にあるトピックをグルーピングしてよい。
【0070】
次に、プロセッサ220は、類似関係にあるトピックグループから代表トピックを選定してよい。プロセッサ220は、トピック同士の類似度に基づいて、グルーピングされたトピックグループを対象にしてトピックとの関係を把握することにより、代表となるトピックを選定してよい。
【0071】
一例として、プロセッサ220は、インターネット上でキーワードを分類するカテゴリ(例えば、検索語カテゴリなど)を利用してトピックとの関係を構築してよい。例えば、図11に示すように、検索語<タンパク質シェイクボトル、QUESTプロテインバー、ナイキクルー、フィラパフォーマンスパンツ、ゼクシィミックスジョガー、アディダスTシャツ、ダンベル、バーピーテストマット、バーベル5kg、ケトルベル、バーンマシン>はすべてカテゴリ「自宅トレーニング」に該当し、このうち、<ナイキクルー、フィラパフォーマンスパント、ゼクシィミックスジョガー、アディダスTシャツ>はカテゴリ「スポーツウエア」に該当し、<ダンベル、バーピーテストマット、バーベル5kg、ケトルベル、バーンマシン>はカテゴリ「運動器具」に該当すると仮定する。言語モデルによってトピック「自宅トレーニング」、「スポーツウエア」、「運動器具」が生成されるとするとき、「スポーツウエア」に属する検索語が「自宅トレーニング」に含まれるため、トピック「自宅トレーニング」と「スポーツウエア」の間に関係を構築することができ、「運動器具」に属する検索語が「自宅トレーニング」に含まれるため、トピック「自宅トレーニング」と「運動器具」の間に関係を構築することができる。
【0072】
他の例として、プロセッサ220は、単語の包含関係と同等関係を利用してトピックとの関係を構築してよい。先ず、プロセッサ220は、類似関係にあるトピックグループから包含関係にあるトピックを探索する。例えば、トピックA「ダイエット」はトピックB「ダイエットメニュー」に完全に含まれる単語であるため、トピックBはトピックAに属する(包含関係)と仮定する。また、トピックAにa1、a2、a3という単語が含まれ、トピックBにa1、a2、a3、b1、b2という単語が含まれる場合、トピックBはトピックAを完全に含んでいるため、トピックAはトピックBに属する(包含関係)と仮定する。次に、プロセッサ220は、包含関係にあるトピックを除いた残りのトピックのうちから同等関係にあるトピックを探索する。例えば、キーワードCに対してトピックC1、C2、C3が生成された場合、トピックC1、C2、C3は同等な関係であると仮定する。プロセッサ220は、トピック間の包含関係と同等関係を利用してグラフ埋め込み(例えば、Knowledge Graph Embeddingなど)を実行してよい。言い換えれば、グラフ埋め込みで使用される関係として包含関係と同等関係を適用してよい。トピック間の関係を表現したグラフ埋め込み後に各キーワードがどのトピックに属するかを確率的に求め、確率基準で代表トピックを決定してよい。確率の他にも、トピック間の関係に基づいた階層構造で一定のデブス(depth)のトピックを代表トピックとして選定してもよい。
【0073】
ここで、プロセッサ220は、代表トピックを選定するための基準をチューニングしてよい。例えば、トピック間で単語がどのくらい重なるかを把握したり、トピック間の類似度を比較したりするなど、定量的かつ定性的な品質チューニングを行ってよい。
【0074】
また、プロセッサ220は、トピック間の関係に基づいて広範囲のトピックを除去する後処理ロジックを実行してよい。一例として、プロセッサ220は、トピック間の関係に基づいた階層構造において、下位階層のトピックが閾値上に多いトピックを代表トピックの選定対象から除外してよい。
【0075】
プロセッサ220は、各キーワードに対して多様なトピックが生成される場合、トピック間の関係に基づいた埋め込み学習により、代表となり得る少なくとも1つのトピックを最終的に選定して当該キーワードとの関係を構築してよい。
【0076】
図12~14は、本発明の一実施形態における、個人化推薦過程の一例を示した図である。
【0077】
図12を参照すると、プロセッサ220は、ユーザが検索サービス画面1200上に検索語1201を入力する場合、検索語1201に対応する検索結果に個人化推薦情報1210を含んで提供してよい。
【0078】
一例として、プロセッサ220は、検索語1201に該当するキーワードと関係が設定されたトピックをユーザの関心トピック1211として選定した後、関心トピック1211に属するキーワードのうちで検索語1201と類似するかユーザが選好するキーワードである関連キーワード1212を個人化推薦情報1210として提供してよい。
【0079】
他の例として、プロセッサ220は、検索語1201に対して関連キーワード1212と関連するアイテム1213を個人化推薦情報1210として提供してよい。例えば、アイテム1213は、関連キーワード1212がタグとして登録された商品、他のユーザが関連キーワード1212で検索してクリックした商品、またはユーザとプロフィール(性別や年齢など)が類似する他のユーザがクリックした商品などが選定されてよい。
【0080】
図13を参照すると、プロセッサ220は、ユーザが個人化推薦領域1310を含んだサービス画面1300に接続する場合、ここ最近の一定期間内のユーザ活動に基づいて当該ユーザの関心トピック1311を提供してよい。このとき、プロセッサ220は、ユーザ活動キーワード(ここ最近の一定期間内の検索語やクリック商品のタグなど)と関係が設定されたトピックを当該ユーザの関心トピック1311として選定して個人化推薦領域1310に表示してよい。
【0081】
プロセッサ220は、個人化推薦領域1310に表示された関心トピック1311のうちから特定のトピックが選択される場合、図14に示すように、選択トピック1411に属するキーワードのうちでユーザ活動キーワードと類似するかユーザが選好するキーワードである関連キーワード1412を個人化推薦領域1310で提供してよい。
【0082】
プロセッサ220は、関連キーワード1412とともに、関連キーワード1412と関連するアイテム1413を個人化推薦領域1310に表示してよい。例えば、アイテム1413は、関連キーワード1412がタグとして登録された商品、他のユーザが関連キーワード1412で検索してクリックした商品、またはユーザとプロフィールまたは関心トピック1311が類似する他のユーザがクリックした商品などが選定されてよい。
【0083】
このように、本発明の実施形態によると、大規模言語モデルを利用してキーワードとトピックの間の意味論的関係を現す新たな概念のデータを生成することができ、キーワードとトピックの関係データに基づいてインターネット上のユーザの行動を明示的な単語(関心トピック)に要約し、これに基づいてユーザに個人化された推薦を提供することができる。
【0084】
上述した装置は、ハードウェア構成要素、ソフトウェア構成要素、および/またはハードウェア構成要素とソフトウェア構成要素との組み合わせによって実現されてよい。例えば、実施形態で説明された装置および構成要素は、プロセッサ、コントローラ、ALU(arithmetic logic unit)、デジタル信号プロセッサ、マイクロコンピュータ、FPGA(field programmable gate array)、PLU(programmable logic unit)、マイクロプロセッサ、または命令を実行して応答することができる様々な装置のように、1つ以上の汎用コンピュータまたは特殊目的コンピュータを利用して実現されてよい。処理装置は、オペレーティングシステム(OS)およびOS上で実行される1つ以上のソフトウェアアプリケーションを実行してよい。また、処理装置は、ソフトウェアの実行に応答し、データにアクセスし、データを記録、操作、処理、および生成してもよい。理解の便宜のために、1つの処理装置が使用されるとして説明される場合もあるが、当業者であれば、処理装置が複数個の処理要素および/または複数種類の処理要素を含んでもよいことが理解できるであろう。例えば、処理装置は、複数個のプロセッサまたは1つのプロセッサおよび1つのコントローラを含んでよい。また、並列プロセッサのような、他の処理構成も可能である。
【0085】
ソフトウェアは、コンピュータプログラム、コード、命令、またはこれらのうちの1つ以上の組み合わせを含んでもよく、思うままに動作するように処理装置を構成したり、独立的または集合的に処理装置に命令したりしてよい。ソフトウェアおよび/またはデータは、処理装置に基づいて解釈されたり、処理装置に命令またはデータを提供したりするために、いかなる種類の機械、コンポーネント、物理装置、コンピュータ記録媒体または装置に具現化されてよい。ソフトウェアは、ネットワークによって接続されたコンピュータシステム上に分散され、分散された状態で記録されても実行されてもよい。ソフトウェアおよびデータは、1つ以上のコンピュータ読み取り可能な記録媒体に記録されてよい。
【0086】
実施形態に係る方法は、多様なコンピュータ手段によって実行可能なプログラム命令の形態で実現されてコンピュータ読み取り可能な媒体に記録されてよい。ここで、媒体は、コンピュータ実行可能なプログラムを継続して記録するものであっても、実行またはダウンロードのために一時記録するものであってもよい。また、媒体は、単一または複数のハードウェアが結合した形態の多様な記録手段または格納手段であってよく、あるコンピュータシステムに直接接続する媒体に限定されることはなく、ネットワーク上に分散して存在するものであってもよい。媒体の例としては、ハードディスク、フロッピー(登録商標)ディスク、および磁気テープのような磁気媒体、CD-ROMおよびDVDのような光媒体、フロプティカルディスク(floptical disk)のような光磁気媒体、およびROM、RAM、フラッシュメモリなどを含み、プログラム命令が記録されるように構成されたものであってよい。また、媒体の他の例として、アプリケーションを配布するアプリケーションストアやその他の多様なソフトウェアを供給または配布するサイト、サーバなどで管理する記録媒体または格納媒体が挙げられる。
【0087】
以上のように、実施形態を、限定された実施形態および図面に基づいて説明したが、当業者であれば、上述した記載から多様な修正および変形が可能であろう。例えば、説明された技術が、説明された方法とは異なる順序で実行されたり、かつ/あるいは、説明されたシステム、構造、装置、回路などの構成要素が、説明された方法とは異なる形態で結合されたりまたは組み合わされたり、他の構成要素または均等物によって対置されたり置換されたとしても、適切な結果を達成することができる。
【0088】
したがって、異なる実施形態であっても、特許請求の範囲と均等なものであれば、添付される特許請求の範囲に属する。
【符号の説明】
【0089】
220:プロセッサ
310:データ生成部
320:関心トピック選定部
330:個人化推薦部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14