JP6446851B2 - レコメンドシステム、レコメンド方法及びプログラム - Google Patents

レコメンドシステム、レコメンド方法及びプログラム Download PDF

Info

Publication number
JP6446851B2
JP6446851B2 JP2014126352A JP2014126352A JP6446851B2 JP 6446851 B2 JP6446851 B2 JP 6446851B2 JP 2014126352 A JP2014126352 A JP 2014126352A JP 2014126352 A JP2014126352 A JP 2014126352A JP 6446851 B2 JP6446851 B2 JP 6446851B2
Authority
JP
Japan
Prior art keywords
recommendation
word
ranking
processing unit
attribute
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
JP2014126352A
Other languages
English (en)
Other versions
JP2016004529A (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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2014126352A priority Critical patent/JP6446851B2/ja
Publication of JP2016004529A publication Critical patent/JP2016004529A/ja
Application granted granted Critical
Publication of JP6446851B2 publication Critical patent/JP6446851B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明はレコメンドシステム、レコメンド方法及びプログラムに関し、例えばエンドユーザに適した商材をレコメンドする技術に関する。
従来より、消費者の購買履歴等のデータを基に消費者の嗜好等を分析し、消費者に適した商材を提案するレコメンド技術が知られている。最近では、例えば、消費者が属するセグメントにおいて売上が多い商材や、消費者の購入商品と共に購入されることの多い商材を消費者に対して提示する手法が提案されている。
しかしながら、従来の購買履歴データに基づくレコメンドにおいては、例えばテレビ、SNS、ニュースサイト等で話題となった商材を、リアルタイムにレコメンドすることが困難であった。すなわち、商材が話題になりはじめた時点では、多くのユーザの購買履歴データにまだ当該商品の影響が生じていないため、当該商材が他のユーザにレコメンドされることも少なく、レコメンドの最適な機会を逸することがあった。
また、従来の購買履歴データに基づくレコメンドにおいては、例えば店舗が小規模である場合等には購買履歴データの蓄積が少なく、レコメンドの信頼性が相対的に低くなるという課題があった。
ところで、テキストマイニング技術の分野では、コンピュータの性能向上を背景に、多量のテキストデータを単語レベルに分解し、出現頻度の高い単語をリアルタイムに抽出することが可能となっている。そこで、このようなテキスト処理技術を、上述のレコメンド用途に適用することにより、上記課題の解決を図った事例も存在する。
特許文献1には、ブログやウェブサイトに含まれるテキストコンテンツを分析して、複数の商品同士の適合度を予め算出しておくこと、及び、ユーザがオークションサイトにおいて商品検索を行った際に、検索された商品との適合度が高い他の商品をユーザに推薦することが記載されている。
特許文献2には、ニュースコンテンツを分析して時事に連動した商品を抽出し、当該商品にかかるレコメンド広告をユーザに提示することが記載されている。
特許文献3には、特定の商品についてユーザがインターネット上に投稿した評価を分析し、ユーザ間の類似度に基づくクラスタリングを行うこと、及び、サービス対象者が属するクラスタに基づいて当該サービス対象者に提供すべきサービスを決定することが記載されている。
特開2008−139928号公報 特開2010−044584号公報 特開2012−099115号公報
しかしながら、特許文献1乃至3にかかる構成は、ユーザ固有の事情(例えば国、地域、宗教、年齢等。以下、単に属性と称する。)に配慮したレコメンドを十分に実施できていない。例えば、従来のレコメンド技術によれば、あるユーザに対してレコメンドすべきでない、不適切な商材をレコメンドしてしまう場合がある。具体的には、ユーザが外国へ旅行に行った際に、現地で話題となっている商材であるものの、ユーザの自国では禁止されている商材が画面に表れてしまうことなどがある。
本発明は、このような問題点を解決するためになされたものであり、ユーザの属性に配慮したレコメンドを行うことができるレコメンドシステム、レコメンド方法及びプログラムを提供することを目的とする。
本発明に係るレコメンドシステムは、テキストデータを収集する収集処理部と、前記テキストデータに含まれる単語のランキングを作成する分析処理部と、レコメンド対象のユーザにかかる属性を取得し、前記ランキング及び前記属性に応じて前記単語を取捨選択し、取捨選択された前記単語に関連付けられた商材を提示するレコメンド処理部と、を含むものである。
本発明に係るレコメンド方法は、テキストデータを収集する収集処理ステップと、前記テキストデータに含まれる単語のランキングを作成する分析処理ステップと、レコメンド対象のユーザにかかる属性を取得し、前記ランキング及び前記属性に応じて前記単語を取捨選択し、取捨選択された前記単語に関連付けられた商材を提示するレコメンド処理ステップと、を含むものである。
本発明に係るプログラムは、上記レコメンド方法をコンピュータに実行させるためのプログラムである。
本発明により、ユーザの属性に配慮したレコメンドを行うことができるレコメンドシステム、レコメンド方法及びプログラムを提供することができる。
本発明の実施の形態1のレコメンドシステム100の構成を示す図である。 本発明の実施の形態1のレコメンドシステム100の動作を示す図である。 本発明の実施の形態1のレコメンドシステム100の動作を示す図である。 本発明の実施の形態1の収集DB003の一例を示す図である。 本発明の実施の形態1の商材DB008の一例を示す図である。 本発明の実施の形態1の単語DB0041の一例を示す図である。 本発明の実施の形態1の同義語DB0042の一例を示す図である。 本発明の実施の形態1のランキングDB006の一例を示す図である。 本発明の実施の形態1の属性DB010の一例を示す図である。 本発明の実施の形態1のトレンドランキング生成処理の概念を示す図である。 本発明の実施の形態2のランキングDB006の一例を示す図である。 本発明の実施の形態3の補正テーブルの一例を示す図である。
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
<実施の形態1>
まず、図1を用いて、本発明の実施の形態1にかかるレコメンドシステム100の構成について説明する。
レコメンドシステム100は、サーバコンピュータ等により構成される情報処理システムである。サーバコンピュータは、制御プログラムに基づいて所定の処理を実行する中央制御装置、制御プログラムや各種データを保持する記憶装置、及び外部システムとの間でデータの入出力を行う入出力装置とを含む。レコメンドシステム100は、物理的に単一の装置である必要はなく、複数のサーバコンピュータ等が連携して処理を実行する構成であってもよい。
レコメンドシステム100は、外部システムであるニュースサイト200、ECサイト300、及び属性情報サイト400と通信可能に接続される。ニュースサイト200、ECサイト300、属性情報サイト400も、それぞれサーバコンピュータ等により構成される情報処理システムである。なお、レコメンドシステム100は、ニュースサイト200、ECサイト300、属性情報サイト400の全部または一部の構成を含んでいても良い。
ニュースサイト200は、記事や発言等、公開情報としてのテキストデータ(以下、単に記事001と称する)を配信するシステムを指す。例えばSNS(ソーシャルネットワーキングサービス、例えばTwitter(登録商標)、Facebook(登録商標)等)、ブログ(例えばameba(登録商標)、goo(登録商標)等)、ニュース(例えばYahoo!(登録商標)ニュース、ITmedia(登録商標)等)等のサービスを提供するウェブサイトが、ニュースサイト200に含まれる。
ECサイト300は、商材の販売機能を有するシステムを指す。ECサイト300は、取扱商材の一覧を格納した商材DB008を含む。商材DB008は、商材名のほか、当該商材をレコメンドする際に利用可能なレコメンド情報(例えば商材説明文、商材画像、参照URL等)を格納している。また、ECサイト300は、商材の販売に係る種々の機能を提供するECシステム009を含む。ECシステム009は、後述のレコメンド処理部007から受け取った情報に基づいて、レコメンドすべき商材を商材DB008から抽出し、所定の媒体、例えばメールマガジンの本文や、ウェブページ上の広告スペースなどに抽出した商材を宣伝するための情報(レコメンド)を表示させる。
レコメンドシステム100は、収集処理部002、収集DB003、単語DB、同義語DB004、分析処理部005、ランキングDB006、及びレコメンド処理部007を含む。上記各処理部は、中央制御装置が、記憶装置に保持された制御プログラムに従って処理を実行することにより実現される論理的な処理部である。また、上記各DBは、記憶装置に形成される論理的に記憶部である。
収集処理部002は、ニュースサイト200の記事001から記事のテキストデータを取得し、収集DB003に格納する処理を行う。
収集DB003は、ニュースサイト200から収集された記事のテキストデータを格納する。
単語DB0041は、レコメンドの対象となる商材と、当該商材と紐付けられた単語とを対応付けたリストを格納する。同義語DB0042は、単語DB0041に格納された単語と、当該単語と同一視できる同義語とを対応付けたリストを格納する。
分析処理部005は、収集処理部002が収集したテキストデータを対象に、種々の処理を行う。具体的には、分析処理部005は、収集DB003に格納されたテキストデータを単語レベルに分解する。また、分析処理部005は、テキストデータを分解して得られた単語のうち、同義語DB0042に格納された同義語と一致するものを、同義語DB0042において当該同義語に対応付けられている単語(すなわち単語DB0041に登録されている単語)で置換する処理を行う。さらに、分析処理部005は、テキストデータを分解して得られ、かつ前記置換処理が施された単語のうち、単語DB0041に格納された単語と一致する単語について、テキストデータ内における当該単語の出現回数をカウントし、カウント数に基づいて単語のランキングを決定し、決定したランキングを後述のランキングDB006に格納する。
ランキングDB006は、単語の「人気ランキング」や「トレンドランキング」に関するデータを格納する。「人気ランキング」とは、所定の期間内においてカウント数の多い順に単語を並べたランキングである。「トレンドランキング」とは、カウント数を基にした所定の演算により得られる「変換後カウント値」の大きい順に単語を並べたランキングである。「変換後カウント値」は、所定の期間内においてカウント数の上昇率が大きい単語(=トレンドを示す単語)について、より大きな値が得られるよう定義される。よって、「人気ランキング」は、コンスタントに多く使用される単語を拾うことができ、「トレンドランキング」は、ある時点において急激に話題に上るようになった単語を拾うことができるといえる。ランキングDB006は、このような相互補完的な2つの単語ランキングのいずれをも提供することができる。
レコメンド処理部007は、商材のレコメンドに関する種々の処理を行う。具体的には、レコメンド処理部007は、ECサイト300のECシステム009(後述)から、レコメンドのターゲットとなるユーザに関する属性情報を取得する。また、レコメンド処理部007は、属性情報サイト400の属性DB010から、ユーザの属性情報に関連する禁止リスト又は許可リストを取得する。さらに、レコメンド処理部007は、ランキングDB006から、ランキング上位の所定数の単語を取得する。このとき、レコメンド処理部007は、前記禁止リストに含まれる単語を除外するか、ランキングを下げる処理をしたうえで取得できる。あるいは、レコメンド処理部007は、前記許可リストに含まれる単語を特に抽出するか、あるいはランキングを上げる処理をしたうえで取得できる。そして、レコメンド処理部007は、単語DB0041において前記取得した単語に関連付けられている商材を、ECシステム009に対して返却する。
属性情報サイト400は、後述の商材DB008を提供するためのサイトである。属性情報サイト400は独立のサイトであっても良く、レコメンドシステム100やECサイト300が属性情報サイト400の機能を兼ねるものであっても良い。
属性DB010は、ユーザの属性と商材との関係を定義した禁止リスト、許可リストの少なくともいずれか一方を格納する。禁止リストは、ユーザの属性(例えば国、地域、宗教、年齢)と、当該ユーザにレコメンドすべきでない商材と、を対応付けたリストである。許可リストは、ユーザの属性と、当該ユーザにレコメンドして良い商材とを対応付けたリストである。
つづいて、図2及び図3のフローチャートを用いて、本発明の実施の形態1にかかるレコメンドシステム100の動作について説明する。レコメンドシステム100の動作は、(1)事前準備、(2)ランキング生成、(3)レコメンドの3つの段階を含む。
(1)事前準備
S1:単語DB0041、同義語DB0042の作成
はじめに、事前準備として、単語DB0041に単語リストを格納しておく。図6に、単語リストの一例を示す。図6の単語リストは、カラム「単語ID」「単語名」「商材ID」を含むレコードを1以上含む。「単語ID」はレコードの識別子である。また単語リストの「商材ID」は、商材DB008(後述)の「商材ID」と共通である。
図5に、商材DB008の一例を示す。商材DB008は、ECサイト300が取り扱う商材の一覧であって、カラム「商材ID」「商品名」「商品説明」等を含むレコードを1以上含む。「商材ID」はレコードの識別子である。「商品名」「商品説明」はそれぞれ、商品の名称、及び商品の内容を説明するテキストデータである。
ここで単語DB0041は、例えば商材DB008を解析することによって自動的に生成することとしても良い。典型的には、レコメンドシステム100が有する単語DB生成部(図示しない)が、商材DB008を参照し、「商品説明」に含まれる単語を抽出する。そして単語DB生成部は、当該「商品説明」から抽出した単語と、当該「商品説明」に対応付けられている「商品ID」と、を紐付けて、単語リストのレコードの1つとして登録する。
また、同義語DB0042には同義語リストを格納しておく。図7に、同義語リストの一例を示す。図7の同義語リストは、カラム「同義語ID」「置換前」「置換後」を含むレコードを1以上含む。「同義語ID」はレコードの識別子である。同義語リストの「置換後」には、単語DB0041の「単語名」に定義済みの単語を指定すべきである。レコメンドシステム100は、後段のランキング生成処理において、「置換前」に定義された単語を、「置換後」に定義された単語と同一視する。
(2)ランキング生成
ランキング生成処理(S2乃至S6)は、典型的にはバッチ処理として実行される。すなわち、レコメンドシステム100は、例えば一定の間隔でS2乃至S6を実行することができる。
S2:ニュースサイトからテキストデータを取得
収集処理部002は、ニュースサイト200を参照し、記事001のテキストデータを取得する。記事001は、典型的にはウェブサイト上で配信されるニュース、SNS、ブログ等のテキストコンテンツであるが、商材のレコメンドに有用と思われるあらゆるソースが提供するテキストコンテンツであって良い。
収集処理部002は、取得したテキストデータを収集DB003に格納する。図4に、収集DB003の一例を示す。図4の収集DB003は、カラム「textID」「取得時刻」「地域」「メディア」「テキスト内容」を含むレコードを1以上含む。「textID」はレコードの識別子である。「取得時刻」「地域」「メディア」「テキスト内容」は、それぞれテキストデータが取得された時刻、テキストデータが配信されていた地域(例えばニュースサイト200の所在地、テキストデータの言語が使用されている地域等)、ニュースサイト200のメディア名、及びテキストデータの内容である。
S3:テキストデータを単語に分解
分析処理部005は、収集DB003のレコードの「テキスト内容」カラムよりテキストデータを取得する。分析処理部005は、取得したテキストデータを対象に形態素解析を行い、テキストデータを単語レベルに分解する。形態素解析により、例えば「Tomato体にいいらしい」というテキストデータは、「Tomato」「体」「に」「いい」「らしい」という複数の単語に分解される。なお、形態素解析の具体的なアルゴリズムについては公知であるため、ここでは詳細な説明を省略する。
分析処理部005は、収集DB003の全てのレコードについて上記処理を行う。
S4:単語を置換
分析処理部005は、S3で得た単語を、同義語DB0042に従って置換する。すなわち、同義語DB0042は、S3で得た単語夫々について、同義語リストの「置換前」カラムと照合し、一致する場合は当該単語を「置換後」カラムの内容で置換する。例えば、同義語リストが図7のように定義されている場合、S3で抽出された単語「Tomato」は、同義語リストのレコード「DG001」に従って、「トマト」に置換される。この場合、分析処理部005は、S4にかかる処理の結果として、単語群「トマト」「体」「に」「いい」「らしい」を得る。分析処理部005は、これらの単語群を、テキストデータの取得元である収集DB003のレコードの「取得時刻」カラムの内容と対応付けて保持する。
分析処理部005は、収集DB003の全てのレコードについて上記処理を行う。
S5:単語のカウント及びランキング情報生成
分析処理部005は、S4にかかる処理結果を分析し、ランキングDB006に反映させる。
ランキングDB006は、テキストデータ中の単語の出現頻度を、所定の期間毎に集計したリストである。図8に、ランキングDB006の一例を示す。図8のランキングDB006は、カラム「ランキングID」「カウント時刻」「期間」「単語名」「商材ID」「カウント数」「変換後カウント値」を含む1以上のレコードを含む。「ランキングID」はレコードの識別子である。「カウント時刻」はレコードの生成時刻である。「単語名」は集計対象の単語である。「期間」「カウント数」はそれぞれ、単語の出現頻度の集計期間、集計期間における単語の出現数である。「商材ID」は単語に紐付けられている商材であって、商材DB008の「商材ID」と共通である。
なお、図8に示すように、ランキングDB006はカラム「変換後カウント値」を含んでも良い。「変換後カウント値」の意義は後述する。
本実施の形態では、分析処理部005は、Daily(日)、Weekly(週)、Monthly(月)、及びAll(全期間)の4種類の期間について、集計を行うものとする。なお、集計期間はこの例によらず任意に定めることができることは勿論である。
一例として、Daily(日)の集計処理について説明する。分析処理部005は、S4にかかる処理結果の中から、「取得時刻」が現在時刻から過去1日の間に該当する単語群を抽出する。そして分析処理部005は、抽出した単語群と単語DB0041とを比較する。そして、抽出した単語群のなかに単語DB0041の単語リストに示された単語が含まれるか否かを判断し、含まれる場合は何個含まれるかをカウントする。例えば、集計期間中に「トマト」という単語が2回出現していた場合、カウント数は「2」である。最後に、分析処理部005はカウント結果をランキングDB006に登録する。例えば分析処理部005はレコード「RK001」を生成し、「カウント時刻」として現在時刻、「期間」として集計期間である「Daily」、「単語名」としてカウントされた単語「トマト」、「商材ID」として単語DB0041において「トマト」に紐付けられている商材ID「SZ002」、「カウント数」として「トマト」のカウント数「2」を格納する。
分析処理部005は、カウントされた全ての単語について同様のレコードを生成する。
また、分析処理部005は、Weekly(週)、Monthly(月)、及びAll(全期間)の各集計期間についても、同様の集計処理を行う。これらの期間の集計処理と上述のDaily(日)の集計処理との主な違いは、分析処理部005が、S4にかかる処理結果の中から、「取得時刻」が現在時刻から過去1週の間、現在時刻から1月の間、又は全期間に該当する単語群を抽出する点である。
図8は、上述の4種類の集計期間全てについてカウントを行った後のランキングDB006の状態を示している。
S6:トレンドランキング情報生成
商材DB008が「変換後カウント値」カラムを有する場合、分析処理部005は「変換後カウント値」を算出し、商材DB008に格納する処理を行う。「変換後カウント値」、「トレンドランキング」を生成するために用いられるデータである。
ここで「トレンドランキング」の意義について説明する。上述のS5で算出した「カウント数」によれば、所定の期間内においてカウント数の多い順に単語を並べた「人気ランキング」を提供できる。しかしながら、「人気ランキング」にはコンスタントかつ頻繁に使用される特定の単語が常時含まれ、結果としてユーザに毎回同じような商材が表示される懸念がある。一方、ここで生成する「トレンドランキング」は、ある集計期間と、その後続の集計期間との比較において、カウント数が急激に変化した単語を抽出するものである。具体的には、例えばカウント数の上昇の度合いを示す「変換後カウント値」を算出し、「変換後カウント値」の大きい順に単語を並べ替えることで「トレンドランキング」を生成できる。この「トレンドランキング」によれば、ユーザに対し、時機ごとに異なる商材をレコメンドできるという効果が期待できる。
「変換後カウント値」の計算方法は種々考えられ、例えば以下のような計算式を利用できる。
[例1]連続する期間におけるカウント値の差分
計算式:ある集計期間における「変換後カウント値」=ある集計期間における「カウント数」−直前の集計期間における「カウント数」
例えば、期間「Daily」で定期的に集計が行われ、商材DB008に日々データが追加されているものとする。ここで、ある集計日の単語「トマト」のカウント数が「2」であり、その前日の単語「トマト」のカウント数が「1」であった。この場合、分析処理部005は、当日のカウント数「2」−前日のカウント数「1」=「1」を、「変換後カウント値」として算出する。
しかしながら、例1の場合、普段から「カウント数」の値が大きな商材については「変換後カウント数」の値も大きくなり、「カウント数」の値が相対的に小さな商材については「変換後カウント数」の値も相対的に小さくなる傾向がある。よって、「カウント数」の値が比較的小さな商材に生じた変化を、ランキングに反映させることができない。この課題を解決した計算例が以下の[例2]である。
[例2]同一基準(正規分布)への変換
計算式:「変換後カウント値」=(「カウント数」−平均値μ)/標準偏差σ
ここで平均値μ、標準偏差σは、以下のように定義される。
平均値μ=(X+X+X+・・・+X)/n
標準偏差σ=√[{(X−μ)+(X−μ)+・・・+(X−μ)}/(n−1)]
ここでn=1,2,3・・・は集計期間、Xはその集計期間における「カウント数」である。
例えば、期間「Weekly」で定期的に集計が行われており、単語「トマト」の過去3週間(n=3)における「カウント数」が、直近の週から順に「10」「20」「30」であるものとする。このとき、平均値、標準偏差はそれぞれ以下のように計算できる。
μ=(10+20+30)/3=60/3=20
σ=√[{(10−20)+(20−20)+(30−20)}/(3−1))]
=√[(100+0+100)/2]
=10
したがって、今週計算される「変換後カウント値」は以下のようになる。なお、今週の「カウント数」はX1=「10」である。
「変換後カウント値」=(10−20)/10=−1.0
[例2]により得られる「変換後カウント値」の性質を、図10に示す。[例2]の計算によれば、様々な単語のカウント数を平均値=0、標準偏差=1の正規分布に変換できる。これにより、普段のカウント数(カウント数の平均値)の大小に影響されることなく、普段のカウント数(カウント数の平均値)に対する変化の度合いを示す指標を「変換後カウント値」として得ることができる。例えば、図10によれば、カウント数の平均値が「20」である単語Aも、カウント数の平均値が「2」である単語Bも、その平均値に対する変化の度合いに応じて「変換後カウント値」が適切に評価されていることが分かる。
なお、[例2]は正規分布変換に限定されるものではなく、例えばカイ二乗分布など他の公知の手法を採用可能であることは勿論である。
ここで、「人気ランキング」、[例1]方式による「トレンドランキング」、[例2]方式による「トレンドランキング」の相違を、図10の例を用いて具体的に説明する。この例では、「人気ランキング」においては単語Aが上位となる。1週前の「カウント数」が、単語A「10」>単語B「3」だからである。[例1]方式による「トレンドランキング」においては単語Bが上位となる。2週前及び1週前のデータを利用した「変換後カウント値」が、単語A「−10」<単語B「+2」だからである。[例2]方式による「トレンドランキング」においては単語Bが上位となる。2週前及び1週前のデータを利用した「変換後カウント値」が、単語A「−1」<単語B「+1」だからである。
(3)レコメンド
レコメンド生成処理(S11乃至S13)は、典型的にはリアルタイム処理として実行される。すなわち、レコメンドシステム100は、例えばECサイト300からのリクエストをトリガとして、S11乃至S13を実行することができる。
S11:ユーザの属性情報、欲しいランキング情報を入力
レコメンド処理部007は、ECサイト300のECシステム009から、適切なレコメンドを生成するのに必要な情報、より具体的にはレコメンドに必要な単語を取捨選択するための条件を取得する。典型的には、ECシステム009が、ECサイト300のユーザに対し何らかの商材をレコメンドしたいときに、以下に示すような情報をレコメンドシステム100のレコメンド処理部007に対して送信する。
イ)レコメンド対象のユーザの属性名
例えば「日本」、「イスラム教」、「男性」など。属性名としては、後述の属性DB010のカラム「属性名」と共通の名称を用いる。
ロ)ランキング基準
「カウント数」又は「変換後カウント値」。あるいは「人気ランキング」又は「トレンドランキング」でも良い。
ハ)期間
「Daily」、「Weekly」、「Monthly」、又は「ALL」のいずれか。
ニ)カウント日
「直近」、又は日付指定(YYYY/MM/DD)
ホ)レコメンド個数
N(Nは数字)
S12:属性フィルタリング
レコメンド処理部007は、属性情報サイト400の属性DB010を参照し、S11において取得したイ)属性名と、カラム「属性名」とが一致するレコードを抽出する。
図9に、属性DB010の一例を示す。図9の属性DB010は、カラム「属性ID」「最終更新日」「属性名」「カテゴリ」「商材名」を含む1以上のレコードを含む。「属性ID」はレコードの識別子である。「最終更新日」はレコードの最終更新日である。「属性名」はユーザの属性を示す識別子である。「商材名」は商材の名称である。なお、「商材名」に代えて「商材ID」が格納されていても良い。「カテゴリ」には「禁止」又は「許可」が定義される。「禁止」は当該商材のレコメンドが禁止されることを示す。「許可」は当該商材のレコメンドが許可されることを示す。
ここで、レコメンド処理部007が属性DB010から抽出したレコードのうち、「カテゴリ」が「禁止」であるレコード群に含まれる「商材名」群を禁止リストと称する。また、「カテゴリ」が「許可」であるレコード群に含まれる「商材名」群を許可リストと称する。例えば、図9の属性DB010から、「属性名」として「イスラム教」を指定してレコードを取得した場合、禁止リストは「豚肉」「酒」「レタス」となる。同様に「1歳未満」を属性として指定した場合、許可リストは「離乳食」となる。
S13:レコメンド情報生成
レコメンド処理部007は、ランキングDB006を参照し、S11で取得した条件ハ)及びニ)に合致するレコードを取得する。例えば、ハ)期間が「Daily」、ニ)カウント日が「直近」であった場合、レコメンド処理部007は、図7のランキングDB006から、ランキングID「RK001」「RK002」を含むレコード群を抽出する。
つづいて、レコメンド処理部007は、ランキングDB006から取得したレコード群から、S12で取得した禁止リストに含まれる商材を含むレコードを除外する。例えば、禁止リストが「豚肉」「酒」「レタス」である場合、レコメンド処理部007は、「レタス」を商材として含むレコード「RK002」を、上記レコード群から除外する。
なお、レコメンド処理部007は、禁止リストに含まれる商材を含むレコードを除外する代わりに、当該レコードのランキングを下げる処理を行っても良い。例えば、当該レコードの「カウント数」又は「変換後カウント値」に所定の演算を加えてその値を減少させる、当該レコードの「カウント数」又は「変換後カウント値」を、「カウント数」又は「変換後カウント値」が最も低い他のレコードと同じ又はより低い値とする等の処理を行っても良い。
あるいは、レコメンド処理部007は、ランキングDB006から取得したレコード群のうち、S12で取得した許可リストに含まれる商材を含むレコードのみを抽出することとしても良い。すなわち、ランキングDB006から取得したレコード群から、S12で取得した許可リストに含まれない商材を含むレコードを除外する。
なお、レコメンド処理部007は、許可リストに含まれる商材を含むレコードのみを抽出する代わりに、当該レコードのランキングを上げる処理を行っても良い。例えば、当該レコードの「カウント数」又は「変換後カウント値」に所定の演算を加えてその値を増加させる、当該レコードの「カウント数」又は「変換後カウント値」を、「カウント数」又は「変換後カウント値」が最も高い他のレコードと同じ又はより高い値とする等の処理を行っても良い。
そしてレコメンド処理部007は、上記処理を施したレコード群から、「カウント数」又は「変換後カウント値」の大きいレコードから順に、ホ)で指定された数のレコードを抽出する。ここで、「カウント数」又は「変換後カウント値」のいずれを用いるかは、ロ)の指定に従う。なお、「人気ランキング」が指定されていれば「カウント数」を採用し、「トレンドランキング」が指定されていれば「変換後カウント値」を採用する。
最後に、レコメンド処理部007は、最終的に抽出されたN個のレコードに含まれるN個の「商材ID」をECシステム009に返却する。
ECシステム009は、商材DB008を参照し、取得した「商材ID」に一致する商材を特定して、当該商材をユーザにレコメンドする。レコメンドの形態は種々考えられるが、例えばメールマガジンの本文へ商材広告の挿入、ECサイト300が提供するウェブサイトの広告スペースへの商材の表示等を実施できる。
本実施の形態によれば、レコメンドシステム100は、ニュースサイト200において話題になっている商材を感知し、ユーザに対し自動でレコメンドすることができる。例えば、新規携帯端末の一斉リリース時直後に、人気機種や人気色を把握し、迅速にユーザにレコメンドすることができる。
また、本実施の形態によれば、レコメンドシステム100は、属性フィルタリングによってユーザの属性に適した商材を的確にレコメンドすることができる。例えば、オリンピック開催中の国や地域等においても、外国旅行中のユーザに対して、ユーザの出身国や宗教等の属性に適した商材を選択的にレコメンドできる。
<実施の形態2>
実施の形態2では、収集データの地域やメディアに着目して、ユーザに対しより適切なレコメンドを行う手法を提案する。
例えば、日本に在住のユーザに対し、中国のSNS(例えばシナウェイボー等)から取得した記事を元にランキングを生成し、商材をレコメンドしても、当該ユーザの実際の興味や関心とは乖離しているケースが考えられる。かかる問題を解消する為、本実施の形態では、テキストデータが収集された地域やメディアにかかる情報を考慮して、ランキングDB006を作成する。
図11に、本実施の形態にかかるランキングDB006の一例を示す。図11のランキングDB006は、実施の形態1のランキングDB006(図8)と比較して、カラム「地域」「メディア」を含む点に特徴を有する。
図2及び図3のフローチャートを参照して、本実施の形態におけるレコメンドシステム100の動作について説明する。なお、特に言及しないステップに関しては、レコメンドシステム100は実施の形態1と同様に動作するものとする。
S3〜S4:
分析処理部005は、収集DB003のレコードの「テキスト内容」カラムよりテキストデータを取得し、形態素解析を行って得た単語を、同義語DB0042に従って置換する。その後、分析処理部005は、置換後の単語群を、テキストデータの取得元である収集DB003のレコードの「取得時刻」及び「地域」「メディア」カラムの内容と対応付けて保持する。
S5:分析処理部005は、ランキングDB006に単語を格納する際、S4において当該単語に対応付けておいた「地域」「メディア」情報を、ランキングDB006の「地域」「メディア」カラムに格納する。
S11:
レコメンド処理部007は、ECサイト300のECシステム009から、イ)〜ホ)に加えて、以下の条件ヘ)、ト)を取得する。
ヘ)地域別条件
例えば「日本」、「日本,アメリカ」、「日本以外」、「ALL」等
ト)メディア別条件
例えば「Twitter」、「Twitter,Facebook」、「Twitter以外」、「ALL」等
S13:
レコメンド処理部007は、ランキングDB006を参照し、S11で取得した条件ハ)、ニ)、ヘ)及びト)に合致するレコードを取得する。例えば、ハ)期間が「Daily」、ニ)カウント日が「直近」、へ)地域別条件が「日本」、ト)メディア別条件が「Twitter」であった場合、レコメンド処理部007は、図7のランキングDB006から、ランキングID「RK001」「RK002」を含むレコード群を抽出する。ここで、レコメンド処理部007は、ランキングDB006において「地域」又は「メディア」カラムに「All」が定義されている場合、当該レコードは全てのへ)地域別条件又はト)メディア別条件に合致するものとして扱う。また、ランキングDB006において「地域」又は「メディア」カラムに複数の値が定義されている場合、そこにへ)地域別条件又はト)メディア別条件において指定された値が含まれている場合は、合致するものとして扱う。
本実施の形態によれば、レコメンドシステム100は、収集データの地域やメディアと、ユーザの属性とに応じて、レコメンドの生成方法を異ならせることができる。これにより、ユーザの興味に応じたより適切なレコメンドを実施できる。
<実施の形態3>
実施の形態3では、テキストデータの提供元の評価等に応じて、収集したテキストデータの重み付け行う手法を提案する。
例えば、記事001の提供元であるニュースサイト200の信頼度の相違に応じて、取得した記事001の重み付けを変えたいと考えるケースがある。また、ユーザの在住国以外のニュースソースは低く評価したいと考えるケースもある。かかる課題に対処する為、本実施の形態では、テキストデータが収集された地域やメディアにかかる情報を考慮して、単語の重み付けを変動させる構成を提案する。
図12に、本実施の形態において利用される補正テーブルの一例を示す。レコメンドシステム100は、図示しない記憶領域に、カラム「補正ID」「地域」「メディア」「補正カウント倍率」を含むレコードを1以上含むテーブルを有する。「補正ID」はレコードの識別子である。「地域」「メディア」は、収集DB003における「地域」「メディア」と共通する。「補正カウント倍率」は、単語の重み付けを変動させる際の倍率を示している。
図2及び図3のフローチャートを参照して、本実施の形態におけるレコメンドシステム100の動作について説明する。なお、特に言及しないステップに関しては、レコメンドシステム100は実施の形態1と同様に動作するものとする。
S3〜S4:
分析処理部005は、収集DB003のレコードの「テキスト内容」カラムよりテキストデータを取得し、形態素解析を行って得た単語を、同義語DB0042に従って置換する。その後、分析処理部005は、置換後の単語群を、テキストデータの取得元である収集DB003のレコードの「取得時刻」及び「地域」「メディア」カラムの内容と対応付けて保持する。
S5:分析処理部005は、テキストデータから抽出された単語の出現数をカウントするにあたり、まず上記補正テーブルを参照し、カラム「地域」「メディア」の内容が、S4において当該単語に対応付けておいた「地域」「メディア」情報と一致するレコードの有無を確認する。一致するレコードが存在する場合、当該レコードの「補正カウント倍率」の値を取得する。そして分析処理部005は、単語の実際の出現数に、「補正カウント倍率」を乗じた値を、当該単語の出現数として扱い、ランキングDB006に格納する。
本実施の形態によれば、レコメンドシステム100は、テキストデータが収集された地域やメディアにかかる情報を考慮して、単語の重み付けを変動させることができる。これにより、ニュースソースの性質に応じたより適切なレコメンドを行うことができる。
<その他の実施の形態>
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、上述の実施の形態では、本発明を主にハードウェアの構成として説明したが、これに限定されるものではなく、任意の処理を、CPU(Central Processing Unit)にコンピュータプログラムを実行させることにより実現することも可能である。この場合、コンピュータプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non−transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD−ROM(Read Only Memory)、CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(random access memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
100 レコメンドシステム
200 ニュースサイト
300 ECサイト
400 属性情報サイト
001 記事
002 収集処理部
003 収集DB
0041 単語DB
0042 同義語DB
005 分析処理部
006 ランキングDB
007 レコメンド処理部
008 商材DB
009 ECシステム
010 属性DB

Claims (9)

  1. テキストデータを収集する収集処理部と、
    前記テキストデータに含まれる単語のランキングを作成する分析処理部と、
    レコメンド対象のユーザにかかる属性を取得し、前記ランキング及び前記属性に応じて前記単語を取捨選択し、取捨選択された前記単語に関連付けられた商材を提示するレコメンド処理部と、を含み、
    前記レコメンド処理部はさらに、前記属性に基づいてレコメンドを禁止すべき商材を特定し、前記禁止すべき商材を提示させない又は提示を抑制する制御を行う
    レコメンドシステム。
  2. 前記レコメンド処理部はさらに、前記属性に基づいてレコメンドを許可すべき商材を特定し、前記許可すべき商材を提示させ又は提示を促進する制御を行う
    請求項1載のレコメンドシステム。
  3. 前記レコメンド処理部は、前記テキストデータが収集された地域又はメディア、前記ランキング及び前記属性に応じて前記単語を取捨選択し、取捨選択された前記単語に関連付けられた商材を提示する
    請求項1又は2記載のレコメンドシステム。
  4. 前記分析処理部は、前記テキストデータを形態素解析して得られた単語群に含まれる各単語に、前記テキストデータが収集された地域又はメディアを対応付け、
    前記レコメンド処理部は、
    前記レコメンド対象の地域又はメディアをさらに取得し、
    記単語を取捨選択する際に、前記取得した地域又はメディアに対応付けられたものを取捨選択す
    請求項1乃至いずれか1項記載のレコメンドシステム。
  5. 前記分析処理部は、前記語群に含まれる各単語の出現数をカウントすることにより、前記ランキングを作成する
    請求項記載のレコメンドシステム。
  6. 前記分析処理部は、複数の集計期間夫々における前記単語の出現数の変動に基づいて、前記ランキングを作成する
    請求項記載のレコメンドシステム。
  7. 前記分析処理部は、複数の集計期間夫々における前記単語の出現数の変動を所定の分布に従って変換することにより、前記ランキングを作成する
    請求項記載のレコメンドシステム。
  8. コンピュータが備える制御装置が、
    テキストデータを収集する収集処理ステップと、
    前記テキストデータに含まれる単語のランキングを作成する分析処理ステップと、
    レコメンド対象のユーザにかかる属性を取得し、前記ランキング及び前記属性に応じて前記単語を取捨選択し、取捨選択された前記単語に関連付けられた商材を提示するレコメンド処理ステップと、を実行し、
    前記レコメンド処理ステップは、さらに、前記属性に基づいてレコメンドを禁止すべき商材を特定し、前記禁止すべき商材を提示させない又は提示を抑制する制御を行うことを含む
    レコメンド方法。
  9. テキストデータを収集する収集処理ステップと、
    前記テキストデータに含まれる単語のランキングを作成する分析処理ステップと、
    レコメンド対象のユーザにかかる属性を取得し、前記ランキング及び前記属性に応じて前記単語を取捨選択し、取捨選択された前記単語に関連付けられた商材を提示するレコメンド処理ステップと、を
    コンピュータに、行させ
    前記レコメンド処理ステップは、さらに、前記属性に基づいてレコメンドを禁止すべき商材を特定し、前記禁止すべき商材を提示させない又は提示を抑制する制御を行うことを含む、プログラム。
JP2014126352A 2014-06-19 2014-06-19 レコメンドシステム、レコメンド方法及びプログラム Active JP6446851B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014126352A JP6446851B2 (ja) 2014-06-19 2014-06-19 レコメンドシステム、レコメンド方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014126352A JP6446851B2 (ja) 2014-06-19 2014-06-19 レコメンドシステム、レコメンド方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2016004529A JP2016004529A (ja) 2016-01-12
JP6446851B2 true JP6446851B2 (ja) 2019-01-09

Family

ID=55223731

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014126352A Active JP6446851B2 (ja) 2014-06-19 2014-06-19 レコメンドシステム、レコメンド方法及びプログラム

Country Status (1)

Country Link
JP (1) JP6446851B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102207929B1 (ko) * 2018-05-04 2021-01-25 이청종 공급자와 판매자간 전자 상거래 중계 시스템
KR102173527B1 (ko) * 2018-12-04 2020-11-03 네이버 주식회사 급상승 음원 차트를 제공하는 방법 및 시스템

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003281443A (ja) * 2002-03-26 2003-10-03 Fujitsu Ltd コンテンツ送信方法
JP2008293211A (ja) * 2007-05-23 2008-12-04 Hitachi Ltd アイテム推薦システム
JP4859892B2 (ja) * 2008-08-12 2012-01-25 ヤフー株式会社 商品広告配信装置、商品広告配信方法、及び商品広告配信制御プログラム

Also Published As

Publication number Publication date
JP2016004529A (ja) 2016-01-12

Similar Documents

Publication Publication Date Title
US9400831B2 (en) Providing information recommendations based on determined user groups
US8935713B1 (en) Determining audience members associated with a set of videos
US10529031B2 (en) Method and systems of implementing a ranked health-content article feed
KR20160083017A (ko) 소셜 데이터 네트워크에서 인플루언서들 및 그들의 커뮤니티를 식별하기 위한 시스템 및 방법
WO2014180196A1 (zh) 信息推荐处理方法及装置
JP6405704B2 (ja) 情報処理装置、情報処理方法、及び、プログラム
CN111899047A (zh) 资源推荐方法、装置、计算机设备及计算机可读存储介质
JP6018338B1 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
JP6859621B2 (ja) サーバ装置、表示システム、制御方法及びプログラム
JP2018045553A (ja) 選択装置、選択方法および選択プログラム
JP2013077056A (ja) アプリケーション推薦装置及びアプリケーション推薦方法
JP6698730B2 (ja) 抽出装置、抽出方法及び抽出プログラム
JP5813052B2 (ja) 情報処理装置、方法及びプログラム
US10331713B1 (en) User activity analysis using word clouds
JP6446851B2 (ja) レコメンドシステム、レコメンド方法及びプログラム
JP2015022551A (ja) 端末装置およびプログラム
JP6414192B2 (ja) 情報処理装置、情報処理方法、情報処理プログラム
JP6311052B1 (ja) 抽出装置、抽出方法及び抽出プログラム
JP6060833B2 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
JP5846033B2 (ja) 情報処理装置、端末装置、情報処理方法、表示方法、情報処理プログラム、及び表示プログラム
KR101990502B1 (ko) 범용화된 정보 추출 방법 및 이를 적용한 디바이스
JP6373767B2 (ja) 話題語ランキング装置、話題語ランキング方法、およびプログラム
JP5824601B1 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
JP5370351B2 (ja) 情報処理方法、情報処理装置、及び情報処理プログラム
JP6362577B2 (ja) 情報処理装置及び表示記事選択システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170512

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180309

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180508

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180704

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: 20181106

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181119

R150 Certificate of patent or registration of utility model

Ref document number: 6446851

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150