以下、添付図面を参照しながら本発明の実施形態を詳細に説明する。なお、図面の説明において同一又は同等の要素には同一の符号を付し、重複する説明を省略する。
まず、図1〜6を用いて、実施形態に係る情報処理システム10の機能および構成を説明する。情報処理システム10は、ある対象物について第1の作成者が作成した第1の情報と、その対象物について第2の作成者が記述した第2の情報とを比較して補助情報を出力するコンピュータシステムである。
本明細書における「対象物」の種類は何ら限定されず、現実に存在する事物でもよいし、仮想の事物であってもよい。また、対象物は有体物でも無体物でもよい。本明細書における「作成者」とは、作成したテキストをコンピュータネットワーク上に公開するユーザである。第1の作成者と第2の作成者とは相異なる。コンピュータネットワークの種類は何ら限定されず、例えばインターネットでもよいしイントラネットでもよい。
本明細書における第1の情報および第2の情報はそれぞれ、テキストおよび画像の少なくとも一方を用いて表される。本明細書における「テキスト」とは文または文章である。本明細書における「画像」とは、人の視覚で捉えることができるように対象物を媒体に定着させた像である。画像は、メモリなどの記憶装置に記録され、プロセッサの処理によりモニタやプリンタなどの出力装置に出力されることで、視認可能となる。画像は静止画でもよいし動画でもよい。静止画の例としては写真や絵画、デザイン(星や円などの図形を示す画像も含む)などがあり、動画の例としてはビデオ映像やアニメーションなどがあるが、画像の種類はこれらに限定されない。画像はカメラやスキャナなどの電子機器により得られたものでもよいし、コンピュータ・グラフィックスにより作成されたものでもよい。本実施形態では、第1および第2の情報がテキスト(すなわち、第1のテキストおよび第2のテキスト)であるとの前提で、情報処理システム10について説明する。
第1および第2の作成者が具体的にどのような人であるかは何ら限定されず、様々な立場の人が第1または第2の作成者になり得る。これに伴って、テキストの内容およびテキストで表される対象物も何ら限定されない。例えば、第1の作成者がオンライン・ショッピング・サイト上での商品の提供者であり、第2の作成者がそのサイト上で商品を購入した一般ユーザであってもよい。この場合には、例えば、第1のテキストは商品の紹介文であり、第2のテキストはその商品についてのコメント(商品レビュー)であり、したがって、この場合の対象物は商品である。また、その一般ユーザはレビュー投稿者である。ここで、「商品」とは、有償または無償で取引され得る任意の有体物または無体物である。有体物は何ら限定されるものではなく、動産でも不動産でもよい。また、無体物も何ら限定されるものではなく、例えば任意のサービスの提供が考えられる。
第2のテキストの掲載場所も限定されない。例えば、投稿レビューは、ECサイトから提供されるレビュー機能により掲載されてもよいし、販売者とは関係のない運営者によるページ(すなわち、ECサイト以外のサイトのページ)の機能により掲載されてもよい。後者の例としては、商品の評判を共有する別のサイトから提供されるレビュー機能、販売者とは関係のない運営者による電子掲示板(BBS)またはマイクロブログの機能、個人のウェブサイト(いわゆるブログサイトなどを含む)の機能などが挙げられる。ただし、販売者とは関係のない運営者によるページの機能により掲載された第2のテキストを取得するためには、第1のテキストと第2のテキストとが任意の手法で予め関連付けられている必要がある。例えば、商品の紹介文が掲載されたページと、電子掲示板に掲載された投稿レビューとが予め関連付けられている必要がある。
なお、商品レビューは投稿レビューの一種である。本明細書における「投稿レビュー」とは、作成者により作成された、作成者以外のユーザを含むグループに公開されるテキストである。グループの態様は限定されず、誰でも参加可能なグループ(いわゆる、オープンなグループ)でもよいし、特定の者のみが参加可能なグループ(いわゆる、クローズドな(closed)グループ)でもよい。例えば、インターネット上のあるサイトにおいて誰でも文を投稿したり閲覧したりすることができるのであれば、それはオープンなグループである。別の例で、インターネット上のあるサイトにおいてログインなどの手続をしないと文の投稿や閲覧ができないのであれば、それはクローズドなグループである。投稿レビューの内容は限定されない。例えば、一つの投稿レビュー内に対象物に関する事柄とその対象物とは異なるものに関する事項とが混在してもよい。
本明細書における「補助情報」は第1の情報と第2の情報とのずれを補助するための情報である。「第1の情報と第2の情報とのずれ」とは、第1および第2の情報のどちらか一方には表されている(または十分に表されている)が、他方には表されていない(または十分に表されていない)情報である。「補助する」とは、そのずれを補足するための情報を提示することを意味する。したがって、補助情報は、対象物についての情報を補足する役割を持つともいえる。
図1に、本実施形態に係る情報処理システム10での処理の概念を簡潔に示す。この例では、第1の作成者が、宿泊予約サイト上での商品の提供者Uaであり、第1のテキストが商品の紹介文であり、第2の作成者がそのサイト上で商品を購入したユーザ(宿泊予約サイトを利用する一般人)Ubであり、第2のテキストが商品レビューであるとする。また、この例では商品がホテル(より具体的には、ホテルの利用権)であるとする。
提供者Uaが、「すべての部屋から見られる夕日は絶景です」との紹介文を作成して宿泊予約サイト上に掲載したとする。また、その宿泊予約サイトを介して宿泊を予約して実際にホテルを利用した四人のユーザUb(より具体的には、ユーザUb1,Ub2,Ub3,Ub4)が、その宿泊予約サイトにホテルの感想を商品レビューとして投稿したとする。
この場合に、情報処理システム10はその紹介文から評価視点を特定するとともに、それぞれの商品レビューからも評価視点を特定する。ここで、本明細書における「評価視点」とは、対象物を評価する際の基準となる、該対象物の属性または一部分を指す。ある対象物の評価視点として選択される属性または部分は何ら限定されない。図1の例では対象物がホテルであるが、この場合には、景観、アクセス、食事などの様々なホテルの属性が評価視点として設定され得る。
テキストから評価視点を特定する具体的な手法は後述するが、図1の例では、情報処理システム10は上記の紹介文から「景観」という評価視点を特定する。また、情報処理システム10はユーザUb1,Ub2,Ub3,Ub4の商品レビューからそれぞれ「景観」「風呂」「食事」「外装・内装」という評価視点を特定する。
続いて、情報処理システム10は紹介文から得られた評価視点と複数の投稿レビューから得られた評価視点とを比較して、紹介文を補助するための補助情報を商品レビューから抽出する。この例では、紹介文の評価視点はユーザUb1の商品レビューの評価視点と一致し、ユーザUb2,Ub3,Ub4の商品レビューの評価視点と異なる。したがって、情報処理システム10は紹介文で表されていない「風呂」「食事」「外装・内装」という三つの評価視点を示す補助情報を生成する。
このように、情報処理システム10は第1の評価視点(例えば紹介文から特定された評価視点)と第2の評価視点(例えば、商品レビューから特定された評価視点)との差に基づいて補助情報を生成する。より具体的には、情報処理システム10は第1の評価視点と第2の評価視点との間の評価度の差に基づいて補助情報を生成する。評価度とは、作成者(例えば、対象物の提供者や、レビュー投稿者など)が対象物のある評価視点についてどれだけ強く表現しているかを示す度合いである。評価度は表現の度合いとも言い換えることができる。
図1はそれら三つの評価視点が補助情報Aであるように示しているが、補助情報Aの表現形式は何ら限定されない。例えば、その補助情報AはユーザUb2,Ub3,Ub4の商品レビューの一部または全体であってもよいし、商品レビューの一部または全体と評価視点との組合せでもよい。具体例を示すと、情報処理システム10は、ユーザUb2の商品レビュー「温泉はとても気持ちがよく、貸切露天風呂は最高でした」の全体、「貸切露天風呂は最高でした」という一部分のみ、あるいは{「温泉はとても気持ちがよく、貸切露天風呂は最高でした」,“風呂”}という組合せを補助情報として設定してもよい。
情報処理システム10は生成した補助情報を出力する。この補助情報は、任意の人に参照され得る。例えば図1に示すように、その補助情報は商品の紹介文を作成した提供者Uaに提供されてもよいし、宿泊予約サイトにアクセスするユーザUcに提供されてもよい。なお、ユーザUcは、商品レビューを投稿したユーザUbを含み得る。提供者Uaに補助情報が提供された場合には、提供者Uaは自分自身が気付いていなかった自己の商品の特長(feature)をその補助情報から得ることができ、その特長が表現されるように商品の紹介文を変更することができる。また、ユーザUcは紹介文以外にその補助情報を参考にするか、または変更された紹介文を参考にして、商品を選択することが可能になる。
情報処理システム10は1台以上のコンピュータを備え、複数台のコンピュータを備える場合には、後述する情報処理システム10の各機能要素は分散処理により実現される。個々のコンピュータの種類は限定されない。例えば、据置型または携帯型のパーソナルコンピュータ(PC)を用いてもよいし、ワークステーションを用いてもよいし、高機能携帯電話機(スマートフォン)や携帯電話機、携帯情報端末(PDA)などの携帯端末を用いてもよい。あるいは、様々な種類のコンピュータを組み合わせて情報処理システム10を構築してもよい。複数台のコンピュータを用いる場合には、これらのコンピュータはインターネットやイントラネットなどの通信ネットワークを介して接続される。
情報処理システム10内の個々のコンピュータ100の一般的なハードウェア構成を図2に示す。コンピュータ100は、オペレーティングシステムやアプリケーション・プログラムなどを実行するCPU(プロセッサ)101と、ROM及びRAMで構成される主記憶部102と、ハードディスクやフラッシュメモリなどで構成される補助記憶部103と、ネットワークカードあるいは無線通信モジュールで構成される通信制御部104と、キーボードやマウスなどの入力装置105と、ディスプレイやプリンタなどの出力装置106とを備える。当然ながら、搭載されるハードウェアモジュールはコンピュータ100の種類により異なる。例えば、据置型のPCおよびワークステーションは入力装置および出力装置としてキーボード、マウス、およびモニタを備えることが多いが、スマートフォンはタッチパネルが入力装置および出力装置として機能することが多い。
後述する情報処理システム10の各機能要素は、CPU101または主記憶部102の上に所定のソフトウェアを読み込ませ、CPU101の制御の下で通信制御部104や入力装置105、出力装置106などを動作させ、主記憶部102または補助記憶部103におけるデータの読み出し及び書き込みを行うことで実現される。処理に必要なデータやデータベースは主記憶部102または補助記憶部103内に格納される。
理解を容易にするために、以下では、第1のテキストが、施設予約サイトの商品提供者により記述された施設の紹介文であり、第2のテキストが、施設予約サイト内の施設を予約および利用したユーザ(購入者)により投稿されたレビューであることを前提とする。したがって、対象物は施設である。また、そのユーザはレビュー投稿者である。ここで、本明細書における「施設」とは、一般人が利用可能な屋外または屋内の場所である。施設の例として宿泊施設(ホテルや旅館など)、ゴルフ場、コンサートホールなどが挙げられるが、当然ながら施設の種類はこれらに限定されない。情報処理システム10の各機能要素を説明する前に、この情報処理システム10が参照する各記憶部(図6参照)について説明する。
第1テキストデータベース21は、対象物について第1の作成者が記述した第1のテキストを記憶するデータベース(記憶装置または記憶部)である。本実施形態では、第1テキストデータベース21は、商品提供者が記述した紹介文を記憶する。第1テキストデータベース21の具体的な実装方法は限定されず、例えば第1テキストデータベース21は関係データベースあるいはテキストファイルとして用意されてもよい。また、第1テキストデータベース21の設置場所は限定されず、例えば、第1テキストデータベース21は情報処理システム10の内部に存在してもよいし、情報処理システム10とは異なる他のコンピュータシステム内に存在してもよい。第1テキストデータベース21が他の情報処理システム内にある場合には、情報処理システム10は通信ネットワークを介して第1テキストデータベース21にアクセスすればよい。
第1テキストデータベース21は、対象物を一意に特定する識別子とテキストとが関連付けられた第1テキストデータを記憶する。なお、対象物とテキストとを関連付ける具体的な方法は限定されない。例えば、対象物とテキストとが一つのレコード内で直接的に関連付けられてもよいし、対象物の識別子を含むレコードとテキストを含む別のレコードとが他の項目を介して間接的に関連付けられてもよい。また、第1テキストデータは対象物の識別子およびテキスト以外の項目を含んでもよい。
本実施形態では、第1テキストデータベース21は、施設を一意に識別する施設IDと、その施設の紹介文とが関連付けられた紹介文データを第1テキストデータとして記憶するものとする。図3にその紹介文データの例を示す。一般に、施設情報は施設IDの他に施設名や住所、電話番号、宿泊プランのリストなどを含み、紹介文もその施設情報に含まれることがある。したがって、そのような施設情報を第1テキストデータとして用いることができる。しかし、図3では、説明に必要な施設IDおよび紹介文のみを示すこととする。図3から、例えば、「H0001」で識別される施設の紹介文が「きめ細かなサービスをご提供。オーシャンビューのお部屋からは、素敵な夕日を見ることができます」であることを知ることができる。
本実施形態では施設と該施設の紹介文の作成者(すなわち、商品提供者)とが1対1の関係にあるという前提に立つ。しかし、第1の作成者と第1のテキストとの対応関係は1対多であってもよく、この場合には、第1テキストデータは、作成者を一意に特定する識別子と、対象物を一意に特定する識別子と、テキストとが互いに関連付けられたデータである。
第2テキストデータベース22は、対象物について第2の作成者が記述した第2のテキストを記憶するデータベース(記憶装置または記憶部)である。本実施形態では、第2テキストデータベース22は、ユーザ(購入者)が記述した商品レビューを記憶する。第2テキストデータベース22の具体的な実装方法も限定されず、例えば第2テキストデータベース22は関係データベースあるいはテキストファイルとして用意されてもよい。また、第2テキストデータベース22の設置場所は限定されず、例えば、第2テキストデータベース22は情報処理システム10の内部に存在してもよいし、情報処理システム10とは異なる他のコンピュータシステム内に存在してもよい。第2テキストデータベース22が他の情報処理システム内にある場合には、情報処理システム10は通信ネットワークを介して第2テキストデータベース22にアクセスすればよい。
第2テキストデータベース22は、作成者を一意に特定する識別子と、対象物を一意に特定する識別子と、テキストとが関連付けられた第2テキストデータを記憶する。なお、作成者、対象物、およびテキストを関連付ける具体的な方法は限定されない。例えば、作成者、対象物、およびテキストが一つのレコード内で直接的に関連付けられてもよいし、これらの3項目の一部と残りとが他の項目を介して間接的に関連付けられてもよい。また、第2テキストデータはそれら3項目以外の他の項目を含んでもよい。
本実施形態では、第2テキストデータベース22はユーザ(購入者)を一意に識別するユーザIDと、施設IDと、商品レビュー(以下では単に「レビュー」ともいう)とが関連付けられたレビューデータを第2テキストデータとして記憶するものとする。図4にそのレビューデータの例を示す。上述したようにレビューを示す情報が他の項目を含む場合があるが、図4では、説明に必要なユーザID、施設ID、およびレビューのみを示すこととする。図4から、例えば、「U2001」で識別されるユーザが「H0001」で識別される施設について「駅からタクシーで5分の所にあるので、とても便利でした」というレビューを投稿したことがわかる。
一人の第2の作成者が複数の対象物のそれぞれについて記述することもあれば、相異なる複数の第2の作成者が一つの対象物について記述することもある。したがって、第2の作成者と対象物とは多対多の関係であるといえる。
評価視点辞書23は、評価視点と表現との対応関係を示す辞書データを記憶するデータベース(記憶装置)である。本実施形態では、施設に関連する属性が評価視点として設定され、表現についても施設に関連するものが設定される。辞書データは、情報処理システム10の管理者により予め設定される。設定される評価視点の個数は、2以上であればいくつでもよく、例えば10個でもよいし20個でもよいし100個でもよい。
一つの評価視点には一または複数の表現が対応付けられる。ここで、本明細書における「表現」とは1以上の単語の組合せであり、したがって、ある表現が1単語から成る場合もあれば、2以上の単語から成る場合もある。表現としてどのような語句が設定されてもよいし、その語句の品詞も限定されない。例えば、対象物の特徴(characteristic)を表す表現が選択されて評価視点辞書23に登録される。一般に、対象物の特徴を表す単語の品詞としては、名詞(一般名詞または固有名詞)、形容詞、副詞、動詞などが考えられる。なお、個々の言葉についての表記揺れや語形変化などを考慮して、一つの表現(一つの語句)に対して複数の表記を評価視点辞書23に記憶させてもよい。
図5に辞書データの例を示す。辞書データは評価視点および表現以外の他の項目を含んでよいが、図5では、説明に必要な評価視点および表現のみを示すこととする。図5から、例えば、「サービス」という評価項目には「サービス」「もてなし」「送迎」などの表現が対応することがわかる。なお、図5の例における「サービス」のように、評価視点を識別する語句が該評価視点に対応する表現としても用いられる場合がある。
一つの評価視点に対して一つの表現のみが関連するように辞書データを生成してもよく、この場合には、表現そのものが評価視点として設定される。ただし、この場合には、似たような評価視点が区別されてしまい、情報処理システム10の処理負荷が高くなったり、補助情報が膨大になりすぎたりする可能性がある。一例として、三つの表現「アクセス」「交通の便」「駅」はいずれも施設の立地についての記述であり、これらを一纏めにして取り扱う方がより便利である。したがって、本実施形態では、互いに関連し合う複数の表現を一つの評価視点にグループ化することを前提とする。
情報処理システム10は、既に第1テキストデータベース21に記憶されている第1テキストデータ、既に第2テキストデータベース22に記憶されている第2テキストデータ、および既に評価視点辞書23に記憶されている辞書データを参照する。したがって、情報処理システム10は、各データがどのような経路で各データベースに登録されたかを考慮する必要がない。
図6に示すように、情報処理システム10は機能的構成要素として第1特定部11、第2特定部12、生成部13、および出力部14を備える。
第1特定部11は、第1のテキスト内の表現に対応する第1の評価視点を特定する機能要素である。第1特定部11は、情報処理システム10の管理者により指定されたかまたは任意の規則により自動的に指定された1以上の施設(対象物)のそれぞれについて以下の処理を実行する。
第1特定部11は施設の紹介文を第1テキストデータベース21から読み出す。続いて、第1特定部11は形態素解析や意味解析などの周知技術を用いてその紹介文を複数の表現に分割する。続いて、第1特定部11はその分割処理により得られた個々の表現と評価視点辞書23内の辞書データとを比較することで、該表現に対応する評価視点を特定する。比較対象の表現は複数個あり得るので、第1特定部11は一または複数の評価視点を特定し得る。あるいは、第1特定部11は一つの紹介文から一つの評価視点も特定できないかもしれない。第1特定部11は施設ID、紹介文、および特定した評価視点が互いに関連付けられた第1特定データを生成する。一つも評価視点を特定できなかった場合には、例えば、第1特定部11は施設ID、紹介文、および空値(null)が互いに関連付けられた第1特定データを生成すればよい。
第1特定部11が、図3に示す、施設ID「H0001」に対応する紹介文「きめ細かなサービスを提供。オーシャンビューのお部屋からは素敵な夕日を見ることができます」を処理するとする。また、評価視点辞書23が、評価視点「サービス」と表現「サービス」とが関連付けられた辞書データと、評価視点「景観」と表現「ビュー」および「夕日」とが関連付けられた辞書データとを記憶しているとする。この場合には、第1特定部11はこれらの辞書データに基づいて、その紹介文から「サービス」「景観」という二つの評価視点を特定する。この例における「景観」のように複数の表現から同一の評価視点を特定できた場合には、第1特定部11はその評価視点の個数を考慮しない。
第1特定部11は、処理すべきすべての施設について評価視点を特定すると、各施設についての第1特定データを生成部13に出力する。
第2特定部12は、第2のテキスト内の表現に対応する第2の評価視点を特定する機能要素である。第2特定部12は、第1特定部11により処理されたものと同じ1以上の施設(対象物)のそれぞれについて以下の処理を実行する。
第2特定部12は施設に対応する1以上のレビュー(レビュー集合)を第2テキストデータベース22から読み出す。続いて、第2特定部12は読み出したレビューのそれぞれについて以下の処理を実行する。
第2特定部12は形態素解析や意味解析などの周知技術を用いてレビューを複数の表現に分割する。続いて、第2特定部12はその分割処理により得られた個々の表現と評価視点辞書23内の辞書データとを比較することで、該表現に対応する評価視点を特定する。比較対象の表現は複数個あり得るので、第2特定部12は一または複数の評価視点を特定し得る。あるいは、第2特定部12は一つのレビューから一つの評価視点も特定できないかもしれない。1以上の評価視点を特定した場合には、第2特定部12は施設ID、レビュー、および特定された評価視点が互いに関連付けられた第2特定データを生成する。一つも評価視点を特定できなかった場合には、第2特定部12は施設ID、レビュー、および空値(null)が関連付けられた第2特定データを生成すればよい。
第2特定部12が、図4に示す施設ID「H0001」について処理すると仮定する。この場合には、第2特定部12はユーザID「U2001」のレビュー「駅からタクシーで5分のところにあるので、とても便利でした」と、ユーザID「U2005」のレビュー「送迎サービスがあり助かりました。食事もとても良かったです」とを第2テキストデータベース22から読み出す。一方、評価視点辞書23が、評価視点「立地」と表現「駅」および「タクシー」とが関連付けられた辞書データと、評価視点「サービス」と表現「送迎」および「サービス」とが関連付けられた辞書データと、評価視点「食事」と表現「食事」とが関連付けられた辞書データとを記憶しているとする。
この場合には、第2特定部12はそれらの辞書データに基づいて、ユーザID「U2001」のレビューから「立地」「立地」という二つの評価視点を特定する。すなわち、この例のように複数の表現から同一の評価視点を特定できた場合には、第2特定部12はその評価視点の個数も考慮して評価視点を特定する。同様に、第2特定部12はユーザID「U2005」のレビューから「サービス」「サービス」「食事」という三つの評価視点を特定する。最終的には、第2特定部12は、施設ID「H0001」と、「U2001」のレビューと、「立地」「立地」という二つの評価視点とが互いに関連付けられた第2特定データと、施設ID「H0001」と、「U2005」のレビューと、「サービス」「サービス」「食事」という三つの評価視点とが互いに関連付けられた第2特定データとを生成する。
第2特定部12は、処理すべきすべての施設について評価視点を特定すると、各施設についての第2特定データを生成部13に出力する。
生成部13は、第1の評価視点と第2の評価視点との差分に基づいて補助情報を生成する機能要素である。生成部13は、第1特定データ(紹介文から得られた評価視点)および第2特定データ(レビュー集合から得られた評価視点)に基づいて、1以上の施設(対象物)のそれぞれについて以下の処理を実行する。
まず、生成部13は処理対象の一の施設hに対する第1特定データおよび第2特定データのそれぞれから、評価視点gの種類を特定し、第2特定データにのみ存在する評価視点gを抽出する。この処理は、紹介文では示されていないがレビュー集合で示されている評価視点を抽出することを意味する。この抽出手法は、特定データに含まれる評価視点の評価度を1とし、特定データに含まれない評価視点の評価度を0とした場合に、第1および第2の特定データにおける評価度の差が1である評価視点を抽出する処理に相当する。例えば、ある施設hについて第1特定データ(紹介文)には評価視点ga,gbが含まれ、第2特定データ(レビュー集合)には評価視点gb,gc,gd,geが含まれる場合には、生成部13は評価視点gc,gd,geを抽出する。
続いて、生成部13は抽出した各評価視点gについて、該評価視点gの出現頻度f(h,g)を数える。ここで、出現頻度の数え方としては、表現単位(例えば単語単位)で数える手法と、文単位で数える手法と、レビュー単位で数える手法とが挙げられる。
表現単位で数える場合には、生成部13は、評価視点gに対応する表現が出現する度に該評価視点gについての出現頻度を1ずつ増分する。例えば、上述した施設ID「H0001」の二つのレビューの例では、評価視点「立地」「サービス」「食事」の出現頻度はそれぞれ2,2,1となる。
文単位で数える場合には、生成部13は、評価視点gに対応する表現を含む文の個数を該評価視点gについての出現頻度として設定する。例えば、上述した施設ID「H0001」の二つのレビューの例では、評価視点「立地」「サービス」「食事」の出現頻度はそれぞれ1,1,1となる。
レビュー単位で数える場合には、生成部13は、評価視点gに対応する表現を含むレビューの個数を該評価視点gについての出現頻度として設定する。例えば、上述した施設ID「H0001」の二つのレビューの例では、評価視点「立地」「サービス」「食事」の出現頻度はそれぞれ1,1,1となる。
このような出現頻度の求め方を別の抽象的な例を用いて比較する。例えば、ある施設hについて二つのレビューR1,R2があるとする。そして、レビューR1は二つの文R1a,R2aからなり、レビューR2は二つの文R2a,R2bからなるとする。そして、各文から以下の評価視点が特定されたとする。
文R1a(レビューR1)…評価視点gp,gq
文R1b(レビューR1)…評価視点gp
文R2a(レビューR2)…評価視点gq,gq,gq,gr,gr
文R2b(レビューR2)…評価視点gr,gq
この例における評価視点gp,gq,grの出現頻度は、表現単位で数える場合にはそれぞれ2,5,3となり、文単位で数える場合にはそれぞれ2,3,2となり、レビュー単位で数える場合にはそれぞれ1,2,1となる。
出現頻度を表現単位(例えば単語単位)で数えた場合には、ある特定のレビュー(第2のテキスト)が長い文章であることなどに起因して特定の評価視点が突出して多くカウントされ、その結果、出現頻度に偏りが生じる可能性がある。文単位またはレビュー単位で数えることで、そのような偏りの発生を抑えることが期待できる。
各評価視点gの出現頻度f(h,g)を求めると、生成部13はその出現頻度f(h,g)に基づいて、施設hにおける該評価視点gのスコアS(h,g)を求める。このスコアS(h,g)は、施設hにおいて評価視点gがどれだけ特徴的であるかを示す指数である。あるいは、スコアS(h,g)は施設hにおける評価視点gの特徴度(characteristic degree)を示すということもできる。施設hにおけるスコアS(h,g)が高い評価視点gは、他の施設と比べた際にその施設hを目立たせるような要素であるといえる。スコアの求め方は様々である。
例えば、生成部13は出現頻度f(h,g)をそのままスコアS(h,g)として設定してもよい。
あるいは、生成部13は対数尤度比(Log−Likelihood Ratio;LLR)を用いてスコアS(h,g)を求めてもよい。本実施形態におけるLLR(h,g)は、評価視点gが施設hから独立して現れる確率Pi(h,g)に対する、評価視点gが施設hに依存して現れる確率Pd(h,g)の対数比である。すなわち、LLR(h,g)=log(Pd(h,g)/Pi(h,g))である。なお、“log”は対数関数を示す。
対数尤度比の具体的な計算例を以下に示す。この例では、下記式で定義される変数a,b,c,d,nを用いる。
a=f(h,g)
n=a+b+c+d
ここで、変数a,b,c,dの意味は以下の通りである。
a…施設hのレビュー集合における評価視点gの出現頻度
b…施設h以外の他の施設h´のレビュー集合における評価視点gの出現頻度
c…(施設hのレビュー集合におけるすべての評価視点(g´)の出現頻度)−a
d…(他の施設h´のレビュー集合におけるすべての評価視点(g´)の出現頻度)−b
これらの変数を用いて、生成部13は下記式により対数尤度比LLR
0(h,g)を求める。
ただし、このLLR0(h,g)は、「処理対象の施設hのレビュー集合において特徴的に現れ、かつ他の施設h´のレビュー集合においてはあまり現れない」評価視点と、「他の施設h´のレビュー集合において特徴的に現れ、かつ処理対象の施設hのレビュー集合においてはあまり現れない」評価視点との双方について高い値になってしまう。そこで、生成部13は、「処理対象の施設hのレビュー集合において特徴的に現れ、かつ他の施設h´のレビュー集合においてはあまり現れない」評価視点の方のみを高い値にするための補正を実行する。具体的には、生成部13は、ad−bc>0である場合にはS(h,g)=+LLR0(h,g)と設定し、それ以外の場合にはS(h,g)=−LLR0(h,g)と設定する。
なお、スコアS(h,g)の計算方法はこれに限定されない。例えば、生成部13は対数尤度比以外の他の尺度を用いてスコアS(h,g)を求めてもよい。
続いて、生成部13は抽出した評価視点に基づいて補助情報24を生成する。一例として、生成部13はスコアS(h,g)に関係なく、第1特定データと第2特定データとの差分から得られたすべての評価視点を示す補助情報24を生成してもよい。この場合には、生成部13はスコアS(h,g)の計算を省略できる。あるいは、生成部13は得られた評価視点をスコアS(h,g)の降順に並べ替えた上で、一部または全部の評価視点を示す補助情報24を生成してもよい。例えば、生成部13はスコアが高い上位n位の評価視点のみを示す補助情報24を生成してもよいし(いわゆる、N−bestという手法。この場合には値nが閾値であるといえる)、スコアが所定の閾値以上の評価視点のみを示す補助情報24を生成してもよい。
補助情報24の具体的な内容は任意に定めてよい。例えば、生成部13は選択した評価視点をそのまま補助情報24として設定してもよく、この場合には生成部13は評価視点とそのスコアとの組を補助情報24として設定してもよい。あるいは、生成部13は評価視点が抽出された文またはレビューを補助情報24として設定してもよいし、その評価視点に対応する表現を補助情報24として設定してもよい。あるいは、生成部13はそれら評価視点、文、またはレビューに基づいて新たに補助情報24を生成してもよい。
あるいは、生成部13は、商品提供者により示された第1の評価視点が商品レビューに示されていないことを示すメッセージを補助情報24として生成してもよい。あるいは、生成部13はそのメッセージと選択した評価視点とを含む補助情報24を生成してもよい。これらのような補助情報は商品提供者に提示される。
このように補助情報の生成方法は様々である。いずれにしても、生成部13は第2のテキストから特定された評価視点が表現された補助情報を生成する。これは、生成部13が第2のテキストを直接的または間接的に用いて補助情報を生成する処理であるともいえる。生成部13は生成した補助情報を出力部14に出力する。
出力部14は、補助情報24を出力する機能要素である。補助情報24の出力先は何ら限定されない。例えば、出力部14は補助情報24をモニタ上に表示したりプリンタに印刷したりしてもよいし、補助情報24をテキストファイルに書き出してもよいし、補助情報24をメモリやデータベースなどの記憶装置に格納してもよい。あるいは、出力部14は補助情報24を通信ネットワーク経由で情報処理システム10以外の他の任意のコンピュータシステムに出力してもよい。出力部14は商品提供者の端末に送信されてもよいし、商品提供者以外の人(例えば施設予約サイトのユーザ)の端末に送信されてもよいし、それらの双方に送信されてもよい。商品提供者に補助情報を提示する場合には、出力部14は商品提供者の施設に関する補助情報のみを該商品提供者の端末に送信すればよい。
次に、図7を用いて、情報処理システム10の動作を説明するとともに本実施形態に係る情報処理方法について説明する。
まず、第1特定部11が第1のテキスト(例えば紹介文)内の表現に対応する第1の評価視点を特定する(ステップS11、第1特定ステップ)。この処理は処理対象の各対象物(例えば施設)について実行される。具体的には、第1特定部11は第1のテキストを形態素解析などを用いて複数の表現に分割し、個々の表現と評価視点辞書23内の辞書データとを比較することで、該表現に対応する評価視点を特定する。
続いて、第2特定部12が第2のテキスト(例えばレビュー)内の表現に対応する第2の評価視点を特定する(ステップS12、第2特定ステップ)。この処理も各対象物について実行される。具体的には、第2特定部12は第2のテキストを形態素解析などを用いて複数の表現に分割し、個々の表現と評価視点辞書23内の辞書データとを比較することで、該表現に対応する評価視点を特定する。
続いて、生成部13が第1の評価視点と第2の評価視点との差分に基づいて補助情報を生成する(ステップS13、生成ステップ)。この処理も各対象物について実行される。具体的には、生成部13は第1のテキストからは特定されず第2のテキストからのみ特定された評価視点を抽出し、必要に応じてその評価視点のスコアを算出する。そして、生成部13は特定された評価視点に基づいて補助情報を生成する。生成部13は補助情報を生成する際にスコアを考慮してもよく、そのスコアの計算方法は様々である。また、補助情報の内容も何ら限定されるものではない。
最後に、出力部14が各対象物に関する補助情報を出力する(ステップS14、出力ステップ)。上述したように、出力の態様も何ら限定されるものではない。
次に、図8を用いて、情報処理システム10を実現するための情報処理プログラムP1を説明する。
情報処理プログラムP1は、メインモジュールP10、第1特定モジュールP11、第2特定モジュールP12、生成モジュールP13、および出力モジュールP14を備える。
メインモジュールP10は、補助情報の生成に関する処理を統括的に制御する部分である。第1特定モジュールP11、第2特定モジュールP12、生成モジュールP13、および出力モジュールP14を実行することにより実現される機能はそれぞれ、上記の第1特定部11、第2特定部12、生成部13、および出力部14の機能と同様である。
情報処理プログラムP1は、例えば、CD−ROMやDVD−ROM、半導体メモリなどの有形の記録媒体に固定的に記録された上で提供されてもよい。また、情報処理プログラムP1は、搬送波に重畳されたデータ信号として通信ネットワークを介して提供されてもよい。
以上説明したように、本発明の一側面に係る情報処理システムは、表現と評価視点との対応を示す辞書データに基づいて、対象物の提供者が作成した第1の情報内の表現に対応する1以上の第1の評価視点を特定する第1特定部と、辞書データに基づいて、対象物についてレビュー投稿者が作成した第2の情報内の表現に対応する1以上の第2の評価視点を特定する第2特定部と、第1の評価視点と第2の評価視点との間の評価度の差に基づいて補助情報を生成する生成部と、補助情報を出力する出力部とを備える。
本発明の一側面に係る情報処理方法は、プロセッサを備える情報処理システムにより実行される情報処理方法であって、表現と評価視点との対応を示す辞書データに基づいて、対象物の提供者が作成した第1の情報内の表現に対応する1以上の第1の評価視点を特定する第1特定ステップと、辞書データに基づいて、対象物についてレビュー投稿者が作成した第2の情報内の表現に対応する1以上の第2の評価視点を特定する第2特定ステップと、第1の評価視点と第2の評価視点との間の評価度の差に基づいて補助情報を生成する生成ステップと、補助情報を出力する出力ステップとを含む。
本発明の一側面に係る情報処理プログラムは、表現と評価視点との対応を示す辞書データに基づいて、対象物の提供者が作成した第1の情報内の表現に対応する1以上の第1の評価視点を特定する第1特定部と、辞書データに基づいて、対象物についてレビュー投稿者が作成した第2の情報内の表現に対応する1以上の第2の評価視点を特定する第2特定部と、第1の評価視点と第2の評価視点との間の評価度の差に基づいて補助情報を生成する生成部と、補助情報を出力する出力部としてコンピュータを機能させる。
このような側面においては、同じ対象物について提供者およびレビュー投稿者がそれぞれ記述した第1および第2の情報について評価視点が特定され、双方の評価視点の評価度の差に基づいて補助情報が生成および出力される。したがって、情報提供者が考える対象物の特徴と、ユーザが考えるその対象物の特徴とのずれを抽出することが可能になる。
一例として、大量の商品を販売するECサイトでは、検索ページなどで一度に多くの商品をユーザに提示するために、各商品を紹介するためのスペースを限ることが多い。そのため、販売者はその限られたスペースで商品の魅力を伝える必要がある。そのため、結果的に、販売者が紹介文で伝える商品の特長と、ECサイトのユーザが思う特長(あるいは、ユーザが真に求める特長)とが必ずしも一致せず、商品の魅力がユーザに伝わらない可能性が生じる。上記実施形態では、販売者とユーザとの間のそのような意識の差異が特定され、ユーザが思う特長を販売者に提供することが可能になるので、販売者はより魅力的な紹介文を作成できる。
他の側面に係る情報処理システムでは、辞書データにおいて、一つの評価視点につき複数の表現が対応付けられてもよい。複数の表現を一つの評価視点にグループ化することで、似たような表現を一括りにして処理することができる。その結果、情報処理システム10の処理負荷を抑制したり、補助情報を分かりやすく提示したりすることが可能になる。
他の側面に係る情報処理システムでは、生成部が、差に基づいて抽出した第2の評価視点について、対象物における該第2の評価視点の特徴度を示すスコアを求め、出力部が、スコアが閾値以上の第2の評価視点に基づいて生成された補助情報を出力してもよい。スコアを用いることで、対象物の特徴を表す補助情報を出力することができる。
他の側面に係る情報処理システムでは、生成部が、第2の評価視点の出現頻度に基づいてスコアを求めてもよい。ある評価視点の出現頻度が高いということは、その評価視点が対象物の特徴を良く表している確率が高いといえる。したがって、出現頻度に基づいてスコアを求めることで、対象物の特徴を表す補助情報を高い精度で出力することができる。
他の側面に係る情報処理システムでは、生成部が、対数尤度比に基づいてスコアを設定してもよい。この場合には、他の対象物と比べて特徴的な要素が処理対象の対象物の特徴として特定されるので、対象物の特徴を表す補助情報を高い精度で出力することができる。
他の側面に係る情報処理システムでは、出力部が、スコアが高い上位n個の第2の評価視点に基づいて生成された補助情報を出力してもよい。この場合には、スコアの絶対値に依存することなく一定数の評価視点が選択される。したがって、特定の対象物についての補助情報が多くなり過ぎたり少なくなり過ぎたりすることなく、各対象物について同程度の量の補助情報を出力することが可能になる。
以上、本発明をその実施形態に基づいて詳細に説明した。しかし、本発明は上記実施形態に限定されるものではない。本発明は、その要旨を逸脱しない範囲で様々な変形が可能である。
上記実施形態では第1のテキストとして商品の紹介文を示したが、第1のテキストは施設の利用プラン(例えば、ホテルの宿泊プランやゴルフ場のコンペのプランなど)を記述した文または文章であってもよい。この場合には、情報処理システム10は上記実施形態と同様の処理を実行することで、利用プランの紹介では表されていない評価視点を出力することができる(例えば、その評価視点を施設の管理者に提示することができる)。
情報処理システム10は、特定の表現を含む補助情報を特定の時期に限って出力してもよい。この場合には、出力部14は、表現と出力時期とが関連付けられたレコードを記憶するデータベースにアクセスして、補助情報に含まれる表現の出力時期が指定されているか否かを判定する。そして、補助情報がそのような表現を含む場合には、出力部14はその出力時期と現在日時とを比較し、現在日時が出力時期に含まれる場合にのみ、その補助情報を出力する。
例えば、そのデータベースが、「イルミネーション」という評価視点または表現と、「11,12月」という出力時期とが関連付けられたレコードを記憶しているとする。また、「イルミネーションが魅力的でした」という補助情報が生成されたとする。この場合には、出力部14はそのレコードを参照して、現在が11月または12月である場合にはその補助情報を出力し、それ以外の時期の場合にはその補助情報を出力することなく廃棄する。
上記実施形態では、第2特定部12は施設ID以外の条件を考慮することなく、施設に対応するレビューを読み出したが、この際に第2特定部12は特定のユーザのレビューのみを第2テキストデータベース22から読み出してもよい。具体的には、第2特定部12は、過去に少なくともk個(ただし、k>1)の評価視点に関して述べたユーザ(第2の作成者)のレビューのみを読み出す。このために、第2特定部12は個々のユーザに関して下記の事前処理を実行する。ここで、評価視点の個数を求める際には、第2特定部12は同一の評価視点が複数回抽出されたことを無視する。
第2特定部12は処理対象の一つのユーザIDに対応するレビュー集合を第2テキストデータベース22から読み出す。続いて、第2特定部12は、形態素解析や意味解析などの周知技術を用いてそのレビューを複数の表現に分割し、個々の表現と評価視点辞書23内の辞書データとを比較することで、該表現に対応する評価視点を特定する。
続いて、第2特定部12は評価視点の個数を数え、その個数が閾値k(ただし、k>1)以上であるか否かを判定する。もし評価視点の個数がk以上であれば、第2特定部12は処理対象のユーザIDを、レビューを収集する対象のユーザのリストに加えた上で、次のユーザの処理に移る。一方、評価視点の個数がk未満であれば、第2特定部12はそのユーザIDをリストに加えることなく、次のユーザの処理に移る。
以上の事前処理を終えると、第2特定部12はリスト内のユーザのレビューのみを用いて、上記実施形態と同様の手法で第2特定データを生成する。
例えば、第2特定部12が、図4に示すユーザID「U2001」について処理すると仮定する。この場合には、第2特定部12は施設ID「H0001」のレビュー「駅からタクシーで5分のところにあるので、とても便利でした」と、施設ID「H0003」のレビュー「アウトレットの近くにあるので、買い物に便利でした」とを第2テキストデータベース22から読み出す。
この場合において、評価視点辞書23が、評価視点「立地」と表現「駅」、「タクシー」、および「アウトレット」とが関連付けられた辞書データを記憶しているとすると、第2特定部12はその辞書データに基づいて、施設ID「H0001」のレビューから「立地」という評価視点を特定する。同様に、第2特定部12は施設ID「H0005」のレビューから「立地」という評価視点を特定する。第2特定部12は、複数の表現から同一の評価視点を特定できた場合には評価視点の重複を無視するので、結局、第2特定部12は、ユーザID「U2001」が過去に記述した評価視点の個数は1であると判定する。この個数は閾値k(k>1)未満なので、この場合には、第2特定部12はユーザID「U2001」をリストに加えない。
仮に、評価視点辞書23において表現「アウトレット」が「立地」以外の評価視点(例えば「周辺環境」など)と関連付けられている場合には、ユーザID「U2001」についての評価視点の個数は2である。したがって、もし閾値kが2であれば、第2特定部12はユーザID「U2001」をリストに加える。
以上説明したように、他の側面に係る情報処理システムでは、第2特定部が、複数の第2の評価視点に関して提示したことがあるレビュー投稿者を選択し、選択されたレビュー投稿者に対応する第2の情報から1以上の第2の評価視点を特定してもよい。このように第2の情報の量をフィルタリングにより抑えることで、情報処理システム10の処理負荷を低減させることができる。また、複数の視点から評価する傾向があるレビュー投稿者の情報のみを参照することで、内容に偏りが無い補助情報を生成することが期待できる。
上記実施形態では評価視点の評価度が0または1であるとの前提に立ったが、評価度の設定方法はこれに限定されない。例えば、第1特定部および第2特定部は、テキスト内の各評価視点について、対応する文字数または画像数に基づく評価度を設定してもよい。第1特定部は、ある対象物のテキスト内において評価視点に関連する文字列長が10未満であれば、その評価視点の評価度Eaを1.0と設定し、その文字列長が10以上30未満であれば1.5と設定し、その文字列長が30以上であれば2.0と設定する。また、第2特定部は、その対象物の各テキストについて第1特定部と同様に評価度を設定した上で、個々の評価度の平均値を評価視点の評価度Ebとする。そして、生成部が、その評価度の差(Eb−Ea)が閾値以上(例えば、0.5以上)の評価視点のみを抽出した上で、上記実施形態と同様に、抽出した評価視点のスコアを求める。その後の処理は上記実施形態と同様である。