(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024092973
(43)【公開日】2024-07-08
(54)【発明の名称】表示制御システム、表示制御方法、及びプログラム
(51)【国際特許分類】
G06Q 50/10 20120101AFI20240701BHJP
G06F 16/335 20190101ALI20240701BHJP
G06F 16/338 20190101ALI20240701BHJP
【FI】
G06Q50/10
G06F16/335
G06F16/338
【審査請求】有
【請求項の数】20
【出願形態】OL
(21)【出願番号】P 2023207922
(22)【出願日】2023-12-08
(31)【優先権主張番号】63/435,330
(32)【優先日】2022-12-26
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】399037405
【氏名又は名称】楽天グループ株式会社
(74)【代理人】
【識別番号】110000154
【氏名又は名称】弁理士法人はるか国際特許事務所
(72)【発明者】
【氏名】鄭 容朱
(72)【発明者】
【氏名】クマール ロハン
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175DA01
5B175HA01
5B175JB02
(57)【要約】 (修正有)
【課題】ユーザが興味を持ちそうな文字コンテンツを提案する際にユーザの利便性を高める表示制御システム、表示制御方法及びプログラムを提供する。
【解決手段】表示制御システムにおいて、サーバ10の取得部101は、学習モデルMからユーザの特性に関するユーザ特性情報を取得する。選択部102は、ユーザ特性情報に基づいて、ユーザによる文字入力を要することなく、文字を含むコンテンツである文字コンテンツの中から、文字コンテンツの一部である文字コンテンツ部分を選択する。表示制御部103は、文字コンテンツ部分を識別できるように、文字コンテンツをディスプレイに表示させる。
【選択図】
図3
【特許請求の範囲】
【請求項1】
ユーザの特性に関するユーザ特性情報を取得する取得部と、
前記ユーザ特性情報に基づいて、前記ユーザによる文字入力を要することなく、文字を含むコンテンツである文字コンテンツの中から、前記文字コンテンツの一部である文字コンテンツ部分を選択する選択部と、
前記文字コンテンツ部分を識別できるように、前記文字コンテンツをディスプレイに表示させる表示制御部と、
を含む表示制御システム。
【請求項2】
前記取得部は、前記ユーザにより投稿されたレビューであるユーザレビューに基づいて、前記ユーザ特性情報を取得する、
請求項1に記載の表示制御システム。
【請求項3】
前記取得部は、前記ユーザレビューと、訓練用のレビューである訓練レビューに基づいて学習が行われた学習モデルと、に基づいて、前記ユーザ特性情報を取得する、
請求項2に記載の表示制御システム。
【請求項4】
前記学習は、前記訓練レビューの一部である訓練レビュー部分が属するクラスタに基づいて行われ、
前記取得部は、前記ユーザレビューと、前記学習モデルと、に基づいて、前記ユーザレビューに応じた前記クラスタに関する前記ユーザ特性情報を取得する、
請求項3に記載の表示制御システム。
【請求項5】
前記表示制御システムは、
前記訓練レビュー部分に基づいて、クラスタリングを実行するクラスタリング実行部と、
前記クラスタリングの実行結果に基づいて、前記学習モデルに学習させる訓練データを作成する訓練データ作成部と、
前記訓練データを、前記学習モデルに学習させる学習部と、
を更に含む請求項4に記載の表示制御システム。
【請求項6】
前記表示制御システムは、前記訓練レビューに対する感情分析を実行する感情分析実行部を更に含み、
前記クラスタリング実行部は、前記訓練レビュー部分と、前記感情分析の実行結果と、に基づいて、前記クラスタリングを実行する、
請求項5に記載の表示制御システム。
【請求項7】
前記クラスタリング実行部は、前記訓練レビューが投稿された文字コンテンツである訓練コンテンツの一部である訓練コンテンツ部分に基づいて、クラスタリングを実行し、
前記訓練データ作成部は、前記クラスタリングの実行結果に基づいて、前記学習モデルに学習させる訓練データを作成し、
前記学習部は、前記訓練データを、前記学習モデルに学習させる、
請求項4~6の何れかに記載の表示制御システム。
【請求項8】
前記取得部は、複数の前記ユーザレビューの各々の埋め込み表現であるユーザレビュー表現を統合して統合ユーザ表現を取得し、当該統合ユーザ表現と、前記学習モデルと、に基づいて、前記ユーザ特性情報を取得する、
請求項3~6の何れかに記載の表示制御システム。
【請求項9】
前記取得部は、前記ユーザレビューの埋め込み表現であるユーザレビュー表現と、前記文字コンテンツの埋め込み表現である文字コンテンツ表現と、を統合して統合ユーザ表現を取得し、当該統合ユーザ表現と、前記学習モデルと、に基づいて、前記ユーザ特性情報を取得する、
請求項3~6の何れかに記載の表示制御システム。
【請求項10】
前記学習は、前記訓練レビューと、前記訓練レビューが投稿された文字コンテンツである訓練コンテンツと、に基づいて行われる、
請求項3~6の何れかに記載の表示制御システム。
【請求項11】
前記学習は、前記訓練レビューの埋め込み表現である訓練レビュー表現と、前記訓練コンテンツの埋め込み表現である訓練コンテンツ表現と、が統合された統合訓練表現に基づいて行われる、
請求項10に記載の表示制御システム。
【請求項12】
前記学習は、複数の前記訓練レビュー表現と、前記訓練コンテンツ表現と、が統合された前記統合訓練表現に基づいて行われる、
請求項11に記載の表示制御システム。
【請求項13】
前記学習は、前記訓練レビュー表現と、複数の前記訓練コンテンツ表現と、が統合された前記統合訓練表現に基づいて行われる、
請求項11に記載の表示制御システム。
【請求項14】
前記複数の訓練コンテンツ表現の各々は、前記訓練コンテンツのうち、互いに異なる項目に関する埋め込み表現である、
請求項13に記載の表示制御システム。
【請求項15】
前記訓練レビューは、過去に投稿された複数のレビューのうち、相対的に新しいレビューである、
請求項3~6の何れかに記載の表示制御システム。
【請求項16】
前記訓練レビューは、レビューの投稿数が閾値以上の投稿者により投稿されたレビューである、
請求項3~6の何れかに記載の表示制御システム。
【請求項17】
前記取得部は、前記ユーザレビューの一部であるユーザレビュー部分のうち、出現度が相対的に高いユーザレビュー部分を、前記ユーザ特性情報として取得する、
請求項2~6の何れかに記載の表示制御システム。
【請求項18】
前記取得部は、前記ユーザレビューに対する感情分析を実行し、当該感情分析の実行結果に基づいて、前記ユーザ特性情報を取得する、
請求項17に記載の表示制御システム。
【請求項19】
ユーザの特性に関するユーザ特性情報を取得し、
前記ユーザ特性情報に基づいて、前記ユーザによる文字入力を要することなく、文字を含むコンテンツである文字コンテンツの中から、前記文字コンテンツの一部である文字コンテンツ部分を選択し、
前記文字コンテンツ部分を識別できるように、前記文字コンテンツをディスプレイに表示させる、
を含む表示制御方法。
【請求項20】
コンピュータに、
ユーザの特性に関するユーザ特性情報を取得させ、
前記ユーザ特性情報に基づいて、前記ユーザによる文字入力を要することなく、文字を含むコンテンツである文字コンテンツの中から、前記文字コンテンツの一部である文字コンテンツ部分を選択させ、
前記文字コンテンツ部分を識別できるように、前記文字コンテンツをディスプレイに表示させる、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、表示制御システム、表示制御方法、及びプログラムに関する。
【背景技術】
【0002】
従来、文字を含むコンテンツである文字コンテンツの表示を制御する技術が知られている。例えば、特許文献1には、文字コンテンツの一例として、ウェブサイトが記載されている。特許文献1の技術では、複数の文字コンテンツの各々の閲覧履歴と、文字コンテンツ間の属性の一致度と、に基づいて、文字コンテンツ間の相関性が推定される。特許文献1の技術では、当該推定された相関性に基づいて、ユーザに対し、文字コンテンツが提案される。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1の技術では、ユーザが興味を持ちそうな文字コンテンツを提案できるが、ユーザは、文字コンテンツの中から、興味がありそうな部分を目視で探す必要があった。例えば、ユーザは、ブラウザのメニューから、文字コンテンツの中から検索する検索ワードを入力することもできる。しかしながら、ユーザが検索ワードを入力する必要があるので、ユーザの手間がかかる。このため、従来の技術では、ユーザの利便性を十分に高めることはできなかった。
【0005】
本開示の目的の1つは、ユーザの利便性を高めることである。
【課題を解決するための手段】
【0006】
本開示に係る表示制御システムは、ユーザの特性に関するユーザ特性情報を取得する取得部と、前記ユーザ特性情報に基づいて、前記ユーザによる文字入力を要することなく、文字を含むコンテンツである文字コンテンツの中から、前記文字コンテンツの一部である文字コンテンツ部分を選択する選択部と、前記文字コンテンツ部分を識別できるように、前記文字コンテンツをディスプレイに表示させる表示制御部と、を含む。
【発明の効果】
【0007】
本開示によれば、ユーザの利便性が高まる。
【図面の簡単な説明】
【0008】
【
図1】表示制御システムの全体構成の一例を示す図である。
【
図3】表示制御システムで実現される機能の一例を示す図である。
【
図5】文字コンテンツデータベースの一例を示す図である。
【
図6】クラスタデータベースの一例を示す図である。
【
図8】クラスタリングの流れの一例を示す図である。
【
図9】訓練データを作成する流れの一例を示す図である。
【
図10】訓練データを作成する流れの一例を示す図である。
【
図11】学習モデルを利用してユーザ特性情報を取得する処理の一例を示す図である。
【
図12】学習モデルを利用してユーザ特性情報を取得する処理の一例を示す図である。
【
図15】変形例1における機能の一例を示す図である。
【発明を実施するための形態】
【0009】
[1.表示制御システムの全体構成]
本開示に係る表示制御システムの実施形態の一例を説明する。
図1は、表示制御システムの全体構成の一例を示す図である。例えば、表示制御システム1は、サーバ10、ユーザ端末20、及び学習端末30を含む。サーバ10、ユーザ端末20、及び学習端末30の各々は、インターネット又はLAN等のネットワークNに接続される。
【0010】
サーバ10は、サーバコンピュータである。例えば、サーバ10は、制御部11、記憶部12、及び通信部13を含む。制御部11は、少なくとも1つのプロセッサを含む。記憶部12は、RAM等の揮発性メモリと、フラッシュメモリ等の不揮発性メモリと、を含む。通信部13は、有線通信用の通信インタフェースと、無線通信用の通信インタフェースと、の少なくとも一方を含む。
【0011】
ユーザ端末20は、ユーザのコンピュータである。例えば、ユーザ端末20は、パーソナルコンピュータ、タブレット端末、スマートフォン、又はウェアラブル端末である。例えば、ユーザ端末20は、制御部21、記憶部22、通信部23、操作部24、及び表示部25を含む。制御部21、記憶部22、及び通信部23の物理的構成は、それぞれ制御部11、記憶部12、及び通信部13と同様であってよい。操作部24は、キーボード、マウス、又はタッチパネル等の入力デバイスである。表示部25は、液晶ディスプレイ又は有機ELディスプレイ等のディスプレイである。
【0012】
学習端末30は、後述の学習を行うコンピュータである。例えば、学習端末30は、パーソナルコンピュータ、タブレット端末、又はスマートフォンである。例えば、学習端末30は、制御部31、記憶部32、通信部33、操作部34、及び表示部35を含む。制御部31、記憶部32、通信部33、操作部34、及び表示部35の物理的構成は、それぞれ制御部11、記憶部12、通信部13、操作部24、及び表示部25と同様であってよい。
【0013】
なお、記憶部12,22,32に記憶されるプログラムは、ネットワークNを介して供給されてもよい。また、コンピュータ読み取り可能な情報記憶媒体に記憶されたプログラムが、情報記憶媒体を読み取る読取部(例えば、光ディスクドライブやメモリカードスロット)、又は、外部機器とデータの入出力をするための入出力部(例えば、USBポート)を介して供給されてもよい。
【0014】
また、表示制御システム1は、少なくとも1つのコンピュータを含めばよく、
図1の例に限られない。例えば、表示制御システム1は、ユーザ端末20及び学習端末30を含まずに、サーバ10だけを含んでもよい。表示制御システム1は、サーバ10及び学習端末30を含まずに、ユーザ端末20だけを含んでもよい。表示制御システム1は、サーバ10、ユーザ端末20、及び学習端末30以外の他のコンピュータを含んでもよい。
【0015】
[2.表示制御システムの概要]
本実施形態では、表示制御システム1は、文字コンテンツの表示を制御する。文字コンテンツは、少なくとも1つの文字を含むコンテンツである。コンテンツは、電子的な手段により提供される情報である。例えば、文字コンテンツは、ウェブサイト、ブラウザ以外の他のアプリケーションで表示される画面、文書ファイル、リッチテキストファイル、又はテキストファイルである。文字コンテンツは、文字だけで構成されてもよいし、文字以外の他の情報(例えば、画像、動画、又は音声)を含んでもよい。
【0016】
本実施形態では、文字コンテンツの一例として、ウェブサイトを説明する。更に、ウェブサイトの一例として、飲食店を紹介するグルメサイトを説明する。ウェブサイトは、任意の種類であってよく、グルメサイトに限られない。例えば、ポータルサイト、ニュースサイト、オンラインショッピングサイト、オンラインフリーマーケットサイト、旅行予約サイト、動画配信サイト、企業等のホームページ、又はその他の種々のサイトが、文字コンテンツに相当してもよい。文字コンテンツは、任意の言語であってよく、例えば、英語、日本語、韓国語、中国語、フランス語、又はスペイン語であってもよい。
【0017】
例えば、サーバ10は、グルメサイトの運営者により管理される。サーバ10は、グルメサイトに関する種々のデータを記憶する。ユーザは、ユーザ端末20を操作してサーバ10にアクセスし、グルメサイトに掲載された飲食店に関する種々の情報を閲覧できる。ユーザは、グルメサイトに飲食店のレビューを投稿できる。ユーザは、他のユーザがグルメサイトに投稿した飲食店のレビューを閲覧できる。本実施形態では、グルメサイトのうち、飲食店のレビューを示すレビュー画面を例に挙げる。
【0018】
図2は、レビュー画面の一例を示す図である。例えば、レビュー画面SCには、ユーザが選択した飲食店のレビューが表示される。ユーザがレビューを投稿していれば、レビュー画面SCには、他のユーザのレビューだけではなく、自身が投稿したレビューも表示される。以降、ユーザ端末20を操作しているユーザ(
図2の例では、ユーザC)を、ユーザという。レビュー画面SCに表示されたレビューを投稿した他のユーザ(
図2の例では、ユーザD~F)を、投稿者という。
【0019】
本実施形態では、レビューのうち、ユーザが興味を持ちそうな部分がハイライトされる。以降、この部分を、文字コンテンツ部分という。文字コンテンツ部分は、文字コンテンツの一部である。文字コンテンツ部分は、少なくとも1つの文字を含む。文字コンテンツ部分は、1つの単語、複数の単語を含むフレーズ、又は文章の何れであってもよい。文字コンテンツ部分は、文字数の上限が定められていてもよいし、特に上限が定められていなくてもよい。
【0020】
例えば、ユーザが、投稿者のレビューのうち、味に興味はあるが、値段、雰囲気、及びアクセスといった他の要素には興味がなかったとする。この場合、
図2のように、投稿者のレビューのうち、味を示す「醤油」、「塩」、「豚骨」、「こってり」、「味」、「あっさり」、「美味」といった文字コンテンツ部分がハイライトされる。これにより、ユーザが、ブラウザのメニューから検索ワードを入力しなくても、ユーザが興味を持ちそうな文字コンテンツ部分が自動的にハイライトされるので、ユーザの利便性が高まる。
【0021】
また、本実施形態では、ユーザが過去に投稿したレビューと、当該レビューが投稿された飲食店の文字コンテンツと、に対する自然言語処理を実行することによって、ユーザが興味を持ちそうな文字コンテンツ部分が推定される。更に、自然言語処理として、機械学習を利用した手法を例に挙げる。例えば、機械学習の学習モデルを利用して文字コンテンツ部分をハイライトすることによって、ユーザが興味を持ちそうな文字コンテンツ部分を推定する精度が高まる。以降、表示制御システム1の詳細を説明する。
【0022】
[3.表示制御システムで実現される機能]
図3は、表示制御システム1で実現される機能の一例を示す図である。以降、学習端末30、サーバ10、及びユーザ端末20の順で、機能を説明する。学習端末30は、主に、学習モデルMの学習に関する機能を有する。サーバ10及びユーザ端末20は、主に、レビュー画面SCの表示に関する機能を有する。
【0023】
[3-1.学習端末で実現される機能]
例えば、学習端末30は、データ記憶部300、クラスタリング実行部301、訓練データ作成部302、及び学習部303を含む。データ記憶部300は、記憶部32により実現される。クラスタリング実行部301、訓練データ作成部302、及び学習部303は、制御部31により実現される。
【0024】
[データ記憶部]
データ記憶部300は、学習モデルMの学習に必要なデータを記憶する。例えば、データ記憶部200は、ユーザデータベースDB1、文字コンテンツデータベースDB2、クラスタデータベースDB3、訓練データベースDB4、及び学習モデルMを記憶する。
【0025】
図4は、ユーザデータベースDB1の一例を示す図である。ユーザデータベースDB1は、ユーザ(投稿者を含む)に関する各種情報が格納されたデータベースである。例えば、ユーザデータベースDB1には、ユーザID、ユーザの名前、及びレビュー情報が格納される。ユーザデータベースDB1には、ユーザに関する何らかの情報が格納されるようにすればよく、ユーザデータベースDB1に格納される情報は、
図4の例に限られない。例えば、ユーザデータベースDB1には、ユーザが指定した文字コンテンツ部分が格納されてもよい。この場合、ユーザが指定した文字コンテンツ部分がハイライトされてもよい。
【0026】
ユーザIDは、ユーザを識別可能なユーザ識別情報の一例である。このため、ユーザIDと記載した箇所は、ユーザ識別情報と読み替えることができる。ユーザ識別情報は、ユーザID以外の他の情報であってもよく、ユーザIDに限られない。例えば、ユーザ識別情報は、メールアドレス又は電話番号であってもよい。ユーザ識別情報は、ユーザを何らかの形で識別可能な情報であればよい。例えば、ユーザがグルメサイトに会員登録をすると、ユーザIDが生成されて、ユーザの名前等の各種情報がユーザデータベースDB1に格納される。
【0027】
レビュー情報は、ユーザが投稿したレビューに関する情報である。例えば、レビュー情報は、レビューID、店舗ID、レビューの本文、レーティング、及び投稿日時を示す。レビューIDは、レビューを識別可能なレビュー識別情報の一例である。このため、レビューIDと記載した箇所は、レビュー識別情報と読み替えることができる。レビュー識別情報は、レビューID以外の他の情報であってもよく、レビューIDに限られない。例えば、レビュー識別情報は、連番で発行される番号であってもよい。ユーザがレビューを投稿するたびに、新たなレビューIDが発行されて、レビューが投稿された飲食店の店舗IDやユーザが入力したレビューの本文等の情報とともに、ユーザデータベースDB1に格納される。なお、複数のレビューに関する情報が1つのレビュー情報としてまとめられていてもよい。
【0028】
店舗IDは、グルメサイトに情報が掲載された飲食店を識別可能な店舗識別情報の一例である。このため、店舗IDと記載した箇所は、店舗識別情報と読み替えることができる。店舗識別情報は、店舗ID以外の他の情報であってもよく、店舗IDに限られない。例えば、店舗識別情報は、店舗の名前、メールアドレス、電話番号、又は住所であってもよい。レビューの本文は、ユーザが入力した少なくとも1つの文字である。レビューの本文は、文字以外の他の記号、画像、又は動画を含んでもよい。レビューには、最大の文字数が設定されていてもよい。
【0029】
レーティングは、飲食店に対する評価である。レーティングもレビューの1つである。1つの飲食店に対し、複数のレーティングが存在してもよい。例えば、1つの飲食店に対し、味のレーティング、値段のレーティング、雰囲気のレーティング、及びアクセスのレーティングといった4つのレーティングが存在してもよい。投稿日時は、レビューが投稿された日時である。レビュー情報は、レビューに関する他の情報を示してもよい。例えば、レビュー情報は、レビューのタイトルを示してもよい。
【0030】
図5は、文字コンテンツデータベースDB2の一例を示す図である。文字コンテンツデータベースDB2は、文字コンテンツに関する情報が格納されたデータベースである。例えば、文字コンテンツデータベースDB2には、店舗ID、レビュー画面SC等のURL、及び文字コンテンツ情報が格納される。文字コンテンツデータベースDB2には、文字コンテンツに関する何らかの情報が格納されるようにすればよく、文字コンテンツデータベースDB2に格納される情報は、
図5の例に限られない。例えば、文字コンテンツデータベースDB2には、店舗のジャンル及び写真といった他の情報が格納されてもよい。
【0031】
文字コンテンツ情報は、文字コンテンツに関する情報である。例えば、文字コンテンツ情報は、少なくとも1人のユーザにより投稿されたレビューに関するレビュー情報を含む。文字コンテンツデータベースDB2には、飲食店ごとに、当該飲食店に投稿されたレビューに関するレビュー情報が格納される。個々のレビュー情報の内容は、ユーザデータベースDB1に格納されたレビュー情報と同様であってよいが、
図5の例では、投稿者のユーザIDもレビュー情報に含まれるものとする。ユーザが飲食店にレビューを投稿するたびに、この飲食店の文字コンテンツ情報としてレビュー情報が追加される。文字コンテンツ情報は、レビュー情報以外の他の情報を含んでもよい。文字コンテンツ情報は、飲食店の住所及び電話番号といった基本情報、飲食店のメニューに関する情報、飲食店が入力した説明文、又はその他の情報を含んでもよい。
【0032】
図6は、クラスタデータベースDB3の一例を示す図である。クラスタデータベースDB3は、クラスタに関する情報が格納されたデータベースである。クラスタは、似た意味の表現の集まりである。以降、この表現を、候補表現という。本実施形態では、候補表現は、文字コンテンツ部分の候補である。別の言い方をすれば、候補表現は、ハイライトすべき文字コンテンツ部分を文字コンテンツの中から検索するための検索クエリである。候補表現は、文字コンテンツ部分をハイライトする以外の他の目的で利用されてもよい。例えば、ハイライトではなく、検索結果を表示するための検索クエリとして、候補表現が利用されてもよい。
【0033】
クラスタは、トピックと呼ばれることもある。候補表現は、トピックワードと呼ばれることもある。候補表現は、少なくとも1つの文字を含む。例えば、候補表現は、キーワード又はキーフレーズである。例えば、クラスタデータベースDB3には、クラスタID、クラスタの名前、及びクラスタに属する候補表現が格納される。クラスタデータベースDB3には、他の情報が格納されてもよい。クラスタデータベースDB3に格納される情報は、
図6の例に限られない。例えば、クラスタデータベースDB3には、クラスタのサイズ(候補表現の数)が格納されてもよい。
【0034】
クラスタIDは、クラスタを識別可能なクラスタ識別情報の一例である。このため、クラスタIDと記載した箇所は、クラスタ識別情報と読み替えることができる。クラスタ識別情報は、クラスタID以外の他の情報であってもよく、クラスタIDに限られない。例えば、クラスタ識別情報は、クラスタの名前であってもよい。クラスタ識別情報は、クラスタを何らかの形で識別可能な情報であればよい。後述のクラスタリング実行部301は、クラスタリングを実行すると、クラスタIDを生成し、クラスタに属する候補表現とともにクラスタデータベースDB3に格納する。
【0035】
クラスタの名前は、クラスタIDとは別に、学習モデルMの作成者がクラスタを理解しやすくするために指定した名前である。クラスタの名前は、作成者が指定するのではなく、クラスタに属する候補表現の中で最も出現頻度が高い候補表現が自動的に設定されてもよい。他にも例えば、ベクトル空間におけるクラスタの中心点に最も近い場所に埋め込み表現がある候補表現がクラスタの名前になってもよい。
図6の例では、味、値段、雰囲気、及びアクセスといったように、候補表現の意味がクラスタの名前として利用される。クラスタの名前は、候補表現の分類を表す任意の名前を指定可能である。クラスタには、そのクラスタの名前が示す意味の候補表現が属する。
【0036】
クラスタには、少なくとも1つの候補表現が属する。本実施形態では、複数の候補表現がクラスタに属する場合を説明するが、1つの候補表現しか属さないクラスタが存在してもよい。同じクラスタに属する複数の候補表現は、互いに意味が近い。ここでの意味が近いとは、埋め込み表現の差が小さいことである。埋め込み表現は、候補表現の意味を定量化した指標である。例えば、埋め込み表現が多次元ベクトルで表現される場合、ベクトル間の距離が短いほど、意味が近くなる。埋め込み表現は、多次元ベクトル以外の他の形式で表現されてもよい。例えば、埋め込み表現は、配列又は単一の数値によって表現されてもよい。
【0037】
図7は、訓練データベースDB4の一例を示す図である。訓練データベースDB4は、学習モデルMに学習させる訓練データが格納されたデータベースである。訓練データベースDB4には、任意の数の訓練データが格納されてよい。例えば、数十~数千又はそれ以上の訓練データが、訓練データベースDB4に格納されてもよい。例えば、訓練データは、入力部分及び出力部分のペアである。本実施形態では、このペアを訓練データと記載し、複数の訓練データの集まりを訓練データベースDB4と記載する。
【0038】
訓練データの入力部分は、訓練データのうち、学習時に学習モデルMに対して入力される部分である。訓練データの入力部分は、学習モデルMに直接的に入力されてもよいし、何らかの前処理を挟んだうえで学習モデルMに入力されてもよい。訓練データの入力部分は、原則として、推定時に学習モデルMに対して入力されるデータと同じ形式である。ただし、訓練データの入力部分は、多少であれば、推定時に学習モデルMに対して入力されるデータと異なる形式であってもよい。例えば、ある程度の欠損値が訓練データの入力部分に存在してもよい。
【0039】
本実施形態では、訓練データの入力部分は、訓練ユーザの特性に関する訓練ユーザ特性情報である。訓練ユーザは、訓練用のユーザである。訓練ユーザは、実際にレビューを投稿したユーザであってもよいし、実在しない仮想的なユーザであってもよい。特性とは、人間に関する特徴である。特性は、人間の特徴を何らかの形で定量化して表現する情報であればよく、例えば、入力された文章の特徴、好み、重視する内容、又は重視しない内容である。
【0040】
図7の例では、訓練データの入力部分が、少なくとも1つの文字の埋め込み表現である。例えば、訓練データの入力部分は、訓練ユーザのレビューである訓練レビューから抽出された訓練レビュー部分の埋め込み表現である訓練レビュー表現と、当該レビューが投稿された文字コンテンツである訓練コンテンツから抽出された訓練コンテンツ部分の埋め込み表現である訓練コンテンツ表現と、が統合された統合訓練表現である。訓練データの入力部分の作成方法については、後述する。
【0041】
なお、訓練データの入力部分は、本実施形態の例に限られない。例えば、訓練データの入力部分は、訓練レビュー表現だけであってもよいし、訓練コンテンツ表現だけであってもよい。例えば、訓練データの入力部分は、複数の訓練レビュー表現が統合された統合訓練表現であってもよいし、複数の訓練コンテンツ表現が統合された統合訓練表現であってもよい。訓練データの入力部分は、任意のデータ形式であってよく、本実施形態の例に限られない。例えば、訓練データの入力部分は、少なくとも1つの文字そのものであってもよい。例えば、訓練データの入力部分は、訓練レビュー部分そのものであってもよいし、訓練コンテンツそのものであってもよい。
【0042】
訓練データの出力部分は、訓練データのうち、学習時に学習モデルMから出力されるべき部分である。訓練データの出力部分は、学習時の正解に相当する部分である。学習モデルMからの実際の出力と、訓練データの出力部分と、の違いが小さいほど、学習モデルMの精度が高くなる。訓練データの出力部分は、原則として、推定時に学習モデルMから出力されるデータと同じ形式である。ただし、訓練データの出力部分は、多少であれば、推定時に学習モデルMから出力されるデータと異なる形式であってもよい。例えば、ある程度の欠損値が訓練データの出力部分に存在してもよい。
【0043】
本実施形態では、訓練データの出力部分は、ハイライトされる文字コンテンツ部分に関する情報である。訓練データの出力部分は、ハイライトされる文字コンテンツ部分そのものであってもよいが、本実施形態では、ハイライトされる文字コンテンツ部分を特定するために利用される情報である場合を例に挙げる。
図7の例では、訓練データの出力部分は、クラスタID及びクラスタの名前と、ラベルと、のペアである。ラベルは、訓練データの入力部分がクラスタに属するか否かを示す情報である。即ち、ラベルは、訓練データの入力部分に応じた特性を持ったユーザが興味を持つ話題のクラスタであるか否かを示す情報である。
図7の例では、ラベルが「1」であることは、クラスタに属することを意味する。ラベルが「0」であることは、クラスタに属さないことを意味する。
【0044】
図7の例では、訓練ユーザであるユーザDの統合訓練表現は、味に関する内容と、値段に関する内容と、を示す。ユーザDの統合訓練表現には、味に関するクラスタC1と、値段に関するクラスタC2と、のラベルが「1」になっている。これは、ユーザDが味と値段に興味を持っていることを意味する。この統合訓練表現は、雰囲気に関する内容と、値段に関する内容と、を示さないので、雰囲気に関するクラスタC3と、アクセスに関するクラスタC4と、のラベルが「0」になっている。これは、ユーザDが雰囲気とアクセスには興味を持っていないことを意味する。他のユーザE,Fに対応する訓練データも同様である。
【0045】
なお、訓練データの出力部分には、ラベルではなくスコアが関連付けられていてもよい。スコアは、ハイライトされる文字コンテンツ部分としてのふさわしさである。本実施形態におけるふさわしさとは、ユーザが興味を持つ度合である。本実施形態では、スコアが数値で表現される場合を説明するが、スコアは、文字又は記号で表現されてもよい。本実施形態では、スコアが高いほど、文字コンテンツ部分としてふさわしいことを意味する。
【0046】
また、訓練データの出力部分は、本実施形態の例に限られない。例えば、訓練データの出力部分は、クラスタID及びクラスタの名前と、ラベル又はスコアと、のペアではなく、クラスタID又はクラスタの名前の何れか一方と、ラベル又はスコアと、のペアであってもよい。訓練データの出力部分は、ラベル及びスコアを含まずに、クラスタID及びクラスタの名前の少なくとも一方であってもよい。訓練データの出力部分は、クラスタではなく、ハイライトされる文字コンテンツ部分としてふさわしい文字コンテンツ部分そのものであってもよい。
【0047】
学習モデルMは、機械学習の手法を利用して作成されたモデルである。機械学習自体は、種々の手法を利用可能であり、例えば、ニューラルネットワーク、サポートベクターマシン、又はトランスフォーマーを利用してもよい。データ記憶部300は、学習モデルMのプログラムとパラメータを記憶する。学習モデルMのパラメータが学習によって調整される。データ記憶部300は、パラメータが初期値の学習モデルMを記憶する。後述の学習部303によって学習が行われた後は、データ記憶部300は、学習済みの学習モデルMを記憶する。学習済みの学習モデルMは、サーバ10に送信される。
【0048】
なお、データ記憶部100が記憶するデータは、上記の例に限られない。データ記憶部100は、任意のデータを記憶可能である。例えば、データ記憶部100は、レビュー画面SCを表示させるための表示データを記憶してもよい。表示データは、ユーザ端末20に何らかの画面を表示させるためのデータであればよい。例えば、ブラウザが利用される場合には、表示データは、HTMLデータである。ブラウザ以外の専用のアプリケーションが利用される場合には、表示データは、アプリケーション上で何らかの画面を表示させるための画像データである。
【0049】
[クラスタリング実行部]
クラスタリング実行部301は、ハイライトされる文字コンテンツ部分の候補である候補表現のクラスタリングを実行する。本実施形態では、候補表現がキーワードである場合を説明するが、複数の単語からなるキーフレーズが候補表現に相当してもよいし、キーワードとキーフレーズの組み合わせが候補表現に相当してもよい。このため、本実施形態でキーワードと記載した箇所は、キーフレーズ等の他の任意の候補表現に読み替えることができる。また、本実施形態では、ハイライトされる候補表現が、訓練レビュー部分又は訓練コンテンツ部分である場合を説明する。
【0050】
クラスタリング実行部301は、クラスタリングの実行結果に基づいて、クラスタデータベースDB3を生成してデータ記憶部100に記録する。クラスタリングは、互いに似た意味の表現をまとめる処理である。クラスタリングは、グルーピングと呼ばれることもある。クラスタリング自体は、公知の種々の手法を利用可能である。例えば、クラスタリング実行部301は、最短距離法又は最長距離法等の階層的手法、又は、k近傍法等の非階層的手法に基づいて、クラスタリングを実行する。
【0051】
図8は、クラスタリングの流れの一例を示す図である。例えば、クラスタリング実行部301は、訓練レビューの一部である訓練レビュー部分に基づいて、クラスタリングを実行する。クラスタリング実行部301は、訓練レビューに対して形態素解析を実行し、名詞又は形容詞の部分を、訓練レビュー部分として抽出する。キーワードではなくキーフレーズが利用される場合には、形容詞及び名詞が連続する部分が抽出されてもよい。クラスタリング実行部301は、自然言語処理のライブラリに基づいて、訓練レビューから抽出された訓練レビュー部分の埋め込み表現である訓練レビュー表現を取得する。埋め込み表現の取得では、公知のライブラリを利用可能であり、例えば、fastText、Glove、又はWord2vecが利用されてもよい。
【0052】
例えば、クラスタリング実行部301は、訓練レビューが投稿された文字コンテンツである訓練コンテンツの一部である訓練コンテンツ部分に基づいて、クラスタリングを実行する。クラスタリング実行部301は、訓練コンテンツに対して形態素解析を実行し、名詞又は形容詞の部分を、訓練コンテンツ部分として抽出する。キーワードではなくキーフレーズが利用される場合には、形容詞及び名詞が連続する部分が抽出されてもよい。訓練コンテンツは、飲食店を紹介するページのタイトル、説明文、及び基本情報といった種々の情報を含むので、これらの各々から、訓練コンテンツ部分が抽出される。クラスタリング実行部301は、自然言語処理のライブラリに基づいて、訓練コンテンツから抽出された訓練コンテンツ部分の埋め込み表現である訓練コンテンツ表現を取得する。埋め込み表現の取得では、公知のライブラリを利用可能であり、例えば、fastText、Glove、又はWord2vecが利用されてもよい。
【0053】
例えば、クラスタリング実行部301は、種々の訓練レビューに基づいて取得した訓練レビュー表現と、種々の訓練コンテンツに基づいて取得した訓練コンテンツ表現と、に基づいて、クラスタリングを実行する。
図8の例では、10個のクラスタC1~C10が存在する場合を説明する。以降、クラスタC1~C10を区別しない時は、単にクラスタCという。クラスタCは、任意の数であってよく、
図8の例に限られない。クラスタリング実行部301は、1個~9個のクラスタC、又は、11個以上のクラスタCを特定してもよい。クラスタCの数は、学習モデルMを作成する作成者が指定してもよい。
図8では、クラスタCを囲う四角の枠は、ベクトル空間を示す。
【0054】
例えば、クラスタリング実行部301は、ベクトル空間における互いの距離が近いもの同士が同じクラスタCに属するように、クラスタリングを実行する。個々のクラスタCに属する候補表現の数は、同じであってもよいし、互いに異なってもよい。クラスタリング実行部301は、クラスタCごとに、クラスタIDを発行し、当該クラスタCに属する候補表現がクラスタIDに関連付けられるように、クラスタデータベースDB3を作成する。
【0055】
なお、本実施形態では、クラスタリング実行部301が、訓練レビュー及び訓練コンテンツの両方に基づいて、クラスタリングを実行する場合を説明したが、クラスタリング実行部301は、訓練レビュー表現又は訓練コンテンツ表現の何れか一方のみに基づいて、クラスタリングを実行してもよい。クラスタリング実行部301は、訓練レビュー及び訓練コンテンツ以外の他の文書に含まれる表現に基づいて、クラスタリングを実行してもよい。例えば、クラスタリング実行部301は、グルメサイト以外の他のウェブサイト(例えば、インターネット百科事典)に掲載された表現に基づいて、クラスタリングを実行してもよい。
【0056】
[訓練データ作成部]
訓練データ作成部302は、訓練データを作成する。例えば、訓練データ作成部302は、クラスタリングの実行結果に基づいて、学習モデルMに学習させる訓練データを作成する。訓練データ作成部302は、ある訓練レビューに含まれる訓練レビュー部分に応じた入力部分と、この訓練レビュー部分が属するクラスタのラベルが「1」であることを示す出力部分と、を含む訓練データを作成する。訓練データ作成部302は、ある訓練コンテンツに含まれる訓練コンテンツ部分に応じた入力部分と、この訓練コンテンツ部分が属するクラスタのラベルがオンであることを示す出力部分と、を含む訓練データを作成する。
【0057】
図9及び
図10は、訓練データを作成する流れの一例を示す図である。
図9の例では、
図2のユーザDのレビューから訓練データを作成する流れが示されている。例えば、訓練データ作成部302は、ユーザDが投稿した過去の訓練レビューから訓練レビュー部分を抽出して訓練レビュー表現を取得する。訓練データ作成部302は、ユーザDが訓練レビューを投稿した文字コンテンツである訓練コンテンツから訓練コンテンツ部分を抽出して訓練コンテンツ表現を取得する。これらの流れは、クラスタリングの流れと同様であってよい。
【0058】
例えば、訓練データ作成部302は、訓練レビューから抽出された複数の訓練レビュー部分の各々の訓練レビューを統合して統合訓練レビュー表現を取得する。本実施形態における統合とは、複数の埋め込み表現を1つにまとめることである。例えば、訓練データ作成部302は、複数の埋め込み表現の平均値を計算することによって、統合訓練レビュー表現を計算する。統合訓練レビュー表現は、単純平均であってもよいし、加重平均であってもよい。加重平均における重み付け係数は、任意の値を設定可能である。平均値ではなく、最大値が特定されることによって統合されてもよいし、ベクトルを横方向に連結することによって統合されてもよい。例えば、統合は、Attention Fusionと呼ばれる手法が利用されてもよい。
【0059】
例えば、訓練データ作成部302は、訓練コンテンツから抽出された複数の訓練コンテンツ部分の各々の訓練コンテンツ表現を統合して統合訓練コンテンツ表現を取得する。本実施形態では、訓練データ作成部302は、複数の埋め込み表現の平均値を計算することによって、統合訓練コンテンツ表現を取得する。統合訓練コンテンツ表現の統合は、統合訓練レビュー表現の統合と同様に、平均値等の種々の計算によって取得可能である。
図10に移り、訓練データ作成部302は、統合訓練レビュー表現と、統合訓練コンテンツ表現と、を統合して統合訓練表現を取得する。この統合訓練表現は、訓練データの入力部分に相当する。統合訓練コンテンツ表現の統合も、統合訓練レビュー表現及び統合訓練コンテンツ表現の統合と同様に、平均値等の種々の計算によって取得可能である。
【0060】
例えば、訓練データ作成部302は、クラスタデータベースDB3に基づいて、訓練レビューから抽出した訓練レビュー部分と、訓練コンテンツから抽出した訓練コンテンツ部分と、の各々がクラスタに属するか否かを判定する。訓練データ作成部302は、訓練レビューから抽出した訓練レビュー部分と、訓練コンテンツから抽出した訓練コンテンツ部分と、の各々が属すると判定したクラスタのラベルを「1」にすることによって、訓練データの出力部分を作成する。訓練データ作成部302は、上記のように作成した訓練データの入力部分及び出力部分を結合することによって、訓練データを作成する。訓練データ作成部302は、他の訓練レビュー及び訓練コンテンツに対しても同様の処理を実行し、訓練データを作成する。
【0061】
なお、訓練データの作成方法は、上記の例に限られない。例えば、訓練データ作成部302は、訓練レビュー又は訓練コンテンツの何れか一方のみに基づいて、クラスタリングを実行してもよい。訓練データ作成部302は、訓練レビュー及び訓練コンテンツ以外の他の文書に含まれる表現に基づいて、訓練データを作成してもよい。例えば、訓練データ作成部302は、グルメサイト以外の他のウェブサイト(例えば、インターネット百科事典)に掲載された表現に基づいて、訓練データを作成してもよい。例えば、訓練データは、学習モデルMを作成する作成者が手動で作成してもよい。この場合、訓練データ作成部302は、作成者による入力操作を受け付けることによって、訓練データを作成する。
【0062】
[学習部]
学習部303は、訓練データを、学習モデルMに学習させる。訓練データの学習方法自体は、機械学習で利用されている種々の手法を利用可能である。例えば、学習部303は、勾配降下法又は誤差逆伝播法を利用して、訓練データを、学習モデルMに学習させてもよい。学習部303は、訓練データの入力部分が入力された場合に、訓練データの出力部分が出力されるように、学習モデルMのパラメータを調整する。
【0063】
本実施形態では、学習は、訓練レビューの一部である訓練レビュー部分が属するクラスタに基づいて行われる。訓練レビュー部分は、キーワード又はキーフレーズである。訓練データの出力部分には、クラスタに関する情報が含まれる。例えば、クラスタID及びクラスタの名前と、ラベルと、のペアがクラスタに関する情報に相当する。先述したように、訓練データの出力部分は、クラスタID又はクラスタの名前の何れか一方のみであってもよいし、クラスタに属する候補表現であってもよい。これらの情報が、クラスタに関する情報に相当してもよい。
【0064】
本実施形態では、学習は、訓練レビューと、訓練レビューが投稿された文字コンテンツである訓練コンテンツと、に基づいて行われる。訓練データは、訓練レビュー及び訓練コンテンツの両方に基づいて作成されている。学習部303は、訓練レビュー及び訓練コンテンツの両方を、学習モデルMに学習させる。
図7の訓練データであれば、訓練データの入力部分及び出力部分は、何れも訓練レビュー及び訓練コンテンツの両方に基づいて作成されているので、学習部303は、
図7の訓練データを学習モデルMに学習させることによって、これらの両方を学習モデルMに学習させる。
【0065】
本実施形態では、学習は、訓練レビューの埋め込み表現である訓練レビュー表現と、訓練コンテンツの埋め込み表現である訓練コンテンツ表現と、が統合された統合訓練表現に基づいて行われる。
図7の訓練データであれば、入力部分として統合訓練表現を含むので、学習部303は、訓練データに入力部分として含まれる統合訓練表現を、学習モデルMに学習させる。統合前の埋め込み表現が訓練データに含まれる場合には、学習部303は、訓練レビュー表現と訓練コンテンツ表現を統合したうえで、学習モデルMに学習させる。学習部303は、ある訓練データの統合埋め込み表現が学習モデルMに入力された場合に、この訓練データの出力部分が出力されるように、学習モデルMの学習を実行する。
【0066】
本実施形態では、学習は、複数の訓練レビュー表現と、訓練コンテンツ表現と、が統合された統合訓練表現に基づいて行われる。
図7の訓練データであれば、入力部分として統合埋め込み表現を含むので、学習部303は、訓練データに入力部分として含まれる統合埋め込み表現を、学習モデルMに学習させる。統合前の埋め込み表現が訓練データに含まれる場合には、学習部303は、複数の訓練レビュー表現を統合し、更に訓練コンテンツ表現も統合したうえで、学習モデルMに学習させる。学習部303は、ある訓練データの統合埋め込み表現が学習モデルMに入力された場合に、この訓練データの出力部分が出力されるように、学習モデルMの学習を実行する。
【0067】
本実施形態では、学習は、訓練レビュー表現と、複数の訓練コンテンツ表現と、が統合された統合訓練表現に基づいて行われる。
図7の訓練データであれば、入力部分として統合埋め込み表現を含むので、学習部303は、訓練データに入力部分として含まれる統合埋め込み表現を、学習モデルMに学習させる。統合前の埋め込み表現が訓練データに含まれる場合には、学習部303は、複数の訓練コンテンツ表現を統合し、更に訓練レビュー表現も統合したうえで、学習モデルMに学習させる。学習部303は、ある訓練データの第1統合埋め込み表現が学習モデルMに入力された場合に、この訓練データの出力部分が出力されるように、学習モデルMの学習を実行する。
【0068】
本実施形態では、複数の訓練コンテンツ表現の各々は、訓練コンテンツのうち、互いに異なる項目に関する埋め込み表現である。例えば、学習部303は、訓練コンテンツのタイトルから取得された訓練コンテンツ部分の訓練コンテンツ表現と、訓練コンテンツの説明文から取得された訓練コンテンツ部分の訓練コンテンツ表現と、を学習モデルMに学習させる。学習部303は、これらを統合した埋め込み表現に基づいて、学習モデルMを学習させる。互いに異なる項目は、文字コンテンツに含まれる項目であればよく、タイトルと説明文に限られない。例えば、飲食店の基本情報と、写真に添えられたコメントと、が互いに異なる項目に相当してもよい。
【0069】
[3-2.サーバで実現される機能]
例えば、サーバ10は、データ記憶部100、取得部101、選択部102、及び表示制御部103を含む。データ記憶部100は、記憶部12により実現される。取得部101、選択部102、及び表示制御部103は、制御部11により実現される。
【0070】
[データ記憶部]
データ記憶部100は、文字コンテンツの表示を制御するために必要なデータを記憶する。例えば、データ記憶部100は、ユーザデータベースDB1、文字コンテンツデータベースDB2、クラスタデータベースDB3、及び学習モデルMを記憶する。本実施形態では、データ記憶部100に記憶されるこれらのデータが、学習端末30のデータ記憶部300に記憶されるデータと同じである場合を説明するが、一部のデータは異なってもよい。データ記憶部100は、学習済みの学習モデルMを記憶する。
【0071】
[取得部]
取得部101は、ユーザの特性に関するユーザ特性情報を取得する。特性は、分類又は属性ということもできる。本実施形態では、特性は、ユーザが興味を持ちそうな文字コンテンツ部分に関する情報である。例えば、学習モデルMから出力されるクラスタに関する情報(例えば、訓練データの出力部分に相当する情報)がユーザ特性情報に相当する。ユーザ特性情報は、何らかの形で特性を表現する情報であればよく、本実施形態の例に限られない。例えば、性別又は年齢といったでもグラフィック情報、ユーザの行動履歴(例えば、ウェブサイトの閲覧履歴、又は、商品の購入履歴)、ユーザが入力した検索クエリ、ユーザ端末20の通信部23又はGPS受信機に基づいて特定された位置情報、又はこれらの組み合わせが、ユーザ特性情報に相当してもよい。
【0072】
本実施形態では、取得部101が、ユーザにより投稿されたレビューであるユーザレビューに基づいて、ユーザ特性情報を取得する場合を例に挙げる。ユーザレビューは、ユーザが過去に投稿したレビューである。ユーザが今現在で見ている飲食店と、ユーザレビューが投稿された飲食店と、は同じであってもよいし異なってもよい。本実施形態では、ユーザレビューは、ユーザデータベースDB1にレビュー情報が格納されたレビューである。ユーザレビューは、ユーザデータベースDB1以外の他のデータベースに格納されていてもよい。例えば、ユーザレビューは、文字コンテンツデータベースDB2又は他のデータベースに格納されていてもよい。
【0073】
本実施形態では、取得部101が、ユーザレビューと、訓練用のレビューである訓練レビューに基づいて学習が行われた学習モデルMと、に基づいて、ユーザ特性情報を取得する場合を例に挙げる。取得部101は、機械学習を利用した学習モデルMではなく、ユーザレビューとユーザ特性情報の関係を定義したルールに基づいて、ユーザ特性情報を取得してもよい。例えば、ルールには、ユーザレビューに含まれるキーワード又はキーフレーズと、ユーザの特性と、の関係が定義されている。他にも例えば、取得部101は、ユーザレビューに対して形態素解析を実行し、全ての名詞又は一部の名詞を、ユーザ特性情報として取得してもよい。ユーザ特性情報は、文字コンテンツ部分を特定するための情報であればよく、ユーザ特性情報を取得するための処理は、本実施形態の例に限られない。
【0074】
本実施形態では、取得部101は、ユーザレビューと、学習モデルMと、に基づいて、ユーザレビューに応じたクラスタに関するユーザ特性情報を取得する。クラスタに関する情報の意味は、先述した通りである。本実施形態の学習モデルMは、クラスタとラベルのペアをユーザ特性情報として出力するので、取得部101は、ユーザレビューに基づいて学習モデルMの出力を取得することによって、ユーザ特性情報を取得する。
【0075】
図11及び
図12は、学習モデルMを利用してユーザ特性情報を取得する処理の一例を示す図である。
図11及び
図12の例では、
図2のレビュー画面SCが表示される場合にユーザ特性情報が取得される処理が示されている。
図2の例では、ユーザCがBBBラーメンショップのレビュー画面SCにアクセスしているので、ユーザCのユーザレビューと、BBBラーメンショップの文字コンテンツと、に基づいて、ユーザ特性情報が取得される。ユーザCは、BBBラーメンショップにユーザレビューを投稿していることもあるし、BBBラーメンショップにはユーザレビューを投稿しておらず、他の飲食店にのみユーザレビューを投稿していることもある。
【0076】
図11及び
図12のように、ユーザ特定情報を取得する処理の全体的な流れは、
図9及び
図10を参照して説明した学習時の処理と同様の処理である。例えば、取得部101は、複数のユーザレビューの各々の埋め込み表現であるユーザレビュー表現を統合して統合ユーザ表現を取得し、当該統合ユーザ表現と、学習モデルMと、に基づいて、ユーザ特性情報を取得する。ユーザCが1つのユーザレビューしか投稿していなければ、取得部101は、1つのユーザレビューの埋め込み表現であるユーザレビュー表現に基づいて、ユーザ特性情報を取得する。
【0077】
図11の例であれば、取得部101は、ユーザCのユーザレビューから複数のユーザレビュー部分を抽出する。この処理は、訓練レビューから訓練レビュー部分を抽出する処理と同様である。取得部101は、複数のユーザレビュー部分の各々の埋め込み表現であるユーザレビュー表現を取得する。この処理は、訓練レビュー部分から訓練レビュー表現を取得する処理と同様である。取得部101は、複数のユーザレビュー表現を統合し、統合ユーザレビュー表現を取得する。この処理は、複数の訓練レビュー表現を統合する処理と同様である。
【0078】
例えば、取得部101は、BBBラーメンショップの文字コンテンツから複数の文字コンテンツ部分を抽出する。この処理は、訓練コンテンツから訓練コンテンツ部分を抽出する処理と同様である。取得部101は、複数の文字コンテンツ部分の各々の埋め込み表現である文字コンテンツ表現を取得する。この処理は、訓練コンテンツ部分から訓練コンテンツ表現を取得する処理と同様である。取得部101は、複数の文字コンテンツ表現を統合し、統合文字コンテンツ表現を取得する。この処理は、複数の訓練コンテンツ表現を統合する処理と同様である。
【0079】
図11に移り、例えば、取得部101は、ユーザレビューの埋め込み表現であるユーザレビュー表現と、文字コンテンツの埋め込み表現である文字コンテンツ表現と、を統合して統合ユーザ表現を取得し、当該統合ユーザ表現と、学習モデルMと、に基づいて、ユーザ特性情報を取得する。取得部101は、統合ユーザ表現を学習モデルMに入力する。学習モデルMは、必要に応じて畳み込み等の処理を実行したうえで、当該入力された統合ユーザ表現に応じたユーザ特性情報を出力する。取得部101は、当該出力されたユーザ特性情報を取得する。
【0080】
図12の例では、ユーザ特性情報は、クラスタとスコアのペアである。ユーザ特性情報は、スコアではなく、訓練データの出力部分と同様のラベルを含んでもよい。スコアが高いことは、クラスタが属する候補表現が適切である(ユーザが興味を持つ)確率が高いことを意味する。機械学習のスコアリング自体は、公知の種々のスコアリング手法を利用可能である。クラスタとスコアのペアではなく、スコアが最も高いクラスタのクラスタIDだけが出力されてもよいし、スコアが閾値以上の全てのクラスタのクラスタIDが出力されてもよい。例えば、スコアが高い順に所定数のクラスタのクラスタIDが出力されてもよい。
【0081】
[選択部]
選択部102は、ユーザ特性情報に基づいて、ユーザによる文字入力を要することなく、文字を含むコンテンツである文字コンテンツの中から、文字コンテンツの一部である文字コンテンツ部分を選択する。文字入力は、テキスト入力と呼ばれることもある。操作部24がキーボードである場合、文字入力は、キーボードのキーを押す行為である。操作部24がタッチパネルである場合、文字入力は、表示部25に表示されたソフトウェアキーボードに対するフリック又はタップである。文字入力を要することがないとは、これらの操作をしないことである。文字入力は、操作部24からの入力に限られず、音声入力を意味してもよい。
【0082】
文字コンテンツ部分は、少なくとも1つの文字である。文字コンテンツ部分は、任意の文字数であってよく、1文字だけであってもよいし、2文字~10文字又はそれ以上であってもよい。文字コンテンツ部分は、文字以外の他の要素を含んでもよい。他の要素は、文字コンテンツの一部であり、例えば、画像又は動画である。例えば、選択部102は、文字コンテンツの中から、ユーザ特性情報に応じた文字コンテンツ部分を選択する。
【0083】
図12の例では、学習モデルMから出力されたクラスタとスコアのペアがユーザ特性情報に相当する。例えば、選択部102は、スコアが最も高いクラスタに属する候補表現をクエリにして、文字コンテンツを検索する。
図12の例では、クラスタC1のスコアが最も高いので、選択部102は、クラスタC1の候補表現である「醤油」「こってり」「あっさり」といった候補表現をクエリにして、文字コンテンツを検索する。検索は、完全一致が要求されてもよいし、完全一致が要求されないあいまい検索であってもよい。選択部102は、文字コンテンツのうち、検索でヒットした部分を、文字コンテンツ部分として選択する。
【0084】
なお、選択部102は、スコアが最も高いクラスタだけではなく、スコアが2番目以降のクラスタに属する候補表現もクエリにしてもよい。例えば、選択部102は、スコアが高い順に所定数のクラスタを選択し、当該選択されたクラスタに属する候補表現をクエリにしてもよい。選択部102は、スコアが閾値以上の全てのクラスタを選択し、当該選択されたクラスタに属する候補表現をクエリにしてもよい。
【0085】
また、選択部102は、ユーザ特性情報の内容に応じて、文字コンテンツ部分を選択すればよい。例えば、ユーザ特性情報が、クラスタとラベルの組み合わせである場合には、選択部102は、ラベルが1のクラスタに属する候補表現をクエリにして、文字コンテンツを検索すればよい。例えば、ユーザ特性情報が候補表現そのものを示す場合には、選択部102は、ユーザ特性情報が示す候補表現をクエリにして、文字コンテンツを検索すればよい。
【0086】
[表示制御部]
表示制御部103は、文字コンテンツ部分を識別できるように、文字コンテンツを表示部25(ディスプレイの一例)に表示させる。文字コンテンツ部分を識別できるとは、文字コンテンツ部分の表示と、他の部分の表示と、を異ならせることである。例えば、表示制御部103は、文字コンテンツのうち、文字コンテンツ部分をハイライトする。ハイライトとは、視覚的に強調する画像処理であり、例えば、背景色を変えること、文字色を変えること、文字フォントを変えること、文字サイズを大きくすること、イタリックにすること、下線を引くこと、その他のエフェクトをすること、又はこれらの組み合わせである。
【0087】
図2の例では、表示制御部103は、文字コンテンツのうち、文字コンテンツ部分をハイライトする。ハイライトの色は、予め定められた色であればよい。本実施形態では、サーバ10により表示制御部103が実現されるので、表示制御部103は、文字コンテンツ部分を識別できるようにした文字コンテンツの表示データを生成してユーザ端末20に送信することによって、当該文字コンテンツを表示部25に表示させる。表示データは、任意の形式であってよい。例えば、ブラウザで文字コンテンツを表示させる場合、表示データは、HTML形式である。ブラウザ以外の他のアプリケーションが利用される場合、表示データは、他のアプリケーションでサポートされている画像データ等の形式であればよい。
【0088】
[3-3.ユーザ端末で実現される機能]
ユーザ端末20は、データ記憶部200、表示制御部201、及び操作受付部202を含む。データ記憶部200は、記憶部22により実現される。表示制御部201及び操作受付部202は、制御部21により実現される。
【0089】
[データ記憶部]
データ記憶部200は、文字コンテンツを表示するために必要なデータを記憶する。例えば、データ記憶部200は、ブラウザ又は専用のアプリケーションを記憶する。
【0090】
[表示制御部]
表示制御部201は、文字コンテンツを表示部25に表示させる。例えば、表示制御部201は、サーバ10から受信したレビュー画面SCの表示データに基づいて、レビュー画面SCを表示部25に表示させる。文字コンテンツは、レビュー画面SC以外の他の画面として表示されてもよい。
【0091】
[操作受付部]
操作受付部202は、ユーザによる各種操作を受け付ける。例えば、操作受付部202は、ユーザレビューの入力を受け付ける。操作受付部202が受け付けた内容は、サーバ10に送信される。
【0092】
[4.表示制御システムで実行される処理]
本実施形態では、表示制御システム1で実行される処理の一例として、学習モデルMの学習を行う学習処理と、文字コンテンツの表示を制御する表示制御処理と、を説明する。表示制御システム1では、他の処理も実行可能である。表示制御システム1で実行される処理は、学習処理及び表示制御処理に限られない。例えば、ユーザレビューの投稿を受け付ける処理等も実行可能である。
【0093】
[4-1.学習処理]
図13は、学習処理の一例を示す図である。学習処理は、制御部11,31がそれぞれ記憶部12,32に記憶されたプログラムに従って動作することによって実行される。
図13のように、学習端末30は、サーバ10に対し、ユーザレビュー及び文字コンテンツの取得要求を送信する(S100)。取得要求は、ユーザレビュー及び文字コンテンツを取得するための要求である。取得要求は、所定形式のデータが送信されることによって行われる。
【0094】
サーバ10は、学習端末30から取得要求を受信すると(S101)、ユーザデータベースDB1及び文字コンテンツデータベースDB2を参照し、学習端末30に対し、複数のユーザレビューと、複数の文字コンテンツと、を送信する(S102)。学習端末30は、複数のユーザレビューと、複数の文字コンテンツと、を受信する(S103)。S103では、学習端末30は、複数のユーザレビューと、複数の文字コンテンツと、を記憶部32に記録する(S104)。S104では、学習端末30は、ユーザデータベースDB1と、文字コンテンツデータベースDB2と、を作成する。
【0095】
以降、S104で記録されたユーザレビュー及び文字コンテンツは、それぞれ訓練レビュー及び訓練コンテンツとして利用される。学習端末30は、複数の訓練レビューの各々に対し、形態素解析を実行して訓練レビュー部分を抽出する(S105)。学習端末30は、S105で抽出した訓練レビュー部分の埋め込み表現である訓練レビュー表現を取得する(S106)。学習端末30は、複数の訓練コンテンツの各々に対し、形態素解析を実行して訓練コンテンツ部分を抽出する(S107)。
【0096】
学習端末30は、S107で抽出した訓練コンテンツ部分の埋め込み表現である訓練コンテンツ表現を取得する(S108)。学習端末30は、S106で取得した訓練レビュー表現と、S108で取得した訓練コンテンツ表現と、を結合して統合訓練表現を取得することによって、訓練データの入力部分を作成する(S109)。
図4,5のデータ格納例であれば、S105~S109の処理は、個々の訓練レビューと、当該訓練レビューが投稿された訓練コンテンツと、のペアごとに実行される。このため、これらのペアの数だけ訓練データの入力部分が作成されることになる。
【0097】
学習端末30は、種々の訓練レビューから抽出した訓練レビュー表現と、種々の訓練コンテンツから抽出した訓練コンテンツ表現と、に基づいて、クラスタリングを実行する(S110)。S110では、学習端末30は、クラスタCのクラスタID及び名前と、当該クラスタに属する候補表現と、のペアに基づいて、クラスタデータベースDB3を作成する。学習端末30は、S105で抽出した訓練レビュー部分と、S107で抽出した訓練コンテンツ部分と、のペアごとに、これらが候補表現としてクラスタCに存在するか否かを判定し、訓練データの出力部分を作成する(S111)。
【0098】
なお、S110のクラスタリングは、個々の訓練レビューと、当該訓練レビューが投稿された訓練コンテンツと、のペアに関係なく、全ての訓練レビュー及び訓練コンテンツが対象になるものとする。ただし、クラスタリングは、一部の訓練レビュー及び訓練コンテンツだけに基づいて実行されてもよい。例えば、出現頻度が相対的に高い訓練レビュー部分及び訓練コンテンツ部分だけがクラスタリングの対象になってもよい。一方で、S111の処理は、個々の訓練レビューと、当該訓練レビューが投稿された訓練コンテンツと、のペアごとに実行される。このため、これらのペアの数だけ訓練データの出力部分が作成されることになる。
【0099】
学習端末30は、S109で作成した訓練データの入力部分と、S111で作成した訓練データの出力部分と、を結合することによって、訓練データを作成する(S112)。S112では、学習端末30は、種々の訓練データを作成して訓練データベースDB4に格納する。学習端末30は、訓練データに基づいて、学習モデルMの学習を行う(S113)。学習端末30は、サーバ10に対し、学習済みの学習モデルMと、クラスタデータベースDB3と、を送信する(S114)。サーバ10は、学習済みの学習モデルMと、クラスタデータベースDB3と、を受信し(S115)、学習処理は終了する。S115では、サーバ10は、学習済みの学習モデルMと、クラスタデータベースDB3と、を記憶部12に記録する。以降、後述の表示制御処理が実行される。
【0100】
[4-2.表示制御処理]
図14は、表示制御処理の一例を示す図である。
図14の処理は、制御部11,21がそれぞれ記憶部12,22に記憶されたプログラムに従って動作することによって実行される。
図14のように、ユーザ端末20は、サーバ10に対し、レビュー画面SCの表示要求を送信する(S200)。表示要求は、レビュー画面SCを表示するための要求である。表示要求は、所定形式のデータが送信されることによって行われる。
【0101】
サーバ10は、表示要求を受信すると(S201)、ユーザデータベースDB1及び文字コンテンツデータベースDB2を参照し、ユーザレビュー及び文字コンテンツを取得する(S202)。サーバ10は、ユーザレビューに対し、形態素解析を実行してユーザレビュー部分を抽出する(S203)。サーバ10は、S202で抽出したユーザレビュー部分の埋め込み表現であるユーザレビュー表現を取得する(S204)。
【0102】
サーバ10は、文字コンテンツに対し、形態素解析を実行して文字コンテンツ部分を抽出する(S205)。サーバ10は、S205で抽出した文字コンテンツ部分の埋め込み表現である文字コンテンツ表現を取得する(S206)。サーバ10は、S204で取得したユーザレビュー表現と、S206で取得した文字コンテンツ表現と、を結合して結合ユーザ表現を取得する(S207)。
【0103】
サーバ10は、学習モデルMに対し、S207で結合した統合ユーザ表現を入力する(S208)。S208では、学習モデルMは、入力された統合ユーザ表現に応じたユーザ特性情報を出力する。サーバ10は、学習モデルMから出力されたユーザ特性情報を取得する(S209)。サーバ10は、ユーザ特性情報に基づいて、最もスコアが高いクラスタを選択する(S210)。サーバ10は、クラスタデータベースDB3を参照し、S210で選択したクラスタに属する候補表現をクエリにして、表示要求が行われた文字コンテンツ内を検索する(S211)。
【0104】
サーバ10は、S211の検索結果に基づいて、文字コンテンツのうち、S210で選択したクラスタに属する候補表現と同じ文字コンテンツ部分をハイライトさせたレビュー画面SCの表示データを生成してユーザ端末20に送信する(S212)。ユーザ端末20は、表示データを受信すると(S213)、レビュー画面SCを表示部25に表示させ(S214)、表示制御処理は終了する。
【0105】
本実施形態の表示制御システム1は、ユーザ特性情報に基づいて、ユーザによる文字入力を要することなく、文字を含むコンテンツである文字コンテンツの中から、文字コンテンツの一部である文字コンテンツ部分を選択する。表示制御システム1は、当該選択された文字コンテンツ部分を識別できるように、文字コンテンツを表示部25に表示させる。これにより、ユーザが文字入力をしなくても、文字コンテンツにおける文字コンテンツ部分を識別しやすくなるので、ユーザの利便性が高まる。例えば、
図2のレビュー画面SCのように、ユーザが興味を持ちそうな文字コンテンツ部分が自動的にハイライトされるので、ユーザがブラウザのメニューから検索ワードを入力するといった手間を省ける。文字コンテンツ部分のハイライトによって、ユーザが文字コンテンツ部分を目視で探すといった手間も省ける。
【0106】
また、表示制御システム1は、ユーザにより投稿されたレビューであるユーザレビューに基づいて、ユーザ特性情報を取得する。ユーザの好みが直接的に表れたユーザレビューに基づいてユーザ特性情報を取得することによって、ユーザの特性をより適切に示すユーザ特性情報を取得できる。
【0107】
また、表示制御システム1は、ユーザレビューと、訓練レビューに基づいて学習が行われた学習モデルMと、に基づいて、ユーザ特性情報を取得する。学習モデルMを利用することによって、ユーザの特性をより適切に示すユーザ特性情報を取得できる。
【0108】
また、学習は、訓練レビュー部分が属するクラスタに基づいて行われる。表示制御システム1は、ユーザレビューと、学習モデルMと、に基づいて、ユーザレビューに応じたクラスタに関するユーザ特性情報を取得する。これにより、互いに似た意味を有する訓練レビュー部分を学習モデルに学習させることができるので、ユーザレビュー部分と似た意味を有する他の表現も考慮してユーザ特性情報を取得できる。その結果、ユーザレビュー部分とは異なる他の表現も文字コンテンツ部分としてハイライトできる。
【0109】
また、表示制御システム1は、訓練レビュー部分に基づいて、クラスタリングを実行する。表示制御システム1は、クラスタリングの実行結果に基づいて、学習モデルMに学習させる訓練データを作成する。表示制御システム1は、訓練データを、学習モデルMに学習させる。これにより、訓練データの作成を自動化できるので、学習モデルMの作成者の手間を省ける。
【0110】
また、表示制御システム1は、訓練コンテンツ部分に基づいて、クラスタリングを実行する。表示制御システム1は、クラスタリングの実行結果に基づいて、学習モデルMに学習させる訓練データを作成する。表示制御システム1は、訓練データを、学習モデルMに学習させる。これにより、訓練データの作成を自動化しつつ、訓練コンテンツの傾向を学習モデルMに学習させることができるので、学習モデルMの精度が高まる。
【0111】
また、表示制御システム1は、統合ユーザ表現と、学習モデルMと、に基づいて、ユーザ特性情報を取得する。これにより、種々のユーザレビューの傾向を統合したうえで学習モデルMに学習させることができるので、学習モデルMの精度が高まる。
【0112】
また、表示制御システム1は、ユーザレビュー表現と、文字コンテンツ表現と、を統合して統合ユーザ表現を取得し、当該統合ユーザ表現と、学習モデルMと、に基づいて、ユーザ特性情報を取得する。これにより、ユーザレビューと文字コンテンツの両方の傾向を統合したうえで学習モデルMに学習させることができるので、学習モデルMの精度が高まる。
【0113】
また、学習は、訓練レビューと、訓練レビューが投稿された文字コンテンツである訓練コンテンツと、に基づいて行われる。これにより、訓練レビューと訓練コンテンツの関係を学習モデルMに学習させることができるので、学習モデルMの精度が高まる。
【0114】
また、学習は、訓練レビュー表現と、訓練コンテンツ表現と、が統合された統合訓練表現に基づいて行われる。これにより、訓練レビューと訓練コンテンツの両方の傾向を統合したうえで学習モデルMに学習させることができるので、学習モデルMの精度が高まる。
【0115】
また、学習は、複数の訓練レビュー表現と、訓練コンテンツ表現と、が統合された統合訓練表現に基づいて行われる。これにより、種々の訓練レビューと、訓練コンテンツと、の傾向を統合したうえで学習モデルMに学習させることができるので、学習モデルMの精度が高まる。
【0116】
また、学習は、訓練レビュー表現と、複数の訓練コンテンツ表現と、が統合された統合訓練表現に基づいて行われる。これにより、訓練レビューと、種々の訓練コンテンツと、の傾向を統合したうえで学習モデルMに学習させることができるので、学習モデルMの精度が高まる。
【0117】
また、表示制御システム1は、複数の訓練コンテンツ表現の各々は、訓練コンテンツのうち、互いに異なる項目に関する埋め込み表現である。これにより、ある単一の項目だけではなく、種々の項目の傾向を学習モデルMに学習させることができるので、学習モデルMの精度が高まる。
【0118】
[5.変形例]
なお、本開示は、以上に説明した実施形態に限定されるものではない。本開示の趣旨を逸脱しない範囲で、適宜変更可能である。
【0119】
[5-1.変形例1]
例えば、感情が強く表れている表現もあれば、感情がさほど強く表れていない表現もある。例えば、loveという単語は、likeよりも強い感情が表れている。hateという単語は、dislikeよりも強い感情が表れている。感情が強く表れた表現を文字コンテンツ部分としてハイライトした方が、ユーザがより興味を持つ文字コンテンツ部分を目立たせることができると考えられる。このため、感情分析が実行されたうえで、クラスタリングを実行してもよい。
【0120】
図15は、変形例1における機能の一例を示す図である。変形例1の表示制御システム1は、感情分析実行部304を含む。感情分析実行部304は、訓練レビューに対する感情分析を実行する。感情分析自体は、公知の手法を利用可能である。例えば、感情を示す用語が登録された感情辞書を予め用意する手法であってもよい。感情辞書には、用語ごとに、肯定的であるか否定的であるかを示す分類が定義されている。感情辞書には、感情の強さを示す数値が定義されていてもよい。
【0121】
例えば、感情分析実行部304は、訓練レビューに対して形態素解析を実行し、個々の形態素が感情辞書に存在するか否かを判定することによって、感情分析を実行する。感情分析実行部304は、用語の係り受けを考慮して、感情分析を実行してもよい。感情分析実行部304は、テキストマイニングによって、肯定的、中立、又は否定的の3パターンに分類する手法を利用して感情分析を実行してもよい。
【0122】
変形例1のクラスタリング実行部301は、訓練レビュー部分と、感情分析の実行結果と、に基づいて、クラスタリングを実行する。例えば、クラスタリング実行部301は、感情分析によって肯定的とされた表現の出現回数に対し、中立とされた表現の出現回数よりも大きい重み付け係数を設定し、表現の出現回数を計算する。これにより、クラスタリング実行部301は、より強い感情が表れた表現を候補表現としてクラスタに残すことができる。
【0123】
変形例1の表示制御システム1は、訓練レビュー部分と、感情分析の実行結果と、に基づいて、クラスタリングを実行する。これにより、感情分析の実行結果をクラスタリングの実行結果に影響させることができるので、クラスタリングの精度が高まる。例えば、より強い感情が表れた表現をクラスタに残しやすくなる。
【0124】
[5-2.変形例2]
例えば、訓練レビューは、過去に投稿された複数のレビューのうち、相対的に新しいレビューであってもよい。
図2のレビュー画面SCであれば、ユーザDが100個のレビューを投稿したとすると、この中で相対的に新しい10個のレビューだけが、訓練レビューとして利用されてもよい。レビューの新しさは、レビューの投稿日時に基づいて判定される。
【0125】
なお、相対的に新しいレビューは、10個に限られず、任意の数であってよい。例えば、1個~9個又は11個以上であってもよい。複数のレビューのうち、投稿日時が新しい順に所定数のレビューが訓練レビューとして利用されてもよいし、投稿日時が直近の所定期間である全てのレビューが訓練レビューとして利用されてもよい。訓練レビューとして利用されるユーザレビューが実施形態とは異なるが、他の点については、実施形態と同様である。
【0126】
変形例2の訓練レビューは、過去に投稿された複数のレビューのうち、相対的に新しいレビューである。これにより、最新のトレンドを学習モデルMに学習させることができる。例えば、レビュー画面SCのうち、ユーザが最近興味を持ち始めた内容をハイライトできる。
【0127】
[5-3.変形例3]
例えば、訓練レビューは、レビューの投稿数が閾値以上の投稿者により投稿されたレビューであってもよい。閾値は、任意の値を設定可能であり、固定値であってもよいし、可変値であってもよい。例えば、訓練データ作成部302は、ユーザデータベースDB1を参照し、個々のユーザによるレビューの投稿数を計算する。訓練データ作成部302は、投稿数が閾値以上の訓練レビューに基づいて、訓練データを作成する。訓練レビューとして利用されるユーザレビューが実施形態とは異なるが、他の点については、実施形態と同様である。
【0128】
変形例3の訓練レビューは、レビューの投稿数が閾値以上の投稿者により投稿されたレビューである。これにより、信頼性のあるレビューだけを学習モデルMに学習させることができるので、学習モデルMの精度が高まる。
【0129】
[5-4.変形例4]
例えば、取得部101は、ユーザレビューの一部であるユーザレビュー部分のうち、出現度が相対的に高いユーザレビュー部分を、ユーザ特性情報として取得してもよい。例えば、ユーザレビュー部分は、ユーザレビューで頻出するキーワード又はキーフレーズである。変形例4では、実施形態で説明した学習モデルMが利用されないものとする。
【0130】
取得部101は、ユーザごとに、ユーザレビューに含まれるキーワードの出現回数をカウントする。例えば、取得部101は、出現回数が多い順に所定数のキーワード若しくはキーフレーズ、又は、出現回数が閾値以上の全てのキーワード若しくはキーフレーズを、ユーザ特定情報として取得する。変形例4の選択部102は、文字コンテンツの中から、ユーザ特性情報が示すキーワード又はキーフレーズを検索し、文字コンテンツ部分としてハイライトさせる。
【0131】
変形例4の表示制御システム1は、ユーザレビューの一部であるユーザレビュー部分のうち、出現度が相対的に高いユーザレビュー部分を、ユーザ特性情報として取得する。これにより、ユーザの特性をより表しているユーザレビュー部分をユーザ特性情報とすることができる。
【0132】
[5-5.変形例5]
例えば、変形例4のようにユーザ特性情報を取得する場合に、取得部101は、ユーザレビューに対する感情分析を実行し、当該感情分析の実行結果に基づいて、ユーザ特性情報を取得してもよい。取得部101は、感情が強いほど、出現回数の重み付けを高くする。この場合、取得部101は、変形例1で説明した感情分析実行部304と同様の機能を有してもよい。例えば、取得部101は、感情辞書に定義された感情の強さを示す数値が高いほど、出現回数の重み付けを高くする。出現回数が計算された後のクラスタリング自体は、実施形態で説明した公知のクラスタリングを利用可能である。
【0133】
変形例5の表示制御システム1は、ユーザレビューに対する感情分析を実行し、当該感情分析の実行結果に基づいて、ユーザ特性情報を取得する。これにより、ユーザの感情を考慮したユーザ特性情報を取得できる。
【0134】
[5-6.変形例6]
例えば、本開示は、実施形態で説明したユーザの利便性を高めるといった課題以外の他の課題を解決する構成を含む。他の課題の一例としては、学習モデルMの精度を高めるといった課題が存在する。この場合、実施形態で説明した文字コンテンツ部分をハイライトする構成がなくてもよい。このため、本開示は、表示制御システム1だけではなく、学習モデルMを利用した学習システムも含む。学習システムは、学習端末30だけを含んでもよいし、学習端末30以外の他のコンピュータを含んでもよい。学習システムは、選択部102及び表示制御部103を含まなくてもよい。学習システムは、クラスタリング実行部301、訓練データ作成部302、及び学習部303だけを含んでもよい。
【0135】
[5-7.その他の変形例]
例えば、上記説明した変形例を組み合わせてもよい。
【0136】
例えば、実施形態では、ユーザが興味を持ちそうな文字コンテンツ部分を、学習モデルを利用して推定する場合を説明したが、ユーザが興味を持ちそうな文字コンテンツ部分は、ユーザが予め登録しておいてもよい。この場合、ユーザが指定した文字コンテンツ部分が、ユーザ特性情報として、ユーザデータベースDB1に格納される。取得部101は、ユーザデータベースDB1を参照し、ユーザが指定した文字コンテンツ部分を、ユーザ特性情報として取得する。表示制御部103は、文字コンテンツの中から、ユーザ特性情報が示す文字コンテンツ部分と同じ文字コンテンツ部分を選択してもよい。
【0137】
例えば、サーバ10、ユーザ端末20、又は学習端末30で実現されるものとして説明した機能は、表示制御システム1における少なくとも1つのコンピュータにより実現されるようにすればよく、複数のコンピュータで機能が分担されてもよい。この場合、複数のコンピュータの各々が、他のコンピュータに対し、自身の処理結果を送信することによって、機能の分担が実現されるようにすればよい。例えば、学習端末30で実現されるものとして説明した機能は、サーバ10により実現されてもよい。例えば、サーバ10で実現されるものとして説明した機能は、ユーザ端末20により実現されてもよい。
【0138】
[6.付記]
例えば、表示制御システムは、下記のような構成も可能である。
(1)
ユーザの特性に関するユーザ特性情報を取得する取得部と、
前記ユーザ特性情報に基づいて、前記ユーザによる文字入力を要することなく、文字を含むコンテンツである文字コンテンツの中から、前記文字コンテンツの一部である文字コンテンツ部分を選択する選択部と、
前記文字コンテンツ部分を識別できるように、前記文字コンテンツをディスプレイに表示させる表示制御部と、
を含む表示制御システム。
(2)
前記取得部は、前記ユーザにより投稿されたレビューであるユーザレビューに基づいて、前記ユーザ特性情報を取得する、
(1)に記載の表示制御システム。
(3)
前記取得部は、前記ユーザレビューと、訓練用のレビューである訓練レビューに基づいて学習が行われた学習モデルと、に基づいて、前記ユーザ特性情報を取得する、
(2)に記載の表示制御システム。
(4)
前記学習は、前記訓練レビューの一部である訓練レビュー部分が属するクラスタに基づいて行われ、
前記取得部は、前記ユーザレビューと、前記学習モデルと、に基づいて、前記ユーザレビューに応じた前記クラスタに関する前記ユーザ特性情報を取得する、
(3)に記載の表示制御システム。
(5)
前記表示制御システムは、
前記訓練レビュー部分に基づいて、クラスタリングを実行するクラスタリング実行部と、
前記クラスタリングの実行結果に基づいて、前記学習モデルに学習させる訓練データを作成する訓練データ作成部と、
前記訓練データを、前記学習モデルに学習させる学習部と、
を更に含む(4)に記載の表示制御システム。
(6)
前記表示制御システムは、前記訓練レビューに対する感情分析を実行する感情分析実行部を更に含み、
前記クラスタリング実行部は、前記訓練レビュー部分と、前記感情分析の実行結果と、に基づいて、前記クラスタリングを実行する、
(5)に記載の表示制御システム。
(7)
前記クラスタリング実行部は、前記訓練レビューが投稿された文字コンテンツである訓練コンテンツの一部である訓練コンテンツ部分に基づいて、クラスタリングを実行し、
前記訓練データ作成部は、前記クラスタリングの実行結果に基づいて、前記学習モデルに学習させる訓練データを作成し、
前記学習部は、前記訓練データを、前記学習モデルに学習させる、
(4)~(6)の何れかに記載の表示制御システム。
(8)
前記取得部は、複数の前記ユーザレビューの各々の埋め込み表現であるユーザレビュー表現を統合して統合ユーザ表現を取得し、当該統合ユーザ表現と、前記学習モデルと、に基づいて、前記ユーザ特性情報を取得する、
(3)~(7)の何れかに記載の表示制御システム。
(9)
前記取得部は、前記ユーザレビューの埋め込み表現であるユーザレビュー表現と、前記文字コンテンツの埋め込み表現である文字コンテンツ表現と、を統合して統合ユーザ表現を取得し、当該統合ユーザ表現と、前記学習モデルと、に基づいて、前記ユーザ特性情報を取得する、
(3)~(8)の何れかに記載の表示制御システム。
(10)
前記学習は、前記訓練レビューと、前記訓練レビューが投稿された文字コンテンツである訓練コンテンツと、に基づいて行われる、
(3)~(9)の何れかに記載の表示制御システム。
(11)
前記学習は、前記訓練レビューの埋め込み表現である訓練レビュー表現と、前記訓練コンテンツの埋め込み表現である訓練コンテンツ表現と、が統合された統合訓練表現に基づいて行われる、
(10)に記載の表示制御システム。
(12)
前記学習は、複数の前記訓練レビュー表現と、前記訓練コンテンツ表現と、が統合された前記統合訓練表現に基づいて行われる、
(11)に記載の表示制御システム。
(13)
前記学習は、前記訓練レビュー表現と、複数の前記訓練コンテンツ表現と、が統合された前記統合訓練表現に基づいて行われる、
(11)又は(12)に記載の表示制御システム。
(14)
前記複数の訓練コンテンツ表現の各々は、前記訓練コンテンツのうち、互いに異なる項目に関する埋め込み表現である、
(13)に記載の表示制御システム。
(15)
前記訓練レビューは、過去に投稿された複数のレビューのうち、相対的に新しいレビューである、
(3)~(14)の何れかに記載の表示制御システム。
(16)
前記訓練レビューは、レビューの投稿数が閾値以上の投稿者により投稿されたレビューである、
(3)~(15)の何れかに記載の表示制御システム。
(17)
前記取得部は、前記ユーザレビューの一部であるユーザレビュー部分のうち、出現度が相対的に高いユーザレビュー部分を、前記ユーザ特性情報として取得する、
(2)~(16)の何れかに記載の表示制御システム。
(18)
前記取得部は、前記ユーザレビューに対する感情分析を実行し、当該感情分析の実行結果に基づいて、前記ユーザ特性情報を取得する、
(17)に記載の表示制御システム。
【符号の説明】
【0139】
1 表示制御システム、M 学習モデル、N ネットワーク、10 サーバ、11 制御部、12 記憶部、13 通信部、20 ユーザ端末、21 制御部、22 記憶部、23 通信部、24 操作部、25 表示部、30 学習端末、31 制御部、32 記憶部、33 通信部、34 操作部、35 表示部、SC レビュー画面、100 データ記憶部、101 取得部、102 選択部、103 表示制御部、200 データ記憶部、201 表示制御部、202 操作受付部、300 データ記憶部、301 クラスタリング実行部、302 訓練データ作成部、303 学習部、304 感情分析実行部、DB1 ユーザデータベース、DB2 文字コンテンツデータベース、DB3 クラスタデータベース、DB4 訓練データベース。