以下、添付図面を参照しながら本開示での実施形態を詳細に説明する。なお、図面の説明において同一または同等の要素には同一の符号を付し、重複する説明を省略する。
実施形態に係る情報提供システム1は、コンピュータ上での処理のために用いられるキーワードを対象ユーザに提案するコンピュータシステムである。情報提供システム1は1以上のキーワードを対象ユーザのユーザ端末に送信することで該ユーザ端末上にそのキーワードを表示させ、これにより対象ユーザは提案されたキーワードを用いることができる。対象ユーザとは、キーワードを提供する宛先になるユーザのことをいう。
キーワードの目的および利用方法は限定されない。一例では、情報提供システム1は情報の検索に用いられるキーワードを提案してもよい。図1は情報提供システム1の利用の一例を示す図である。この例では、ユーザ端末20はニュースなどの様々な情報を表示するニュース・アプリケーション・プログラムを実行しており、複数の記事201と、複数のキーワードから成るキーワードリスト202とを表示している。対象ユーザはそのキーワードリストから好みのキーワードを選択および登録することで、そのキーワードに対応する記事を検索して該記事をユーザ端末20上に表示させることができる。
一例では、情報提供システム1は2種類の手法を用いてキーワードを選択し、それぞれの手法によって得られたキーワードの混合をキーワードリストとしてユーザ端末20に提供する。第1の手法は、対象ユーザを含む複数の閲覧者が第1情報源から提供される第1コンテンツにアクセスしたことを示す閲覧履歴に基づいて少なくとも一つの第1キーワードを選択する手法である。第2の手法は、第1情報源とは異なる第2情報源から提供される第2コンテンツでのキーワードの出現頻度(端的にいうと、第2情報源でのキーワードの出現頻度)に少なくとも基づいて少なくとも一つの第2キーワードを選択する手法である。図1に示すキーワードリスト202は、少なくとも一つの第1キーワードと少なくとも一つの第2キーワードとによって構成される。
第1キーワードは対象ユーザが第1コンテンツを閲覧する傾向に基づいて提示されるキーワードであり、したがって、対象ユーザの関心が高いと推定されるキーワードであるといえる。一方、第2キーワードは世間での話題性に基づいて推定されるキーワードであり、したがって、他の人々と同様に対象ユーザが関心を持つ見込みが高いと推定されるキーワードであるといえる。このような2種類のキーワードをキーワードリストに含めることで、キーワードの選択の幅を効果的に拡げることができる。その結果、対象ユーザによって用いられる蓋然性が高いキーワードを精度良く提供することが可能になる。
図2は情報提供システム1の構成の一例を示す図である。情報提供システム1は、キーワードを対象ユーザに提供するコンピュータであるサーバ10を備える。サーバ10は通信ネットワークを介してユーザ端末20とデータ通信を実行することができる。図2ではユーザ端末20を一つのみ示すが、サーバ10とデータ通信するユーザ端末20の個数は何ら限定されず、サーバ10は複数のユーザ端末20と通信接続してもよい。さらに、サーバ10は通信ネットワークを介してデータベース群30にアクセスすることができる。通信ネットワークの構成は限定されず、任意の方針で設計されてよい。例えば、それぞれの通信ネットワークは移動体通信網、インターネット、イントラネット、WAN(Wide Area Network)のうちの少なくとも一つを含んで構成されてもよい。
サーバ10は機能要素として閲覧履歴解析部11、スコアリング部12、受付部13、第1選択部14、第2選択部15、リスト生成部16、および送信部17を備える。閲覧履歴解析部11は、対象ユーザを含む複数の閲覧者が第1情報源から提供される第1コンテンツにアクセスしたことを示す閲覧履歴を解析して第1候補キーワードを抽出する機能要素である。第1候補キーワードとは、第1キーワードの候補となる語句のことをいう。スコアリング部12は、第2情報源におけるキーワードに対してスコアリングを実行することで第2候補キーワードを抽出する機能要素である。第2候補キーワードとは、第2キーワードの候補となる語句のことをいう。受付部13はキーワードを提供せよとの指示を受け付ける機能要素である。第1選択部14は少なくとも一つの第1キーワードを選択する機能要素である。第2選択部15は少なくとも一つの第2キーワードを選択する機能要素である。リスト生成部16は少なくとも一つの第1キーワードと少なくとも一つの第2キーワードとを含むキーワードリストを生成する機能要素である。送信部17はそのキーワードリストをユーザ端末20に送信する機能要素であり、これによりキーワードがユーザ端末20上に表示される。
サーバ10は少なくとも一つのコンピュータを用いて構成される。複数のコンピュータが用いられる場合には、これらのコンピュータが通信ネットワークを介して相互に接続することで、論理的に一つのサーバ10が構築される。
ユーザ端末20は、対象ユーザによって操作されるコンピュータである。ユーザ端末20の種類は限定されない。例えば、ユーザ端末20は、携帯電話機、高機能携帯電話機(スマートフォン)、タブレット端末、ウェアラブル端末(例えば、スマートウォッチ、ヘッドマウントディスプレイ(HMD)など)、ラップトップなどの携帯端末でもよい。あるいは、ユーザ端末20は据置型のパーソナルコンピュータでもよい。
データベース群30は、情報提供システム1において必要なデータを記憶するデータベースの集合である。本実施形態では、データベース群30は閲覧履歴データベース31、第1コンテンツデータベース32、第1候補キーワードデータベース33、メタ情報データベース34、ユーザデータベース35、および第2候補キーワードデータベース36を含む。
閲覧履歴データベース31は、対象ユーザを含む複数の閲覧者が第1情報源から提供される第1コンテンツにアクセスしたことを示す閲覧履歴を記憶する非一時的な記憶媒体または記憶装置である。一例では、閲覧履歴の個々のレコードはユーザID、コンテンツID、コンテンツ日時、および操作種別を含む。ユーザIDは、第1コンテンツにアクセスしたユーザ(すなわち閲覧者)を一意に特定する識別子である。コンテンツIDは個々の第1コンテンツを一意に特定する識別子である。コンテンツ日時は第1コンテンツが生成または公開された日時である。操作種別は、第1コンテンツに対するユーザ(閲覧者)の操作の種類を示す。例えば、操作種別は、ユーザが特定の第1コンテンツをユーザ端末20上で見たことを示す「閲覧」、ユーザが特定の第1コンテンツ中に存在するリンクをクリックしたことを示す「クリック」などの様々な操作を示し得る。
第1情報源の種類は限定されず、これに対応して、第1コンテンツの種類も限定されない。例えば、第1情報源は通信ネットワークを介して任意の端末または装置に情報を提供する情報サービスまたは情報発信者でもよい。一例では、第1情報源は、キーワードリストを表示する機能を有するアプリケーション・プログラムのために第1コンテンツを提供する情報サービスまたは情報発信者でもよい。図1の例では、第1情報源は、ニュース・アプリケーション・プログラムのために第1コンテンツを提供する情報発信者または情報サービスでもよい。あるいは、第1情報源は、キーワードリストを表示する機能を有するアプリケーション・プログラムとは独立した別のアプリケーション・プログラムのために第1コンテンツを提供する情報発信者または情報サービスであってもよい。第1コンテンツは可視要素を含んで構成され、例えば、テキスト、画像(静止画または動画)、またはそれらの組合せを含んで構成される。第1コンテンツは個人または法人によって作成された記事であってもよく、例えば、新聞、雑誌、オンライン・ニュース、ブログ、ソーシャル・ネットワーキング・サービス(SNS)などによって提供される記事でもよい。記事とは事柄を伝えるための文章のことをいう。記事は少なくとも文字列を含み、画像(静止画または動画)をさらに含んでもよい。
閲覧履歴はアクセス管理システムによって生成されて閲覧履歴データベース31に格納される。アクセス管理システムの構成は限定されない。例えば、情報提供システム1がアクセス管理システムとしての機能を有してもよい。あるいは、情報提供システム1とは異なるコンピュータシステムがアクセス管理システムとして機能してもよい。アクセス管理システムは、1以上のユーザ端末20からの第1コンテンツへのアクセスを監視し、その監視結果に基づいて閲覧履歴のレコードを生成し、そのレコードを閲覧履歴データベース31に格納する。個々の第1コンテンツに対する個々のアクセスが監視されることで、閲覧履歴データベース31に閲覧履歴が蓄積される。
第1コンテンツデータベース32は第1コンテンツを記憶する非一時的な記憶媒体または記憶装置である。それぞれの第1コンテンツはコンテンツIDと関連付けられる。
第1候補キーワードデータベース33は、閲覧履歴に基づいて抽出された第1候補キーワードに関する第1候補キーワード情報を記憶する非一時的な記憶媒体または記憶装置である。一例では、第1候補キーワード情報の個々のレコードはジャンルIDと、クラスタIDと、1以上の第1候補キーワードに関する第1特徴ベクトルとを含む。ジャンルIDは、コンテンツの分類または種別であるジャンルを一意に特定するための識別子である。クラスタIDは、ユーザが属するクラスタを一意に特定するための識別子である。個々のユーザのクラスタは、データの集合を複数のクラスタ(部分集合)に分類する処理であるクラスタリングによって決定される。クラスタリングの詳細は後述する。第1特徴ベクトルは、第1候補キーワードとスコアとの組合せによって表現される成分を1以上含んで構成される。この第1特徴ベクトルの詳細も後述する。
メタ情報データベース34は、第2情報源から提供される第2コンテンツでのキーワードの出現頻度を示すメタ情報を永続的に記憶する非一時的な記憶媒体または記憶装置である。一例では、メタ情報の個々のレコードはキーワードと、時間帯と、該時間帯での該キーワードの出現頻度とを含む。キーワードは、第2コンテンツ上に現われた語句である。出現頻度は、キーワードが1以上の第2コンテンツ上に現われた程度を示す指標である。出現頻度を管理するための時間帯の長さは限定されず、例えば、30分、1時間、3時間、24時間(1日)などの任意の値に設定されてよい。
第2情報源の種類は限定されず、これに対応して、第2コンテンツの種類も限定されない。ただし、第2情報源は第1情報源と異なる。例えば、第2情報源は通信ネットワークまたは放送ネットワークを介して任意の端末または装置に情報を提供することができる情報サービスまたは情報発信者でもよい。一例では、第2情報源は放送ネットワークまたは通信ネットワークを介してテレビ番組またはラジオ番組を放送する放送局でもよいし、インターネットを介して記事を提供する発信者でもよい。第2コンテンツは可視要素を含んで構成され、例えば、テキスト、画像(静止画または動画)、またはそれらの組合せを含んで構成される。第2コンテンツは個人または法人によって作成されたテレビ番組、ラジオ番組、または記事であってもよい。
メタ情報はメタ情報管理システムによって生成されてメタ情報データベース34に格納される。メタ情報管理システムの構成は限定されない。例えば、情報提供システム1がメタ情報管理システムとしての機能を有してもよい。あるいは、情報提供システム1とは異なるコンピュータシステムがメタ情報管理システムとして機能してもよい。メタ情報管理システムは、それぞれの時間帯において、放送または配信された第2コンテンツのそれぞれを解析することで、それぞれの第2コンテンツ中にテキスト、画像、または音声によって表された所定のキーワードを抽出する。そして、メタ情報管理システムは個々のキーワードの出現回数をカウントし、この集計結果に基づいてメタ情報のレコードを生成し、そのレコードをメタ情報データベース34に格納する。それぞれの時間帯において個々の第2コンテンツが解析されることで、メタ情報データベース34にメタ情報が蓄積される。出現頻度の設定方法は限定されない。例えば、或るキーワードが1以上の第2コンテンツ中に1回以上現われた場合に、メタ情報管理システムはその出現回数をそのまま出現頻度として設定してもよいし、そのキーワードが現われた第2コンテンツの個数を出現頻度として設定してもよい。いずれにしても、出現頻度は第2情報源におけるキーワードの露出量を示す指標であるということができる。
ユーザデータベース35は、ユーザに関連する各種情報を永続的に記憶する非一時的な記憶媒体または記憶装置である。具体的には、ユーザデータベース35は、第2情報源におけるキーワード群から第1ユーザによって選択されたキーワードと、該キーワードが属するジャンルと、該ジャンルにおける第1ユーザのクラスタとの間の対応関係を示す被選択キーワード情報を記憶する。本実施形態では、ユーザデータベース35は、対象ユーザによって選択および登録された好みのキーワードを示すキーワード情報と、個々のユーザの区分を示す区分情報という2種類の情報を記憶する。本実施形態では、被選択キーワード情報はキーワード情報および区分情報によって表すことができる。
一例では、キーワード情報の個々のレコードは、ユーザID、キーワード、キーワード種別、および登録日時を含む。ユーザIDはキーワードを選択および登録した対象ユーザを一意に特定する識別子である。キーワードは、対象ユーザによって選択および登録されたキーワードのことをいい、例えば、図1に示すキーワードリスト202から選択されたキーワードであり得る。キーワード種別は、そのキーワードの由来を示すデータ項目であり、例えば、そのキーワードが第1キーワードおよび第2キーワードのうちのどちらであったかを示す。登録日時は対象ユーザによってキーワードが選択されたタイミングを示す日時である。
キーワード情報はキーワード管理システムによって生成されてユーザデータベース35に格納される。キーワード管理システムの構成は限定されない。例えば、情報提供システム1がキーワード管理システムとしての機能を有してもよい。あるいは、情報提供システム1とは異なるコンピュータシステムがキーワード管理システムとして機能してもよい。キーワード管理システムは、ユーザ端末20において選択されたキーワードと、そのキーワードに関連付けられたキーワード種別と、ユーザIDとをそのユーザ端末20から受信する。そして、キーワード管理システムはこれらのデータ項目に基づいてキーワード情報のレコードを生成し、そのレコードをユーザデータベース35に格納する。キーワード管理システムは現在日時をレコードの登録日時に設定する。
一例では、区分情報の個々のレコードは、ユーザID、ジャンルID、およびクラスタIDを含む。区分情報は閲覧履歴解析部11によって登録される。
第2候補キーワードデータベース36は、第2情報源におけるキーワードに対してスコアリングを実行することで抽出された第2候補キーワードに関する第2候補キーワード情報を記憶する非一時的な記憶媒体または記憶装置である。一例では、第2候補キーワード情報の個々のレコードはジャンルIDと、クラスタIDと、時間帯と、1以上の第2候補キーワードに関する第2特徴ベクトルとを含む。第2候補キーワード情報の時間帯はメタ情報の時間帯と合致するように設定される。第2特徴ベクトルは、第2候補キーワードとスコアとの組合せによって表現される成分を1以上含んで構成される。第2特徴ベクトルの詳細も後述する。
個々のデータベースに格納される個々の情報のデータ構造は限定されず、任意の方針で設計されてよい。例えば、上記の各種情報のうちの少なくとも一つが任意の方針で正規化または非正規化されて一または複数のデータテーブル上に記憶されてもよい。
図3は情報提供システム1の動作の一例を処理フローS1として示すフローチャートである。ステップS11では、受付部13がキーワードリストの要求を受け付ける。この要求は、キーワードリストの提供を指示するためのデータ信号である。要求は、キーワードリストの送信先であるユーザ端末20に対応する対象ユーザのユーザIDを含む。本開示では、この対象ユーザを「第2ユーザ」ともいう。要求の受付方法は限定されない。例えば、受付部13はユーザ端末20での所定の操作に基づいて該ユーザ端末20から送信されてきた要求を受信してもよい。あるいは、受付部13は情報提供システム1内の他の機能要素から入力された要求を取得してもよい。要求は少なくとも一つのジャンルIDを含んでもよく、この場合には、それぞれのジャンルIDに対応するキーワードによって構成されるキーワードリストがユーザ端末20に送信される。
ステップS12では、第1選択部14がその要求に応答して少なくとも一つの第1キーワードを選択する。この選択のために、閲覧履歴解析部11が予め、第1候補キーワードを抽出して第1候補キーワード情報を第1候補キーワードデータベース33に格納する。図4は第1候補キーワードを抽出する処理の一例を処理フローS2として示すフローチャートである。一例では、閲覧履歴解析部11は定期的な(例えば1時間毎の)バッチ処理によって処理フローS2を実行し、これにより、第1候補キーワード情報が最新の状態に更新される。
ステップS21では、閲覧履歴解析部11は閲覧履歴の個々のレコードについて第1候補キーワードの第1特徴ベクトルを算出する。閲覧履歴解析部11は閲覧履歴のそれぞれのレコード、すなわち、閲覧履歴で示されるそれぞれのアクセスについて、第1コンテンツから1以上の第1候補キーワードを特定する。閲覧履歴解析部11は閲覧履歴データベース31から1レコードを読み出し、そのコンテンツIDに対応する第1コンテンツを第1コンテンツデータベース32から読み出す。閲覧履歴解析部11はその第1コンテンツのタイトルおよび本文のうちの少なくとも一方を解析することで1以上の第1候補キーワードを該第1コンテンツから特定する。閲覧履歴解析部11は閲覧履歴の個々のレコードについてその処理を実行する。
続いて、閲覧履歴解析部11は閲覧履歴のそれぞれのレコード(閲覧履歴で示されるそれぞれのアクセス)について、1以上の第1候補キーワードのそれぞれの特徴量を算出し、第1候補キーワードおよび特徴量の1以上の組合せを含む第1特徴ベクトルを生成する。
閲覧履歴解析部11はこの処理のために、キーワードと、基準特徴量と、ジャンルIDとの関連付けを示すキーワード辞書を参照する。このキーワード辞書は予め用意されて情報提供システム1内の任意の記憶装置に記憶される。このキーワード辞書は少なくとも一部のキーワードについての表記ゆれ、類義語、または同義語をさらに示してもよい。キーワード辞書に登録されるキーワードは、第1候補キーワードとしても第2候補キーワードとしても用いることができる。図5はキーワード辞書の一例を示す。この例では、キーワード辞書の個々のレコードは、キーワードとして用いられる主語句と、主語句に対応する副語句と、個々の副語句の基準特徴量(図5において括弧書きで示される数値)と、ジャンルIDとを含む。一つのキーワードが複数のジャンルに関連付けられてもよい。
閲覧履歴解析部11はそのキーワード辞書を参照して、第1コンテンツのジャンルIDに対応する第1候補キーワードおよび基準特徴量を特定する。図5の例に関して、副語句「National Team」から第1候補キーワード「日本代表」が得られた場合には、閲覧履歴解析部11はその第1候補キーワードの基準特徴量を0.5に設定する。閲覧履歴解析部11は特定された基準特徴量に、第1コンテンツが生成されてからの経過時間と、第1コンテンツに対する操作種別とのうちの少なくとも一方に基づく重みを適用することで特徴量を算出してもよい。例えば、閲覧履歴解析部11は基準特徴量に重みを乗ずることで特徴量を得てもよい。第1コンテンツが生成されてからの経過時間はコンテンツ日時に基づいて求めることができる。例えば、その重みは、経過時間が短いほど(すなわち、コンテンツ日時が新しいほど)特徴量が高くなるように設定されてもよい。あるいは、重みは、「閲覧」よりも「クリック」の方の特徴量が高くなるように設定されてもよい。
閲覧履歴解析部11は閲覧履歴の個々のレコードについて第1候補キーワードの第1特徴ベクトルを算出し、その第1特徴ベクトルを示す第1中間レコードを生成する。個々の第1中間レコードはユーザID、コンテンツID、および第1特徴ベクトルを含む。図6は第1中間レコードの一例を示す。この例では説明の便宜のために、特定の閲覧者であるユーザAに関する5個の第1中間レコード301のみを示すが、当然ながら、閲覧履歴解析部11は個々の閲覧者の個々の閲覧履歴について第1候補キーワードの第1特徴ベクトルを算出し第1中間レコードを生成する。図6の例ではコンテンツID「C4042」が2レコード存在し、これは、ユーザAがそのコンテンツIDで識別される第1コンテンツに2回アクセスしたことを意味する。
ステップS22では、閲覧履歴解析部11は閲覧者と第1コンテンツのジャンルとの組合せごとに第1特徴ベクトルを合算する。閲覧履歴解析部11は或る一人の閲覧者について次のように処理する。すなわち、閲覧履歴解析部11はその閲覧者の1以上の第1中間レコードのそれぞれについて第1コンテンツのジャンルIDを特定し、これにより、その閲覧者に対応する1以上のジャンルIDを特定する。そして、閲覧履歴解析部11は特定された1以上のジャンルIDのそれぞれについて、該ジャンルIDの第1特徴ベクトルを合算し、その計算結果を示す第2中間レコードを生成する。第1特徴ベクトルの合算とは、具体的には、1以上の第1候補キーワードのそれぞれについて特徴量の和を求める処理のことをいう。閲覧履歴解析部11は複数の閲覧者のそれぞれについて、このような一連の処理を実行する。
図6は第1特徴ベクトルの合算により得られる第2中間レコードの一例も示す。この例では、コンテンツIDが「C4042」、「C4042」、「C4053」である3レコードがジャンルID「3」に対応し、コンテンツIDが「C4001」、「C4101」である2レコードがジャンルID「15」に対応するとする。閲覧履歴解析部11はこれらの第1中間レコード301について第1特徴ベクトルの合算を実行することで2個の第2中間レコード302を生成する。ジャンルID「3」の第2中間レコード302について説明すると、閲覧履歴解析部11は第1候補キーワード「サッカー」の特徴量を1+1.5=2.5と合算する。同様に、第1候補キーワード「日本代表」の特徴量は1+1.5+0.7=3.2と合算され、第1候補キーワード「チームR」の特徴量は0.9+1.4=2.3と合算される。第1候補キーワード「サッカーW杯」は1レコードでしか現われていないので、この第1候補キーワードの合算値は0.7である。
ステップS23では、閲覧履歴解析部11は第1特徴ベクトルに基づく閲覧者のクラスタリングをジャンル毎に実行する。閲覧履歴解析部11がクラスタリングを実行することで複数の閲覧者が複数のクラスタに分類され、これにより、共通の特徴を有する1以上の閲覧者を含むクラスタが複数個生成される。クラスタリングの手法は限定されず、閲覧履歴解析部11は1以上の任意の手法を用いて閲覧者をクラスタリングしてよい。例えば、閲覧履歴解析部11はコサイン類似度およびLocality Sensitive Hashing(LSH)を用いて閲覧者をクラスタリングしてよい。より具体的には、閲覧履歴解析部11はコサイン類似度を用いて1回目のクラスタリングを実行し、LSHを用いた2回目のクラスタリングを実行することでクラスタを再調整してもよい。
図7は或る一つのジャンルにおける閲覧者のクラスタリングの一例を示す図である。この例では、ユーザA,Bがクラスタ401に分類され、ユーザCがクラスタ402に分類され、ユーザD,Eがクラスタ403に分類されている。それぞれクラスタの中心に描かれた点は該クラスタの重心を示す。図7は個々のクラスタが存在する空間を便宜的に3次元座標で示すが、クラスタリングにおいて考慮される次元数は限定されず、任意に設定されてよい。
個々のジャンルにおいて、閲覧履歴解析部11は個々の閲覧者が属するクラスタを特定し、個々の第2中間レコードにクラスタIDを付加する。図8は、クラスタIDが付加された第2中間レコードの一例を示す図である。この例では、ジャンルID「3」についての5人のユーザA,B,C,D,Eの第2中間レコード303を示す。ユーザA,Bはクラスタ「1」に分類され、ユーザCはクラスタ「2」に分類され、ユーザD,Eはクラスタ「3」に分類されている。
第2中間レコードにクラスタIDが付加されることで、ユーザID、ジャンルID、およびクラスタIDの組合せが得られる。閲覧履歴解析部11は個々の組合せについて区分情報のレコードを生成し、生成したレコード群をユーザデータベース35に格納する。ユーザIDおよびジャンルIDの組合せに対応するレコードが既にユーザデータベース35内に存在する場合には、閲覧履歴解析部11はその既存レコードを今回生成されたレコードによって上書きすることで区分情報を更新する。
ステップS24では、閲覧履歴解析部11はジャンルおよびクラスタの組合せ毎に第1特徴ベクトルを合算して第1候補キーワード情報を生成する。閲覧履歴解析部11はジャンルおよびクラスタの組合せのそれぞれについて、該組合せに対応する1以上の第2中間レコードの第1特徴ベクトルを合算し、この計算結果を示す第3中間レコードを生成する。この合算も、1以上の第1候補キーワードのそれぞれについて特徴量の和を求める処理である。第3中間レコードは第1候補キーワード情報のレコードに対応する。図8は、第2中間レコード303の第1特徴ベクトルを合算して第3中間レコード304を生成する処理をさらに示す。ジャンルID「3」およびクラスタID「1」の組合せについていうと、閲覧履歴解析部11は第1候補キーワード「サッカー」の特徴量を2.5+1.0=3.5と合算し、第1候補キーワード「サッカーW杯」の特徴量を0.7+1.0=1.7と合算する。第1候補キーワード「日本代表」、「チームR」、「イングランド代表」はそれぞれ1レコードでしか現われていないので、これら3語の特徴量はそのまま第3中間レコード304に組み込まれる。閲覧履歴解析部11はクラスタID「2」、「3」のそれぞれについても同様に第3中間レコード304を生成する。
ステップS25では、閲覧履歴解析部11は生成された1以上の第3中間レコードを第1候補キーワード情報のレコードとして第1候補キーワードデータベース33に登録する。或るジャンルおよびクラスタの組合せについて、第1候補キーワードデータベース33がその組合せに対応するレコードを既に記憶している場合には、閲覧履歴解析部11はそのレコードを第3中間レコードで上書きすることで第1候補キーワード情報を更新する。
図3に戻り、ステップS12では、第1選択部14は処理フローS2によって予め用意された第1候補キーワード情報に基づいて少なくとも一つの第1キーワードを選択する。第1選択部14は、要求に対応するジャンルと対象ユーザが属するクラスタとの組合せに対応する1以上の第1候補キーワードのうちの少なくとも一つを第1キーワードとして選択する。第1選択部14は第1候補キーワードデータベース33を参照して、その組合せに対応するレコードを読み出し、相対的に特徴量が高い第1候補キーワードを第1キーワードとして選択する。例えば、第1選択部14は特徴量の降順に第1候補キーワードを並べた上で、先頭から1以上の第1候補キーワードを第1キーワードとして選択してもよい。このように、第1選択部14は対象ユーザが属するクラスタに対応する1以上の第1特徴ベクトルに基づいて複数の第1候補キーワードから少なくとも一つの第1キーワードを選択する。具体的には、第1選択部14は対象ユーザが属するジャンルおよびクラスタの組合せに対応する1以上の第1特徴ベクトルに基づいて1以上の第1キーワードを選択する。典型的には、第1選択部14は要求に対応するジャンルと対象ユーザが属するクラスタとに対応する1以上の第1特徴ベクトルに基づいて1以上の第1キーワードを選択する。
ステップS13では、第2選択部15が要求に応答して少なくとも一つの第2キーワードを選択する。この選択のために、スコアリング部12が予め、第2候補キーワードを抽出して第2候補キーワード情報を第2候補キーワードデータベース36に格納する。図9は第2候補キーワードを抽出する処理の一例を処理フローS3として示すフローチャートである。一例では、スコアリング部12は定期的な(例えば1時間毎の)バッチ処理によって処理フローS3を実行し、これにより、第2候補キーワード情報が最新の状態に更新される。
ステップS31では、スコアリング部12はユーザデータベース35を参照して複数の第2候補キーワードを抽出し、その第2候補キーワードを含む作業用レコードを生成する。スコアリング部12はキーワード辞書を用いてキーワード情報と区分情報とを結合することで得られるレコードのうち、キーワード種別が第2キーワードを示すレコードを作業用レコードとして取得する。すなわち、スコアリング部12は第2情報源に由来するキーワードを示す作業用レコードを取得する。作業用レコードはデータ項目としてユーザID、ジャンルID、クラスタID、キーワード、および登録日時を含む。以下では、作業用レコードで示されるキーワードを第2候補キーワードという。本開示では、作業用レコードのユーザIDで示されるユーザを「第1ユーザ」ともいう。
図10は作業用レコードの一例を示す図である。図10は、説明の便宜のために特定のレコードのみを示していることに留意されたい。この例では、スコアリング部12は、キーワード情報のユーザIDおよびキーワードと、区分情報のユーザIDおよびジャンルIDと、キーワード辞書501の主語句(キーワード)およびジャンルIDとを参照して、対応し合うレコードを結合することで、作業用レコード502を得る。
ステップS32では、スコアリング部12は一つのジャンルID、一つのクラスタID、および一つの第2候補キーワードから成る一つの組合せを作業用レコードの群から選択する。図10に示す作業用レコード502を例にとり、組合せを“(ジャンルID、クラスタID、第2候補キーワード)”で表現するとする。この前提では、スコアリング部12は組合せ(5,1,京都)、または組合せ(5,1,アメリカ)を選択する。
ステップS33では、スコアリング部12は直近の時間帯における第2候補キーワードの選択回数を算出する。スコアリング部12はメタ情報で示される直近の時間帯を特定する。例えば、メタ情報の時間帯が1時間毎に設定された場合には、スコアリング部12はそのメタ情報で示される直近の1時間を、選択回数を算出するための時間帯として設定する。スコアリング部12は選択された組合せを含み、且つ登録日時が直近の時間帯に含まれる作業用レコードの個数をカウントし、その個数を選択回数として取得する。
ステップS34では、スコアリング部12は直近の時間帯における第2候補キーワードの出現頻度を取得する。スコアリング部12はメタ情報データベース34を参照して、選択された第2候補キーワードと直近の時間帯との組合せに対応する出現頻度を取得する。対応するレコードがメタ情報データベース34内に存在しない場合には、スコアリング部12はその第2候補キーワードの出現頻度を0に設定する。
ステップS35では、スコアリング部12は直近の時間帯の一つ前の時間帯における第2候補キーワードのスコアを取得する。本開示では、このステップで得られるスコアを「前回スコア」という。スコアリング部12は第2候補キーワードデータベース36を参照して、選択された組合せを構成するジャンルIDおよびクラスタIDと、一つ前の時間帯とに対応する第2特徴ベクトルを読み出し、選択された第2候補キーワードのスコアを前回スコアとしてその第2特徴ベクトルから抽出する。対応する前回スコアが第2候補キーワードデータベース36内に存在しない場合には、スコアリング部12は前回スコアを0に設定する。
ステップS36では、スコアリング部12は直近の時間帯における、選択された組合せの第2候補キーワードのスコアを算出する。本開示では、このステップで算出スコアを「直近スコア」という。直近スコアをScとし、取得された選択回数をCsとし、前回スコアをSpとし、取得された出現頻度をFaとすると、スコアリング部12は下記の式(1)によって直近スコアScを求める。
Sc=Cs+α×Sp+β×Fa …(1)
ここで、第1係数αは、前回スコアSpの影響が時間の経過によって減衰することを示す減衰係数であり、1未満の正数である。第2係数βは直近スコアScへの出現頻度Faの影響の度合いを調整するための係数であり、1未満の正数である。
ステップS37で示すように、スコアリング部12は、ジャンル、クラスタ、および第2候補キーワードのすべての組合せについてステップS32以降の処理を実行する。未処理の組合せが存在する場合には(ステップS37においてNO)、スコアリング部12はステップS32において次の組合せを選択し、その組合せについてステップS33~S36の処理を実行する。
すべての組合せを処理した場合には(ステップS37においてYES)、処理はステップS38に進む。ステップS38では、スコアリング部12は直近の時間帯についての第2候補キーワード情報を登録する。スコアリング部12はすべての組合せのスコア(直近スコア)に基づいて第2候補キーワード情報の複数のレコードを生成し、そのレコード群を第2候補キーワードデータベース36に格納する。
図11は、第2候補キーワードのスコアリングの一例を示す図である。この例では、スコアリング部12は、2019年9月20日の三つの時間帯(13時~14時、14時~15時、および15時~16時)のそれぞれにおいて第2候補キーワード「京都」「アメリカ」のそれぞれのスコアを算出する。ジャンルIDは「5」であり、クラスタIDは「1」であるとする。メタ情報データベース34のメタ情報は、キーワード「京都」の出現頻度が時間帯の変化に伴って10→12→5と変化することと、キーワード「アメリカ」の出現頻度が同様に15→8→8と変化することとを示す。説明の便宜上、これら二つのキーワードはいずれも、13時~14時に初めて第2情報源において出現したものと仮定し、したがって、12時~13時での該二つのキーワードのスコアが0であるとする。また、式(1)の二つの係数α,βはいずれも0.5であるとする。
時間帯「13時~14時」に対するスコアリングを説明する。キーワード「京都」については、その出現頻度は10であり、選択回数は0である。したがって、キーワード「京都」の直近スコアScは下記式より5である。
Sc=0+0.5×0+0.5×10=5
時間帯「13時~14時」でのキーワード「アメリカ」については、その出現頻度は15であり、選択回数は0である。したがって、キーワード「アメリカ」の直近スコアScは下記式より7.5である。
Sc=0+0.5×0+0.5×15=7.5
時間帯「14時~15時」に対するスコアリングを説明する。キーワード「京都」については、その出現頻度は12であり、選択回数は2であり、前回スコアは5である。したがって、キーワード「京都」の直近スコアScは下記式より10.5である。
Sc=2+0.5×5+0.5×12=10.5
時間帯「14時~15時」でのキーワード「アメリカ」については、その出現頻度は8であり、選択回数は1であり、前回スコアは7.5である。したがって、キーワード「アメリカ」の直近スコアScは下記式より8.75である。
Sc=1+0.5×7.5+0.5×8=8.75
時間帯「15時~16時」に対するスコアリングを説明する。キーワード「京都」については、その出現頻度は5であり、選択回数は0であり、前回スコアは10.5である。したがって、キーワード「京都」の直近スコアScは下記式より7.75である。
Sc=0+0.5×10.5+0.5×5=7.75
時間帯「15時~16時」でのキーワード「アメリカ」については、その出現頻度は8であり、選択回数は1であり、前回スコアは8.75である。したがって、キーワード「アメリカ」の直近スコアScは下記式より9.375である。
Sc=1+0.5×8.75+0.5×8=9.375
図11に示すように、それぞれの時間帯おける上記の計算の結果、第2候補キーワードデータベース36には、ジャンルID「5」およびクラスタID「1」の組合せに関して、二つのキーワード「京都」「アメリカ」に関する各時間帯の第2候補キーワード情報が蓄積される。
図3に戻り、ステップS13では、第2選択部15は処理フローS3によって予め用意された第2候補キーワード情報に基づいて少なくとも一つの第2キーワードを選択する。第2選択部15は、要求に対応するジャンルと対象ユーザが属するクラスタとの組合せに対応する1以上の第2候補キーワードのうちの少なくとも一つを第2キーワードとして選択する。第2選択部15は第2候補キーワードデータベース36を参照して、その組合せに対応するレコードを読み出し、相対的にスコア(直近スコア)が高い第2候補キーワードを第2キーワードとして選択する。例えば、第2選択部15はスコア(直近スコア)の降順に第2候補キーワードを並べた上で、先頭から1以上の第2候補キーワードを第2キーワードとして選択してもよい。このように、第2選択部15は対象ユーザが属するクラスタに対応する1以上の第2特徴ベクトルに基づいて複数の第2候補キーワードから少なくとも一つの第2キーワードを選択する。具体的には、第2選択部15は対象ユーザが属するジャンルおよびクラスタの組合せに対応する1以上の第2特徴ベクトルに基づいて1以上の第2キーワードを選択する。典型的には、第2選択部15は要求に対応するジャンルと対象ユーザが属するクラスタとに対応する1以上の第2特徴ベクトルに基づいて1以上の第2キーワードを選択する。
ステップS14では、リスト生成部16が少なくとも一つの第1キーワードと少なくとも一つの第2キーワードとを含むキーワードリストを生成する。一例では、リスト生成部16は複数の第1キーワードから一部をランダムに選択し、複数の第2キーワードから一部をランダムに選択する。
別の例では、リスト生成部16はユーザデータベース35にアクセスして、対象ユーザに対応するキーワード情報を読み出すことで、第2キーワードとして対象ユーザによって提示され且つ該対象ユーザによって選択されたキーワードの個数を特定する。そして、リスト生成部16はその個数が所定の閾値未満である場合には、キーワードリストにおける第2キーワードの割合をPaに設定し、その個数が該閾値以上である場合にはその割合をPb(ただし、Pb<Pa)に設定する。これは、自身が関心を持つキーワードを多く選択する傾向がある対象ユーザに、他の人々が感心を持つキーワードをより多く提示することを意図する。Pa+Pb=100(%)になるように割合Pa,Pbが設定されてもよい。
あるいは、リスト生成部16は、ユーザIDに対応する、ジャンルIDおよびクラスタIDの組合せの個数を特定する。そして、リスト生成部16は、その個数が所定の閾値未満である場合には、キーワードリストにおける第2キーワードの割合をPcに設定し、その個数が該閾値以上である場合にはその割合をPd(ただし、Pd<Pc)に設定する。これは、自身の関心の範囲が狭い傾向がある対象ユーザに、様々な分野のキーワードをより多く提示することを意図する。Pc+Pd=100(%)になるように割合Pc,Pdが設定されてもよい。
リスト生成部16はキーワードリスト内で第1キーワードおよび第2キーワードをシャッフルしてもよい。同じ語句が第1キーワードおよび第2キーワードの双方から選択された場合には、リスト生成部16はその語句を重複してキーワードリストに含めるのではなく、一つのみをキーワードリストに含める。一例では、リスト生成部16は第1キーワードおよび第2キーワードのそれぞれに、対応するキーワード種別を関連付ける。
ステップS15では、送信部17がキーワードリストをユーザ端末20に送信する。ユーザ端末20はそのキーワードリストを受信および表示する。例えば、ユーザ端末20は図1に示すキーワードリスト202を表示する。送信部17は、第1情報源での第1コンテンツの検索のために用いられるキーワードを対象ユーザに提供するためにキーワードリストをユーザ端末20上に表示させてもよい。
閲覧履歴解析部11および第1候補キーワードデータベース33は必須の構成要素ではなく、第1選択部14が閲覧履歴解析部11の役割も担ってもよい。この場合、第1選択部14は要求に応答して閲覧履歴データベース31および第1コンテンツデータベース32を参照し、閲覧履歴に基づいて少なくとも一つの第1キーワードを選択する。すなわち、閲覧履歴に基づいて少なくとも一つの第1キーワードを選択する一連の処理は、上記実施形態のように定期的なバッチ処理を含んでもよいし、すべてリアルタイムに処理されてもよい。
スコアリング部12および第2候補キーワードデータベース36は必須の構成要素ではなく、第2選択部15がスコアリング部12の役割も担ってもよい。この場合、第2選択部15は要求に応答してメタ情報データベース34およびユーザデータベース35を参照し、第2情報源でのキーワードの出現頻度に少なくとも基づいて少なくとも一つの第2キーワードを選択する。すなわち、出現頻度に少なくとも基づいて少なくとも一つの第2キーワードを選択する一連の処理は、上記実施形態のように定期的なバッチ処理を含んでもよいし、すべてリアルタイムに処理されてもよい。
上記実施形態では情報提供システム1が第1キーワードおよび第2キーワードの双方を含むキーワードリストを生成するが、情報提供システムは第1キーワードを選択することなく第2キーワードを用いてキーワードリストを生成してもよい。すなわち、第1キーワードの選択は必須ではなく、これに対応して、閲覧履歴から第1候補キーワードを抽出する処理も必須ではない。この変形例では、区分情報は他のコンピュータシステムよって任意の手法でユーザデータベース35などの所定の記憶装置に登録される。この変形例においても、対象ユーザによって用いられる蓋然性が高いキーワードを精度良く提供することが可能になる。
上記実施形態の説明に用いたブロック図は、機能単位のブロックを示している。これらの機能ブロック(構成部)は、ハードウェア及びソフトウェアの少なくとも一方の任意の組み合わせによって実現される。また、各機能ブロックの実現方法は特に限定されない。すなわち、各機能ブロックは、物理的又は論理的に結合した1つの装置を用いて実現されてもよいし、物理的又は論理的に分離した2つ以上の装置を直接的又は間接的に(例えば、有線、無線などを用いて)接続し、これら複数の装置を用いて実現されてもよい。機能ブロックは、上記1つの装置又は上記複数の装置にソフトウェアを組み合わせて実現されてもよい。
機能には、判断、決定、判定、計算、算出、処理、導出、調査、探索、確認、受信、送信、出力、アクセス、解決、選択、選定、確立、比較、想定、期待、見做し、報知(broadcasting)、通知(notifying)、通信(communicating)、転送(forwarding)、構成(configuring)、再構成(reconfiguring)、割り当て(allocating、mapping)、割り振り(assigning)などがあるが、これらに限られない。たとえば、送信を機能させる機能ブロック(構成部)は、送信部(transmitting unit)または送信機(transmitter)と呼称される。いずれも、上述したとおり、実現方法は特に限定されない。
例えば、本開示の一実施の形態における情報提供システム1またはサーバ10は、本開示の処理を行うコンピュータとして機能してもよい。図12は、情報提供システム1またはサーバ10として機能するコンピュータ100のハードウェア構成の一例を示す図である。コンピュータ100は、物理的には、プロセッサ1001、メモリ1002、ストレージ1003、通信装置1004、入力装置1005、出力装置1006、バス1007などを含んでもよい。
なお、以下の説明では、「装置」という文言は、回路、デバイス、ユニットなどに読み替えることができる。サーバ10のハードウェア構成は、図に示した各装置を1つ又は複数含むように構成されてもよいし、一部の装置を含まずに構成されてもよい。
サーバ10における各機能は、プロセッサ1001、メモリ1002などのハードウェア上に所定のソフトウェア(プログラム)を読み込ませることによって、プロセッサ1001が演算を行い、通信装置1004による通信を制御したり、メモリ1002及びストレージ1003におけるデータの読み出し及び書き込みの少なくとも一方を制御したりすることによって実現される。
プロセッサ1001は、例えば、オペレーティングシステムを動作させてコンピュータ全体を制御する。プロセッサ1001は、周辺装置とのインターフェース、制御装置、演算装置、レジスタなどを含む中央処理装置(CPU:Central Processing Unit)によって構成されてもよい。
また、プロセッサ1001は、プログラム(プログラムコード)、ソフトウェアモジュール、データなどを、ストレージ1003及び通信装置1004の少なくとも一方からメモリ1002に読み出し、これらに従って各種の処理を実行する。プログラムとしては、上述の実施の形態において説明した動作の少なくとも一部をコンピュータに実行させるプログラムが用いられる。例えば、サーバ10の各機能要素は、メモリ1002に格納され、プロセッサ1001において動作する制御プログラムによって実現されてもよい。上述の各種処理は、1つのプロセッサ1001によって実行される旨を説明してきたが、2以上のプロセッサ1001により同時又は逐次に実行されてもよい。プロセッサ1001は、1以上のチップによって実装されてもよい。なお、プログラムは、電気通信回線を介してネットワークから送信されてもよい。
メモリ1002は、コンピュータ読み取り可能な記録媒体であり、例えば、ROM(Read Only Memory)、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)、RAM(Random Access Memory)などの少なくとも1つによって構成されてもよい。メモリ1002は、レジスタ、キャッシュ、メインメモリ(主記憶装置)などと呼ばれてもよい。メモリ1002は、本開示の一実施の形態に係る方法を実施するために実行可能なプログラム(プログラムコード)、ソフトウェアモジュールなどを保存することができる。
ストレージ1003は、コンピュータ読み取り可能な記録媒体であり、例えば、CD-ROM(Compact Disc ROM)などの光ディスク、ハードディスクドライブ、フレキシブルディスク、光磁気ディスク(例えば、コンパクトディスク、デジタル多用途ディスク、Blu-ray(登録商標)ディスク)、スマートカード、フラッシュメモリ(例えば、カード、スティック、キードライブ)、フロッピー(登録商標)ディスク、磁気ストリップなどの少なくとも1つによって構成されてもよい。ストレージ1003は、補助記憶装置と呼ばれてもよい。上述の記憶媒体は、例えば、メモリ1002及びストレージ1003の少なくとも一方を含むデータベース、サーバその他の適切な媒体であってもよい。
通信装置1004は、有線ネットワーク及び無線ネットワークの少なくとも一方を介してコンピュータ間の通信を行うためのハードウェア(送受信デバイス)であり、例えばネットワークデバイス、ネットワークコントローラ、ネットワークカード、通信モジュールなどともいう。通信装置1004は、例えば周波数分割複信(FDD:Frequency Division Duplex)及び時分割複信(TDD:Time Division Duplex)の少なくとも一方を実現するために、高周波スイッチ、デュプレクサ、フィルタ、周波数シンセサイザなどを含んで構成されてもよい。
入力装置1005は、外部からの入力を受け付ける入力デバイス(例えば、キーボード、マウス、マイクロフォン、スイッチ、ボタン、センサなど)である。出力装置1006は、外部への出力を実施する出力デバイス(例えば、ディスプレイ、スピーカ、LEDランプなど)である。なお、入力装置1005及び出力装置1006は、一体となった構成(例えば、タッチパネル)であってもよい。
また、プロセッサ1001、メモリ1002などの各装置は、情報を通信するためのバス1007によって接続される。バス1007は、単一のバスを用いて構成されてもよいし、装置間ごとに異なるバスを用いて構成されてもよい。
また、コンピュータ100は、マイクロプロセッサ、デジタル信号プロセッサ(DSP:Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、FPGA(Field Programmable Gate Array)などのハードウェアを含んで構成されてもよく、当該ハードウェアにより、各機能ブロックの一部又は全てが実現されてもよい。例えば、プロセッサ1001は、これらのハードウェアの少なくとも1つを用いて実装されてもよい。
以上説明したように、本開示の一側面に係る情報提供システムは、少なくとも一つのプロセッサを備える。少なくとも一つのプロセッサは、情報源におけるキーワード群から第1ユーザによって選択されたキーワードと、該キーワードが属するジャンルと、該ジャンルにおける第1ユーザのクラスタとの間の対応関係を示す被選択キーワード情報を記憶するデータベースを参照し、ジャンルおよびクラスタの組合せに対応する複数のキーワードのそれぞれについて該キーワードの選択回数を算出し、複数のキーワードのそれぞれについて、該キーワードの選択回数と情報源での該キーワードの出現頻度とに少なくとも基づいてスコアを算出し、複数のキーワードに対応する複数のスコアに基づいて、クラスタに属する第2ユーザに提示する1以上のキーワードを該複数のキーワードから選択し、選択された1以上のキーワードを含むキーワードリストを第2ユーザの端末上に表示させる。
このような側面においては、第1ユーザによって選択されたキーワードと、該キーワードのジャンルと、該第1ユーザのクラスタとの対応関係に基づいて、個々のキーワードの選択回数が算出される。そして、個々のキーワードについてその選択回数と情報源での出現頻度とに基づくスコアが算出され、そのスコアに基づいて、第2ユーザに提示する1以上のキーワードが選択される。このように、他のユーザ(第1ユーザ)による選択と情報源での出現頻度との双方を考慮してキーワードを選択することで、ユーザ(第2ユーザ)によって用いられる蓋然性が高いキーワードを精度良く提供することが可能になる。
他の側面に係る情報提供システムでは、被選択キーワード情報が、キーワードと、キーワードが第1ユーザによって選択されたタイミングと、ジャンルと、クラスタとの間の対応関係を示してもよい。少なくとも一つのプロセッサは、直近の時間帯における選択回数を複数のキーワードのそれぞれについて算出し、複数のキーワードのそれぞれについて、直近の時間帯における選択回数と、直近の時間帯における出現頻度と、直近の時間帯の一つ前の時間帯での前回スコアとに基づいて、直近の時間帯における直近スコアを算出し、複数のキーワードに対応する、直近の時間帯における複数の直近スコアに基づいて、複数のキーワードから1以上のキーワードを選択してもよい。キーワードを選択するために用いる直近スコアの計算において前回スコアを用いることで、時間の経過に伴うキーワードの流行の変化を考慮してキーワードを選択することができる。
他の側面に係る情報提供システムでは、少なくとも一つのプロセッサが、1未満の正数である第1係数を前回スコアに乗じることで得られた値と、1未満の正数である第2係数を出現頻度に乗じることで得られた値と、選択回数とを加算することで直近スコアを算出してもよい。このように直近スコアを計算することで、一つ前の時間帯での動向、および情報源での出現頻度よりも、直近の時間帯において他のユーザ(第1ユーザ)によって選択された事実の方を重視してキーワードをユーザ(第2ユーザ)に提示することができる。
他の側面に係る情報提供システムでは、少なくとも一つのプロセッサが、情報源とは異なる別の情報源でのコンテンツの検索のために用いられるキーワードを第2ユーザに提供するために、キーワードリストを端末上に表示させてもよい。この場合には、対象ユーザが別の情報源のコンテンツを検索するために用いる蓋然性が高いキーワードを精度良く提供することが可能になる。
他の側面に係る情報提供システムでは、少なくとも一つのプロセッサが、被選択キーワード情報を生成して被選択キーワード情報をデータベースに格納してもよい。被選択キーワード情報の生成は、複数の第1ユーザが別の情報源から提供されるコンテンツにアクセスしたことを示す閲覧履歴を記憶する別のデータベースを参照するステップと、閲覧履歴で示されるそれぞれのアクセスについてコンテンツから1以上のキーワードを特定するステップと、閲覧履歴で示されるそれぞれのアクセスについて、1以上のキーワードのそれぞれについて特徴量を算出し、キーワードおよび特徴量の1以上の組合せを含む特徴ベクトルを生成するステップと、第1ユーザとコンテンツのジャンルとの組合せ毎に特徴ベクトルを合算するステップと、ジャンル毎に、それぞれの特徴ベクトルに基づいて複数の第1ユーザをクラスタリングすることで複数のクラスタを生成するステップと、クラスタリングの結果に基づいて被選択キーワード情報を生成するステップとを含んでもよい。このような一連の処理により被選択キーワード情報を生成することで、それぞれのジャンルにおいて複数のユーザが適切にクラスタリングされる。したがって、ユーザによって用いられる蓋然性が高いキーワードを精度良く提供することができる。
以上、本開示について詳細に説明したが、当業者にとっては、本開示が本開示中に説明した実施形態に限定されるものではないということは明らかである。本開示は、請求の範囲の記載により定まる本開示の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。したがって、本開示の記載は、例示説明を目的とするものであり、本開示に対して何ら制限的な意味を有するものではない。
情報の通知は、本開示において説明した態様/実施形態に限られず、他の方法を用いて行われてもよい。例えば、情報の通知は、物理レイヤシグナリング(例えば、DCI(Downlink Control Information)、UCI(Uplink Control Information))、上位レイヤシグナリング(例えば、RRC(Radio Resource Control)シグナリング、MAC(Medium Access Control)シグナリング、報知情報(MIB(Master Information Block)、SIB(System Information Block)))、その他の信号又はこれらの組み合わせによって実施されてもよい。また、RRCシグナリングは、RRCメッセージと呼ばれてもよく、例えば、RRC接続セットアップ(RRC Connection Setup)メッセージ、RRC接続再構成(RRC Connection Reconfiguration)メッセージなどであってもよい。
本開示において説明した各態様/実施形態は、LTE(Long Term Evolution)、LTE-A(LTE-Advanced)、SUPER 3G、IMT-Advanced、4G(4th generation mobile communication system)、5G(5th generation mobile communication system)、FRA(Future Radio Access)、NR(new Radio)、W-CDMA(登録商標)、GSM(登録商標)、CDMA2000、UMB(Ultra Mobile Broadband)、IEEE 802.11(Wi-Fi(登録商標))、IEEE 802.16(WiMAX(登録商標))、IEEE 802.20、UWB(Ultra-WideBand)、Bluetooth(登録商標)、その他の適切なシステムを利用するシステム及びこれらに基づいて拡張された次世代システムの少なくとも一つに適用されてもよい。また、複数のシステムが組み合わされて(例えば、LTE及びLTE-Aの少なくとも一方と5Gとの組み合わせ等)適用されてもよい。
本開示において説明した各態様/実施形態の処理手順、シーケンス、フローチャートなどは、矛盾の無い限り、順序を入れ替えてもよい。例えば、本開示において説明した方法については、例示的な順序を用いて様々なステップの要素を提示しており、提示した特定の順序に限定されない。
本開示において基地局によって行われるとした特定動作は、場合によってはその上位ノード(upper node)によって行われることもある。基地局を有する1つ又は複数のネットワークノード(network nodes)からなるネットワークにおいて、端末との通信のために行われる様々な動作は、基地局及び基地局以外の他のネットワークノード(例えば、MME又はS-GWなどが考えられるが、これらに限られない)の少なくとも1つによって行われ得ることは明らかである。上記において基地局以外の他のネットワークノードが1つである場合を例示したが、複数の他のネットワークノードの組み合わせ(例えば、MME及びS-GW)であってもよい。
情報等は、上位レイヤ(又は下位レイヤ)から下位レイヤ(又は上位レイヤ)へ出力され得る。複数のネットワークノードを介して入出力されてもよい。
入出力された情報等は特定の場所(例えば、メモリ)に保存されてもよいし、管理テーブルを用いて管理してもよい。入出力される情報等は、上書き、更新、又は追記され得る。出力された情報等は削除されてもよい。入力された情報等は他の装置へ送信されてもよい。
判定は、1ビットで表される値(0か1か)によって行われてもよいし、真偽値(Boolean:true又はfalse)によって行われてもよいし、数値の比較(例えば、所定の値との比較)によって行われてもよい。
本開示において説明した各態様/実施形態は単独で用いてもよいし、組み合わせて用いてもよいし、実行に伴って切り替えて用いてもよい。また、所定の情報の通知(例えば、「Xであること」の通知)は、明示的に行うものに限られず、暗黙的(例えば、当該所定の情報の通知を行わない)ことによって行われてもよい。
ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称で呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能などを意味するよう広く解釈されるべきである。
また、ソフトウェア、命令、情報などは、伝送媒体を介して送受信されてもよい。例えば、ソフトウェアが、有線技術(同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL:Digital Subscriber Line)など)及び無線技術(赤外線、マイクロ波など)の少なくとも一方を使用してウェブサイト、サーバ、又は他のリモートソースから送信される場合、これらの有線技術及び無線技術の少なくとも一方は、伝送媒体の定義内に含まれる。
本開示において説明した情報、信号などは、様々な異なる技術のいずれかを使用して表されてもよい。例えば、上記の説明全体に渡って言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、チップなどは、電圧、電流、電磁波、磁界若しくは磁性粒子、光場若しくは光子、又はこれらの任意の組み合わせによって表されてもよい。
なお、本開示において説明した用語及び本開示の理解に必要な用語については、同一の又は類似する意味を有する用語と置き換えてもよい。例えば、チャネル及びシンボルの少なくとも一方は信号(シグナリング)であってもよい。また、信号はメッセージであってもよい。また、コンポーネントキャリア(CC:Component Carrier)は、キャリア周波数、セル、周波数キャリアなどと呼ばれてもよい。
本開示において使用する「システム」及び「ネットワーク」という用語は、互換的に使用される。
また、本開示において説明した情報、パラメータなどは、絶対値を用いて表されてもよいし、所定の値からの相対値を用いて表されてもよいし、対応する別の情報を用いて表されてもよい。例えば、無線リソースはインデックスによって指示されるものであってもよい。
上述したパラメータに使用する名称はいかなる点においても限定的な名称ではない。さらに、これらのパラメータを使用する数式等は、本開示で明示的に開示したものと異なる場合もある。様々なチャネル(例えば、PUCCH、PDCCHなど)及び情報要素は、あらゆる好適な名称によって識別できるので、これらの様々なチャネル及び情報要素に割り当てている様々な名称は、いかなる点においても限定的な名称ではない。
本開示においては、「基地局(BS:Base Station)」、「無線基地局」、「固定局(fixed station)」、「NodeB」、「eNodeB(eNB)」、「gNodeB(gNB)」、「アクセスポイント(access point)」、「送信ポイント(transmission point)」、「受信ポイント(reception point)、「送受信ポイント(transmission/reception point)」、「セル」、「セクタ」、「セルグループ」、「キャリア」、「コンポーネントキャリア」などの用語は、互換的に使用され得る。基地局は、マクロセル、スモールセル、フェムトセル、ピコセルなどの用語で呼ばれる場合もある。
基地局は、1つ又は複数(例えば、3つ)のセルを収容することができる。基地局が複数のセルを収容する場合、基地局のカバレッジエリア全体は複数のより小さいエリアに区分でき、各々のより小さいエリアは、基地局サブシステム(例えば、屋内用の小型基地局(RRH:Remote Radio Head)によって通信サービスを提供することもできる。「セル」又は「セクタ」という用語は、このカバレッジにおいて通信サービスを行う基地局及び基地局サブシステムの少なくとも一方のカバレッジエリアの一部又は全体を指す。
本開示においては、「移動局(MS:Mobile Station)」、「ユーザ端末(user terminal)」、「ユーザ装置(UE:User Equipment)」、「端末」などの用語は、互換的に使用され得る。
移動局は、当業者によって、加入者局、モバイルユニット、加入者ユニット、ワイヤレスユニット、リモートユニット、モバイルデバイス、ワイヤレスデバイス、ワイヤレス通信デバイス、リモートデバイス、モバイル加入者局、アクセス端末、モバイル端末、ワイヤレス端末、リモート端末、ハンドセット、ユーザエージェント、モバイルクライアント、クライアント、又はいくつかの他の適切な用語で呼ばれる場合もある。
基地局及び移動局の少なくとも一方は、送信装置、受信装置、通信装置などと呼ばれてもよい。なお、基地局及び移動局の少なくとも一方は、移動体に搭載されたデバイス、移動体自体などであってもよい。当該移動体は、乗り物(例えば、車、飛行機など)であってもよいし、無人で動く移動体(例えば、ドローン、自動運転車など)であってもよいし、ロボット(有人型又は無人型)であってもよい。なお、基地局及び移動局の少なくとも一方は、必ずしも通信動作時に移動しない装置も含む。例えば、基地局及び移動局の少なくとも一方は、センサなどのIoT(Internet of Things)機器であってもよい。
また、本開示における基地局は、ユーザ端末で読み替えてもよい。例えば、基地局及びユーザ端末間の通信を、複数のユーザ端末間の通信(例えば、D2D(Device-to-Device)、V2X(Vehicle-to-Everything)などと呼ばれてもよい)に置き換えた構成について、本開示の各態様/実施形態を適用してもよい。この場合、基地局が有する機能をユーザ端末が有する構成としてもよい。また、「上り」及び「下り」などの文言は、端末間通信に対応する文言(例えば、「サイド(side)」)で読み替えられてもよい。例えば、上りチャネル、下りチャネルなどは、サイドチャネルで読み替えられてもよい。
同様に、本開示におけるユーザ端末は、基地局で読み替えてもよい。この場合、ユーザ端末が有する機能を基地局が有する構成としてもよい。
本開示で使用する「判断(determining)」、「決定(determining)」という用語は、多種多様な動作を包含する場合がある。「判断」、「決定」は、例えば、判定(judging)、計算(calculating)、算出(computing)、処理(processing)、導出(deriving)、調査(investigating)、探索(looking up、search、inquiry)(例えば、テーブル、データベース又は別のデータ構造での探索)、確認(ascertaining)した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、受信(receiving)(例えば、情報を受信すること)、送信(transmitting)(例えば、情報を送信すること)、入力(input)、出力(output)、アクセス(accessing)(例えば、メモリ中のデータにアクセスすること)した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、解決(resolving)、選択(selecting)、選定(choosing)、確立(establishing)、比較(comparing)などした事を「判断」「決定」したとみなす事を含み得る。つまり、「判断」「決定」は、何らかの動作を「判断」「決定」したとみなす事を含み得る。また、「判断(決定)」は、「想定する(assuming)」、「期待する(expecting)」、「みなす(considering)」などで読み替えられてもよい。
「接続された(connected)」、「結合された(coupled)」という用語、又はこれらのあらゆる変形は、2又はそれ以上の要素間の直接的又は間接的なあらゆる接続又は結合を意味し、互いに「接続」又は「結合」された2つの要素間に1又はそれ以上の中間要素が存在することを含むことができる。要素間の結合又は接続は、物理的なものであっても、論理的なものであっても、或いはこれらの組み合わせであってもよい。例えば、「接続」は「アクセス」で読み替えられてもよい。本開示で使用する場合、2つの要素は、1又はそれ以上の電線、ケーブル及びプリント電気接続の少なくとも一つを用いて、並びにいくつかの非限定的かつ非包括的な例として、無線周波数領域、マイクロ波領域及び光(可視及び不可視の両方)領域の波長を有する電磁エネルギーなどを用いて、互いに「接続」又は「結合」されると考えることができる。
本開示において使用する「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」の両方を意味する。
本開示において使用する「第1の」、「第2の」などの呼称を使用した要素へのいかなる参照も、それらの要素の量又は順序を全般的に限定しない。これらの呼称は、2つ以上の要素間を区別する便利な方法として本開示において使用され得る。したがって、第1及び第2の要素への参照は、2つの要素のみが採用され得ること、又は何らかの形で第1の要素が第2の要素に先行しなければならないことを意味しない。
本開示において、「含む(include)」、「含んでいる(including)」及びそれらの変形が使用されている場合、これらの用語は、用語「備える(comprising)」と同様に、包括的であることが意図される。さらに、本開示において使用されている用語「又は(or)」は、排他的論理和ではないことが意図される。
本開示において、例えば、英語でのa, an及びtheのように、翻訳により冠詞が追加された場合、本開示は、これらの冠詞の後に続く名詞が複数形であることを含んでもよい。
本開示において、「AとBが異なる」という用語は、「AとBが互いに異なる」ことを意味してもよい。なお、当該用語は、「AとBがそれぞれCと異なる」ことを意味してもよい。「離れる」、「結合される」などの用語も、「異なる」と同様に解釈されてもよい。