JP6136794B2 - 情報処理方法、プログラム、及び、情報処理装置 - Google Patents

情報処理方法、プログラム、及び、情報処理装置 Download PDF

Info

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
Application number
JP2013189779A
Other languages
English (en)
Other versions
JP2015056066A (ja
Inventor
忠延 古川
忠延 古川
太田 唯子
唯子 太田
井形 伸之
伸之 井形
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2013189779A priority Critical patent/JP6136794B2/ja
Publication of JP2015056066A publication Critical patent/JP2015056066A/ja
Application granted granted Critical
Publication of JP6136794B2 publication Critical patent/JP6136794B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、コンピュータを用いた情報処理方法、プログラム、及び、情報処理装置に関する。
従来、テキスト中の任意の単語ペアについて、複数種類の類似度を計算し、各類似度を要素とする素性ベクトルを生成する関係抽出装置等が提案されている(例えば、特許文献1参照)。
特開2011−118526号公報
しかしながら、従来の技術では、情報分析の際の計算量が膨大であるという問題があった。
一つの側面では、本発明は計算量の多い用語及び用語数に基づく類似度の演算量を低減することが可能な情報処理方法等を提供することを目的とする。
本願に開示する情報処理方法は、コンピュータを用いた情報処理方法において、ユーザに対応付けられたカテゴリを参照し、カテゴリ間の組み合わせ数を算出し、算出したカテゴリ間の組み合わせ数に基づき、カテゴリ間の第1類似度を算出し、閾値を超える第1類似度を有するカテゴリの組み合わせを抽出し、抽出した各カテゴリに対応する用語及び用語数に基づき、抽出したカテゴリ間の第2類似度を算出する。
一つの側面では、計算量を低減することが可能となる。
情報処理システムの概要を示す説明図である。 コンピュータのハードウェア群を示すブロック図である。 ブログ記事の例を示す説明図である。 カテゴリリストファイルのレコードレイアウトを示す説明図である。 ユーザブログ記事リストファイルのレコードレイアウトを示す説明図である。 ユーザカテゴリリストファイルのレコードレイアウトを示す説明図である。 ユーザ記事リストファイルのレコードレイアウトを示す説明図である。 カテゴリ語句リストファイルのレコードレイアウトを示す説明図である。 カテゴリ記事リストファイルのレコードレイアウトを示す説明図である。 カテゴリ共起ファイルを示す説明図である。 カテゴリ共起類似度ファイルのレコードレイアウトを示す説明図である。 内容類似度ファイルを示す説明図である。 削除後のカテゴリ記事リストファイルのレコードレイアウトを示す説明図である。 カテゴリ記事リストファイルの生成処理手順を示すフローチャートである。 カテゴリ共起ファイルの生成処理手順を示すフローチャートである。 第1類似度算出処理の手順を示すフローチャートである。 第2類似度算出処理の手順を示すフローチャートである。 第2類似度算出処理の手順を示すフローチャートである。 削除処理の手順を示すフローチャートである。 上述した形態のコンピュータの動作を示す機能ブロック図である。 実施の形態2に係るコンピュータのハードウェア群を示すブロック図である。
実施の形態1
以下実施の形態を、図面を参照して説明する。図1は情報処理システムの概要を示す説明図である。情報処理システムは情報処理装置1及びサーバコンピュータ2等を含む。情報処理装置1及びサーバコンピュータ2はインターネット等の通信網Nを介して接続されている。情報処理装置1は例えばパーソナルコンピュータ、サーバコンピュータ、携帯電話機、PDA(Personal Digital Assistant)等である。以下では情報処理装置1をコンピュータ1と読み替えて説明する。サーバコンピュータ2は複数の単語を含む記事、歌詞、つぶやき、商品説明、店舗の説明、または、論文等の文章と、当該文章に対するカテゴリを付与した情報を記憶している。サーバコンピュータ2は図示しない他のコンピュータから文章及びカテゴリを受信し、受信した文章及びカテゴリを記憶する。
以下では、一例として複数のユーザがブログの記事にカテゴリを付して、サーバコンピュータ2にアップロードした例を挙げて説明する。コンピュータ1は定期的にサーバコンピュータ2にアクセスし、各ユーザのブログ記事及びカテゴリをダウンロードする。コンピュータ1はダウンロードした記事及びカテゴリについて情報処理を行う。以下詳細を説明する。
図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による各種プログラムの実行時に発生する種々のデータを一時的に記憶する。
入力部13はマウスまたはキーボード、マウスまたはタッチパネル等の入力デバイスであり、受け付けた操作情報をCPU11へ出力する。表示部14は液晶ディスプレイまたは有機EL(electroluminescence)ディスプレイ等であり、CPU11の指示に従い各種情報を表示する。通信部16は通信モジュールであり、通信網Nを介してサーバコンピュータ2との間で情報の送受信を行う。
記憶部15はハードディスクまたは大容量メモリであり、上述した制御プログラム15Pの他、カテゴリリストファイル151、ユーザブログ記事リストファイル152、ユーザカテゴリリストファイル153、ユーザ記事リストファイル154等を記憶する。その他、記憶部15は、カテゴリ語句リストファイル155、カテゴリ記事リストファイル156、カテゴリ共起ファイル157、カテゴリ共起類似度ファイル158及び内容類似度ファイル159等を記憶する。なお、本実施形態ではコンピュータ1の記憶部15にカテゴリリストファイル151等を記憶する例を挙げたがこれに限るものではない。例えば通信網Nを介して接続される図示しないデータベースサーバ等に上述した各種ファイルを適宜記憶しても良い。この場合、CPU11は、必要に応じてデータベースサーバにアクセスし、データの書き込み及び読み出しを行う。
図3はブログ記事の例を示す説明図である。図3の例はユーザAのブログ記事であり、4つのブログ記事が記載されている。なお、A001はユーザのブログ記事を特定するための識別情報(以下、記事IDという)である。各ブログ記事にはカテゴリが記載されている。例えば、記事IDがA001の「ラーメンを食べた」には「グルメ」のカテゴリが付与されており、記事IDがA002の「渋谷で服を買った」には「ファッション」のカテゴリが付与されている。なお、本実施形態においては、記事IDにユーザを特定するための情報も付している。例えば記事ID「A001」はユーザAの記事であり、記事ID「B001」はユーザBの記事である。
図4はカテゴリリストファイル151のレコードレイアウトを示す説明図である。図4に示すように予めカテゴリリストファイル151には分析対象となるカテゴリが記憶されている。図4の例ではグルメ、お酒、ファッション等の合計10のカテゴリが記憶されている。なお、本実施形態では10のカテゴリを分析する例を挙げて説明するが、あくまで一例でありカテゴリ数及びカテゴリの内容を限定するものではない。
図5はユーザブログ記事リストファイル152のレコードレイアウトを示す説明図である。ユーザブログ記事リストファイル152はユーザフィールド、記事IDフィールド、カテゴリフィールド、本文フィールド等を含む。ユーザフィールドにはユーザの情報が記憶されている。記事IDフィールドには、ユーザのブログ記事を特定するための記事IDが記憶されている。CPU11は、サーバコンピュータ2からブログ記事をダウンロードした場合、新規に記事IDを生成し、ユーザ、記事ID、カテゴリ及び本文をユーザブログ記事リストファイル152に記憶する。
カテゴリフィールドには、記事IDに対応付けて付与されたカテゴリが記憶されている。本文フィールドには記事IDに対応付けてブログ記事の本文がテキスト形式で記憶されている。図5の例では、ユーザAの記事IDがA001の「ラーメンを食べた」がカテゴリ「グルメ」で記憶されており、またユーザBの記事IDがB001の「ビールを飲んだ」がカテゴリ「お酒」で記憶されている。なお、本実施形態ではブログ記事本文の情報を記憶しているが、ブログ記事のタイトルを記憶し、分析を行っても良い。
図6はユーザカテゴリリストファイル153のレコードレイアウトを示す説明図である。ユーザカテゴリリストファイル153は、ユーザフィールド及びカテゴリフィールド等を含む。カテゴリフィールドには、ユーザに対応付けてカテゴリが記憶されている。CPU11は、ユーザブログ記事リストファイル152を参照し、各ユーザのカテゴリを抽出する。CPU11は、抽出した各ユーザのカテゴリをユーザカテゴリリストファイル153に記憶する。図6の例では、ユーザAのカテゴリはグルメ、ファッション、及びお酒となる。またユーザBのカテゴリはお酒のみとなる。
図7はユーザ記事リストファイル154のレコードレイアウトを示す説明図である。ユーザ記事リストファイル154はユーザフィールド、記事IDフィールド、カテゴリフィールド、本文フィールド及び語句フィールド等を含む。語句フィールドには、ブログの記事本文から抽出された語句(用語)が記憶されている。CPU11は、本文の内容に対して公知の形態素解析を行い、語句を抽出する。CPU11は、抽出した語句を本文に対応付けて記憶する。図7の例では「ラーメンを食べた」に対して「ラーメン」及び「食べる」の語句が抽出されている。なお、本実施形態では形態素解析を用いた例を示したが、他の手法により語句を抽出しても良い。例えば予め記憶部に辞書を用意しておき、辞書内の語句に一致する本文中の語句を抽出するようにしても良い。
図8はカテゴリ語句リストファイル155のレコードレイアウトを示す説明図である。カテゴリ語句リストファイル155は、カテゴリフィールド及び語句x出現頻度(用語数)フィールド等を含む。語句x出現頻度フィールドにはカテゴリに対応付けてカテゴリに属する語句と、当該語句のブログ記事本文内での出現頻度を記憶している。CPU11は、ユーザ記事リストファイル154のカテゴリフィールド及び語句フィールドを参照し、カテゴリ内で使用されている語句を抽出し、当該語句のカテゴリ内での出現頻度を計数する。図8の例では、カテゴリ「グルメ」について「ラーメン」は出現頻度が300であり、「食べる」は出現頻度が900である。またカテゴリ「お酒」について「食べる」は出現頻度が「300」である。このように、「飲む」、「食べる」のようにカテゴリ間で重複する語句が存在する。
図9はカテゴリ記事リストファイル156のレコードレイアウトを示す説明図である。カテゴリ記事リストファイル156はカテゴリフィールド及び記事リストフィールド等を含む。記事リストフィールドにはカテゴリに対応付けて各ユーザの記事IDが記憶されている。CPU11は、ユーザ記事リストファイル154を参照し、カテゴリに属する各ユーザの記事IDを抽出する。CPU11は、ユーザ名及び抽出した記事IDをカテゴリに対応付けて、カテゴリ記事リストファイル156に記憶する。図9の例ではカテゴリ「グルメ」についてユーザAの記事ID「A001」及び「A004」で特定される2つの記事が記憶されている。またカテゴリ「ファッション」についてユーザAの記事ID「A002」及び「A003」で特定される2つの記事が記憶されている。なお、本実施形態では記事IDを記憶する例を挙げたが、記事IDにユーザを特定するための情報が記述されていない場合、ユーザの情報と共に、記事IDを記憶するようにすればよい。
図10はカテゴリ共起ファイル157を示す説明図である。カテゴリ共起ファイル157には2つのカテゴリ間の共起回数を記憶している。すなわち一のユーザが2つのカテゴリの記事を記載している場合に共起していると判断する。CPU11は、ユーザカテゴリリストファイル153を参照し、特定のユーザのカテゴリを読み出す。CPU11は、複数のカテゴリを検出した場合、全てのカテゴリの組み合わせについての共起回数をインクリメントする。CPU11は、他の全てのユーザについてもカテゴリの組み合わせを計数し、カテゴリ共起ファイル157に記憶する。図6及び図10の例では、ユーザAはカテゴリとして「グルメ」、「ファッション」及び「お酒」の3つがある。CPU11は、「グルメ」と「ファッション」との組み合わせを検出し、カテゴリ共起ファイル157の「グルメ」と「ファッション」との組み合わせ数をインクリメントする。
同様にCPU11は、「グルメ」と「お酒」との組み合わせを検出し、カテゴリ共起ファイル157の「グルメ」と「お酒」との組み合わせ数をインクリメントする。またCPU11は、「ファッション」と「お酒」との組み合わせを検出し、カテゴリ共起ファイル157の「ファッション」と「お酒」との組み合わせ数をインクリメントする。続いてCPU11は、ユーザBのカテゴリリストをユーザカテゴリリストファイル153から読み出す。ユーザBはカテゴリ「お酒」しか存在しないので、共起回数はゼロとなる。以上の処理を分析対象の全ユーザに対して行う。
図10の例では「グルメ」と「お酒」との双方のカテゴリに言及しているユーザは30、「グルメ」と「ファッション」との双方のカテゴリに言及しているユーザは100となる。なお、「グルメ」と「お酒」との組み合わせ、及び、「お酒」と「グルメ」のように、カテゴリの順序のみが異なる組み合わせは同一の組み合わせとしている。また本実施形態ではカテゴリリストファイル153を参照する例を挙げたが、ユーザ記事リストファイル154を参照して、カテゴリ共起ファイル157を生成してもよい。
図11はカテゴリ共起類似度ファイル158のレコードレイアウトを示す説明図である。カテゴリ共起類似度ファイル158には、2つのカテゴリ間の第1類似度が記憶されている。例えばカテゴリ「グルメ」と「お酒」の第1類似度は0.99となる。ここで、第1のカテゴリを「グルメ」とし、第2のカテゴリを「お酒」とし、第1類似度を算出する手順を説明する。CPU11は、カテゴリ共起類似度ファイル158を参照し、第1のカテゴリである「グルメ」と、第2のカテゴリである「お酒」以外の他のカテゴリとの間の組み合わせ数を読み出す。図10の例ではファッションが100、クルマが12、音楽が70、映画が45、アニメが40、ゲームが25、野球が15、サッカーが15として読み出される。
同様に、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のカテゴリを含む他のカテゴリとの間の組み合わせ数に基づき、ベクトルを求めても良い。また他のカテゴリも全ての他のカテゴリの組み合わせ数を用いる必要は必ずしも無く、一部の他のカテゴリの組み合わせ数を用いても良い。
CPU11は、第1カテゴリのベクトル及び第2カテゴリのベクトルから第1類似度を算出する。第1類似度はコサイン類似度、内積、または、相関関数等を用いて算出すればよい。例えば各ベクトルの差の2乗の合計値に基づき第1類似度を算出しても良い。本実施形態では一例としてコサイン類似度を用いる例を挙げて説明する。コサイン類似度は記憶部15に記憶した下記式1にて算出する。
Figure 0006136794

(式1)
なお、Vは列数であり、上述した例では8となる。CPU11は、第1カテゴリのベクトル及び第2カテゴリのベクトルを式1に代入し、第1類似度0.99を算出する。CPU11は、他の組み合わせについても同様の処理を行い、各カテゴリの組み合わせについて第1類似度を算出し、算出した第1類似度をカテゴリ共起類似度ファイル158に記憶する。例えば、「グルメ」と「ファッション」との第1類似度は0.57と低くなっている。なお、図11に示した数値は説明を容易にするために適当な値を示している。
次いでCPU11は、記憶部15に記憶した第1閾値を読み出す。CPU11は、カテゴリ共起類似度ファイル158を参照し、第1閾値を超える第1類似度を有するカテゴリの組み合わせを抽出する。第1閾値はユーザが入力部13から適宜の値を設定することがかのである。本実施形態では一例として第1閾値0.74とする。CPU11は、第1閾値を超える組み合わせとして、「グルメ」と「ファッション」、「音楽」と「映画」、「アニメ」と「ゲーム」、「野球」と「サッカー」の4つの組み合わせを抽出する。
図12は内容類似度ファイル159を示す説明図である。CPU11は、抽出したカテゴリの組み合わせについて内容類似度(以下、第2類似度)を算出する。CPU11は、カテゴリの組み合わせに対応付けて算出した第2類似度を内容類似度ファイル159に記憶する。第2類似度の算出手順は以下のとおりである。CPU11は、抽出した一のカテゴリの語句及び出現頻度をカテゴリ語句リストファイル155から読み出す。例えばカテゴリ「グルメ」の場合、「ラーメン」が300回、「食べる」が900回、「美味しい」が600回、「ワイン」が200回、「飲む」が60回、「ビール」が45回、・・・と読み出される。CPU11は、一のカテゴリのベクトルを生成する。上述の例では一のカテゴリのベクトルは{300、900、600、200、60、45・・}となる。なお、ベクトルの列方向は予め定められており{ラーメン、食べる、美味しい、ワイン、飲む、ビール・・}となる。
CPU11は、同様に抽出した他のカテゴリの語句及び出現頻度をカテゴリ語句リストファイル155から読み出す。例えばカテゴリ「お酒」の場合、「ビール」が320回、飲む」が600回、「食べる」が300回、「美味しい」が400回、「ワイン」が280回、「ラーメン」が80回・・・と読み出される。CPU11は、他のカテゴリのベクトルを生成する。上述の例では他のカテゴリのベクトルは{320、600、300、400、280、80・・}となる。CPU11は、一のカテゴリ「グルメ」のベクトルと、他のカテゴリ「お酒」のベクトルとを、式1に代入し第1カテゴリ及び第2カテゴリの語句及び出現頻度に基づく第2類似度を算出する。なお、第2類似度の算出は式1を用いる例を挙げるが他の方式により算出しても良い。
図12の例では「グルメ」と「お酒」の第2類似度は0.8となる。また、「音楽」と「映画」の第2類似度は0.3、「アニメ」と「ゲーム」との第2類似度は0.7、「野球」と「サッカー」の第2類似度は0.2となる。続いてCPU11は、記憶部15から第2閾値を読み出す。本実施形態では第2閾値を第1閾値と同じ値とするが、他の値であっても良い。CPU11は、第2閾値を超える第2類似度を有するカテゴリの組み合わせを抽出する。図12の例では「グルメ」と「お酒」、及び、「アニメ」と「ゲーム」の2つの組み合わせが抽出される。
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の記事が削除される。
以上のハードウェア群において、各種処理内容を、フローチャートを用いて説明する。図14はカテゴリ記事リストファイル156の生成処理手順を示すフローチャートである。CPU11は、サーバコンピュータ2からブログ記事をダウンロードする(ステップS141)。CPU11は、新たなブログ記事が存在する場合、記事IDを生成する(ステップS142)。CPU11は、ブログ記事からユーザ名、カテゴリ、及び本文を抽出する。CPU11は、ユーザ名、記事ID、カテゴリ及び本文をユーザブログ記事リストファイル152に記憶する(ステップS143)。CPU11は、各ユーザのカテゴリを抽出し、ユーザ毎に抽出したカテゴリを記憶することで、カテゴリ語句リストファイル155を生成する(ステップS144)。
CPU11は、ユーザブログ記事リストファイル152を参照し、形態素解析により、本文中の語句を抽出する(ステップS145)。CPU11は、記事IDに対応付けて抽出した語句をユーザ記事リストファイル154に記憶する(ステップS146)。CPU11は、ユーザ記事リストファイル154を参照し、カテゴリ毎に語句を抽出し、各語句の出現頻度を計数し、語句及び出現頻度を、カテゴリ語句リストファイル155に記憶する(ステップS147)。CPU11は、ユーザブログ記事リストファイル152を参照し、カテゴリ毎に各ユーザの記事IDを、カテゴリ記事リストファイル156に記憶する(ステップS148)。
図15はカテゴリ共起ファイル157の生成処理手順を示すフローチャートである。CPU11は、ユーザに対応するカテゴリをユーザカテゴリリストファイル153から読み出す(ステップS151)。CPU11は、読み出したカテゴリが複数存在するか否かを判断する(ステップS152)。CPU11は、複数存在すると判断した場合(ステップS152でYES)、処理をステップS153へ移行させる。CPU11は、複数のカテゴリの組み合わせを抽出する(ステップS153)。図6のユーザAの例では、「グルメ」と「ファッション」、「グルメ」と「お酒」、及び、「ファッション」と「お酒」の3つの組み合わせが抽出される。
CPU11は、抽出したカテゴリの組み合わせについて、カテゴリ共起ファイル157の対応するカテゴリの組み合わせ数をインクリメントする(ステップS154)。図6のユーザAの例では、「グルメ」と「ファッション」、「グルメ」と「お酒」、及び、「ファッション」と「お酒」に対応するカテゴリ共起ファイル157の数がそれぞれインクリメントされる。CPU11は、カテゴリが複数存在しないと判断した場合(ステップS152でNO)、ステップS153及びS154をスキップし、処理をステップS155へ移行させる。
CPU11は、以上述べた処理を全てのユーザについて処理を終了したか否かを判断する(ステップS155)。CPU11は、処理を終了していないと判断した場合(ステップS155でNO)、ステップS156へ移行する。CPU11は、他のユーザのカテゴリを、ユーザカテゴリリストファイル153から読み出す(ステップS156)。その後処理をステップS152に戻す。以上の処理を繰り返すことにより、各ユーザのカテゴリの組み合わせに基づくカテゴリ共起ファイル157が完成する。CPU11は、全てのユーザについて処理を終了したと判断した場合(ステップS155でYES)、一連の処理を終了する。
図16は第1類似度算出処理の手順を示すフローチャートである。CPU11は、第1類似度を算出する対象となる第1カテゴリ及び第2カテゴリを抽出する(ステップS161)。CPU11は、カテゴリ共起ファイル157を参照し、第1カテゴリと、第2カテゴリ以外の他のカテゴリとの間の組み合わせ数を読み出す(ステップS162)。CPU11は、読み出した組み合わせ数に基づき、第1ベクトルを生成する(ステップS163)。CPU11は、カテゴリ共起ファイル157を参照し、第2カテゴリと、第1カテゴリ以外の他のカテゴリとの間の組み合わせ数を読み出す(ステップS164)。CPU11は、読み出した組み合わせ数に基づき、第2ベクトルを生成する(ステップS165)。
CPU11は、記憶部15に記憶した式1を読み出す(ステップS166)。CPU11は、第1ベクトル及び第2ベクトルを式1に代入し、第1類似度を算出する(ステップS167)。CPU11は、第1カテゴリ及び第2カテゴリに対応付けて、算出した第1類似度を、カテゴリ共起類似度ファイル158に記憶する(ステップS168)。CPU11は、カテゴリ共起ファイル157に記憶した全てのカテゴリの組み合わせについて処理を終了したか否かを判断する(ステップS169)。CPU11は、全てのカテゴリの組み合わせについて処理を終了していないと判断した場合(ステップS169でNO)、処理をステップS1610へ移行させる。
CPU11は、ステップS161とは異なる、他の第1カテゴリ及び第2カテゴリの組み合わせを抽出する(ステップS1610)。その後処理をステップS162に戻す。以上の処理を繰り返すことにより、全てのカテゴリの組み合わせについて第1類似度を算出することができる。CPU11は、全てのカテゴリの組み合わせについて処理を終了したと判断した場合(ステップS169でYES)、一連の処理を終了する。
図17及び図18は第2類似度算出処理の手順を示すフローチャートである。CPU11は、記憶部15に記憶した第1閾値を読み出す(ステップS171)。CPU11は、カテゴリ共起類似度ファイル158を参照し、第1閾値を超える第1類似度を有するカテゴリの組み合わせを、抽出する(ステップS172)。CPU11は、抽出したカテゴリの組み合わせについて以下の処理を行う。CPU11は、カテゴリ語句リストファイル155を参照し、一のカテゴリの語句及び出現頻度を読み出す(ステップS173)。CPU11は、語句順に出現頻度を並び替える(ステップS174)。この語句順は例えば50音順等予め定めておけば良い。CPU11は、語句の出現頻度を列値とする一のカテゴリのベクトルを生成する(ステップS175)。
CPU11は、カテゴリ語句リストファイル155を参照し、一のカテゴリと対になる他のカテゴリの語句及び出現頻度を読み出す(ステップS176)。CPU11は、語句順に出現頻度を並び替える(ステップS177)。CPU11は、語句の出現頻度を列値とする他のカテゴリのベクトルを生成する(ステップS178)。CPU11は、記憶部15から式1を読み出す(ステップS179)。CPU11は、一のカテゴリのベクトルと、他のカテゴリのベクトルとを式1へ代入し、第2類似度を算出する(ステップS181)。
CPU11は、算出した第2類似度を、一のカテゴリ及び他のカテゴリに対応付けて、内容類似度ファイル159に記憶する(ステップS182)。CPU11は、ステップS172で抽出した全てのカテゴリの組み合わせについて処理を終了したか否かを判断する(ステップS183)。CPU11は、処理を終了していないと判断した場合(ステップS183でNO)、処理をステップS184へ移行させる。CPU11は、他の組み合わせとなる一のカテゴリ及び他のカテゴリを抽出する(ステップS184)。その後処理をステップS173へ戻す。以上の処理を繰り返すことにより第1閾値を超える第1類似度を有する全てのカテゴリの組み合わせについて第2類似度を算出する事ができる。CPU11は、全てのカテゴリの組み合わせについて処理を終了したと判断した場合(ステップS183でYES)、一連の処理を終了する。
本実施例では、以上の処理により、第2類似度よりも演算量の少ない第1類似度によって、第2類似度の算出を行う組み合わせを絞り込むことで、第2類似度の演算量を削減する。これにより、本実施例では、他のカテゴリとの間でモデルに揺れが生じやすいカテゴリを実用的な時間内で求めることが可能となる。
図19は削除処理の手順を示すフローチャートである。CPU11は、記憶部15に記憶した第2閾値を読み出す(ステップS191)。CPU11は、内容類似度ファイル159を参照し、第2閾値を超える第2類似度を有するカテゴリの組み合わせを抽出する(ステップS192)。CPU11は、カテゴリ記事リストファイル156を参照し、一のカテゴリの記事IDを読み出す(ステップS193)。CPU11は、記事IDに対応するユーザを特定する(ステップS194)。具体的には記事IDに付与されたユーザの識別情報を参照するか、または、ユーザ記事リストファイル154を参照して記事IDに対応するユーザを特定する。
CPU11は、カテゴリ記事リストファイル156を参照し、ステップS192で抽出した一のカテゴリに対応する他のカテゴリの記事IDを読み出す(ステップS195)。CPU11は、記事IDに対応するユーザを特定する(ステップS196)。CPU11は、特定したユーザが一致しない記事IDをカテゴリ記事リストファイル156から削除する(ステップS197)。換言すればCPU11は、特定したユーザがカテゴリ間で共通する記事IDのみを保存する。CPU11は、ステップS192で抽出した全てのカテゴリの組み合わせについて処理したか否かを判断する(ステップS198)。
CPU11は、全てのカテゴリの組み合わせについて処理していないと判断した場合(ステップS198でNO)、処理をステップS199へ移行させる。CPU11は、他のカテゴリの組み合わせを選択する(ステップS199)。その後処理をステップS193へ移行させる。以上の処理を繰り返すことにより、第2閾値を超える第2類似度を有する全てのカテゴリの組み合わせについて、削除処理が終了する。CPU11は、全てのカテゴリの組み合わせについて処理したと判断した場合(ステップS198でYES)、一連の処理を終了する。このように、カテゴリ間で第1類似度の高いカテゴリの組み合わせを事前に絞り込むことで、計算量を大幅に低減することが可能となる。
実施の形態2
図20は上述した形態のコンピュータ1の動作を示す機能ブロック図である。CPU11が制御プログラム15Pを実行することにより、コンピュータ1は以下のように動作する。算出部201は、ユーザに対応付けられたカテゴリを参照し、カテゴリ間の組み合わせ数を算出する。第1類似度算出部202は、算出したカテゴリ間の組み合わせ数に基づき、カテゴリ間の第1類似度を算出する。抽出部203は閾値を超える第1類似度を有するカテゴリの組み合わせを抽出する。第2類似度算出部204は抽出した各カテゴリに対応する用語及び用語数に基づき、抽出したカテゴリ間の第2類似度を算出する。
図21は実施の形態2に係るコンピュータ1のハードウェア群を示すブロック図である。コンピュータ1を動作させるためのプログラムは、ディスクドライブ等の読み取り部10AにCD-ROM、DVD(Digital Versatile Disc)ディスク、メモリーカード、またはUSB(Universal Serial Bus)メモリ等の可搬型記録媒体1Aを読み取らせて記憶部15に記憶しても良い。また当該プログラムを記憶したフラッシュメモリ等の半導体メモリ1Bをコンピュータ1内に実装しても良い。さらに、当該プログラムは、インターネット等の通信網Nを介して接続される他のサーバコンピュータ(図示せず)からダウンロードすることも可能である。以下に、その内容を説明する。
図21に示すコンピュータ1は、上述した各種ソフトウェア処理を実行するプログラムを、可搬型記録媒体1Aまたは半導体メモリ1Bから読み取り、或いは、通信網Nを介して他のサーバコンピュータ(図示せず)からダウンロードする。当該プログラムは、制御プログラム15Pとしてインストールされ、RAM12にロードして実行される。これにより、上述したコンピュータ1として機能する。
本実施の形態2は以上の如きであり、その他は実施の形態1と同様であるので、対応する部分には同一の参照番号を付してその詳細な説明を省略する。
以上の実施の形態1及び2を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
コンピュータを用いた情報処理方法において、
ユーザに対応付けられたカテゴリを参照し、カテゴリ間の組み合わせ数を算出し、
算出したカテゴリ間の組み合わせ数に基づき、カテゴリ間の第1類似度を算出し、
閾値を超える第1類似度を有するカテゴリの組み合わせを抽出し、
抽出した各カテゴリに対応する用語及び用語数に基づき、抽出したカテゴリ間の第2類似度を算出する
情報処理方法。
(付記2)
各ユーザに対応付けてカテゴリを記憶した記憶部を参照し、ユーザ毎にカテゴリ間の組み合わせを計数することで、複数のユーザのカテゴリ間の組み合わせ数を算出する
付記1に記載の情報処理方法。
(付記3)
第1のカテゴリと第2のカテゴリ以外の他のカテゴリとの間の算出した組み合わせ数、及び、前記第2のカテゴリと前記第1のカテゴリ以外の他のカテゴリとの間の算出した組み合わせ数とに基づき、第1カテゴリと第2カテゴリとの間の第1類似度を算出する
付記1または2に記載の情報処理方法。
(付記4)
カテゴリに対応付けて用語及び用語数を記憶した記憶部を参照し、抽出した一のカテゴリの用語及び用語数を読み出し、
前記記憶部を参照し、他のカテゴリの用語及び用語数を読み出し、
読み出した前記一のカテゴリの用語及び用語数と前記他のカテゴリの用語及び用語数とに基づき、前記一のカテゴリと前記他のカテゴリとの間の第2類似度を算出する
付記1から3のいずれか一つに記載の情報処理方法。
(付記5)
閾値を超える第2類似度を有するカテゴリの組み合わせを抽出し、
カテゴリに対応付けてユーザに関する情報を記憶した記憶部を参照し、抽出したカテゴリ間で一致しないユーザに関する情報を削除する
付記1から4のいずれか一つに記載の情報処理方法。
(付記6)
コンピュータに、
ユーザに対応付けられたカテゴリを参照し、カテゴリ間の組み合わせ数を算出し、
算出したカテゴリ間の組み合わせ数に基づき、カテゴリ間の第1類似度を算出し、
閾値を超える第1類似度を有するカテゴリの組み合わせを抽出し、
抽出した各カテゴリに対応する用語及び用語数に基づき、抽出したカテゴリ間の第2類似度を算出する
処理を実行させるプログラム。
(付記7)
ユーザに対応付けられたカテゴリを参照し、カテゴリ間の組み合わせ数を算出する算出部と、
算出したカテゴリ間の組み合わせ数に基づき、カテゴリ間の第1類似度を算出する第1類似度算出部と、
閾値を超える第1類似度を有するカテゴリの組み合わせを抽出する抽出部と、
抽出した各カテゴリに対応する用語及び用語数に基づき、抽出したカテゴリ間の第2類似度を算出する第2類似度算出部と
を備える情報処理装置。
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 通信網

Claims (5)

  1. コンピュータを用いた情報処理方法において、
    ユーザに対応付けられたカテゴリを参照し、カテゴリ間の組み合わせ数を算出し、
    算出したカテゴリ間の組み合わせ数に基づき、カテゴリ間の第1類似度を算出し、
    閾値を超える第1類似度を有するカテゴリの組み合わせを抽出し、
    抽出した各カテゴリに対応する用語及び用語数に基づき、抽出したカテゴリ間の第2類似度を算出する
    情報処理方法。
  2. 各ユーザに対応付けてカテゴリを記憶した記憶部を参照し、ユーザ毎にカテゴリ間の組み合わせを計数することで、複数のユーザのカテゴリ間の組み合わせ数を算出する
    請求項1に記載の情報処理方法。
  3. 第1のカテゴリと第2のカテゴリ以外の他のカテゴリとの間の算出した組み合わせ数、及び、前記第2のカテゴリと前記第1のカテゴリ以外の他のカテゴリとの間の算出した組み合わせ数とに基づき、第1カテゴリと第2カテゴリとの間の第1類似度を算出する
    請求項1または2に記載の情報処理方法。
  4. コンピュータに、
    ユーザに対応付けられたカテゴリを参照し、カテゴリ間の組み合わせ数を算出し、
    算出したカテゴリ間の組み合わせ数に基づき、カテゴリ間の第1類似度を算出し、
    閾値を超える第1類似度を有するカテゴリの組み合わせを抽出し、
    抽出した各カテゴリに対応する用語及び用語数に基づき、抽出したカテゴリ間の第2類似度を算出する
    処理を実行させるプログラム。
  5. ユーザに対応付けられたカテゴリを参照し、カテゴリ間の組み合わせ数を算出する算出部と、
    算出したカテゴリ間の組み合わせ数に基づき、カテゴリ間の第1類似度を算出する第1類似度算出部と、
    閾値を超える第1類似度を有するカテゴリの組み合わせを抽出する抽出部と、
    抽出した各カテゴリに対応する用語及び用語数に基づき、抽出したカテゴリ間の第2類似度を算出する第2類似度算出部と
    を備える情報処理装置。
JP2013189779A 2013-09-12 2013-09-12 情報処理方法、プログラム、及び、情報処理装置 Active JP6136794B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013189779A JP6136794B2 (ja) 2013-09-12 2013-09-12 情報処理方法、プログラム、及び、情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013189779A JP6136794B2 (ja) 2013-09-12 2013-09-12 情報処理方法、プログラム、及び、情報処理装置

Publications (2)

Publication Number Publication Date
JP2015056066A JP2015056066A (ja) 2015-03-23
JP6136794B2 true JP6136794B2 (ja) 2017-05-31

Family

ID=52820416

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013189779A Active JP6136794B2 (ja) 2013-09-12 2013-09-12 情報処理方法、プログラム、及び、情報処理装置

Country Status (1)

Country Link
JP (1) JP6136794B2 (ja)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4224707B2 (ja) * 2004-05-13 2009-02-18 日本電気株式会社 情報分類分析システム、情報分類分析およびプログラム
US8190473B2 (en) * 2009-03-10 2012-05-29 Google Inc. Category similarities

Also Published As

Publication number Publication date
JP2015056066A (ja) 2015-03-23

Similar Documents

Publication Publication Date Title
CN103853834B (zh) 基于文本结构分析的Web文档摘要的生成方法
CN103874994A (zh) 用于自动概括电子文档的内容的方法和装置
US9495424B1 (en) Recognition of characters and their significance within written works
Liang Collaborative, dynamic and diversified user profiling
CN113268667B (zh) 一种基于中文评论情感引导的序列推荐方法及系统
Li-guo et al. A new naive Bayes text classification algorithm
CN109784365B (zh) 一种特征选择方法、终端、可读介质及计算机程序
CN111400584A (zh) 联想词的推荐方法、装置、计算机设备和存储介质
JP5812534B2 (ja) 質問応答装置、方法、及びプログラム
Liu et al. LJ2M dataset: Toward better understanding of music listening behavior and user mood
US20230334075A1 (en) Search platform for unstructured interaction summaries
JP6136794B2 (ja) 情報処理方法、プログラム、及び、情報処理装置
JP6260678B2 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
JP6495206B2 (ja) 文書概念ベース生成装置、文書概念検索装置、方法、及びプログラム
US20220138407A1 (en) Document Writing Assistant with Contextual Search Using Knowledge Graphs
CN111324701B (zh) 内容补充方法、装置、计算机设备和存储介质
CN110806861B (zh) 一种结合用户反馈信息的api推荐方法及终端
Vu et al. Building a vietnamese sentiwordnet using vietnamese electronic dictionary and string kernel
CN113988057A (zh) 基于概念抽取的标题生成方法、装置、设备及介质
Amrie et al. Analysis of Google Play Store's Sentiment Review on Indonesia's P2P Fintech Platform
US9530094B2 (en) Jabba-type contextual tagger
Umare et al. A survey on machine learning techniques to extract chemical names from text documents
Yuan et al. Self-adaptive extracting academic entities from World Wide Web
CN111767706B (zh) 文本相似度的计算方法、装置、电子设备及介质
Weerasundara et al. Comparative analysis of named entity recognition in the dungeons and dragons domain

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