投稿文章分析装置、投稿文章分析方法、および、投稿文章分析装置用プログラム
【課題】ユーザから投稿される文章を高速に分析できる投稿文章分析装置、投稿文章分析方法、および、投稿文章分析装置用プログラムを提供する。
【解決手段】本発明は、ユーザ端末30からユーザが投稿してくる文章データを受信し(S1)、文書データを記憶し(S2)、文章データに関する時間情報に基づき、文章データを順序付けし(S3)、順序で隣接する文章データの文書間の文書間距離を算出して、文書間距離に基づき、文書データをクラスタリングする(S4)。
【解決手段】本発明は、ユーザ端末30からユーザが投稿してくる文章データを受信し(S1)、文書データを記憶し(S2)、文章データに関する時間情報に基づき、文章データを順序付けし(S3)、順序で隣接する文章データの文書間の文書間距離を算出して、文書間距離に基づき、文書データをクラスタリングする(S4)。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、端末からユーザが投稿してくる文書の分析を行う投稿文章分析装置、投稿文章分析方法、および、投稿文章分析装置用プログラムに関する。
【背景技術】
【0002】
最近、ユーザは、ブログ(weblog)や商品レビューに掲載されている、いわゆる口コミ情報に基づき、インターネット上で、商品の購入を決定することが多くなってきた。そのため、新規顧客の獲得やリピータの確保の両面を強化し、集客率を向上する目的で、ブログ等が利用されており、対応する種々の技術が開発されている。例えば、特許文献1には、商品を購入した顧客が自己の個人ブログに当該商品のレビューを掲載し、これをオンライン商取引サイトが運営する商用ブログにおける同商品に関するエントリーにトラックバックさせる行為に対して報酬を付与するオンライン商取引システムが開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2007−156571号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、ブログや商品レビューと、報酬等の利益とが関連付けられると、文章の手抜きや不適切な書き込みが行われる可能性があり、ブログや商品レビュー等の文章を判定するための分析を行う必要がある。また、多数のユーザから投稿されるブログや商品レビューに関する大量の文章を高速に処理する必要がある。しかしながら、上記従来技術では、十分に対処できなかった。
【0005】
本発明は、このような問題に鑑みてなされたものであり、その課題の一例は、ユーザから投稿される文章を高速に分析できる投稿文章分析装置、投稿文章分析方法、および、投稿文章分析プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決するために、請求項1に記載の発明は、ユーザ端末からユーザが投稿してくる文章データを受信する文章データ受信手段と、文書データを記憶する文書データ記憶手段と、前記文章データに関する時間情報に基づき、前記文章データを順序付けする文書順序付け手段と、前記順序で隣接する前記文章データの文書間の文書間距離を算出する文書間距離算出手段と、前記文書間距離に基づき、前記文書データをクラスタリングするクラスタリング手段と、を備えたことを特徴とする。
【0007】
請求項2に記載の発明は、請求項1に記載の投稿文章分析装置において、前記文書順序付け手段が、文章データの受信順序に基づき、前記文章データを順序付けすることを特徴とする。
【0008】
請求項3に記載の発明は、請求項1または請求項2に記載の投稿文章分析装置において、前記文書間距離算出手段が、前記文書データを比較して、文書同士の類似性に基づき、文書間距離を算出することを特徴とする。
【0009】
請求項4に記載の発明は、請求項1から請求項3のいずれか1項に記載の投稿文章分析装置において、前記文書間距離算出手段が、前記文書データの句読点を含めた文字列を比較して、文書間距離を算出することを特徴とする。
【0010】
請求項5に記載の発明は、請求項1から請求項4のいずれか1項に記載の投稿文章分析装置において、前記クラスタリング手段が、クラスタリングのシーズとなる前記文書データから出発し、前記文書間距離に基づき接続関係にある他の前記文書データを探索してクラスタリングを行うことを特徴とする。
【0011】
請求項6に記載の発明は、請求項1から請求項5のいずれか1項に記載の投稿文章分析装置において、前記クラスタリング手段により生成したクラスタにおいて、クラスタ間の距離を算出して、上位クラスタを算出する前記上位クラスタリング手段を更に備えたことを特徴とする。
【0012】
請求項7に記載の発明は、請求項1から請求項5のいずれか1項に記載の投稿文章分析装置において、前記文章データが、商品レビューに関する文章であって、前記文章データに関する時間情報と商品の注文時間との関係に基づき、前記クラスタリング手段によりクラスタリングされた文書データ群に対して、前記文書データ群を類別する文書類別手段を更に備えたことを特徴とする。
【0013】
請求項8に記載の発明は、ユーザ端末からユーザが投稿してくる文章データを受信する文章データ受信ステップと、文書データを記憶する文書データ記憶ステップと、前記文章データに関する時間情報に基づき、前記文章データを順序付けする文書順序付けステップと、前記順序で隣接する前記文章データの文書間の文書間距離を算出する文書間距離算出ステップと、前記文書間距離に基づき、前記文書データをクラスタリングするクラスタリングステップと、を有することを特徴とする。
【0014】
請求項9に記載の発明は、コンピュータを、ユーザ端末からユーザが投稿してくる文章データを受信する文章データ受信手段、文書データを記憶する文書データ記憶手段、前記文章データに関する時間情報に基づき、前記文章データを順序付けする文書順序付け手段、前記順序で隣接する前記文章データの文書間の文書間距離を算出する文書間距離算出手段、および、前記文書間距離に基づき、前記文書データをクラスタリングするクラスタリング手段として機能させることを特徴とする。
【発明の効果】
【0015】
本発明によれば、ユーザ端末からユーザが投稿してくる文章データを受信して文書データを記憶し、文章データに関する時間情報に基づき、文章データを順序付けし、この順序で隣接する文章データの文書間の文書間距離を算出し、この文書間距離に基づき、文書データをクラスタリングすることにより、ユーザから投稿される文章を高速に分析できる。
【図面の簡単な説明】
【0016】
【図1】本発明の実施形態に係る投稿文章分析システムの概要構成例を示す模式図である。
【図2】図1の投稿文章分析サーバの概要構成の一例を示すブロック図である。
【図3】図1のショッピングサーバの概要構成の一例を示すブロック図である。
【図4】図1の投稿文章分析サーバにおいて投稿文章を分析する動作例を示すフローチャートである。
【図5A】図1の投稿文章分析サーバが受信した投稿文書の一例を示す説明図である。
【図5B】図1の投稿文章分析サーバが受信した投稿文書の一例を示す説明図である。
【図6】図1の投稿文章分析サーバにおいて順序付けされた投稿文章の一例を示す模式図である。
【図7】図1の投稿文章分析サーバにおけるクラスタリングの結果の一例を示す説明図である。
【図8】投稿時間―注文時間の関係の一例を模式的に示す線図である。
【図9】投稿時間―注文時間の関係におけるグラフのパターンの一例を模式的に示す線図である。
【図10】図1の投稿文章分析サーバにおける投稿文章クラスタリングのサブルーチンの一例を示すフローチャートである。
【図11】図1の投稿文章分析サーバにおける上位クラスタリングの結果の一例を示す説明図である。
【図12A】商品レビューに対して投稿時間―注文時間のグラフを求めた結果の一例を示す線図である。
【図12B】商品レビューに対して投稿時間―注文時間のグラフを求めた結果の一例を示す線図である。
【図12C】商品レビューに対して投稿時間―注文時間のグラフを求めた結果の一例を示す線図である。
【図12D】商品レビューに対して投稿時間―注文時間のグラフを求めた結果の一例を示す線図である。
【図12E】商品レビューに対して投稿時間―注文時間のグラフを求めた結果の一例を示す線図である。
【図12F】商品レビューに対して投稿時間―注文時間のグラフを求めた結果の一例を示す線図である。
【発明を実施するための形態】
【0017】
以下、図面を参照して本発明の実施形態について説明する。なお、以下に説明する実施の形態は、投稿文章分析システムに対して本発明を適用した場合の実施形態である。
【0018】
[1.投稿文章分析システムの構成および機能概要]
【0019】
まず、本発明の一実施形態に係る投稿文章分析システムの構成および概要機能について、図1を用いて説明する。
【0020】
図1は、本発明の実施形態に係る投稿文章分析システムの概要構成例を示す模式図である。
【0021】
図1に示すように、投稿文章分析システム1は、ユーザが投稿した商品レビューやブログを分析する投稿文章分析サーバ10と、商品等の購入の処理を行うショッピングサーバ20と、ユーザ端末30、31と、を備えている。
【0022】
投稿文章分析サーバ10と、ショッピングサーバ20とは、ローカルエリアネットワーク等により接続され、相互にデータの送受信が可能になっていて、サーバシステム5を構成している。そして、サーバシステム5、ユーザ端末30は、ネットワーク3により接続され、例えば、通信プロトコルにTCP/IP等を用いて相互にデータの送受信が可能になっている。なお、ネットワーク3は、例えば、インターネット、専用通信回線(例えば、CATV(Community Antenna Television)回線)、移動体通信網(基地局等を含む)、およびゲートウェイ等により構築されている。
【0023】
ユーザが使用するユーザ端末30は、パーソナルコンピュータや携帯型無線電話機やPDA(Personal Digital Assistant)等の携帯端末である。ユーザはユーザ端末30を使用して、商品の購入を行ったり、商品レビューやブログを投稿等したりする。
【0024】
[2.投稿文章分析サーバ10およびショッピングサーバ20の構成および機能]
(2.1 投稿文章分析サーバ10の構成および機能)
次に、投稿文章分析サーバ10の構成および機能について、図に基づき説明する。
図2は、投稿文章分析サーバ10の概要構成の一例を示すブロック図である。
【0025】
図2に示すように、投稿文章分析装置の一例でコンピュータとして機能する投稿文章分析サーバ10は、通信部11と、記憶部12と、入出力インターフェース部13と、システム制御部14と、を備えている。そして、システム制御部14と入出力インターフェース部13とは、システムバス15を介して接続されている。
【0026】
通信部11は、ネットワーク3に接続して、ユーザ端末30との通信状態を制御したり、ローカルエリアネットワーク等を通して、およびショッピングサーバ20と通信状態を制御したりするようになっている。
【0027】
記憶部12は、例えば、ハードディスクドライブ等により構成されており、オペレーティングシステムおよびサーバプログラム等の各種プログラムやHTML等のマークアップ言語等により記述されたウェブページのファイル等を記憶する。なお、各種プログラムは、例えば、他のサーバ装置等からネットワーク3を介して取得されるようにしてもよいし、記録媒体に記録されてドライブ装置を介して読み込まれるようにしてもよい。
【0028】
また、記憶部12には、文書データを記憶する文書データ記憶手段の一例として、商品レビュー・データベース(DB)12aや、ブログ・データベース(DB)12b等が構築されている。
【0029】
商品レビュー・データベース12aには、ユーザが投稿してきた商品レビューの文書データ等が格納されている。また、ブログ・データベース12bには、ユーザが投稿してきたブログの文書データ等が格納されている。これらのデータベースの文章は、ユーザIDや文章を受信した時間等に関連付けられて記憶されている。
【0030】
次に、入出力インターフェース部13は、通信部11および記憶部12とシステム制御部14との間のインターフェース処理を行うようになっている。
【0031】
システム制御部14は、CPU(Central Processing Unit)14a、ROM(Read Only Memory)14b、RAM(Random Access Memory)14c等により構成されている。そして、システム制御部14は、CPU14aが、ROM14bや記憶部12に記憶された各種プログラムを読み出し実行することにより、文章データに関する時間情報に基づき文章データを順序付けする文書順序付け手段や、順序で隣接する文章データの文書間の文書間距離を算出する文書間距離算出手段や文書間距離に基づき文書データをクラスタリングするクラスタリング手段として機能する。
【0032】
(2.2 ショッピングサーバ20の構成および機能)
次に、ショッピングサーバ20の構成および機能について、図に基づき説明する。
図4は、ショッピングサーバ20の概要構成の一例を示すブロック図である。
【0033】
図4に示すように、ショッピングサーバ20は、通信部21と、記憶部22と、入出力インターフェース部23と、システム制御部24と、を備え、システム制御部24と入出力インターフェース部23とは、システムバス25を介して接続されている。なお、ショッピングサーバ20の構成および機能は、投稿文章分析サーバ10の構成および機能とほぼ同じであるので、投稿文章分析サーバ10の各構成や各機能において、異なるところを中心に説明する。
【0034】
通信部21は、ネットワーク3やローカルエリアネットワーク等を通して、ユーザ端末30や投稿文章分析サーバ10等と通信状態を制御等するようになっている。
【0035】
記憶部22には、商品データベース(DB)22aや、会員データベース(DB)22b等が構築されている。
【0036】
商品データベース22aには、商品コードに関連付けられた商品関して、商品名、種類、商品の画像、スペック、および、商品紹介の要約文等の商品情報や、広告情報等が格納されている。
【0037】
会員データベース22bには、会員登録されたユーザ(インターネットショップの利用者)のユーザID、名称、住所、電話番号、メールアドレス、届先名称、届先住所、および、届先電話番号等の属性情報(以下、「ユーザ情報」という)が登録されている。このようなユーザ情報は、ユーザIDによってユーザ毎に判別可能になっている。ここで、ユーザIDは、ユーザを識別するための識別子である。また、届先は、インターネットショップ等で購入した商品の配達先を意味する。また、会員データベースには、ユーザがユーザ端末30からインターネットショップのサイトにログインする際に必要な、ユーザID、ログインID、および、パスワードが登録されている。ここで、ログインIDおよびパスワードは、ログイン処理(ユーザの認証処理)に使用されるログイン情報である。
【0038】
システム制御部24は、CPU24a、ROM24b、RAM24c等により構成されている。そして、システム制御部24は、CPU24aが、ROM24bや記憶部22に記憶された各種プログラムを読み出し実行することにより、購入処理や、商品の購買履歴をユーザID毎に記録させたりする。
【0039】
[3.投稿文章分析システムの動作]
次に、本発明の一実施形態に係る投稿文章分析システム1の動作について図に基づき説明する。
(3.1 投稿文章を分析する動作例)
まず、投稿文章分析サーバ10における投稿文章分析の処理の流れについて、図に基づき説明する。
【0040】
図4は、投稿文章分析サーバ10において投稿文章を分析する動作例を示すフローチャートである。図5Aは、投稿文章分析サーバ10が受信した投稿文書の一例を示す説明図である。図5Bは、投稿文章分析サーバ10が受信した投稿文書の一例を示す説明図である。図6は、投稿文章分析サーバ10において順序付けされた投稿文章の一例を示す模式図である。図7は、投稿文章分析サーバ10におけるクラスタリングの結果の一例を示す説明図である。
【0041】
まず、ユーザは、ユーザ端末30を使用して、ショッピングサーバ20にアクセスして、商品データベース22aにある商品を選択し、商品の注文を行う。ショッピングサーバ20のシステム制御部24は、商品の購買履歴として、商品IDや注文番号や注文時間等をユーザ毎に会員データベース22bに記録する。商品が届いた後、ユーザは商品に関する感想やコメントを投稿するため、投稿文章分析サーバ10にアクセスして、商品レビューのためのウェブページをユーザ端末30に表示させ、商品に関するコメント等の文章を記載し投稿を行う。
【0042】
次に、図4に示すように、投稿文章分析サーバ10は、投稿された文章の文書データをユーザ端末30から受信する(ステップS1)。具体的には、投稿文章分析サーバ10のシステム制御部14は、通信部11を通して、ユーザが投稿した文章の投稿文書データを受信する。このように、投稿文章分析サーバ10のシステム制御部14および通信部11は、ユーザ端末からユーザが投稿してくる文章データを受信する文章データ受信手段の一例として機能する。
【0043】
次に、投稿文章分析サーバ10は、受信した文書データを保存する(ステップS2)。具体的には、システム制御部14が、図5Aおよび図5Bに示すように、ユーザ毎に、商品IDや商品の注文番号等の商品情報や、文章データに関する時間情報の一例としての投稿された時間、すなわち、受信した時間と共に、文書データを商品レビュー・データベース12aに保存する。このように、投稿文章分析サーバ10の商品レビュー・データベース12aは、文書データを記憶する文書データ記憶手段の一例として機能する。
【0044】
次に、投稿文章分析サーバ10は、受信した文章群に対して、文書の受信順に順序付けを行う(ステップS3)。具体的には、システム制御部14が、図6に示すように、商品レビューの文章r1、r2、r3、・・・、rnを、文章が投稿された順に、すなわち文章データの受信順に、順序付けを行う。このように、投稿文章分析サーバ10のシステム制御部14は、文章データに関する時間情報に基づき、文章データを順序付けする文書順序付け手段の一例として機能する。また、投稿文章分析サーバ10のシステム制御部14は、文書データの受信順序に基づき、前記文章データを順序付けする文書順序付け手段の一例として機能する。なお、商品情報の商品IDに基づき、同じ商品を集めて、順序付けを行ってもよい。同じ商品であると、商品レビューが比較的同じ文章になりやすく、クラスタが形成しやすく分析しやすくなる可能性がある。
【0045】
次に、投稿文章分析サーバ10は、隣接する文書間距離に基づき、文書データのクラスタリングを行う(ステップS4)。具体的には、システム制御部14は、受信順に並べられた文書において、文書r1と文書r2、文書r2と文書r3等のように隣接した文書間の距離を利用して文書データのクラスタリングの処理を行う。ここで、文書間距離は、文書間の類似性に関連した指標であり、文書同士が似ていると、文書間距離が短くなり、文書同士が異なるほど文書間距離が長くなる指標である(詳しくは後述)。また、文章r1、r2、r3、・・・、rnのクラスタリングを行う際、文章r1、r2、r3、・・・、rnの各文章間の距離を利用する必要はなく、図7に示すように、隣接する文章間の距離のみでクラスタリングを行う。このように、投稿文章分析サーバ10のシステム制御部14は、順序で隣接する前記文章データの文書間の文書間距離を算出する文書間距離算出手段の一例として機能する。また、投稿文章分析サーバ10のシステム制御部14は、文書間距離に基づき、文書データをクラスタリングするクラスタリング手段の一例として機能する。また、投稿文章分析サーバ10のシステム制御部14は、文書データを比較して、文書同士の類似性に基づき、文書間距離を算出する文書間距離算出手段の一例として機能する。
【0046】
次に、投稿文章分析サーバ10は、クラスタが形成されたか否かを判定する(ステップS5)。具体的には、投稿文章分析サーバ10のシステム制御部14は、図7に示すように、”○”の部分があるか否かを判定する。ここで、図7中、”○”は、隣接する文章が接続関係にあること、”×”は、隣接する文章が接続関係にないことを示していて、接続関係にある文章同士は、同じクラスタに属する(接続関係については後述)。そして、いずれかに”○”があれば、クラスタが形成されたとする。また、図7に示すように、文書r1、r2、r3および文書r6、r7は、それぞれ、”クラスタ1”、”クラスタ2”のクラスタを形成している。
【0047】
次に、クラスタが形成されたと判定され無い場合(ステップS5;NO)、投稿文章分析サーバ10のシステム制御部14は処理を終了する。
【0048】
(3.2 投稿時間―注文時間の関係)
次に、クラスタリングが形成されたユーザの一連の文書に対して、更に、ユーザの動向を判別するために、投稿時間―注文時間の関係を利用する。
【0049】
図8は、投稿時間―注文時間の関係の一例を模式的に示す線図である。図9は、投稿時間―注文時間の関係におけるグラフのパターンの一例を模式的に示す線図である。
【0050】
図4に示すように、クラスタが形成されたと判定された場合(ステップS5;YES)、投稿文章分析サーバ10は、商品の注文時間と、商品レビュー投稿時間との関係グラフを生成する(ステップS6)。具体的には、投稿文章分析サーバ10のシステム制御部14は、商品レビュー・データベース12aより、ユーザIDのユーザに関して、文章データの受信時間(投稿日時)を取得する。また、システム制御部14は、ショッピングサーバ20と通信を行い、ユーザIDに基づき、会員データベース22bより、ユーザIDのユーザの商品の購買履歴を取得する。そして、図8に示すようにシステム制御部14は、商品の注文番号等に基づき、購買履歴の注文日時(注文時間)t1と投稿日時t2とから、商品の注文時間と、商品レビュー投稿時間との関係グラフを生成する。
【0051】
次に、投稿文章分析サーバ10は、投稿時間−注文時間グラフのパターンを判別する(ステップS7)。具体的には、図9に示すように、投稿時間−注文時間グラフのパターンを予め類別しておき、どのパターンに属するか、投稿文章分析サーバ10のシステム制御部14が判別する。例えば、図9(A)に示すように、商品を定期的に購入してその都度商品レビューを書いたり、定期的な商品購入で無くても商品を購入して商品が届いたら直ぐに商品レビューを投稿したりする定期投稿型の場合や、図9(B)に示すように、定期的に購入したり、多くの商品を購入したりしていて、商品レビューのみ一気に投稿するサボり投稿型や、図9(C)に示すように、いわゆる大人買いのように一気に商品を注文して一気に商品レビューを書く集中型等がある。
【0052】
このように、投稿文章分析サーバ10のシステム制御部14は、文章データが、商品レビューに関する文章であって、文章データに関する時間情報と商品の注文時間との関係に基づき、クラスタリング手段によりクラスタリングされた文書データ群に対して、文書データ群を類別する文書類別手段の一例として機能する。
【0053】
(3.3 投稿文章のクラスタリングのサブルーチン)
次に、投稿文章のクラスタリングのサブルーチンについて説明する。
【0054】
図10は、投稿文章分析サーバ10における投稿文章クラスタリングのサブルーチンの一例を示すフローチャートである。
【0055】
ここで、本実施形態では、クラスタリング手法として、任意形状のクラスタを抽出する手法の一例のDBSCAN(Density-Based Spatial Clustering of Applications with Noise)を使用した。
【0056】
まず、図10に示すように、投稿文章分析サーバ10は、DBSCANにおける閾値を設定する(ステップS10)。具体的には、投稿文章分析サーバ10のシステム制御部14は、文書間距離の閾値(Eps)と、クラスタリングにより分類される対象(文書データ)の対象数の閾値(MinPts)の2つのパラメータを設定する。
【0057】
次に、投稿文章分析サーバ10は、対象数の初期値を設定する。(ステップS11)。具体的には、投稿文章分析サーバ10のシステム制御部14は、対象数の初期値として”1”を設定する。
【0058】
次に、投稿文章分析サーバ10は、対象を設定する(ステップS12)。具体的には、投稿文章分析サーバ10のシステム制御部14は、対象数が”1”の場合、初期の対象としてのシードを決めたり、次の対象を決めたりする。初回の場合は、投稿文章分析サーバ10のシステム制御部14は、対象として文書r1を設定する。
【0059】
次に、投稿文章分析サーバ10は、次の対象、すなわち、分類する対象がまだ存在するか否かを判定する(ステップS13)。具体的には、投稿文章分析サーバ10のシステム制御部14は、隣接する次の文章が存在するか否かを判定する。設定された対象が文章r1の場合、隣接する文書r2が存在する。
【0060】
対象が存在する場合は(ステップS13;YES)、順序において隣接する文書の文書間距離の算出を行う(ステップS14)。具体的には、投稿文章分析サーバ10のシステム制御部14は、文書r1の文書データの文字列と、文書r2の文書データの文字列とのJaro−Winkler距離を計算する。ここで、文字列には、句読点や空白等も含まれる。また、Jaro−Winkler距離は、距離として0〜1で表現でき、図5Aに示すような文書の場合、文書r1と文書r2とは同じ文章なので、Jaro−Winkler距離は零となる。似ていない文章であればあるほど、Jaro−Winkler距離は1に近づく。このように投稿文章分析サーバ10のシステム制御部14は、文書データの句読点を含めた文字列を比較して、文書間距離を算出する文書間距離算出手段の一例として機能する。なお、文書間距離は、Jaro−Winkler距離に限らず、レーベンシュタイン距離により算出してよい。
【0061】
次に、投稿文章分析サーバ10は、文書間距離が閾値以下であるか否かを判定する(ステップS15)。具体的には、投稿文章分析サーバ10のシステム制御部14は、文書間距離が閾値Eps以下であるか否かを判定し、文書間距離が閾値以下のように文書間距離が短い場合、対象をクラスタに含める候補とする。文書間距離がJaro−Winkler距離の場合、文書間距離の閾値Epsは、0〜1の値である。
【0062】
文書間距離が閾値以下である場合(ステップS15;YES)、投稿文章分析サーバ10は、対象数が閾値以下であるか否かを判定する(ステップS16)。具体的には、投稿文章分析サーバ10のシステム制御部14は、対象数の閾値(MinPts)以下であるか否かを判定し、対象数が閾値以下のようにクラスタの最大要素数以下の場合、対象をクラスタに含める。ここで、対象数の閾値はクラスタの最大の大きさを規定している。
【0063】
対象数が閾値以下である場合(ステップS16;YES)、投稿文章分析サーバ10は、対象をクラスタに含める(ステップS17)。具体的には、投稿文章分析サーバ10のシステム制御部14は、次の対象が文書r2の場合、文書r2を、文書r1をシードとするクラスタに含める。
【0064】
ここで、ステップS14からステップS17は、対象である文書データの接続関係DDR(Directly Density Reachable)を、文書間距離の閾値Epsおよび対象数の閾値(MinPts)に基づき判定している。対象同士が文書データの接続関係にある場合、同じクラスタに属することになる。
【0065】
次に、投稿文章分析サーバ10は、対象数のカウントを増やし(ステップS18)、ステップS12に戻る。具体的には、投稿文章分析サーバ10のシステム制御部14は、対象数のカウントを1つ増やし、次の対象(例えば、文書r2)に移る。
【0066】
次に、文書間距離が閾値以下で無い場合や(ステップS15;NO)、対象数が閾値以下で無い場合は(ステップS16;YES)、ステップS11に戻り、投稿文章分析サーバ10のシステム制御部14は、対象数の初期値として”1”を設定する。ここで、文章データに関する時間情報に基づき、文章データが順序付けされていて探索領域が1次元なので、新たなクラスタの探索が開始される。
【0067】
以上の処理を繰り返し、文章rnに達し、次の対象が存在しない場合は(ステップS13;NO)、1次のクラスタリングが終了する。そして、例えば、図7に示すようにクラスタリング結果が得られる。
【0068】
これらのように、投稿文章分析サーバ10のシステム制御部14は、クラスタリングのシーズとなる文書データから出発し、文書間距離に基づき接続関係にある他の文書データを探索してクラスタリングを行うクラスタリング手段の一例として機能する。
【0069】
次の対象が存在しない場合は(ステップS13;NO)、投稿文章分析サーバ10は、上位のクラスタの形成(ステップS19)。具体的には、投稿文章分析サーバ10のシステム制御部14は、図11に示すように、例えば、クラスタに含まれなかった文書r4、r5等を除き、1次のクラスタ間で隣接する文書同士(例えば文書r3−文書r6)の接続関係を判定する。接続関係にあれば、投稿文章分析サーバ10のシステム制御部14は、クラスタ同士を融合させ、上位のクラスタとする。ここで上位のクラスタリングにおいては、接続関係を判定するためのパラメータを1次のクラスタリングのパラメータと異なってもよい。また、上位のクラスタを求める際、クラスタ間の距離として、セントロイド等でもよい。
【0070】
投稿文章分析サーバ10のシステム制御部14は、クラスタリング手段により生成したクラスタにおいて、クラスタ間の距離を算出して、上位クラスタを算出する前記上位クラスタリング手段の一例として機能する。
【0071】
このように本実施形態によれば、ユーザ端末30からユーザが投稿してくる文章データを受信して文書データを記憶し、文章データに関する時間情報に基づき、文章データを順序付けし、この順序で隣接する文章データの文書間の文書間距離を算出し、この文書間距離に基づき、文書データをクラスタリングすることにより、ユーザから投稿される文章を高速に分析できる。また、クラスタの形成の有る無しや、クラスタの構成により、ユーザの文章の癖や性質や、文章の投稿における行動パターンを分類できる。
【0072】
また、投稿文章分析サーバ10のシステム制御部14が、文章データの受信順序に基づき、文章データを順序付けする場合、ユーザの書き方の癖等の判別ができる。例えば、商品レビュー等の文章を一気に書いて投稿している場合、コピー&ペーストの機能を使う可能性や、前に書いた文章の影響があるため、似ている文書データは時系列上に連続して現れやすく、このような文章やユーザの行動パターンを判別に利用できる。
【0073】
また、投稿文章分析サーバ10のシステム制御部14が、文書データを比較して、文書同士の類似性に基づき、文書間距離を算出する場合、文章の内容やスタイルが似た文章同士がクラスタを形成し、ユーザの書き方の癖等の判別がしやすくなる。
【0074】
また、投稿文章分析サーバ10のシステム制御部14が、文書データの句読点を含めた文字列を比較して、文書間距離を算出する場合、特に文章のスタイルが似た文章同士がクラスタを形成させることができる。
【0075】
また、投稿文章分析サーバ10のシステム制御部14が、クラスタリングのシーズとなる文書データから出発し、文書間距離に基づき接続関係にある他の文書データを探索してクラスタリングを行う場合、クラスタ対象のシーズから出発して、接続関係にある対象を拾っているので、任意の形状のクラスタを抽出できる。また、接続関係でクラスタを判定しているため、文書データが順序付けられ、1次元に並んでいるので、高速にクラスタリングができる。
【0076】
また、投稿文章分析サーバ10のシステム制御部14が、生成したクラスタにおいて、クラスタ間の距離を算出して、上位クラスタを算出する場合、上位のクラスタを求めることにより、精度のよいクラスタが形成でき、分析の精度の向上を図ることができる。
【0077】
また、投稿文章分析サーバ10のシステム制御部14が、文章データが、商品レビューに関する文章であって、文章データに関する時間情報と商品の注文時間との関係に基づき、クラスタリング手段によりクラスタリングされた文書データ群に対して、文書データ群を類別する場合、文書データ群をクラスタにより判別した上に、ユーザの注文行動と文章の投稿行動との行動パターンにより、より分析の精度を高めたり、ユーザのタイプの細かい分類ができたり、ユーザの書き方の癖等の判別がしやすくなったりする。
【0078】
[4.本実施形態の適用例]
次に、本実施形態の適用例について説明する。
【0079】
図12Aから図12Fは、ステップS5において、クラスタが形成された文章群に対して、商品レビューに対して投稿時間―注文時間のグラフを求めた結果の一例を示す線図である。
【0080】
図12Aおよび図12Bは、図9(A)に示すような定期投稿型に分類される。図12Cおよび図12Dは、図9(B)に示すようなサボり投稿型に分類される。図12Cの場合は、ユーザが商品レビューをまとめて投稿している。図12Dの場合は、ユーザは、ある特定の日に商品レビューをまとめて投稿してくる傾向がある。
【0081】
図12Eおよび図12Fは、図9(C)に示すような集中型に分類される。図12Eの場合は、いわゆる大人買いをして、一気に商品レビューを投稿してきた場合である。
【0082】
図12Fの場合は、図5Aや図5Bに示したような文書を投稿してくるユーザに対応する。図5Aの文章のように、一部改変するタイプや、図5Bの文章のように、一部、文を加えてくるタイプであり、文章の内容を手抜きして商品レビューを投稿してくるユーザに見られるタイプである。
【0083】
このように本適用例は、クラスタを形成した文書群に対して、さらにタイプ別に分類できたことを示している。
【0084】
なお、本実施形態では、各ユーザに分けて、分析方法を適用したが、複数のユーザの文章に適用することも可能である。また、一人のユーザが複数のユーザIDを有する場合にもあり、ユーザIDによらず、ユーザを判定する際にも有効である。また、投稿順は、文章を作成された日時が特定されるならば、文章の作成順でもよい。
【0085】
また、本実施形態では、主に商品レビューの文章に対する適用を示してきたが、ブログの分析も高速に行うことができる。また、注文時間の代わりに、ブログの書き込み間隔や、他人の書き込みに対するレスポンス時間等も用いてもよい。
【0086】
さらに、本発明は、上記各実施形態に限定されるものでは無い。上記各実施形態は、例示であり、本発明の特許請求の範囲に記載された技術的思想と実質的に同一な構成を有し、同様な作用効果を奏するものは、いかなるものであっても本発明の技術的範囲に包含される。
【符号の説明】
【0087】
1:投稿文章分析システム
10:投稿文章分析サーバ
11:通信部
12:記憶部
12a:商品レビュー・データベース
12b:ブログ・データベース
14:システム制御部
30:ユーザ端末
【技術分野】
【0001】
本発明は、端末からユーザが投稿してくる文書の分析を行う投稿文章分析装置、投稿文章分析方法、および、投稿文章分析装置用プログラムに関する。
【背景技術】
【0002】
最近、ユーザは、ブログ(weblog)や商品レビューに掲載されている、いわゆる口コミ情報に基づき、インターネット上で、商品の購入を決定することが多くなってきた。そのため、新規顧客の獲得やリピータの確保の両面を強化し、集客率を向上する目的で、ブログ等が利用されており、対応する種々の技術が開発されている。例えば、特許文献1には、商品を購入した顧客が自己の個人ブログに当該商品のレビューを掲載し、これをオンライン商取引サイトが運営する商用ブログにおける同商品に関するエントリーにトラックバックさせる行為に対して報酬を付与するオンライン商取引システムが開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2007−156571号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、ブログや商品レビューと、報酬等の利益とが関連付けられると、文章の手抜きや不適切な書き込みが行われる可能性があり、ブログや商品レビュー等の文章を判定するための分析を行う必要がある。また、多数のユーザから投稿されるブログや商品レビューに関する大量の文章を高速に処理する必要がある。しかしながら、上記従来技術では、十分に対処できなかった。
【0005】
本発明は、このような問題に鑑みてなされたものであり、その課題の一例は、ユーザから投稿される文章を高速に分析できる投稿文章分析装置、投稿文章分析方法、および、投稿文章分析プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決するために、請求項1に記載の発明は、ユーザ端末からユーザが投稿してくる文章データを受信する文章データ受信手段と、文書データを記憶する文書データ記憶手段と、前記文章データに関する時間情報に基づき、前記文章データを順序付けする文書順序付け手段と、前記順序で隣接する前記文章データの文書間の文書間距離を算出する文書間距離算出手段と、前記文書間距離に基づき、前記文書データをクラスタリングするクラスタリング手段と、を備えたことを特徴とする。
【0007】
請求項2に記載の発明は、請求項1に記載の投稿文章分析装置において、前記文書順序付け手段が、文章データの受信順序に基づき、前記文章データを順序付けすることを特徴とする。
【0008】
請求項3に記載の発明は、請求項1または請求項2に記載の投稿文章分析装置において、前記文書間距離算出手段が、前記文書データを比較して、文書同士の類似性に基づき、文書間距離を算出することを特徴とする。
【0009】
請求項4に記載の発明は、請求項1から請求項3のいずれか1項に記載の投稿文章分析装置において、前記文書間距離算出手段が、前記文書データの句読点を含めた文字列を比較して、文書間距離を算出することを特徴とする。
【0010】
請求項5に記載の発明は、請求項1から請求項4のいずれか1項に記載の投稿文章分析装置において、前記クラスタリング手段が、クラスタリングのシーズとなる前記文書データから出発し、前記文書間距離に基づき接続関係にある他の前記文書データを探索してクラスタリングを行うことを特徴とする。
【0011】
請求項6に記載の発明は、請求項1から請求項5のいずれか1項に記載の投稿文章分析装置において、前記クラスタリング手段により生成したクラスタにおいて、クラスタ間の距離を算出して、上位クラスタを算出する前記上位クラスタリング手段を更に備えたことを特徴とする。
【0012】
請求項7に記載の発明は、請求項1から請求項5のいずれか1項に記載の投稿文章分析装置において、前記文章データが、商品レビューに関する文章であって、前記文章データに関する時間情報と商品の注文時間との関係に基づき、前記クラスタリング手段によりクラスタリングされた文書データ群に対して、前記文書データ群を類別する文書類別手段を更に備えたことを特徴とする。
【0013】
請求項8に記載の発明は、ユーザ端末からユーザが投稿してくる文章データを受信する文章データ受信ステップと、文書データを記憶する文書データ記憶ステップと、前記文章データに関する時間情報に基づき、前記文章データを順序付けする文書順序付けステップと、前記順序で隣接する前記文章データの文書間の文書間距離を算出する文書間距離算出ステップと、前記文書間距離に基づき、前記文書データをクラスタリングするクラスタリングステップと、を有することを特徴とする。
【0014】
請求項9に記載の発明は、コンピュータを、ユーザ端末からユーザが投稿してくる文章データを受信する文章データ受信手段、文書データを記憶する文書データ記憶手段、前記文章データに関する時間情報に基づき、前記文章データを順序付けする文書順序付け手段、前記順序で隣接する前記文章データの文書間の文書間距離を算出する文書間距離算出手段、および、前記文書間距離に基づき、前記文書データをクラスタリングするクラスタリング手段として機能させることを特徴とする。
【発明の効果】
【0015】
本発明によれば、ユーザ端末からユーザが投稿してくる文章データを受信して文書データを記憶し、文章データに関する時間情報に基づき、文章データを順序付けし、この順序で隣接する文章データの文書間の文書間距離を算出し、この文書間距離に基づき、文書データをクラスタリングすることにより、ユーザから投稿される文章を高速に分析できる。
【図面の簡単な説明】
【0016】
【図1】本発明の実施形態に係る投稿文章分析システムの概要構成例を示す模式図である。
【図2】図1の投稿文章分析サーバの概要構成の一例を示すブロック図である。
【図3】図1のショッピングサーバの概要構成の一例を示すブロック図である。
【図4】図1の投稿文章分析サーバにおいて投稿文章を分析する動作例を示すフローチャートである。
【図5A】図1の投稿文章分析サーバが受信した投稿文書の一例を示す説明図である。
【図5B】図1の投稿文章分析サーバが受信した投稿文書の一例を示す説明図である。
【図6】図1の投稿文章分析サーバにおいて順序付けされた投稿文章の一例を示す模式図である。
【図7】図1の投稿文章分析サーバにおけるクラスタリングの結果の一例を示す説明図である。
【図8】投稿時間―注文時間の関係の一例を模式的に示す線図である。
【図9】投稿時間―注文時間の関係におけるグラフのパターンの一例を模式的に示す線図である。
【図10】図1の投稿文章分析サーバにおける投稿文章クラスタリングのサブルーチンの一例を示すフローチャートである。
【図11】図1の投稿文章分析サーバにおける上位クラスタリングの結果の一例を示す説明図である。
【図12A】商品レビューに対して投稿時間―注文時間のグラフを求めた結果の一例を示す線図である。
【図12B】商品レビューに対して投稿時間―注文時間のグラフを求めた結果の一例を示す線図である。
【図12C】商品レビューに対して投稿時間―注文時間のグラフを求めた結果の一例を示す線図である。
【図12D】商品レビューに対して投稿時間―注文時間のグラフを求めた結果の一例を示す線図である。
【図12E】商品レビューに対して投稿時間―注文時間のグラフを求めた結果の一例を示す線図である。
【図12F】商品レビューに対して投稿時間―注文時間のグラフを求めた結果の一例を示す線図である。
【発明を実施するための形態】
【0017】
以下、図面を参照して本発明の実施形態について説明する。なお、以下に説明する実施の形態は、投稿文章分析システムに対して本発明を適用した場合の実施形態である。
【0018】
[1.投稿文章分析システムの構成および機能概要]
【0019】
まず、本発明の一実施形態に係る投稿文章分析システムの構成および概要機能について、図1を用いて説明する。
【0020】
図1は、本発明の実施形態に係る投稿文章分析システムの概要構成例を示す模式図である。
【0021】
図1に示すように、投稿文章分析システム1は、ユーザが投稿した商品レビューやブログを分析する投稿文章分析サーバ10と、商品等の購入の処理を行うショッピングサーバ20と、ユーザ端末30、31と、を備えている。
【0022】
投稿文章分析サーバ10と、ショッピングサーバ20とは、ローカルエリアネットワーク等により接続され、相互にデータの送受信が可能になっていて、サーバシステム5を構成している。そして、サーバシステム5、ユーザ端末30は、ネットワーク3により接続され、例えば、通信プロトコルにTCP/IP等を用いて相互にデータの送受信が可能になっている。なお、ネットワーク3は、例えば、インターネット、専用通信回線(例えば、CATV(Community Antenna Television)回線)、移動体通信網(基地局等を含む)、およびゲートウェイ等により構築されている。
【0023】
ユーザが使用するユーザ端末30は、パーソナルコンピュータや携帯型無線電話機やPDA(Personal Digital Assistant)等の携帯端末である。ユーザはユーザ端末30を使用して、商品の購入を行ったり、商品レビューやブログを投稿等したりする。
【0024】
[2.投稿文章分析サーバ10およびショッピングサーバ20の構成および機能]
(2.1 投稿文章分析サーバ10の構成および機能)
次に、投稿文章分析サーバ10の構成および機能について、図に基づき説明する。
図2は、投稿文章分析サーバ10の概要構成の一例を示すブロック図である。
【0025】
図2に示すように、投稿文章分析装置の一例でコンピュータとして機能する投稿文章分析サーバ10は、通信部11と、記憶部12と、入出力インターフェース部13と、システム制御部14と、を備えている。そして、システム制御部14と入出力インターフェース部13とは、システムバス15を介して接続されている。
【0026】
通信部11は、ネットワーク3に接続して、ユーザ端末30との通信状態を制御したり、ローカルエリアネットワーク等を通して、およびショッピングサーバ20と通信状態を制御したりするようになっている。
【0027】
記憶部12は、例えば、ハードディスクドライブ等により構成されており、オペレーティングシステムおよびサーバプログラム等の各種プログラムやHTML等のマークアップ言語等により記述されたウェブページのファイル等を記憶する。なお、各種プログラムは、例えば、他のサーバ装置等からネットワーク3を介して取得されるようにしてもよいし、記録媒体に記録されてドライブ装置を介して読み込まれるようにしてもよい。
【0028】
また、記憶部12には、文書データを記憶する文書データ記憶手段の一例として、商品レビュー・データベース(DB)12aや、ブログ・データベース(DB)12b等が構築されている。
【0029】
商品レビュー・データベース12aには、ユーザが投稿してきた商品レビューの文書データ等が格納されている。また、ブログ・データベース12bには、ユーザが投稿してきたブログの文書データ等が格納されている。これらのデータベースの文章は、ユーザIDや文章を受信した時間等に関連付けられて記憶されている。
【0030】
次に、入出力インターフェース部13は、通信部11および記憶部12とシステム制御部14との間のインターフェース処理を行うようになっている。
【0031】
システム制御部14は、CPU(Central Processing Unit)14a、ROM(Read Only Memory)14b、RAM(Random Access Memory)14c等により構成されている。そして、システム制御部14は、CPU14aが、ROM14bや記憶部12に記憶された各種プログラムを読み出し実行することにより、文章データに関する時間情報に基づき文章データを順序付けする文書順序付け手段や、順序で隣接する文章データの文書間の文書間距離を算出する文書間距離算出手段や文書間距離に基づき文書データをクラスタリングするクラスタリング手段として機能する。
【0032】
(2.2 ショッピングサーバ20の構成および機能)
次に、ショッピングサーバ20の構成および機能について、図に基づき説明する。
図4は、ショッピングサーバ20の概要構成の一例を示すブロック図である。
【0033】
図4に示すように、ショッピングサーバ20は、通信部21と、記憶部22と、入出力インターフェース部23と、システム制御部24と、を備え、システム制御部24と入出力インターフェース部23とは、システムバス25を介して接続されている。なお、ショッピングサーバ20の構成および機能は、投稿文章分析サーバ10の構成および機能とほぼ同じであるので、投稿文章分析サーバ10の各構成や各機能において、異なるところを中心に説明する。
【0034】
通信部21は、ネットワーク3やローカルエリアネットワーク等を通して、ユーザ端末30や投稿文章分析サーバ10等と通信状態を制御等するようになっている。
【0035】
記憶部22には、商品データベース(DB)22aや、会員データベース(DB)22b等が構築されている。
【0036】
商品データベース22aには、商品コードに関連付けられた商品関して、商品名、種類、商品の画像、スペック、および、商品紹介の要約文等の商品情報や、広告情報等が格納されている。
【0037】
会員データベース22bには、会員登録されたユーザ(インターネットショップの利用者)のユーザID、名称、住所、電話番号、メールアドレス、届先名称、届先住所、および、届先電話番号等の属性情報(以下、「ユーザ情報」という)が登録されている。このようなユーザ情報は、ユーザIDによってユーザ毎に判別可能になっている。ここで、ユーザIDは、ユーザを識別するための識別子である。また、届先は、インターネットショップ等で購入した商品の配達先を意味する。また、会員データベースには、ユーザがユーザ端末30からインターネットショップのサイトにログインする際に必要な、ユーザID、ログインID、および、パスワードが登録されている。ここで、ログインIDおよびパスワードは、ログイン処理(ユーザの認証処理)に使用されるログイン情報である。
【0038】
システム制御部24は、CPU24a、ROM24b、RAM24c等により構成されている。そして、システム制御部24は、CPU24aが、ROM24bや記憶部22に記憶された各種プログラムを読み出し実行することにより、購入処理や、商品の購買履歴をユーザID毎に記録させたりする。
【0039】
[3.投稿文章分析システムの動作]
次に、本発明の一実施形態に係る投稿文章分析システム1の動作について図に基づき説明する。
(3.1 投稿文章を分析する動作例)
まず、投稿文章分析サーバ10における投稿文章分析の処理の流れについて、図に基づき説明する。
【0040】
図4は、投稿文章分析サーバ10において投稿文章を分析する動作例を示すフローチャートである。図5Aは、投稿文章分析サーバ10が受信した投稿文書の一例を示す説明図である。図5Bは、投稿文章分析サーバ10が受信した投稿文書の一例を示す説明図である。図6は、投稿文章分析サーバ10において順序付けされた投稿文章の一例を示す模式図である。図7は、投稿文章分析サーバ10におけるクラスタリングの結果の一例を示す説明図である。
【0041】
まず、ユーザは、ユーザ端末30を使用して、ショッピングサーバ20にアクセスして、商品データベース22aにある商品を選択し、商品の注文を行う。ショッピングサーバ20のシステム制御部24は、商品の購買履歴として、商品IDや注文番号や注文時間等をユーザ毎に会員データベース22bに記録する。商品が届いた後、ユーザは商品に関する感想やコメントを投稿するため、投稿文章分析サーバ10にアクセスして、商品レビューのためのウェブページをユーザ端末30に表示させ、商品に関するコメント等の文章を記載し投稿を行う。
【0042】
次に、図4に示すように、投稿文章分析サーバ10は、投稿された文章の文書データをユーザ端末30から受信する(ステップS1)。具体的には、投稿文章分析サーバ10のシステム制御部14は、通信部11を通して、ユーザが投稿した文章の投稿文書データを受信する。このように、投稿文章分析サーバ10のシステム制御部14および通信部11は、ユーザ端末からユーザが投稿してくる文章データを受信する文章データ受信手段の一例として機能する。
【0043】
次に、投稿文章分析サーバ10は、受信した文書データを保存する(ステップS2)。具体的には、システム制御部14が、図5Aおよび図5Bに示すように、ユーザ毎に、商品IDや商品の注文番号等の商品情報や、文章データに関する時間情報の一例としての投稿された時間、すなわち、受信した時間と共に、文書データを商品レビュー・データベース12aに保存する。このように、投稿文章分析サーバ10の商品レビュー・データベース12aは、文書データを記憶する文書データ記憶手段の一例として機能する。
【0044】
次に、投稿文章分析サーバ10は、受信した文章群に対して、文書の受信順に順序付けを行う(ステップS3)。具体的には、システム制御部14が、図6に示すように、商品レビューの文章r1、r2、r3、・・・、rnを、文章が投稿された順に、すなわち文章データの受信順に、順序付けを行う。このように、投稿文章分析サーバ10のシステム制御部14は、文章データに関する時間情報に基づき、文章データを順序付けする文書順序付け手段の一例として機能する。また、投稿文章分析サーバ10のシステム制御部14は、文書データの受信順序に基づき、前記文章データを順序付けする文書順序付け手段の一例として機能する。なお、商品情報の商品IDに基づき、同じ商品を集めて、順序付けを行ってもよい。同じ商品であると、商品レビューが比較的同じ文章になりやすく、クラスタが形成しやすく分析しやすくなる可能性がある。
【0045】
次に、投稿文章分析サーバ10は、隣接する文書間距離に基づき、文書データのクラスタリングを行う(ステップS4)。具体的には、システム制御部14は、受信順に並べられた文書において、文書r1と文書r2、文書r2と文書r3等のように隣接した文書間の距離を利用して文書データのクラスタリングの処理を行う。ここで、文書間距離は、文書間の類似性に関連した指標であり、文書同士が似ていると、文書間距離が短くなり、文書同士が異なるほど文書間距離が長くなる指標である(詳しくは後述)。また、文章r1、r2、r3、・・・、rnのクラスタリングを行う際、文章r1、r2、r3、・・・、rnの各文章間の距離を利用する必要はなく、図7に示すように、隣接する文章間の距離のみでクラスタリングを行う。このように、投稿文章分析サーバ10のシステム制御部14は、順序で隣接する前記文章データの文書間の文書間距離を算出する文書間距離算出手段の一例として機能する。また、投稿文章分析サーバ10のシステム制御部14は、文書間距離に基づき、文書データをクラスタリングするクラスタリング手段の一例として機能する。また、投稿文章分析サーバ10のシステム制御部14は、文書データを比較して、文書同士の類似性に基づき、文書間距離を算出する文書間距離算出手段の一例として機能する。
【0046】
次に、投稿文章分析サーバ10は、クラスタが形成されたか否かを判定する(ステップS5)。具体的には、投稿文章分析サーバ10のシステム制御部14は、図7に示すように、”○”の部分があるか否かを判定する。ここで、図7中、”○”は、隣接する文章が接続関係にあること、”×”は、隣接する文章が接続関係にないことを示していて、接続関係にある文章同士は、同じクラスタに属する(接続関係については後述)。そして、いずれかに”○”があれば、クラスタが形成されたとする。また、図7に示すように、文書r1、r2、r3および文書r6、r7は、それぞれ、”クラスタ1”、”クラスタ2”のクラスタを形成している。
【0047】
次に、クラスタが形成されたと判定され無い場合(ステップS5;NO)、投稿文章分析サーバ10のシステム制御部14は処理を終了する。
【0048】
(3.2 投稿時間―注文時間の関係)
次に、クラスタリングが形成されたユーザの一連の文書に対して、更に、ユーザの動向を判別するために、投稿時間―注文時間の関係を利用する。
【0049】
図8は、投稿時間―注文時間の関係の一例を模式的に示す線図である。図9は、投稿時間―注文時間の関係におけるグラフのパターンの一例を模式的に示す線図である。
【0050】
図4に示すように、クラスタが形成されたと判定された場合(ステップS5;YES)、投稿文章分析サーバ10は、商品の注文時間と、商品レビュー投稿時間との関係グラフを生成する(ステップS6)。具体的には、投稿文章分析サーバ10のシステム制御部14は、商品レビュー・データベース12aより、ユーザIDのユーザに関して、文章データの受信時間(投稿日時)を取得する。また、システム制御部14は、ショッピングサーバ20と通信を行い、ユーザIDに基づき、会員データベース22bより、ユーザIDのユーザの商品の購買履歴を取得する。そして、図8に示すようにシステム制御部14は、商品の注文番号等に基づき、購買履歴の注文日時(注文時間)t1と投稿日時t2とから、商品の注文時間と、商品レビュー投稿時間との関係グラフを生成する。
【0051】
次に、投稿文章分析サーバ10は、投稿時間−注文時間グラフのパターンを判別する(ステップS7)。具体的には、図9に示すように、投稿時間−注文時間グラフのパターンを予め類別しておき、どのパターンに属するか、投稿文章分析サーバ10のシステム制御部14が判別する。例えば、図9(A)に示すように、商品を定期的に購入してその都度商品レビューを書いたり、定期的な商品購入で無くても商品を購入して商品が届いたら直ぐに商品レビューを投稿したりする定期投稿型の場合や、図9(B)に示すように、定期的に購入したり、多くの商品を購入したりしていて、商品レビューのみ一気に投稿するサボり投稿型や、図9(C)に示すように、いわゆる大人買いのように一気に商品を注文して一気に商品レビューを書く集中型等がある。
【0052】
このように、投稿文章分析サーバ10のシステム制御部14は、文章データが、商品レビューに関する文章であって、文章データに関する時間情報と商品の注文時間との関係に基づき、クラスタリング手段によりクラスタリングされた文書データ群に対して、文書データ群を類別する文書類別手段の一例として機能する。
【0053】
(3.3 投稿文章のクラスタリングのサブルーチン)
次に、投稿文章のクラスタリングのサブルーチンについて説明する。
【0054】
図10は、投稿文章分析サーバ10における投稿文章クラスタリングのサブルーチンの一例を示すフローチャートである。
【0055】
ここで、本実施形態では、クラスタリング手法として、任意形状のクラスタを抽出する手法の一例のDBSCAN(Density-Based Spatial Clustering of Applications with Noise)を使用した。
【0056】
まず、図10に示すように、投稿文章分析サーバ10は、DBSCANにおける閾値を設定する(ステップS10)。具体的には、投稿文章分析サーバ10のシステム制御部14は、文書間距離の閾値(Eps)と、クラスタリングにより分類される対象(文書データ)の対象数の閾値(MinPts)の2つのパラメータを設定する。
【0057】
次に、投稿文章分析サーバ10は、対象数の初期値を設定する。(ステップS11)。具体的には、投稿文章分析サーバ10のシステム制御部14は、対象数の初期値として”1”を設定する。
【0058】
次に、投稿文章分析サーバ10は、対象を設定する(ステップS12)。具体的には、投稿文章分析サーバ10のシステム制御部14は、対象数が”1”の場合、初期の対象としてのシードを決めたり、次の対象を決めたりする。初回の場合は、投稿文章分析サーバ10のシステム制御部14は、対象として文書r1を設定する。
【0059】
次に、投稿文章分析サーバ10は、次の対象、すなわち、分類する対象がまだ存在するか否かを判定する(ステップS13)。具体的には、投稿文章分析サーバ10のシステム制御部14は、隣接する次の文章が存在するか否かを判定する。設定された対象が文章r1の場合、隣接する文書r2が存在する。
【0060】
対象が存在する場合は(ステップS13;YES)、順序において隣接する文書の文書間距離の算出を行う(ステップS14)。具体的には、投稿文章分析サーバ10のシステム制御部14は、文書r1の文書データの文字列と、文書r2の文書データの文字列とのJaro−Winkler距離を計算する。ここで、文字列には、句読点や空白等も含まれる。また、Jaro−Winkler距離は、距離として0〜1で表現でき、図5Aに示すような文書の場合、文書r1と文書r2とは同じ文章なので、Jaro−Winkler距離は零となる。似ていない文章であればあるほど、Jaro−Winkler距離は1に近づく。このように投稿文章分析サーバ10のシステム制御部14は、文書データの句読点を含めた文字列を比較して、文書間距離を算出する文書間距離算出手段の一例として機能する。なお、文書間距離は、Jaro−Winkler距離に限らず、レーベンシュタイン距離により算出してよい。
【0061】
次に、投稿文章分析サーバ10は、文書間距離が閾値以下であるか否かを判定する(ステップS15)。具体的には、投稿文章分析サーバ10のシステム制御部14は、文書間距離が閾値Eps以下であるか否かを判定し、文書間距離が閾値以下のように文書間距離が短い場合、対象をクラスタに含める候補とする。文書間距離がJaro−Winkler距離の場合、文書間距離の閾値Epsは、0〜1の値である。
【0062】
文書間距離が閾値以下である場合(ステップS15;YES)、投稿文章分析サーバ10は、対象数が閾値以下であるか否かを判定する(ステップS16)。具体的には、投稿文章分析サーバ10のシステム制御部14は、対象数の閾値(MinPts)以下であるか否かを判定し、対象数が閾値以下のようにクラスタの最大要素数以下の場合、対象をクラスタに含める。ここで、対象数の閾値はクラスタの最大の大きさを規定している。
【0063】
対象数が閾値以下である場合(ステップS16;YES)、投稿文章分析サーバ10は、対象をクラスタに含める(ステップS17)。具体的には、投稿文章分析サーバ10のシステム制御部14は、次の対象が文書r2の場合、文書r2を、文書r1をシードとするクラスタに含める。
【0064】
ここで、ステップS14からステップS17は、対象である文書データの接続関係DDR(Directly Density Reachable)を、文書間距離の閾値Epsおよび対象数の閾値(MinPts)に基づき判定している。対象同士が文書データの接続関係にある場合、同じクラスタに属することになる。
【0065】
次に、投稿文章分析サーバ10は、対象数のカウントを増やし(ステップS18)、ステップS12に戻る。具体的には、投稿文章分析サーバ10のシステム制御部14は、対象数のカウントを1つ増やし、次の対象(例えば、文書r2)に移る。
【0066】
次に、文書間距離が閾値以下で無い場合や(ステップS15;NO)、対象数が閾値以下で無い場合は(ステップS16;YES)、ステップS11に戻り、投稿文章分析サーバ10のシステム制御部14は、対象数の初期値として”1”を設定する。ここで、文章データに関する時間情報に基づき、文章データが順序付けされていて探索領域が1次元なので、新たなクラスタの探索が開始される。
【0067】
以上の処理を繰り返し、文章rnに達し、次の対象が存在しない場合は(ステップS13;NO)、1次のクラスタリングが終了する。そして、例えば、図7に示すようにクラスタリング結果が得られる。
【0068】
これらのように、投稿文章分析サーバ10のシステム制御部14は、クラスタリングのシーズとなる文書データから出発し、文書間距離に基づき接続関係にある他の文書データを探索してクラスタリングを行うクラスタリング手段の一例として機能する。
【0069】
次の対象が存在しない場合は(ステップS13;NO)、投稿文章分析サーバ10は、上位のクラスタの形成(ステップS19)。具体的には、投稿文章分析サーバ10のシステム制御部14は、図11に示すように、例えば、クラスタに含まれなかった文書r4、r5等を除き、1次のクラスタ間で隣接する文書同士(例えば文書r3−文書r6)の接続関係を判定する。接続関係にあれば、投稿文章分析サーバ10のシステム制御部14は、クラスタ同士を融合させ、上位のクラスタとする。ここで上位のクラスタリングにおいては、接続関係を判定するためのパラメータを1次のクラスタリングのパラメータと異なってもよい。また、上位のクラスタを求める際、クラスタ間の距離として、セントロイド等でもよい。
【0070】
投稿文章分析サーバ10のシステム制御部14は、クラスタリング手段により生成したクラスタにおいて、クラスタ間の距離を算出して、上位クラスタを算出する前記上位クラスタリング手段の一例として機能する。
【0071】
このように本実施形態によれば、ユーザ端末30からユーザが投稿してくる文章データを受信して文書データを記憶し、文章データに関する時間情報に基づき、文章データを順序付けし、この順序で隣接する文章データの文書間の文書間距離を算出し、この文書間距離に基づき、文書データをクラスタリングすることにより、ユーザから投稿される文章を高速に分析できる。また、クラスタの形成の有る無しや、クラスタの構成により、ユーザの文章の癖や性質や、文章の投稿における行動パターンを分類できる。
【0072】
また、投稿文章分析サーバ10のシステム制御部14が、文章データの受信順序に基づき、文章データを順序付けする場合、ユーザの書き方の癖等の判別ができる。例えば、商品レビュー等の文章を一気に書いて投稿している場合、コピー&ペーストの機能を使う可能性や、前に書いた文章の影響があるため、似ている文書データは時系列上に連続して現れやすく、このような文章やユーザの行動パターンを判別に利用できる。
【0073】
また、投稿文章分析サーバ10のシステム制御部14が、文書データを比較して、文書同士の類似性に基づき、文書間距離を算出する場合、文章の内容やスタイルが似た文章同士がクラスタを形成し、ユーザの書き方の癖等の判別がしやすくなる。
【0074】
また、投稿文章分析サーバ10のシステム制御部14が、文書データの句読点を含めた文字列を比較して、文書間距離を算出する場合、特に文章のスタイルが似た文章同士がクラスタを形成させることができる。
【0075】
また、投稿文章分析サーバ10のシステム制御部14が、クラスタリングのシーズとなる文書データから出発し、文書間距離に基づき接続関係にある他の文書データを探索してクラスタリングを行う場合、クラスタ対象のシーズから出発して、接続関係にある対象を拾っているので、任意の形状のクラスタを抽出できる。また、接続関係でクラスタを判定しているため、文書データが順序付けられ、1次元に並んでいるので、高速にクラスタリングができる。
【0076】
また、投稿文章分析サーバ10のシステム制御部14が、生成したクラスタにおいて、クラスタ間の距離を算出して、上位クラスタを算出する場合、上位のクラスタを求めることにより、精度のよいクラスタが形成でき、分析の精度の向上を図ることができる。
【0077】
また、投稿文章分析サーバ10のシステム制御部14が、文章データが、商品レビューに関する文章であって、文章データに関する時間情報と商品の注文時間との関係に基づき、クラスタリング手段によりクラスタリングされた文書データ群に対して、文書データ群を類別する場合、文書データ群をクラスタにより判別した上に、ユーザの注文行動と文章の投稿行動との行動パターンにより、より分析の精度を高めたり、ユーザのタイプの細かい分類ができたり、ユーザの書き方の癖等の判別がしやすくなったりする。
【0078】
[4.本実施形態の適用例]
次に、本実施形態の適用例について説明する。
【0079】
図12Aから図12Fは、ステップS5において、クラスタが形成された文章群に対して、商品レビューに対して投稿時間―注文時間のグラフを求めた結果の一例を示す線図である。
【0080】
図12Aおよび図12Bは、図9(A)に示すような定期投稿型に分類される。図12Cおよび図12Dは、図9(B)に示すようなサボり投稿型に分類される。図12Cの場合は、ユーザが商品レビューをまとめて投稿している。図12Dの場合は、ユーザは、ある特定の日に商品レビューをまとめて投稿してくる傾向がある。
【0081】
図12Eおよび図12Fは、図9(C)に示すような集中型に分類される。図12Eの場合は、いわゆる大人買いをして、一気に商品レビューを投稿してきた場合である。
【0082】
図12Fの場合は、図5Aや図5Bに示したような文書を投稿してくるユーザに対応する。図5Aの文章のように、一部改変するタイプや、図5Bの文章のように、一部、文を加えてくるタイプであり、文章の内容を手抜きして商品レビューを投稿してくるユーザに見られるタイプである。
【0083】
このように本適用例は、クラスタを形成した文書群に対して、さらにタイプ別に分類できたことを示している。
【0084】
なお、本実施形態では、各ユーザに分けて、分析方法を適用したが、複数のユーザの文章に適用することも可能である。また、一人のユーザが複数のユーザIDを有する場合にもあり、ユーザIDによらず、ユーザを判定する際にも有効である。また、投稿順は、文章を作成された日時が特定されるならば、文章の作成順でもよい。
【0085】
また、本実施形態では、主に商品レビューの文章に対する適用を示してきたが、ブログの分析も高速に行うことができる。また、注文時間の代わりに、ブログの書き込み間隔や、他人の書き込みに対するレスポンス時間等も用いてもよい。
【0086】
さらに、本発明は、上記各実施形態に限定されるものでは無い。上記各実施形態は、例示であり、本発明の特許請求の範囲に記載された技術的思想と実質的に同一な構成を有し、同様な作用効果を奏するものは、いかなるものであっても本発明の技術的範囲に包含される。
【符号の説明】
【0087】
1:投稿文章分析システム
10:投稿文章分析サーバ
11:通信部
12:記憶部
12a:商品レビュー・データベース
12b:ブログ・データベース
14:システム制御部
30:ユーザ端末
【特許請求の範囲】
【請求項1】
ユーザ端末からユーザが投稿してくる文章データを受信する文章データ受信手段と、
文書データを記憶する文書データ記憶手段と、
前記文章データに関する時間情報に基づき、前記文章データを順序付けする文書順序付け手段と、
前記順序で隣接する前記文章データの文書間の文書間距離を算出する文書間距離算出手段と、
前記文書間距離に基づき、前記文書データをクラスタリングするクラスタリング手段と、
を備えたことを特徴とする投稿文章分析装置。
【請求項2】
請求項1に記載の投稿文章分析装置において、
前記文書順序付け手段が、文章データの受信順序に基づき、前記文章データを順序付けすることを特徴とする投稿文章分析装置。
【請求項3】
請求項1または請求項2に記載の投稿文章分析装置において、
前記文書間距離算出手段が、前記文書データを比較して、文書同士の類似性に基づき、文書間距離を算出することを特徴とする投稿文章分析装置。
【請求項4】
請求項1から請求項3のいずれか1項に記載の投稿文章分析装置において、
前記文書間距離算出手段が、前記文書データの句読点を含めた文字列を比較して、文書間距離を算出することを特徴とする投稿文章分析装置。
【請求項5】
請求項1から請求項4のいずれか1項に記載の投稿文章分析装置において、
前記クラスタリング手段が、クラスタリングのシーズとなる前記文書データから出発し、前記文書間距離に基づき接続関係にある他の前記文書データを探索してクラスタリングを行うことを特徴とする投稿文章分析装置。
【請求項6】
請求項1から請求項5のいずれか1項に記載の投稿文章分析装置において、
前記クラスタリング手段により生成したクラスタにおいて、クラスタ間の距離を算出して、上位クラスタを算出する前記上位クラスタリング手段を更に備えたことを特徴とする投稿文章分析装置。
【請求項7】
請求項1から請求項5のいずれか1項に記載の投稿文章分析装置において、
前記文章データが、商品レビューに関する文章であって、
前記文章データに関する時間情報と商品の注文時間との関係に基づき、前記クラスタリング手段によりクラスタリングされた文書データ群に対して、前記文書データ群を類別する文書類別手段を更に備えたことを特徴とする投稿文章分析装置。
【請求項8】
ユーザ端末からユーザが投稿してくる文章データを受信する文章データ受信ステップと、
文書データを記憶する文書データ記憶ステップと、
前記文章データに関する時間情報に基づき、前記文章データを順序付けする文書順序付けステップと、
前記順序で隣接する前記文章データの文書間の文書間距離を算出する文書間距離算出ステップと、
前記文書間距離に基づき、前記文書データをクラスタリングするクラスタリングステップと、
を有することを特徴とする投稿文章分析方法。
【請求項9】
コンピュータを、
ユーザ端末からユーザが投稿してくる文章データを受信する文章データ受信手段、
文書データを記憶する文書データ記憶手段、
前記文章データに関する時間情報に基づき、前記文章データを順序付けする文書順序付け手段、
前記順序で隣接する前記文章データの文書間の文書間距離を算出する文書間距離算出手段、および、
前記文書間距離に基づき、前記文書データをクラスタリングするクラスタリング手段として機能させることを特徴とする投稿文章分析装置用プログラム。
【請求項1】
ユーザ端末からユーザが投稿してくる文章データを受信する文章データ受信手段と、
文書データを記憶する文書データ記憶手段と、
前記文章データに関する時間情報に基づき、前記文章データを順序付けする文書順序付け手段と、
前記順序で隣接する前記文章データの文書間の文書間距離を算出する文書間距離算出手段と、
前記文書間距離に基づき、前記文書データをクラスタリングするクラスタリング手段と、
を備えたことを特徴とする投稿文章分析装置。
【請求項2】
請求項1に記載の投稿文章分析装置において、
前記文書順序付け手段が、文章データの受信順序に基づき、前記文章データを順序付けすることを特徴とする投稿文章分析装置。
【請求項3】
請求項1または請求項2に記載の投稿文章分析装置において、
前記文書間距離算出手段が、前記文書データを比較して、文書同士の類似性に基づき、文書間距離を算出することを特徴とする投稿文章分析装置。
【請求項4】
請求項1から請求項3のいずれか1項に記載の投稿文章分析装置において、
前記文書間距離算出手段が、前記文書データの句読点を含めた文字列を比較して、文書間距離を算出することを特徴とする投稿文章分析装置。
【請求項5】
請求項1から請求項4のいずれか1項に記載の投稿文章分析装置において、
前記クラスタリング手段が、クラスタリングのシーズとなる前記文書データから出発し、前記文書間距離に基づき接続関係にある他の前記文書データを探索してクラスタリングを行うことを特徴とする投稿文章分析装置。
【請求項6】
請求項1から請求項5のいずれか1項に記載の投稿文章分析装置において、
前記クラスタリング手段により生成したクラスタにおいて、クラスタ間の距離を算出して、上位クラスタを算出する前記上位クラスタリング手段を更に備えたことを特徴とする投稿文章分析装置。
【請求項7】
請求項1から請求項5のいずれか1項に記載の投稿文章分析装置において、
前記文章データが、商品レビューに関する文章であって、
前記文章データに関する時間情報と商品の注文時間との関係に基づき、前記クラスタリング手段によりクラスタリングされた文書データ群に対して、前記文書データ群を類別する文書類別手段を更に備えたことを特徴とする投稿文章分析装置。
【請求項8】
ユーザ端末からユーザが投稿してくる文章データを受信する文章データ受信ステップと、
文書データを記憶する文書データ記憶ステップと、
前記文章データに関する時間情報に基づき、前記文章データを順序付けする文書順序付けステップと、
前記順序で隣接する前記文章データの文書間の文書間距離を算出する文書間距離算出ステップと、
前記文書間距離に基づき、前記文書データをクラスタリングするクラスタリングステップと、
を有することを特徴とする投稿文章分析方法。
【請求項9】
コンピュータを、
ユーザ端末からユーザが投稿してくる文章データを受信する文章データ受信手段、
文書データを記憶する文書データ記憶手段、
前記文章データに関する時間情報に基づき、前記文章データを順序付けする文書順序付け手段、
前記順序で隣接する前記文章データの文書間の文書間距離を算出する文書間距離算出手段、および、
前記文書間距離に基づき、前記文書データをクラスタリングするクラスタリング手段として機能させることを特徴とする投稿文章分析装置用プログラム。
【図1】
【図2】
【図3】
【図4】
【図5A】
【図5B】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12A】
【図12B】
【図12C】
【図12D】
【図12E】
【図12F】
【図2】
【図3】
【図4】
【図5A】
【図5B】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12A】
【図12B】
【図12C】
【図12D】
【図12E】
【図12F】
【公開番号】特開2011−154586(P2011−154586A)
【公開日】平成23年8月11日(2011.8.11)
【国際特許分類】
【出願番号】特願2010−16226(P2010−16226)
【出願日】平成22年1月28日(2010.1.28)
【出願人】(399037405)楽天株式会社 (416)
【Fターム(参考)】
【公開日】平成23年8月11日(2011.8.11)
【国際特許分類】
【出願日】平成22年1月28日(2010.1.28)
【出願人】(399037405)楽天株式会社 (416)
【Fターム(参考)】
[ Back to top ]