JP2014215625A - Data delivering method, data delivering apparatus, computer program, and recording medium - Google Patents
Data delivering method, data delivering apparatus, computer program, and recording medium Download PDFInfo
- Publication number
- JP2014215625A JP2014215625A JP2013089482A JP2013089482A JP2014215625A JP 2014215625 A JP2014215625 A JP 2014215625A JP 2013089482 A JP2013089482 A JP 2013089482A JP 2013089482 A JP2013089482 A JP 2013089482A JP 2014215625 A JP2014215625 A JP 2014215625A
- Authority
- JP
- Japan
- Prior art keywords
- data
- user
- article
- past
- user terminal
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
-
- G06F17/30—
Abstract
Description
本発明は、ユーザ端末に対してデータを配信するデータ配信方法、データ配信装置、コンピュータプログラムおよび記録媒体に関する。 The present invention relates to a data distribution method, a data distribution apparatus, a computer program, and a recording medium for distributing data to a user terminal.
現在、情報を入手する媒体として、広くインターネットが利用されている。利用の態様としては、ユーザが端末から、種々のホームページ、ブログ、ソーシャルネットワーキングサービス(SNS)やニュースサイトなどに自発的にアクセスする他、登録ユーザに対して定期的にニュース等の記事が配信される情報配信サービスを利用することもできる。 Currently, the Internet is widely used as a medium for obtaining information. As usage modes, users voluntarily access various homepages, blogs, social networking services (SNS), news sites, etc. from terminals, and articles such as news are regularly distributed to registered users. You can also use the information distribution service.
特許文献1には、広告の提供方法として、次のような方法が提案されている。すなわち、ユーザから指定された文書を、該文書の特徴を示す複数の属性値によるベクトルで記述し、指定された文書群のベクトルを合成したベクトルを、該ユーザの嗜好を表すベクトルとして計算し、提示候補である広告を、該広告の特徴を示す複数の属性値によるベクトルで記述し、ユーザの嗜好を示すベクトルと広告の特徴を示すベクトルの類似度を計算し、類似度が高い広告を優先的に提示する。
特許文献2には、状況に応じて、タイミングを逸せずに関連情報を提示する情報処理装置および方法が提案されている。この従来技術では、メールの送受信によるイベントの発生に対応する文書の特徴ベクトルと、各話題(文書群)の特徴ベクトルとの内積から、両者の類似度を算出している。また、話題の特徴ベクトルとして、全話題の単語(特徴語)数の総計がn個の場合、全ての話題の特徴ベクトルをn次元空間のベクトルで表すことを示している。すなわち、複数の単語の重みからなるn次元ベクトルの利用を開示している。 Patent Document 2 proposes an information processing apparatus and method for presenting related information without losing timing according to the situation. In this prior art, the similarity between both is calculated from the inner product of the feature vector of a document corresponding to the occurrence of an event due to mail transmission and reception and the feature vector of each topic (document group). Further, when the total number of words (feature words) of all the topics is n as topic feature vectors, it indicates that the feature vectors of all the topics are represented by vectors in an n-dimensional space. That is, the use of an n-dimensional vector composed of a plurality of word weights is disclosed.
特許文献3には、文書の特徴を表す文書ベクトルから文書間の類似度を算出する際、文書同士の比較にユーザの嗜好を反映させる文書処理装置が提案されている。 Patent Document 3 proposes a document processing apparatus that reflects a user's preference in a comparison between documents when calculating a similarity between documents from a document vector representing the characteristics of the document.
特許文献4には、ユーザが検索を望むコンテンツのジャンル、キーワードなどのアクセス情報と、ユーザのIDとユーザのコンテンツに対する嗜好を数値化したユーザ情報とをそれぞれ重みづけしたベクトルの和と、個々のコンテンツの属性を数値化したコンテンツ情報のベクトルの内積を求め、その演算結果に基づいてコンテンツを順序づけするコンテンツ検索装置が提案されている。 In Patent Literature 4, access information such as a genre and a keyword of a content that the user wants to search, a user ID and a user information obtained by quantifying the user's content preference, and a sum of vectors, There has been proposed a content search apparatus that obtains an inner product of content information vectors obtained by quantifying content attributes and orders the contents based on the calculation result.
ところで、インターネットから得られる情報は多種多様であり、特に、情報配信サービスを利用するユーザは、定期的に配信されてくる大量の情報に接することとなる。このような状況で、ユーザがある記事に接したとき、その記事の内容に類似した(または関連した)記事を過去に読んだ記憶があるが、その内容が俄に思い出せない、検索するにしても目的の記事を見つけ出すまでに手間と時間が掛かる、あるいは、検索も上手くいかない、という場合がある。 By the way, there is a wide variety of information obtained from the Internet, and in particular, a user who uses an information distribution service comes into contact with a large amount of information that is regularly distributed. In such a situation, when a user touches an article, there is a memory of reading an article similar to (or related to) the content of the article in the past. However, it may take time and effort to find the target article, or the search may not be successful.
このような背景において、本発明は、端末のユーザがあるデータを与えられたとき、当該ユーザが接した過去のデータの中から、迅速かつ容易にそのデータに類似(または関連)したデータを見つけ出すことができるデータ配信方法、データ配信装置、コンピュータプログラムおよび記録媒体を提供しようとするものである。 In such a background, when the terminal user is given certain data, the present invention quickly and easily finds data similar to (or related to) that data from past data that the user has contacted. A data distribution method, a data distribution apparatus, a computer program, and a recording medium are provided.
本発明によるデータ配信方法は、ユーザ端末に対してデータを配信するデータ配信方法であって、ユーザ端末に対してデータを配信するステップと、前記ユーザ端末のユーザが過去に接した過去データを特定するための特定情報を保存するステップと、配信されたデータに対する前記ユーザ端末からの所定の指示に応じて、当該ユーザが接した過去データのうち、当該所定の指示を受けたデータと類似するデータを探知するステップと、前記探知されたデータを当該ユーザ端末へ送信するステップとを備えたことを特徴とする。 A data distribution method according to the present invention is a data distribution method for distributing data to a user terminal, the step of distributing data to the user terminal, and identifying past data that the user of the user terminal has contacted in the past Data that is similar to the data that has received the predetermined instruction among the past data that the user has contacted in response to a predetermined instruction from the user terminal with respect to the distributed data, And a step of transmitting the detected data to the user terminal.
このデータ配信方法では、ユーザが過去に接した過去データを特定するための特定情報を保存しておき、ユーザが接したデータをきっかけ(契機)として、当該ユーザの過去データの中から、類似するデータを探知する。これにより、配信されたデータをきっかけとしてユーザが過去データの中から想起するであろうデータを自動的に推定して抽出することが可能となる。 In this data distribution method, specific information for specifying past data that the user has contacted in the past is stored, and the data that the user has contacted is used as a trigger (trigger) to resemble the user's past data. Detect data. This makes it possible to automatically estimate and extract data that the user will recall from past data, triggered by the distributed data.
そのために例えば、前記ユーザ端末に配信されるデータについて、各データの特徴を表すデータ特徴ベクトルを生成するステップをさらに備え、前記探知するステップでは、当該データのデータ特徴ベクトルと前記過去データのデータ特徴ベクトルとを対比することにより、対比するデータ同士の類似度を求め、この求められた類似度に基づいて前記過去データの中から類似度の高い1または複数のデータを特定する。 For this purpose, for example, for data distributed to the user terminal, the method further includes a step of generating a data feature vector representing a feature of each data, and the detecting step includes a data feature vector of the data and a data feature of the past data. By comparing the vectors with each other, the similarity between the data to be compared is obtained, and one or more data having a high similarity are specified from the past data based on the obtained similarity.
前記類似度を求めるステップでは、前記配信されたデータのデータ特徴ベクトルと前記過去データのデータ特徴ベクトルとを対比し、両特徴ベクトルの相関係数を類似度として求めることができる。相関係数の他に、両特徴ベクトルの内積やユークリッド距離を使うこともありえる。また、データ特徴ベクトルの情報量(情報エントロピー)を掛けて、補正することもありえる。 In the step of obtaining the similarity, the data feature vector of the distributed data is compared with the data feature vector of the past data, and a correlation coefficient between both feature vectors can be obtained as the similarity. In addition to the correlation coefficient, the inner product of both feature vectors and the Euclidean distance may be used. Further, the correction may be performed by multiplying the information amount (information entropy) of the data feature vector.
前記データ特徴ベクトルを、その特徴を拡張した連想ベクトルに変換するステップをさらに備え、前記探知するステップでは、前記連想ベクトルを前記過去データのデータ特徴ベクトルと対比するようにしてもよい。これにより、想起のきっかけとなるデータの特徴を補足して、想起の漏れを低減することができる。 The method may further include the step of converting the data feature vector into an associative vector obtained by extending the feature, and in the detecting step, the associative vector may be compared with a data feature vector of the past data. As a result, it is possible to supplement the feature of the data that triggers the recall and reduce the leakage of the recall.
前記探知するステップは、前記所定の指示に応じてリアルタイムで実行してもよいし、前記データを配信する際に配信対象の各データについて前もって実行しておくようにしてもよい。 The detecting step may be executed in real time according to the predetermined instruction, or may be executed in advance for each data to be distributed when the data is distributed.
前記配信するステップにおいて、前記前もって実行した探知するステップにより得られた過去データについては、初期的に非表示の状態で当該配信されるデータに埋め込んで配信することができる。 In the distributing step, the past data obtained by the detecting step executed in advance can be embedded in the distributed data in an initially non-display state and distributed.
前記「ユーザが過去に接した記事」は、ユーザが過去に読んだ記事の他、ユーザが関心を示す意思表示を表すユーザ操作を行った記事、過去に配信を受けた記事、の少なくとも1つである。 The “article contacted by the user in the past” is at least one of an article read by the user in the past, an article that has been operated by a user representing an intention indicating that the user is interested, and an article that has been received in the past. It is.
ユーザが外部ストレージサービスを利用して保存したデータを前記ユーザが過去に接したデータとして管理するステップをさらに備えてもよい。これにより、データ配信サービスの対象となるデータの範囲を拡張することができる。 The method may further comprise managing data stored by the user using an external storage service as data that the user has contacted in the past. Thereby, it is possible to expand the range of data to be subjected to the data distribution service.
本発明によるデータ配信装置は、ユーザ端末に対してデータを配信するデータ配信装置であって、ユーザ端末に対して配信するデータを生成する配信データ生成手段と、前記ユーザ端末のユーザが過去に接した過去データを特定するための特定情報を保存する過去データ保存手段と、配信されたデータに対する前記ユーザ端末からの所定の指示に応じて、当該ユーザが接した過去データのうち、当該所定の指示を受けたデータと類似するデータを探知するデータ探知手段と、前記探知されたデータを当該ユーザ端末へ送信する送信手段とを備えることを特徴とする。 A data distribution apparatus according to the present invention is a data distribution apparatus that distributes data to a user terminal, wherein distribution data generation means for generating data to be distributed to the user terminal and a user of the user terminal have contacted the past. Past data storage means for storing specific information for specifying the past data, and the predetermined instruction of the past data contacted by the user in response to a predetermined instruction from the user terminal for the distributed data Data detection means for detecting data similar to the received data, and transmission means for transmitting the detected data to the user terminal.
本発明によるコンピュータプログラムは、ユーザ端末に対してデータを配信するデータ配信方法をコンピュータに実行させるコンピュータプログラムであって、ユーザ端末に対してデータを配信するステップと、前記ユーザ端末のユーザが過去に接した過去データを特定するための特定情報を保存するステップと、配信されたデータに対する前記ユーザ端末からの所定の指示に応じて、当該ユーザが接した過去データのうち、当該所定の指示を受けたデータと類似するデータを探知するステップと、前記探知されたデータを当該ユーザ端末へ送信するステップとをコンピュータに実行させるコンピュータプログラムである。 A computer program according to the present invention is a computer program for causing a computer to execute a data distribution method for distributing data to a user terminal, the step of distributing data to the user terminal, and a user of the user terminal in the past. In response to a predetermined instruction from the user terminal with respect to the distributed data, a step of storing specific information for specifying the past data that has been contacted, and receiving the predetermined instruction among the past data that the user has contacted A computer program that causes a computer to execute a step of detecting data similar to the detected data and a step of transmitting the detected data to the user terminal.
本発明による記録媒体は、上記コンピュータプログラムをコンピュータ読み取り可能に記録した記録媒体である。 The recording medium by this invention is a recording medium which recorded the said computer program so that computer reading was possible.
本発明によれば、端末のユーザがあるデータを与えられたとき、当該ユーザが接した過去のデータの中から、当該ユーザに負担をかけることなく、迅速かつ容易にそのデータに類似(または関連)したデータを見つけ出すことができる。 According to the present invention, when a terminal user is given certain data, it can quickly and easily resemble (or relate to) that data from the past data that the user has contacted without imposing a burden on the user. ) Can be found.
以下、本発明の実施の形態について図面を参照しながら詳細に説明する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
図1に、本実施の形態における通信ネットワークを利用したサービスが提供されるデータ配信システムの全体の概略構成を示す。 FIG. 1 shows an overall schematic configuration of a data distribution system that provides a service using a communication network in the present embodiment.
現在、通信ネットワークとしてのインターネット200に対して、ユーザがアクセスするための各種ツールが存在する。図では、PC100a、いわゆるスマートフォンやタブレットと呼ばれる携帯端末100b、携帯電話端末100c、およびテレビ受信機100dを示している。テレビ受信機100dは家電機器の代表として示したものであり、これ以外にも種々の家電機器が当該アクセスツールとなりうる。本明細書では、このような任意のアクセスツールを端末(またはユーザ端末)と総称する。
Currently, there are various tools for users to access the Internet 200 as a communication network. In the figure, a PC 100a, a mobile terminal 100b called a smartphone or a tablet, a
サービスを提供する側の装置として、インターネット200には、本実施の形態に係るサービスを提供するサービスサーバ300、および複数のWEBサーバ400が接続されている。サービスサーバ300が本発明のデータ配信装置を構成している。WEBサーバ400には、情報発信サイト、ホームページ、ブログ、ツイッター(登録商標)、フェースブック(登録商標)、mixi(ミクシィ)(登録商標)などのソーシャルネットワーキングサービス(SNS)を提供するサイトを含む。
A
本実施の形態に係るサービスサーバ300におけるサービスとして、インターネットを介して、ユーザ端末に対して定期的にデータ(典型的には記事)を配信するデータ配信サービスを例として挙げる。例えば、サービスサーバ300は、インターネット上の各種サイトを自発的に定期的にクローリングして、文書、写真、動画など(テキストデータを利用できるもの)のデータを取得し、各ユーザ(登録ユーザ)の嗜好に合うデータを抽出して優先順位を付与し、優先順位の高いデータを選択して(または、優先順位の高い順に)データを当該ユーザの端末へ送信し、提示する。そのために、サービスサーバ300は、WEBサーバの機能や電子メールの送受信を行う機能を有する。本明細書において「ユーザの嗜好」とはユーザの好みや関心等を表す。インターネット上の情報としては、ニュース、投稿、広告、書籍情報、企業情報、音楽情報、等あらゆる情報が含まれうる。
As a service in the
なお、本願出願人は、特願2012−108731号としてそのような情報配信サービスのための情報処理方法を提案している。但し、本発明はこの先願の情報処理方法を必須の前提とするものではない。 The applicant of the present application has proposed an information processing method for such an information distribution service as Japanese Patent Application No. 2012-108731. However, the present invention is not based on the information processing method of the prior application.
本実施の形態における本質的な機能は、ユーザがある記事(データ)に接したとき、自身が過去に接したデータの内、類似する(または関連する)記事を自動的に抽出して、ユーザに提示する機能である。このような機能をリコール機能という。リコール機能は、ある記事に接したユーザが過去にも同様の記事を読んだ記憶があるが、その記事はどこのサイトの誰のどのような記事であったか俄に思い出せないというような場合に、ユーザに代わって該当する記事を探知してユーザに提示するものである。 The essential function in the present embodiment is that when a user contacts a certain article (data), a similar (or related) article is automatically extracted from the data that the user has contacted in the past, and the user It is a function to present to. Such a function is called a recall function. The recall function is used when a user who contacts an article remembers reading a similar article in the past, but the article cannot be remembered by whom or what article on which site. The corresponding article is detected on behalf of the user and presented to the user.
なお、本明細書におけるユーザに配信される記事を構成する「データ」は、基本的には文字列からなる文書のテキストデータであるが、写真などの静止画、動画、音楽など他のメディアのデータに付随したテキストデータであってもよい。 Note that “data” that constitutes an article distributed to users in this specification is basically text data of a document consisting of character strings, but it is not available for other media such as still images such as photographs, videos, and music. It may be text data attached to the data.
図2に、端末100の各種機能を表したブロック図を示す。 FIG. 2 is a block diagram showing various functions of the terminal 100.
端末100は、CPU101、記憶部102、入力部104、表示部105、通信部106を備える。端末の種類によって異なるが、例えば、通話や音楽プレーヤ機能のための音声処理部111、マイク111aおよびスピーカ111bを備えてもよい。また、テレビ受信機100dのような端末では放送受信部112を備える。その他、図示しないが、個々の端末に固有の処理部を備えることができる。
The terminal 100 includes a
CPU101は所定の各部と接続され、記憶部102に格納された各種プログラムを実行することにより端末100の各部を制御する制御部を構成し、各種の機能(手段)を実現する。記憶部102には、コンピュータプログラムの他、フォント等の固定的なデータ、各種設定データ等を不揮発的に格納している領域、CPU101により利用される作業領域、データの一時記憶領域として利用される領域を含む。さらに、記憶部102は、インターネット200を経由して取得された各種の文書やデータを不揮発的に記憶する領域を含む。
The
入力部104は、ユーザが端末100に対して、各種の指示やデータを入力するためのユーザインタフェースである。通常、電源キー、通話キー、テンキー、カーソル操作キー等の各種キーを含みうる。これらのキーはハードウェアキーであってもよいし、ソフトウェア的に提供されるものでもよい。表示部105は、端末100がユーザに対して表示情報を提供するためのユーザインタフェースであり、液晶ディスプレイ、有機ELディスプレイ等の表示デバイスを含む。入力部104としては、表示部105の表示画面に重なったタッチ入力領域を有するタッチパネルを備えてもよい。さらには、入力部104は、マウスのようなポインティングデバイスによる入力機能、加速度センサ等の端末の姿勢や動作を検出するセンサ機能、ユーザの表情や顔のパーツの変化等を検知するイメージセンサ機能、音声指示を受け付ける機能等を備えてもよい。入力部104の入力は、これらの任意の機能によるユーザ操作入力を含みうる。
The
通信部106は、インターネット200に接続するための手段であり、アンテナを介して第3世代(3G),第4世代(4G)等の携帯電話無線システムにおける基地局との間での無線通信を行い、基地局を介して通信相手との間で通話やデータ通信を行うための処理部である。その他、通信部106としては、無線LAN、BLUETOOTH(登録商標)等、既存の任意の通信手段を利用することができる。
The
図3に、サービスサーバ300の各種機能を表したブロック図を示す。
FIG. 3 is a block diagram showing various functions of the
サービスサーバ300は、その主要な機能部として、通信部310、表示部320、入力部330、データ処理部340および記憶部350を備える。
The
通信部310は、例えばルータなどの、インターネット200に接続されてデータ通信を行うデバイスを含む。表示部320は、サービスサーバ300の保守員等に対して表示情報を提供するためのユーザインタフェースであり、任意の表示デバイスを含む。
The
入力部330は、保守員等がサービスサーバ300に対して、各種の指示やデータを入力するためのユーザインタフェースであり、例えばキーボードである。
The
データ処理部340は、CPU等を含み、サービスサーバ300の各種の制御や必要なデータ処理を行う部位である。本実施の形態では、データ処理部340は、記事取得管理部341、記事配信処理部343、およびユーザ管理部345を含む。
The data processing unit 340 includes a CPU and the like, and is a part that performs various controls of the
記憶部350は、全体記事データ記憶部351、ユーザ別記事データ記憶部353、およびユーザ管理データ記憶部355を含む。
The storage unit 350 includes an entire article
データ処理部340内の記事取得管理部341は、インターネット200を介して、WEBサーバ400等のサイトから種々の記事(データ)を取得し、全体記事データ記憶部351に保存して管理する部位である。記事取得管理部341は、また、全体記事データ記憶部351内に保存された各記事についてそのデータからデータ特徴ベクトルを生成し、ユーザ毎にユーザの嗜好に合った記事を選択し、ユーザ別記事データ記憶部353に保存する。
The article
ユーザ管理部345は、個々のユーザ毎に、ユーザ管理データとしてユーザの個人情報やユーザ特徴ベクトルを、ユーザ管理データ記憶部355に保存する。個人情報には、登録ユーザに対するサービスを行う場合のユーザの認証情報(ユーザIDやパスワード等)、氏名、住所、ニックネーム、学歴(出身校)、嗜好情報、等を含みうる。データ特徴ベクトルおよびユーザ特徴ベクトルの詳細については後述する。端末100からデータ(例えば個人情報としてのユーザプロファイルデータなど)を取得する場合もありうる。この取得されたデータは、後述するユーザ特徴ベクトルとともに、ユーザ管理データ記憶部355に保存される。
The
記事配信処理部343は、ユーザに対して記事を提供するサービスに係る処理を実行する部位である。このサービスは、上述したように、個々のユーザの嗜好をインターネットのサービス上に投影して、当該ユーザに必要な(必要そうな)情報(記事)を、効率的に判別して、ユーザに提示するものである。具体的には、
−各ユーザヘの商品および人材などのマッチングおよびレコメンド
−ユーザに最適化した事物の予測
−ユーザに最適化したデータのフィルタリング(絞り込み)
−ユーザに最適化したデータの検索
などを含みうる。
The article
-Matching and recommendation of products and human resources for each user-Prediction of things optimized for users-Filtering of data optimized for users (narrowing)
-It may include searching for data optimized for the user.
ここで、本明細書におけるデータ特徴ベクトルについて説明する。 Here, the data feature vector in this specification will be described.
データ特徴ベクトルとは、記事(文書)の中に現れる語に対してその重み(ある実数)を対応させる辞書であり、これによって、ある記事(文書)の特徴を表現するものである。特徴ベクトルは、語の関数としても記述できる他、現れる語の順序を固定して座標とすればベクトルの形にも記述できる。 The data feature vector is a dictionary that associates a weight (a certain real number) with a word appearing in an article (document), and expresses a feature of the article (document). A feature vector can be described as a function of a word, or can be described in the form of a vector if the order of appearing words is fixed as coordinates.
例1: データ特徴ベクトルを、ある文書の中に含まれる各語とその頻度分布としての重みで表す場合。
c = {猫: 0.12, 月: 0.03, 本: 0.34, ….}
この表記は、当該文書中に「猫」という語が 12% 現れる、「月」という誤が3%現れる、「本」という用語が34%現れる、…ことを意味している。c(猫) = 0.12等 のように関数の形にも書けるし、c = (0.12, 0.03, 0.34, …) のようにベクトルの形式にも書ける。
Example 1: A case where a data feature vector is represented by weights as each word included in a document and its frequency distribution.
c = {cat: 0.12, month: 0.03, book: 0.34,….}
This notation means that the word “cat” appears 12% in the document, the error “moon” appears 3%, the term “book” appears 34%, and so on. It can be written in the form of a function such as c (cat) = 0.12, etc., or in the form of a vector such as c = (0.12, 0.03, 0.34,…).
例2: データ特徴ベクトルを、ある文書の中に含まれる語の集合で表す場合。
c = { 猫, 月, 本, ….}
これは重みが全て 1 の辞書、と認識してもよいし、この集合に含まれる語に対して、例えば c(猫) = 1、それ以外の語について 0 を与える関数と認識することもできる。
Example 2: A data feature vector is represented by a set of words included in a document.
c = {cat, moon, book,….}
This can be recognized as a dictionary with weights of all 1s, or it can be recognized as a function that gives c (cat) = 1, for example, and 0 for other words in the set. .
例3: 例1 での重みとして、その文書の中の頻度だけではなく、ある文書群を基準にして、各語の文書頻度(どれくらいの文書に現れるか)を加味する場合もある。情報検索の分野などで利用されるTF-IDF(Term Frequency-Inverse Document Frequency)は、その1つの例である。 Example 3: As the weight in Example 1, not only the frequency in the document but also the document frequency of each word (how many documents appear) may be considered based on a certain document group. TF-IDF (Term Frequency-Inverse Document Frequency) used in the field of information retrieval is one example.
個々のユーザの嗜好をインターネットのサービス上に投影するためには、例えば、ユーザ特徴ベクトル(嗜好ベクトル)を用いる。本明細書において、ユーザ特徴ベクトルとは、そのユーザの嗜好を反映したユーザ固有の情報をベクトルとして表現したものである。例えば、n次元のユーザ特徴ベクトルtvecは、tvec=[a1,a2,…,an]と表すことができる。ここに、a1,a2,…,anはベクトルtvecのn個の要素である。ユーザj毎のユーザ特徴ベクトルtvecjは次式のように表すことができる。
tvecj=[aj1,aj2,…,ajn]
In order to project the preferences of individual users on the Internet service, for example, user feature vectors (preference vectors) are used. In the present specification, the user feature vector represents information specific to a user reflecting the user's preference as a vector. For example, the n-dimensional user feature vector tvec can be expressed as tvec = [a1, a2,..., An]. Here, a1, a2,..., An are n elements of the vector tvec. The user feature vector tvecj for each user j can be expressed as:
tvecj = [aj1, aj2, ..., ajn]
そこで、各記事のデータ特徴ベクトルをユーザ特徴ベクトルと対比して、両特徴ベクトルの類似度を算出することができる。例えば、ユーザjに対する記事のデータDiの優先順位(全順序)を決定するために、次式のとおり、ユーザ特徴ベクトルtvecjと比較対象記事のデータDiのデータ特徴ベクトルcveciとの内積を算出する。
(tvecj・cveci)=Σajm×vim
(m=1,2,…,n)
ここに、ajmはユーザjのユーザ特徴ベクトルtvecjのm番目の要素の値であり、vimは比較対象記事のデータDiのデータ特徴ベクトルのm番目の要素の値である。この際、内積値に、データ特徴ベクトル cvec i の情報量(情報エントロピー)を掛けて、補正することも考えられる。これにより、データの情報量が類似度に与える影響を軽減することができる。
Therefore, the similarity between both feature vectors can be calculated by comparing the data feature vector of each article with the user feature vector. For example, in order to determine the priority (total order) of article data Di for user j, as shown in the following equation, the inner product of user feature vector tvecj and data feature vector cveci of comparison target article data Di is calculated.
(Tvecj · cveci) = Σajm × vim
(M = 1, 2,..., N)
Here, ajm is the value of the mth element of the user feature vector tvecj of the user j, and vim is the value of the mth element of the data feature vector of the data Di of the comparison target article. At this time, the inner product value may be corrected by multiplying the information amount (information entropy) of the data feature vector cvec i. Thereby, the influence which the information amount of data has on the similarity can be reduced.
この内積の大きさの順番にデータDiに優先順位(大きいものに高く)を付与する。データ特徴ベクトルとユーザ特徴ベクトルの内積をとる際には、両ベクトルの次元数を一致させる必要がある。その際には、後述するような仮想的な最大次元数nを用いる代わりに、実際上は、両ベクトルの異なる単語の総数に相当する次元数nを想定すれば足りる。 Priorities (higher to higher ones) are assigned to the data Di in the order of the size of the inner product. When taking the inner product of the data feature vector and the user feature vector, it is necessary to match the dimensionality of both vectors. In that case, instead of using a virtual maximum dimension number n as described later, it is actually sufficient to assume a dimension number n corresponding to the total number of different words of both vectors.
ついで、算出された類似度に従って複数の記事に優先順位を付与する。さらに、付与された優先順位に応じた記事の提示のための記事データの生成を行う。すなわち、優先順位の高い記事を優先的に当該ユーザに対して提示する。具体的には、優先順位の最も高い記事のみを提示する、優先順位の高い所定数の記事を選択してユーザに提示する、優先順位の高い順にすべての記事をユーザに提示する等、アプリケーションや状況に応じて、種々の提示の形態が考えられる。提示の際に、ユーザの要求に応じて優先順位に従って、複数の記事を段階的に提示する形態もありうる。 Next, priorities are assigned to a plurality of articles according to the calculated similarity. Further, article data for presenting articles according to the assigned priority order is generated. That is, an article with a high priority is preferentially presented to the user. Specifically, only the article with the highest priority is presented, a predetermined number of articles with the highest priority are selected and presented to the user, all articles are presented to the user in the order of priority, etc. Various forms of presentation are conceivable depending on the situation. When presenting, there may be a form in which a plurality of articles are presented step by step according to priority according to a user request.
なお、特に本発明を限定するものではないが、ユーザ特徴ベクトルを生成する具体的な方法の一例として、本出願人の先願に提示したような技術を利用することができる。すなわち、ユーザに対して提示された複数の記事のうち、当該ユーザの操作に応じて、当該ユーザが関心を示した高関心文書と、ユーザが関心を示さなかった低関心文書とを特定し、高関心文書に含まれる単語群と前記低関心文書に含まれる単語群とを対比して、両文書に共通に含まれる単語の重み値を"0"とし、高関心文書のみに含まれる単語の重み値を非0値に設定した、単語群に対応する重み値の列をユーザ特徴ベクトルとして生成する。類似度は、例えば、優先順位の付与対象となる複数の記事のデータ特徴ベクトルとユーザ特徴ベクトルとを対比し、両特徴ベクトルにおける対応する単語同士の重み値の積の和を類似度として求めることができる。 Although the present invention is not particularly limited, the technique as presented in the prior application of the present applicant can be used as an example of a specific method for generating the user feature vector. That is, among a plurality of articles presented to the user, in accordance with the operation of the user, a highly interested document in which the user is interested and a low interest document in which the user is not interested are identified, By comparing the word group included in the high interest document and the word group included in the low interest document, the weight value of the word commonly included in both documents is set to “0”, and the word included only in the high interest document is determined. A column of weight values corresponding to a word group in which the weight value is set to a non-zero value is generated as a user feature vector. The similarity is obtained, for example, by comparing the data feature vectors of a plurality of articles to be given priority and user feature vectors, and obtaining the sum of products of weight values of corresponding words in both feature vectors as the similarity. Can do.
但し、このような記事配信データ生成の具体的な処理について、本発明は特に限定するものではない。本発明の前提として、何らかの方法で個々のユーザへ記事データが配信されれば足りる。 However, the present invention is not particularly limited with respect to specific processing for generating such article distribution data. As a premise of the present invention, it is sufficient that article data is distributed to individual users by some method.
WEBサーバ400の構成および機能は本願発明に直接関係ないので説明は省略する。WEBサーバ400は、http(hyper text transfer protocol)に則って、インターネット経由でコンテンツの要求等の端末(クライアント)からのリクエストを受け、これに応じて、要求されたコンテンツをインターネット経由で当該端末に応答する。
Since the configuration and function of the
図4は、本実施の形態におけるデータ配信システムの全体の機能を説明するためのブロック図である。 FIG. 4 is a block diagram for explaining the overall functions of the data distribution system according to the present embodiment.
サービスサーバ300のユーザ管理部345は、本サービスの利用に先立って、ユーザ端末100から受信したユーザを特定する情報やユーザの個人情報をユーザ管理データ記憶部355に保存し管理する。
Prior to the use of this service, the
サービスサーバ300の記事取得管理部341は、定期的に(例えば1日1回ないし複数回、または1時間毎等の周期的に)、外部の情報発信サイト、SNSサイト、ブログサイト等の特定のWEBサーバ400にアクセスし、種々の記事(データ)を収集し、全体記事データ記憶部351に保存する。その後、ユーザ管理データ記憶部355に保存されている各ユーザの嗜好を表すデータに応じて、各ユーザへ配信する所定個数の記事を含む記事データを作成し、ユーザ別記事データ記憶部353に保存する。このユーザ別記事データ記憶部353には、作成されたユーザ別記事データが逐次、蓄積されていく。また、記事毎にユーザが読んだか否かのマーク(またはフラグ)が付与される。ユーザ別記事データ記憶部353は、本発明における「ユーザが過去に接した過去データを特定するための特定情報」を保存する手段を構成する。
The article
記事配信処理部343は、定期的に(例えば1日1回ないし数回)、ユーザ別記事データ記憶部353から、各ユーザへ配信すべき記事データを読み出し、所定の通信インタフェースを介してユーザ端末100へ配信する。所定の通信インタフェースは例えばWEBサービスや電子メールである。本実施の形態では、記事データは所定個(例えば30個)の記事を含んでいる。この「所定個」として各ユーザが所望の個数を指定できるようにしてもよい。
The article
ユーザ端末100の記事受信・表示部121は、サービスサーバ300から記事データを受信すると、表示部105(図1)の表示画面に表示する。WEBサービスや電子メールで配信される記事データは、例えばHTML(Hyper Text Markup Language)のようなマークアップ言語文書で記述される。記事受信・表示部121はメーラープログラムやブラウザプログラムを含む。表示された記事データに、いわゆるリンクが設定されている場合には、そのリンクがユーザにより指示(選択)されたとき、記事受信・表示部121はリンク先のURLにアクセスし、アクセス先のコンテンツをさらに受信し、表示することができる。
When the article reception /
リコール指示検出部123は、表示された記事データを見たユーザが、リコール指示を入力したとき、そのリコール指示を検出し、サービスサーバ300へリコール記事要求を送信する。リコール指示検出部123の機能は、既存のブラウザプログラムにより実現することができる。このようなリコール指示がなされるきっかけとなった記事を本明細書では「きっかけ記事」と呼ぶ。「リコール記事要求」にはきっかけ記事を特定するためのきっかけ記事ID(例えば後述するArticleDATA)およびユーザIDが含まれる。なお、リコール記事要求の他に、ユーザの操作に応じた所定の情報が適時ユーザ端末100からサービスサーバ300へ送信される。
When the user who has viewed the displayed article data inputs a recall instruction, the recall
記事配信処理部343は、配信された記事に対する当該ユーザ端末からの所定の指示(すなわちリコール指示)に基づくリコール記事要求を受けると、当該所定の指示を受けた記事と類似する記事をユーザ別記事データ記憶部353内の当該ユーザが接した過去記事(過去データ)から探知する。より具体的には、当該記事のデータ特徴ベクトルと当該ユーザの個々の過去記事のデータ特徴ベクトルとを対比することにより、対比する記事同士の類似度を求め、この求められた類似度に基づいて過去記事の中から類似度の高い1または複数の記事を特定する。さらに記事配信処理部343は、このような探知により得られた記事をリコール記事データとして当該ユーザ端末へ返送する。
When the article
ユーザ端末100は、このリコール記事データを受信したとき、リコール記事受信・表示部125によりリコール記事データを表示画面上に表示する。リコール記事受信・表示部125の機能は、既存のブラウザプログラムにより実現さすることができる。
When receiving the recall article data, the user terminal 100 causes the recall article reception /
図5に、本実施の形態においてサービスサーバ300の記憶部350に構築されるデータベース(DB)の概念的な構造を示す。このDBは、図の左側に示したユーザ別データベースと、図の右側に示した全体記事データベースとを含む。ユーザ別データベースは、各ユーザの個人情報355と、ユーザ別記事データ記憶部353に保存された各ユーザごとの配信記事(すなわち配信データ)または配信記事を特定するための情報を含む。ユーザ別記事データ記憶部353は、過去に配信された記事データの情報も蓄積している。
FIG. 5 shows a conceptual structure of a database (DB) constructed in the storage unit 350 of the
この例では、ユーザの個人情報は、個々のユーザを識別するためのユーザ識別情報(UserID)、メールアドレス(mail address)、ユーザ特徴ベクトル(Taste Vector: tvec)を含んでいる。 In this example, the user's personal information includes user identification information (UserID) for identifying individual users, a mail address, and a user feature vector (Taste Vector: tvec).
ユーザ別記事データ記憶部353に保存された各記事は、作成日(Created Date)、配信日(Delivered Date)、記事ID(Article DATA)DATA1,DATA2,・・・,DATAn、および各記事ID毎に設けられた既読マーク(Selected Mark)の各データ項目を含んでいる。既読マーク(Selected Mark)は、ユーザがその記事を読んだか否かを表すデータである。ここでは、既読マークは初期的に「否」または「0」のような未読を示すデータが設定され、記事の配信後にその記事に対するユーザの当該操作があったときに、「有」または「1」のような既読を示すデータに変更される。他のデータ項目は記事データの作成時に設定される。
Each article stored in the user-specific article
また、全体記事データベースは、複数の記事データを含む。各記事データは、その記事の記事ID(Article DATA)、題名(Title)、テキスト(Text)、記事URL(Article URL)、フィードURL(Feed URL)、サムネイルURL(Thumbnail URL)、特徴ベクトル(Characteristic Vector: cvec)、付随情報(Info)、等を含んでいる。 The whole article database includes a plurality of article data. Each article data includes the article ID (Article DATA), title (Title), text (Text), article URL (Article URL), feed URL (Feed URL), thumbnail URL (Thumbnail URL), feature vector (Characteristic) Vector: cvec), accompanying information (Info), etc.
各記事データのテキスト(Text)は記事の文書の一部または全文または要約などを表す文字列からなる。記事URL(Article URL)は、その記事の配信元のアドレスを表している。フィードURL(Feed URL)は、当該記事を提供している情報発信サイト(新聞社など)におけるニュース配信のためのURLである。サムネイルURL(Thumbnail URL)は、その記事に関連した画像のアドレスを表している。サムネイルURLは記事によっては存在しない場合もありうる。特徴ベクトル(Characteristic Vector: cvec)は、その記事のデータ特徴ベクトルである。付随情報(Info)は、この記事に関する任意の情報であり、例えば、その記事が外部ストレージから取り込んだ記事であることを示す情報である。 The text (Text) of each article data is composed of a character string representing a part of the article document or the whole sentence or a summary. Article URL (Article URL) represents the address of the distribution source of the article. A feed URL is a URL for news distribution at an information transmission site (such as a newspaper company) that provides the article. A thumbnail URL (Thumbnail URL) represents an address of an image related to the article. The thumbnail URL may not exist depending on the article. A feature vector (Characteristic Vector: cvec) is a data feature vector of the article. The accompanying information (Info) is arbitrary information related to this article, for example, information indicating that the article is an article taken from the external storage.
ユーザが記事を読んだか否は、例えば、典型的にはユーザが配信記事に対してその全文を表示させる操作を行った場合にその記事をユーザが読んだと判定することができる。ユーザが読んだ記事は、ユーザが「接した」記事に含まれる。但し、ユーザが接した記事はユーザが読んだ記事に限られるものではなく、後述する各種ボタン操作をした記事なども「接した記事」に含めることができる。 Whether or not the user has read the article can be determined, for example, that the user has read the article typically when the user performs an operation to display the full text on the distributed article. Articles read by the user are included in articles that the user “contacts”. However, the articles touched by the user are not limited to the articles read by the user, and articles touched by various buttons to be described later can be included in the “touched articles”.
図6は、ユーザに配信される記事データの構造例を示している。 FIG. 6 shows an example of the structure of article data distributed to the user.
配信記事データは、配信日と、所定個の記事の記事データを含む。各記事データは、題名、テキスト、URL、サムネイルURL、および各種のボタンを含んでいる。ここでいうボタンとは、例えば表示画面上に表示される操作ボタンに対応するイメージおよび機能に対応するデータ要素であり、本例ではLike!ボタン、Shareボタン、Commentボタンの例(後述する図9参照)を示している。これらの各要素(項目)には、必要に応じてリンクが設定される。リンクは、その要素がユーザにより指示(選択)されたとき、そのリンク先へ移行したり、そのリンクに対応づけられた特定の機能(処理)が起動されたりする。具体的な実施の例としては、このような構造がHTMLデータなどに変換されて配信されることになる。 The distribution article data includes a distribution date and article data of a predetermined number of articles. Each article data includes a title, text, URL, thumbnail URL, and various buttons. The buttons here are, for example, data elements corresponding to images and functions corresponding to operation buttons displayed on the display screen. In this example, Like! Examples of buttons, Share buttons, and Comment buttons (see FIG. 9 described later) are shown. A link is set to each of these elements (items) as necessary. When the element is instructed (selected) by the user, the link is moved to the link destination or a specific function (process) associated with the link is activated. As a specific example, such a structure is converted into HTML data and distributed.
以下、本実施の形態におけるサービスの概略構成を説明し、次に、具体的な処理例を説明する。 Hereinafter, a schematic configuration of a service in the present embodiment will be described, and then a specific processing example will be described.
図7は、本実施の形態の基本的な機能を示す概念図である。ユーザAが、自身に配信された記事に対して、端末からリコールの指示を行ったとき、ユーザAが過去に接した記事が蓄積されているユーザAの過去記事を蓄積してある記事DBから、きっかけ記事に類似する(関連する)記事が自動的に探し出される。過去に接した記事は、例えば、既読マークが既読を示している記事である。そのために、きっかけ記事のデータ特徴ベクトルと、既読マークが付されたユーザAの過去記事の記事データ(過去記事データ)のデータ特徴ベクトルとに基づいて、記事同士の間の類似度が計算され、過去記事の中から類似度の高いものから所定個数の記事が抽出され、ユーザA(の端末)に対して提示される。 FIG. 7 is a conceptual diagram showing the basic functions of the present embodiment. When the user A issues a recall instruction from the terminal to an article distributed to the user A, from the article DB that stores the past articles of the user A in which the articles that the user A has contacted in the past are accumulated. Articles similar to (relevant to) the trigger article are automatically searched. An article touched in the past is, for example, an article whose read mark indicates read. Therefore, the similarity between the articles is calculated based on the data feature vector of the trigger article and the data feature vector of the article data (past article data) of the past article of the user A with the read mark. A predetermined number of articles are extracted from the past articles having a high degree of similarity and presented to the user A (terminal).
記事同士の類似度を求める具体例として、ここでは、記事のデータ特徴ベクトルを、上記例1に示したような、 (w1, v1), (w2, v2), … (wn, vn) といった、単語(w)とその重み(v)をペアにした形式で表した場合を例として説明する。 As a specific example of obtaining the similarity between articles, here, the data feature vector of the article is (w1, v1), (w2, v2), ... (wn, vn) as shown in Example 1 above. A case where the word (w) and its weight (v) are represented in a paired format will be described as an example.
より具体的には、記事同士の類似度としては、一例として次式のとおり、きっかけ記事のデータ特徴ベクトルcvec0と、過去記事のデータDiのデータ特徴ベクトルcveciとの相関係数cvec0・cveci/(|cvec0||cveci|)を算出する。
cvec0・cveci/(|cvec0||cveci|)=Σam×vim /(|cvec0||cveci|)
(m=1,2,…,n)
ここに、amはきっかけ記事のデータ特徴ベクトルcvec0のm番目の要素の値であり、vimはデータDiのデータ特徴ベクトルcveciのm番目の要素の値である。
More specifically, as the similarity between articles, as an example, the correlation coefficient cvec0 · cveci / () between the data feature vector cveci of the trigger article and the data feature vector cveci of the data Di of the past article is represented by the following equation. | cvec0 || cveci |) is calculated.
cvec0 · cveci / (| cvec0 || cveci |) = Σam × vim / (| cvec0 || cveci |)
(M = 1, 2,..., N)
Here, am is the value of the mth element of the data feature vector cvec0 of the trigger article, and vim is the value of the mth element of the data feature vector cveci of the data Di.
この相関係数値の大きさの順番にデータDiに優先順位(大きいものに高く)を付与する。データ特徴ベクトル同士の内積をとる際には、両ベクトルの次元数を一致させる必要がある。その際には、後述するような仮想的な最大次元数nを用いる代わりに、実際上は、両ベクトルの異なる単語の総数に相当する次元数nを想定すれば足りる。 Priorities (higher to higher ones) are assigned to the data Di in the order of the correlation coefficient values. When taking the inner product of data feature vectors, it is necessary to match the dimensionality of both vectors. In that case, instead of using a virtual maximum dimension number n as described later, it is actually sufficient to assume a dimension number n corresponding to the total number of different words of both vectors.
ついで、算出された類似度に従って複数の過去記事(データ)に優先順位を付与する。さらに、付与された優先順位に応じた記事の提示(または処理)を行う。すなわち、優先順位の高い記事を優先的に当該ユーザに対して提示する。具体的には、優先順位の最も高い記事のみを提示する、優先順位の高い所定数の記事を選択してユーザに提示する、優先順位の高い順にすべての記事をユーザに提示する等、アプリケーションや状況に応じて、種々の提示の形態が考えられる。提示の際に、ユーザの要求に応じて優先順位に従って、複数の記事を段階的に提示する形態もありうる。 Next, priorities are assigned to a plurality of past articles (data) according to the calculated similarity. Furthermore, an article is presented (or processed) according to the assigned priority order. That is, an article with a high priority is preferentially presented to the user. Specifically, only the article with the highest priority is presented, a predetermined number of articles with the highest priority are selected and presented to the user, all articles are presented to the user in the order of priority, etc. Various forms of presentation are conceivable depending on the situation. When presenting, there may be a form in which a plurality of articles are presented step by step according to priority according to a user request.
図8は、図7に示した基本的な動作(第1の動作)に対して、その変形例(第2の動作)を併せて示した図である。第1の動作は上述したとおりである。 FIG. 8 is a diagram showing a modification (second operation) in addition to the basic operation (first operation) shown in FIG. The first operation is as described above.
図8に示した第2の動作は、きっかけ記事のデータ特徴ベクトルを連想ベクトルに変換(拡張)した後、この連想ベクトルを上記と同様に、ユーザAの記事DBに作用させることにより、きっかけ記事の連想ベクトルが近いデータ特徴ベクトルを有する上位所定個の記事を抽出するものである。連想ベクトルの具体例については後述する。 The second operation shown in FIG. 8 is to convert (extend) the data feature vector of the trigger article into an associative vector, and then apply the associative vector to the article DB of user A in the same manner as described above, thereby The upper predetermined number of articles having data feature vectors that are similar to each other are extracted. A specific example of the association vector will be described later.
図9に、ユーザ端末における、あるユーザに対して配信された記事データの表示例を示す。この例では、データ配信サービスの各登録ユーザに対して、定期的に(例えば毎日1回)、記事データが配信される場合を想定する。 FIG. 9 shows a display example of article data distributed to a user on the user terminal. In this example, it is assumed that article data is distributed regularly (for example, once a day) to each registered user of the data distribution service.
ユーザに一度に配信される記事の個数は設定画面(図示せず)で可変設定できるようにしてもよい。 The number of articles delivered to the user at a time may be variably set on a setting screen (not shown).
配信された記事データの表示画面500は、配信日付501が最上部に表示され、その下に複数の記事エリア510が配置されている。
In the distributed article
各記事エリア510には、タイトル511、テキスト512、各種ボタン513、およびサムネイル画像514が所定の位置関係で配置されている。例えば、タイトル511には、この記事の元記事(コンテンツ)を示すURLへのリンクが設定されている。テキスト512は元の記事の一部または概要である。ユーザによりタイトル511が指示されたとき、元記事が当該WEBサーバへ要求され、表示画面500に代えて(または重ねて)、受信した元記事が図10の表示画面610のように表示される。
In each
ここでは、表示画面610に表示されるコンテンツは元記事のサイトから取得する場合を想定した。したがって、図10の表示画面610には、図9に示したような各種ボタン513は表示されていない。もし、元画面においても同様の各種ボタン513が含まれていれば、表示画面610上にも表示される。
Here, it is assumed that the content displayed on the
元記事へのリンクはタイトル511に設定される場合を想定したが、タイトル511に代えて(または加えて)テキスト512に設定してもよい。あるいは、「全文を表示」「続きを見る」等の文字列を追加表示して、この文字列にリンクを設定するようにしてもよい。
Although it is assumed that the link to the original article is set to the
また、テキスト全文の情報が配信記事データ内に元々包含され、その一部が隠された状態で表示画面500上に表示される態様もありうる。その場合には、元記事へのリンクは設定されることなく、タイトル511等への指示がなされたときに全文表示に切り替わるように配信記事データを構成することもできる。このような場合には、全文表示の画面にも各種ボタン513を用意しておくことができる。
In addition, there may be a mode in which the information of the entire text is originally included in the distribution article data and displayed on the
各種ボタン513は図6に示した例に対応している。Like!ボタンは、この記事を読んだユーザが賛意を表するためにユーザが指示するボタンである。Shareボタンは、この記事を読んだユーザが他のユーザと共有するために自己の属するSNSで公開するためにユーザが指示するボタンである。Commentボタンは、この記事を読んだユーザがコメントを記載するためにユーザが指示するボタンである。Recallボタンは、この記事を読んだユーザが本発明に係るリコール機能を起動するためにユーザが指示するボタンである。これらの各種ボタン513はユーザがその記事に対して関心を示す意思表示を表すユーザ操作といえる。このようなユーザ操作のためのボタンは図示したものに限らない。
表示画面500上のいずれかの記事に対して、ユーザによりそのRecallボタンに対するリコール指示が行われたとき、当該ユーザが接した過去の記事からその記事に類似(または関連)する1個または複数の記事が抽出され、図11の表示画面700に示すようにリコール記事として表示される。ここで示した表示エリア710は、図9に示した記事エリア510に相当するものとして示しているが、異なるフォーマットであってもよい。例えば、リコール記事の表示は、そのタイトルだけ、タイトルと本文、タイトルと本文と画像、など様々なフォーマットが考えられる。また、リコール記事の表示位置は、表示画面500上の当該記事エリアの下に出す、上に出す、右に出す、かぶせて出す、など様々考えられる。
When a user issues a recall instruction to the Recall button for any article on the
図12により、リコール範囲設定のための画面例を説明する。 An example of a screen for setting a recall range will be described with reference to FIG.
以上の説明では、ユーザによりリコール指示が行われたとき、リコール記事を探知する対象となる過去データは、ユーザが過去に接した記事を想定した。これに対して、以下のような拡張が可能である。 In the above description, when the recall instruction is issued by the user, the past data that is the target of detecting the recall article is assumed to be an article that the user has contacted in the past. On the other hand, the following expansion is possible.
「ユーザが過去に接した記事」は上述したように、典型的にはユーザが過去に読んだ記事であるが、各種ボタン操作をした記事を含んでもよい。さらには、単に推薦された記事を含んでもよい。「推薦された記事」とは、本実施の形態では上述したように表示画面500に表示されたような、当該ユーザに配信された記事のすべてである。
As described above, the “article contacted by the user in the past” is typically an article read by the user in the past, but may include articles in which various button operations have been performed. Furthermore, the article may simply include a recommended article. In the present embodiment, “recommended articles” are all articles distributed to the user as displayed on the
一方、近年、ユーザが大量のデータを保存するために、外部ストレージサービスが利用されている。外部ストレージサービスでは、キーワード検索やフォルダ整理などの方法以外で、必要な情報を引き出すことが難しい。そこで、記事配信サービスで提示(推薦)された記事以外にも、外部ストレージサービスなどを利用して、自身で任意のWEBサーバから取得した記事を「過去データ」に含める。そのために、外部ストレージの記事は、全体記事データ記憶部351に格納され、ユーザ別記事データ記憶部353の内容に基づいて参照される。複数利用している外部ストレージサービスについては個別に指定できるようにしてもよい。
On the other hand, in recent years, an external storage service has been used for a user to store a large amount of data. With external storage services, it is difficult to extract necessary information other than keyword search and folder organization. Therefore, in addition to the articles presented (recommended) by the article distribution service, articles acquired from an arbitrary WEB server by using an external storage service or the like are included in the “past data”. For this purpose, articles in the external storage are stored in the entire article
さらに、上述した説明では、「過去データ(過去記事)」はリコール指示を行ったユーザの過去データ(過去記事)に限定した。これに対して、「過去データ」を、リコール指示を行ったユーザ以外の他のユーザの過去データにまで拡張することも可能である。「他のユーザ」としては、特定のユーザをメールアドレスやユーザIDなどで、指定できるようにしてもよい。また、自身と「同じプロファイルのユーザ」を指定したり、「嗜好が近いユーザ」を指定したり、自分以外の「全ユーザ」を指定したり、することが可能である。 Furthermore, in the above description, the “past data (past article)” is limited to the past data (past article) of the user who issued the recall instruction. On the other hand, “past data” can be extended to past data of users other than the user who issued the recall instruction. As “another user”, a specific user may be designated by an e-mail address or a user ID. Also, it is possible to designate “users with the same profile” as themselves, designate “users with similar preferences”, and designate “all users” other than themselves.
このような各種のオプションは、図12に示したリコール範囲設定画面でユーザが任意に設定(Save)しておくことができる。このリコール範囲設定データは、例えば、サービスサーバ300のユーザ管理データ記憶部355等に保存しておくことができる。
Such various options can be arbitrarily set (save) by the user on the recall range setting screen shown in FIG. This recall range setting data can be stored in the user management
なお、プライバシーの問題を回避するために、そのような他のユーザは、自身の過去データを他者に公開することを承諾したユーザに限定することが好ましい。「他者」は自分以外のすべてのユーザとしてもよいし、指定したユーザのみに公開、または、指定したユーザ以外のユーザに公開、等のオプションを設定できるようにしてもよい。 In order to avoid privacy problems, such other users are preferably limited to users who have consented to publish their past data to others. The “others” may be all users other than themselves, or may be set to an option such as opening only to a specified user or opening to a user other than the specified user.
図13に、本実施の形態におけるサービスサーバと、複数のユーザ端末の間の連携処理の一例を表したフローチャートを示す。ここではユーザAの端末とユーザBの端末の2台のユーザ端末について説明するが、実際にはさらに多数のユーザ端末が関与しうる。 FIG. 13 is a flowchart showing an example of cooperation processing between a service server and a plurality of user terminals in the present embodiment. Although two user terminals, a user A terminal and a user B terminal, will be described here, a larger number of user terminals may actually be involved.
サービスサーバ300は、ユーザへの記事配信に先立って、記事取得管理部341により、通信部310を介して、定期的にインターネット上の所定のサイト(例えば上述したフィードURLで表されたサイト)をクロールして、記事を収集する。収集した記事は全体記事データ記憶部351に蓄積される。その後、所定の時点で、各ユーザのユーザ特徴ベクトルを用いて、各ユーザ毎に所定個数(例えば30個)の記事を抽出し、ユーザ別記事データ記憶部353に蓄積する(S211)。サービスサーバは、記事配信処理部343により、定時にまたは随時またはユーザの要求に応じて、通信部310を介して、各ユーザ端末へそのユーザ用に作成された最新の記事データを逐次、配信する(S212)。ユーザ毎の記事の抽出は当該ユーザへの配信の際に行ってもよい。
Prior to article distribution to the user, the
ユーザAの端末は、通信部106を介して、サービスサーバから自身宛の配信記事データを受領すると(S110,Yes)、図9の表示画面500に示したように、表示部105がその記事データを表示する(S111)。この表示された記事に対して、入力部104からのユーザ操作が受け付けられる(S112)。特に個別に説明しないが、ユーザ操作の内容によって、ユーザAの端末は対応した応答を行う。上記既読マーク等の更新のためにサービスサーバへ操作情報の通知も行う。上述した各種ボタンが指示された場合には、ユーザAの端末は、相応の処理を実行する。特に、ユーザ操作が「リコール指示」であった場合、ユーザAの端末は、そのきっかけ記事に対応するリコール記事をサービスサーバへ要求する(S113)。
When the terminal of user A receives the distribution article data addressed to itself from the service server via the communication unit 106 (S110, Yes), the
サービスサーバはこのリコール記事要求に応じて、ユーザ別記事データ記憶部353内の当該ユーザの過去データを参照し、きっかけ記事に対応するリコール記事を抽出して、リコール記事データとして、ユーザAの端末へ返送する(S213)。
In response to the recall article request, the service server refers to the user's past data in the user-specific article
リコール記事データを受信したユーザAの端末は、そのリコール記事を表示画面上に表示する(S114)。このリコール記事の表示に対してもユーザ操作が受け付けられる。記事データ表示を終了する指示が行われたとき(S115,Yes)、最初のステップS110へ戻る。記事データ表示へ戻る指示が行われたとき(S116,Yes)、ステップS111へ戻る。そうでなければ、ステップS112へ戻る。 The terminal of user A that has received the recall article data displays the recall article on the display screen (S114). User operations are also accepted for the display of recalled articles. When an instruction to end the article data display is given (S115, Yes), the process returns to the first step S110. When an instruction to return to article data display is made (S116, Yes), the process returns to step S111. Otherwise, the process returns to step S112.
ユーザBの端末についてもユーザAの端末と同様の処理が行われる(S120〜S126、S214)。 The same processing as that of the user A terminal is performed for the user B terminal (S120 to S126, S214).
図14は、図13に示した処理の変形例を示している。図13に示した処理と同様のステップには同じ符号を付して、重複した説明は省略する。図13の処理では、リコール記事の抽出処理をリコール記事要求に応じてリアルタイムで実行する場合を示した。これに対して、図14の処理では、リコール指示に応じてリアルタイムにリコール記事を抽出するのではなく、配信記事データの作成時に前もって配信対象の各記事に対してリコール記事も併せて抽出しておく。 FIG. 14 shows a modification of the process shown in FIG. Steps similar to those shown in FIG. 13 are denoted by the same reference numerals, and redundant description is omitted. In the process of FIG. 13, the case where the recall article extraction process is executed in real time in response to the recall article request is shown. On the other hand, in the process of FIG. 14, instead of extracting a recall article in real time according to a recall instruction, a recall article is also extracted for each article to be distributed in advance when creating distribution article data. deep.
すなわち、サービスサーバ300は、ユーザへの記事配信に先立って、記事取得管理部341により、各ユーザのユーザ特徴ベクトルを用いて、ユーザ毎に所定個数(例えば30個)の記事を抽出する際(S221)、ユーザ毎に各記事のリコール記事も併せて抽出する(S222)。抽出されたリコール記事(少なくともその記事を特定するための情報)は、ユーザ別記事データ記憶部353に、当該ユーザおよび当該記事に対応づけて記憶される。さらに、サービスサーバは、定時にまたは随時またはユーザの要求に応じて、各ユーザ端末へそのユーザ用に作成された記事データを逐次、配信する(S223)。各ユーザに配信される記事データには、当該ユーザ用に作成されたリコール記事が、端末において初期的に非表示となりユーザのリコール指示により表示されるような形態で埋め込んでおく。
That is, when the
ユーザ端末の処理は、基本的には、図13の場合と同じであるので、以下、図14の処理に特徴的な処理のみ説明する。ユーザ端末における記事データ表示(S111,S121)の段階では、リコール記事は隠された状態で、表示はされない。ユーザ端末は、ユーザからリコール指示を受けたとき(S113,S123,Yes)、受信済の記事データとともに内部(記憶部102)に記憶されている当該リコール記事のデータを読み出し(S113a,S123a)、表示する(S114,S124)。 Since the processing of the user terminal is basically the same as the case of FIG. 13, only the processing characteristic of the processing of FIG. 14 will be described below. At the stage of article data display (S111, S121) on the user terminal, the recall article is hidden and is not displayed. When the user terminal receives a recall instruction from the user (S113, S123, Yes), the user terminal reads the recall article data stored inside (the storage unit 102) together with the received article data (S113a, S123a). It is displayed (S114, S124).
この図13の方式では、リコール記事抽出をリアルタイム処理で実行するため、この処理に時間が掛かるとユーザを待たせることになるが、図14の方式ではこのような弊害がない。これに対して、図14の方式では必ずしも将来的にリコール指示が行われるとは限らないすべての配信記事についてリコール記事を用意するので、サービスサーバ側の処理負荷が大きくなり、配信記事のデータ量も増加するが、図13の方式ではこのような弊害がない。 In the method of FIG. 13, recall article extraction is executed by real-time processing. Therefore, if this processing takes time, the user is kept waiting. However, the method of FIG. 14 does not have such an adverse effect. In contrast, in the method of FIG. 14, recall articles are prepared for all distribution articles that are not necessarily instructed to be recalled in the future, so the processing load on the service server side increases, and the data volume of the distribution articles However, the method of FIG. 13 does not have such an adverse effect.
なお、リコール記事を前もって抽出する場合に、配信する記事データに埋め込んで配信することを想定したが、記事データに埋め込まずに、サービスサーバ側に保存しておくことも可能である。この場合、リコール指示があった際にユーザを待たせることがなく、また、記事配信時に余分なデータを送信する必要もない。 In addition, when recall articles are extracted in advance, it is assumed that they are embedded in the article data to be distributed, but can be stored on the service server side without being embedded in the article data. In this case, there is no need to wait for the user when a recall instruction is given, and there is no need to transmit extra data when distributing an article.
次に、複数のリコール方式の自動最適化の手法について説明する。図8で説明したように、ある記事をきっかけとするリコール記事を抽出するための手法としては複数の計算アルゴリズムが利用可能である。これらの複数の計算アルゴリズムをシステムが自動的に選択して、ユーザの嗜好に合わせてチューニングすることも考えられる。 Next, an automatic optimization method using a plurality of recall methods will be described. As described in FIG. 8, a plurality of calculation algorithms can be used as a method for extracting a recall article triggered by an article. It is also conceivable that the system automatically selects these calculation algorithms and tunes them according to the user's preference.
図15はそのような複数のリコール方式の自動最適化の第1の手法を示すフローチャートである。この方式では、一度のリコール記事データの作成において、複数のリコール方式を組み合わせて利用する。ここでは、第1、第2、第3の3個のリコール方式を組み合わせて、所定個(この例では30個)の記事を抽出する例を説明する。例えば、第1のリコール方式は図8に示した1番目のリコール方式であり、第2のリコール方式は図8に示した2番目のリコール方式であり、第3のリコール方式は図8に示した2番目のリコール方式における連想ベクトルを異ならせたものである。 FIG. 15 is a flowchart showing a first method of automatic optimization of such a plurality of recall methods. In this method, a plurality of recall methods are used in combination to create recall article data at one time. Here, an example will be described in which a predetermined number of articles (30 articles in this example) are extracted by combining the first, second, and third recall methods. For example, the first recall method is the first recall method shown in FIG. 8, the second recall method is the second recall method shown in FIG. 8, and the third recall method is shown in FIG. In the second recall method, the associative vector is made different.
サービスサーバは、リコール記事データの生成時に、まず、第1のリコール方式で上位n1個の記事を抽出する(S231)。次いで、第2のリコール方式で上位n2個の記事を抽出する(S232)。さらに、第3のリコール方式で上位n3個の記事を抽出する(S233)。ここで、n1,n2,n3の初期値は同じ(ここでは10)である。そこで、ユーザ端末からリコール指示を待って(S234)、これらの抽出された記事#1〜#30を含むリコール記事データをユーザ端末へ送信する(S235)。
When generating the recall article data, the service server first extracts the top n1 articles by the first recall method (S231). Next, the top n2 articles are extracted by the second recall method (S232). Further, the top n3 articles are extracted by the third recall method (S233). Here, the initial values of n1, n2, and n3 are the same (here, 10). Therefore, after waiting for a recall instruction from the user terminal (S234), recall article data including these extracted
ユーザ端末は、このリコール記事データを受信し、記事#1〜#30を表示する(S131)。その後、いずれかのリコール記事に対する選択操作があれば(S132,Yes)、その選択記事情報をサービスサーバに通知する。
The user terminal receives the recall article data and displays the
ここでの「選択操作」とは、当該記事に対する、例えば、上述した全文を表示させるための指示操作、あるいは上述した種々のボタン操作である。このような選択操作がなされたということは、そのリコール記事にユーザが何らかの関心を示したことを意味する。すなわち、そのリコール記事を抽出したリコール方式が当該ユーザに対して適正であったことを意味する。 Here, the “selection operation” is, for example, an instruction operation for displaying the above-described full sentence or various button operations described above for the article. That such a selection operation has been performed means that the user has expressed some interest in the recall article. That is, it means that the recall method from which the recall article is extracted is appropriate for the user.
また、ここでの「選択記事情報」は例えばリコール記事データに含まれるリコール記事を特定するための情報であり、例えばリコール記事データ内の何番目のリコール記事であるかを示す数値である。この情報に応じて、サービスサーバはその選択操作が向けられた記事がどのリコール方式によって抽出されたものかが分かる。 Further, the “selected article information” here is information for specifying the recall article included in the recall article data, for example, and is a numerical value indicating the number of the recall article in the recall article data. In accordance with this information, the service server knows by which recall method the article to which the selection operation is directed was extracted.
ユーザ端末からの選択記事情報を受けて、サービスサーバは、適正と判断されたリコール方式に基づいて、各リコール方式による抽出記事の提示順序および/またはその抽出記事数を更新する(S236)。「各リコール方式による抽出記事の提示順序」とは、リコール記事データ内の記事の順序であり、この例では、第1、第2、第3のリコール方式の実行順序である(実行順に提示順が決まるとして)。優先順位の高いリコール方式から順に、第1、第2、第3のリコール方式とする。「リコール方式の抽出記事数の更新」とは、そのリコール方式による記事の抽出個数である。例えば、第1、第2、第3のリコール方式の記事の抽出記事数の総和は変えずに、分担記事数n1,n2,n3の値を変化させることである。 In response to the selected article information from the user terminal, the service server updates the presentation order of the extracted articles and / or the number of extracted articles based on the recall method determined to be appropriate (S236). The “presentation order of extracted articles by each recall method” is the order of articles in the recall article data, and in this example, is the execution order of the first, second, and third recall methods (presentation order in execution order). ) The first, second, and third recall schemes are set in order from the recall scheme with the highest priority. “Updating the number of articles extracted by the recall method” is the number of articles extracted by the recall method. For example, changing the values of the number of shared articles n1, n2, and n3 without changing the total number of extracted articles of the articles of the first, second, and third recall methods.
このような自動最適化手法により、個々のユーザに適したリコール方式の使用頻度(または優先度)を高めることができる。 By using such an automatic optimization method, it is possible to increase the frequency (or priority) of using a recall method suitable for each user.
図16は、複数のリコール方式の自動最適化の第2の手法を示すフローチャートである。図15の第1の手法では、一度のリコール記事データの作成時に複数のリコール方式を利用したが、第2の手法では一度のリコール記事データの作成時には単一個のリコール方式のみを利用し、作成時毎にリコール方式を切り替えるものである。 FIG. 16 is a flowchart showing a second method of automatic optimization of a plurality of recall methods. In the first method of FIG. 15, a plurality of recall methods are used at the time of creating the recall article data at one time. However, in the second method, at the time of creating the recall article data once, only a single recall method is used and created. The recall method is switched every hour.
サービスサーバは、リコール指示に応じて(S241)、記事データの生成時に、まず、第nのリコール方式で上位30個の記事#1〜#30を抽出して、リコール記事データとして、ユーザ端末へ送信する(S242)。(変数nの初期値は例えば1である。)
In response to the recall instruction (S241), when generating the article data, the service server first extracts the top 30
ユーザ端末は、このリコール記事データを受信し、記事#1〜#30を表示する(S141)。その後、いずれかのリコール記事に対する選択操作があれば(S142,Yes)、その選択記事情報をサービスサーバに通知する。
The user terminal receives the recall article data and displays the
ユーザ端末からの選択記事情報通知を受けて、サービスサーバは、選択記事情報とリコール方式との関係を例えば記憶部350に蓄積する(S243)。 Upon receiving the selected article information notification from the user terminal, the service server accumulates the relationship between the selected article information and the recall method, for example, in the storage unit 350 (S243).
そこで、現在のリコール方式のユーザ適用性が有意であるかどうかをチェックする(S244)。有意かどうかの判断は、リコール記事の選択操作の有無に基づく判断、または、選択操作の閾値判断等によって行える。選択操作の閾値判断とは、例えば、リコール記事の配信回数に対する選択回数の割合が所定の閾値以上かどうかの判断である。有意でなければ、変数nをインクリメントして(S245)、ステップS241へ戻る。変数nはサイクリックに増分される。例えば、本例では、nは1,2,3,1,2,3,…と変化する。 Therefore, it is checked whether the user applicability of the current recall method is significant (S244). Whether or not it is significant can be determined by determination based on the presence or absence of a recall article selection operation, or by a threshold determination of the selection operation. The threshold determination of the selection operation is, for example, a determination of whether the ratio of the number of selections to the number of recall article distributions is a predetermined threshold or more. If not significant, the variable n is incremented (S245), and the process returns to step S241. The variable n is cyclically incremented. For example, in this example, n changes as 1, 2, 3, 1, 2, 3,.
有意であることが判明したら(S244,Yes)、現在のリコール方式を維持するためにnをインクリメントすることなく、ステップS241へ戻る。このようなn値の処理は、ユーザ適用性が有意なリコール方式の使用頻度(または優先度)を上げることに相当する。 If found to be significant (S244, Yes), the process returns to step S241 without incrementing n in order to maintain the current recall method. Such n-value processing corresponds to increasing the frequency of use (or priority) of the recall method with significant user applicability.
このような自動最適化手法により、個々のユーザに適したリコール方式が使用される頻度(比重)を高めることができる。 Such an automatic optimization method can increase the frequency (specific gravity) at which a recall method suitable for each user is used.
図17に、リコール記事要求およびリコール記事データ配信の処理の変形例を説明する。上記で説明した処理では、同じ記事についてのリコール指示は高々1回のみを想定した。しかし、ユーザが1回リコール指示をしたことに対してリコール記事が提示されたとき、その(またはそれらのいずれの)記事もユーザが求めた記事でない場合がありうる。そこで、同じきっかけ記事に対してユーザがさらなるリコール指示を行うことを許容し、そのリコール指示要求に対して、前回と異なるリコール方式でリコール記事を抽出するようにする。これにより、リコール方式の不適合により求める記事が抽出されなかった場合に、更なるリコール指示により当該求める記事が抽出される可能性が高まる。 FIG. 17 illustrates a modification of the recall article request and recall article data distribution process. In the processing described above, it is assumed that the recall instruction for the same article is at most once. However, when a recall article is presented in response to the user giving a recall instruction once, the article (or any of them) may not be an article requested by the user. Therefore, the user is allowed to give further recall instructions to the same trigger article, and the recall article is extracted by a recall method different from the previous one in response to the recall instruction request. Thereby, when the article to be requested is not extracted due to the nonconformity of the recall method, the possibility that the requested article is extracted by a further recall instruction increases.
図17は、このような段階的なリコール指示に関する、図13の要部を変形した処理ステップを示している。ユーザAの端末からリコール指示があった場合(S113,Yes)、そのリコール指示が同記事に対する何(p)回目のリコール指示かを確認して、サービスサーバへ、第pのリコール方式によるリコール記事を要求する(S113a)。サービスサーバは、このリコール記事要求(p)に応じて、第pのリコール方式により当該きっかけ記事に対応するリコール記事を抽出し、ユーザAの端末へ配信する(S213a)。この際、好ましくは、既に送信したリコール記事と重複する記事は除外する。ユーザAの端末はこのリコール記事を受信して表示する(S114)。 FIG. 17 shows processing steps obtained by modifying the main part of FIG. 13 with respect to such a step-by-step recall instruction. When there is a recall instruction from the terminal of user A (S113, Yes), the recall instruction is confirmed by the (p) th recall method for the service server after confirming what the recall instruction is (p) th recall instruction for the article. Is requested (S113a). In response to the recall article request (p), the service server extracts a recall article corresponding to the trigger article by the p-th recall method and distributes it to the terminal of user A (S213a). At this time, preferably, articles that overlap with the recall articles that have already been transmitted are excluded. The terminal of user A receives and displays this recall article (S114).
なお、数値pの上限はリコール方式の個数に合わせて設定する。また、「更なるリコール指示」のために、recallmoreボタン(図示せず)のような特別なボタンを用意してもよいし、元のrecallボタンの押下回数をカウントして識別してもよい。さらには、別途メニューを利用してもよい。入力手段としては、上述した任意のユーザ操作入力の手段を利用可能である。 The upper limit of the numerical value p is set according to the number of recall methods. Further, a special button such as a recallmore button (not shown) may be prepared for “further recall instruction”, or the number of times the original recall button is pressed may be counted for identification. Furthermore, a separate menu may be used. As the input means, any of the above-described user operation input means can be used.
次に、上述した「連想ベクトル」について説明する。上述したように、連想ベクトルは、きっかけ記事のデータ特徴ベクトルを拡張(変更)したものであり、その変更の手法の概略および具体例を以下に説明する。 Next, the “association vector” described above will be described. As described above, the associative vector is an extension (change) of the data feature vector of the trigger article, and an outline and a specific example of the change method will be described below.
本実施の形態において、連想ベクトル(rvec)は、きっかけ記事のデータ特徴ベクトルを基に、ユーザAのユーザ特徴ベクトル、ユーザAの嗜好を表現する何らかの重み付き単語グラフなどを作用させることにより、その特徴を拡張したベクトル、すなわち、ユーザAが、きっかけ記事から連想する特徴を表すベクトルである。このような連想ベクトルを求めるためには、例えば、ある単語に対する関連単語を対応づけた関連単語の辞書を用いて、求められた関連する単語を当該データ特徴ベクトルcvec に追加する。 In this embodiment, the associative vector (rvec) is obtained by applying a user feature vector of user A, some weighted word graph expressing user A's preference, etc. based on the data feature vector of the trigger article. This is a vector in which features are expanded, that is, a vector that represents features that the user A associates with a trigger article. In order to obtain such an associative vector, for example, the obtained related word is added to the data feature vector cvec using a dictionary of related words that associates a related word with a certain word.
例えば、データ特徴ベクトルcvec = {(カレー 0.3), (辛い 0.2), (レストラン 0.1), … } の場合、
連想ベクトルrvec = {(カレー 0.3), (インド 0.2), (辛い 0.2), (レストラン 0.1), (インド料理 0.1), …}
が得られる。
For example, if the data feature vector cvec = {(curry 0.3), (spicy 0.2), (restaurant 0.1),…}
Association vector rvec = {(Curry 0.3), (India 0.2), (Spicy 0.2), (Restaurant 0.1), (Indian cuisine 0.1),…}
Is obtained.
以下、更に、関係行列Mを利用して連想ベクトルを求める具体例について説明する。以下、便宜上、特徴ベクトルをcで表し、連想ベクトルをrで表す。 Hereinafter, a specific example in which an association vector is obtained using the relationship matrix M will be described. Hereinafter, for convenience, the feature vector is represented by c, and the association vector is represented by r.
関係行列Mとは、二つの語のペアに対してその重み(実数)を対応させる辞書であり、これによって語と語の間の関係の強さを表現するものである。語の対に対する関数として書ける他、「猫」という語が第1座標、「月」という語が第2座標、…のように座標と語の対応を一つに定めれば行列の形にも表現できる。 The relationship matrix M is a dictionary that associates weights (real numbers) with two word pairs, and expresses the strength of the relationship between words. In addition to being able to write as a function for a pair of words, the word “cat” is the first coordinate, the word “moon” is the second coordinate, etc. Can express.
例1: ユーザが選んだ文書(記事)群に対し、同時に一つの文書に含まれている(つまり、「共起」している)語のペアの集合。
M = { (猫, 犬), (猫, 月), (月, 本), ….. }
これは同時に一つの文書に含まれる語の対に対しては値1、それ以外の語の対には値0を対応させる辞書である。関係行列M( (猫, 犬) ) = 1 のように関数の形にも書ける。
Example 1: For a group of documents (articles) selected by a user, a set of pairs of words that are simultaneously included in one document (that is, “co-occurring”).
M = {(Cat, Dog), (Cat, Moon), (Month, Book),… ..}
This is a dictionary in which a value of 1 is associated with word pairs included in one document and a value of 0 is associated with other word pairs. It can also be written in the form of a function such that the relation matrix M ((cat, dog)) = 1.
例2: ユーザが選んだ文書(記事)群の各文書の特徴ベクトルを考える。同時に一つの文書(つまり、一つの特徴ベクトル)に含まれる語の対に対して、それぞれの特徴ベクトルの中の重みの積を、同時に含まれた特徴ベクトル全体で平均する。
M = { (猫, 犬): m, ….} で、m = M( (猫, 犬) ) = (1/N) Σ c(猫) c(犬) など。
(ここで、N は「猫」と「犬」を同時に含む特徴ベクトルの数である。総和Σはそのような特徴ベクトルc 全体を対象とする。)
Example 2: Consider the feature vector of each document (article) group selected by the user. For word pairs included in one document (that is, one feature vector) at the same time, the weight product in each feature vector is averaged over all the feature vectors included at the same time.
M = {(cat, dog): m,….}, M = M ((cat, dog)) = (1 / N) Σ c (cat) c (dog), etc.
(Here, N is the number of feature vectors including “cat” and “dog” at the same time. The summation Σ covers the entire feature vector c.)
このような関係行列Mを用いて、連想ベクトルrは次のように求めることができる。連想ベクトル r とは、与えられた特徴ベクトルc と関係行列M に対し、ある汎関数F によって、
r(w) = F(M, c) (w)
のように計算される、語 w に対しその重み r(w) を対応させる辞書である。この式によって得られた連想ベクトルrは、特徴ベクトルcに存在しなかった語の情報を含むことができる。
Using the relationship matrix M, the associative vector r can be obtained as follows. The associative vector r is given by a functional F with respect to a given feature vector c and relation matrix M.
r (w) = F (M, c) (w)
Is a dictionary that associates the weight r (w) with the word w. The associative vector r obtained by this equation can include information on words that did not exist in the feature vector c.
なお、本明細書において「連想」とは、与えられた特徴ベクトルc と関係行列M に対し、連想ベクトル r = F(M, c) を作成し、その連想ベクトル r に「類似した」特徴ベクトルを持つ記事(文書)を、ある記事群(文書群)から選ぶ操作のことである。
In this specification, “association” means that an associative vector r = F (M, c) is created for a given feature vector c and
これによって、単に元の特徴ベクトルc に近いものを探すより、連想行列で表現された関係を加味した、より広い「連想」に基く対象を探すことができる。
As a result, it is possible to search for a target based on a wider “association” that takes into account the relationship expressed by the association matrix, rather than simply searching for an object close to the original
ベクトル間の「類似度」は、相関係数 (c・r)/(|c||r|) や、ユークリッド距離 |c - r|などで求めることができる。 The “similarity” between vectors can be obtained from the correlation coefficient (c · r) / (| c || r |) or Euclidean distance | c-r |.
連想ベクトルの例として、次のようなものが挙げられる。連想ベクトルは、関係行列M,汎関数Fの選び方によって変わりうる。(また、特徴ベクトルの定義にも依存する)。 Examples of association vectors include the following. The associative vector can vary depending on how the relationship matrix M and functional F are selected. (It also depends on the definition of feature vectors).
例1: F(M, c) = M c, つまり関係行列M と特徴ベクトルc の通常の意味での積をとる。具体的に書けば、
r (w) = Σ M(w, w') c(w'). (総和Σは全ての語 w' を対象とする)
Example 1: F (M, c) = M c, that is, the product in the ordinary sense of the relation matrix M and the feature vector c. Specifically,
r (w) = Σ M (w, w ') c (w'). (The summation Σ covers all words w ')
例2: 上の例で総和の代わりに全ての w' に対する最大値をとる。 Example 2: In the above example, instead of the sum, take the maximum value for all w '.
例3: F(M, c) = M2 c, つまり、関係行列M の二乗と特徴ベクトルc の積をとる。 Example 3: F (M, c) = M 2 c, that is, the product of the square of the relation matrix M and the feature vector c.
より具体的に書けば、
r(w) = Σ ( Σ M(w, w') M(w', w'') ) c(w'').
(総和Σは、内側は全ての語 w' を対象とし、外側は全ての語 w'' を対象とする)。
More specifically,
r (w) = Σ (Σ M (w, w ') M (w', w``)) c (w '').
(The summation Σ is for all words w 'on the inside and for all words w''on the outside).
例1、例2では、元の特徴ベクトルに含まれなかった語も、その語と関係行列で関係している語(例えば、同じ文書に同時に登場した語)なら含まれるが、例3では、同じ意味で元の語に「関係している語に関係している語」まで加味される。 In Example 1 and Example 2, a word that was not included in the original feature vector is included if it is related to the word in the relation matrix (for example, a word that appeared in the same document at the same time). In the same meaning, the original word is added to the word related to the related word.
例4: (リゾルベント)
関係行列M と小さなパラメータεに対し、以下の逆行列が計算できるとき、
R(M) = (1 - εM) -1
を用いて、r = R(M) c と計算する。
R(M) = 1 + εM + ε2M2 + ε3M3 + …
であるから、これは関係の関係、関係の関係の関係、の類を全て(遠くなるほど小さくなる重みつきで)加味したものになる。
Example 4: (Resolvent)
For the relation matrix M and small parameter ε, the following inverse matrix can be calculated,
R (M) = (1-εM) -1
And calculate r = R (M) c.
R (M) = 1 + εM + ε 2 M 2 + ε 3 M 3 +…
Therefore, this is a combination of all of the relation relations, relation relation relations (with a weight that decreases as the distance increases).
以下に、連想ベクトル計算の簡単な具体例を挙げる。 A simple specific example of associative vector calculation is given below.
与えられた特徴ベクトル(ユーザが今選んだ記事のデータ特徴ベクトル)を
c = {猫: 0.3, 月: 0.5, 酒: 0.2 }
とする。また、与えられた特徴ベクトル群(以前にユーザが選んだ記事群のデータ特徴ベクトル群)を
c1 = { 猫: 0.6, 犬: 0.4 },
c2 = { 月: 0.1, 本: 0.7, 映画: 0.2 }
とする。
Given feature vector (the data feature vector of the article the user has just selected)
c = {cat: 0.3, month: 0.5, sake: 0.2}
And Also, given feature vector group (data feature vector group of articles previously selected by user)
c1 = {Cat: 0.6, Dog: 0.4},
c2 = {Month: 0.1, Book: 0.7, Movie: 0.2}
And
猫、月、酒、犬、本、映画の順に、第 1 座標から第 6 座標として、
c = (0.3, 0.5, 0.2, 0, 0, 0),
c1 = (0.6, 0, 0, 0.4, 0, 0),
c2 = (0, 0.1, 0, 0, 0.7, 0.2)
とベクトル型に表せる。
From
c = (0.3, 0.5, 0.2, 0, 0, 0),
c1 = (0.6, 0, 0, 0.4, 0, 0),
c2 = (0, 0.1, 0, 0, 0.7, 0.2)
And vector type.
また、c, c1, c2 から作られる関係行列として(c も用いるか否かは場合に依る)、同じ一つのベクトルに共起した語に対して 1、それ以外は 0 とする6×6行列を作る。つまり、
(猫, 月), (猫, 酒), (月, 酒); (猫, 犬); (月, 本), (月, 映画), (本, 映画) に対応する、第(1, 2), (1, 3), (2, 3); (1, 4); (2, 5), (2, 6), (5, 6) 座標と、その行と列を逆にした座標、および対角要素だけが 1 で、それ以外が 0 の行列を M とする。ここに(p、q)座標とはp行q列を意味する。
In addition, as a relational matrix created from c, c1, and c2 (depending on whether c is also used or not), a 6 × 6 matrix with 1 for words co-occurring in the same vector and 0 otherwise make. That means
(Cat, Moon), (Cat, Liquor), (Month, Liquor); (Cat, Dog); (Month, Book), (Month, Movie), (Book, Movie) ), (1, 3), (2, 3); (1, 4); (2, 5), (2, 6), (5, 6) coordinates and the coordinates of the rows and columns reversed, And let M be a matrix with only 1 diagonal elements and 0 otherwise. Here, (p, q) coordinates mean p rows and q columns.
r = Mc によって、連想ベクトル r を計算すると、次式(1)のようになる。
以上、本発明の好適な実施の形態について説明したが、上記で言及した以外にも種々の変形、変更を行うことが可能である。例えば、文書の言語は日本語についてのみ説明したが、他の言語であってもよい。データ配信システムはインターネットを介してユーザ端末とサーバとが接続される形態を示したが、インターネットの代わりにLANのようなローカルな通信ネットワークを利用する形態であってもよい。 The preferred embodiments of the present invention have been described above, but various modifications and changes other than those mentioned above can be made. For example, the language of the document has been described only for Japanese, but other languages may be used. In the data distribution system, the user terminal and the server are connected via the Internet. However, a local communication network such as a LAN may be used instead of the Internet.
上記実施の形態で説明した機能をコンピュータで実現するためのコンピュータプログラムおよびプログラムをコンピュータ読み取り可能に格納した記録媒体も本発明に含まれる。プログラムを供給するための「記録媒体」としては、例えば、磁気記憶媒体(フレキシブルディスク、ハードディスク、磁気テープ等)、光ディスク(MOやPD等の光磁気ディスク、CD、DVD等)、半導体ストレージなどを挙げることができる。 A computer program for realizing the functions described in the above embodiments by a computer and a recording medium storing the program in a computer-readable manner are also included in the present invention. “Recording media” for supplying the program include, for example, magnetic storage media (flexible disks, hard disks, magnetic tapes, etc.), optical disks (magneto-optical disks such as MO and PD, CDs, DVDs, etc.), semiconductor storage, etc. Can be mentioned.
100…ユーザ端末
100c…携帯電話端末
100d…テレビ受信機
102…記憶部
104…入力部
105…表示部
106…通信部
111…音声処理部
111a…マイク
111b…スピーカ
112…放送受信部
121…記事受信・表示部
123…リコール指示検出部
125…リコール記事受信・表示部
200…インターネット
300…サービスサーバ
310…通信部
320…表示部
330…入力部
340…データ処理部
341…記事取得管理部
343…記事配信処理部
345…ユーザ管理部
350…記憶部
351…全体記事データ記憶部
353…ユーザ別記事データ記憶部
355…ユーザ管理データ記憶部
400…WEBサーバ
500…表示画面
501…配信日付
510…記事エリア
511…タイトル
512…テキスト
513…各種ボタン
514…サムネイル画像
610…表示画面
700…表示画面
710…表示エリア
DESCRIPTION OF SYMBOLS 100 ...
Claims (13)
ユーザ端末に対してデータを配信するステップと、
前記ユーザ端末のユーザが過去に接した過去データを特定するための特定情報を保存するステップと、
配信されたデータに対する前記ユーザ端末からの所定の指示に応じて、当該ユーザが接した過去データのうち、当該所定の指示を受けたデータと類似するデータを探知するステップと、
前記探知されたデータを当該ユーザ端末へ送信するステップと
を備えたデータ配信方法。 A data distribution method for distributing data to a user terminal,
Delivering data to a user terminal;
Storing specific information for specifying past data that the user of the user terminal has contacted in the past;
In response to a predetermined instruction from the user terminal with respect to the distributed data, a step of detecting data similar to the data that has received the predetermined instruction among past data that the user has contacted;
Transmitting the detected data to the user terminal.
前記探知するステップでは、
当該データのデータ特徴ベクトルと前記過去データのデータ特徴ベクトルとを対比することにより、対比するデータ同士の類似度を求め、この求められた類似度に基づいて前記過去データの中から類似度の高い1または複数のデータを特定する
請求項1に記載のデータ配信方法。 For data distributed to the user terminal, further comprising a step of generating a data feature vector representing a feature of each data,
In the detecting step,
By comparing the data feature vector of the data with the data feature vector of the past data, the similarity between the data to be compared is obtained, and the similarity is high among the past data based on the obtained similarity The data distribution method according to claim 1, wherein one or a plurality of data is specified.
前記探知されたデータを再度当該ユーザ端末へ送信するステップと
をさらに備えた請求項1に記載のデータ配信方法。 After the detected data is transmitted to the user terminal, when a predetermined instruction is received again for the same data as the data that has received the predetermined instruction from the user terminal, Changing the detection algorithm, and again detecting data similar to the data that has received the predetermined instruction;
The data distribution method according to claim 1, further comprising: transmitting the detected data to the user terminal again.
ユーザ端末に対して配信するデータを生成する配信データ生成手段と、
前記ユーザ端末のユーザが過去に接した過去データを特定するための特定情報を保存する過去データ保存手段と、
配信されたデータに対する前記ユーザ端末からの所定の指示に応じて、当該ユーザが接した過去データのうち、当該所定の指示を受けたデータと類似するデータを探知するデータ探知手段と、
前記探知されたデータを当該ユーザ端末へ送信する送信手段と
を備えることを特徴とするデータ配信装置。 A data distribution device for distributing data to a user terminal,
Distribution data generation means for generating data to be distributed to the user terminal;
Past data storage means for storing specific information for specifying past data that the user of the user terminal has contacted in the past;
In response to a predetermined instruction from the user terminal with respect to the distributed data, data detection means for detecting data similar to the data that has received the predetermined instruction among past data that the user has contacted;
A data distribution apparatus comprising: transmission means for transmitting the detected data to the user terminal.
ユーザ端末に対してデータを配信するステップと、
前記ユーザ端末のユーザが過去に接した過去データを特定するための特定情報を保存するステップと、
配信されたデータに対する前記ユーザ端末からの所定の指示に応じて、当該ユーザが接した過去データのうち、当該所定の指示を受けたデータと類似するデータを探知するステップと、
前記探知されたデータを当該ユーザ端末へ送信するステップと
をコンピュータに実行させるコンピュータプログラム。 A computer program for causing a computer to execute a data distribution method for distributing data to a user terminal,
Delivering data to a user terminal;
Storing specific information for specifying past data that the user of the user terminal has contacted in the past;
In response to a predetermined instruction from the user terminal with respect to the distributed data, a step of detecting data similar to the data that has received the predetermined instruction among past data that the user has contacted;
A computer program for causing a computer to execute the step of transmitting the detected data to the user terminal.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013089482A JP2014215625A (en) | 2013-04-22 | 2013-04-22 | Data delivering method, data delivering apparatus, computer program, and recording medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013089482A JP2014215625A (en) | 2013-04-22 | 2013-04-22 | Data delivering method, data delivering apparatus, computer program, and recording medium |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014215625A true JP2014215625A (en) | 2014-11-17 |
JP2014215625A5 JP2014215625A5 (en) | 2016-06-09 |
Family
ID=51941371
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013089482A Pending JP2014215625A (en) | 2013-04-22 | 2013-04-22 | Data delivering method, data delivering apparatus, computer program, and recording medium |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2014215625A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022526522A (en) * | 2019-03-27 | 2022-05-25 | ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツング | Methods and devices for analyzing elements of text collections, methods and devices for retrieving information in digital data |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007226501A (en) * | 2006-02-23 | 2007-09-06 | Nippon Telegr & Teleph Corp <Ntt> | Method and device for presenting web page-related history |
-
2013
- 2013-04-22 JP JP2013089482A patent/JP2014215625A/en active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007226501A (en) * | 2006-02-23 | 2007-09-06 | Nippon Telegr & Teleph Corp <Ntt> | Method and device for presenting web page-related history |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022526522A (en) * | 2019-03-27 | 2022-05-25 | ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツング | Methods and devices for analyzing elements of text collections, methods and devices for retrieving information in digital data |
JP7297920B2 (en) | 2019-03-27 | 2023-06-26 | ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツング | Methods and apparatus for analyzing elements of text collections, methods and apparatus for searching for information within digital data |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10318538B2 (en) | Systems, methods, and apparatuses for implementing an interface to view and explore socially relevant concepts of an entity graph | |
US9781202B2 (en) | Anchoring for content synchronization | |
JP6220452B2 (en) | Object-based context menu control | |
US10061820B2 (en) | Generating a user-specific ranking model on a user electronic device | |
US11681750B2 (en) | System and method for providing content to users based on interactions by similar other users | |
JP5997350B2 (en) | Structured search query based on social graph information | |
KR101506380B1 (en) | Infinite browse | |
US8510287B1 (en) | Annotating personalized recommendations | |
US8744978B2 (en) | Presenting search results based on user-customizable criteria | |
US11042590B2 (en) | Methods, systems and techniques for personalized search query suggestions | |
US20130304469A1 (en) | Information processing method and apparatus, computer program and recording medium | |
US11080287B2 (en) | Methods, systems and techniques for ranking blended content retrieved from multiple disparate content sources | |
US20160098416A1 (en) | Auto complete search box based on the user's context to reduce user's input | |
US11899728B2 (en) | Methods, systems and techniques for ranking personalized and generic search query suggestions | |
US10558727B2 (en) | System and method for operating a browsing application | |
US11232522B2 (en) | Methods, systems and techniques for blending online content from multiple disparate content sources including a personal content source or a semi-personal content source | |
US10990620B2 (en) | Aiding composition of themed articles about popular and novel topics and offering users a navigable experience of associated content | |
US20210279297A1 (en) | Linking to a search result | |
US11836169B2 (en) | Methods, systems and techniques for providing search query suggestions based on non-personal data and user personal data according to availability of user personal data | |
TWI507902B (en) | A retrieval system, a retrieval condition setting device, a control method of a search condition setting device, a computer program product, and an information memory medium | |
JP6643155B2 (en) | Information processing apparatus, information processing method and program | |
AU2012283928B2 (en) | Method and apparatus for category based navigation | |
JP6349466B2 (en) | Information processing apparatus, information processing method, program, and storage medium | |
JP2014215625A (en) | Data delivering method, data delivering apparatus, computer program, and recording medium | |
JP2017107435A (en) | Program, device, and method for displaying information, and delivery device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160419 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160419 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170125 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170228 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20180117 |