JP7154454B1 - 情報処理装置、制御方法、及び制御プログラム - Google Patents

情報処理装置、制御方法、及び制御プログラム Download PDF

Info

Publication number
JP7154454B1
JP7154454B1 JP2022502127A JP2022502127A JP7154454B1 JP 7154454 B1 JP7154454 B1 JP 7154454B1 JP 2022502127 A JP2022502127 A JP 2022502127A JP 2022502127 A JP2022502127 A JP 2022502127A JP 7154454 B1 JP7154454 B1 JP 7154454B1
Authority
JP
Japan
Prior art keywords
node
nodes
score
exclusion target
edge
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2022502127A
Other languages
English (en)
Other versions
JPWO2022230017A1 (ja
JPWO2022230017A5 (ja
Inventor
光佑 中村
淳平 羽藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP7154454B1 publication Critical patent/JP7154454B1/ja
Publication of JPWO2022230017A1 publication Critical patent/JPWO2022230017A1/ja
Publication of JPWO2022230017A5 publication Critical patent/JPWO2022230017A5/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/907Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

情報処理装置(100)は、記憶部(110)とエッジ制御部(150)とを有する。記憶部(110)は、複数のノードと複数のエッジとを含むグラフ(111)を記憶する。エッジ制御部(150)は、複数のノードのうちの、削除対象ノードであるノード(202c)に接続するエッジ(203b,203f)を介して、ノード(202c)に接続するノード(201a)とノード(201c)の間にエッジ(204)を追加する。

Description

本開示は、情報処理装置、制御方法、及び制御プログラムに関する。
ユーザにアイテムを推薦する技術が知られている。ユーザにアイテムを推薦する場合、グラフが用いられる。ここで、グラフを用いる技術が提案されている(特許文献1,2を参照)。
特開2014-67180号公報 米国特許第10671672号明細書
Marco Gori,Augusto Pucci「A Random-Walk Based Scoring Algorithm for Recommender Engines」 L.Page,S.Brin,R.Motwani,and T.Winograd「The pagerank citation ranking:Bringing order to the web」、1998年
アイテムを推薦する場合、グラフに基づいてスコアが算出される。スコアに基づいて、ユーザに推薦するアイテムが決定される。
グラフには、複数のノードと複数のエッジとが含まれている。あるノードが削除又は除外された場合、当該ノードに接続されていたエッジも削除又は除外される。当該エッジが削除又は除外されることで、適切なスコアの算出を行えない場合が発生する。適切なスコアが算出されない場合、ユーザに適切なアイテムが推薦されない。
本開示の目的は、適切なスコアを算出することである。
本開示の一態様に係る情報処理装置が提供される。情報処理装置は、ユーザに推薦する対象から除外されるアイテムを示す推薦除外対象ノードを含む複数のノードと、前記推薦除外対象ノードに接続するエッジである除外対象エッジを含む複数のエッジとを含むグラフを記憶する記憶部と、ランダムウォークと前記グラフとを用いて、前記複数のノードのうちの、アイテムを示すノードのスコアを算出するスコア算出部と、を有する。前記スコア算出部は、前記スコアを算出する場合、前記推薦除外対象ノードと前記除外対象エッジとを介して、前記スコアを算出し、前記スコアの算出で前記推薦除外対象ノードを通過する場合、前記推薦除外対象ノードをカウントしない。
本開示によれば、適切なスコアを算出することができる。
実施の形態1の情報処理装置の機能を示すブロック図である。 実施の形態1のグラフの例を示す図である。 実施の形態1で実行される処理の概要を示す図である。 実施の形態1の情報処理装置が有するハードウェアを示す図である。 実施の形態1のグラフの更新処理の例を示すフローチャートである。 実施の形態1のアイテムの推薦処理の例を示すフローチャートである。 (A),(B)は、実施の形態2のエッジの追加処理の例を示す図である。 実施の形態3の情報処理装置の機能を示すブロック図である。 実施の形態3のグラフの例を示す図である。 実施の形態4の情報処理装置の機能を示すブロック図である。 実施の形態4のグラフの例を示す図である。
以下、図面を参照しながら実施の形態を説明する。以下の実施の形態は、例にすぎず、本開示の範囲内で種々の変更が可能である。
実施の形態1.
図1は、実施の形態1の情報処理装置の機能を示すブロック図である。情報処理装置100は、制御方法を実行する装置である。情報処理装置100は、記憶部110、取得部120、構築部130、ノード削除制御部140、エッジ制御部150、スコア算出部160、及び決定出力部170を有する。
記憶部110は、グラフ111を記憶する。グラフ111を例示する。
図2は、実施の形態1のグラフの例を示す図である。グラフ111は、複数のノードと複数のエッジとを含む。例えば、グラフ111は、ノード201a~201d、ノード202a~202e、及びエッジ203a~203jを含む。なお、図2のノードの個数、エッジの個数、及び接続関係は、一例である。
ノード201a~201dは、アイテムの特性を示すノードである。ノード202a~202eは、アイテムを示すノードである。エッジ203a~203jは、アイテムと、アイテムの特性との関係を示している。
アイテムと、アイテムの特性とを説明する。アイテムは、推薦対象の対象物である。例えば、アイテムは、テレビ番組、動画、書籍、業務文書、論文などである。例えば、アイテムがテレビ番組、動画などである場合、アイテムの特性は、ジャンル、出演者、制作会社、放送局、監督などである。例えば、アイテムが書籍、業務文書、論文などである場合、アイテムの特性は、文書中に出現する重要な単語、文書のトピックなどである。
エッジ203a~203jには、重みが対応付けられてもよい。重みは、アイテムを示すノードのスコアを算出する際に用いられてもよい。例えば、ランダムウォークによりスコアが算出される場合であり、かつあるノードから次の遷移先がランダムに選択される場合、当該ノードに接続されたエッジに対応付けられている重みに比例した確率に基づいて、遷移先が選択される。また、重みは、当該重みが対応付けられているエッジに接続されているノードが示すアイテム又はアイテムの特性に基づいて、決定されてもよい。
このように、グラフ111は、複数のノードと複数のエッジとが含まれている。
次に、実施の形態1で実行される処理の概要を簡単に説明する。
図3は、実施の形態1で実行される処理の概要を示す図である。情報処理装置100では、グラフ111の更新が行われる。グラフ111の更新では、ノード202c,202dが削除される。ノード202c,202dが削除された場合、エッジ203b,203c,203f,203g,203hも削除される。
エッジ203b,203c,203f,203g,203hが削除されることで、適切なスコアの算出を行えない場合が発生する。例えば、ランダムウォークによってスコアが算出される場合、ノード202eから202aに遷移できないため、適切なスコアの算出が行えない。このように、適切なスコアが算出されない場合、ユーザに適切なアイテムが推薦されない。
そこで、情報処理装置100は、ノード201aとノード201cとに間にエッジ204を追加する。これにより、ランダムウォークによってスコアが算出される場合、ノード202eから202aに遷移できるため、適切なスコアの算出が行える。そして、適切なスコアが算出されることで、情報処理装置100は、ユーザに適切なアイテムを推薦できる。
このような処理を実行する情報処理装置100を詳細に説明する。
まず、情報処理装置100が有するハードウェアを説明する。
図4は、実施の形態1の情報処理装置が有するハードウェアを示す図である。情報処理装置100は、プロセッサ101、揮発性記憶装置102、不揮発性記憶装置103、入出力インタフェース104、及び通信インタフェース105を有する。
プロセッサ101は、情報処理装置100全体を制御する。例えば、プロセッサ101は、CPU(Central Processing Unit)、FPGA(Field Programmable Gate Array)などである。プロセッサ101は、マルチプロセッサでもよい。また、情報処理装置100は、処理回路を有してもよい。処理回路は、単一回路又は複合回路でもよい。
揮発性記憶装置102は、情報処理装置100の主記憶装置である。例えば、揮発性記憶装置102は、RAM(Random Access Memory)である。不揮発性記憶装置103は、情報処理装置100の補助記憶装置である。例えば、不揮発性記憶装置103は、HDD(Hard Disk Drive)、又はSSD(Solid State Drive)である。
入出力インタフェース104は、キーボード、マウス、ディスプレイなどと接続する。通信インタフェース105は、外部装置と通信する。なお、キーボード、マウス、ディスプレイ、外部装置の図示は、省略されている。
図1に戻って、情報処理装置100の機能を説明する。
記憶部110は、揮発性記憶装置102又は不揮発性記憶装置103に確保した記憶領域として実現してもよい。
取得部120、構築部130、ノード削除制御部140、エッジ制御部150、スコア算出部160、及び決定出力部170の一部又は全部は、処理回路によって実現してもよい。また、取得部120、構築部130、ノード削除制御部140、エッジ制御部150、スコア算出部160、及び決定出力部170の一部又は全部は、プロセッサ101が実行するプログラムのモジュールとして実現してもよい。例えば、プロセッサ101が実行するプログラムは、制御プログラムとも言う。例えば、制御プログラムは、記録媒体に記録されている。
取得部120は、アイテム、アイテムの特性、及びユーザ情報を取得する。例えば、取得部120は、アイテム、アイテムの特性、及びユーザ情報を外部装置(例えば、クラウドサーバ)から取得する。なお、ユーザ情報は、年齢、性別、利用履歴、職業などである。
構築部130は、アイテム、アイテムの特性、及びユーザ情報に基づいて、グラフ111を構築する。また、例えば、取得部120がユーザ又はシステム運用者から更新指示を取得し、かつ取得部120が、アイテム、アイテムの特性、及びユーザ情報を取得した場合、構築部130は、アイテム、アイテムの特性、及びユーザ情報に基づいて、グラフ111を更新する。
ノード削除制御部140は、ノードを削除するか否かを判定する。例えば、ノード削除制御部140は、グラフ111内のノードが示すアイテム又は特性の情報源が削除された場合、当該ノードを削除すると判定する。また、例えば、ノード削除制御部140は、ユーザ又はシステム管理者からノードの削除指示を取得部120が受けた場合、当該ノードを削除すると判定する。また、例えば、ノードには、時間が対応付けられており、ノード削除制御部140は、当該時間が予め設定された時間を経過した場合、当該ノードを削除すると判定する。削除すると判定されたノードは、削除対象ノードと呼ぶ。すなわち、削除対象ノードとは、削除対象のノードである。
エッジ制御部150は、グラフ111内の複数のノードのうちの削除対象ノードに接続する複数のエッジを介して、当該削除対象ノードに接続する複数のノードの間にエッジを追加する。
図3を用いて、エッジ制御部150の処理を説明する。図3では、削除対象ノードは、ノード202c,202dである。例えば、エッジ制御部150は、ノード202cに接続するエッジ203b,203fを介して、ノード202cに接続するノード201aとノード201cとの間にエッジ204を追加する。また、例えば、エッジ制御部150は、ノード202dに接続するエッジ203c,203gを介して、ノード202dに接続するノード201aとノード201cとの間にエッジ204を追加する。また、エッジ制御部150は、ノード202dに接続するノード201cとノード201dとの間にエッジを追加してもよい。さらに、エッジ制御部150は、ノード202dに接続するノード201aとノード201dとの間にエッジを追加してもよい。
エッジ制御部150は、削除対象ノードが示すアイテム、又は削除対象ノードが示すアイテムの特性が予め設定された条件を満たした場合、当該削除対象ノードに接続する複数のノードの間にエッジを追加してもよい。例えば、当該条件は、削除対象ノードが示すアイテムがテレビ番組であるとする。削除対象ノードが示すアイテムがテレビ番組である場合、エッジ制御部150は、条件を満たすと判定する。そして、エッジ制御部150は、当該削除対象ノードに接続する複数のノードの間にエッジを追加する。
エッジ制御部150は、削除対象ノードに接続する複数のノードのそれぞれが示すアイテム又はアイテムの特性が予め設定された条件を満たした場合、当該複数のノードの間にエッジを追加してもよい。図3を用いて、エッジ制御部150の処理を説明する。例えば、当該条件は、同じカテゴリの特性である場合、エッジを追加することを示す。エッジ制御部150は、ノード201aが示すアイテムの特性とノード201cが示すアイテムの特性とが同じカテゴリの特性であるため、当該条件を満たすと判定する。エッジ制御部150は、ノード201aとノード201cとの間にエッジ204を追加する。
また、エッジ制御部150は、削除対象ノードが示すアイテム、又は削除対象ノードが示すアイテムの特性が予め設定された条件を満たし、かつ削除対象ノードに接続する複数のノードのそれぞれが示すアイテム又はアイテムの特性が予め設定された条件を満たした場合、当該複数のノードの間にエッジを追加してもよい。
なお、エッジ制御部150は、削除対象ノードが削除された後に、エッジを追加してもよい。また、エッジ制御部150は、削除対象ノードが削除される前に、エッジを追加してもよい。以下の説明では、エッジ制御部150は、削除対象ノードが削除された後に、エッジを追加するものとする。
ここで、エッジ制御部150は、エッジの追加条件を満たすか否かによって、エッジを追加してもよい。以下の説明では、エッジ制御部150は、当該追加条件を満たすか否かによって、エッジを追加するものとする。当該追加条件については、後で説明する。
追加されたエッジには、重みが対応付けられてもよい。例えば、削除対象ノードに2つのエッジが接続されている場合、当該重みは、2つのエッジに対応付けられている重みの平均値になる。また、例えば、当該重みは、2つのエッジに対応付けられている重みのうちの大きい値になる。また、例えば、当該重みは、削除対象ノードの内容、追加されたエッジに接続されている2つのノードの内容に基づいて、決定されてもよい。
また、追加されたエッジには、ラベルが対応付けられてもよい。例えば、ラベルは、追加されたエッジに接続されているノードの種類に基づいて、決定される。また、例えば、ラベルは、予め設定されたルールに基づいて、決定される。
また、エッジ制御部150は、過去に追加されたエッジを変更してもよい。過去に追加されたエッジは、当該エッジに接続している削除対象ノードが削除されたときに、削除される。
スコア算出部160は、グラフ111を用いて、アイテムを示すノードのスコアを算出する。
決定出力部170は、スコアに基づいて、ユーザに推薦する1以上のアイテムを決定する。決定出力部170は、決定されたアイテムを出力する。例えば、決定出力部170は、決定されたアイテムをディスプレイに出力する。
次に、情報処理装置100が実行する処理を、フローチャートを用いて、説明する。
図5は、実施の形態1のグラフの更新処理の例を示すフローチャートである。
(ステップS11)ノード削除制御部140は、ノードを削除するか否かを判定する。例えば、ノード削除制御部140は、ユーザ又はシステム管理者からノードの削除指示を取得部120が受けた場合、当該ノードを削除すると判定する。
ノードを削除する場合、処理は、ステップS12に進む。ノードを削除しない場合、処理は、終了する。
(ステップS12)ノード削除制御部140は、削除対象ノードを削除する。削除対象ノードが削除されることで、削除対象ノードに接続されていたエッジも削除される。また、ノード削除制御部140は、削除対象ノードを示す情報と、当該削除対象ノードとエッジを介して接続されているノードを示す情報とを記憶部110に格納する。
(ステップS13)エッジ制御部150は、エッジの追加条件を満たすか否かを判定する。例えば、当該追加条件は、グラフ111内の複数のノードのうちの複数の対象ノードが共に接続する削除対象ノードの数が予め設定された閾値以上であることを示す。
図3を用いて説明する。まず、閾値は、2とする。対象ノードは、ノード201a,201cである。ノード201a,201cは、共にノード202c(すなわち、削除対象ノード)に接続する。また、ノード201a,201cは、共にノード202d(すなわち、削除対象ノード)に接続する。よって、ノード201a,201cが共に接続する削除対象ノードの数は、2である。エッジ制御部150は、図3の状況は、当該追加条件を満たすと判定する。なお、閾値は、ノードが示すアイテムとノードが示すアイテムの特性とのうちの少なくとも1つに基づいて、調整されてもよい。
当該追加条件が満たされる場合、処理は、ステップS14に進む。当該追加条件が満たされない場合、処理は、ステップS15に進む。
(ステップS14)エッジ制御部150は、複数の対象ノードの間にエッジを追加する。例えば、図3では、ノード201aとノード201cとの間にエッジ204が追加される。
なお、ノード201dは、追加条件を満たす複数の対象ノードに含まれない。そのため、エッジ制御部150は、ノード201dにエッジを追加しない。ここで、削除対象ノードであるノード202c,202dが接続していたノード201a,201c,201dの間にエッジを追加する方法が考えられる。例えば、ノード201aとノード201cとの間にエッジが追加され、ノード201cとノード201dとの間にエッジが追加され、ノード201aとノード201dとの間にエッジが追加される。当該方法では、過剰にエッジが追加される。過剰にエッジが追加された場合、最適なアイテムの推薦が行えない可能性がある。また、過剰にエッジが追加された場合、スコア算出部160によるコストの算出処理に伴う処理負荷が大きくなる。そこで、追加条件が、厳しく設定される。これにより、情報処理装置100は、最適なアイテムの推薦を行うことができる。また、情報処理装置100は、処理負荷を軽減できる。
(ステップS15)構築部130は、更新されたグラフ111を記憶部110に格納する。
図6は、実施の形態1のアイテムの推薦処理の例を示すフローチャートである。
(ステップS21)取得部120は、推薦の実行指示を取得する。例えば、取得部120は、ユーザ又はシステム運用者から当該実行指示を取得する。また、例えば、取得部120は、外部システムから当該実行指示を取得する。
また、取得部120は、グラフ111内の探索開始ノード、キーワードなどの情報も取得する。
(ステップS22)取得部120は、スコアの算出に必要なデータを取得する。例えば、取得部120は、当該データを外部装置から取得する。
(ステップS23)スコア算出部160は、取得された当該データとグラフ111とに基づいて、アイテムを示すノードのスコアを算出する。例えば、スコア算出部160は、非特許文献1又は非特許文献2に記載の方法で、スコアを算出する。また、スコア算出部160は、過去にユーザに推薦した履歴、及びユーザ又はシステム運用者が情報処理装置100に入力した情報を用いて、スコアを算出してもよい。
(ステップS24)決定出力部170は、スコアに基づいて、ユーザに推薦する1以上のアイテムを決定する。例えば、決定出力部170は、スコアの大きい順に、アイテムを決定する。また、決定出力部170は、アイテムの内容に応じた重みをスコアに重み付けしてもよい。そして、決定出力部170は、重み付けにより変更されたスコアの大きい順に、アイテムを決定する。また、決定出力部170は、上位のアイテムのうち、特定の条件を満たすアイテムを、ユーザに推薦するアイテムとして決定してもよい。
(ステップS25)決定出力部170は、決定されたアイテムを出力する。
実施の形態1によれば、情報処理装置100は、削除対象ノードが削除された場合、エッジを追加する。これにより、情報処理装置100は、適切なスコアを算出することができる。
実施の形態2.
次に、実施の形態2を説明する。実施の形態2では、実施の形態1と相違する事項を主に説明する。そして、実施の形態2では、実施の形態1と共通する事項の説明を省略する。
図7(A),(B)は、実施の形態2のエッジの追加処理の例を示す図である。図7(A)は、グラフ111の一部を示している。図7(A)は、ノード211a~211hを示している。また、図7(A)は、エッジ212a~212gを示している。
図7(A)は、ノード211d,211e,211gが削除されたことを示している。ノード211d,211e,211gが削除されることで、エッジも削除される。
エッジ制御部150は、ノード211fとノード211hとの間にエッジ214を追加する。図7(B)は、ノード211fとノード211hとの間にエッジ214が追加されたことを示している。エッジ214の追加により、ランダムウォークによってスコアが算出される場合、ノード211fから211hに遷移できるため、適切なスコアの算出が行える。
エッジの追加処理を詳細に説明する。エッジ制御部150は、複数の対象ノードが共に第1の削除対象ノードに接続し、かつ当該複数の対象ノードのそれぞれが当該第1の削除対象ノードと異なる削除対象ノードに接続する場合、当該第1の削除対象ノードと異なる複数の削除対象ノードを含む第2の削除対象ノードを疑似的に作成する。図7を用いて、第2の削除対象ノードの作成処理を説明する。まず、図7では、複数の対象ノードは、ノード211f,211hである。第1の削除対象ノードは、ノード211gである。第2の削除対象ノードは、ノード213である。エッジ制御部150は、ノード211f,211hが共にノード211gに接続し、かつノード211f,211hのそれぞれがノード211gと異なるノード211d,211eに接続する場合、ノード211d,211eを含むノード213を疑似的に作成する。
また、第2の削除対象ノードの作成処理は、次のように表現してもよい。エッジ制御部150は、複数の対象ノードが共に、一方のエッジを介して第1の削除対象ノードに接続し、かつ複数の対象ノードが、複数の対象ノードに接続されている複数の他のエッジを介して、第1の削除対象ノードと異なる複数の削除対象ノードに接続する場合、当該複数の削除対象ノードを含む第2の削除対象ノードを疑似的に作成する。図7を用いて、第2の削除対象ノードの作成処理を説明する。エッジ制御部150は、ノード211f,211hが共に、一方のエッジ212f,212gを介してノード211gに接続し、かつノード211f,211hが、ノード211f,211hに接続されている複数の他のエッジであるエッジ212c,212e介して、ノード211gと異なるノード211d,211eに接続する場合、ノード211d,211eを含むノード213を疑似的に作成する。
エッジ制御部150は、エッジの追加条件を満たすか否かを判定する。当該追加条件は、グラフ111内の複数のノードのうちの複数の対象ノードが共に接続する削除対象ノードの数が予め設定された閾値以上であることを示す。
図7を用いて、追加条件の判定処理を説明する。閾値は、2とする。対象ノードは、ノード211f,211hとする。ノード211f,211hは、共にノード211gに接続する。また、ノード211f,211hは、共にノード213に接続する。よって、削除対象ノードの数は、2である。エッジ制御部150は、図7の状況は、当該追加条件を満たすと判定する。エッジ制御部150は、複数の対象ノードの間にエッジを追加する。例えば、エッジ制御部150は、ノード211fとノード211hとに間にエッジ214を追加する。このように、ノード211fとノード211hとに間にエッジ214が、追加される。
上記では、ノード213に含まれるノードが2つの場合を説明した。ノード213に含まれるノードの数は、3以上でもよい。例えば、ノード211dとノード211eとの間に、1つ以上の削除対象ノードが含まれている場合、エッジ制御部150は、ノード211d、ノード211e、及び1つ以上の削除対象ノードを含むノード213を疑似的に作成する。作成される削除対象ノードに含まれるノードの数には、上限が設けられてもよい。上限は、削除対象ノードのアイテムの内容、又はノードの接続状況に応じて、調整されてもよい。
実施の形態2によれば、情報処理装置100は、削除対象ノードが削除された場合、エッジを追加する。これにより、情報処理装置100は、適切なスコアを算出することができる。
実施の形態3.
次に、実施の形態3を説明する。実施の形態3では、実施の形態1と相違する事項を主に説明する。そして、実施の形態3では、実施の形態1と共通する事項の説明を省略する。
図8は、実施の形態3の情報処理装置の機能を示すブロック図である。情報処理装置300は、制御方法を実行する装置である。情報処理装置300は、記憶部310、取得部320、構築部330、スコア算出部340、及び決定出力部350を有する。
記憶部310は、情報処理装置300が有する揮発性記憶装置又は不揮発性記憶装置に確保した記憶領域として実現してもよい。
取得部320、構築部330、スコア算出部340、及び決定出力部350の一部又は全部は、情報処理装置300が有する処理回路によって実現してもよい。また、取得部320、構築部330、スコア算出部340、及び決定出力部350の一部又は全部は、情報処理装置300が有するプロセッサが実行するプログラムのモジュールとして実現してもよい。例えば、当該プロセッサが実行するプログラムは、制御プログラムとも言う。例えば、制御プログラムは、記録媒体に記録されている。
記憶部310は、グラフ311を記憶する。グラフ311を例示する。
図9は、実施の形態3のグラフの例を示す図である。グラフ311は、複数のノードと複数のエッジとを含む。例えば、グラフ311は、ノード401a~401e、ノード402a~402d、ノード403a~403e、エッジ404a~404i、及びエッジ405a~405jを含む。
ノード402a~402dは、アイテムの特性を示すノードである。ノード401a~401e、及びノード403a~403eは、アイテムを示すノードである。エッジ404a~404i、及びエッジ405a~405jは、アイテムと、アイテムの特性との関係を示している。
取得部320、構築部330、スコア算出部340、及び決定出力部350の機能は、取得部120、構築部130、スコア算出部160、及び決定出力部170の機能とほとんど同じである。そこで、図9を用いて、異なる機能を主に説明する。
例えば、取得部320は、推薦除外対象ノードを示す情報を外部装置から取得する。推薦除外対象ノードは、ユーザに推薦する対象から除外されるアイテムを示すノードである。推薦除外対象ノードは、ノード401a~401eとする。
構築部330は、ノード401a~401eを推薦除外対象ノードとして扱う。また、構築部330は、ノード401a~401eに接続しているエッジ404a~404iを除外対象エッジとして扱う。なお、推薦除外対象ノードと除外対象エッジとは、削除されない。
スコア算出部340は、ランダムウォークとグラフ311を用いて、アイテムを示すノードのスコアを算出する。スコア算出部340は、当該スコアを算出する場合、推薦除外対象ノードと除外対象エッジとを介して、スコアを算出する。これにより、例えば、スコア算出部340は、ランダムウォークを用いて当該スコアを算出する場合、エッジ404b、ノード401b、及びエッジ404cを介して、ノード402aからノード402bに遷移して、スコアを算出する。
また、スコア算出部340は、スコアの算出で推薦除外対象ノードを通過する場合、推薦除外対象ノードをカウントしない。言い換えれば、スコア算出部340は、ランダムウォークで推薦除外対象ノードを通過する場合、推薦除外対象ノードをカウントしない。よって、スコア算出部340は、推薦除外対象ノードを1ステップとして、カウントしない。これにより、算出されるスコアには、推薦除外対象ノードの影響が含まれない。
実施の形態3によれば、推薦除外対象ノードと除外対象エッジとは、削除されずに、遷移のために使われる。そして、例えば、情報処理装置300は、ノード402aからノード402bに遷移できるため、適切なスコアを算出することができる。そして、適切なスコアが算出されることで、情報処理装置300は、ユーザに適切なアイテムを推薦できる。
スコア算出部340は、予め設定された条件を満たした場合、推薦除外対象ノードと除外対象エッジとを介して、スコアを算出する。例えば、予め設定された条件は、ユーザ又はシステム管理者から、取得部320が推薦除外対象ノードと除外対象エッジとを介したスコアの算出指示を取得した場合である。また、例えば、予め設定された条件は、クエリが推薦除外対象ノードと除外対象エッジとを介したスコアの算出を示している場合である。また、例えば、予め設定された条件は、ランダムウォークによる、推薦除外対象ノード以外のノードに対する訪問回数が予め設定された設定回数を超えた場合である。例えば、あるノードに対する訪問回数が当該設定回数以下の間、スコア算出部340は、ランダムウォークを用いて、ノード402a~402dとノード403a~403eとの間の遷移に基づいて、スコアを算出する。当該ノードに対する訪問回数が当該設定回数を超えた場合、スコア算出部340は、推薦除外対象ノードであるノード401a~401eに遷移を行う。なお、訪問回数は、通過回数と考えてもよい。予め設定された条件は、上記に例示した内容以外でもよい。
また、スコア算出部340は、1回のスコアの算出ごとに、推薦除外対象ノードと除外対象エッジとを介してスコアを算出するか否かを所定の条件に基づいて、判定してもよい。
このように、スコア算出部340は、適宜、推薦除外対象ノードに遷移が行われることで、より適切なスコアを算出することができる。
なお、実施の形態3の方法は、ランダムウォーク以外のスコア算出方法を行う場合に適用可能である。
実施の形態4.
次に、実施の形態4を説明する。実施の形態4では、実施の形態3と相違する事項を主に説明する。そして、実施の形態4では、実施の形態3と共通する事項の説明を省略する。
図10は、実施の形態4の情報処理装置の機能を示すブロック図である。図8に示される構成と同じ図10の構成は、図8に示される符号と同じ符号を付している。
情報処理装置300aは、スコア算出部340aと制御部360とを有する。スコア算出部340aと制御部360の一部又は全部は、処理回路によって実現してもよい。また、スコア算出部340aと制御部360の一部又は全部は、プロセッサが実行するプログラムのモジュールとして実現してもよい。
制御部360は、推薦除外対象ノードに接続する複数のエッジを介して、当該推薦除外対象ノードに接続する複数のノードの間にエッジを追加してもよい。グラフ311を用いて、説明する。
図11は、実施の形態4のグラフの例を示す図である。図11は、グラフ311を示している。例えば、制御部360は、ノード401d(すなわち、推薦除外対象ノード)に接続するエッジ404g,404hを介して、ノード401dに接続するノード402cとノード402dとの間にエッジ408を追加する。
制御部360は、推薦除外対象ノードが示すアイテム、又は推薦除外対象ノードが示すアイテムの特性が予め設定された条件を満たした場合、当該推薦除外対象ノードに接続する複数のノードの間にエッジを追加してもよい。例えば、当該条件は、推薦除外対象ノードが示すアイテムがテレビ番組であるとする。推薦除外対象ノードが示すアイテムがテレビ番組である場合、制御部360は、条件を満たすと判定する。そして、制御部360は、当該推薦除外対象ノードに接続する複数のノードの間にエッジを追加する。
制御部360は、推薦除外対象ノードに接続する複数のノードのそれぞれが示すアイテム又はアイテムの特性が予め設定された条件を満たした場合、当該複数のノードの間にエッジを追加してもよい。図11を用いて、制御部360の処理を説明する。例えば、当該条件は、同じカテゴリの特性である場合、エッジを追加することを示す。制御部360は、ノード402cが示すアイテムの特性とノード402dが示すアイテムの特性とが同じカテゴリの特性であるため、当該条件を満たすと判定する。制御部360は、ノード402cとノード402dとの間にエッジ408を追加する。
また、制御部360は、推薦除外対象ノードが示すアイテム、又は推薦除外対象ノードが示すアイテムの特性が予め設定された条件を満たし、かつ推薦除外対象ノードに接続する複数のノードのそれぞれが示すアイテム又はアイテムの特性が予め設定された条件を満たした場合、当該複数のノードの間にエッジを追加してもよい。
制御部360は、複数の推薦除外対象ノードに基づいて、複数のグループを作成してもよい。例えば、制御部360は、ノード401a~401eに基づいて、グループ406とグループ407を作成する。例えば、制御部360は、ノード401a~401eが示すアイテムのカテゴリに基づいて、グループ406とグループ407を作成する。これにより、同じカテゴリのノードが、1つのグループに含まれる。また、制御部360は、複数のグループのそれぞれにラベルを付加してもよい。
制御部360は、エッジの追加条件を満たすか否かを判定してもよい。例えば、当該追加条件は、複数のノードのうちの複数の対象ノードが共に接続する、同じグループの推薦除外対象ノードの数が予め設定された閾値以上であることを示す。制御部360は、当該追加条件を満たす場合、複数の対象ノードの間にエッジを追加する。図11のグラフ311を用いて、説明する。閾値は、2とする。対象ノードは、ノード402c,402dとする。制御部360は、ノード402c,402dが共に接続するノード401c(すなわち、推薦除外対象ノード)に接続することを検出する。制御部360は、ノード402c,402dが共に接続するノード401d(すなわち、推薦除外対象ノード)に接続することを検出する。制御部360は、同じグループ(すなわち、グループ407)の推薦除外対象ノードの数が2であることを検出する。よって、制御部360は、当該追加条件を満たすと判定する。制御部360は、ノード402cとノード402dとの間にエッジ408を追加する。このように、当該追加条件を厳しくすることで、過剰なエッジが追加されることが防止される。そして、過剰なエッジの追加が防止されることで、情報処理装置300aは、最適なアイテムの推薦、及び処理負荷の軽減を実現できる。
当該追加条件は、グループによって、調整されてもよい。例えば、グループ406に対する当該追加条件が、緩和される。グループ407に対する当該追加条件が、厳しくされる。具体的には、複数の対象ノードが共に接続する推薦除外対象ノードの数が検出された場合、制御部360は、グループ406で検出された当該数に、2以上の値の重みを乗算する。複数の対象ノードが共に接続する推薦除外対象ノードの数が検出された場合、制御部360は、グループ407で検出された当該数に、1より小さい正の値(例えば、0.1)の重みを乗算する。
また、調整は、次のように行われてもよい。複数の対象ノードが共に接続する推薦除外対象ノードの数が検出された場合、制御部360は、グループに付加されたラベルと、当該ラベルに対する重みとに基づいて、当該数に当該重みを乗算する。なお、当該ラベルに対する重みは、記憶部310に予め格納されている。
また、当該追加条件は、次のように規定されてもよい。当該追加条件は、複数の対象ノードが共に接続する、同じグループの推薦除外対象ノードの数が予め設定された閾値以上であり、かつ複数の対象ノードが共に接続する推薦除外対象ノードが属するグループに付加されたラベルが予め設定されたラベルであることを示す。例えば、制御部360は、グループ406に付加されたラベルと予め設定されたラベルとが同じである場合、当該追加条件を満たすと判定する。このように、当該追加条件を厳しくすることで、過剰なエッジが追加されることが防止される。そして、過剰なエッジの追加が防止されることで、情報処理装置300aは、最適なアイテムの推薦、及び処理負荷の軽減を実現できる。
このように、エッジが追加されることで、情報処理装置300aは、適切なスコアを算出することができる。
次に、スコア算出部340aの機能を説明する。スコア算出部340aは、複数のグループが作成された場合に実行する。よって、エッジが追加されていない場合でも、スコア算出部340aは、以下の処理を実行する。
スコア算出部340aは、予め設定された条件を満たした場合、複数のグループのうちの特定のグループ(例えば、第1のグループとも言う)に属する推薦除外対象ノードと、当該特定のグループに属する推薦除外対象ノードに接続する除外対象エッジとを介して、スコアを算出する。例えば、予め設定された条件は、ユーザ又はシステム管理者から、取得部320が当該特定のグループに属する推薦除外対象ノードと、当該特定のグループに属する推薦除外対象ノードに接続する除外対象エッジとを介したスコアの算出指示を取得した場合である。また、例えば、予め設定された条件は、クエリが当該特定のグループに属する推薦除外対象ノードと、当該特定のグループに属する推薦除外対象ノードに接続する除外対象エッジとを介したスコアの算出を示している場合である。また、例えば、予め設定された条件は、ランダムウォークによる、推薦除外対象ノード以外のノードに対する訪問回数が予め設定された設定回数を超えた場合である。例えば、あるノードに対する訪問回数が当該設定回数以下の間、スコア算出部340aは、ランダムウォークを用いて、ノード402a~402dとノード403a~403eとの間の遷移に基づいて、スコアを算出する。スコア算出部340aは、当該ノードに対する訪問回数が当該設定回数を超えた場合、グループ406に属するノード401a,401bに遷移を行う。予め設定された条件は、上記に例示した内容以外でもよい。
また、スコア算出部340aは、推薦除外対象ノードを通過する場合、推薦除外対象ノードをカウントしない。
スコア算出部340aは、1回のスコアの算出ごとに、推薦除外対象ノードと除外対象エッジとを介してスコアを算出するか否かを所定の条件に基づいて、判定してもよい。
このように、スコア算出部340aは、適宜、推薦除外対象ノードに遷移が行われることで、適切なスコアを算出することができる。なお、実施の形態4の方法は、ランダムウォーク以外のスコア算出方法を行う場合に適用可能である。
以上に説明した各実施の形態における特徴は、互いに適宜組み合わせることができる。
100 情報処理装置、 101 プロセッサ、 102 揮発性記憶装置、 103 不揮発性記憶装置、 104 入出力インタフェース、 105 通信インタフェース、 110 記憶部、 111 グラフ、 120 取得部、 130 構築部、 140 ノード削除制御部、 150 エッジ制御部、 160 スコア算出部、 170 決定出力部、 201a~201d ノード、 202a~202e ノード、 203a~203j エッジ、 204 エッジ、 211a~211h ノード、 212a~212g エッジ、 213 ノード、 214 エッジ、 300 情報処理装置、 300a 情報処理装置、 310 記憶部、 311 グラフ、 320 取得部、 330 構築部、 340 スコア算出部、 340a スコア算出部、 350 決定出力部、 360 制御部、 401a~401e ノード、 402a~402d ノード、 403a~403e ノード、 404a~404i エッジ、 405a~405j エッジ、 406 グループ、 407 グループ、 408 エッジ。

Claims (5)

  1. ユーザに推薦する対象から除外されるアイテムを示す推薦除外対象ノードを含む複数のノードと、前記推薦除外対象ノードに接続するエッジである除外対象エッジを含む複数のエッジとを含むグラフを記憶する記憶部と、
    ランダムウォークと前記グラフとを用いて、前記複数のノードのうちの、アイテムを示すノードのスコアを算出するスコア算出部と、
    を有し、
    前記スコア算出部は、
    前記スコアを算出する場合、前記推薦除外対象ノードと前記除外対象エッジとを介して、前記スコアを算出し、
    前記スコアの算出で前記推薦除外対象ノードを通過する場合、前記推薦除外対象ノードをカウントしない、
    情報処理装置。
  2. 前記スコア算出部は、
    予め設定された条件を満たした場合、前記推薦除外対象ノードと前記除外対象エッジとを介して、前記スコアを算出する、
    請求項に記載の情報処理装置。
  3. 制御部をさらに有し、
    前記グラフの前記複数のノードは、複数の前記推薦除外対象ノードを含み、
    前記制御部は、
    複数の前記推薦除外対象ノードに基づいて、複数のグループを作成し、
    前記スコア算出部は、
    予め設定された条件を満たした場合、前記複数のグループのうちの第1のグループに属する前記推薦除外対象ノードと、前記第1のグループに属する前記推薦除外対象ノードに接続する前記除外対象エッジとを介して、前記スコアを算出する、
    請求項に記載の情報処理装置。
  4. 情報処理装置が、
    ユーザに推薦する対象から除外されるアイテムを示す推薦除外対象ノードを含む複数のノードと、前記推薦除外対象ノードに接続するエッジである除外対象エッジを含む複数のエッジとを含むグラフと、ランダムウォークとを用いて、前記複数のノードのうちの、アイテムを示すノードのスコアを算出し、
    前記スコアを算出する場合、前記推薦除外対象ノードと前記除外対象エッジとを介して、前記スコアを算出し、
    前記スコアの算出で前記推薦除外対象ノードを通過する場合、前記推薦除外対象ノードをカウントしない、
    制御方法。
  5. 情報処理装置に、
    ユーザに推薦する対象から除外されるアイテムを示す推薦除外対象ノードを含む複数のノードと、前記推薦除外対象ノードに接続するエッジである除外対象エッジを含む複数のエッジとを含むグラフと、ランダムウォークとを用いて、前記複数のノードのうちの、アイテムを示すノードのスコアを算出する、
    処理を実行させる制御プログラムであり、
    前記スコアを算出する場合、前記推薦除外対象ノードと前記除外対象エッジとを介して、前記スコアを算出し、
    前記スコアの算出で前記推薦除外対象ノードを通過する場合、前記推薦除外対象ノードをカウントしない、
    制御プログラム。
JP2022502127A 2021-04-26 2021-04-26 情報処理装置、制御方法、及び制御プログラム Active JP7154454B1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/016622 WO2022230017A1 (ja) 2021-04-26 2021-04-26 情報処理装置、制御方法、及び制御プログラム

Publications (3)

Publication Number Publication Date
JP7154454B1 true JP7154454B1 (ja) 2022-10-17
JPWO2022230017A1 JPWO2022230017A1 (ja) 2022-11-03
JPWO2022230017A5 JPWO2022230017A5 (ja) 2023-03-29

Family

ID=83637951

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022502127A Active JP7154454B1 (ja) 2021-04-26 2021-04-26 情報処理装置、制御方法、及び制御プログラム

Country Status (2)

Country Link
JP (1) JP7154454B1 (ja)
WO (1) WO2022230017A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013101441A (ja) * 2011-11-08 2013-05-23 Yahoo Japan Corp グラフインデックス更新装置
JP2014225117A (ja) * 2013-05-16 2014-12-04 富士通株式会社 伝達情報変動検知方法、伝達情報変動検知装置および伝達情報変動検知プログラム
JP2017151876A (ja) * 2016-02-26 2017-08-31 国立研究開発法人情報通信研究機構 画像クラスタリングシステム、画像クラスタリング方法、画像クラスタリングプログラム、および、コミュニティ構造検出システム
US20190114347A1 (en) * 2017-10-13 2019-04-18 Microsoft Technology Licensing, Llc Hierarchical contextual search suggestions

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013101441A (ja) * 2011-11-08 2013-05-23 Yahoo Japan Corp グラフインデックス更新装置
JP2014225117A (ja) * 2013-05-16 2014-12-04 富士通株式会社 伝達情報変動検知方法、伝達情報変動検知装置および伝達情報変動検知プログラム
JP2017151876A (ja) * 2016-02-26 2017-08-31 国立研究開発法人情報通信研究機構 画像クラスタリングシステム、画像クラスタリング方法、画像クラスタリングプログラム、および、コミュニティ構造検出システム
US20190114347A1 (en) * 2017-10-13 2019-04-18 Microsoft Technology Licensing, Llc Hierarchical contextual search suggestions

Also Published As

Publication number Publication date
JPWO2022230017A1 (ja) 2022-11-03
WO2022230017A1 (ja) 2022-11-03

Similar Documents

Publication Publication Date Title
US8171011B2 (en) Content identification expansion
US10185752B2 (en) Mining association rules in the map-reduce framework
CN107451894B (zh) 数据处理方法、装置和计算机可读存储介质
US7480652B2 (en) Determining relevance of a document to a query based on spans of query terms
KR101130533B1 (ko) 이종 관계에 기초하여 객체들의 유사성을 결정하기 위한방법 및 시스템
US8370337B2 (en) Ranking search results using click-based data
US20120185481A1 (en) Method and Apparatus for Executing a Recommendation
US8396879B1 (en) Ranking authors and their content in the same framework
US20150363873A1 (en) Method and system for monitoring and recommending relevant products
US9390141B2 (en) Systems and methods for determining application installation likelihood based on probabilistic combination of subordinate methods
KR102167593B1 (ko) 분산 퍼지 연관 규칙 마이닝에 기반한 영화 추천 장치 및 방법
TW201335780A (zh) 電子商務搜尋引擎的搜尋方法和電子商務搜尋引擎
US8719276B1 (en) Ranking nodes in a linked database based on node independence
US10884865B2 (en) Identifying redundant nodes in a knowledge graph data structure
Shi et al. GAPfm: Optimal top-n recommendations for graded relevance domains
Yu et al. Search result diversification via filling up multiple knapsacks
KR20220012085A (ko) 구매 이력과 상품에 매칭된 태그 속성의 협업 필터링 기반 개인 맞춤 추천 장치 및 그 방법
Vahedian et al. Weighted random walk sampling for multi-relational recommendation
Zhang et al. Recommendation over a heterogeneous social network
JP7154454B1 (ja) 情報処理装置、制御方法、及び制御プログラム
US20090077093A1 (en) Feature Discretization and Cardinality Reduction Using Collaborative Filtering Techniques
KR101630642B1 (ko) 사용자 맞춤형 항목 추천 방법 및 장치
KR20130022322A (ko) 높은 연관성을 가지는 아이템을 추천하는 아이템 기반의 추천 엔진
US20130339085A1 (en) Identifying a non-obvious target audience for an advertising campaign
Rashidi et al. Entropy-based ranking approach for enhancing diversity in tag-based community recommendation

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220112

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220112

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20220112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220412

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220906

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221004

R150 Certificate of patent or registration of utility model

Ref document number: 7154454

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150