JP6136794B2 - Information processing method, program, and information processing apparatus - Google Patents
Information processing method, program, and information processing apparatus Download PDFInfo
- Publication number
- JP6136794B2 JP6136794B2 JP2013189779A JP2013189779A JP6136794B2 JP 6136794 B2 JP6136794 B2 JP 6136794B2 JP 2013189779 A JP2013189779 A JP 2013189779A JP 2013189779 A JP2013189779 A JP 2013189779A JP 6136794 B2 JP6136794 B2 JP 6136794B2
- Authority
- JP
- Japan
- Prior art keywords
- category
- categories
- similarity
- user
- cpu
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明は、コンピュータを用いた情報処理方法、プログラム、及び、情報処理装置に関する。 The present invention relates to an information processing method, a program, and an information processing apparatus using a computer.
従来、テキスト中の任意の単語ペアについて、複数種類の類似度を計算し、各類似度を要素とする素性ベクトルを生成する関係抽出装置等が提案されている(例えば、特許文献1参照)。 Conventionally, there has been proposed a relationship extraction device that calculates a plurality of types of similarity for an arbitrary word pair in a text and generates a feature vector having each similarity as an element (see, for example, Patent Document 1).
しかしながら、従来の技術では、情報分析の際の計算量が膨大であるという問題があった。 However, the conventional technique has a problem that the amount of calculation at the time of information analysis is enormous.
一つの側面では、本発明は計算量の多い用語及び用語数に基づく類似度の演算量を低減することが可能な情報処理方法等を提供することを目的とする。 In one aspect, an object of the present invention is to provide an information processing method and the like that can reduce the amount of calculation based on terms having a large amount of calculation and the number of terms.
本願に開示する情報処理方法は、コンピュータを用いた情報処理方法において、ユーザに対応付けられたカテゴリを参照し、カテゴリ間の組み合わせ数を算出し、算出したカテゴリ間の組み合わせ数に基づき、カテゴリ間の第1類似度を算出し、閾値を超える第1類似度を有するカテゴリの組み合わせを抽出し、抽出した各カテゴリに対応する用語及び用語数に基づき、抽出したカテゴリ間の第2類似度を算出する。 The information processing method disclosed in the present application refers to a category associated with a user in an information processing method using a computer, calculates the number of combinations between categories, and based on the calculated number of combinations between categories, The first similarity is calculated, the combination of categories having the first similarity exceeding the threshold is extracted, and the second similarity between the extracted categories is calculated based on the terms and the number of terms corresponding to each extracted category To do.
一つの側面では、計算量を低減することが可能となる。 In one aspect, the amount of calculation can be reduced.
実施の形態1
以下実施の形態を、図面を参照して説明する。図1は情報処理システムの概要を示す説明図である。情報処理システムは情報処理装置1及びサーバコンピュータ2等を含む。情報処理装置1及びサーバコンピュータ2はインターネット等の通信網Nを介して接続されている。情報処理装置1は例えばパーソナルコンピュータ、サーバコンピュータ、携帯電話機、PDA(Personal Digital Assistant)等である。以下では情報処理装置1をコンピュータ1と読み替えて説明する。サーバコンピュータ2は複数の単語を含む記事、歌詞、つぶやき、商品説明、店舗の説明、または、論文等の文章と、当該文章に対するカテゴリを付与した情報を記憶している。サーバコンピュータ2は図示しない他のコンピュータから文章及びカテゴリを受信し、受信した文章及びカテゴリを記憶する。
Embodiment 1
Hereinafter, embodiments will be described with reference to the drawings. FIG. 1 is an explanatory diagram showing an outline of an information processing system. The information processing system includes an information processing apparatus 1, a
以下では、一例として複数のユーザがブログの記事にカテゴリを付して、サーバコンピュータ2にアップロードした例を挙げて説明する。コンピュータ1は定期的にサーバコンピュータ2にアクセスし、各ユーザのブログ記事及びカテゴリをダウンロードする。コンピュータ1はダウンロードした記事及びカテゴリについて情報処理を行う。以下詳細を説明する。
In the following, an example in which a plurality of users attach categories to blog articles and upload them to the
図2はコンピュータ1のハードウェア群を示すブロック図である。コンピュータ1は制御部としてのCPU(Central Processing Unit)11、RAM(Random Access Memory)12、入力部13、表示部14、記憶部15、及び通信部16等を含む。CPU11は、バス17を介してハードウェア各部と接続されている。CPU11は記憶部15に記憶された制御プログラム15Pに従いハードウェア各部を制御する。RAM12は例えばSRAM(Static RAM)、DRAM(Dynamic RAM)、フラッシュメモリ等である。RAM12は、記憶部としても機能し、CPU11による各種プログラムの実行時に発生する種々のデータを一時的に記憶する。
FIG. 2 is a block diagram showing a hardware group of the computer 1. The computer 1 includes a central processing unit (CPU) 11 as a control unit, a random access memory (RAM) 12, an
入力部13はマウスまたはキーボード、マウスまたはタッチパネル等の入力デバイスであり、受け付けた操作情報をCPU11へ出力する。表示部14は液晶ディスプレイまたは有機EL(electroluminescence)ディスプレイ等であり、CPU11の指示に従い各種情報を表示する。通信部16は通信モジュールであり、通信網Nを介してサーバコンピュータ2との間で情報の送受信を行う。
The
記憶部15はハードディスクまたは大容量メモリであり、上述した制御プログラム15Pの他、カテゴリリストファイル151、ユーザブログ記事リストファイル152、ユーザカテゴリリストファイル153、ユーザ記事リストファイル154等を記憶する。その他、記憶部15は、カテゴリ語句リストファイル155、カテゴリ記事リストファイル156、カテゴリ共起ファイル157、カテゴリ共起類似度ファイル158及び内容類似度ファイル159等を記憶する。なお、本実施形態ではコンピュータ1の記憶部15にカテゴリリストファイル151等を記憶する例を挙げたがこれに限るものではない。例えば通信網Nを介して接続される図示しないデータベースサーバ等に上述した各種ファイルを適宜記憶しても良い。この場合、CPU11は、必要に応じてデータベースサーバにアクセスし、データの書き込み及び読み出しを行う。
The
図3はブログ記事の例を示す説明図である。図3の例はユーザAのブログ記事であり、4つのブログ記事が記載されている。なお、A001はユーザのブログ記事を特定するための識別情報(以下、記事IDという)である。各ブログ記事にはカテゴリが記載されている。例えば、記事IDがA001の「ラーメンを食べた」には「グルメ」のカテゴリが付与されており、記事IDがA002の「渋谷で服を買った」には「ファッション」のカテゴリが付与されている。なお、本実施形態においては、記事IDにユーザを特定するための情報も付している。例えば記事ID「A001」はユーザAの記事であり、記事ID「B001」はユーザBの記事である。 FIG. 3 is an explanatory diagram showing an example of a blog article. The example of FIG. 3 is a blog article of user A, and four blog articles are described. A001 is identification information (hereinafter referred to as article ID) for specifying the user's blog article. Each blog post has a category. For example, “Gourmet” category is assigned to “I ate ramen” with article ID A001, and “Fashion” category is assigned to “I bought clothes in Shibuya” with article ID A002. Yes. In the present embodiment, information for identifying the user is also attached to the article ID. For example, the article ID “A001” is the article of the user A, and the article ID “B001” is the article of the user B.
図4はカテゴリリストファイル151のレコードレイアウトを示す説明図である。図4に示すように予めカテゴリリストファイル151には分析対象となるカテゴリが記憶されている。図4の例ではグルメ、お酒、ファッション等の合計10のカテゴリが記憶されている。なお、本実施形態では10のカテゴリを分析する例を挙げて説明するが、あくまで一例でありカテゴリ数及びカテゴリの内容を限定するものではない。
FIG. 4 is an explanatory diagram showing a record layout of the
図5はユーザブログ記事リストファイル152のレコードレイアウトを示す説明図である。ユーザブログ記事リストファイル152はユーザフィールド、記事IDフィールド、カテゴリフィールド、本文フィールド等を含む。ユーザフィールドにはユーザの情報が記憶されている。記事IDフィールドには、ユーザのブログ記事を特定するための記事IDが記憶されている。CPU11は、サーバコンピュータ2からブログ記事をダウンロードした場合、新規に記事IDを生成し、ユーザ、記事ID、カテゴリ及び本文をユーザブログ記事リストファイル152に記憶する。
FIG. 5 is an explanatory diagram showing a record layout of the user blog
カテゴリフィールドには、記事IDに対応付けて付与されたカテゴリが記憶されている。本文フィールドには記事IDに対応付けてブログ記事の本文がテキスト形式で記憶されている。図5の例では、ユーザAの記事IDがA001の「ラーメンを食べた」がカテゴリ「グルメ」で記憶されており、またユーザBの記事IDがB001の「ビールを飲んだ」がカテゴリ「お酒」で記憶されている。なお、本実施形態ではブログ記事本文の情報を記憶しているが、ブログ記事のタイトルを記憶し、分析を行っても良い。 The category field stores a category assigned in association with the article ID. In the body field, the body of the blog article is stored in text format in association with the article ID. In the example of FIG. 5, “I ate ramen” whose user ID is A001 is stored in the category “Gourmet”, and “I drank beer” whose user ID is B001 is “ It is remembered in “Sake”. In the present embodiment, information of the blog article text is stored, but the title of the blog article may be stored and analyzed.
図6はユーザカテゴリリストファイル153のレコードレイアウトを示す説明図である。ユーザカテゴリリストファイル153は、ユーザフィールド及びカテゴリフィールド等を含む。カテゴリフィールドには、ユーザに対応付けてカテゴリが記憶されている。CPU11は、ユーザブログ記事リストファイル152を参照し、各ユーザのカテゴリを抽出する。CPU11は、抽出した各ユーザのカテゴリをユーザカテゴリリストファイル153に記憶する。図6の例では、ユーザAのカテゴリはグルメ、ファッション、及びお酒となる。またユーザBのカテゴリはお酒のみとなる。
FIG. 6 is an explanatory diagram showing a record layout of the user
図7はユーザ記事リストファイル154のレコードレイアウトを示す説明図である。ユーザ記事リストファイル154はユーザフィールド、記事IDフィールド、カテゴリフィールド、本文フィールド及び語句フィールド等を含む。語句フィールドには、ブログの記事本文から抽出された語句(用語)が記憶されている。CPU11は、本文の内容に対して公知の形態素解析を行い、語句を抽出する。CPU11は、抽出した語句を本文に対応付けて記憶する。図7の例では「ラーメンを食べた」に対して「ラーメン」及び「食べる」の語句が抽出されている。なお、本実施形態では形態素解析を用いた例を示したが、他の手法により語句を抽出しても良い。例えば予め記憶部に辞書を用意しておき、辞書内の語句に一致する本文中の語句を抽出するようにしても良い。
FIG. 7 is an explanatory diagram showing a record layout of the user
図8はカテゴリ語句リストファイル155のレコードレイアウトを示す説明図である。カテゴリ語句リストファイル155は、カテゴリフィールド及び語句x出現頻度(用語数)フィールド等を含む。語句x出現頻度フィールドにはカテゴリに対応付けてカテゴリに属する語句と、当該語句のブログ記事本文内での出現頻度を記憶している。CPU11は、ユーザ記事リストファイル154のカテゴリフィールド及び語句フィールドを参照し、カテゴリ内で使用されている語句を抽出し、当該語句のカテゴリ内での出現頻度を計数する。図8の例では、カテゴリ「グルメ」について「ラーメン」は出現頻度が300であり、「食べる」は出現頻度が900である。またカテゴリ「お酒」について「食べる」は出現頻度が「300」である。このように、「飲む」、「食べる」のようにカテゴリ間で重複する語句が存在する。
FIG. 8 is an explanatory diagram showing a record layout of the category word /
図9はカテゴリ記事リストファイル156のレコードレイアウトを示す説明図である。カテゴリ記事リストファイル156はカテゴリフィールド及び記事リストフィールド等を含む。記事リストフィールドにはカテゴリに対応付けて各ユーザの記事IDが記憶されている。CPU11は、ユーザ記事リストファイル154を参照し、カテゴリに属する各ユーザの記事IDを抽出する。CPU11は、ユーザ名及び抽出した記事IDをカテゴリに対応付けて、カテゴリ記事リストファイル156に記憶する。図9の例ではカテゴリ「グルメ」についてユーザAの記事ID「A001」及び「A004」で特定される2つの記事が記憶されている。またカテゴリ「ファッション」についてユーザAの記事ID「A002」及び「A003」で特定される2つの記事が記憶されている。なお、本実施形態では記事IDを記憶する例を挙げたが、記事IDにユーザを特定するための情報が記述されていない場合、ユーザの情報と共に、記事IDを記憶するようにすればよい。
FIG. 9 is an explanatory diagram showing a record layout of the category
図10はカテゴリ共起ファイル157を示す説明図である。カテゴリ共起ファイル157には2つのカテゴリ間の共起回数を記憶している。すなわち一のユーザが2つのカテゴリの記事を記載している場合に共起していると判断する。CPU11は、ユーザカテゴリリストファイル153を参照し、特定のユーザのカテゴリを読み出す。CPU11は、複数のカテゴリを検出した場合、全てのカテゴリの組み合わせについての共起回数をインクリメントする。CPU11は、他の全てのユーザについてもカテゴリの組み合わせを計数し、カテゴリ共起ファイル157に記憶する。図6及び図10の例では、ユーザAはカテゴリとして「グルメ」、「ファッション」及び「お酒」の3つがある。CPU11は、「グルメ」と「ファッション」との組み合わせを検出し、カテゴリ共起ファイル157の「グルメ」と「ファッション」との組み合わせ数をインクリメントする。
FIG. 10 is an explanatory diagram showing the category
同様にCPU11は、「グルメ」と「お酒」との組み合わせを検出し、カテゴリ共起ファイル157の「グルメ」と「お酒」との組み合わせ数をインクリメントする。またCPU11は、「ファッション」と「お酒」との組み合わせを検出し、カテゴリ共起ファイル157の「ファッション」と「お酒」との組み合わせ数をインクリメントする。続いてCPU11は、ユーザBのカテゴリリストをユーザカテゴリリストファイル153から読み出す。ユーザBはカテゴリ「お酒」しか存在しないので、共起回数はゼロとなる。以上の処理を分析対象の全ユーザに対して行う。
Similarly, the
図10の例では「グルメ」と「お酒」との双方のカテゴリに言及しているユーザは30、「グルメ」と「ファッション」との双方のカテゴリに言及しているユーザは100となる。なお、「グルメ」と「お酒」との組み合わせ、及び、「お酒」と「グルメ」のように、カテゴリの順序のみが異なる組み合わせは同一の組み合わせとしている。また本実施形態ではカテゴリリストファイル153を参照する例を挙げたが、ユーザ記事リストファイル154を参照して、カテゴリ共起ファイル157を生成してもよい。
In the example of FIG. 10, 30 users refer to both “gourmet” and “alcohol” categories, and 100 users refer to both “gourmet” and “fashion” categories. A combination of “gourmet” and “alcohol”, and a combination that differs only in the order of categories such as “alcohol” and “gourmet” are the same combination. In this embodiment, the
図11はカテゴリ共起類似度ファイル158のレコードレイアウトを示す説明図である。カテゴリ共起類似度ファイル158には、2つのカテゴリ間の第1類似度が記憶されている。例えばカテゴリ「グルメ」と「お酒」の第1類似度は0.99となる。ここで、第1のカテゴリを「グルメ」とし、第2のカテゴリを「お酒」とし、第1類似度を算出する手順を説明する。CPU11は、カテゴリ共起類似度ファイル158を参照し、第1のカテゴリである「グルメ」と、第2のカテゴリである「お酒」以外の他のカテゴリとの間の組み合わせ数を読み出す。図10の例ではファッションが100、クルマが12、音楽が70、映画が45、アニメが40、ゲームが25、野球が15、サッカーが15として読み出される。
FIG. 11 is an explanatory diagram showing a record layout of the category
同様に、CPU11は、カテゴリ共起類似度ファイル158を参照し、第2のカテゴリである「お酒」と、第1のカテゴリである「グルメ」以外の他のカテゴリとの間の組み合わせ数を読み出す。図10の例ではファッションが45、クルマが8、音楽が50、映画が20、アニメが24、ゲームが20、野球が10、サッカーが5として読み出される。CPU11は、第1のカテゴリ「グルメ」のベクトルを{100、12、70、45、40、25、15、15}とする。またCPU11は、第2のカテゴリ「お酒」のベクトルを{45、8、50、20、24、20、10、5}とする。なお、ベクトルの列方向は第1ベクトル及び第2ベクトル共に他のカテゴリ{ファッション、クルマ、音楽、映画、アニメ、ゲーム、野球、サッカー}である。なお、本実施形態では第1のカテゴリと、第2のカテゴリ以外の他のカテゴリとの間の組み合わせ数に基づきベクトルを求める例を挙げたがこれに限るものではない。第1のカテゴリと、第2のカテゴリを含む他のカテゴリとの間の組み合わせ数に基づき、ベクトルを求めても良い。また他のカテゴリも全ての他のカテゴリの組み合わせ数を用いる必要は必ずしも無く、一部の他のカテゴリの組み合わせ数を用いても良い。
Similarly, the
CPU11は、第1カテゴリのベクトル及び第2カテゴリのベクトルから第1類似度を算出する。第1類似度はコサイン類似度、内積、または、相関関数等を用いて算出すればよい。例えば各ベクトルの差の2乗の合計値に基づき第1類似度を算出しても良い。本実施形態では一例としてコサイン類似度を用いる例を挙げて説明する。コサイン類似度は記憶部15に記憶した下記式1にて算出する。
The
(式1)
(Formula 1)
なお、Vは列数であり、上述した例では8となる。CPU11は、第1カテゴリのベクトル及び第2カテゴリのベクトルを式1に代入し、第1類似度0.99を算出する。CPU11は、他の組み合わせについても同様の処理を行い、各カテゴリの組み合わせについて第1類似度を算出し、算出した第1類似度をカテゴリ共起類似度ファイル158に記憶する。例えば、「グルメ」と「ファッション」との第1類似度は0.57と低くなっている。なお、図11に示した数値は説明を容易にするために適当な値を示している。
V is the number of columns, and is 8 in the above-described example. The
次いでCPU11は、記憶部15に記憶した第1閾値を読み出す。CPU11は、カテゴリ共起類似度ファイル158を参照し、第1閾値を超える第1類似度を有するカテゴリの組み合わせを抽出する。第1閾値はユーザが入力部13から適宜の値を設定することがかのである。本実施形態では一例として第1閾値0.74とする。CPU11は、第1閾値を超える組み合わせとして、「グルメ」と「ファッション」、「音楽」と「映画」、「アニメ」と「ゲーム」、「野球」と「サッカー」の4つの組み合わせを抽出する。
Next, the
図12は内容類似度ファイル159を示す説明図である。CPU11は、抽出したカテゴリの組み合わせについて内容類似度(以下、第2類似度)を算出する。CPU11は、カテゴリの組み合わせに対応付けて算出した第2類似度を内容類似度ファイル159に記憶する。第2類似度の算出手順は以下のとおりである。CPU11は、抽出した一のカテゴリの語句及び出現頻度をカテゴリ語句リストファイル155から読み出す。例えばカテゴリ「グルメ」の場合、「ラーメン」が300回、「食べる」が900回、「美味しい」が600回、「ワイン」が200回、「飲む」が60回、「ビール」が45回、・・・と読み出される。CPU11は、一のカテゴリのベクトルを生成する。上述の例では一のカテゴリのベクトルは{300、900、600、200、60、45・・}となる。なお、ベクトルの列方向は予め定められており{ラーメン、食べる、美味しい、ワイン、飲む、ビール・・}となる。
FIG. 12 is an explanatory diagram showing the
CPU11は、同様に抽出した他のカテゴリの語句及び出現頻度をカテゴリ語句リストファイル155から読み出す。例えばカテゴリ「お酒」の場合、「ビール」が320回、飲む」が600回、「食べる」が300回、「美味しい」が400回、「ワイン」が280回、「ラーメン」が80回・・・と読み出される。CPU11は、他のカテゴリのベクトルを生成する。上述の例では他のカテゴリのベクトルは{320、600、300、400、280、80・・}となる。CPU11は、一のカテゴリ「グルメ」のベクトルと、他のカテゴリ「お酒」のベクトルとを、式1に代入し第1カテゴリ及び第2カテゴリの語句及び出現頻度に基づく第2類似度を算出する。なお、第2類似度の算出は式1を用いる例を挙げるが他の方式により算出しても良い。
The
図12の例では「グルメ」と「お酒」の第2類似度は0.8となる。また、「音楽」と「映画」の第2類似度は0.3、「アニメ」と「ゲーム」との第2類似度は0.7、「野球」と「サッカー」の第2類似度は0.2となる。続いてCPU11は、記憶部15から第2閾値を読み出す。本実施形態では第2閾値を第1閾値と同じ値とするが、他の値であっても良い。CPU11は、第2閾値を超える第2類似度を有するカテゴリの組み合わせを抽出する。図12の例では「グルメ」と「お酒」、及び、「アニメ」と「ゲーム」の2つの組み合わせが抽出される。
In the example of FIG. 12, the second similarity between “gourmet” and “alcohol” is 0.8. The second similarity between “music” and “movie” is 0.3, the second similarity between “anime” and “game” is 0.7, and the second similarity between “baseball” and “soccer” is 0.2. Subsequently, the
CPU11は、カテゴリ記事リストファイル156を参照し、抽出したカテゴリの組み合わせ間で一致しないユーザの情報を削除する処理を行う。図13は削除後のカテゴリ記事リストファイル156のレコードレイアウトを示す説明図である。CPU11は、抽出した一のカテゴリのユーザの記事IDを読み出す。また、CPU11は、抽出した他のカテゴリのユーザの記事IDを読み出す。CPU11は、記事IDに付されたユーザの情報を参照し、カテゴリ間で相互にユーザが一致しないユーザの記事IDを削除する。図9の例では「グルメ」の記事を記載しているユーザHは、「お酒」の記事を記載していないため、ユーザHの記事に係る記事ID(H001、H005)は削除される。同様にユーザBの記事もカテゴリ「お酒」から削除される。一方、ユーザA及びユーザCの記事は共にカテゴリ「グルメ」及び「お酒」の双方に記憶されているので、削除されない。CPU11は、同様の処理をもう一組の組み合わせ「アニメ」と「ゲーム」についても行う。ユーザE及びHの記事が削除されず、カテゴリ「ゲーム」のユーザF及びHの記事が削除される。
The
以上のハードウェア群において、各種処理内容を、フローチャートを用いて説明する。図14はカテゴリ記事リストファイル156の生成処理手順を示すフローチャートである。CPU11は、サーバコンピュータ2からブログ記事をダウンロードする(ステップS141)。CPU11は、新たなブログ記事が存在する場合、記事IDを生成する(ステップS142)。CPU11は、ブログ記事からユーザ名、カテゴリ、及び本文を抽出する。CPU11は、ユーザ名、記事ID、カテゴリ及び本文をユーザブログ記事リストファイル152に記憶する(ステップS143)。CPU11は、各ユーザのカテゴリを抽出し、ユーザ毎に抽出したカテゴリを記憶することで、カテゴリ語句リストファイル155を生成する(ステップS144)。
Various processing contents in the above hardware group will be described with reference to flowcharts. FIG. 14 is a flowchart showing a procedure for generating the category
CPU11は、ユーザブログ記事リストファイル152を参照し、形態素解析により、本文中の語句を抽出する(ステップS145)。CPU11は、記事IDに対応付けて抽出した語句をユーザ記事リストファイル154に記憶する(ステップS146)。CPU11は、ユーザ記事リストファイル154を参照し、カテゴリ毎に語句を抽出し、各語句の出現頻度を計数し、語句及び出現頻度を、カテゴリ語句リストファイル155に記憶する(ステップS147)。CPU11は、ユーザブログ記事リストファイル152を参照し、カテゴリ毎に各ユーザの記事IDを、カテゴリ記事リストファイル156に記憶する(ステップS148)。
The
図15はカテゴリ共起ファイル157の生成処理手順を示すフローチャートである。CPU11は、ユーザに対応するカテゴリをユーザカテゴリリストファイル153から読み出す(ステップS151)。CPU11は、読み出したカテゴリが複数存在するか否かを判断する(ステップS152)。CPU11は、複数存在すると判断した場合(ステップS152でYES)、処理をステップS153へ移行させる。CPU11は、複数のカテゴリの組み合わせを抽出する(ステップS153)。図6のユーザAの例では、「グルメ」と「ファッション」、「グルメ」と「お酒」、及び、「ファッション」と「お酒」の3つの組み合わせが抽出される。
FIG. 15 is a flowchart showing a procedure for generating the category
CPU11は、抽出したカテゴリの組み合わせについて、カテゴリ共起ファイル157の対応するカテゴリの組み合わせ数をインクリメントする(ステップS154)。図6のユーザAの例では、「グルメ」と「ファッション」、「グルメ」と「お酒」、及び、「ファッション」と「お酒」に対応するカテゴリ共起ファイル157の数がそれぞれインクリメントされる。CPU11は、カテゴリが複数存在しないと判断した場合(ステップS152でNO)、ステップS153及びS154をスキップし、処理をステップS155へ移行させる。
The
CPU11は、以上述べた処理を全てのユーザについて処理を終了したか否かを判断する(ステップS155)。CPU11は、処理を終了していないと判断した場合(ステップS155でNO)、ステップS156へ移行する。CPU11は、他のユーザのカテゴリを、ユーザカテゴリリストファイル153から読み出す(ステップS156)。その後処理をステップS152に戻す。以上の処理を繰り返すことにより、各ユーザのカテゴリの組み合わせに基づくカテゴリ共起ファイル157が完成する。CPU11は、全てのユーザについて処理を終了したと判断した場合(ステップS155でYES)、一連の処理を終了する。
The
図16は第1類似度算出処理の手順を示すフローチャートである。CPU11は、第1類似度を算出する対象となる第1カテゴリ及び第2カテゴリを抽出する(ステップS161)。CPU11は、カテゴリ共起ファイル157を参照し、第1カテゴリと、第2カテゴリ以外の他のカテゴリとの間の組み合わせ数を読み出す(ステップS162)。CPU11は、読み出した組み合わせ数に基づき、第1ベクトルを生成する(ステップS163)。CPU11は、カテゴリ共起ファイル157を参照し、第2カテゴリと、第1カテゴリ以外の他のカテゴリとの間の組み合わせ数を読み出す(ステップS164)。CPU11は、読み出した組み合わせ数に基づき、第2ベクトルを生成する(ステップS165)。
FIG. 16 is a flowchart showing the procedure of the first similarity calculation process. CPU11 extracts the 1st category and the 2nd category used as the object which computes the 1st similarity (Step S161). The
CPU11は、記憶部15に記憶した式1を読み出す(ステップS166)。CPU11は、第1ベクトル及び第2ベクトルを式1に代入し、第1類似度を算出する(ステップS167)。CPU11は、第1カテゴリ及び第2カテゴリに対応付けて、算出した第1類似度を、カテゴリ共起類似度ファイル158に記憶する(ステップS168)。CPU11は、カテゴリ共起ファイル157に記憶した全てのカテゴリの組み合わせについて処理を終了したか否かを判断する(ステップS169)。CPU11は、全てのカテゴリの組み合わせについて処理を終了していないと判断した場合(ステップS169でNO)、処理をステップS1610へ移行させる。
CPU11 reads Formula 1 memorize | stored in the memory | storage part 15 (step S166). The
CPU11は、ステップS161とは異なる、他の第1カテゴリ及び第2カテゴリの組み合わせを抽出する(ステップS1610)。その後処理をステップS162に戻す。以上の処理を繰り返すことにより、全てのカテゴリの組み合わせについて第1類似度を算出することができる。CPU11は、全てのカテゴリの組み合わせについて処理を終了したと判断した場合(ステップS169でYES)、一連の処理を終了する。
CPU11 extracts the combination of the other 1st category and 2nd category different from step S161 (step S1610). Thereafter, the process returns to step S162. By repeating the above processing, the first similarity can be calculated for all combinations of categories. If the
図17及び図18は第2類似度算出処理の手順を示すフローチャートである。CPU11は、記憶部15に記憶した第1閾値を読み出す(ステップS171)。CPU11は、カテゴリ共起類似度ファイル158を参照し、第1閾値を超える第1類似度を有するカテゴリの組み合わせを、抽出する(ステップS172)。CPU11は、抽出したカテゴリの組み合わせについて以下の処理を行う。CPU11は、カテゴリ語句リストファイル155を参照し、一のカテゴリの語句及び出現頻度を読み出す(ステップS173)。CPU11は、語句順に出現頻度を並び替える(ステップS174)。この語句順は例えば50音順等予め定めておけば良い。CPU11は、語句の出現頻度を列値とする一のカテゴリのベクトルを生成する(ステップS175)。
17 and 18 are flowcharts showing the procedure of the second similarity calculation process. The
CPU11は、カテゴリ語句リストファイル155を参照し、一のカテゴリと対になる他のカテゴリの語句及び出現頻度を読み出す(ステップS176)。CPU11は、語句順に出現頻度を並び替える(ステップS177)。CPU11は、語句の出現頻度を列値とする他のカテゴリのベクトルを生成する(ステップS178)。CPU11は、記憶部15から式1を読み出す(ステップS179)。CPU11は、一のカテゴリのベクトルと、他のカテゴリのベクトルとを式1へ代入し、第2類似度を算出する(ステップS181)。
The
CPU11は、算出した第2類似度を、一のカテゴリ及び他のカテゴリに対応付けて、内容類似度ファイル159に記憶する(ステップS182)。CPU11は、ステップS172で抽出した全てのカテゴリの組み合わせについて処理を終了したか否かを判断する(ステップS183)。CPU11は、処理を終了していないと判断した場合(ステップS183でNO)、処理をステップS184へ移行させる。CPU11は、他の組み合わせとなる一のカテゴリ及び他のカテゴリを抽出する(ステップS184)。その後処理をステップS173へ戻す。以上の処理を繰り返すことにより第1閾値を超える第1類似度を有する全てのカテゴリの組み合わせについて第2類似度を算出する事ができる。CPU11は、全てのカテゴリの組み合わせについて処理を終了したと判断した場合(ステップS183でYES)、一連の処理を終了する。
本実施例では、以上の処理により、第2類似度よりも演算量の少ない第1類似度によって、第2類似度の算出を行う組み合わせを絞り込むことで、第2類似度の演算量を削減する。これにより、本実施例では、他のカテゴリとの間でモデルに揺れが生じやすいカテゴリを実用的な時間内で求めることが可能となる。
The
In the present embodiment, the amount of calculation of the second similarity is reduced by narrowing down the combinations for calculating the second similarity by the first similarity having a smaller amount of calculation than the second similarity by the above processing. . As a result, in this embodiment, it is possible to obtain a category in which the model is likely to fluctuate with other categories within a practical time.
図19は削除処理の手順を示すフローチャートである。CPU11は、記憶部15に記憶した第2閾値を読み出す(ステップS191)。CPU11は、内容類似度ファイル159を参照し、第2閾値を超える第2類似度を有するカテゴリの組み合わせを抽出する(ステップS192)。CPU11は、カテゴリ記事リストファイル156を参照し、一のカテゴリの記事IDを読み出す(ステップS193)。CPU11は、記事IDに対応するユーザを特定する(ステップS194)。具体的には記事IDに付与されたユーザの識別情報を参照するか、または、ユーザ記事リストファイル154を参照して記事IDに対応するユーザを特定する。
FIG. 19 is a flowchart showing the procedure of the deletion process. CPU11 reads the 2nd threshold value which is remembered in memory section 15 (step S191). The
CPU11は、カテゴリ記事リストファイル156を参照し、ステップS192で抽出した一のカテゴリに対応する他のカテゴリの記事IDを読み出す(ステップS195)。CPU11は、記事IDに対応するユーザを特定する(ステップS196)。CPU11は、特定したユーザが一致しない記事IDをカテゴリ記事リストファイル156から削除する(ステップS197)。換言すればCPU11は、特定したユーザがカテゴリ間で共通する記事IDのみを保存する。CPU11は、ステップS192で抽出した全てのカテゴリの組み合わせについて処理したか否かを判断する(ステップS198)。
The
CPU11は、全てのカテゴリの組み合わせについて処理していないと判断した場合(ステップS198でNO)、処理をステップS199へ移行させる。CPU11は、他のカテゴリの組み合わせを選択する(ステップS199)。その後処理をステップS193へ移行させる。以上の処理を繰り返すことにより、第2閾値を超える第2類似度を有する全てのカテゴリの組み合わせについて、削除処理が終了する。CPU11は、全てのカテゴリの組み合わせについて処理したと判断した場合(ステップS198でYES)、一連の処理を終了する。このように、カテゴリ間で第1類似度の高いカテゴリの組み合わせを事前に絞り込むことで、計算量を大幅に低減することが可能となる。
If the
実施の形態2
図20は上述した形態のコンピュータ1の動作を示す機能ブロック図である。CPU11が制御プログラム15Pを実行することにより、コンピュータ1は以下のように動作する。算出部201は、ユーザに対応付けられたカテゴリを参照し、カテゴリ間の組み合わせ数を算出する。第1類似度算出部202は、算出したカテゴリ間の組み合わせ数に基づき、カテゴリ間の第1類似度を算出する。抽出部203は閾値を超える第1類似度を有するカテゴリの組み合わせを抽出する。第2類似度算出部204は抽出した各カテゴリに対応する用語及び用語数に基づき、抽出したカテゴリ間の第2類似度を算出する。
FIG. 20 is a functional block diagram showing the operation of the computer 1 of the above-described form. When the
図21は実施の形態2に係るコンピュータ1のハードウェア群を示すブロック図である。コンピュータ1を動作させるためのプログラムは、ディスクドライブ等の読み取り部10AにCD-ROM、DVD(Digital Versatile Disc)ディスク、メモリーカード、またはUSB(Universal Serial Bus)メモリ等の可搬型記録媒体1Aを読み取らせて記憶部15に記憶しても良い。また当該プログラムを記憶したフラッシュメモリ等の半導体メモリ1Bをコンピュータ1内に実装しても良い。さらに、当該プログラムは、インターネット等の通信網Nを介して接続される他のサーバコンピュータ(図示せず)からダウンロードすることも可能である。以下に、その内容を説明する。
FIG. 21 is a block diagram illustrating a hardware group of the computer 1 according to the second embodiment. A program for operating the computer 1 reads a portable recording medium 1A such as a CD-ROM, a DVD (Digital Versatile Disc) disk, a memory card, or a USB (Universal Serial Bus) memory into a
図21に示すコンピュータ1は、上述した各種ソフトウェア処理を実行するプログラムを、可搬型記録媒体1Aまたは半導体メモリ1Bから読み取り、或いは、通信網Nを介して他のサーバコンピュータ(図示せず)からダウンロードする。当該プログラムは、制御プログラム15Pとしてインストールされ、RAM12にロードして実行される。これにより、上述したコンピュータ1として機能する。
The computer 1 shown in FIG. 21 reads a program for executing the above-described various software processes from the portable recording medium 1A or the
本実施の形態2は以上の如きであり、その他は実施の形態1と同様であるので、対応する部分には同一の参照番号を付してその詳細な説明を省略する。 The second embodiment is as described above, and the other parts are the same as those of the first embodiment. Therefore, the corresponding parts are denoted by the same reference numerals, and detailed description thereof is omitted.
以上の実施の形態1及び2を含む実施形態に関し、さらに以下の付記を開示する。 With respect to the embodiments including the first and second embodiments, the following additional notes are disclosed.
(付記1)
コンピュータを用いた情報処理方法において、
ユーザに対応付けられたカテゴリを参照し、カテゴリ間の組み合わせ数を算出し、
算出したカテゴリ間の組み合わせ数に基づき、カテゴリ間の第1類似度を算出し、
閾値を超える第1類似度を有するカテゴリの組み合わせを抽出し、
抽出した各カテゴリに対応する用語及び用語数に基づき、抽出したカテゴリ間の第2類似度を算出する
情報処理方法。
(Appendix 1)
In an information processing method using a computer,
Refer to the category associated with the user, calculate the number of combinations between categories,
Based on the calculated number of combinations between categories, calculate the first similarity between categories,
Extracting a combination of categories having a first similarity exceeding a threshold;
An information processing method for calculating a second similarity between extracted categories based on terms and the number of terms corresponding to each extracted category.
(付記2)
各ユーザに対応付けてカテゴリを記憶した記憶部を参照し、ユーザ毎にカテゴリ間の組み合わせを計数することで、複数のユーザのカテゴリ間の組み合わせ数を算出する
付記1に記載の情報処理方法。
(Appendix 2)
The information processing method according to claim 1, wherein the number of combinations between categories of a plurality of users is calculated by referring to a storage unit that stores categories in association with each user and counting combinations between categories for each user.
(付記3)
第1のカテゴリと第2のカテゴリ以外の他のカテゴリとの間の算出した組み合わせ数、及び、前記第2のカテゴリと前記第1のカテゴリ以外の他のカテゴリとの間の算出した組み合わせ数とに基づき、第1カテゴリと第2カテゴリとの間の第1類似度を算出する
付記1または2に記載の情報処理方法。
(Appendix 3)
The calculated number of combinations between the first category and other categories other than the second category, and the calculated number of combinations between the second category and other categories other than the first category; The information processing method according to
(付記4)
カテゴリに対応付けて用語及び用語数を記憶した記憶部を参照し、抽出した一のカテゴリの用語及び用語数を読み出し、
前記記憶部を参照し、他のカテゴリの用語及び用語数を読み出し、
読み出した前記一のカテゴリの用語及び用語数と前記他のカテゴリの用語及び用語数とに基づき、前記一のカテゴリと前記他のカテゴリとの間の第2類似度を算出する
付記1から3のいずれか一つに記載の情報処理方法。
(Appendix 4)
Refer to the storage unit storing the term and the number of terms in association with the category, and read out the term and the number of terms in one extracted category,
Refer to the storage unit, read the terms and the number of terms in other categories,
The second similarity between the one category and the other category is calculated based on the read terms and the number of terms in the one category and the terms and the number of terms in the other category. The information processing method as described in any one.
(付記5)
閾値を超える第2類似度を有するカテゴリの組み合わせを抽出し、
カテゴリに対応付けてユーザに関する情報を記憶した記憶部を参照し、抽出したカテゴリ間で一致しないユーザに関する情報を削除する
付記1から4のいずれか一つに記載の情報処理方法。
(Appendix 5)
Extracting a combination of categories having a second similarity exceeding a threshold;
The information processing method according to any one of supplementary notes 1 to 4, wherein information relating to a user that does not match between the extracted categories is deleted with reference to a storage unit that stores information relating to the user in association with the category.
(付記6)
コンピュータに、
ユーザに対応付けられたカテゴリを参照し、カテゴリ間の組み合わせ数を算出し、
算出したカテゴリ間の組み合わせ数に基づき、カテゴリ間の第1類似度を算出し、
閾値を超える第1類似度を有するカテゴリの組み合わせを抽出し、
抽出した各カテゴリに対応する用語及び用語数に基づき、抽出したカテゴリ間の第2類似度を算出する
処理を実行させるプログラム。
(Appendix 6)
On the computer,
Refer to the category associated with the user, calculate the number of combinations between categories,
Based on the calculated number of combinations between categories, calculate the first similarity between categories,
Extracting a combination of categories having a first similarity exceeding a threshold;
A program that executes a process of calculating a second similarity between extracted categories based on terms and the number of terms corresponding to each extracted category.
(付記7)
ユーザに対応付けられたカテゴリを参照し、カテゴリ間の組み合わせ数を算出する算出部と、
算出したカテゴリ間の組み合わせ数に基づき、カテゴリ間の第1類似度を算出する第1類似度算出部と、
閾値を超える第1類似度を有するカテゴリの組み合わせを抽出する抽出部と、
抽出した各カテゴリに対応する用語及び用語数に基づき、抽出したカテゴリ間の第2類似度を算出する第2類似度算出部と
を備える情報処理装置。
(Appendix 7)
A calculation unit that refers to the category associated with the user and calculates the number of combinations between categories;
A first similarity calculator that calculates a first similarity between categories based on the calculated number of combinations between categories;
An extraction unit for extracting a combination of categories having a first similarity exceeding a threshold;
An information processing apparatus comprising: a second similarity calculation unit that calculates a second similarity between extracted categories based on terms and the number of terms corresponding to each extracted category.
1 コンピュータ
1A 可搬型記録媒体
1B 半導体メモリ
2 サーバコンピュータ
10A 読み取り部
11 CPU
12 RAM
13 入力部
14 表示部
15 記憶部
15P 制御プログラム
16 通信部
151 カテゴリリストファイル
152 ユーザブログ記事リストファイル
153 ユーザカテゴリリストファイル
154 ユーザ記事リストファイル
155 カテゴリ語句リストファイル
156 カテゴリ記事リストファイル
157 カテゴリ共起ファイル
158 カテゴリ共起類似度ファイル
159 内容類似度ファイル
201 算出部
202 第1類似度算出部
203 抽出部
204 第2類似度算出部
N 通信網
DESCRIPTION OF SYMBOLS 1 Computer 1A
12 RAM
13
Claims (5)
ユーザに対応付けられたカテゴリを参照し、カテゴリ間の組み合わせ数を算出し、
算出したカテゴリ間の組み合わせ数に基づき、カテゴリ間の第1類似度を算出し、
閾値を超える第1類似度を有するカテゴリの組み合わせを抽出し、
抽出した各カテゴリに対応する用語及び用語数に基づき、抽出したカテゴリ間の第2類似度を算出する
情報処理方法。 In an information processing method using a computer,
Refer to the category associated with the user, calculate the number of combinations between categories,
Based on the calculated number of combinations between categories, calculate the first similarity between categories,
Extracting a combination of categories having a first similarity exceeding a threshold;
An information processing method for calculating a second similarity between extracted categories based on terms and the number of terms corresponding to each extracted category.
請求項1に記載の情報処理方法。 The information processing method according to claim 1, wherein the number of combinations between categories of a plurality of users is calculated by referring to a storage unit that stores categories in association with each user and counting combinations between categories for each user. .
請求項1または2に記載の情報処理方法。 The calculated number of combinations between the first category and other categories other than the second category, and the calculated number of combinations between the second category and other categories other than the first category; The information processing method according to claim 1 or 2, wherein a first similarity between the first category and the second category is calculated based on the first category.
ユーザに対応付けられたカテゴリを参照し、カテゴリ間の組み合わせ数を算出し、
算出したカテゴリ間の組み合わせ数に基づき、カテゴリ間の第1類似度を算出し、
閾値を超える第1類似度を有するカテゴリの組み合わせを抽出し、
抽出した各カテゴリに対応する用語及び用語数に基づき、抽出したカテゴリ間の第2類似度を算出する
処理を実行させるプログラム。 On the computer,
Refer to the category associated with the user, calculate the number of combinations between categories,
Based on the calculated number of combinations between categories, calculate the first similarity between categories,
Extracting a combination of categories having a first similarity exceeding a threshold;
A program that executes a process of calculating a second similarity between extracted categories based on terms and the number of terms corresponding to each extracted category.
算出したカテゴリ間の組み合わせ数に基づき、カテゴリ間の第1類似度を算出する第1類似度算出部と、
閾値を超える第1類似度を有するカテゴリの組み合わせを抽出する抽出部と、
抽出した各カテゴリに対応する用語及び用語数に基づき、抽出したカテゴリ間の第2類似度を算出する第2類似度算出部と
を備える情報処理装置。 A calculation unit that refers to the category associated with the user and calculates the number of combinations between categories;
A first similarity calculator that calculates a first similarity between categories based on the calculated number of combinations between categories;
An extraction unit for extracting a combination of categories having a first similarity exceeding a threshold;
An information processing apparatus comprising: a second similarity calculation unit that calculates a second similarity between extracted categories based on terms and the number of terms corresponding to each extracted category.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013189779A JP6136794B2 (en) | 2013-09-12 | 2013-09-12 | Information processing method, program, and information processing apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013189779A JP6136794B2 (en) | 2013-09-12 | 2013-09-12 | Information processing method, program, and information processing apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015056066A JP2015056066A (en) | 2015-03-23 |
JP6136794B2 true JP6136794B2 (en) | 2017-05-31 |
Family
ID=52820416
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013189779A Active JP6136794B2 (en) | 2013-09-12 | 2013-09-12 | Information processing method, program, and information processing apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6136794B2 (en) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4224707B2 (en) * | 2004-05-13 | 2009-02-18 | 日本電気株式会社 | Information classification analysis system, information classification analysis and program |
US8190473B2 (en) * | 2009-03-10 | 2012-05-29 | Google Inc. | Category similarities |
-
2013
- 2013-09-12 JP JP2013189779A patent/JP6136794B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2015056066A (en) | 2015-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103874994A (en) | Method and apparatus for automatically summarizing the contents of electronic documents | |
US8325974B1 (en) | Recognition of characters and their significance within written works | |
CN107436955B (en) | English word correlation degree calculation method and device based on Wikipedia concept vector | |
CN113268667B (en) | Chinese comment emotion guidance-based sequence recommendation method and system | |
Li-guo et al. | A new naive Bayes text classification algorithm | |
JP2014197300A (en) | Text information processor, text information processing method, and text information processing program | |
US20230334075A1 (en) | Search platform for unstructured interaction summaries | |
CN111339784B (en) | Automatic new topic mining method and system | |
US20100306148A1 (en) | Predicting whether strings identify a same subject | |
JP5812534B2 (en) | Question answering apparatus, method, and program | |
CN113988057A (en) | Title generation method, device, equipment and medium based on concept extraction | |
Zhong et al. | BERT-KG: a short text classification model based on knowledge graph and deep semantics | |
JP6136794B2 (en) | Information processing method, program, and information processing apparatus | |
CN110717008B (en) | Search result ordering method and related device based on semantic recognition | |
JP5008137B2 (en) | Word vector generation device, word vector generation method, program, and recording medium recording the program | |
Sun et al. | Chinese microblog sentiment classification based on convolution neural network with content extension method | |
JP6260678B2 (en) | Information processing apparatus, information processing method, and information processing program | |
JP6495206B2 (en) | Document concept base generation device, document concept search device, method, and program | |
CN111339289B (en) | Topic model inference method based on commodity comments | |
Amrie et al. | Analysis of Google Play Store's Sentiment Review on Indonesia's P2P Fintech Platform | |
JP4567025B2 (en) | Text classification device, text classification method, text classification program, and recording medium recording the program | |
Vu et al. | Building a vietnamese sentiwordnet using vietnamese electronic dictionary and string kernel | |
CN110806861B (en) | API recommendation method and terminal combining user feedback information | |
US9530094B2 (en) | Jabba-type contextual tagger | |
Umare et al. | A survey on machine learning techniques to extract chemical names from text documents |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160606 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170317 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20170404 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170417 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6136794 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |