JP6478734B2 - アイテム推薦装置、アイテム推薦方法およびプログラム - Google Patents

アイテム推薦装置、アイテム推薦方法およびプログラム Download PDF

Info

Publication number
JP6478734B2
JP6478734B2 JP2015050664A JP2015050664A JP6478734B2 JP 6478734 B2 JP6478734 B2 JP 6478734B2 JP 2015050664 A JP2015050664 A JP 2015050664A JP 2015050664 A JP2015050664 A JP 2015050664A JP 6478734 B2 JP6478734 B2 JP 6478734B2
Authority
JP
Japan
Prior art keywords
information
search
context
tag
user
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
JP2015050664A
Other languages
English (en)
Other versions
JP2016091535A (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.)
Toshiba Corp
Toshiba Digital Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Digital Solutions 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 Toshiba Corp, Toshiba Digital Solutions Corp filed Critical Toshiba Corp
Priority to US14/926,219 priority Critical patent/US10089364B2/en
Priority to CN201510724756.5A priority patent/CN105574067B/zh
Publication of JP2016091535A publication Critical patent/JP2016091535A/ja
Application granted granted Critical
Publication of JP6478734B2 publication Critical patent/JP6478734B2/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

本発明の実施形態は、アイテム推薦装置、アイテム推薦方法およびプログラムに関する。
ユーザが関心を寄せることが期待されるアイテムを推薦する技術は、例えば、電子商取引(EC:Electronic Commerce)、ネット広告、行動案内サービスなどの様々な分野で広く利用されている。アイテム推薦において最も広く用いられる処理方式は、ユーザとアイテムの相関関係(もしくはユーザのアイテムへの関心の度合い)を示す行列を生成し、この行列を元に統計分析を行う方式である。しかしこの方式では、ユーザのアイテムへの興味やニーズが文脈によって変化する点が考慮されていない。そこで、近年では、例えばレストラン推薦タスクを対象に、時間帯、機会(祝日、誕生日、記念日など)、場所、同伴者などの文脈情報を追加的に用いる方式が提案されている。
文脈情報を用いてアイテムの推薦を行う従来の方式では、利用可能な文脈情報が、外部から容易に観測可能な情報に限られていた。しかし、これら外部から観測可能な文脈情報以外にも、ユーザの活動目的や気分など、ユーザに意図を聞かないと分からない内面的な情報も、アイテムの推薦処理を行う上で有用と思われる。このため、内面的な情報を推定してアイテムの推薦をより精度よく行うことができる仕組みの構築が求められている。
Contextual recommendation based on text mining,Li,Yize,et al.Proceedings of the 23rd International Conference on Computational Linguistics:Posters.Association for Computational Linguistics,2010.
本発明が解決しようとする課題は、内面的な情報を推定してアイテムの推薦をより精度よく行うことができるアイテム推薦装置、アイテム推薦方法およびプログラムを提供することである。
実施形態のアイテム推薦装置は、検索情報生成部と、候補抽出部と、文脈情報生成部と、順位付け部と、を備える。検索情報生成部は、入力された自然言語要求を意味解析して、アイテムの情報を蓄積する蓄積部に対する検索に用いる検索情報を生成する。候補抽出部は、前記検索情報を用いて前記蓄積部に対する検索を行って、ユーザに提示するアイテムの候補を抽出する。文脈情報生成部は、前記自然言語要求を意味解析して、ユーザの意図を含む文脈情報を生成して出力する。順位付け部は、前記文脈情報と、ユーザの属性を表すユーザ情報と、ユーザのアイテム利用履歴を表す履歴情報とに基づいて、抽出された前記候補に対する順位付けを行う。前記文脈情報生成部は、前記自然言語要求に対して、統計的意味解析を用いて該自然言語要求のテキスト全体の意味を示す特徴ベクトルを生成し、該特徴ベクトルを前記文脈情報として出力する。
図1は、第1実施形態のアイテム推薦装置の構成例を示すブロック図である。 図2は、店舗DBのデータ構造の一例を示す図である。 図3は、検索タグの一例を示す図である。 図4は、検索タグ辞書のデータ構造の一例を示す図である。 図5は、自然言語要求から検索タグ群を生成する処理手順の一例を示すフローチャートである。 図6は、検索タグ群から候補アイテム群を生成する処理手順の一例を示すフローチャートである。 図7は、文脈タグの一例を示す図である。 図8は、文脈タグ辞書のデータ構造の一例を示す図である。 図9は、自然言語要求から文脈タグ群を生成する処理手順の一例を示すフローチャートである。 図10は、ユーザDBのデータ構造の一例を示す図である。 図11は、利用ログDBのデータ構造の一例を示す図である。 図12は、予測処理の処理手順の一例を示すフローチャートである。 図13は、第2実施形態のアイテム推薦装置の構成例を示すブロック図である。 図14は、利用ログDBのデータ構造の一例を示す図である。 図15は、文脈ベクトル生成のための統計処理で用いる数理モデルを説明する図である。 図16は、図15の数理モデルにおける各種パラメタの学習方法を説明する図である。 図17は、各種パラメタの学習処理の処理手順の一例を示すフローチャートである。 図18は、文脈ベクトルを生成する処理手順の一例を示すフローチャートである。 図19は、第3実施形態のアイテム推薦装置の構成例を示すブロック図である。 図20は、人物属性推定器による処理手順の一例を示すフローチャートである。 図21は、アイテム推薦装置のハードウェア構成の一例を概略的に示すブロック図である。
以下、実施形態のアイテム推薦装置、アイテム推薦方法およびプログラムを、図面を参照して詳細に説明する。
実施形態のアイテム推薦装置は、意味解析エンジンと文脈認識型推薦エンジンとを備える。意味解析エンジンは、ユーザから入力された自然言語要求を元に、気分、要望、目的など、ユーザの内面的な情報を推定する。文脈認識型推薦エンジンは、文脈情報として、外部観測情報(日時、場所など)に加えて、これら内面的情報を併せて分析を行う。自然言語要求は、自然言語によるアイテムの推薦要求である。近年では、音声認識技術の成熟、携帯端末の普及などを背景に、システムやサービスへの対話処理の導入が広がっており、自然言語による要求の入力がユーザに受け入れられやすい土壌になってきている。
以下の実施形態では、本発明の適用事例として、アイテムとして店舗を推薦する店舗推薦タスクを想定する。実施形態のアイテム推薦装置は、自然言語要求を入力として受理し、順位付けされた店舗リストを推薦アイテムリストとして出力する。またバックデータとして、ユーザ群の各店舗への利用ログを格納した利用ログDBを保持しているとする。ただし、本実施形態で説明する推薦処理は汎用的であり、店舗推薦タスクの適用事例に限定されるものではなく様々なタスクに適用できる。
以下に具体的な適用事例を示す。実施形態のアイテム推薦装置では、例えば「来週末、同期の送別会を開こうと思っています」という目的を主体とした自然言語要求が入力されたときに、以下の処理が行われる。
「送別会」というキーワードから、推薦候補は、店舗カテゴリが居酒屋、バー、レストラン、カフェ、花屋(プレゼント購入用)である店舗に絞られる。
「週末」というキーワードから、推薦候補は、週末にオープンしている店舗に絞られる。
「送別会」というキーワードは、予め用意されたタグ辞書と照合され、「宴会」というタグが生成される。
「同期」というキーワードは、予め用意されたタグ辞書と照合され、「同僚」というタグが生成される。
送別会および週末によって絞られた推薦候補のうち、「宴会」および「同僚」というタグと共起しやすい店舗(すなわち、実績として同僚の宴会として多く利用された店舗)を重視しつつ、利用ログを元に推薦店舗の候補を順位付けして推薦アイテムリストを出力する。
これにより、絞込処理によって意図に合う可能性のない店舗が排除され、さらにタグによって、意図に合う可能性の高い店舗が優先される、という条件下で、ユーザの嗜好性に適合する推薦結果が出力される。
<第1実施形態>
図1は、第1実施形態のアイテム推薦装置の構成例を示すブロック図である。本実施形態のアイテム推薦装置は、図1に示すように、意味解析エンジン10と、文脈認識型推薦エンジン20と、を備える。
意味解析エンジン10は、ユーザ要望などが含まれる自然言語要求D1を入力として受け取り、検索タグ群D2と文脈タグ群D4とを出力する。検索タグ群D2に含まれる各検索タグは、店舗が満たすべき性質を説明する問合せ情報片である。文脈タグ群D4に含まれる各文脈タグは、ユーザ側の状況を説明する問合せ情報片である。意味解析エンジン10は、これらのタグを生成するために、形態素解析器11、検索タグ抽出器12(検索情報生成部)、および文脈タグ生成器13(文脈情報生成部)を内部に備える。
文脈認識型推薦エンジン20は、意味解析エンジン10により生成された検索タグ群D2および文脈タグ群D4を入力として受け取り、推薦アイテムリストD5を推薦結果として出力する。検索タグ群D2は、店舗への制約条件として店舗DB103と照合されて、絞り込まれた候補アイテム群D3が生成される。文脈タグ群D4は、ユーザDB104に格納されたユーザ情報、および利用ログDB105に格納された利用ログと併せて、候補アイテム群D3に含まれる各候補アイテムの順位付けに利用される。順位付けされた候補アイテムのリストが、推薦アイテムリストD5である。文脈認識型推薦エンジン20は、これらの処理を行うために、候補抽出器21(候補抽出部)および順位付け器22(順位付け部)を内部に備える。
以下では、本実施形態のアイテム推薦装置による処理の詳細を、「店舗絞込処理」、「文脈タグ群の生成処理」、および「推薦処理」の3つに分けて説明する。これらの処理は、モジュール横断で実行される。
(店舗絞込処理)
店舗絞込処理とは、入力されたユーザ要望表現を含む自然言語要求D1を元に、推薦候補となる店舗(候補アイテム)を絞り込む処理である。自然言語要求D1に店舗名が含まれていた場合は、推薦候補はその店舗名で絞り込まれる。自然言語要求D1に店舗カテゴリ名が含まれていた場合は、推薦候補はその店舗カテゴリ名で絞り込まれる。その他、自然言語要求D1に“安い”、“食べ放題あり”など、店舗の属性を表す表現が含まれていた場合は、推薦候補はその属性で絞り込まれる。
店舗DB103は、本実施形態のアイテム推薦装置が扱う全店舗の店舗情報を格納するデータベースであり、この店舗DB103に格納された店舗情報が店舗絞込処理の対象である。店舗DB103のデータ構造の一例を図2に示す。店舗DB103に格納された店舗情報は、例えば図2に示すような表形式となっており、各レコードは店舗ID、店舗名、カテゴリ名、および他属性のカラムを含む。
店舗IDカラムには、ユニークな通し番号が振られている。店舗名カラムには、本実施形態のアイテム推薦装置が扱う全店舗の店舗名が格納されている。カテゴリ名カラムには、居酒屋、カフェなど、予め定められたカテゴリの中のいずれかのカテゴリが格納されている。他属性カラムは、マルチラベル形式となっており、安い、食べ放題ありなど、店舗の特徴を表す予め定められた他属性のラベルの中から0個以上のラベルが列挙されている。他属性のラベルとしては、サービス内容、商品特徴、雰囲気など、様々な観点でのラベルを用意することが望ましい。
自然言語要求D1から検索タグ群D2を生成する処理について説明する。本実施形態のアイテム推薦装置が扱う検索タグの一例を図3に示す。検索タグは、図3に示すように、店舗名に関するタグ、カテゴリ名に関するタグ、および他属性に関するタグを含む。
ここで、検索タグ群D2を生成する処理の中で用いる検索タグ辞書101について説明する。検索タグ辞書101は、入力される自然言語要求D1において、異なる言い回しや、異なる観点に基づく言及の仕方の違いを吸収する知識源として利用される。これにより、ユーザの要求表現において直接的な言及が無くても、その意図を汲み取って対象店舗を絞り込む効果を得ることができる。
検索タグ辞書101のデータ構造を図4に示す。検索タグ辞書101は、例えば図4に示すような表形式となっており、各レコードは検索タグ、適用先属性、およびトリガワードのカラムを含む。
検索タグカラムは、レコードごとにユニークであり、本実施形態のアイテム推薦装置が扱う検索タグが格納されている。ただし、必ずしもすべての検索タグを格納しなくてもよい。適用先属性カラムは、検索タグが制約を課す対象となるカラム名が格納されている。例えば、検索タグが居酒屋のようなカテゴリ名を示しているレコードの場合、当該レコードの適用先属性カラムには“カテゴリ名”という値が格納される。トリガワードカラムは、マルチラベル形式となっており、検索タグ生成のトリガとなる単語やフレーズなどの語句(以下、「トリガワード」と呼ぶ。)が列挙されている。検索タグ群D2を生成する処理において図4に例示した検索タグ辞書101を用いることにより、“酒”、“飲み会”、“食事”といったトリガワードが含まれた自然言語要求D1に対して、“居酒屋”という検索タグを生成し、カテゴリ名への制約条件とした店舗絞込みを行う。
図5は、自然言語要求D1から検索タグ群D2を生成する処理手順の一例を示すフローチャートである。本実施形態のアイテム推薦装置は、以下のステップS101〜ステップS109の処理により、自然言語要求D1から検索タグ群D2を生成する。
ステップS101:形態素解析器11は、自然言語要求D1を単語またはフレーズに分割してLemmatize(辞書見出し語化)を行う。
ステップS102:検索タグ抽出器12は、ステップS101で得られた単語またはフレーズ群から、単語またはフレーズを1つ取り出す。
ステップS103:検索タグ抽出器12は、ステップS102で取り出した単語またはフレーズが検索タグであるか否かを判定する。そして、判定の結果がYesであればステップS104に進み、NoであればステップS105に進む。
ステップS104:検索タグ抽出器12は、ステップS102で取り出した単語またはフレーズに一致する検索タグと当該検索タグに対応する適用先属性とのペアを出力バッファに追加し、ステップS108に進む。
ステップS105:検索タグ抽出器12は、ステップS102で取り出した単語またはフレーズがトリガワードであるか否かを判定する。そして、判定の結果がYesであればステップS106に進み、NoであればステップS108に進む。
ステップS106:検索タグ抽出器12は、ステップS102で取り出した単語またはフレーズに一致するトリガワードを、当該トリガワードに対応する検索タグに変換する。
ステップS107:検索タグ抽出器12は、ステップS106でトリガワードから変換した検索タグと当該検索タグに対応する適用先属性とのペアを出力バッファに追加する。
ステップS108:検索タグ抽出器12は、ステップS101で得られた単語またはフレーズ群に含まれるすべての単語またはフレーズを取り出したか否かを判定する。そして、判定の結果がYesであればステップS109に進み、NoであればステップS102に戻る。
ステップS109:検索タグ抽出器12は、出力バッファ内の検索タグと適用先属性のペアをすべて出力し、一連の処理を終了する。このステップS109で出力される検索タグと適用先属性のペアの集合が、検索タグ群D2である。
次に、検索タグ群D2から候補アイテム群D3を生成する処理について説明する。図6は、検索タグ群D2から候補アイテム群D3を生成する処理手順の一例を示すフローチャートである。本実施形態のアイテム推薦装置は、以下のステップS201〜ステップS204の処理により、検索タグ群D2から候補アイテム群D3を生成する。
ステップS201:候補抽出器21は、検索タグ群D2に含まれる検索タグのうち、適用先属性が店舗名またはカテゴリ名の検索タグに対し、適用先属性のカラム値が検索タグと厳密一致するという条件を生成する。
ステップS202:候補抽出器21は、検索タグ群D2に含まれる検索タグのうち、適用先属性が他属性の検索タグに対し、他属性が当該検索タグを含んでいるという条件を生成する。
ステップS203:候補抽出器21は、ステップS201およびステップS202で生成された条件群をANDでつなぐ。
ステップS204:候補抽出器21は、ステップS203で生成された条件を元に店舗DB103に対する検索を行い、得られた店舗レコード群を候補アイテム群D3として出力して、一連の処理を終了する。
(文脈タグ群の生成処理)
文脈タグ群の処理とは、入力されたユーザ要望表現を含む自然言語要求D1を元に、ユーザの内面的な情報を含む文脈情報としての文脈タグ群D4を生成する処理である。
本実施形態のアイテム推薦装置が扱う文脈タグの一例を図7に示す。文脈タグは、前述の通り、ユーザ側の状況を説明する問合せ情報片である。本実施形態における文脈タグは、図7に示すように、シーンに関するタグ、同伴者に関するタグ、目的に関するタグ、状況に関するタグ、および時間帯に関するタグを含む。
ここで、文脈タグ群D4を生成する処理の中で用いる文脈タグ辞書102について説明する。文脈タグ辞書102は、入力される自然言語要求D1において、異なる言い回しや、異なる観点に基づく言及の仕方の違いを吸収する知識源として利用される。これにより、ユーザの要求表現において直接的な言及が無くても、その意図を汲み取り、予め定められた文脈タグのうち、対応する1つ以上の文脈タグを出力することができる。
文脈タグ辞書102のデータ構造を図8に示す。文脈タグ辞書102は、例えば図8に示すような表形式となっており、各レコードは文脈タグおよびトリガワードのカラムを含む。
文脈タグカラムは、レコードごとにユニークであり、本実施形態のアイテム推薦装置が扱う文脈タグが格納されている。ただし、必ずしもすべての文脈タグを格納しなくてもよい。トリガワードカラムは、マルチラベル形式となっており、文脈タグ生成のトリガとなるトリガワードが列挙されている。文脈タグ群D4を生成する処理において図8に例示した文脈タグ辞書102を用いることにより、“忘年会”、“懇親会”、“レク”、“飲み会”、“送別会”といったトリガワードが含まれた自然言語要求D1に対して、“宴会”という文脈タグを生成する。
図9は、自然言語要求D1から文脈タグ群D4を生成する処理手順の一例を示すフローチャートである。本実施形態のアイテム推薦装置は、以下のステップS301〜ステップS309の処理により、自然言語要求D1から文脈タグ群D4を生成する。
ステップS301:形態素解析器11は、自然言語要求D1を単語またはフレーズに分割してLemmatize(辞書見出し語化)を行う。
ステップS302:文脈タグ生成器13は、ステップS301で得られた単語またはフレーズ群から、単語またはフレーズを1つ取り出す。
ステップS303:文脈タグ生成器13は、ステップS302で取り出した単語またはフレーズが文脈タグであるか否かを判定する。そして、判定の結果がYesであればステップS304に進み、NoであればステップS305に進む。
ステップS304:文脈タグ生成器13は、ステップS302で取り出した単語またはフレーズに一致する文脈タグを出力バッファに追加し、ステップS308に進む。
ステップS305:文脈タグ生成器13は、ステップS302で取り出した単語またはフレーズがトリガワードであるか否かを判定する。そして、判定の結果がYesであればステップS306に進み、NoであればステップS308に進む。
ステップS306:文脈タグ生成器13は、ステップS302で取り出した単語またはフレーズに一致するトリガワードを、当該トリガワードに対応する文脈タグに変換する。
ステップS307:文脈タグ生成器13は、ステップS306でトリガワードから変換した文脈タグを出力バッファに追加する。
ステップS308:文脈タグ生成器13は、ステップS301で得られた単語またはフレーズ群に含まれるすべての単語またはフレーズを取り出したか否かを判定する。そして、判定の結果がYesであればステップS309に進み、NoであればステップS302に戻る。
ステップS309:文脈タグ生成器13は、出力バッファ内の文脈タグをすべて出力し、一連の処理を終了する。このステップS309で出力される文脈タグの集合が、文脈タグ群D4である。
(推薦処理)
本実施形態のアイテム推薦装置では、文脈タグ群D4、ユーザDB104に格納されたユーザ情報、および利用ログDB105に格納された利用ログに基づき、文脈認識型推薦エンジン20の順位付け器22において、候補アイテム群D3に含まれる候補アイテムの順位付けを行って、その結果を推薦アイテムリストD5として出力する。順位付け器22における候補アイテムの順位付けは、機械学習による学習処理および予測処理により行われる。この学習処理および予測処理には、例えば、非特許文献1に記載されている確率的潜在関係モデル(Probabilistic Latent Relational Model)を用いることができる。ただし、文脈情報を扱うことが可能な他の手法を用いてもよい。
アルゴリズム説明に先立ち、文脈認識型推薦エンジン20の順位付け器22において用いられるユーザDB104および利用ログDB105について説明する。
ユーザDB104は、本実施形態のアイテム推薦装置が扱う全登録ユーザについて、ユーザの属性を表すユーザ情報を格納するデータベースである。ユーザDB104のデータ構造の一例を図10に示す。ユーザDB104に格納されるユーザ情報は、例えば図10に示すような表形式となっており、各レコードはユーザID、氏名、年代、および性別のカラムを含む。ただし、例えば職業、好きな音楽ジャンルなど、推薦を行う上で役立つ任意のカラムを追加してもよい。
ユーザIDカラムには、ユニークな通し番号が振られている。氏名カラムには、各登録ユーザの氏名が格納されている。年代カラムには、各登録ユーザの年代(10代、20代、30代など)が格納されている。性別カラムには、各登録ユーザの性別が格納されている。
利用ログDB105は、各登録ユーザの過去の店舗利用履歴を表す利用ログ(履歴情報)を格納するデータベースである。利用ログDB105のデータ構造の一例を図11に示す。利用ログDB105に格納される利用ログは、例えば図11に示すような表形式となっており、各レコードはユーザID、店舗ID、時間帯、文脈タグ、レーティング値のカラムを含む。
各レコードはユーザの店舗訪問1回に対応しており、ユーザIDカラム、店舗IDカラム、時間帯カラムにはそれぞれ、訪問したユーザのユーザID、訪問先の店舗の店舗ID、訪問時間帯を示す情報が格納されている。文脈タグカラムは、店舗訪問前に本実施形態のアイテム推薦装置に対して自然言語要求D1によってアイテムの推薦要求を行っていた場合にのみ、値が格納されるカラムであり、そのときの処理で用いた文脈タグが格納される。レーティング値カラムは、店舗訪問後にユーザに入力させた店舗への評価値であるレーティング値が格納される。ここでは、レーティング値は0〜5の整数値を取り、5が最良とする。ユーザにレーティング値を入力させるのが困難な場合は、例えば5などの固定値を入れることで代替してもよい。この場合、ユーザが訪問した店舗には5、訪問していない店舗には0、というレーティング値を与えることと同等となる。
アルゴリズム説明に先立ち、文脈認識型推薦エンジン20の順位付け器22内部で用いる確率モデルについて説明する。この確率モデルは、非特許文献1に記載の確率的潜在関係モデル(Probabilistic Latent Relational Model)に基づくものである。文脈適合性とユーザ嗜好性とをバランスよく反映するモデルとなっている。
下記式(1)および式(2)は、対象となるユーザ、文脈、および店舗が与えられたときのレーティング値の確率分布をモデル化したものである。
Figure 0006478734
式(2)の右辺第1項は、ユーザの店舗への長期的嗜好性をモデル化しており、式(2)の右辺第2項は、当該ユーザの現文脈への適合性(短期的嗜好性)をモデル化している。両者の和を目的関数としているため、両者をバランスよく反映した推薦モデルが学習される。式(1)および式(2)の変数のうち、データセットから与えられる変数は、yi,j,c、f、およびfであり、それ以外の変数の値または確率分布は、学習によって決定される。
ユーザの潜在特徴ベクトルuとは、例えば、辛い食べ物を扱うレストランが好き、高級なアクセサリ店が好きなど、データセットに基づく学習結果から決定されるユーザの嗜好性を示すベクトルである。店舗の潜在特徴ベクトルvも同様である。f、fは、予め与えられた特徴ベクトルの設計と観測された事実に基づいて要素値が決定的に与えられるのに対し、u、uは、予め与えられるのは次元数のみである点が異なる。
式(2)は、式(1)をユーザおよび店舗の潜在特徴の分布で周辺化したものである。
次に、各種パラメタの学習アルゴリズムについて説明する。ただし、アルゴリズムには、非特許文献1に記載の方法を用いるものとする。
学習処理における数理上の目的は、上記式(1)および式(2)で算出される、利用ログDB105内の全事例群(各レコードを事例とする。)の同時確率を最大化するようなuの確率分布、vの確率分布、行列A、および行列Wを求めることである。
まず準備として、各レコードごとに上記式(1)および式(2)の以下の変数に値を割り当てる。
λ(y):適当な値を与える(超パラメタ)
i,j,c:ユーザi、店舗j、および文脈タグ群cが与えられた時のレーティング値
:ユーザiと自然言語要求内の文脈タグに関して抽出した(顕在的)特徴ベクトル
:店舗jに関して抽出した(顕在的)特徴ベクトル
i,j,cには、利用ログDB105のレーティング値カラムの値をそのまま与える。fには、予め設計された特徴ベクトルの構成に従って、ベクトルの要素値を与える。ただし、ベクトルを生成する上での材料として、ユーザDB104に格納された該当ユーザの各種属性、および利用ログDB105に格納された当該レコードの時間帯および文脈タグを用いるとし、各特徴ベクトルの要素値は該当するかどうかの二値を取る。fも同様であり、材料には、店舗DB103に格納された該当店舗の各種属性を用いる。以上により定式化された各レコードのyi,j,cの確率を全レコードについて積算したものが全事例の同時確率である。以上により、データセットを反映した問題定式化が完成した。
続いて、uの確率分布、vの確率分布、行列A、および行列Wに関する求解の手順を簡単に説明する。まず、このままでは解くことが困難であるため、uおよびvの確率分布は、平均:0、精度:λ(u)およびλ(v)のガウス分布に従うと仮定する。これにより求解すべき変数は、λ(u)、λ(v)、行列A、および行列Wに変わる。
λ(u)およびλ(v)と、行列Aおよび行列Wについて、EMアルゴリズムを用いて、一方を固定し他方を最適化することを交替に行う。具体的には、E−Stepでは、行列Aおよび行列Wを現在値に固定して、λ(u)およびλ(v)を変分ベイズを用いて最適化する。続いてM−Stepでは、λ(u)およびλ(v)を現在値に固定して、行列Aと行列Wを最急降下法を用いて最適化する。以上のE−StepとM−Stepを収束するまで繰り返す。以上が学習アルゴリズムである。
次に、各種パラメタの予測アルゴリズムについて説明する。予測処理には下記式(3)を用いる。まず基本方針を説明する。
Figure 0006478734
まず準備として、学習処理によって獲得済のλ(u)、λ(v)λ、行列A、および行列Wを式(3)に当てはめる。続いて、ユーザDB104に格納された現在ユーザの各種属性、および利用ログDB105内に格納された当該レコードの文脈タグ群D4を元に、特徴ベクトルfを生成する。これらを式(3)に当てはめる。この段階で、未設定な変数はfのみである。最後に、店舗DB103に格納された各店舗について、店舗の属性から生成した特徴ベクトルfを順に式(3)に適用し、これによって完成した数式を用いてレーティング予測値を求めた上で、店舗群をレーティングの高い順にソートして出力する。これが推薦アイテムリストD5である。
図12は、予測処理の処理手順の一例を示すフローチャートである。文脈認識型推薦エンジン20の順位付け器22は、以下のステップS401〜ステップS407の処理により、推薦アイテムリストD5を生成して出力する。
ステップS401:順位付け器22は、学習処理によって獲得済のλ(u)、λ(v)、行列A、および行列Wを上記式(3)に当てはめる。
ステップS402:順位付け器22は、ユーザDB104に格納された現在ユーザの各種属性と利用ログDB105内に格納された当該レコードの文脈タグ群D4を元に、特徴ベクトルfを生成し、上記式(3)に当てはめる。
ステップS403:順位付け器22は、店舗DB103から店舗を順に1つ取り出す。
ステップS404:順位付け器22は、ステップS403で取り出した店舗の属性から特徴ベクトルfを生成し、上記式(3)に当てはめる。
ステップS405:順位付け器22は、上記式(3)を計算してレーティング予測値を求め、店舗情報と関連付けて出力用バッファに登録する。
ステップS406:順位付け器22は、店舗DB103から店舗をすべて取り出したか否かを判定する。そして、判定の結果がYesであればステップS407に進み、NoであればステップS403に戻る。
ステップS407:順位付け器22は、出力用バッファに格納された店舗情報をレーティング予測値で降順ソートし、上位k個の店舗情報を推薦アイテムリストD5として出力して、一連の処理を終了する。なお、kは予め定められた定数である。
以上により、自然言語要求D1によって与えられた内面的な文脈情報と、ユーザと店舗の利用履歴から割り出される嗜好性とを反映した、ランキングつきの推薦アイテムリストD5が得られる。なお、この推薦アイテムリストD5を用いて画面などに表示する方法については任意であるため、ここでは説明を省略する。
以上、具体的な例を挙げながら詳細に説明したように、本実施形態のアイテム推薦装置によれば、外部から観測可能な文脈情報だけでなく、自然言語要求D1から推定される内面的な情報も利用して、アイテムの推薦をより精度よく行うことができる。
なお、上述した実施形態では、候補抽出器21が検索タグ群D2を用いて候補アイテムとなる店舗の絞り込みを行った上で、順位付け器22が候補アイテム群D3に対する順位付けを行う構成としているが、これに限らない。例えば、順位付け器22が検索タグ群D2を用いた候補アイテムの絞り込みと順位付けを併せて行う構成としてもよいし、順位付け器22による順位付けを行った後に、検索タグ群D2に基づく候補アイテムの絞り込みを行う構成としてもよい。
<第2実施形態>
次に、第2実施形態のアイテム推薦装置について説明する。本実施形態のアイテム推薦装置は、第1実施形態のアイテム推薦装置の意味解析エンジン10による文脈タグ生成処理を統計ベースに置き換えたものである。以下、第1実施形態との差分について説明する。
図13は、第2実施形態のアイテム推薦装置の構成例を示すブロック図である。本実施形態のアイテム推薦装置は、図13に示すように、意味解析エンジン10Aと、文脈認識型推薦エンジン20Aと、を備える。意味解析エンジン10Aの内部には、第1実施形態で説明した形態素解析器11に代えて形態素解析および構文解析器14、文脈タグ生成器13に代えて文脈ベクトル生成器15がそれぞれ設けられている。また、文脈認識型推薦エンジン20Aの内部には、第1実施形態で説明した順位付け器22に代えて順位付け器22Aが設けられている。順位付け器22Aは、第1実施形態で説明した文脈タグ群D4に代えて文脈ベクトルD6、利用ログDB105に代えて利用ログDB105Aをそれぞれ用いるが、学習および予測の処理自体は第1実施形態の順位付け器22と同様である。
図14は、本実施形態の学習処理および予測処理で用いられる利用ログDB105Aのデータ構造の一例を示す図である。本実施形態で用いる利用ログDB105Aは、図11に示した第1実施形態の利用ログDB105の文脈タグカラムを、文脈ベクトルカラムに置き換えたものである。文脈ベクトルカラムは、店舗訪問前に本実施形態のアイテム推薦装置に対して自然言語要求D1によってアイテムの推薦要求を行っていた場合にのみ、値が格納されるカラムであり、そのときの処理で用いた文脈ベクトルが格納される。
第1実施形態の文脈タグ生成器13は、文脈タグ辞書102と呼ばれるルール群を用いて、自然言語要求D1に含まれる任意の語句を文脈タグにマッピングする処理を行っている。文脈タグは、文脈認識型推薦エンジン20において文脈を表すベクトルとして用いられる。従って、以上の処理は、任意の語句から特定次元数の文脈ベクトルを生成する処理であるとも換言できる。
本実施形態の文脈タグ生成器13も同様に、自然言語要求D1に含まれる任意の語句から特定次元数の文脈ベクトルD6を生成する処理を行う。処理上の違いは、前処理として形態素解析だけでなく構文解析も行う点、文脈ベクトルD6の生成に後述するMatrix−Vector RNNsと呼ばれる統計的手法を用いる点、出力されるベクトルは二値ベクトルではなく実数ベクトルとなる点のみである。
効果に影響する違いは、事前に文脈タグ辞書102のようなルールを生成する必要が無い(その代わりに、文脈ベクトルD6の次元数のみを外部から与える)点である。ユーザのニーズは計り知れず、ユーザのニーズをあまねくカバーしたルールを書き下すことは基本的に困難であるため、ルールの生成から解放されることは利点となる。ただし、特定の観点に関して推薦処理を制御することは、第1実施形態ではルールを記述するだけで対応可能であるが、本実施形態では困難である。
ここで、文脈ベクトルD6生成のための統計処理で用いる数理モデルについて説明する。ただし、当該モデルは下記の参考文献1で提案されたMatrix−Vector RNNs(MV−RNN)に基づく。図15は、文脈ベクトルD6生成のための統計処理で用いる数理モデルを説明する図であり、下記の参考文献1で図示された数理モデルである。
(参考文献1)Semantic Compositionality through Recursive Matrix-Vector Spaces,Richard Socher,Brody Huval,Christopher D.Manning and Andrew Y.Ng.Conference on Empirical Methods in Natural Language Processing,2012.
まず、数理モデルの構造について説明する。MV―RNNは木構造をなしたRecursive Neural Network(再帰型ニューラルネットワーク)である。各終端ノードは、テキストに含まれる各単語を出現順に並べたものである。木構造は、テキストの構文解析構造に沿って構成されている。
次に、計算式について説明する。終端ノードは、各単語の意味ベクトルが配置される。ただし、各単語の意味ベクトルには、下記の参考文献2で提案されたWord2Vecと呼ばれる手法によって予め算出した結果を用いる。
(参考文献2)Recurrent neural network based language model,T Mikolov,M Karafiat,L Burget,J Cernocky,S Khudanpur.INTERSPEECH 2010.
非終端ノードには、下記式(4)に示す演算を設定する。ただし、c、cは子ノードが出力したベクトル、C(C、Cなど)は子ノードの単語種類ごとに用意する意味操作行列、Wはあらゆる非終端ノードで共有される重み行列、bはあらゆる非終ノードで共有されるバイアス(スカラー変数)、トップノードの出力は入力テキスト全体の構成的意味を表す実数ベクトルである。
Figure 0006478734
次に、上述したMV−RNNの各種パラメタの学習方法について説明する。ただし、当該手法は下記の参考文献3で提案されたUnsupervised Unforlding RAEに基づく。図16は、図15の数理モデルにおける各種パラメタの学習方法を説明する図であり、下記の参考文献3で図示された数理モデルである。
(参考文献3)Dynamic Pooling and Unfolding Recursive Autoencoders for Paraphrase Detection,Richard Socher,Eric H.Huang,Jeffrey Pennington,Andrew Y.Ng,and Christopher D.Manning.Advances in Neural Information Processing Systems 2011.
図17は、各種パラメタの学習処理の処理手順の一例を示すフローチャートである。意味解析エンジン10Aの文脈ベクトル生成器15は、以下のステップS501〜ステップS503の処理により、MV−RNNの各種パラメタを学習する。
ステップS501:文脈ベクトル生成器15は、学習対象となるRecursive Neural Networkのトップノード配下の林を複製して、トップノードにぶら下げる。ただし、複製された林の重み行列(図16ではWと記載)およびバイアス(図16では表記省略)は、オリジナルの林の重み行列(図16ではWと記載)およびバイアス(図16では表記省略)とは異なる変数として扱う。
ステップS502:文脈ベクトル生成器15は、オリジナルの林の終端ノードが持つ各ベクトルを鎖状につないだベクトルXと、複製された林の終端ノードに出力された各ベクトルを鎖状につないだベクトルX’とのユークリッド距離が最小となるように、逆誤差伝播などの標準的方法を用いて各パラメタを学習する。ただし、訓練データには構文解析された任意のテキスト群を用いる。
ステップS503:文脈ベクトル生成器15は、結果として得られたオリジナルの林の重み行列(図16ではWと記載)とバイアス(図16では表記省略)を学習結果とし、一連の処理を終了する。
次に、MV−RNNを用いた文脈ベクトルD6の生成処理について説明する。図18は、文脈ベクトルD6を生成する処理手順の一例を示すフローチャートである。意味解析エンジン10Aの形態素解析および構文解析器14と文脈ベクトル生成器15は、以下のステップS601〜ステップS604の処理により、自然言語要求D1から文脈ベクトルD6を生成する。
ステップS601:形態素解析および構文解析器14は、自然言語要求D1に対し、形態素解析および構文解析を行う。
ステップS602:文脈ベクトル生成器15は、ステップS601の処理により得られた構文構造に基づき、Recursive Neural Network構造を生成する。
ステップS603:文脈ベクトル生成器15は、図17のフローチャートで示した手順により得られた学習済みのパラメタをRecursive Neural Networkに割り当てる。
ステップS604:文脈ベクトル生成器15は、以上により完成したRecursive Neural Networkを用いて算出されたトップノードの出力ベクトルを文脈ベクトルD6とし、一連の処理を終了する。
文脈ベクトル生成器15によって生成された文脈ベクトルD6は、文脈認識型推薦エンジン20Aの順位付け器22Aによる処理において、第1実施形態で説明したf(ユーザiと自然言語要求D1内の文脈タグに関して抽出した(顕在的)特徴ベクトル)に組み込まれる。ベクトルの値が変わるだけで、文脈認識型推薦エンジン20Aの順位付け器22Aによる処理自体は、第1実施形態の順位付け器22による処理と同様である。なお、上記式(1)および式(2)の説明において「文脈タグ」と表記した部分は、「文脈ベクトル」と読み替えればよい。
以上、具体的な例を挙げながら詳細に説明したように、本実施形態のアイテム推薦装置によれば、第1実施形態のアイテム推薦装置と同様に、外部から観測可能な文脈情報だけでなく、自然言語要求D1から推定される内面的な情報も利用して、アイテムの推薦をより精度よく行うことができる。
また、本実施形態のアイテム推薦装置によれば、文脈タグ辞書102のようなルールを事前に生成することなく、自然言語要求D1から内面的な情報を推定できるので、ユーザの幅広いニーズに対応した効果的なアイテムの推薦を実現することができる。
なお、上述した実施形態では、候補抽出器21が検索タグ群D2を用いて候補アイテムとなる店舗の絞り込みを行った上で、順位付け器22Aが候補アイテム群D3に対する順位付けを行う構成としているが、これに限らない。例えば、順位付け器22Aが検索タグ群D2を用いた候補アイテムの絞り込みと順位付けを併せて行う構成としてもよいし、順位付け器22Aによる順位付けを行った後に、検索タグ群D2に基づく候補アイテムの絞り込みを行う構成としてもよい。
<第3実施形態>
次に、第3実施形態のアイテム推薦装置について説明する。本実施形態のアイテム推薦装置は、上述した第1実施形態のアイテム推薦装置の機能に加え、人物群を撮影した画像を入力としてさらに受け取り、この画像に基づいて推定した人間関係タグを、自然言語要求D1から生成した文脈タグ群D4と統合する機能を持つ。そして、本実施形態のアイテム推薦装置は、人間関係タグが統合された文脈タグ群を用いて推薦アイテムの順位付けを行う。また、本実施形態のアイテム推薦装置は、画像認識処理により人物群の中の中心人物(主人公)と推定される人物を選択し、この選択した人物の属性を、ユーザDB104に格納されたユーザ情報の代わりに用いる。これにより、ユーザDB104を予め用意できない応用に適用できるようになるほか、人間関係に応じたアイテムを推薦できるようになる。なお、このような機能追加は、第2実施形態のアイテム推薦装置に対して行ってもよい。この場合、例えば、人間関係タグに相当する情報が文脈ベクトルの次元の一部として組み込まれる。
本実施形態のアイテム推薦装置は、例えば、街中に設置されたインタラクティブ型の案内板などを用いたアイテム推薦の用途において有効である。例えばグループで近くのレストランを探すために案内板を利用しようとしたとする。グループの中心人物が案内板に対して音声による自然言語要求を行う。この際、案内板に内蔵されたカメラによりグループを構成する人物群を撮影し、その画像を解析(画像認識処理)することでグループの人間関係を表す人間関係タグを生成して、推薦アイテムの順位付けに利用する。これにより、グループがファミリーであればファミリー向けのレストランを推薦することができ、グループがカップルであればカップル向けのレストランを推薦することができる。また、人物群を撮影した画像から選択された中心人物の属性を、ユーザ情報の代わりに利用することができるので、街中の案内板のように、不特定多数の人が利用することが想定されるためにユーザDB104を予め用意できない場合でも、精度のよいアイテム推薦を実現できる。
以下、第1実施形態との差分について説明する。図19は、第3実施形態のアイテム推薦装置の構成例を示すブロック図である。本実施形態のアイテム推薦装置は、図19に示すように、第1実施形態の文脈認識型推薦エンジン20に代えて、文脈認識型推薦エンジン20Bを備える。また、本実施形態のアイテム推薦装置は、画像解析エンジン30(人間関係情報生成部)と、統合エンジン40(統合部)とをさらに備える。なお、第1実施形態で候補アイテムの順位付けに用いたユーザDB104は、本実施形態では設けられていない。
文脈認識型推薦エンジン20Bの内部には、第1実施形態で説明した順位付け器22に代えて順位付け器22Bが設けられている。順位付け器22Bは、第1実施形態で説明した文脈タグ群D4に代えて人間関係付き文脈タグ群D15、ユーザDB104から抽出するユーザ情報に代えて主人公属性D14をそれぞれ用いるが、学習および予測の処理自体は第1実施形態の順位付け器22と同様である。
画像解析エンジン30は、人物群を撮像した画像D11を入力として受け取り、画像D11に対して公知の画像認識処理を行うことで人物属性群D12を生成する。人物属性群D12は、画像D11から検出された各人物の属性の集合である。また、画像解析エンジン30は、生成した人物属性群D12を予め定めた人間関係推定ルール110と照合することで、人間関係タグD13(人間関係情報)を生成し出力する。また、画像解析エンジン30は、画像D11から検出された人物の中でグループの中心人物(主人公)と推定される人物を選択し、その人物の属性を主人公属性D14として出力する。画像解析エンジン30は、これらの機能を実現するために、人物属性推定器31とグループ属性推定器32とを内部に備える。
統合エンジン40は、意味解析エンジン10により生成された文脈タグ群D4と、画像解析エンジン30により生成された人間関係タグD13とを入力として受け取り、人間関係タグD13を文脈タグ群D4に統合して人間関係付き文脈タグ群D15を生成し出力する。統合エンジン40は、人間関係付き文脈タグ群D15を生成するために、タグ統合器41を内部に備える。
以下では、人物属性推定器31、グループ属性推定器32およびタグ統合器41による処理の具体例を説明する。
まず、人物属性推定器31について説明する。図20は、人物属性推定器31による処理手順の一例を示すフローチャートである。人物属性推定器31は内部に画像認識器を具備しており、例えば以下のステップS701〜ステップS706の処理により、画像D11から人物属性群D12を生成して出力する。
ステップS701:人物属性推定器31は、画像D11から人物の顔領域をすべて検出する。画像から人物の顔領域を検出する技術は広く知られているため、詳細な説明は省略する。
ステップS702:人物属性推定器31は、ステップS701で検出された顔領域を1つ取り出す。
ステップS703:人物属性推定器31は、ステップS702で取り出した顔領域の特徴量をもとに、人物の属性(例えば年齢と性別)を推定する。ただし、ここでは推定された年齢の10未満は切り捨てて、0(10歳未満),10(10〜19歳),20(20〜29歳),・・・,といった情報を出力するものとする。以下ではこれを年代と呼ぶ。顔領域の特徴量から人物の年齢を推定する技術としては、例えば、特開2014−153815号公報に記載されている技術を用いることができる。また、ここでは人物の属性として年代や性別を推定する例を想定するが、年代や性別以外にも、例えば特開2012−3623号公報に記載されているような様々な属性を利用することができる。
ステップS704:人物属性推定器31は、ステップS703で推定した人物の属性情報を、ステップS702で取り出した顔領域の座標情報とともに出力バッファに追加する。
ステップS705:人物属性推定器31は、画像D11から検出したすべての顔領域を取り出したか否かを判定する。そして、判定の結果がYesであればステップS706に進み、NoであればステップS702に戻る。
ステップS706:人物属性推定器31は、出力バッファ内のすべての属性情報と座標情報とのペアを人物属性群D12として出力する。
次に、グループ属性推定器32について説明する。グループ属性推定器32は、入力された人物属性群D12に対して人間関係推定ルール110を適用することで、画像D11に含まれる人物群の人間関係を推定し、推定した人間関係を表す人間関係タグD13を生成して出力する。また、グループ属性推定器32は、画像D11に含まれる人物群の中から主人公を推定し、推定した主人公の属性情報を人物属性群D12から取り出して主人公属性D14として出力する。グループ属性推定器32が人間関係タグD13を生成して出力する処理を人間関係推定処理と呼び、主人公属性D14を出力する処理を主人公推定処理と呼ぶ。主人公属性D14は、第1実施形態でユーザDB104から取り出したユーザ情報の代わりとなるものである。
まず、人間関係推定処理について説明する。人間関係推定処理で用いる人間関係推定ルール110の例を以下に示す。矢印の元がマッチングルールであり、矢印の先が人間関係タグD13である。
10歳未満の人物が含まれている → 子連れ
20代以上の男女が1人ずつ含まれ、かつ年代差が20以下である → カップル
20代以上の男女が1人ずつと10歳未満の人物とが含まれている → ファミリー
人間関係推定処理では、このように予め定められた人間関係推定ルール110を人物属性群D12に対して順に適用し、マッチした段階で該当する人間関係タグD13を出力する。したがって、人間関係タグD13は1種類のみ出力される。
次に、主人公推定処理について説明する。本実施形態では、画像D11から検出された顔領域が最も大きい人物を主人公と推定する。具体的には、人物属性群D12に含まれる顔領域の座標情報から顔領域の大きさを判断し、顔領域の大きさが最大の人物を選択してこれを主人公とする。また、画像D11から検出された顔領域が画像D11の中心に最も近い位置にある人物を主人公と推定するようにしてもよい。この場合は、人物属性群D12に含まれる顔領域の座標情報から画像D11中の顔領域の位置を判断し、顔領域の位置が画像D11の中心に最も近い位置にある人物を選択してこれを主人公とする。そして、このように特定された主人公の属性(例えば年代や性別)を主人公属性D14として出力する。
また、上述したインタラクティブ型の案内板のように、音声を用いて自然言語要求D1を入力する適用例では、口唇領域の動静判定に基づいて検出された発話者を主人公とする方法もある。口唇領域の動静判定には、例えば、下記の参考文献4に記載された方法を用いることができる。例えば、口の開きごとに基準画像を用意しておき、画像D11から検出された顔領域の各フレームに対して、Haar-Like特徴を用いたAdaBoost法を用いて口唇領域を検出する。そして、各フレームの口唇領域について、基準画像をもとに口の開き方を識別し、フレーム間で口の開き方が異なっている場合に、口唇領域に動きがあると判定する。
(参考文献4)甲斐寛規,宮崎大輔,古川亮,青山正人,日浦慎作,浅田尚紀、口唇領域の抽出と認識による発話検出、情報処理学会研究報告、Vol.2011-CVIM-177,No.13,pp.1-8(2011)
次に、タグ統合器41について説明する。タグ統合器41は、第1実施形態で説明した文脈タグ群D4と上述した人間関係タグD13とを統合して、人間関係付き文脈タグ群D15を生成する。より具体的には、人間関係タグD13を文脈タグ群D4の一部として組み込むことで、人間関係付き文脈タグ群D15を生成する。すなわち、図7に例示したように、文脈タグ群D4は、例えば、シーンに関するタグ、同伴者に関するタグ、目的に関するタグ、状況に関するタグ、および時間帯に関するタグを含む。タグ統合器41は、これらのうち、同伴者に関するタグとして人間関係タグD13を組み込んで、人間関係付き文脈タグ群D15を生成する。ただし、すでに文脈タグ群D4に同伴者に関するタグが含まれていた場合はそちらを優先し、人間関係タグD13を組み込まないことが望ましい。ユーザが明示的に要望した文脈を優先するのが自然な解決方法と考えられるためである。
人間関係付き文脈タグ群D15は、文脈認識型推薦エンジン20Bの順位付け器22Bにおいて、推薦アイテムの順位付けを行うために用いられる。順位付け器22Bは、文脈タグ群D4の代わりに人間関係付き文脈タグ群D15、ユーザDB104から抽出するユーザ情報の代わりに主人公属性D14を入力として受け取り、第1実施形態と同様の処理により推薦アイテムの順位付けを行う。なお、利用ログDB105の文脈タグカラムでは、文脈タグ群D4の代わりに人間関係付き文脈タグ群D15を扱うものとする。
以上、具体的な例を挙げながら詳細に説明したように、本実施形態のアイテム推薦装置によれば、第1実施形態のアイテム推薦装置と同様に、外部から観測可能な文脈情報だけでなく、自然言語要求D1および画像D11から推定される内面的な情報も利用して、アイテムの推薦をより精度よく行うことができる。
また、本実施形態のアイテム推薦装置によれば、不特定多数のユーザが利用するためにユーザDB104を予め用意できない場合であっても、ユーザDB104から抽出するユーザ情報の代わりに主人公属性D14を用いることで、第1実施形態と同様に高精度なアイテムの推薦を実現することができる。
<補足説明>
上述した実施形態のアイテム推薦装置における各処理部(例えば第1実施形態の形態素解析器11、検索タグ抽出器12、文脈タグ生成器13、候補抽出器21、順位付け器22)は、ハードウェア、またはハードウェアと協働して動作するソフトウェア(プログラム)での実装が可能である。上記の各処理部をソフトウェアで実装する場合、アイテム推薦装置は、例えば図21に示すように、CPU(Central Processing Unit)51などのプロセッサ回路、ROM(Read Only Memory)52やRAM(Random Access Memory)53などの記憶装置、表示パネルや各種操作デバイスが接続される入出力I/F54、ネットワークに接続して通信を行う通信I/F55、各部を接続するバス56などを備えた、通常のコンピュータを利用したハードウェア構成とすることができる。
上述した実施形態のアイテム推薦装置で実行されるプログラムは、例えば、インストール可能な形式または実行可能な形式のファイルでCD−ROM(Compact Disk Read Only Memory)、フレキシブルディスク(FD)、CD−R(Compact Disk Recordable)、DVD(Digital Versatile Disc)などのコンピュータで読み取り可能な記録媒体に記録されてコンピュータプログラムプロダクトとして提供される。
また、上述したアイテム推薦装置で実行されるプログラムを、インターネットなどのネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、上述した実施形態のアイテム推薦装置で実行されるプログラムをインターネットなどのネットワーク経由で提供または配布するように構成してもよい。また、上述した実施形態のアイテム推薦装置で実行されるプログラムを、ROM32等に予め組み込んで提供するように構成してもよい。
上述した実施形態のアイテム推薦装置で実行されるプログラムは、アイテム推薦装置の各処理部(例えば第1実施形態の形態素解析器11、検索タグ抽出器12、文脈タグ生成器13、候補抽出器21、順位付け器22)を含むモジュール構成となっており、実際のハードウェアとしては、例えば、CPU51(プロセッサ回路)が上記記録媒体からプログラムを読み出して実行することにより、上述した各処理部がRAM53(主記憶)上にロードされ、上述した各処理部がRAM53(主記憶)上に生成されるようになっている。なお、上述した実施形態のアイテム推薦装置は、上述した各処理部の一部または全部を、ASIC(Application Specific Integrated Circuit)やFPGA(Field-Programmable Gate Array)などの専用のハードウェアを用いて実現することも可能である。
以上、本発明の実施形態を説明したが、ここで説明した実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。ここで説明した新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。ここで説明した実施形態やその変形は、発明の範囲や要旨に含まれるとともに、請求の範囲に記載された発明とその均等の範囲に含まれる。
10,10A 意味解析エンジン
11 形態素解析器
12 検索タグ抽出器
13 文脈タグ生成器
14 形態素解析および構文解析器
15 文脈ベクトル生成器
20,20A,20B 文脈認識型推薦エンジン
21 候補抽出器
22,22A,22B 順位付け器
30 画像解析エンジン
31 人物属性推定器
32 グループ属性推定器
40 統合エンジン
41 タグ統合器
101 検索タグ辞書
102 文脈タグ辞書
103 店舗DB
104 ユーザDB
105,105A 利用ログDB
110 人間関係推定ルール
D1 自然言語要求
D2 検索タグ群
D3 候補アイテム群
D4 文脈タグ群
D5 推薦アイテムリスト
D6 文脈ベクトル
D11 画像
D12 人物属性群
D13 人間関係タグ
D14 主人公属性
D15 人間関係付き文脈タグ群

Claims (7)

  1. 入力された自然言語要求を意味解析して、アイテムの情報を蓄積する蓄積部に対する検索に用いる検索情報を生成する検索情報生成部と、
    前記検索情報を用いて前記蓄積部に対する検索を行って、ユーザに提示するアイテムの候補を抽出する候補抽出部と、
    前記自然言語要求を意味解析して、ユーザの意図を含む文脈情報を生成して出力する文脈情報生成部と、
    前記文脈情報と、ユーザの属性を表すユーザ情報と、ユーザのアイテム利用履歴を表す履歴情報とに基づいて、抽出された前記候補に対する順位付けを行う順位付け部と、を備え
    前記文脈情報生成部は、前記自然言語要求に対して、統計的意味解析を用いて該自然言語要求のテキスト全体の意味を示す特徴ベクトルを生成し、該特徴ベクトルを前記文脈情報として出力する、アイテム推薦装置。
  2. 検索キーワードとなる検索タグを、該検索タグを生成するトリガとなる語句と、該検索タグが適用される属性を表す適用先属性とに対応付けて格納する検索タグ辞書をさらに備え、
    前記検索情報生成部は、前記自然言語要求から抽出した語句が前記検索タグ辞書に格納された前記検索タグと一致する場合は該検索タグおよび該検索タグに対応付けて前記検索タグ辞書に格納された前記適用先属性を前記検索情報として出力し、前記自然言語要求から抽出した語句が前記検索タグ辞書に格納された前記トリガとなる語句と一致する場合は該語句に対応付けて前記検索タグ辞書に格納された前記検索タグおよび該検索タグに対応付けて前記検索タグ辞書に格納された前記適用先属性を前記検索情報として出力する、請求項1に記載のアイテム推薦装置。
  3. 入力された画像を解析して、該画像に含まれる人物群の人間関係を表す人間関係情報を生成して出力する人間関係情報生成部と、
    前記人間関係情報を前記文脈情報に統合する統合部と、をさらに備え、
    前記順位付け部は、前記人間関係情報が統合された前記文脈情報と、前記ユーザ情報と、前記履歴情報とに基づいて、抽出された前記候補に対する順位付けを行う、請求項1または2に記載のアイテム推薦装置。
  4. 前記人間関係情報生成部は、前記画像から人物を検出して各人物の属性を推定し、前記画像から検出した各人物の属性の集合を所定のルールと照合して前記人間関係情報を生成する、請求項に記載のアイテム推薦装置。
  5. 前記人間関係情報生成部は、さらに、前記画像から検出した各人物のうち、前記画像におけるサイズが最大の人物、または前記画像の中心に最も近い位置から検出された人物、または口唇領域が動いていると判定される人物を選択し、
    前記順位付け部は、前記人間関係情報生成部により選択された人物の属性を、前記ユーザ情報として用いる、請求項に記載のアイテム推薦装置。
  6. アイテム推薦装置において実行されるアイテム推薦方法であって、
    入力された自然言語要求を意味解析して、アイテムの情報を蓄積する蓄積部に対する検索に用いる検索情報を生成する工程と、
    前記検索情報を用いて前記蓄積部に対する検索を行って、ユーザに提示するアイテムの候補を抽出する工程と、
    前記自然言語要求を意味解析して、ユーザの意図を含む文脈情報を生成して出力する工程と、
    前記文脈情報と、ユーザの属性を表すユーザ情報と、ユーザのアイテム利用履歴を表す履歴情報とに基づいて、抽出された前記候補に対する順位付けを行う工程と、を含み、
    前記文脈情報を生成して出力する工程では、前記自然言語要求に対して、統計的意味解析を用いて該自然言語要求のテキスト全体の意味を示す特徴ベクトルを生成し、該特徴ベクトルを前記文脈情報として出力する、アイテム推薦方法。
  7. コンピュータに、
    入力された自然言語要求を意味解析して、アイテムの情報を蓄積する蓄積部に対する検索に用いる検索情報を生成する機能と、
    前記検索情報を用いて前記蓄積部に対する検索を行って、ユーザに提示するアイテムの候補を抽出する機能と、
    前記自然言語要求を意味解析して、ユーザの意図を含む文脈情報を生成して出力する機能と、
    前記文脈情報と、ユーザの属性を表すユーザ情報と、ユーザのアイテム利用履歴を表す履歴情報とに基づいて、抽出された前記候補に対する順位付けを行う機能と、を実現させ、
    前記文脈情報を生成して出力する機能は、前記自然言語要求に対して、統計的意味解析を用いて該自然言語要求のテキスト全体の意味を示す特徴ベクトルを生成し、該特徴ベクトルを前記文脈情報として出力する、プログラム。
JP2015050664A 2014-10-31 2015-03-13 アイテム推薦装置、アイテム推薦方法およびプログラム Active JP6478734B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US14/926,219 US10089364B2 (en) 2014-10-31 2015-10-29 Item recommendation device, item recommendation method, and computer program product
CN201510724756.5A CN105574067B (zh) 2014-10-31 2015-10-29 项目推荐装置以及项目推荐方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014223222 2014-10-31
JP2014223222 2014-10-31

Publications (2)

Publication Number Publication Date
JP2016091535A JP2016091535A (ja) 2016-05-23
JP6478734B2 true JP6478734B2 (ja) 2019-03-06

Family

ID=56018776

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015050664A Active JP6478734B2 (ja) 2014-10-31 2015-03-13 アイテム推薦装置、アイテム推薦方法およびプログラム

Country Status (1)

Country Link
JP (1) JP6478734B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6440660B2 (ja) * 2016-09-12 2018-12-19 ヤフー株式会社 情報処理装置、情報処理方法、およびプログラム
US20200193338A1 (en) * 2017-09-08 2020-06-18 Sony Corporation Information processing apparatus and information processing method
JP6788637B2 (ja) * 2018-02-27 2020-11-25 株式会社 ミックウェア 情報検索装置及び情報検索システム
CN110472995A (zh) * 2019-07-08 2019-11-19 汉海信息技术(上海)有限公司 到店预测方法、装置、可读存储介质及电子设备
US11354721B2 (en) 2019-10-16 2022-06-07 Coupang Corp. Computerized systems and methods for providing product recommendations
WO2023152951A1 (ja) * 2022-02-14 2023-08-17 シャープNecディスプレイソリューションズ株式会社 表示システム、表示方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002288187A (ja) * 2001-03-23 2002-10-04 Sharp Corp 情報蓄積システム、情報提示システム、電子メール配信システム、情報蓄積方法、情報提示方法、電子メール配信方法及び情報処理プログラムを記録した記録媒体
JP4676160B2 (ja) * 2004-04-13 2011-04-27 株式会社日立製作所 情報通知方法、および、情報通知システム
JP2006195637A (ja) * 2005-01-12 2006-07-27 Toyota Motor Corp 車両用音声対話システム
JP4547721B2 (ja) * 2008-05-21 2010-09-22 株式会社デンソー 自動車用情報提供システム
CN102012900B (zh) * 2009-09-04 2013-01-30 阿里巴巴集团控股有限公司 信息检索方法和系统
JP2011248548A (ja) * 2010-05-25 2011-12-08 Fujitsu Ltd コンテンツ決定プログラムおよびコンテンツ決定装置
JP5551985B2 (ja) * 2010-07-05 2014-07-16 パイオニア株式会社 情報検索装置及び情報検索方法
JP2013109051A (ja) * 2011-11-18 2013-06-06 Glory Ltd 電子情報提供システム及び電子情報提供方法
JP5421403B2 (ja) * 2012-02-15 2014-02-19 パイオニア株式会社 地点リスト提示装置、地点リスト提示方法、地点リスト提示プログラム、および記録媒体

Also Published As

Publication number Publication date
JP2016091535A (ja) 2016-05-23

Similar Documents

Publication Publication Date Title
CN105574067B (zh) 项目推荐装置以及项目推荐方法
JP6478734B2 (ja) アイテム推薦装置、アイテム推薦方法およびプログラム
CN111602147B (zh) 基于非局部神经网络的机器学习模型
CN108959603B (zh) 基于深度神经网络的个性化推荐系统及方法
CN110121706B (zh) 提供会话中的响应
CN107609101B (zh) 智能交互方法、设备及存储介质
US10198503B2 (en) System and method for performing a semantic operation on a digital social network
JP5324937B2 (ja) 推薦システム用の時間情報および場所情報の言語抽出
CN109189904A (zh) 个性化搜索方法及系统
US10437894B2 (en) Method and system for app search engine leveraging user reviews
CN109933785A (zh) 用于实体关联的方法、装置、设备和介质
US20120265787A1 (en) Identifying query formulation suggestions for low-match queries
JP6381775B2 (ja) 情報処理システム及び情報処理方法
Thiagarajan et al. Computing semantic similarity using ontologies
WO2023065211A1 (zh) 一种信息获取方法以及装置
US10586174B2 (en) Methods and systems for finding and ranking entities in a domain specific system
Okazaki et al. How to mine brand Tweets: Procedural guidelines and pretest
CN111339284A (zh) 产品智能匹配方法、装置、设备及可读存储介质
CN113821588A (zh) 文本处理方法、装置、电子设备及存储介质
JP5545876B2 (ja) クエリ提供装置、クエリ提供方法及びクエリ提供プログラム
JP7207543B2 (ja) 情報推薦装置、情報推薦システム、情報推薦方法及び情報推薦プログラム
Joseph et al. A Comparative Study of Collaborative Movie Recommendation System
CN113763084A (zh) 产品推荐的处理方法、装置、设备及存储介质
CN112732743A (zh) 一种基于中文自然语言的数据分析方法及装置
Bharathi et al. Sentiment Classification of Tourist’s Opinion on Tourist Places of Interest in South India using Tweet Reviews

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170328

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180223

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180327

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180524

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181030

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181213

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190205

R150 Certificate of patent or registration of utility model

Ref document number: 6478734

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150