以下、評価出力装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態1)
本実施の形態において、機能語(は,に,ました,等)を用いて、文を要素(主題,副題,動作状態など)に分割して、かつ、評価語(ポジティブな用語または/およびネガティブな用語)のDBを用いて、動作状態から主題または副題がポジティブか、ネガティブかを評価し、評価結果を出力する評価出力システムについて説明する。また、評価において、後続、または前出の言い回し(「良くはない」の「はない」など)を利用した正確な評判の分析が可能である評価出力システムについて説明する。さらに、Webページなどの対象となる文章群のランキングにより、ポジティブ度、ネガティブ度を重み付けして評価する評価出力システムについて説明する。また、文章群に対応して、情報を抽出するタグ情報を保持しており、タグ情報に従って、Webページなどの文章群内の情報をフィルタリングし、フィルタリングした情報からポジティブ度、ネガティブ度を評価する評価出力システムについて説明する。
図1は、本実施の形態における評価出力システムの概念図である。評価出力システムは、クライアント装置11、1以上の文章群サーバ装置12、評価出力装置13を具備する。クライアント装置11は、ユーザが使用して、対象物の評価についての情報を取得するための端末である。クライアント装置11は、例えば、いわゆるパーソナルコンピュータ、携帯端末、Webブラウザなどの情報表示ツールを搭載した携帯電話、Webブラウザなどの情報表示ツールを搭載したテレビなどである。文章群サーバ装置12は、例えば、Webのホームページや、電子掲示板のファイルなどが格納されているサーバ装置である。文章群サーバ装置12は、1以上の文を有するファイルを格納しており、クライアント装置11や評価出力装置13からの要求にしたがって、ファイルを送信する。評価出力装置13は、クライアント装置11やユーザからの評判出力指示を受け付け、当該評判出力指示に対応した評判を、クライアント装置11やディスプレイ等に出力する。
図2は、本実施の形態における評価出力システムのブロック図である。クライアント装置11は、入力受付部1101、評価指示構成部1102、評価指示送信部1103、評価受信部1104、評価表示部1105を具備する。
文章群サーバ装置12は、文章群管理部1201、要求受信部1202、文章群取得部1203、文章群送信部1204を具備する。
評価出力装置13は、受付部1301、文格納部1302、辞書情報格納部1303、評価情報格納部1304、抽出タグ情報格納部1305、変更情報格納部1306、解析対象文取得部1307、文分割制御部1308、評価対象取得部1309、スコア取得部1310、変更語取得部1311、評価変更情報取得部1312、変更スコア算出部1313、評価算出部1314、評価出力部1315を具備する。
文分割制御部1308は、要素分割手段13081、要素連結手段13082、文字列取得手段13083を具備する。
入力受付部1101は、ユーザからの指示や、情報を受け付ける。指示とは、例えば、評価を出力する指示である評価出力指示である。評価出力指示は、通常、評価対象を特定する情報を含む。評価対象は、商品やサービスや人や企業や番組(TV番組、ラジオ番組など)や店舗や国や組織など、評価され得る対象であれば何でも良い。指示や、情報の入力手段は、テンキーやキーボードやマウスやメニュー画面によるもの等、何でも良い。入力受付部1101は、例えば、ユーザから、対象物の評価を出力できるホームページを特定するURLの入力と、当該ホームページを取得する指示を受け付ける。そして、図示しない手段が、評価出力装置13のホームページを取得し、ディスプレイに表示する。なお、かかる技術は、いわゆるWebブラウザの技術であり、公知技術であるので詳細な説明を省略する。そして、ユーザは、表示されたホームページにおいて、対象物を入力するフィールドに評価の対象物を特定する情報を入力し、評価出力指示を入力する(例えば、評価出力のボタンをマウスで押下する)。入力受付部1101は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
評価指示構成部1102は、入力受付部1101が受け付けた評価出力指示から評価指示を構成し、メモリ上に配置する。評価指示は、評価出力装置13に送信される命令であり、対象物の評価を取得し、送信を促す指示である。入力受付部1101が受け付けた評価出力指示が、例えば、評価の対象物を示す用語「会社XXX」である場合、評価指示構成部1102は、命令「send_estimation 会社XXX」を構成し、メモリ上に配置する。「send_estimation」は、引数で特定される対象物の評価を取得し、送信するように促す命令である。評価指示構成部1102は、通常、MPUやメモリ等から実現され得る。評価指示構成部1102の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
評価指示送信部1103は、評価指示構成部1102が構成した評価指示を、評価出力装置13に送信する。なお、評価指示送信部1103は、評価出力装置13と通信をするための情報(例えば、評価指示送信部1103のIPアドレス、URLなど)を予め保持している、とする。
評価受信部1104は、評価指示送信部1103の評価指示の送信に対応して、対象物の評価を受信する。評価は、評価を特定する情報である。評価は、例えば、「0〜10」の数値である。また、評価は、「A,B,C」などのランクを示す情報でも良い。
評価表示部1105は、評価受信部1104が受信した評価を、ディスプレイに表示する。評価の表示態様は問わない。評価は、例えば、数値で表示される。評価は、例えば、棒グラフで表示される。また、図示しない記録媒体に過去の評価を格納しており、評価表示部1105は、評価受信部1104が受信した評価と、過去の評価とを合わせて、折れ線グラフ等により、評価の変遷を表示しても良い。さらに、図示しない手段により、過去の評価と受信した評価の平均値や中央値を算出(演算式は問わない)し、評価表示部1105は、当該平均値等を表示しても良い。評価表示部1105は、ディスプレイデバイスを含むと考えても含まないと考えても良い。評価表示部1105は、ディスプレイデバイスのドライバーソフトまたは、ディスプレイデバイスのドライバーソフトとディスプレイデバイス等で実現され得る。
文章群管理部1201は、文章群を格納している。文章群とは、1以上の文を有する情報であり、通常、ファイルで構成されている。ただし、文章群は、データベースのテーブルやレコードでも良い。また、文章群は、例えば、HTMLやCompactHTMLやXMLなどの記述言語で記述されていても良いし、プレーンテキストでも良いし、静止画や動画や音声情報等の他のタイプの情報を含んでも良い。文章群管理部1201は、ハードディスクや多目的光ディスク等の不揮発性の記録媒体が好適であるが、RAM等の揮発性の記録媒体でも実現可能である。
要求受信部1202は、文章群の送信要求を、評価出力装置13やクライアント装置11から受信する。要求受信部1202は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
文章群取得部1203は、要求受信部1202が受信した送信要求に対応し、文章群管理部1201から文章群を読み出す。文章群取得部1203は、通常、MPUやメモリ等から実現され得る。文章群取得部1203の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
文章群送信部1204は、文章群取得部1203が読み出した文章群を、送信要求を送信した装置に、送信する。文章群送信部1204は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。文章群サーバ装置12が行う送受信処理のプロトコルは、HTTP等、問わない。
受付部1301は、クライアント装置11から、評価指示を受信する。なお、受付部1301は、ユーザから評価指示の入力を受け付けても良い。受付部1301は、通常、無線または有線の通信手段で実現されるが、放送受信手段で実現されても良い。また、受付部1301は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現されても良い。
文格納部1302は、解析対象の文を1以上格納し得る。解析対象の文は、例えば、図示しない手段が、多数の文章群サーバ装置12から受信した多数の文章群に記載されている多数の文である。文格納部1302は、1以上の文を有する文章群と、当該文章群に対する信頼度を対に有する文章群情報を複数格納していても良い。また、文格納部1302は、1以上の文を有し、タグにより構造化されている文章群(例えば、HTMLで記述されたファイル)と、当該文章群を識別する識別情報(例えば、URLや、ホームページを特定するサイト名など)の対からなる文章群情報を複数格納していても良い。文格納部1302は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。なお、「信頼度」は、例えば、いわゆるホームページのランクを示す数値である。また、「信頼度」は、重要度や評価値など、他の意義をもつ情報でも良い。つまり、「信頼度」は、スコアを重み付けできる情報であれば、何でも良く、例えば、信頼度とは逆の、不信頼度などでも良い。
辞書情報格納部1303は、辞書情報を1以上格納している。辞書情報は、ここでは、解析対象の文から評価を取得しやすいように、文を区切るための情報である、と言える。また、辞書情報は、第一文字列と、機能語情報と、前接続記号と、後接続記号とを対に有する。第一文字列は、1文字以上の文字からなる。第一文字列は、「を」「に」「だ」などの膠着語の文の中で機能を示す機能語を含む。機能語情報とは、文中における第一文字列の機能または種類を特定する情報である。前接続記号とは、第一文字列の前に接続され得る文字列の種類を特定する情報である。後接続記号とは、第一文字列の後ろに接続され得る文字列の種類、または区切りであることを示す記号であり、当該記号により区切られた文中における第二文字列の種類を特定する情報である。なお、第二文字列は、第一文字列または2以上の第一文字列が結合した文字列である。第二文字列の種類は、例えば、「文の主題」、「文の副題」、「動作状態」、「準主題」などである。「文の主題」は、解析対象の文の主題を示す文字列であることを示す。「文の副題」は、解析対象の文の副題を示す文字列であることを示す。「動作状態」は、何らかの動作や状態を示す文字列であることを示す。「動作状態」は、「動作」と「状態」という具合に、2つに区別されていても良い。「準主題」は、サブの主題であることを示す。辞書情報の具体例は、後述する。辞書情報格納部1303は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
評価情報格納部1304は、評価対象の良し悪しに関する用語である評価語、および良し悪しの程度を示すスコアを対に有する評価情報を1以上格納している。評価語は、例えば、「好き」「嫌い」「良い」「悪い」「だめ」「素敵」「すばらしい」などである。スコアは、通常、「−5から+5」まで、等の数値であるが、「A,B,C」などのランクなどでも良い。評価情報格納部1304は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
抽出タグ情報格納部1305は、抽出タグ情報を格納している。抽出タグ情報は、識別情報と抽出情報の対からなる。識別情報は、文章群を識別する識別情報であり、例えば、URLや、文章群が格納されているサイトの名称や、文章群の種類を示す情報や、文章群が記載されている言語などである。抽出情報は、タグを用いて構造化されている文章群から、一部の文章を抽出するための情報であり、例えば、抽出すべき1以上の文が特定されるタグである。例えば、抽出情報が「<div class=ebody」である場合、この「<div class= ebody」を含むタグから、「</div>」タグまでの文章が抽出される文章である。抽出タグ情報格納部1305は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
変更情報格納部1306は、評価を変更するための情報である変更情報を1以上格納している。変更情報は、変更語と評価変更情報の対である。変更語は、評価語に対する評価の変更を示す言い回しの用語である。変更語は、例えば、「でない」「じゃない」「とは言えない」「あまり」などである。つまり、「好き」というポジティブな評価語に「でない」という変更語が後続すると、評価はポジティブではなく、ネガティブとしなければならない。評価変更情報は、評価を変更するための情報である。また、具体的には、評価変更情報は、スコアを変更するための情報である、と言える。評価変更情報は、例えば、「−1」や「0.5」などの数値である。つまり、例えば、評価語「好き」に対して、スコア「+4」とする場合、変更語「でない」に対する評価変更情報は「−1」、変更語「あまり」に対する評価変更情報は「0.5」とする。そして、後述する変更スコア算出部1313は、各数値を乗算し、「4×(−1)×(0.5)=−2」を算出する。ここで、「+5」は、非常にポジティブ、「−5」は非常にネガティブとして、「好きでない」は、「−2」であり、若干、ネガティブ、ということになる。なお、変更語として、評価を強める語(例えば、「非常に」「かなり」)、評価を弱める語(例えば、「あまり」)、評価を逆転させる語(例えば、「でない」)、評価を無効にする語(例えば、「であるとは言えない。」)などの種類がある。そして、評価を強める語は、例えば、強くする度合いにより、「1」より大きな評価変更情報が与えられ、評価を弱める語は、例えば、弱くする度合いにより、「1」より小さな評価変更情報が与えられ、評価を逆転させる語は、「−1」が与えられる。変更情報格納部1306は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
解析対象文取得部1307は、文格納部1302の文章群情報が有する識別情報と対になる抽出情報を読み出し、当該抽出情報を用いて、文章群情報が有する文章群から、解析対象の1以上の文を取得する。解析対象文取得部1307は、例えば、文章群情報がWebホームページである場合、解析対象文取得部1307は、識別情報(例えば、URL)と対になる抽出情報(例えば、タグ)を読み出し、当該タグで特定される(このタグと終了タグで囲まれた)文を、当該ホームページから抽出する。解析対象文取得部1307は、通常、MPUやメモリ等から実現され得る。解析対象文取得部1307の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
文分割制御部1308は、文格納部1302の1以上の文、または解析対象文取得部1307が取得した1以上の文をメモリ上に読み出し、各文について、第二文字列と第二文字列の種類を特定する情報を取得する。さらに具体的には、文分割制御部1308は、処理対象の各文から区切りであることを示す後接続記号に対する第一文字列を取り出し、当該第一文字列をキーにして、文を2以上の文字列である2以上の第二文字列に区切り、当該第二文字列の最後尾の第一文字列に対応する機能語情報または後接続記号から、第二文字列の種類を特定する情報を取得し、当該第二文字列と第二文字列の種類を特定する情報を取得する。文分割制御部1308は、通常、MPUやメモリ等から実現され得る。文分割制御部1308の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
文分割制御部1308を構成する要素分割手段13081は、処理対象の文をメモリ上に読み出し、当該文の先頭から予め決められたサイズ(n文字[nは2以上の整数])の第三文字列を切り出し、メモリ上に配置し、当該切り出した第三文字列を構成する文字列であって、先頭からn文字の文字列から順に、辞書情報格納部1303に当該文字列(この文字列は、第一文字列である。)が存在するか否かを判断し、n文字の文字列が存在しない場合には、先頭から(n−1)文字の文字列が辞書情報格納部1303に当該文字列が存在するか否かを判断し、かかる判断を、1文字ずつ文字数を減らして、文字列が辞書情報格納部1303に存在するまで行い、または、文字列が辞書情報格納部1303に存在しない場合には、先頭から1文字になるまでかかる判断を行い、文字列が辞書情報格納部1303に存在すると判断した場合には、当該文字列(この文字列は、第一文字列である。)に対応する機能語情報と前接続記号と後接続記号とを、辞書情報格納部1303から読み出し、読み出した機能語情報と前接続記号と後接続記号とを当該文字列に付与し、文字列が存在しない場合には、1文字の文字列に対して未知語であることを示す情報である未知語情報を付与する。
要素連結手段13082は、要素分割手段13081が未知語情報を付与した連続する未知語であり、ひらがなの文字を連結し文字列を構成し、かつ連続する未知語であり、ひらがなではない文字を連結し文字列を構成し、当該連結した文字列、または連結されなかった未知語の文字に対してまとまりであることを示す文字列の種類を特定する情報であるまとまり情報を付与し、隣接する要素分割手段13081が分割した要素またはまとまり情報が有する、前出の要素またはまとまり情報の後接続記号と、後出の要素またはまとまり情報の前接続記号を読み出し、当該前出の要素またはまとまり情報の後接続記号と、後出の要素またはまとまり情報の前接続記号から、前出の要素またはまとまり情報と後出の要素またはまとまり情報が連結可能であるか否かを判断し、連結可能な要素またはまとまり情報を一つの文字列にまとめて、複数の第二文字列を取得する。
文字列取得手段13083は、要素連結手段13082が取得した複数の各第二文字列の最後尾の第一文字列に対応する機能語情報または後接続記号から、各第二文字列の種類を特定する情報を決定し、当該複数の各第二文字列の種類を特定する情報と、当該複数の各第二文字列を対にした複数の対の情報をメモリ上に配置する。
要素分割手段13081、要素連結手段13082、および文字列取得手段13083は、通常、MPUやメモリ等から実現され得る。要素分割手段13081等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
評価対象取得部1309は、文分割制御部1308が取得した第二文字列の種類から評価の対象を含む第二文字列を特定し、当該第二文字列から評価対象を取得する。例えば、「A社は、非常に良い会社だ。」という文が、文分割制御部1308により「主題「A社は」、動作状態「非常に良い会社だ」」に分割される。そして、評価対象取得部1309は、主題「A社は」が評価の対象を含む第二文字列である、と特定する。次に、評価対象取得部1309は、主題「A社は」が有する用語「A社」を取得し、評価対象とする。なお、評価対象取得部1309は、通常、まず、評価の対象物「A社」と、評価語が含まれている文を抽出し、当該文から、評価対象「A社」が主題となっている文を取得する。そして、当該文から、評価対象「A社」を得て、メモリ上に配置する。評価対象取得部1309は、通常、MPUやメモリ等から実現され得る。評価対象取得部1309の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
スコア取得部1310は、評価対象を含む第二文字列を有する文中の他の第二文字列の種類を用いて評価語を含み得る第二文字列(上記の例では、「非常に良い会社だ」)を特定し、当該第二文字列が有する評価語(例えば、「良い」)を評価情報格納部1304から検索し、当該検索した評価語(例えば、「良い」)と対になるスコアを評価情報格納部1304から取得する。スコア取得部1310は、通常、MPUやメモリ等から実現され得る。スコア取得部1310の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
変更語取得部1311は、変更情報格納部1306の変更情報が有する変更語の情報を用いて、評価対象取得部1309が取得した評価語から所定以内の文字数の距離内にある変更語を取得する。なお、変更語は存在しない場合もあることは言うまでもない。変更語取得部1311は、通常、MPUやメモリ等から実現され得る。変更語取得部の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
評価変更情報取得部1312は、変更情報格納部1306から、変更語取得部1311が取得した変更語と対になる評価変更情報を取得する。評価変更情報取得部1312は、通常、MPUやメモリ等から実現され得る。評価変更情報取得部1312の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
変更スコア算出部1313は、スコア取得部1310が取得したスコアに対して、評価変更情報取得部1312が取得した評価変更情報を用いて、スコアを変更し、新たなスコアを算出する。変更スコア算出部1313の演算式は問わない。演算方法の具体例は後述する。文格納部1302に、1以上の文を有する文章群と、当該文章群に対する信頼度を対に有する文章群情報が格納されている場合、変更スコア算出部1313は、スコア取得部1310が取得したスコアに対して、対応する信頼度を用いて重み付けして、第二スコアを算出することは好適である。そして、変更スコア算出部1313は、第二スコアに対して、評価変更情報を用いて、スコアを変更し、新たなスコアを算出しても良い。変更スコア算出部1313は、通常、MPUやメモリ等から実現され得る。変更スコア算出部1313の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。なお、変更スコア算出部1313が演算を行う場合、その演算式の情報は、予め変更スコア算出部1313が保持しており、当該演算式の情報を読み出し、演算を実行する。
評価算出部1314は、評価対象取得部1309が取得した同一の評価対象についての1以上のスコアを用いて、当該評価対象についての評価を算出する。また、評価算出部1314は、評価対象取得部1309が取得した同一の評価対象についての1以上のスコア、および変更スコア算出部1313が算出した同一の評価対象についての1以上の新たなスコアを用いて、当該評価対象についての評価を算出することは好適である。さらに、評価算出部1314は、同一の評価対象についての1以上の第二スコアを用いて、当該評価対象についての評価を算出しても良い。第二スコアは、スコアに対して、信頼度を用いて重み付けしたスコアである。信頼度が管理されている場合、当該信頼度を用いて第二スコアを算出する処理を行うのは、評価算出部1314でも、変更スコア算出部1313でも良い。評価算出部1314は、通常、MPUやメモリ等から実現され得る。評価算出部1314の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
評価出力部1315は、評価算出部1314が算出した評価対象の評価を出力する。ここで、出力とは、ここでは、通常、クライアント装置11への送信であるが、ディスプレイへの表示、プリンタへの印字、音出力、記録媒体への蓄積等でも良い。評価出力装置13は、例えば、定期的に、1以上の文章群サーバ装置12から、新しい文章群を取得し、評価出力部1315は、クライアント装置11からの要求とは独立に、対象物の評価を図示しない記録媒体(通常、ハードディスクや光ディスク等の不揮発性の記録媒体)に蓄積しても良い。そして、受付部1301が、クライアント装置11から評価指示を受信した場合に、評価出力部1315は、ユーザが欲する対象物の評価を、記録媒体から読み出し、送信しても良い。評価出力部1315は、例えば、無線または有線の通信手段や、放送手段で実現され得る。また、評価出力部1315は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
次に、評価出力システムの動作について説明する。まず、クライアント装置11の動作について説明する。クライアント装置11の入力受付部1101は、ユーザから、評価対象を特定する情報を含む評価出力指示を受け付ける。そして、評価指示構成部1102は、入力受付部1101が受け付けた評価出力指示から評価指示を構成し、メモリ上に配置する。次に、評価指示送信部1103は、評価出力装置13と通信するための情報(例えば、指定されたURL)を取得し、当該情報を用いて、評価指示構成部1102が構成した評価指示を、評価出力装置13に送信する。そして、評価受信部1104は、評価指示送信部1103の評価指示の送信に対応して、対象物の評価を受信する。次に、評価表示部1105は、評価受信部1104が受信した評価を、ディスプレイに表示する。
次に、文章群サーバ装置12の動作について説明する。文章群サーバ装置12の要求受信部1202は、文章群の送信要求(例えば、URLを含む)を、評価出力装置13やクライアント装置11から受信する。すると、文章群取得部1203は、要求受信部1202が受信した送信要求に対応し、文章群管理部1201から文章群(例えば、URLで特定されるファイル)を読み出す。次に、文章群送信部1204は、文章群取得部1203が読み出した文章群を、送信要求を送信した装置に、送信する。
次に、評価出力装置13の動作について説明する。ここでは、評価出力装置13が、図示しない手段により、1以上の文章群サーバ装置12から受信した多数の文章群が、文格納部1302に蓄積されている、とする。また、評価の対象となる対象物(評価対象)が一つ、決定された後に、その対象物の評価を算出し、蓄積する処理について、図3から図10のフローチャートを用いて説明する。
(ステップS301)解析対象文取得部1307は、カウンタiに1を代入する。
(ステップS302)解析対象文取得部1307は、i番目の文章群が、文格納部1302に存在するか否かを判断する。i番目の文章群が存在ずればステップS303に行き、i番目の文章群が存在しなければステップS320に行く。
(ステップS303)解析対象文取得部1307は、i番目の文章群を、文格納部1302から読み出す。例えば、解析対象文取得部1307は、i番目の文章群(ファイル)をオープンする。
(ステップS304)解析対象文取得部1307は、解析対象文取得処理を行う。解析対象文取得処理について、図4のフローチャートを用いて説明する。
(ステップS305)文分割制御部1308は、カウンタjに1を代入する。
(ステップS306)文分割制御部1308は、解析対象文取得部1307が取得した解析対象文の中に、j番目の文が存在するか否かを判断する。j番目の文が存在すればステップS307に行き、j番目の文が存在しなければステップS319に行く。
(ステップS307)文分割制御部1308は、解析対象文取得部1307が取得した解析対象文の中のj番目の文を読み出し、メモリ上に配置する。
(ステップS308)文分割制御部1308は、j番目の文の中に、評価対象を示す文字列が含まれるか否かを検査する。この検査は、通常、j番目の文における、評価対象のパターンマッチングである。
(ステップS309)文分割制御部1308は、j番目の文の中に、評価対象を示す文字列が含まれる場合はステップS310に行き、含まれない場合はステップS318に行く。
(ステップS310)文分割制御部1308は、文分割制御処理を行う。文分割制御処理の詳細について、図5から図8のフローチャートを用いて説明する。
(ステップS311)評価対象取得部1309は、文分割制御部1308が取得した第二文字列の種類から評価の対象を含む第二文字列を特定し、当該第二文字列から評価対象を取得する。なお、評価対象は与えられているので、本ステップにおいて、評価対象取得部1309は、与えられている評価対象を取得するだけでも良い。
(ステップS312)スコア取得部1310は、評価対象を含む第二文字列を有する文中の他の特定の第二文字列の種類(例えば、「状態」)に対応する第二文字列を取得する。なお、「状態」は、「動作状態」でも良い。
(ステップS313)スコア取得部1310は、ステップS312で取得した第二文字列中に、評価語を含むか否か決定するために、評価情報格納部1304が有する1以上の評価語を各々読み出し、当該各評価語をキーとして、第二文字列を検索する。
(ステップS314)スコア取得部1310は、ステップS313における検索の結果、第二文字列が評価語を含むか判断する。評価語を含む場合はステップS315に行き、評価語を含まない場合はステップS318に行く。
(ステップS315)スコア取得部1310は、スコア取得処理を行う。スコア取得処理の詳細について、図9のフローチャートを用いて説明する。
(ステップS316)変更スコア算出部1313は、スコア変更処理を行う。スコア変更処理の詳細について、図10のフローチャートを用いて説明する。
(ステップS317)変更スコア算出部1313は、算出したスコアを、メモリ上に一時格納する。
(ステップS318)評価出力装置13は、カウンタjを1、インクリメントする。ステップS306に戻る。
(ステップS319)評価出力装置13は、カウンタiを1、インクリメントする。ステップS302に戻る。
(ステップS320)評価算出部1314は、ステップS317で一時格納した1以上のスコアを用いて、評価対象についての評価(代表値)を算出する。なお、ステップS317で一時格納した1以上のスコアは、評価対象取得部1309が取得した同一の評価対象についての1以上のスコア、または変更スコア算出部1313が算出した1以上のスコア、または評価対象取得部1309が取得した同一の評価対象についての1以上のスコアと変更スコア算出部1313が算出した1以上のスコアである。評価算出部1314は、例えば、多数のスコアの平均値や中央値や合計を算出する。その他、多数のスコアから代表値を算出する演算方法は問わない。
(ステップS321)評価出力部1315は、評価対象と、ステップS320で算出した評価を対にして、記録媒体に蓄積する。処理を終了する。
なお、図3のフローチャートにおいて、評価対象に対する評価語が、一文中に複数存在する場合には、例えば、複数の評価語に対する複数のスコアを用いて、処理を行うことが好適である。
また、図3のフローチャートにおいて、評価対象のゆらぎを認識し、ゆらいでいる2種類以上の評価対象を同じ評価対象として取り扱うことは好適である。つまり、例えば、すべて全角文字、大文字からなる「商品XYZ」と、アルファベットが半角文字、大文字からなる「商品XYZ」と、全角文字、小文字からなる「商品xyz」などの表現のゆらぎを考慮して、取り扱うことは好適である。
図3のフローチャートにおいて、評価対象の類義語、関連語(例えば、「味」「料理」「ラーメン」などの料理の種類)を同じ評価対象であるとして、取り扱うことは好適である。
また、図3のフローチャートにおいて、文章群の信頼度により、評価に重み付けをし、その後、変更語によるスコアの変更処理を行った。しかし、上記手順を逆にするなど、他の処理手順でも良い。
また、図3のフローチャートにおいて、ステップS304の解析対象文取得処理は、必須の処理ではない。
また、図3のフローチャートにおいて、一の評価対象が決められて、与えられた。しかし、例えば、多数の文章群から評価対象を自動取得しても良い。例えば、文分割制御部1308が分割し、取得した第二文字列の中の「主題」が有する名詞句(機能語を除いた文字列)を評価対象として、自動取得することは好適である。
なお、図3のフローチャートの処理の後、クライアント装置11から評価指示を受信した場合、当該評価指示が有する評価対象と対になる評価を読み出し、当該評価をクライアント装置11に送信する。
ステップS304の解析対象文取得処理について、図4のフローチャートを用いて説明する。
(ステップS401)解析対象文取得部1307は、i番目の文章群の識別情報(例えば、URLやIRLやサイト名やファイル名など)を取得する。
(ステップS402)解析対象文取得部1307は、ステップS401で取得した識別情報に対応する抽出情報を、抽出タグ情報格納部1305から検索する。例えば、解析対象文取得部1307は、ステップS401で取得した識別情報が管理されているか否かを検索する。
(ステップS403)解析対象文取得部1307は、抽出タグ情報格納部1305に、ステップS401で取得した識別情報に対応する抽出情報が存在するか否かを判断する。抽出情報が存在すればステップS404に行き、抽出情報が存在しなければステップS406に行く。
(ステップS404)解析対象文取得部1307は、抽出タグ情報格納部1305から、ステップS401で取得した識別情報に対応する抽出情報を読み出す。
(ステップS405)解析対象文取得部1307は、ステップS404で取得した抽出情報を用いて、当該抽出情報で特定される1以上の文を、文章群から抽出する。例えば、抽出情報が「タグ<XXX>」である場合、解析対象文取得部1307は、文章群から、タグ<XXX>と、タグ</XXX>で囲まれている文(情報)を読み出し、メモリ上に配置する。かかるメモリ上に配置した1以上の文が、解析対象文である。なお、解析対象文取得部1307は、取得した情報からタグを除いて、文のみを取得することは好適である。上位関数にリターンする。
(ステップS406)解析対象文取得部1307は、i番目の全文章を解析対象文として取得する。上位関数にリターンする。なお、例えば、文章群がHTMLファイルである場合、解析対象文取得部1307は、全文章中からタグを除いたテキストファイルに変換することは好適である。
次に、ステップS310の文分割制御処理の詳細について、図5から図8のフローチャートを用いて説明する。
(ステップS501)要素分割手段13081は、カウンタiに1を代入する。
(ステップS502)要素分割手段13081は、解析対象の文の中に、i番目の文字が存在するか否かを判断する。i番目の文字が存在すればステップS503に行き、i番目の文字が存在しなければステップS513に行く。
(ステップS503)要素分割手段13081は、解析対象の文の中の、i番目の文字から(i+n)番目の文字までの文字列を取得し、バッファ上に置く。nは、固定の数であり、例えば、「5」である。なお、処理対象の文に、i番目の文字から(i+n)番目の文字まで存在しない場合、要素分割手段13081は、i番目の文字から文の最終文字までを取得し、バッファ上に置く。つまり、要素分割手段13081は、i番目の文字から(i+n)番目以下の文字までの文字列を取得し、バッファ上に置く。
(ステップS504)要素分割手段13081は、ステップS503でバッファ上に配置した文字列を、辞書情報格納部1303に検索しにいく。
(ステップS505)要素分割手段13081は、要素分割手段13081は、ステップS504における検索結果において、ステップS503でバッファ上に配置した文字列が、辞書情報格納部1303に存在したか否かを判断する。文字列が存在すればステップS510に行き、文字列が存在しなければステップS506に行く。なお、文字列が存在する場合とは、バッファ上に配置した文字列と一致する文字列が、辞書情報が有する第一文字列に存在する場合である。
(ステップS506)要素分割手段13081は、ステップS503でバッファ上に配置した文字列の長さが、1文字であるか否かを判断する。1文字であればステップS508に行き、1文字でなければステップS507に行く。
(ステップS507)要素分割手段13081は、ステップS503でバッファ上に配置した文字列から最後の文字を削除し、一文字少なくして、i番目から文字列を取得し、バッファ上に配置する。なお、要素分割手段13081は、単に、バッファ上の最終文字を消去するだけでも良い。ステップS504に戻る。
(ステップS508)要素分割手段13081は、i番目の文字に未知語であることを示す情報である「未知語」フラグを付与する。「「未知語」フラグを付与する」とは、i番目の文字が他の文字または文字列と区別できれば良く、例えば、他の文字または文字列に何らかのフラグを付与し、未知語であるi番目の文字には、何も付与しなくても良い。さらに、未知語を格納するバッファがあり、そのバッファに未知語であるi番目の文字を書き込む処理も、「未知語」フラグを付与する処理とする。
(ステップS509)要素分割手段13081は、カウンタiを1、インクリメントする。ステップS502に戻る。
(ステップS510)要素分割手段13081は、バッファ上に配置した文字列と一致する第一文字列と対になる機能語情報、前接続記号、および後接続記号を、辞書情報格納部1303から読み出し、メモリ上に配置する。
(ステップS511)要素分割手段13081は、バッファ上に配置した文字列に対して、ステップS510で読み出した機能語情報、前接続記号、および後接続記号を付与する。
(ステップS512)要素分割手段13081は、カウンタiに、「i+文字列の文字数」を代入する。ステップS502に戻る。なお、「文字列の文字数」の「文字列」は、バッファ上に配置した文字列である。
(ステップS513)要素連結手段13082は、要素分割手段13081が分割した文字列のうち、連結可能な文字列を連結する。かかる連結処理について、図6のフローチャートを用いて、詳細に説明する。
(ステップS514)文字列取得手段13083は、要素連結手段13082が取得した複数の各第二文字列の最後尾の第一文字列に対応する機能語情報または後接続記号から、各第二文字列の種類を特定する情報を決定し、当該複数の各第二文字列の種類を特定する情報と、当該複数の各第二文字列を対にした複数の対の情報をメモリ上に配置する。かかる処理(文分割処理、という)について、図7のフローチャートを用いて、詳細に説明する。
(ステップS515)文字列取得手段13083は、ステップS516で取得した2以上の区切られた各第二文字列と、各第二文字列の種類を特定する情報を対にして、メモリ上に配置する。かかるメモリ配置処理について、図8のフローチャートを用いて、詳細に説明する。処理を終了する。
次に、ステップS513の連結処理について、図6のフローチャートを用いて、詳細に説明する。
(ステップS601)要素連結手段13082は、要素分割手段13081が未知語フラグ(未知語情報の一種)を付与した連続する未知語であり、ひらがなの文字を連結し文字列を構成する。また、要素連結手段13082は、かつ要素分割手段13081が未知語フラグを付与した連続する未知語であり、ひらがなではない文字を連結し文字列を構成する。
(ステップS602)要素連結手段13082は、ステップS601で連結した文字列、または連結されなかった未知語の文字に対してまとまりであることを示す文字列の種類を特定する情報であるまとまり情報を付与する。まとまり情報は、機能語情報の一種である。まとまり情報は、文字列に付与される未知語フラグでも良い。
(ステップS603)要素連結手段13082は、カウンタiに1を代入する。
(ステップS604)要素連結手段13082は、処理対象の文中に、(i+1)番目の、まとめられた文字列(1文字の場合もある)が存在するか否かを判断する。(i+1)番目の文字列が存在すればステップS605に行き、(i+1)番目の文字列が存在しなければ上位関数にリターンする。
(ステップS605)要素連結手段13082は、i番目の文字列の後接続記号と、(i+1)番目の文字列の前接続記号を読み出し、メモリ上に配置する。なお、i番目の文字列の後接続記号は、i番目の文字列の最後の第一文字列と対になる後接続記号である。また、(i+1)番目の文字列の前接続記号は、(i+1)番目の文字列の先頭の第一文字列と対になる前接続記号である。
(ステップS606)要素連結手段13082は、ステップS605で読み出したi番目の文字列の後接続記号と、(i+1)番目の文字列の前接続記号から、i番目の文字列と(i+1)番目の文字列が連結可能であるか否かを判断する。なお、2つの連続する文字列が連結可能であるか否かは、前出の後接続記号と、後出の前接続記号から判断可能であり、要素連結手段13082は、例えば、連結可能な2つの文字列の後接続記号と前接続記号の組の情報(ルール)を保持している。
(ステップS607)要素連結手段13082は、ステップS606における判断結果が、連結可能である、との判断であればステップS608に行き、連結可能でない、との判断であればステップS609に行く。
(ステップS608)要素連結手段13082は、i番目の文字列と、(i+1)番目の文字列を連結する。文字列の連結とは、連結した文字列をバッファに書き込む処理でも良いし、2つの文字列をリンク付けする処理等でも良い。
(ステップS609)要素連結手段13082は、カウンタiを1、インクリメントする。ステップS604に行く。
次に、ステップS514の文分割処理について、図7のフローチャートを用いて、詳細に説明する。
(ステップS701)文字列取得手段13083は、カウンタiに1を代入する。
(ステップS702)文字列取得手段13083は、処理対処の文中に、i番目の第二文字列が存在するか否かを判断する。i番目の第二文字列が存在すればステップS703に行き、i番目の第二文字列が存在しなければ上位関数にリターンする。
(ステップS703)文字列取得手段13083は、i番目の第二文字列の最後尾の第一文字列に対応する機能語情報または後接続記号から、各第二文字列の種類を特定する情報を決定する。具体的には、例えば、第二文字列の種類は、例えば、「主題」、「副題」、「動作」、または「状態」であり、第二文字列の最後尾の第一文字列に対応する機能語情報が「動作」または「状態」であれば、第二文字列の種類は「動作」または「状態」であると、文字列取得手段13083は決定する。また、第二文字列の最後尾の第一文字列に対応する後接続記号が「主題」または「副題」を示す記号である場合は、第二文字列の種類は「主題」または「副題」であると、文字列取得手段13083は決定する。そして、文字列取得手段13083は、i番目の第二文字列と、第二文字列の種類を特定する情報を取り出し、メモリ上に配置する。
(ステップS704)文字列取得手段13083は、カウンタiを1、インクリメントする。ステップS702に戻る。
次に、ステップS515のメモリ配置処理について、図8のフローチャートを用いて、詳細に説明する。
(ステップS801)文字列取得手段13083は、出力する文構造の情報を取得する。出力する文構造の情報は、例えば、文字列取得手段13083があらかじめ格納しており、この情報を文字列取得手段13083が読み出す。また、出力する文構造の情報とは、例えば、「主題,副題,動作|状態」である。これは、「主題を示す文字列」、「副題を示す文字列」,「動作を示す文字列」または「状態を示す文字列」の順で出力することを示す。「主題」、「副題」、「動作」、「状態」などは、文中の文字列の機能や、意義などを示すことを示す。また、「主題」、「副題」、「動作」、「状態」などを、以下、適宜、文要素という。また、出力する文構造の情報の他の例は、「主題,状態」である。これは、「主題を示す文字列」、「状態を示す文字列」の順で出力することを示す。
(ステップS802)文字列取得手段13083は、カウンタiに1を代入する。
(ステップS803)文字列取得手段13083は、ステップS801で読み出した文構造の情報に、i番目の文要素が存在するか否かを判断する。i番目の文要素が存在すればステップS804に行き、i番目の文要素が存在しなければ上位関数にリターンする。
(ステップS804)文字列取得手段13083は、i番目の文要素(例えば、「主題」)の情報を読み出し、当該文要素に対応する種類(例えば、「主題」)を示す第二文字列を検索する。
(ステップS805)文字列取得手段13083は、文要素に対応する種類(例えば、「主題」)を示す第二文字列が存在すればステップS806に行き、存在しなければステップS807に行く。
(ステップS806)文字列取得手段13083は、文要素に対応する種類(例えば、「主題」)を示す第二文字列を取得し、当該第二文字列と、文要素に対応する種類を対にしてバッファに追記する。
(ステップS807)文字列取得手段13083は、カウンタiを1、インクリメントする。ステップS803に戻る。
なお、図8のフローチャートにおいて、文構造の情報に従って、第二文字列の順序を入れ替えてメモリ上に配置したが、かかる文構造の情報に従って第二文字列の順序を入れ替える処理は必須の処理ではない。第二文字列と、その種類を対にして記憶すれば良い。
次に、ステップS315のスコア取得処理について、図9のフローチャートを用いて説明する。
(ステップS901)スコア取得部1310は、評価情報格納部1304を検索し、評価語に対応するスコアを読み出し、メモリ上に配置する。
(ステップS902)スコア取得部1310は、解析対象のi番目の文章群に対する信頼度が存在するか否か、文格納部1302を検索する。
(ステップS903)スコア取得部1310は、ステップS902で行った検索処理の結果、信頼度が存在するか否かを判断する。信頼度が存在すればステップS904に行き、信頼度が存在しなければステップS906に行く。
(ステップS904)スコア取得部1310は、文格納部1302からi番目の文章群に対する信頼度を読み出す。
(ステップS905)スコア取得部1310は、ステップS904で読み出した信頼度を用いて、ステップS901で読み出したスコアを変更し、第二スコアを算出する。なお、信頼度は、例えば、重みであり、スコア取得部1310は、演算式「スコア×信頼度」により、第二スコアを算出する。また、かかる場合、スコア取得部1310は、演算式「スコア×信頼度」の情報を予め格納しており、かかる演算式の情報を読み出し、「スコア」および「信頼度」を演算式に代入し、演算を実行し、第二スコアを得る。
(ステップS906)スコア取得部1310は、ステップS905で算出した第二スコア、またはステップS901で読み出したスコアに、スコアを決定する。上位関数にリターンする。
なお、図9のフローチャートにおいて、一度取得した文章群に対する信頼度は、再度、検索して取得する必要はない。一度取得した文章群に対する信頼度をメモリ上に配置しておき、同一の文章群の信頼度を使用する場合には、メモリから読み出せば良い。
ステップS316のスコア変更処理の詳細について、図10のフローチャートを用いて説明する。
(ステップS1001)変更語取得部1311は、変更情報格納部1306の変更情報が有する変更語の情報を用いて、評価語の前後の所定以内の文字数の距離内に、変更語が存在するか否かを判断する。
(ステップS1002)変更語取得部1311は、ステップS1001で変更語が存在すると判断した場合はステップS1003に行き、存在しないと判断した場合は上位関数にリターンする。
(ステップS1003)変更語取得部1311は、変更情報格納部1306の変更情報が有する変更語にマッチする評価語の前後の所定以内の文字数の距離内の文字列をすべて取得し、メモリ上に配置する。
(ステップS1004)評価変更情報取得部1312は、ステップS1003で取得された1以上の変更語と対になる各評価変更情報を、変更情報格納部1306から取得する。
(ステップS1005)変更スコア算出部1313は、スコア取得部1310が取得したスコアに対して、ステップS1004で取得した1以上の評価変更情報を用いて、スコアを変更し、新たなスコアを算出する。変更スコア算出部1313は、例えば、「スコア×1番目の評価変更情報×2番目の評価変更情報×・・・×n番目の評価変更情報」により、新たなスコアを算出する。上位関数にリターンする。その際、変更語が存在する場合には新たなスコアを、または変更語が存在しない場合には元のスコアをリターンする。
なお、図10のフローチャートにおいて、変更語取得部1311は、評価語の前後の所定以内の文字数の距離内に、変更語が存在するか否かを判断した。しかし、変更語の存在を検索する対象の文字列は、例えば、評価語が含まれる第二文字列など、他のアルゴリズムや、他の範囲でも良い。
以下、本実施の形態における評価出力システムの具体的な動作について説明する。評価出力装置の概念図は図1である。
まず、文格納部1302は、図11に示す文章群情報管理表を保持している。文章群情報管理表は、「ID」「文章群情報」を有するレコードを1以上格納している。「ID」は、レコードを識別する情報であり、表におけるレコード管理のために存在する。「文章群情報」は、「識別情報」「文章群」「信頼度」の属性を有する。「識別情報」は、「文章群」を識別する情報であり、ここでは、「文章群」のURLである。「文章群」は、HTMLで記述されたファイルであり、文章群サーバ装置12に格納されていたファイルである。評価出力装置13は、図示しない手段により、「文章群」を文章群サーバ装置12から受信した、とする。「信頼度」は、URLで特定される「文章群」の信頼度を示す。信頼度は、ここでは、いわゆるホームページの信頼性を示す指標である。ここでの「信頼度」は、「0」から「1」の値をとり得る。信頼度の取得アルゴリズムは、公知のアルゴリズム(例えば、ホームページランキングの決定方法)でも良い。
図12は、辞書情報格納部1303に格納されている辞書情報管理表である。辞書情報管理表は、「第一文字列」「前接続記号」「後接続記号」「機能語情報」の属性を有するレコードを1以上格納している。
図12の「前接続記号」の「−&」は、前に、未知語情報で識別される未知語や、「object」で識別される対象物などが連結されることを示す。「前接続記号」は、他にも「&&」などがあり、「&&」は、前に、「名前」や、未知語や、「object」で識別される対象物などが連結されることを示す。「名前」とは、登録している人や物などの名前である。
また、「後接続記号」の「s%」は、区切りになり得て、「副題」となり得ることを示す。また、「後接続記号」の「&&」は、後に、「名前」や、未知語情報で識別される未知語や、「object」で識別される対象物などが連結されることを示す。また、「後接続記号」の「m%」は、区切りになり得て、「主題」となり得ることを示す。また、「後接続記号」の「n%」は、区切りになり得て、「主題」となり得ることを示す。「m%」と「n%」は、両方とも「主題」となり得るが、「m%」の方が主題になる優先度は高い、ことを意味する。また、「後接続記号」の「−−」は、「action」で識別される文字列が連結されることを示す。また、「後接続記号」の「%=」は、区切りになり得て、かつ、「object」で識別される対象物や「名前」などが連結されることを示す。また、「後接続記号」の「o%」は、区切りになり得て、「準主題」となり得ることを示す。また、「後接続記号」の「%%」は、強制的な区切りであることを示す。
また、「機能語情報」の「object」は、対象物を示す。また、「機能語情報」の「action」は、動作を示す。さらに、「機能語情報」の「state」は、状態を示す。
図13は、評価情報格納部1304に管理されている評価情報管理表である。評価情報管理表は、「評価語」「スコア」の属性値を有するレコードを1以上格納している。本評価情報管理表において、例えば、評価語「良い」のスコアは「+3」、評価語「おしゃれ」のスコアは「+4」等である。
図14は、抽出タグ情報格納部1305に管理されている抽出タグ情報管理表である。抽出タグ情報管理表は、識別情報と抽出情報を有する抽出タグ情報を1以上格納している。ここでは、識別情報はURLである。抽出情報は、開始タグの一部分であり、かかる文字列を有する開始タグから、対応する終了タグ(ここでは、</div>)までの文が抽出されることとなる。
図15は、変更情報格納部1306に管理されている変更情報管理表である。変更情報管理表は、「変更語」「評価変更情報」の属性値を有するレコードを1以上格納している。本評価情報管理表において、「評価変更情報」は、スコアに対して乗算される数値である。
以上の状況において、評価出力装置13は、予め評価を蓄積するために、多数の文章群サーバ装置12(Webページが存在するサーバ装置)から、ホームページ(文章群の一種)を収集し、文章群管理部1201に蓄積している、とする。
そして、例えば、評価出力装置13は、文格納部1302の文章群を順に読み出し、評価対象を取得し、評価対象について評価を算出し、記録媒体に蓄積する。かかる評価出力装置13の動作について、以下、具体的に説明する。
まず、解析対象文取得部1307は、1番目の文章群(ファイル)を、文格納部1302から読み出す。つまり、解析対象文取得部1307は、図11の「ID=1」の文章群(HTMLファイル)をファイルオープンする。
そして、次に、解析対象文取得部1307は、以下の解析対象文取得処理を行う。つまり、解析対象文取得部1307は、1番目の文章群の識別情報(「http://www.お店紹介.co.jp/」)を、文格納部1302から取得する。次に、解析対象文取得部1307は、識別情報(「http://www.お店紹介.co.jp/」)に対応する抽出情報を、抽出タグ情報格納部1305から検索する。そして、解析対象文取得部1307は、抽出タグ情報格納部1305から抽出情報「<div class=ebody」を読み出す。次に、解析対象文取得部1307は、取得した抽出情報「<div class=ebody」を用いて、タグ「<div class=ebody」に前方一致する開始タグから、対応する終了タグ「</div>」に囲まれた文を、識別情報(「http://www.お店紹介.co.jp/」)で識別される文章群から読み出し、メモリ上に配置する。そして、文「店舗Xは、おしゃれだ。店舗Xが、テレビで評判だ。店舗Xは、おいしいんだ。」などがメモリ上に読み出される。以上で、解析対象文取得処理が完了する。
次に、文分割制御部1308は、以下のように、読み出した各文を分割する。まず、文分割制御部1308は、文「店舗Xは、おしゃれだ。」に対して、分割処理を行う。文分割制御部13の要素分割手段13081は、文「店舗Xは、おしゃれだ。」の中の、1番目の文字から6番目(上記の「n」は「5」である)の文字までの文字列「店舗Xは、お」を取得し、バッファ上に置く(図16の(1))。
そして、要素分割手段13081は、文字列「店舗Xは、お」を、辞書情報格納部1303に検索しにいく。しかし、文字列「店舗Xは、お」に合致する第一文字列が、図12の辞書情報管理表に存在しないので、要素分割手段13081は、先の文字列より1文字少ない文字列「店舗Xは、」を構成する。そして、要素分割手段13081は、文字列「店舗Xは、」をバッファ上に置く(図16の(2))。そして、同様に、要素分割手段13081は、文字列「店舗Xは、」を、辞書情報格納部1303に検索しにいく。しかし、文字列「店舗Xは、」に合致する第一文字列が、図12の辞書情報管理表に存在しないので、要素分割手段13081は、先の文字列より1文字少ない文字列「店舗Xは」を構成し、バッファ上に置く(図16の(3))。そして、要素分割手段13081は、文字列「店舗Xは」を、辞書情報格納部1303に検索しにいく。同様に、文字列「店舗Xは」に合致する第一文字列が、図12の辞書情報管理表に存在しない。そして、要素分割手段13081は、同様の処理により、1文字ずつ文字数を少なくして、辞書情報格納部1303に検索しにいく(図16の(4)から(6))。そして、要素分割手段13081は、最後の文字「店」も図12の辞書情報管理表に存在しない、と判断する。そして、要素分割手段13081は、文字「店」に、未知語であることを示す情報である「未知語」フラグを付与する(図16の(7))。なお、ここでの「未知語」フラグは、情報「未知語」である。
次に、要素分割手段13081は、処理対象の文字列の先頭のポインタを1ずらす。そして、要素分割手段13081は、2番目の文字から6文字分の文字列「舗Xは、おし」を読み出し、バッファに配置する(図16の(8))。そして、同様に、要素分割手段13081は、文字列「舗Xは、おし」を、辞書情報格納部1303に検索しにいく。同様に、文字列「舗Xは、おし」に合致する第一文字列が、図12の辞書情報管理表に存在しない。そして、要素分割手段13081は、同様の処理により、1文字ずつ文字数を少なくして、辞書情報格納部1303に検索しにいく(図16の(9)から(13))。そして、要素分割手段13081は、最後の文字「舗」も図12の辞書情報管理表に存在しない、と判断する。そして、要素分割手段13081は、文字「舗」に、未知語であることを示す情報である「未知語」フラグを付与する(図16の(14))。
次に、要素分割手段13081は、処理対象の文字列の先頭のポインタを1ずらす。そして、要素分割手段13081は、3番目の文字から6文字分の文字列「Xは、おしゃ」を読み出し、バッファに配置する(図16の(15))。そして、同様に、要素分割手段13081は、文字列「Xは、おしゃ」を、辞書情報格納部1303に検索しにいく。同様に、文字列「Xは、おしゃ」に合致する第一文字列が、図12の辞書情報管理表に存在しない。そして、要素分割手段13081は、同様の処理により、1文字ずつ文字数を少なくして、辞書情報格納部1303に検索しにいく(図16の(9)から(13))。そして、要素分割手段13081は、最後の文字「X」も図12の辞書情報管理表に存在しない、と判断する。そして、要素分割手段13081は、文字「X」に、未知語であることを示す情報である「未知語」フラグを付与する(図16の(21))。
次に、要素分割手段13081は、処理対象の文字列の先頭のポインタを1ずらす。そして、要素分割手段13081は、4番目の文字から6文字分の文字列「は、おしゃれ」を読み出し、バッファに配置する(図16の(22))。同様に、文字列「は、おしゃれ」に合致する第一文字列が、図12の辞書情報管理表に存在しない。そして、要素分割手段13081は、同様の処理により、1文字ずつ文字数を少なくして、辞書情報格納部1303に検索しにいく(図16の(23)から(27))。そして、要素分割手段13081は、最後の文字「は」は図12の辞書情報管理表に存在する、と判断する。そして、要素分割手段13081は、バッファ上に配置した文字列と一致する第一文字列「は」と対になる前接続記号「−&」、後接続記号「m%」、および機能語情報「object」を、辞書情報格納部1303から読み出し、メモリ上に配置する。そして、要素分割手段13081は、バッファ上に配置した文字列「は」に対して、読み出した前接続記号「−&」、後接続記号「m%」、および機能語情報「object」を付与する(図16の(28))。
以上の処理を繰り返し、処理対象の文「店舗Xは、おしゃれだ。」について、図16の(x)のようなデータを得る。つまり、「店」「舗」「X」「お」「し」「ゃ」「れ」に対して、「未知語」が付与される。また、「は」に対して、「−&:m%:object」が付与される。また、「、」「。」に対して、「:%%:」が付与される。「:%%:」は、後接続記号が「%%」であることを示す。後接続記号「%%」は、無条件に、後ろが区切られることを示す。さらに、「だ」に対して、「−&:%−:state」が付与される(図16の(x))。
次に、要素連結手段132は、要素分割手段13081が未知語フラグ「未知語」を付与した連続する未知語であり、ひらがなではない文字「店」「舗」「X」を連結し文字列「店舗X」を構成する。また、要素連結手段132は、要素分割手段13081が未知語フラグ「未知語」を付与した連続する未知語であり、ひらがなの連続する文字「お」「し」「ゃ」「れ」を連結した文字列「おしゃれ」を構成する。そして、要素連結手段132は、連結した文字列、または連結されなかった未知語の文字に対してまとまりであることを示す文字列の種類を特定する情報であるまとまり情報(ここでは、「未知語」)を付与し、バッファに書き込む。バッファ内の情報は、図16の(x+1)である。
次に、要素連結手段132は、図16(x+1)の各前後するまとまりの文字列(例えば、「私」と「と」)が連結するか否かを判断し、連結するものは連結させる。
例えば、「店舗X」と「は」は、「店舗X」が未知語で、「は」の前接続記号「−&」により、要素連結手段132は、連結すると判断する。なぜなら、前接続記号「−&」は、前の未知語と連結するからである。そして、要素連結手段132は、「店舗Xは」に対して、「:m%:object」を付与する(図16(x+2)参照)。「:m%:object」は、前接続記号はなし、後接続記号は「m%」、機能語情報は「object」であることを示す。
また、要素連結手段132は、「店舗Xは」と「、」は連結しない、と判断する。「、」は、無条件に、後ろが区切られる記号であり、前の文字列とは結合しない、とする。
そして、要素連結手段132は、「おしゃれ」と「だ」は連結する、と判断し、連結させる。つまり、要素連結手段132は、文字列「おしゃれだ」を構成し、かつ、「:%−:state」を付与する(図16(x+2)参照)。
そして、要素連結手段132は、「おしゃれだ」と「。」は連結しない、と判断する。「。」は、無条件に、後ろが区切られる記号であり、前の文字列とは結合しない、とする。
以上の処理により、要素連結手段132は、2つの第二文字列を得る(図16(x+2)参照)。
次に、文字列取得手段13083は、1番目の第二文字列「店舗Xは」を取得し、当該第二文字列の最後尾の第一文字列「は」に対応する機能語情報「object」または後接続記号「m%」から、第二文字列の種類を「主題」であると、決定する。なお、ここでは、文字列取得手段13083は、後接続記号「m%」から、第二文字列「店舗Xは」の種類を「主題」であると、決定する(図16の(x+3))。
次に、文字列取得手段13083は、2番目の第二文字列「おしゃれだ」を取得し、当該第二文字列の最後尾の第一文字列「だ」に対応する機能語情報「state」または後接続記号「%−」から、第二文字列の種類を「状態」であると、決定する。なお、ここでは、文字列取得手段13083は、機能語情報「state」から、第二文字列「おしゃれだ」の種類を「状態」であると、決定する(図16の(x+3))。
次に、文字列取得手段13083は、出力する(メモリ上に配置する要素の順序を示す文構造「主題,状態」を読み出す。なお、文構造「主題,状態」は、あらかじめ文字列取得手段13083が保持している、とする。そして、文字列取得手段13083は、文構造「主題,状態」に従って、第二文字列「店舗Xは」「おしゃれだ」をメモリ上に配置する。そして、文字列取得手段13083は、文要素に対応する種類の情報も、第二文字列と対にして、メモリ上に書き込む。そして、文字列取得手段13083は、「店舗Xは:主題,おしゃれだ:状態」を得る。以上の処理により、文「店舗Xは、おしゃれだ。」を、「主題」と「状態」に分割できた。
次に、評価対象取得部1309は、メモリ上に配置された情報から、文分割制御部1308が取得した第二文字列の種類「主題」から評価の対象を含む第二文字列「店舗Xは」を特定し、当該第二文字列「店舗Xは」から評価対象「店舗X」を取得する。
次に、スコア取得部1310は、評価対象を含む第二文字列「店舗X」を有する文中の他の特定の第二文字列の種類(例えば、「状態」)に対応する第二文字列「おしゃれだ」を取得する。
次に、スコア取得部1310は、取得した第二文字列「おしゃれだ」中に、評価語を含むか否か決定するために、評価情報格納部1304が有する1以上の評価語を各々読み出し、当該各評価語をキーとして、第二文字列「おしゃれだ」を検索する。そして、評価情報格納部1304の一つの評価語「おしゃれ」が、第二文字列「おしゃれだ」中に含まれることを検知する。
そして、スコア取得部1310は、評価情報格納部1304を検索し、評価語「おしゃれ」に対応するスコア「+4」を読み出し、メモリ上に配置する。
次に、スコア取得部1310は、解析対象の1番目の文章群(「http://www.お店紹介.co.jp/」で特定されるファイル)に対する信頼度が存在するか否か、文格納部1302を検索する。そして、1番目の文章群(「http://www.お店紹介.co.jp/」で特定されるファイル))に対する信頼度は存在するので、スコア取得部1310は、1番目の文章群(「http://www.お店紹介.co.jp/」で特定されるファイル))に対する信頼度「1.0」を読み出す。次に、スコア取得部1310は、読み出した信頼度「1.0」と読み出したスコア「+4」を用いて、「(+4)×1.0=4」と新しいスコアを算出し、メモリ上に一時的に配置する。なお、ここでは、信頼度が「1.0」であるため、最初のスコアは変更されない。
次に、スコア変更処理を行おうとするが、変更語が対象文中に含まれないので、スコアの変更処理は行われない。
次に、文分割制御部1308は、2つ目の文「店舗Xが、テレビで評判だ。」を、上記の処理と同様に、以下のように分割する。つまり、文分割制御部13の要素分割手段13081は、文「店舗Xが、テレビで評判だ。」の中の、1番目の文字から6番目(上記の「n」は「5」である)の文字までの文字列「店舗Xが、テ」を取得し、バッファ上に置く(図17の(1))。
そして、要素分割手段13081は、文字列「店舗Xが、テ」を、辞書情報格納部1303に検索しにいく。しかし、文字列「店舗Xが、テ」に合致する第一文字列が、図12の辞書情報管理表に存在しないので、要素分割手段13081は、先の文字列より1文字少ない文字列「店舗Xが、」を構成する。そして、要素分割手段13081は、文字列「店舗Xが、」をバッファ上に置く(図17の(2))。そして、同様に、要素分割手段13081は、文字列「店舗Xが、」を、辞書情報格納部1303に検索しにいく。しかし、文字列「店舗Xが、」に合致する第一文字列が、図12の辞書情報管理表に存在しないので、要素分割手段13081は、先の文字列より1文字少ない文字列「店舗Xが」を構成し、バッファ上に置く(図17の(3))。そして、要素分割手段13081は、文字列「店舗Xが」を、辞書情報格納部1303に検索しにいく。同様に、文字列「店舗Xが」に合致する第一文字列が、図12の辞書情報管理表に存在しない。そして、要素分割手段13081は、同様の処理により、1文字ずつ文字数を少なくして、辞書情報格納部1303に検索しにいく(図17の(4)から(6))。そして、要素分割手段13081は、最後の文字「店」も図12の辞書情報管理表に存在しない、と判断する。そして、要素分割手段13081は、文字「店」に、未知語であることを示す情報である「未知語」フラグを付与する(図17の(7))。なお、ここでの「未知語」フラグは、情報「未知語」である。
次に、要素分割手段13081は、処理対象の文字列の先頭のポインタを1ずらす。そして、要素分割手段13081は、2番目の文字から6文字分の文字列「舗Xが、テレ」を読み出し、バッファに配置する(図17の(8))。そして、同様に、要素分割手段13081は、文字列「舗Xが、テレ」を、辞書情報格納部1303に検索しにいく。同様に、文字列「舗Xが、テレ」に合致する第一文字列が、図12の辞書情報管理表に存在しない。そして、要素分割手段13081は、同様の処理により、1文字ずつ文字数を少なくして、辞書情報格納部1303に検索しにいく(図17の(9)から(13))。そして、要素分割手段13081は、最後の文字「舗」も図12の辞書情報管理表に存在しない、と判断する。そして、要素分割手段13081は、文字「舗」に、未知語であることを示す情報である「未知語」フラグを付与する(図17の(14))。
次に、要素分割手段13081は、処理対象の文字列の先頭のポインタを1ずらす。そして、要素分割手段13081は、3番目の文字から6文字分の文字列「Xが、テレビ」を読み出し、バッファに配置する(図17の(15))。そして、同様に、要素分割手段13081は、文字列「Xが、テレビ」を、辞書情報格納部1303に検索しにいく。同様に、文字列「Xが、テレビ」に合致する第一文字列が、図12の辞書情報管理表に存在しない。そして、要素分割手段13081は、同様の処理により、1文字ずつ文字数を少なくして、辞書情報格納部1303に検索しにいく(図17の(9)から(13))。そして、要素分割手段13081は、最後の文字「X」も図12の辞書情報管理表に存在しない、と判断する。そして、要素分割手段13081は、文字「X」に、未知語であることを示す情報である「未知語」フラグを付与する(図17の(21))。
次に、要素分割手段13081は、処理対象の文字列の先頭のポインタを1ずらす。そして、要素分割手段13081は、4番目の文字から6文字分の文字列「が、テレビで」を読み出し、バッファに配置する(図17の(22))。同様に、文字列「が、テレビで」に合致する第一文字列が、図12の辞書情報管理表に存在しない。そして、要素分割手段13081は、同様の処理により、1文字ずつ文字数を少なくして、辞書情報格納部1303に検索しにいく(図17の(23)から(27))。そして、要素分割手段13081は、最後の文字「が」は図12の辞書情報管理表に存在する、と判断する。そして、要素分割手段13081は、バッファ上に配置した文字列と一致する第一文字列「が」と対になる前接続記号「−&」、後接続記号「n%」、および機能語情報「object」を、辞書情報格納部1303から読み出し、メモリ上に配置する。そして、要素分割手段13081は、バッファ上に配置した文字列「が」に対して、読み出した前接続記号「−&」、後接続記号「n%」、および機能語情報「object」を付与する(図17の(28))。
以上の処理を繰り返し、処理対象の文「店舗Xが、テレビで評判だ。」について、図17の(x)のようなデータを得る。つまり、「店」「舗」「X」「テ」「レ」「ビ」「評」「判」に対して、「未知語」が付与される。また、「が」に対して、「−&:n%:object」が付与される。また、「、」「。」に対して、「:%%:」が付与される。また、「で」に対して、「−&:s%:object」が付与される。さらに、「だ」に対して、「−&:%−:state」が付与される(図17の(x))。
次に、要素連結手段132は、要素分割手段13081が未知語フラグ「未知語」を付与した連続する未知語であり、ひらがなではない文字「店」「舗」「X」を連結し文字列「店舗X」を構成する。また、要素連結手段132は、要素分割手段13081が未知語フラグ「未知語」を付与した連続する未知語であり、ひらがなではない文字「テ」「レ」「ビ」を連結し文字列「テレビ」を構成する。また、要素連結手段132は、要素分割手段13081が未知語フラグ「未知語」を付与した連続する未知語であり、ひらがなではない文字「評」「判」を連結し文字列「評判」を構成する。そして、要素連結手段132は、連結した文字列、または連結されなかった未知語の文字に対してまとまりであることを示す文字列の種類を特定する情報であるまとまり情報(ここでは、「未知語」)を付与し、バッファに書き込む。バッファ内の情報は、図17の(x+1)である。
次に、要素連結手段132は、図17(x+1)の各前後するまとまりの文字列(例えば、「店舗X」と「が」)が連結するか否かを判断し、連結するものは連結させる。
例えば、「店舗X」と「が」は、「店舗X」が未知語で、「が」の前接続記号「−&」により、要素連結手段132は、連結すると判断する。そして、要素連結手段132は、「店舗Xが」に対して、「:n%:object」を付与する(図17(x+2)参照)。「:n%:object」は、前接続記号はなし、後接続記号は「n%」、機能語情報は「object」であることを示す。
また、同様に、要素連結手段132は、「テレビ」と「で」は連結する、と判断し、連結させる。つまり、要素連結手段132は、文字列「テレビで」を構成し、かつ、「:s%:object」を付与する(図17(x+2)参照)。なお、図17(x+2)において、前接続記号が存在しないことを「−」で示している。
そして、同様に、要素連結手段132は、「評判」と「だ」は連結する、と判断し、連結させる。つまり、要素連結手段132は、文字列「評判だ」を構成し、かつ、「:%−:state」を付与する(図17(x+2)参照)。
以上の処理により、要素連結手段132は、3つの第二文字列を得る(図17(x+2)参照)。
次に、文字列取得手段13083は、1番目の第二文字列「店舗Xが」を取得し、当該第二文字列の最後尾の第一文字列「が」に対応する機能語情報「object」または後接続記号「n%」から、第二文字列の種類を「主題」であると、決定する。なお、ここでは、文字列取得手段13083は、後接続記号「n%」から、第二文字列「店舗Xが」の種類を「主題」であると、決定する(図17の(x+3))。
次に、文字列取得手段13083は、2番目の第二文字列「評判だ」を取得し、当該第二文字列の最後尾の第一文字列「だ」に対応する機能語情報「state」または後接続記号「%−」から、第二文字列の種類を「状態」であると、決定する。なお、ここでは、文字列取得手段13083は、機能語情報「state」から、第二文字列「評判だ」の種類を「状態」であると、決定する(図17の(x+3))。
次に、文字列取得手段13083は、メモリ上に配置する要素の順序を示す文構造「主題,状態」を読み出す。なお、文構造「主題,状態」は、あらかじめ文字列取得手段13083が保持している、とする。そして、文字列取得手段13083は、文構造「主題,状態」に従って、第二文字列「店舗Xが」「評判だ」をメモリ上に配置する。そして、文字列取得手段13083は、文要素に対応する種類の情報も、第二文字列と対にして、メモリ上に書き込む。そして、文字列取得手段13083は、「店舗Xが:主題,評判だ:状態」を得る。以上の処理により、文「店舗Xが、評判だ。」を、「主題」と「状態」に分割できた。
次に、評価対象取得部1309は、メモリ上に配置された情報から、文分割制御部1308が取得した第二文字列の種類「主題」から評価の対象を含む第二文字列「店舗Xが」を特定し、当該第二文字列「店舗Xが」から評価対象「店舗X」を取得する。なお、上記の第一文で取得している評価対象「店舗X」を、そのまま利用しても良いし、評価対象「店舗X」は、予め与えられても良い。
次に、スコア取得部1310は、評価対象を含む第二文字列「店舗X」を有する文中の他の特定の第二文字列の種類(例えば、「状態」)に対応する第二文字列「評判だ」を取得する。
次に、スコア取得部1310は、取得した第二文字列「評判だ」中に、評価語を含むか否か決定するために、評価情報格納部1304が有する1以上の評価語を読み出し、当該各評価語をキーとして、第二文字列「評判だ」を検索する。そして、評価情報格納部1304の評価語がまったく存在しないので、2つ目の文「店舗Xが、評判だ。」の処理は終了する。
次に、文分割制御部1308は、3つ目の文「店舗Xは、おいしいんだ。」に対して、上記と同様の分割処理を行う。そして、要素分割手段13081は、処理対象の文「店舗Xは、おいしいんだ。」について、図18の(x)のようなデータを得る。つまり、「店」「舗」「X」「お」「い」「し」「い」に対して、「未知語」が付与される。また、「は」に対して、「−&:m%:object」が付与される。また、「、」「。」に対して、「:%%:」が付与される。さらに、「んだ」に対して、「−&:s%:state」が付与される(図16の(x))。
次に、要素連結手段132は、要素分割手段13081が未知語フラグ「未知語」を付与した連続する未知語であり、ひらがなではない文字「店」「舗」「X」を連結し文字列「店舗X」を構成する。また、要素連結手段132は、要素分割手段13081が未知語フラグ「未知語」を付与した連続する未知語であり、ひらがなの連続する文字「お」「い」「し」「い」を連結した文字列「おいしい」を構成する。そして、要素連結手段132は、連結した文字列、または連結されなかった未知語の文字に対してまとまりであることを示す文字列の種類を特定する情報であるまとまり情報(ここでは、「未知語」)を付与し、バッファに書き込む。バッファ内の情報は、図18の(x+1)である。
次に、要素連結手段132は、図18(x+1)の各前後するまとまりの文字列(例えば、「おいしい」と「んだ」)が連結するか否かを判断し、連結するものは連結させる。そして、要素連結手段132は、図18(x+2)のデータを得て、当該データをメモリ上に配置する。以上の処理により、要素連結手段132は、2つの第二文字列を得る(図18(x+2)参照)。
次に、文字列取得手段13083は、1番目の第二文字列「店舗Xは」を取得し、当該第二文字列の最後尾の第一文字列「は」に対応する機能語情報「object」または後接続記号「m%」から、第二文字列の種類を「主題」であると、決定する(図16の(x+3))。
次に、文字列取得手段13083は、2番目の第二文字列「おいしいんだ」を取得し、当該第二文字列の最後尾の第一文字列「んだ」に対応する機能語情報「state」または後接続記号「s%」から、第二文字列の種類を「状態」であると、決定する。なお、ここでは、文字列取得手段13083は、機能語情報「state」から、第二文字列「おいしいんだ」の種類を「状態」であると、決定する(図18の(x+3))。
次に、文字列取得手段13083は、文字列取得手段13083は、「店舗Xは:主題,おいしいんだ:状態」を得て、メモリ上に書き込む。以上の処理により、文「店舗Xは、おいしいんだ。」を、「主題」と「状態」に分割できた。
次に、評価対象取得部1309は、メモリ上に配置された情報から、文分割制御部1308が取得した第二文字列の種類「主題」から評価の対象を含む第二文字列「店舗Xは」を特定し、当該第二文字列「店舗Xは」から評価対象「店舗X」を取得する。
次に、スコア取得部1310は、評価対象を含む第二文字列「店舗X」を有する文中の他の特定の第二文字列の種類(例えば、「状態」)に対応する第二文字列「おいしいんだ」を取得する。
次に、スコア取得部1310は、取得した第二文字列「おいしいんだ」中に、評価語を含むか否か決定するために、評価情報格納部1304が有する1以上の評価語を読み出し、当該各評価語をキーとして、第二文字列「おいしいんだ」を検索する。そして、評価情報格納部1304の一つの評価語「おいしい」が、第二文字列「おいしいんだ」中に含まれることを検知する。
そして、スコア取得部1310は、評価情報格納部1304を検索し、評価語「おいしい」に対応するスコア「+4」を読み出し、メモリ上に配置する。
次に、スコア取得部1310は、解析対象の1番目の文章群(「http://www.お店紹介.co.jp/」で特定されるファイル)に対する信頼度「1.0」と読み出したスコア「+4」を用いて、「(+4)×1.0=4」と新しいスコアを算出し、メモリ上に一時的に配置する。なお、ここでは、信頼度が「1.0」であるため、最初のスコアは変更されない。
次に、スコア変更処理を行おうとするが、変更語が対象文中に含まれないので、スコアの変更処理は行われない。
以上により、1番目の文章群(「http://www.お店紹介.co.jp/」で特定されるファイル)に対する処理は完了する。
次に、評価出力装置13は、2番目の文章群(「http://www.ぐるめ.co.jp/」で特定されるファイル)に対する処理を行う。まず、解析対象文取得部1307は、2番目の文章群(ファイル)を、文格納部1302から読み出す。つまり、解析対象文取得部1307は、図11の「ID=2」の文章群(HTMLファイル)をファイルオープンする。
そして、次に、解析対象文取得部1307は、以下の解析対象文取得処理を行う。つまり、解析対象文取得部1307は、2番目の文章群の識別情報(「http://www.ぐるめ.co.jp /」)を、文格納部1302から取得する。次に、解析対象文取得部1307は、識別情報(「http://www.ぐるめ.co.jp/」)に対応する抽出情報を、抽出タグ情報格納部1305から検索する。そして、解析対象文取得部1307は、抽出タグ情報格納部1305から抽出情報「<div class=mainbody」を読み出す。次に、解析対象文取得部1307は、取得した抽出情報「<div class= mainbody」を用いて、タグ「<div class= mainbody」に前方一致する開始タグから、対応する終了タグ「</div>」に囲まれた文を、識別情報(「http://www. ぐるめ.co.jp/」)で識別される文章群から読み出し、メモリ上に配置する。そして、「店舗Xは、あまり綺麗ではない。店舗Xは、おいしい。」などの文がメモリ上に読み出される。以上で、解析対象文取得処理が完了する。
次に、文分割制御部1308は、以下のように、読み出した各文を分割する。まず、文分割制御部1308は、文「店舗Xは、あまり綺麗ではない。」に対して、上記で説明した分割処理を行う。そして、文分割制御部13は、図19の(1)に示すように、文「店舗Xは、あまり綺麗ではない。」を分割し、かつ、「主題」である第二文字列「店舗Xは」と、「状態」である第二文字列「あまり綺麗ではない」を得る。
次に、評価対象取得部1309は、メモリ上に配置された情報から、文分割制御部1308が取得した第二文字列の種類「主題」から評価の対象を含む第二文字列「店舗Xは」を特定し、当該第二文字列「店舗Xは」から評価対象「店舗X」を取得する。
次に、スコア取得部1310は、評価対象を含む第二文字列「店舗X」を有する文中の他の特定の第二文字列の種類(例えば、「状態」)に対応する第二文字列「あまり綺麗ではない」を取得する。
次に、スコア取得部1310は、取得した第二文字列「あまり綺麗ではない」中に、評価語を含むか否か決定するために、評価情報格納部1304が有する1以上の評価語を各々読み出し、当該各評価語をキーとして、第二文字列「あまり綺麗ではない」を検索する。そして、評価情報格納部1304の一つの評価語「綺麗」が、第二文字列「あまり綺麗ではない」中に含まれることを検知する。
そして、スコア取得部1310は、評価情報格納部1304を検索し、評価語「綺麗」に対応するスコア「+4」を読み出し、メモリ上に配置する。
次に、スコア取得部1310は、解析対象の1番目の文章群(「http://www.ぐるめ.co.jp/」で特定されるファイル)に対する信頼度「0.8」を、文格納部1302から検索し、取得する。そして、スコア取得部1310は、スコア「+4」と信頼度「0.8」を用いて、新しいスコア「(+4)×0.8=3.2」を算出し、メモリ上に配置する。
次に、スコア変更処理を行う。つまり、変更語取得部1311は、変更情報格納部1306の変更情報が有する変更語の情報を用いて、評価語「綺麗」の前後の所定以内の文字数(ここでは、例えば、「5」とする。)の距離内に、変更語が存在するか否かを判断する。変更語取得部1311は、第二文字列「あまり綺麗ではない」において、評価語「綺麗」の前後5文字以内に「あまり」、「ではない」という2つの変更語が存在する、と検知し、変更語「あまり」、「ではない」を取得し、メモリ上に配置する。
次に、評価変更情報取得部1312は、取得された変更語「あまり」と対になる評価変更情報「0.5」、変更語「ではない」と対になる評価変更情報「−1」を、変更情報格納部1306から取得し、メモリ上に配置する。
次に、変更スコア算出部1313は、2つの評価変更情報「0.5」「−1」を用いて、スコア「3.2」に対して演算する。ここでは、例えば、変更スコア算出部1313は、「(3.2)×0.5×(−1)=−1.6」の演算を行い、新しいスコア「−1.6」を得て、メモリ上に配置する。
次に、文分割制御部1308は、2つ目の文「店舗Xは、おいしい。」に対して、上記で説明した分割処理を行う。そして、文分割制御部13は、図19の(2)に示すように、文「店舗Xは、おいしい。」を分割し、かつ、「主題」である第二文字列「店舗Xは」と、「状態」である第二文字列「おいしい」を得る。
次に、評価対象取得部1309は、メモリ上に配置された情報から、文分割制御部1308が取得した第二文字列の種類「主題」から評価の対象を含む第二文字列「店舗Xは」を特定し、当該第二文字列「店舗Xは」から評価対象「店舗X」を取得する。
次に、スコア取得部1310は、評価対象を含む第二文字列「店舗X」を有する文中の他の特定の第二文字列の種類(例えば、「状態」)に対応する第二文字列「おいしい」を取得する。
次に、スコア取得部1310は、取得した第二文字列「おいしい」中に、評価語を含むか否か決定するために、評価情報格納部1304が有する1以上の評価語を各々読み出し、当該各評価語をキーとして、第二文字列「おいしい」を検索する。そして、評価情報格納部1304の一つの評価語「おいしい」が、第二文字列「おいしい」中に含まれることを検知する。
そして、スコア取得部1310は、評価情報格納部1304を検索し、評価語「おいしい」に対応するスコア「+4」を読み出し、メモリ上に配置する。
次に、スコア取得部1310は、解析対象の1番目の文章群(「http://www.ぐるめ.co.jp/」で特定されるファイル)に対する信頼度「0.8」とスコア「+4」を用いて、新しいスコア「(+4)×0.8=3.2」を算出し、メモリ上に配置する。
次に、スコア変更処理を行う。しかし、変更語取得部1311は、2つ目の文「店舗Xは、おいしい。」において変更語が存在しない、と判断し、スコア変更処理は行わない。
以上のような処理により、図20に示すような4以上の新しいスコアが算出され、メモリ上に配置された。図20は、文章群から取得した評価語や変更語やスコア等と、新しいスコアが算出されるまで過程を示す一覧表である。
そして、上記のような処理により、すべての文章群に対する解析処理が完了した、とする。
次に、評価算出部1314は、ステップS317で一時格納した1以上のスコアを用いて、評価対象についての評価(代表値)を算出する。ここでは、評価算出部1314は、多数のスコアの平均値を算出する、とする。そして、評価算出部1314は、例えば、「2.5」を得て、メモリ上に配置する。
評価出力部1315は、評価対象「店舗X」と、算出した評価「2.5」を対にして、記録媒体に蓄積する。
また、評価出力装置13は、他の評価対象についても、評価を算出し、評価対象と評価を対にして、記録媒体に蓄積する。そして、評価出力装置13は、記録媒体に、図21に示す評価管理表を蓄積しておく。評価管理表は、「ID」「評価対象」「評価」の属性を有する1以上のレコードを管理している。
そして、クライアント装置11の入力受付部1101は、ユーザから、評価対象「商品G」を含む評価出力指示を受け付けた、とする。次に、評価指示構成部1102は、入力受付部1101が受け付けた評価出力指示から評価指示(例えば、「send_estimation 商品G」)を構成し、メモリ上に配置する。そして、評価指示送信部1103は、評価指示構成部1102が構成した評価指示「send_estimation 商品G」を、評価出力装置13に送信する。
次に、評価出力装置13の受付部1301は、クライアント装置11から、評価対象「商品G」を含む評価指示「send_estimation 商品G」を受信する。すると、図示しない検索部が、「商品G」をキーとして、評価管理表を検索し、評価「−2.8」を得る。そして、評価出力部1315は、評価「−2.8」を、クライアント装置11に送信する。そして、クライアント装置11の評価受信部1104は、評価指示送信部1103の評価指示の送信に対応して、対象物の評価「−2.8」を受信する。次に、評価表示部1105は、評価受信部1104が受信した評価「−2.8」を、ディスプレイに表示する。ディスプレイへの評価の表示態様は、例えば、図22である。
以上、本実施の形態によれば、商品やサービスや人などの対象物などの評判を、正確に分析できる。特に、口語体の文章、文法的にいいかげんな文や、倒置が発生している文なども頻出するブログや掲示板の、ファイルや文章を対象にして、対象物の評判を分析でき、ユーザに知らせることができる。その結果、例えば、ブロクや掲示板の大量の書き込みの情報を有効に用いて、ユーザは商品やサービスの購入ができる。また、商品やサービスを提供する企業にとっても、現在の自社、自社製品やサービスの世間での評判が容易に、かなりの確度で把握でき、リスク管理に大いに役立つ。
また、本実施の形態によれば、評価語に対する評価の変更を示す言い回しの用語である変更語(例えば、「ではない」など)も考慮して、スコアを変更する機能を有するので、商品やサービスや人などの対象物などの評判を、さらに正確に分析できる。
また、本実施の形態によれば、解析対象となる文章群(例えば、ブログやホームページ)の情報の信頼性を考慮した評判の分析が可能となり、商品やサービスや人などの対象物などの評判を、さらに正確に分析できる。
また、本実施の形態における、文分割制御部1308における言語処理では、あいまいな文法の文や、倒置が発生している文なども、精度高く解析できる。例えば、解析対象の文「私と行った佐藤さんが」という口語体の文に対して、文分割制御部1308は、以下の3つの第二文字列に分割できる。第一は、種類「副題」の「私と」、第二は種類「動作」の「行った」、第三は種類「主題」の「佐藤さんが」である。
さらに、本実施の形態によれば、ブログやホームページなどの文章群の中で、解析対象として不必要な文章を、除くことができる。その結果、高速で、正確な処理が可能となる。
なお、本実施の形態によれば、言語処理の対象は、日本語を例にとり説明したが、他の言語でも良い。なお、対処の言語は、膠着語が好適である。なお、膠着語とは、言語の形態論上の分類のひとつである。膠着語に分類される言語は、ある単語に接頭辞や接尾辞のような形態素を付着させることで、その単語の文の中での文法関係を示す特徴を持つ。膠着語に分類される言語は、日本語、朝鮮語、満州語、モンゴル語、トルコ語、フィンランド語、ハンガリー語、タミル語などである。なお、スワヒリ語やドイツ語、エスペラント、ビルマ語なども部分的に膠着語的性質を持つ。但し、英語などを対象としても良い。
さらに、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD−ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における評価出力装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、記憶媒体に、解析対象の文を1以上格納しており、かつ、記憶媒体に、第一文字列と、文中における前記第一文字列の機能または種類を特定する情報である機能語情報と、前記第一文字列の前に接続され得る文字列の種類を特定する情報である前接続記号と、前記第一文字列の後ろに接続され得る文字列の種類、または区切りであることを示す記号であり、当該記号により区切られた文中における第二文字列の種類を特定する情報である後接続記号とを対に有する辞書情報を1以上格納しており、かつ、記憶媒体に、評価対象の良し悪しに関する用語である評価語、および良し悪しの程度を示すスコアを対に有する評価情報を1以上格納しており、コンピュータに、前記記憶媒体の1以上の文を読み出し、各文について、当該各文から区切りであることを示す後接続記号に対する第一文字列を取り出し、当該第一文字列をキーにして、文を2以上の文字列である2以上の第二文字列に区切り、当該第二文字列の最後尾の第一文字列に対応する機能語情報または後接続記号から、前記第二文字列の種類を特定する情報を取得し、当該第二文字列と第二文字列の種類を特定する情報を取得する文分割制御ステップと、前記文分割制御ステップで取得した第二文字列の種類から評価の対象を含む第二文字列を特定し、当該第二文字列から評価対象を取得する評価対象取得ステップと、前記評価対象を含む第二文字列を有する文中の他の第二文字列の種類を用いて評価語を含み得る第二文字列を特定し、当該第二文字列が有する評価語を前記評価情報格納部から検索し、当該検索した評価語と対になるスコアを前記記憶媒体から取得するスコア取得ステップと、前記評価対象取得ステップで取得した同一の評価対象についての1以上のスコアを用いて、当該評価対象についての評価を算出する評価算出ステップと、前記評価算出ステップで算出した評価対象の評価を出力する評価出力ステップを実行させるためのプログラム、である。
また、上記プログラムにおいて、さらに、記憶媒体に、評価語に対する評価の変更を示す言い回しの用語である変更語、および評価を変更するための情報である評価変更情報の対である変更情報を1以上格納しており、コンピュータに、評価語から所定以内の文字数の距離内にある変更語を取得し、メモリ上に配置する変更語取得ステップと、前記変更語と対になる評価変更情報を、前記記憶媒体から取得する評価変更情報取得ステップと、前記スコア取得ステップで取得したスコアに対して、前記評価変更情報取得ステップで取得した評価変更情報を用いて、スコアを変更し、新たなスコアを算出し、当該スコアをメモリ上に配置する変更スコア算出ステップとをさらに実行させ、前記評価算出部は、前記評価対象取得ステップで取得した同一の評価対象についての1以上のスコア、および前記変更スコア算出部が算出した同一の評価対象についての1以上の新たなスコアを用いて、当該評価対象についての評価を算出し、メモリ上に配置する、ことは好適である。
また、上記プログラムにおいて、前記記憶媒体に、1以上の文を有する文章群と、当該文章群に対する信頼度を対に有する文章群情報を複数格納しており、前記評価算出ステップ、または前記評価算出ステップおよび前記変更スコア算出ステップにおいて、前記スコアに対して、信頼度を用いて重み付けして、第二スコアを算出し、メモリ上に配置し、前記評価算出ステップにおいて、同一の評価対象についての前記1以上の第二スコアを用いて、当該評価対象についての評価を算出し、メモリ上に配置する、ことは好適である。
また、上記プログラムにおいて、前記記憶媒体に、1以上の文を有し、タグにより構造化されている文章群と、当該文章群を識別する識別情報の対からなる文章群情報を複数格納しており、さらに、記憶媒体に、文章群を識別する識別情報、および構造化されている文章群から解析対象の文を抽出するための情報であり、タグを有する情報である抽出情報の対からなる抽出タグ情報を格納しており、コンピュータに、前記記憶媒体から、文章群情報が有する識別情報と対になる抽出情報を読み出し、当該抽出情報を用いて、前記文章群情報が有する文章群から、解析対象の1以上の文を取得し、メモリ上に配置する解析対象文取得ステップをさらに実行させ、前記文分割制御ステップにおいて、前記解析対象文取得ステップで取得した解析対象の1以上の各文について、第二文字列と第二文字列の種類を特定する情報を取得し、メモリ上に配置する、ことは好適である。
また、上記プログラムにおいて、前記文分割制御ステップは、前記記憶媒体の文をメモリ上に読み出し、当該文の先頭から予め決められたサイズ(n文字[nは2以上の整数])の第三文字列を切り出し、メモリ上に配置し、前記切り出した第三文字列を構成する文字列であって、先頭からn文字の文字列から順に、前記記憶媒体に当該文字列が存在するか否かを判断し、n文字の文字列が存在しない場合には、先頭から(n−1)文字の文字列が前記辞書情報格納部に当該文字列が存在するか否かを判断し、かかる判断を、1文字ずつ文字数を減らして、文字列が存在するまで行い、または、文字列が存在しない場合には、先頭から1文字になるまでかかる判断を行い、文字列が存在すると判断した場合には、当該文字列に対応する機能語情報と前接続記号と後接続記号とを、前記辞書情報格納部から読み出し、読み出した機能語情報と前接続記号と後接続記号とを当該文字列に付与し、文字列が存在しない場合には、1文字の文字列に対して未知語であることを示す情報である未知語情報を付与する要素分割ステップと、前記要素分割ステップにおいて未知語情報を付与した連続する未知語でありひらがなの文字を連結し文字列を構成し、かつ連続する未知語であり、ひらがなではない文字を連結し文字列を構成し、前記連結した文字列、または連結されなかった未知語の文字に対してまとまりであることを示す文字列の種類を特定する情報であるまとまり情報を付与し、隣接する前記要素分割ステップにおいて分割した要素またはまとまり情報が有する、前出の要素またはまとまり情報の後接続記号と、後出の要素またはまとまり情報の前接続記号を読み出し、当該前出の要素またはまとまり情報の後接続記号と、後出の要素またはまとまり情報の前接続記号から、前出の要素またはまとまり情報と後出の要素またはまとまり情報が連結可能であるか否かを判断し、連結可能な要素またはまとまり情報を一つの文字列にまとめて、複数の第二文字列を取得する要素連結ステップと、前記要素連結ステップにおいて取得した複数の各第二文字列の最後尾の第一文字列に対応する機能語情報または後接続記号から、前記各第二文字列の種類を特定する情報を決定し、当該複数の各第二文字列の種類を特定する情報と、当該複数の各第二文字列を対にした複数の対の情報をメモリ上に配置する文字列取得ステップを具備する、ことは好適である。
(実施の形態2)
本実施の形態において、評価対象を、複数の指標(例えば、飲食店の味,価格,接客など)で評価し、その複数の指標の評価結果を、レーダーチャート等の出力態様で出力する評価出力システムについて説明する。
図23は、本実施の形態における評価出力装置のブロック図である。評価出力システムは、クライアント装置11、1以上の文章群サーバ装置12、評価出力装置233を具備する。
評価出力装置233は、受付部1301、文格納部1302、辞書情報格納部1303、評価情報格納部1304、抽出タグ情報格納部1305、変更情報格納部1306、解析対象文取得部1307、文分割制御部1308、評価対象取得部1309、スコア取得部1310、変更語取得部1311、評価変更情報取得部1312、変更スコア算出部1313、評価算出部23314、評価出力部23315、評価対象格納部23301を具備する。
評価対象格納部23301は、2以上の評価対象を格納している。2以上の評価対象は、例えば、あるレストラン「XXXレストラン」について「味」「利便性」「雰囲気」「値段」「接客」の5つである。評価対象格納部23301は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
評価算出部23314は、2以上の評価対象についての評価を、それぞれ算出する。評価算出部23314は、各評価対象についての1以上の第二スコアを用いて、当該評価対象についての評価を算出する。評価算出部23314は、評価対象取得部1309が取得した各評価対象についての1以上のスコアを用いて、当該評価対象についての評価を算出する。また、評価算出部23314は、評価対象取得部1309が取得した評価対象についての1以上のスコア、および変更スコア算出部1313が算出した評価対象についての1以上の新たなスコアを用いて、当該評価対象についての評価を算出することは好適である。さらに、評価算出部23314は、評価対象についての1以上の第二スコアを用いて、当該評価対象についての評価を算出しても良い。第二スコアは、スコアに対して、信頼度を用いて重み付けしたスコアである。信頼度が管理されている場合、当該信頼度を用いて第二スコアを算出する処理を行うのは、評価算出部23314でも、変更スコア算出部1313でも良い。評価算出部23314は、通常、MPUやメモリ等から実現され得る。評価算出部23314の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
評価出力部23315は、評価算出部23314が算出した2以上の評価対象の評価を出力する。ここで、出力とは、ここでは、通常、クライアント装置11への送信であるが、ディスプレイへの表示、プリンタへの印字、音出力、記録媒体への蓄積等でも良い。評価出力装置233は、例えば、定期的に、1以上の文章群サーバ装置12から、新しい文章群を取得し、評価出力部23315は、クライアント装置11からの要求とは独立に、対象物の評価を図示しない記録媒体(通常、ハードディスクや光ディスク等の不揮発性の記録媒体)に蓄積しても良い。そして、受付部1301が、クライアント装置11から評価指示を受信した場合に、評価出力部23315は、ユーザが欲する対象物の評価を、記録媒体から読み出し、送信しても良い。評価出力部1315は、例えば、無線または有線の通信手段や、放送手段で実現され得る。また、評価出力部23315は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
次に、評価出力システムの動作について説明する。本評価出力システムにおけるクライアント装置11、文章群サーバ装置12の動作について、実施の形態1で説明したので、ここでの説明は省略する。また、評価出力装置233について、評価対象格納部23301に格納されている複数の評価対象について、評価対象の数だけ、実施の形態1における動作を繰り返し行う。つまり、評価算出部23314は、各評価対象に対して、評価を算出する。そして、評価出力部23315は、評価算出部23314が算出した2以上の評価対象の評価を出力する。出力態様は、表、レーダーチャートなど、問わない。
例えば、「XXXレストラン」の評価について、評価算出部23314は、「味」「利便性」「雰囲気」「値段」「接客」の5つ評価指標で評価を行い、図24に示すように、評価出力部23315は、レーダーチャートを用いて、出力する。また、評価出力部23315は、図25に示すように、「XXXレストラン」の評価結果を、図25に示すような表を用いても良い。なお、かかる表において、「評価軸」の「味・料理」は、評価対象「味」と同じである。また、「評価軸」の「味・料理」について、評価対象「味」「料理」「具体的な料理名」など、多数の評価対象が同じものを評価しているものとして、評価出力装置がとらえ、複数の評価対象の評価を用いて、同じ評価対象に対する評価として、評価を算出しても良い。
また、「評価軸」の「接客・サービス」は、評価対象「接客」と同じである。そして、「評価軸」の「接客・サービス」についても、評価対象「接客」「サービス」その他の類義語を評価対象として、多数の評価を算出し、多数の評価から一の評価を算出しても良い。
また、図25において、「評価」の「とても良い」等の文字列は、ランクの範囲に対して、予め決まれている、とする。つまり、「ランク」が「8.0〜10.0」は「とても良い」であり、「ランク」が「7.0〜7.9」は「リーズナブル」などである。また、「評価」の文字列は、「評価軸」ごとに設定されていても良いことは言うまでもない。
以上、本実施の形態によれば、商品やサービスや人などの対象物などの評判を、多角的に正確に分析できる。
なお、本実施の形態における評価出力装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、記憶媒体に、解析対象の文を1以上格納しており、かつ、記憶媒体に、第一文字列と、文中における前記第一文字列の機能または種類を特定する情報である機能語情報と、前記第一文字列の前に接続され得る文字列の種類を特定する情報である前接続記号と、前記第一文字列の後ろに接続され得る文字列の種類、または区切りであることを示す記号であり、当該記号により区切られた文中における第二文字列の種類を特定する情報である後接続記号とを対に有する辞書情報を1以上格納しており、かつ、記憶媒体に、評価対象の良し悪しに関する用語である評価語、および良し悪しの程度を示すスコアを対に有する評価情報を1以上格納しており、コンピュータに、前記記憶媒体の1以上の文を読み出し、各文について、当該各文から区切りであることを示す後接続記号に対する第一文字列を取り出し、当該第一文字列をキーにして、文を2以上の文字列である2以上の第二文字列に区切り、当該第二文字列の最後尾の第一文字列に対応する機能語情報または後接続記号から、前記第二文字列の種類を特定する情報を取得し、当該第二文字列と第二文字列の種類を特定する情報を取得する文分割制御ステップと、前記文分割制御ステップで取得した第二文字列の種類から評価の対象を含む第二文字列を特定し、当該第二文字列から評価対象を取得する評価対象取得ステップと、前記評価対象を含む第二文字列を有する文中の他の第二文字列の種類を用いて評価語を含み得る第二文字列を特定し、当該第二文字列が有する評価語を前記評価情報格納部から検索し、当該検索した評価語と対になるスコアを前記記憶媒体から取得するスコア取得ステップと、前記評価対象取得ステップで取得した同一の評価対象についての1以上のスコアを用いて、当該評価対象についての評価を算出する評価算出ステップと、前記評価算出ステップで算出した評価対象の評価を出力する評価出力ステップを実行させるためのプログラム、である。
また、上記プログラムにおいて、さらに、記憶媒体に、2以上の評価対象を格納しており、前記評価算出ステップにおいて、前記2以上の評価対象についての評価を算出し、前記評価算出ステップにおいて、前記2以上の評価対象の評価を出力するプログラム、であることは好適である。
また、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
また、図26は、本明細書で述べたプログラムを実行して、上述した種々の実施の形態の評価出力装置を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図26は、このコンピュータシステム340の概観図であり、図27は、コンピュータシステム340のブロック図である。
図26において、コンピュータシステム340は、FD(Flexible Disk)ドライブ、CD−ROM(Compact Disk Read Only Memory)ドライブを含むコンピュータ341と、キーボード342と、マウス343と、モニタ344と、マイク345とを含む。
図27において、コンピュータ341は、FDドライブ3411、CD−ROMドライブ3412に加えて、CPU(Central Processing Unit)3413と、CPU3413、CD−ROMドライブ3412及びFDドライブ3411に接続されたバス3414と、ブートアッププログラム等のプログラムを記憶するためのROM(Read−Only Memory)3415と、CPU3413に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのRAM(Random Access Memory)3416と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク3417とを含む。ここでは、図示しないが、コンピュータ341は、さらに、LANへの接続を提供するネットワークカードを含んでも良い。
コンピュータシステム340に、上述した実施の形態の評価出力装置の機能を実行させるプログラムは、CD−ROM3501、またはFD3502に記憶されて、CD−ROMドライブ3412またはFDドライブ3411に挿入され、さらにハードディスク3417に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ341に送信され、ハードディスク3417に記憶されても良い。プログラムは実行の際にRAM3416にロードされる。プログラムは、CD−ROM3501、FD3502またはネットワークから直接、ロードされても良い。
プログラムは、コンピュータ341に、上述した実施の形態の評価出力装置の機能を実行させるオペレーティングシステム(OS)、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム340がどのように動作するかは周知であり、詳細な説明は省略する。
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。