(57)【要約】【課題】複数の文書の中から信頼性の高い文書を選択することによって、信頼性の高い情報を提供できるようにする。【解決手段】上記目的を達成するために、本発明は、複数の文書データに基づいてデータベースを生成する。（ａ）住所を表す文字列である住所文字列と、店舗に関する記述である記事文字列と、を含む文書データを含む複数の文書データを準備する（Ｓ１０）。（ｂ）住所文字列のデータを解析して、住所文字列が表す住所の詳細さを検討する（Ｓ２０〜Ｓ４０）。（ｃ）詳細さの検討結果に基づいて、複数の文書データの中から住所文字列を含む少なくとも一つの文書データを選択する（Ｓ４５，Ｓ５０）。（ｄ）選択された文書データに基づいて、店舗に関するデータベースを生成する（Ｓ６０）。【選択図】図３
2012256356.tif 000002
【特許請求の範囲】
【請求項１】
複数の文書データに基づいてデータベースを生成する方法であって、
（ａ）住所を表す文字列である住所文字列と、店舗に関する記述である記事文字列と、を含む文書データを含む複数の文書データを準備する工程と、
（ｂ）前記住所文字列のデータを解析して、前記住所文字列が表す住所の詳細さを表す詳細レベルデータを生成する工程と、
（ｃ）前記詳細レベルデータに基づいて、前記複数の文書データの中から前記住所文字列を含む少なくとも一つの文書データを選択する工程と、
（ｄ）前記選択された文書データに基づいて、店舗に関するデータベースを生成する工程と、を含む方法。
【請求項２】
請求項１記載の方法であって、
前記工程（ａ）は、
所定の契約をしたユーザに対して、文字列を含み前記ユーザが作成した原文書データをネットワークを介して公開するサービスを提供するサービス提供者のサーバに、前記ネットワークを介してアクセスして、前記原文書データが含む前記文字列に基づいて前記文書データを生成する工程を含む、方法。
【請求項３】
請求項１または２記載の方法であって、
前記工程（ｄ）は、
（ｄ１）前記住所文字列が表す地点の緯度および経度を特定する工程と、
（ｄ２）前記緯度および経度と、前記選択された文書データの前記住所文字列および前記記事文字列の取得先の情報と、を互いに関連づけて含む前記データベースを作成する工程と、を含む方法。
【請求項４】
請求項１ないし３のいずれかに記載の方法であって、
前記工程（ｂ）は、
（ｂ１）前記文書データが含む文字列を、それぞれ１以上の文字からなる複数の語に分解する工程と、
（ｂ２）前記文書データが含む前記語を順に検討し、前記文書データから前記住所文字列を抽出する工程と、を含み、
前記工程（ｂ２）は、
（ｂ３）前記文書データが含む第１の語が、地域を表す語であることを含む所定の第１の条件を満たす場合に、前記第１の語を住所バッファの先頭に格納する工程と、
（ｂ４）前記住所バッファに格納された語に続く第２の語が、所定の第２の条件を満たす場合に、前記第２の語を前記住所バッファに追加的に格納する工程と、
（ｂ５）前記第２の語が、前記第２の条件とは異なる所定の第３の条件を満たす場合に、前記住所バッファ内に格納された文字列を、前記住所文字列として抽出する工程と、を含む、方法。
【請求項５】
請求項４記載の方法であって、
前記工程（ｂ５）は、
前記第３の条件が満たされた場合として、
前記第２の語が、
地域を表す語であること、
「東」、「西」、「南」、「北」、「大字」のいずれかの文字を含むこと、
数を表す語であること、
「字」の文字を含むこと、
のいずれにも該当しない場合に、前記住所バッファ内の文字列を前記住所文字列として抽出する工程を含む、方法。
【請求項６】
請求項４または５記載の方法であって、
前記工程（ｂ５）は、さらに、
前記第３の条件が満たされた場合として、前記第２の語が、前記第２の語の直前に前記工程（ｂ２）において検討された語よりも上位の地域を表す語である場合に、前記住所バッファ内の文字列を前記住所文字列として抽出する工程を含む、方法。
【請求項７】
請求項４ないし６のいずれかに記載の方法であって、
前記工程（ｂ５）は、さらに、
前記第３の条件が満たされた場合として、
前記第２の語が、
数を表す語であること、
数に続いて表示され数の単位を表す所定の語であること、
名詞の後に表示され名詞の属性を表す所定の語であること、
記号であること、
名詞であること、
数に続いて表示され数の接続を表す所定の語であること、
名詞の前および後の少なくとも一方に表示され名詞を修飾する所定の語であること、
のいずれにも該当しない場合に、前記住所バッファ内の文字列を前記住所文字列として抽出する工程を含む、方法。
【請求項８】
請求項４ないし７のいずれかに記載の方法であって、
前記工程（ｂ４）は、
前記第２の条件が満たされた場合として、
前記第２の語が、
地域を表すこと、
「東」、「西」、「南」、「北」、「大字」のいずれかの文字を含むこと、
のいずれかを満たす場合に、前記第２の語を前記住所バッファに追加的に格納する工程を含む、方法。
【請求項９】
請求項４ないし８のいずれかに記載の方法であって、
前記工程（ｂ４）は、さらに、
前記第２の条件が満たされた場合として、
前記第２の語が、
数を表す語であること、
「字」の文字を含むこと、
のいずれかを満たす場合に、前記第２の語を前記住所バッファに追加的に格納する工程を含む、方法。
【請求項１０】
請求項４ないし９のいずれかに記載の方法であって、
前記工程（ｂ４）は、さらに、
前記第２の条件が満たされた場合として、
前記第２の語よりも前に検討された語が、
数を表す語であること、
「字」の文字を含むこと、
のいずれか満たし、かつ、
前記第２の語が、
数を表す語であること、
数に続いて表示され数の単位を表す所定の語であること、
名詞の後に表示され名詞の属性を表す所定の語であること、
記号であること、
名詞であること、
数に続いて表示され数の接続を表す所定の語であること、
名詞の前および後の少なくとも一方に表示され名詞を修飾する所定の語であること、
のいずれかを満たす場合に、前記第２の語を前記住所バッファに追加的に格納する工程を含む、方法。
【請求項１１】
請求項１ないし１０のいずれかに記載の方法であって、
前記工程（ｂ）は、さらに、
（ｂ７）前記住所文字列について、住所の一部であり区域を表す所定の語であって、互いに異なる複数の階層の区域に属する複数の所定の語を含むか否かを検討する工程を含み、
前記工程（ｃ）は、
（ｃ１）前記住所文字列に含まれる前記所定の語の最も下位の階層に基づいて、前記文書データを選択する工程を含む、方法。
【請求項１２】
請求項１１記載の方法であって、
前記複数の階層は、町域の階層と街区の階層とを含み、
前記工程（ｂ７）は、
（ｂ８）前記住所文字列について、上位の階層の区域を表す語から下位の階層の区域を表す語に向かう順番で、前記区域を表す所定の語を含むか否かを検討する工程を含み、
前記工程（ｂ８）は、
前記住所文字列中の、全角または半角のマイナスまたはハイフンで結ばれた数については、
前記全角または半角のマイナスまたはハイフンで結ばれた数の個数、ならびに
それまでに検出された前記町域の階層に含まれる語の有無、およびそれまでに検出された前記街区の階層に含まれる語の有無
に基づいて、前記所定の語を含むか否かの評価と同等の評価を行う工程を含む、方法。
【請求項１３】
請求項１ないし１１のいずれかに記載の方法であって、
前記工程（ｃ）は、さらに、
（ｃ２）前記住所文字列が「京都府」または「京都市」の文字列を含む場合であって、かつ、「上る」、「下る」、「東入る」、「西入る」、「南入る」、「北入る」、「上ル」、「下ル」、「東入ル」、「西入ル」、「南入ル」、「北入ル」のいずれかの文字列を含む場合には、
前記住所文字列が「京都府」および「京都市」の文字列を含まない場合であって、かつ、「丁目」の文字列を含む場合と同等に評価する工程を含む、方法。
【請求項１４】
請求項１記載の方法であって、さらに、
（ｅ）前記文書データ中から電話番号を取得する工程と、
（ｆ）電話番号と住所文字列とが関連づけられて格納されているデータベースを参照しつつ、前記取得された電話番号と関連づけられた住所文字列が、前記文書データに含まれるか否かを決定する工程と、を含み、
前記工程（ｃ）は、前記取得された電話番号と関連づけられた住所文字列を含む文書データを、前記取得された電話番号と関連づけられた住所文字列を含まない文書データに比べて優先的に、前記少なくとも一つの文書データとして選択する工程である、方法。
【請求項１５】
請求項２記載の方法であって、
前記原文書データは、さらに、文字列を含む参照文書データと前記原文書データとを関連づけるためのリンクデータを含み、
前記方法は、さらに、
（ｅ）前記リンクデータに基づいて前記参照文書データを参照しつつ、前記参照文書データが含む前記文字列に基づいてリンク先文書データを生成する工程と、
（ｆ）前記文書データが含む前記住所文字列を前記リンク先文書データが含むか否かを決定する工程と、を含み、
前記工程（ｃ）は、前記リンク先文書データが前記文書データの前記住所文字列を含む文書データを、前記リンク先文書データが前記文書データの前記住所文字列を含まない文書データに比べて優先的に、前記少なくとも一つの文書データとして選択する工程である、方法。
【請求項１６】
複数の文書データに基づいてデータベースを生成するデータベース生成装置であって、
（ａ）住所を表す文字列である住所文字列と、店舗に関する記述である記事文字列と、を含む文書データを含む複数の文書データを準備する文書データ取得部と、
（ｂ）前記住所文字列のデータを解析して、前記住所文字列が表す住所の詳細さを表す詳細レベルデータを生成する住所文字列検討部と、
（ｃ）前記詳細レベルデータに基づいて、前記複数の文書データの中から前記住所文字列を含む少なくとも一つの文書データを選択する文書データ選択部と、
（ｄ）前記選択された文書データに基づいて、店舗に関するデータベースを生成するデータベース生成部と、を含むデータベース生成装置。
【請求項１７】
請求項１６記載の装置であって、
前記文書データ取得部は、
所定の契約をしたユーザに対して、文字列を含み前記ユーザが作成した原文書データをネットワークを介して公開するサービスを提供するサービス提供者のサーバに、前記ネットワークを介してアクセスして、前記原文書データが含む前記文字列に基づいて前記文書データを生成する、装置。
【請求項１８】
請求項１６または１７記載の装置であって、
前記データベース生成部は、
（ｄ１）前記住所文字列が表す地点の緯度および経度を特定し、
（ｄ２）前記緯度および経度と、前記選択された文書データの前記住所文字列および前記記事文字列の取得先の情報と、を互いに関連づけて含む前記データベースを作成する、装置。
【請求項１９】
請求項１６ないし１８のいずれかに記載の装置であって、
前記住所文字列検討部は、
（ｂ１）前記文書データが含む文字列を、それぞれ１以上の文字からなる複数の語に分解し、
（ｂ２）前記文書データが含む前記語を順に検討し、前記文書データから前記住所文字列を抽出し、
前記前記文書データから前記住所文字列を抽出する際には、
（ｂ３）前記文書データが含む第１の語が、地域を表す語であることを含む所定の第１の条件を満たす場合に、前記第１の語を住所バッファの先頭に格納し、
（ｂ４）前記住所バッファに格納された語に続く第２の語が、所定の第２の条件を満たす場合に、前記第２の語を前記住所バッファに追加的に格納し、
（ｂ５）前記第２の語が、前記第２の条件とは異なる所定の第３の条件を満たす場合に、前記住所バッファ内に格納された文字列を、前記住所文字列として抽出する、装置。
【請求項２０】
請求項１９記載の装置であって、
前記住所文字列検討部は、
前記第３の条件が満たされた場合として、
前記第２の語が、
地域を表す語であること、
「東」、「西」、「南」、「北」、「大字」のいずれかの文字を含むこと、
数を表す語であること、
「字」の文字を含むこと、
のいずれにも該当しない場合に、前記住所バッファ内の文字列を前記住所文字列として抽出する、装置。
【請求項２１】
請求項１９または２０記載の装置であって、
前記住所文字列検討部は、さらに、
前記第３の条件が満たされた場合として、前記第２の語が、前記第２の語の直前に前記工程（ｂ２）において検討された語よりも上位の地域を表す語である場合に、前記住所バッファ内の文字列を前記住所文字列として抽出する、装置。
【請求項２２】
請求項１９ないし２１のいずれかに記載の装置であって、
前記住所文字列検討部は、さらに、
前記第３の条件が満たされた場合として、
前記第２の語が、
数を表す語であること、
数に続いて表示され数の単位を表す所定の語であること、
名詞の後に表示され名詞の属性を表す所定の語であること、
記号であること、
名詞であること、
数に続いて表示され数の接続を表す所定の語であること、
名詞の前および後の少なくとも一方に表示され名詞を修飾する所定の語であること、
のいずれにも該当しない場合に、前記住所バッファ内の文字列を前記住所文字列として抽出する、装置。
【請求項２３】
請求項１９ないし２２のいずれかに記載の装置であって、
前記住所文字列検討部は、さらに、
前記第２の条件が満たされた場合として、
前記第２の語が、
地域を表すこと、
「東」、「西」、「南」、「北」、「大字」のいずれかの文字を含むこと、
のいずれかを満たす場合に、前記第２の語を前記住所バッファに追加的に格納する、装置。
【請求項２４】
請求項１９ないし２３のいずれかに記載の装置であって、
前記住所文字列検討部は、さらに、
前記第２の条件が満たされた場合として、
前記第２の語が、
数を表す語であること、
「字」の文字を含むこと、
のいずれかを満たす場合に、前記第２の語を前記住所バッファに追加的に格納する、装置。
【請求項２５】
請求項１９ないし２４のいずれかに記載の装置であって、
前記住所文字列検討部は、さらに、
前記第２の条件が満たされた場合として、
前記第２の語よりも前に検討された語が、
数を表す語であること、
「字」の文字を含むこと、
のいずれか満たし、かつ、
前記第２の語が、
数を表す語であること、
数に続いて表示され数の単位を表す所定の語であること、
名詞の後に表示され名詞の属性を表す所定の語であること、
記号であること、
名詞であること、
数に続いて表示され数の接続を表す所定の語であること、
名詞の前および後の少なくとも一方に表示され名詞を修飾する所定の語であること、
のいずれかを満たす場合に、前記第２の語を前記住所バッファに追加的に格納する、装置。
【請求項２６】
請求項１６ないし２５のいずれかに記載の装置であって、
前記住所文字列検討部は、さらに、
（ｂ７）前記住所文字列について、住所の一部であり区域を表す所定の語であって、互いに異なる複数の階層の区域に属する複数の所定の語を含むか否かを検討し、
前記文書データ選択部は、
（ｃ１）前記住所文字列に含まれる前記所定の語の最も下位の階層に基づいて、前記文書データを選択する、装置。
【請求項２７】
請求項２６記載の装置であって、
前記複数の階層は、町域の階層と街区の階層とを含み、
前記住所文字列検討部は、
前記住所文字列について前記所定の語を含むか否かを検討する際に、
（ｂ８）前記住所文字列について、上位の階層の区域を表す語から下位の階層の区域を表す語に向かう順番で、前記区域を表す所定の語を含むか否かを検討し、
前記順番で、前記区域を表す所定の語を含むか否かを検討する際には、前記住所文字列中の、全角または半角のマイナスまたはハイフンで結ばれた数については、
前記全角または半角のマイナスまたはハイフンで結ばれた数の個数、ならびに
それまでに検出された前記町域の階層に含まれる語の有無、およびそれまでに検出された前記街区の階層に含まれる語の有無
に基づいて、前記所定の語を含むか否かの評価と同等の評価を行う、装置。
【請求項２８】
請求項１６ないし２６のいずれかに記載の装置であって、
前記文書データ選択部は、さらに、
（ｃ２）前記住所文字列が「京都府」または「京都市」の文字列を含む場合であって、かつ、「上る」、「下る」、「東入る」、「西入る」、「南入る」、「北入る」、「上ル」、「下ル」、「東入ル」、「西入ル」、「南入ル」、「北入ル」のいずれかの文字列を含む場合には、
前記住所文字列が「京都府」および「京都市」の文字列を含まない場合であって、かつ、「丁目」の文字列を含む場合と同等に評価する、装置。
【請求項２９】
請求項１６記載の装置であって、さらに、
前記文書データ中から電話番号を取得する電話番号取得部と、
電話番号と住所文字列とが関連づけられて格納されているデータベースを参照しつつ、前記取得された電話番号と関連づけられた住所文字列が、前記文書データに含まれるか否かを決定する電話番号判定部と、を含み、
前記文書データ選択部は、前記取得された電話番号と関連づけられた住所文字列を含む文書データを、前記取得された電話番号と関連づけられた住所文字列を含まない文書データに比べて優先的に、前記少なくとも一つの文書データとして選択する、装置。
【請求項３０】
請求項１７記載の装置であって、
前記原文書データは、さらに、文字列を含む参照文書データと前記原文書データとを関連づけるためのリンクデータを含み、
前記装置は、さらに、
前記リンクデータに基づいて前記参照文書データを参照しつつ、前記参照文書データが含む前記文字列に基づいてリンク先文書データを生成するリンク先文書データ生成部と、
前記文書データが含む前記住所文字列を前記リンク先文書データが含むか否かを決定する住所判定部と、を含み、
前記文書データ選択部は、前記リンク先文書データが前記文書データの前記住所文字列を含む文書データを、前記リンク先文書データが前記文書データの前記住所文字列を含まない文書データに比べて優先的に、前記少なくとも一つの文書データとして選択する、装置。
【請求項３１】
複数の文書データに基づいてデータベースを生成するためのコンピュータプログラムであって、
（ａ）住所を表す文字列である住所文字列と、店舗に関する記述である記事文字列と、を含む文書データを含む複数の文書データを準備する機能と、
（ｂ）前記住所文字列のデータを解析して、前記住所文字列が表す住所の詳細さを表す詳細レベルデータを生成する機能と、
（ｃ）前記詳細レベルデータに基づいて、前記複数の文書データの中から前記住所文字列を含む少なくとも一つの文書データを選択する機能と、
（ｄ）前記選択された文書データに基づいて、店舗に関するデータベースを生成する機能と、をコンピュータに実現させることができるコンピュータプログラム。
【請求項３２】
請求項３１記載のコンピュータプログラムであって、
前記文書データを準備する機能は、
所定の契約をしたユーザに対して、文字列を含み前記ユーザが作成した原文書データをネットワークを介して公開するサービスを提供するサービス提供者のサーバに、前記ネットワークを介してアクセスして、前記原文書データが含む前記文字列に基づいて前記文書データを生成する機能を含む、コンピュータプログラム。
【請求項３３】
請求項３１または３２記載のコンピュータプログラムであって、
前記データベースを生成する機能は、
（ｄ１）前記住所文字列が表す地点の緯度および経度を特定する機能と、
（ｄ２）前記緯度および経度と、前記選択された文書データの前記住所文字列および前記記事文字列の取得先の情報と、を互いに関連づけて含む前記データベースを作成する機能と、を含むコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、文書データが表す情報の質を評価する技術に関する。
【背景技術】
【０００２】
インターネットの利用が一般に普及したことにより、商品やサービスを提供する様々な店舗に関して、一般の消費者が評価を行い、その評価の情報をインターネット上で公開するようになっている。しかし、それらインターネット上で公開されている情報には、第三者の役には立たない不正確なものも含まれる。このため、インターネット上で公開されている情報の中から高精度な情報を抽出することは容易ではない。
【０００３】
ある従来技術においては、ホームページ１０３から主に記述されている情報に関する住所、地名、建物名、企業名、団体名もしくはそれらを導出する語句を抽出し、複数の地図データベース１０８、情報データベース１０９内におけるその情報を検索する。そして、最良の候補を求め、ホームページ１０３と地図上の情報の対を作成する。また、最良と選択された地図上の上から緯度経度もしくは地図特有の直角座標系の座標値を求め、ホームページ１０３と地図上の情報と座標値の組合わせを作成し、座標付きホームページ情報データベース１１０へ転送する。
【０００４】
この技術においては、転送されたホームページ１０３を、デザイン、記述されている情報の公共性及び知名度、情報更新頻度及びホームページ作成者もしくは発信者の本人性及び信頼度で評価する。記述されている情報に関する評価は、一般品詞辞書及び固有名詞辞書１１２、各種の情報データベース１０９も参照して、いくつの情報源にその情報が紹介されているかという情報の出現頻度及び項目の大きさ等による公共性及び知名度の判断、ホームページファイルの作成時間の継続的監視によって求める。ホームページ作成者もしくは発信者の本人性及び信頼度に関する評価は、ホームページ１０３中での情報の記述方法、地図データベース１０８中及び各種の情報データベース１０９中での存在の有無、記述情報に関する検索サービス提供装置からの検索結果をそれぞれ得点化し、デザイン評価における得点とを足し合わせて評価する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０００−３３９３３０号公報
【０００６】
しかし、上記の技術においては、ホームページの評価は、ホームページ上の情報の、他の既存のデータベース中における存在の有無、存在頻度、項目の大きさ等により行っている。このため、たとえばブログ（Weblog）などに記載されているような、一般の消費者が自ら店舗におもむいて収集した最新の情報や、独自の用語や表現で記載された記事については、有意義な情報を含んでいても、高評価が得られない。このような問題は、文書が表す情報の質を評価する際に、広く生じうる。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明は、上記の問題の少なくとも一部を取り扱うものであり、複数の文書の中から信頼性の高い文書を選択することによって、信頼性の高い情報を提供できるようにすることを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明は、複数の文書データに基づいてデータベースを生成する際に、以下のような処理を行う。
（ａ）住所を表す文字列である住所文字列と、店舗に関する記述である記事文字列と、を含む文書データを含む複数の文書データを準備する。
（ｂ）住所文字列のデータを解析して、住所文字列が表す住所の詳細さを表す詳細レベルデータを生成する。
（ｃ）詳細レベルデータに基づいて、複数の文書データの中から住所文字列を含む少なくとも一つの文書データを選択する。
（ｄ）選択された文書データに基づいて、店舗に関するデータベースを生成する。
【０００９】
文書中で住所を詳細に記述する作者は、文書中の他の記述についても正確かつ客観的に行っていると推定できる。よって、上記のような態様とすれば、複数の文書の中から信頼性の高い文書を選択し、その信頼性の高い文書に基づいて、信頼性の高い情報を有するデータベースを生成することができる。
【００１０】
なお、工程（ａ）〜（ｄ）は、コンピュータによって実行されることができる。たとえば、工程（ａ）は、第１のコンピュータが、第１のコンピュータとネットワークで接続された第２のコンピュータ（サーバ）が格納する原文書データから文字列のデータを取得することによって実行されることができる。そして、工程（ｂ）は、第１のコンピュータが詳細レベルデータを生成し、所定の第１のメモリに格納することによって実行されることができる。さらに、工程（ｄ）は、第１のコンピュータがデータベースを生成し、所定の第２のメモリに格納することによって実行されることができる。なお、第１と第２のメモリは、第１のコンピュータ内に設けられていてもよく、第１のコンピュータにネットワークを介して接続されている他の装置内に設けられていてもよい。
【００１１】
なお、複数の文書データの中から住所文字列を含む少なくとも一つの文書データを選択する際には、少なくとも一つの文書データの一つとして、もっとも詳細な住所文字列を含む文書データを選択することが好ましい。
【００１２】
上記（ａ）において、複数の文書データを準備する際には、以下のような処理を行うことが好ましい。すなわち、所定の契約をしたユーザに対して、文字列を含みユーザが作成した原文書データを、ネットワークを介して公開するサービスを提供するサービス提供者のサーバに、ネットワークを介してアクセスして、原文書データが含む前記文字列に基づいて前記文書データを生成する。
【００１３】
このような態様とすれば、店舗と利害関係のないユーザによる店舗の記述を利用可能なデータベースを作成することができる。
【００１４】
上記（ｄ）において、店舗に関するデータベースを生成する際には、以下のような処理を行うことが好ましい。
（ｄ１）住所文字列が表す地点の緯度および経度を特定する。
（ｄ２）緯度および経度と、選択された文書データの前記住所文字列および前記記事文字列の取得先の情報と、を互いに関連づけて含むデータベースを作成する。
【００１５】
このような態様とすれば、店舗に関する記述と、店舗の場所と、の両方の情報を容易に入手できるデータベースを作成することができる。
【００１６】
なお、さらに、データベースを利用したサービスを提供する際には、以下のような処理を行うことが好ましい。
（ｅ１）所定の領域の地図を表す地図データを準備する。
（ｅ２）地図データに基づく地図を表示する。
（ｅ３）地図上の、住所文字列が表す地点の緯度および経度に相当する位置に、所定のマークを表示する。
（ｅ４）ユーザからのマークの指定を受け取って、文書データの前記住所文字列および前記記事文字列の取得先を表すデータを提供する。
【００１７】
上記（ｂ）において、住所文字列が表す住所の詳細さを表す詳細レベルデータを生成する際には、以下のような処理を行うことが好ましい。
（ｂ１）文書データが含む文字列を、それぞれ１以上の文字からなる複数の語に分解する。
（ｂ２）文書データが含む語を順に検討し、文書データから住所文字列を抽出する。
【００１８】
そして、上記（ｂ２）において、住所文字列を抽出する際には、以下のような処理を行うことが好ましい。
（ｂ３）文書データが含む第１の語が、地域を表す語であることを含む所定の第１の条件を満たす場合に、第１の語を住所バッファの先頭に格納する。
（ｂ４）住所バッファに格納された語に続く第２の語が、所定の第２の条件を満たす場合に、第２の語を住所バッファに追加的に格納する。
（ｂ５）第２の語が、第２の条件とは異なる所定の第３の条件を満たす場合に、住所バッファ内に格納された文字列を、住所文字列として抽出する。
【００１９】
このような態様とすれば、個々の語を解析することによって、文書データから住所文字列を抽出することができる。なお、住所バッファ内の文字列を住所文字列として抽出する際の住所バッファは、「直前に語が格納された住所バッファ」とすることが好ましい。
【００２０】
なお、上記（ｂ５）において、住所バッファ内に格納された文字列を、住所文字列として抽出する際には、以下のような処理を行うことが好ましい。
第３の条件が満たされた場合として、
第２の語が、
（下位条件１）地域を表す語であること、
（下位条件２）「東」、「西」、「南」、「北」、「大字」のいずれかの文字を含むこと、
（下位条件３）数を表す語であること、
（下位条件４）「字」の文字を含むこと、
のいずれにも該当しない場合に、住所バッファ内の文字列を住所文字列として抽出する。
【００２１】
このような態様とすれば、「丁目」レベル以下の情報を含まない住所文字列を、住所文字列として抽出することができる。
【００２２】
また、上記（ｂ５）において、住所バッファ内に格納された文字列を、住所文字列として抽出する際には、以下のような処理を行うことも好ましい。
第３の条件が満たされた場合として、第２の語が、第２の語の直前に上記（ｂ２）において検討された語よりも上位の地域を表す語である場合に、住所バッファ内の文字列を住所文字列として抽出する。
【００２３】
このような態様とすれば、文書データ中に２組の住所文字列が連続して記載されているときに、それらを一体の住所文字列ではなく、２組の住所文字列として処理することができる。
【００２４】
さらに、上記（ｂ５）において、住所バッファ内に格納された文字列を、住所文字列として抽出する際には、以下のような処理を行うことも好ましい。
第３の条件が満たされた場合として、
第２の語が、
（下位条件５）数を表す語であること、
（下位条件６）数に続いて表示され数の単位を表す所定の語であること、
（下位条件７）名詞の後に表示され名詞の属性を表す所定の語であること、
（下位条件８）記号であること、
（下位条件９）名詞であること、
（下位条件１０）数に続いて表示され数の接続を表す所定の語であること、
（下位条件１１）名詞の前および後の少なくとも一方に表示され名詞を修飾する所定の語であること、
のいずれにも該当しない場合に、住所バッファ内の文字列を住所文字列として抽出する。
【００２５】
このような態様とすれば、「丁目」、「番地」または「号」レベルの情報を含む住所文字列を、住所文字列として抽出することができる。
【００２６】
上記（ｂ４）において、第２の語を住所バッファに追加的に格納する際には、以下のような処理を行うことが好ましい。
第２の条件が満たされた場合として、
第２の語が、
（下位条件１２）地域を表すこと、
（下位条件１３）「東」、「西」、「南」、「北」、「大字」のいずれかの文字を含むこと、
のいずれかを満たす場合に、第２の語を住所バッファに追加的に格納する。
【００２７】
このような態様とすれば、「字」（あざ）のレベルや「丁目」レベルよりも上位の住所を表す文字列を、住所文字列の一部として抽出することができる。
【００２８】
また、上記（ｂ４）において、第２の語を住所バッファに追加的に格納する際には、以下のような処理を行うことも好ましい。
第２の条件が満たされた場合として、
第２の語が、
（下位条件１４）数を表す語であること、
（下位条件１５）「字」の文字を含むこと、
のいずれかを満たす場合に、第２の語を住所バッファに追加的に格納する。
【００２９】
このような態様とすれば、「字」（あざ）の文字や、「丁目」レベル以下のレベルの住所を表す先頭の数字を、住所文字列の一部として抽出することができる。
【００３０】
さらに、上記（ｂ４）において、第２の語を住所バッファに追加的に格納する際には、以下のような処理を行うことも好ましい。
第２の条件が満たされた場合として、
第２の語よりも前に検討された語が、
（下位条件１４）数を表す語であること、
（下位条件１５）「字」の文字を含むこと、
のいずれか満たし、かつ、
第２の語が、
（下位条件５）数を表す語であること、
（下位条件６）数に続いて表示され数の単位を表す所定の語であること、
（下位条件７）名詞の後に表示され名詞の属性を表す所定の語であること、
（下位条件８）記号であること、
（下位条件９）名詞であること、
（下位条件１０）数に続いて表示され数の接続を表す所定の語であること、
（下位条件１１）名詞の前および後の少なくとも一方に表示され名詞を修飾する所定の語であること、
のいずれかを満たす場合に、第２の語を住所バッファに追加的に格納する。
【００３１】
このような態様とすれば、「丁目」レベル以下の住所を表す文字列を、住所文字列の一部として抽出することができる。
【００３２】
上記（ｂ）において住所文字列が表す住所の詳細さを表す詳細レベルデータを生成する際には、さらに、以下のような処理を行うことが好ましい。
（ｂ７）住所文字列について、住所の一部であり区域を表す所定の語であって、互いに異なる複数の階層の区域に属する複数の所定の語を含むか否かを検討する。
【００３３】
そして、上記（ｃ）において、複数の文書データの中から住所文字列を含む少なくとも一つの文書データを選択する際には、以下のような処理を行うことが好ましい。
（ｃ１）住所文字列に含まれる所定の語の最も下位の階層に基づいて、文書データを選択する。
【００３４】
このような態様とすれば、住所文字列について客観的に詳細さの評価を行うことができる。そして、住所文字列の詳細さについての客観的な評価に基づいて、内容が正確かつ客観的である可能性が高い文書データを選択することができる。なお、文書データを選択する際には、さらに、住所文字列に含まれる所定の語の数を考慮することも好ましい。
【００３５】
なお、複数の階層が、町域の階層と街区の階層とを含むことがある。そのような態様において、上記（ｂ７）で、住所文字列が所定の語を含むか否かを検討する際には、以下のような処理を行うことが好ましい。
（ｂ８）住所文字列について、上位の階層の区域を表す語から下位の階層の区域を表す語に向かう順番で、上記の区域を表す所定の語を含むか否かを検討する。
【００３６】
そして、上記（ｂ８）において、上記の順番で、区域を表す所定の語を含むか否かを検討する際には、以下のような処理を行うことが好ましい。
住所文字列中の、全角または半角のマイナスまたはハイフンで結ばれた数については、
全角または半角のマイナスまたはハイフンで結ばれた数の個数、ならびに
それまでに検出された町域の階層に含まれる語の有無、およびそれまでに検出された街区の階層に含まれる語の有無
に基づいて、所定の語を含むか否かの評価と同等の評価を行う。
【００３７】
このような態様とすれば、たとえば、文書データ中において、「丁目」レベル以下の住所が、「○丁目×番地△号」や、「○丁目×−△」や、「○−×−△」と表記されているいずれの場合にも、正確に住所の詳細さを評価することができる。
【００３８】
なお、上記（ｃ）において、文書データを選択する際には、さらに、以下のような処理を行うことが好ましい。
（ｃ２）住所文字列が「京都府」または「京都市」の文字列を含む場合であって、かつ、「上る」、「下る」、「東入る」、「西入る」、「南入る」、「北入る」、「上ル」、「下ル」、「東入ル」、「西入ル」、「南入ル」、「北入ル」のいずれかの文字列を含む場合には、
住所文字列が「京都府」および「京都市」の文字列を含まない場合であって、かつ、「丁目」の文字列を含む場合と同等に評価する。
【００３９】
このような態様とすれば、京都独特の住所表記がされている場合にも、そのような文字列について正確に住所の詳細さの評価を行うことができる。なお、「同等に評価する」とは、より具体的には、詳細さの評価において、同じ評価点を加算する、という態様や、同じフラグを立てる、という態様をとることができる。
【００４０】
なお、以下のような処理を行うことも好ましい。
（ｅ）前記文書データ中から電話番号を取得する。
（ｆ）電話番号と住所文字列とが関連づけられて格納されているデータベースを参照しつつ、前記取得された電話番号と関連づけられた住所文字列が、前記文書データに含まれるか否かを決定する。
【００４１】
そして、複数の文書データの中から少なくとも一つの文書データを選択する際には、以下のような処理を行うことが好ましい。すなわち、前記取得された電話番号と関連づけられた住所文字列を含む文書データを、前記取得された電話番号と関連づけられた住所文字列を含まない文書データに比べて優先的に、前記少なくとも一つの文書データとして選択する。
【００４２】
電話番号を正確に記載する作者は、文書中の他の記述についても正確かつ客観的に行っていると推定できる。よって、上記のような態様とすれば、複数の文書の中から信頼性の高い文書を選択し、その信頼性の高い文書に基づいて、信頼性の高い情報を有するデータベースを生成することができる。
【００４３】
また、前記原文書データが、文字列を含む参照文書データと前記原文書データとを関連づけるためのリンクデータを含む場合には、以下のような処理を行うことも好ましい。
（ｅ）前記リンクデータに基づいて前記参照文書データを参照しつつ、前記参照文書データが含む前記文字列に基づいてリンク先文書データを生成する。
（ｆ）前記文書データが含む前記住所文字列を前記リンク先文書データが含むか否かを決定する。
【００４４】
そして、複数の文書データの中から少なくとも一つの文書データを選択する際には、以下のような処理を行うことが好ましい。すなわち、前記リンク先文書データが前記文書データの前記住所文字列を含む文書データを、前記リンク先文書データが前記文書データの前記住所文字列を含まない文書データに比べて優先的に、前記少なくとも一つの文書データとして選択する。
【００４５】
文書を作成する際に参照したデータが含む住所文字列を正確に引き写す作者は、文書中の他の記述についても正確かつ客観的に行っていると推定できる。よって、上記のような態様とすれば、複数の文書の中から信頼性の高い文書を選択し、その信頼性の高い文書に基づいて、信頼性の高い情報を有するデータベースを生成することができる。
【００４６】
なお、「ＡをＢに比べて優先的に選択する。」とは、選択の際に考慮される他の評価パラメータがＡとＢにおいて同じである場合に、ＢではなくＡを選択することを意味する。ある文書データを優先的に選択する方法としては、たとえば、その文書データの詳細レベルデータを、より高い詳細さを表す値に改変して、工程（ｃ）を実行する態様とすることができる。たとえば、詳細さを表す値にさらに所定の値を加えてもよい。また、詳細さを表す値を定数倍してもよい。また、工程（ｃ）を実行するに際して、「取得された電話番号と関連づけられた住所文字列を含むこと」と「リンク先文書データが文書データの住所文字列を含むこと」一方または両方を選択の際の必要条件とする態様とすることもできる。
【００４７】
なお、本発明は、一態様として、たとえば以下のような、文書データの内容の正確さを推定または評価する方法として実現することもできる。この方法においては、以下のような処理が行われる。
（ａ）住所を表す文字列である住所文字列と、住所を表す文字列以外の文字からなる記事文字列と、を含む複数の文書データを準備する。
（ｂ）住所文字列のデータを解析して、住所文字列が表す住所の詳細さを検討する。
（ｃ）詳細さの検討結果に基づいて、文書データの内容の正確さを表す評価を決定する。
【００４８】
なお、「評価を決定する」には、たとえば、以下のような態様が含まれる。（ｉ）評価を表す値を決定すること。（ｉｉ）複数セットの文書データに対して、評価の高い順番を表す順位をそれぞれ決定すること。
【００４９】
また、本発明は、一態様として、たとえば以下のような、文書データの選択方法として実現することもできる。この方法においては、以下のような処理が行われる。
（ａ）住所を表す文字列である住所文字列と、住所を表す文字列以外の文字からなる記事文字列と、を含む複数の文書データを準備する。
（ｂ）住所文字列のデータを解析して、住所文字列が表す住所の詳細さを検討する。
（ｃ）詳細さの検討結果に基づいて、複数の文書データの中から住所文字列を含む少なくとも一つの文書データを選択する。
なお、本発明は、種々の形態で実現することが可能であり、例えば、文書評価方法および文書評価装置、文書選択方法および文書選択装置、文書データ処理方法および文書データ処理装置、データベース提供方法およびデータベース提供装置、それらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体等の形態で実現することができる。
【図面の簡単な説明】
【００５０】
【図１】本発明の地図情報提供システムの概略を示す図。
【図２】クライアント２００で記事リンク地図データベースＭＤＢを利用する際の、ディスプレイ２１０上の表示の一例を示す図。
【図３】地図アプリケーションサーバの処理を示すフローチャート。
【図４】本明細書における「品詞」の例を示す表。
【図５】文書データ中の住所の文字列について、ステップＳ２０の処理結果の例を示す図。
【図６】文書データ中の住所の文字列について、ステップＳ２０の処理結果の例を示す図。
【図７】図３のステップＳ３０の詳細な処理を示すフローチャート。
【図８】図３のステップＳ３０の詳細な処理を示すフローチャート。
【図９】図３のステップＳ４０の詳細な処理を示すフローチャート。
【図１０】住所文字列において京都の住所表記がされている場合の、その住所文字列の詳細度の検討の処理を示すフローチャート。
【図１１】住所文字列において丁目、番地、号が、ハイフン等でつながれて表記されている場合の、その住所文字列の詳細度の検討の処理を示すフローチャート。
【図１２】地図アプリケーションサーバが詳細度を改変する処理を示すフローチャート。
【図１３】地図アプリケーションサーバが詳細度を改変する処理を示すフローチャートである。
【発明を実施するための形態】
【００５１】
Ａ．第１実施例：
Ａ１．装置の構成および機能の概要：
図１は、本発明の地図情報提供システムの概略を示す図である。インターネットＩＮＴには、アプリケーションサービスプロバイダのサーバＡＳ１，ＡＳ２が接続されている。アプリケーションサービスプロバイダは、所定の契約をしたユーザに対して、そのユーザが作成した文字列や画像を含むデータをインターネットを介して公開するサービスを提供している。サーバＡＳ１，ＡＳ２には、それらの複数のユーザが作成した文字や画像を含むデータである閲覧用データＰＤ１，ＰＤ２が格納されている。これら閲覧用データＰＤ１，ＰＤ２は、インターネットに接続された他の機器から閲覧することができる。
【００５２】
閲覧用データＰＤ１，ＰＤ２は、具体的には、ウェブページやブログのデータである。これらのウェブページやブログには、しばしばユーザが利用したレストランなどの店舗についての評価記事が、その店舗の住所とともに掲載される。閲覧用データＰＤ１，ＰＤ２の少なくとも一部のページのデータは、住所を表す文字列である住所文字列と、住所文字列以外の文字からなる記事文字列と、を含む文字、画像（静止画、動画を含む）、ならびに音声のデータを含む。
【００５３】
また、インターネットＩＮＴには、地図アプリケーションサーバ１００が接続されている。地図アプリケーションサーバ１００は、ＣＰＵ１１０、メモリ１２０等の構成を備えている。地図アプリケーションサーバ１００は、サーバＡＳ１，ＡＳ２中の閲覧用データＰＤ１，ＰＤ２のうち、住所の文字列を含むページのデータのｕｒｌ（Uniform Resource Locator）と、地図情報とを関連づけてデータベースＤＢ（以下「記事リンク地図データベースＭＤＢ」と呼ぶ）を生成し、インターネットを介して、有料または無料で閲覧可能とする。
【００５４】
さらに、インターネットＩＮＴには、クライアント２００が接続されている。クライアント２００には、出力装置としての液晶ディスプレイ２１０、ならびに入力装置としてのキーボード２２０およびマウス２３０が接続されている。クライアント２００は、インターネットＩＮＴを介して、地図アプリケーションサーバ１００の記事リンク地図データベースＭＤＢを利用することができる。
【００５５】
なお、図１では、例示として、アプリケーションサービスプロバイダのサーバを２台、そして、クライアントを１台、示している。しかし、アプリケーションサービスプロバイダのサーバおよびクライアントは、それぞれインターネットＩＮＴに多数接続されている。
【００５６】
図２は、クライアント２００で記事リンク地図データベースＭＤＢを利用する際の、ディスプレイ２１０上の表示の一例を示す図である。画面中央の領域Ａ１０には、クライアント２００を介してユーザが指定した場所の地図が表示される。画面上段の領域Ａ２０には、検索用の入力窓Ａ２１と、検索ボタンＡ２２が表示されている。
【００５７】
ユーザが、記事リンク地図データベースＭＤＢを利用する際には、以下のような処理が行われる。すなわち、ユーザは、マウス２３０およびキーボード２２０を使用して入力窓Ａ２１に所定の文字列を入力し、マウス２３０を使用して検索ボタンＡ２２をクリックする。すると、地図アプリケーションサーバ１００は、サーバＡＳ１，ＡＳ２の閲覧用データＰＤ１，ＰＤ２から収集した文書データから、該当する文字列を含むデータを検索する。そして、閲覧用データＰＤ１，ＰＤ２から収集した文書データ中に、それらの文字列を含むデータが存在する場合には、地図アプリケーションサーバ１００は、それらの文字列を含むデータ（以下、該当文書データという）の存在をクライアント２００のディスプレイ２１０上に表示する。
【００５８】
具体的には、地図アプリケーションサーバ１００は、ディスプレイ２１０上の画面右側の領域Ａ３０に、該当文書データの一部を表示する。また、領域Ａ１０には、該当文書データ中に存在する住所の文字列が表す地点を、所定のマークで表示する。
【００５９】
図２の例では、「イタリア料理」をいう文字列が入力窓Ａ２１に入力されている。そして、「イタリア料理」をいう文字列を含むブログやホームページの記事から生成された該当文書データの一部が、画面右側の領域Ａ３０に列挙されている。そして、画面中央の領域Ａ１０には、それらのブログの記事中の住所が表す地点が、吹き出しＢＬで表されている。なお、営利目的の広告であると思われる記事については、「ＰＲ」の文字を付した吹き出しが付される。ユーザは、領域Ａ３０内の記事のリスト、または領域Ａ１０内の吹き出しＢＬをクリックすることで、それらのブログやホームページにジャンプすることができる。
【００６０】
このような態様によれば、ユーザは、入力窓Ａ２１から所定の言葉、たとえば「イタリア料理」、「おいしい」、「おすすめ」、などを入力することで、ブログやホームページでそれらの言葉を使って言及された店舗について、簡単な手順で地図上の場所を特定することができる。
【００６１】
また、ユーザは、バルーンに基づいて、地図に表示された所定のエリア内から、ブログやホームページで言及された店舗を容易に発見することができる。そして、それらのブログやホームページにジャンプすることで、その店舗の評価を読むことができる。
【００６２】
以下では、地図アプリケーションサーバ１００が、閲覧用データＰＤ１，ＰＤ２から、住所の文字列を含む文書データを抽出し、さらにその中から文書データを選択して、緯度および経度の情報と関連づけて記事リンク地図データベースＭＤＢを生成する処理について、詳細に説明する。
【００６３】
Ａ２．地図アプリケーションサーバの動作：
図３は、地図アプリケーションサーバの処理を示すフローチャートである。ステップＳ１０では、インターネットＩＮＴに接続されたサーバのうち、あらかじめ定められたサーバＡＳ１，ＡＳ２等から文書データを取得する。ステップＳ１０では、たとえば、サーバＡＳ１の閲覧用データＰＤ１のあるページから、ｈｔｍｌ（HyperText Markup Language）データを収集し、その中から文字のデータのみを抽出して、文書データを生成する。一つの文書データは、閲覧用データＰＤ１，ＰＤ２等をクライアント２００等で閲覧する際に同時にディスプレイ２１０に表示される１ページ分の文字のデータからなる。また、ステップＳ１０では、文書データのもととなったページ（以下「記事ページ」ともいう）のｕｒｌを取得し、メモリ１２０に記憶する。ステップＳ１０の処理を行う地図アプリケーションサーバ１００のＣＰＵ１１０の機能部を、文書データ取得部１１１として図１に示す。
【００６４】
なお、ステップＳ１０で準備される文書データには、住所の文字列を含まない文書データや、店舗の評価を含まない文書データも含まれる。しかし、図３のステップＳ１０〜Ｓ６０を繰り返し実行し、閲覧用データＰＤ１，ＰＤ２から文字データを取得して複数の文書データを生成することで、そのうちの少なくとも一部の文書データは、住所を表す文字列である住所文字列と、店舗の紹介や評価などの店舗に関する記述である記事文字列と、を含む文書データとなる。
【００６５】
ステップＳ２０では、文書データの文を語に分解する。なお、ここでいう「語」とは、日本語の文法上の「単語」ではなく、文書を解析するために便宜的に定められた、１以上の文字からなる文字群である。本明細書では、この文字群を、便宜的に「語」と呼ぶ。たとえば、「東神奈川」という文字列は、日本語の文法上は一つの固有名詞であるが、ステップＳ２０の処理では「東」という語と「神奈川」という語に分けられる。
【００６６】
また、ステップＳ２０では、各語の品詞を決定する。なお、ここでいう「品詞」も、日本語の文法上の「品詞」ではなく、文書を解析するために便宜的に定められた、語の属性を表す分類である。
【００６７】
図４は、本明細書における「品詞」の例を示す表である。左端の列には、品詞の分類番号を示す。中央の列には、品詞の分類を示す。右端の列には、品詞の例を示す。本明細書における「品詞」は、分類番号と、１以上の階層の分類とを有している。たとえば、分類番号１１は、「名詞−固有名詞−地域−一般」という「品詞」に与えられた分類番号である。「東京」という語は、この「名詞−固有名詞−地域−一般」という「品詞」に分類される。また、「東京」という語には、分類番号１１番に分類される。なお、図４に示す「品詞」の分類は一例である。図３のステップＳ２０の処理は、様々なエンジンによって実行可能であり、「品詞」の分類はそれらエンジンによって異なる場合がある。
【００６８】
図５および図６は、文書データ中の住所の文字列について、ステップＳ２０の処理結果の例を示す図である。なお、図５および図６では、各語に対して品詞の分類番号のみを示す。図５および図６では、文書データ中の住所の文字列の例を示すが、ステップＳ２０における処理は、このような文字列に限らず、文書データのすべての文のすべての語に対して行われる。図３のステップＳ２０で行われる処理を「形態素解析」と呼ぶ。
【００６９】
図３のステップＳ３０では、ステップＳ２０で語に分解され、それぞれ品詞が対応づけられた文書データから、住所を表す文字列（以下「住所文字列」という）を抽出して、住所リストデータを作成する。
【００７０】
図３のステップＳ４０では、住所リストデータの各住所文字列の詳細度を決定する。より具体的には、詳細度を表す詳細レベルデータが生成される。ステップＳ２０〜Ｓ４０の処理を行う地図アプリケーションサーバ１００のＣＰＵ１１０の機能部を、住所文字列検討部１１２として図１に示す。
【００７１】
ステップＳ４５では、住所リストデータの住所文字列の中に、所定のしきい値以上の詳細度を有する住所文字列が存在するか否かを判断する。所定のしきい値以上の詳細度を有する住所文字列が存在する場合には、処理はステップＳ５０に進む。所定のしきい値以上の詳細度を有する住所文字列が存在しない場合には、処理はステップＳ６５に進む。
【００７２】
ステップＳ４５においては、所定のしきい値以上の詳細度を有する住所文字列を含むと判断された文書データが選択される。所定のしきい値以上の詳細度を有する住所文字列を含む文書データは、この後、ステップＳ６０においてデータベースに組み込まれる。所定のしきい値以上の詳細度を有する住所文字列を含まないと判断された文書データ、ならびに住所文字列を含まないと判断された文書データについては、ステップＳ５０，Ｓ６０の処理は行われないため、そのような文書データはデータベースに組み込まれない。ステップＳ４５の処理を行う地図アプリケーションサーバ１００のＣＰＵ１１０の機能部を、文書データ選択部１１３として図１に示す。
【００７３】
図３のステップＳ５０では、住所リストデータの中から詳細度の高い住所文字列を選択する。本実施例では、住所リストデータの中で最も詳細度の高い住所文字列が選択される。なお、最も詳細度の高い住所文字列が複数存在する場合には、そのうちで住所リストデータの最初に位置する住所文字列が選択される。
【００７４】
図３のステップＳ６０では、選択された住所文字列に基づいて、その住所文字列が表す緯度と経度を特定する。この処理を「ジオコーディング」という。
【００７５】
ステップＳ６０では、さらに、ステップＳ１０で取得した記事ページのｕｒｌと、ステップＳ６０で得た緯度と経度と、を関連づけて、記事リンク地図データベースＭＤＢに追加する。そして、更新された記事リンク地図データベースＭＤＢをメモリ１２０に格納する。なお、記事リンク地図データベースＭＤＢには、さらに、閲覧用データＰＤ１，ＰＤ２から収集した文書データ、ならびに文書データ中の同一の種類の同一のキーワードの出現回数が格納される。
【００７６】
ここで、「同一の種類」とは、以下のような意味である。すなわち、各語は、ステップＳ２０において、さらに、名詞、動詞、形容詞、形容動詞に分類される。そして、その分類が同じである場合は、「同一の種類」の語であるとされる。
【００７７】
ステップＳ６０の処理を行う地図アプリケーションサーバ１００のＣＰＵ１１０の機能部を、データベース生成部１１４として図１に示す。データベース生成部１１４は、記事リンク地図データベースＭＤＢの生成および更新を行う。
【００７８】
図３のステップＳ６５では、あらかじめ定められたすべてのサーバＡＳ１，ＡＳ２等のすべての閲覧用データについて文書データを生成したか否かが判定される。判定結果がＮｏである場合は、処理はステップＳ１０に戻り、あらかじめ定められたサーバＡＳ１，ＡＳ２等の閲覧用データから新たな文書データが準備される。判定結果がＹｅｓである場合は、処理はステップＳ７０に進む。
【００７９】
図３のステップＳ７０では、ユーザからの要求に応じて、記事リンク地図データベースＭＤＢに基づいて図２に示すような表示を行うための表示データを作成し、クライアント２００に送信する。ステップＳ７０の処理を行う地図アプリケーションサーバ１００のＣＰＵ１１０の機能部を、サービス提供部１１５として図１に示す。
【００８０】
この表示データに基づく表示においては、地図上のステップＳ５０で得た緯度と経度に相当する位置に、バルーンＢＬが表示される（図２参照）。また、領域Ａ３０に、ステップＳ１０で準備した文書データの一部（すなわち、記事ページの一部）が表示される。そして、それらのバルーンＢＬ、および記事ページの一部が表示される位置に、ステップＳ１０で取得した記事ページのｕｒｌへのリンクが埋め込まれている。
【００８１】
このような態様とすれば、利害関係のない素人が忌憚のない店舗評価を述べているブログやホームページに基づいて、記事リンク地図データベースＭＤＢを生成することができる（特に、図３のステップＳ１０参照）。よって、第三者にとって有益な記事リンク地図データベースＭＤＢを生成し、提供することができる。
【００８２】
また、ブログやホームページの記事において住所を詳細に記述するユーザは、同時に、記事中で高精度の店舗評価を行っていると推定できる。このため、上記のような態様とすることで（特にステップＳ４５参照）、高精度な店舗評価を行っていると推定できるブログやホームページの文書データを選んで、それらに基づいて記事リンク地図データベースＭＤＢを生成することができる。このため、精度の高い記事リンク地図データベースＭＤＢを生成することができる。
【００８３】
Ａ３．住所リストデータの生成：
図７および図８は、図３のステップＳ３０の詳細な処理を示すフローチャートである。ステップＳ３１０では、文書データから語を１個、取得する。なお、文書データからの語の取得は、文書データ中の語の並びの順に行われる。よって、最初にステップＳ３１０が実行されるときには、文書データの先頭の語が取得される。
【００８４】
ステップＳ３１５では、取得した語の品詞が「地域」（分類番号１０〜１２，３０など。図４参照）であり、かつ、品詞が「国」（分類番号１２）でなく、かつ、取得した語がカタカナのみの語でないか、が検討される。
【００８５】
なお、前述のとおり、品詞は１以上の階層を有している（図４参照）。「品詞が「地域」であるか」の判定においては、いずれかの階層に「地域」という分類を有している場合には、「その品詞は「地域」である」と判定される。「国」、「助数詞」など、他の品詞の分類について判定を行う場合も同様である。
【００８６】
また、語に対する品詞の割り当ての際に参照されるデータベースにおいては、現実にある地名のうち、「地域」の品詞が割り当てられているのは、市町村レベルの名前までである。そして、たとえば「字」のあとに続く「大沢」など、市町村より下のレベルの地名については、「地域」の品詞は割り当てられておらず、「名詞−一般」が割り当てられている。
【００８７】
文書データのうち、住所を表す語以外の語については、通常、品詞が「地域」ではない。このため、住所を表す語以外の語については、ステップＳ３１５の判断結果はＮｏとなる。また、たとえば、ステップＳ３１０で取得した語が「日本」の場合には、品詞が「国」であるため、ステップＳ３１５の判定結果はＮｏとなる。さらに、ステップＳ３１０で取得した語が「バージニア」の場合は、カタカナのみの語であるため、ステップＳ３１５の判定結果はＮｏとなる。
【００８８】
判定結果がＮｏの場合には、処理はステップＳ３１０に戻る。そして、文書データから次の語が取得される。ステップＳ３１０で取得した語がステップＳ３１５の条件を満たす語となるまで、ステップＳ３１５〜Ｓ３１０の処理が繰り返される。
【００８９】
一方、たとえば、語が「東京」の場合には、ステップＳ３１５の判定結果はＹｅｓとなる。判定結果がＹｅｓの場合には、処理はステップＳ３２０に進む。
【００９０】
ステップＳ３２０では、ステップＳ３１０で取得した語を、新たな住所バッファＡＢ（図１参照）に格納する。
【００９１】
なお、地図アプリケーションサーバ１００（住所リスト作成部１１２）は、メモリ１２０に複数の住所バッファＡＢを有している。図７および図８の処理が行われると、１以上の住所バッファＡＢ内に住所と推定される文字列が格納される。
【００９２】
ステップＳ３３０では、文書データから次の語が取得される。ステップＳ３３５では、ステップＳ３３０で取得された語の品詞が「地域」（分類番号１０〜１２，３０など）であるか、または語の文字が「東」、「西」、「南」、「北」、「大字」であるかが検討される。
【００９３】
たとえば、ステップＳ３３０で取得された語が「都」、「道」、「府」、「県」、「区」や「神奈川」、「千代田」、「丸の内」の場合は、品詞が「地域」であるので、ステップＳ３３５の判定結果はＹｅｓとなる。また、ステップＳ３３０で取得された語が、前述の「東神奈川」の一部である「東」である場合にも、ステップＳ３３５の判定結果はＹｅｓとなる。判定結果がＹｅｓの場合には、処理はステップＳ３４０に進む。
【００９４】
ステップＳ３４０では、ステップＳ３３０で取得した語を、住所バッファＡＢに追加する。ステップＳ３４０で住所バッファＡＢに格納される語は、ステップＳ３２０で住所バッファＡＢに格納された語に続けてその住所バッファＡＢに格納される。以下、「住所バッファＡＢに追加する」と記述する場合、同様の処理が行われる。
【００９５】
ステップＳ３５０では、文書データから次の語が取得される。その後、処理は、ステップＳ３３５に戻る。すなわち、ステップＳ３３５の条件を満たす語が続く限り、ステップＳ３５０，Ｓ３４０の処理にしたがって、それらの語は順に住所バッファＡＢに格納される。
【００９６】
一方、ステップＳ３３５の判定結果がＮｏとなった場合には、処理は、ステップＳ３５５に進む。ステップＳ３３５の判定結果がＮｏとなる場合とは、ステップＳ３３０で取得された語の品詞が「地域」ではなく、かつ、語の文字が「東」、「西」、「南」、「北」、「大字」でもない場合である。
【００９７】
ステップＳ３５５では、ステップＳ３３０またはＳ３５０で取得した語の品詞が「数」（分類番号１９）であるか、または検討対象の語が「字」（あざ）であるかが検討される。
【００９８】
ステップＳ３５５の判定結果がＹｅｓの場合は、処理はステップＳ３６０に進む。ステップＳ３６０では、検討対象の語（数字または「字」（あざ））を、住所バッファＡＢに追加する。ステップＳ３７０では、文書データから次の語が取得される。
【００９９】
なお、ステップＳ３５５の判定結果がＹｅｓとなったということは、文書データ中で連続する１以上の語であって、かつ地域を表す１以上の語がすべて住所バッファＡＢに格納された後（ステップＳ３３５，Ｓ３４０，Ｓ３５０）、それらに続いて、数字または「字」（あざ）の字が現れたということである。よって、この後に続く文字列は、たとえば「○丁目×番地△号」や「（字）大沢」といった、町域以下の住所を表す文字列であると推定できる。
【０１００】
なお、「町域」とは、住所を表す語であって、「丁目」レベルの地域を表す語である。これに対して、「街区」とは、住所を表す語であって、「番地」レベルの地域を表す語である。「号」とは、住所を表す語であって、「号」レベルの地域を表す語である。
【０１０１】
一方、ステップＳ３５５の判定結果がＮｏの場合は、処理はステップＳ３９０に進む。
【０１０２】
なお、ステップＳ３５５の判定結果がＮｏとなったということは、文書データ中で連続する１以上の語であって、かつ地域を表す１以上の語がすべて住所バッファＡＢに格納された後（ステップＳ３３５〜Ｓ３５０）、数字または「字」（あざ）の字が現れなかったということである。このような場合は、この後に続く文字列は、「字◇◇」、「○丁目」、「×番地」、「△号」といった、町域以下の情報を持っていないと推定できる。すなわち、住所文字列は終了したと推定できる。よって、後述するように、ステップＳ３２０で開始された住所バッファＡＢへの文字列の蓄積は終了する（ステップＳ３９０参照）。
【０１０３】
図８のステップＳ３７５では、検討対象の語、すなわち最後に取得した語の品詞が、「地域」（分類番号１０〜１２，３０など）であり、かつ、「品詞が「国」（分類番号１２）でなく、かつ、取得した語がカタカナのみの語でない、か否かが検討される。ステップＳ３７５における判定の内容は、ステップＳ３１５における判定の内容と同じである。判定結果がＹｅｓの場合は、処理はステップＳ３８０に進む。
【０１０４】
なお、ステップＳ３７５の判定結果がＹｅｓとなったということは、以下のような意味を有する。すなわち、すでに文字列中に数字または「字」（あざ）の字が現れ、その後、町域以下の住所を表す文字列が現れると推定されたにもかかわらず（ステップＳ３５５においてＹｅｓ）、数字や「丁目」等ではなく、より広い地域を表す語（たとえば、「東京」）が現れたということである。このような場合としては、たとえば、文字データが複数の住所の列挙を含んでいる場合がある。「丁目」以下の情報を持たない住所の文字列に続いて、次の住所の文字列が並んでいる場合である。
【０１０５】
ステップＳ３８０では、住所バッファＡＢに格納されている文字列を住所リストデータＡＬ（図１参照）に追加する。住所リストデータＡＬに追加される文字列は、複数の語によって構成される文字列である。その後、処理はステップＳ３２０に戻る（図７および図８の［Ｃ］参照）。すなわち、ステップＳ３２０において、ステップＳ３７５においてＹｅｓと判定された語、すなわち、次の住所の先頭の語であると推定できる語が、新たな住所バッファＡＢに格納される。
【０１０６】
一方、ステップＳ３７５の判定結果がＮｏの場合は、処理はステップＳ３８５に進む。
【０１０７】
ステップＳ３８５では、検討対象の語の品詞が「数」（分類番号１９）、「助数詞」（分類番号３５）、「接尾−一般」（分類番号２８）、「記号−一般」（分類番号７７）、もしくは「名詞−一般」（分類番号２）のいずれかであるか、または、検討対象の語が、「の」、「−」（全角マイナス）、「-」（半角マイナス）、「‐」（ハイフン）、「Ｂ」、「Ｆ」、「階」、「東」、「西」、「南」、もしくは「北」のいずれかであるかが検討される。
【０１０８】
なお、「助数詞」とは、図４に示すように、「丁目」、「番」などの、数に続いて示され、数の単位を表す語である。「Ｂ」、「Ｆ」、「階」も、同様に、数に続いて示され、数の単位を表す語である。
【０１０９】
「接尾−一般」とは、「号」などのように、名詞の後に表示され名詞の属性を表す所定の語である。「記号−一般」とは、記号を表す語である。「名詞−一般」とは、名詞である。「の」、「−」（全角マイナス）、「-」（半角マイナス）、「‐」（ハイフン）は、数に続いて表示され、数の接続を表す語である。「東」、「西」、「南」、「北」は、名詞の前および後の少なくとも一方に表示され名詞を修飾する語である。
【０１１０】
ステップＳ３８５の判定結果がＹｅｓの場合は、処理はステップＳ３６０に戻る（図７および図８の［Ｄ］参照）。ステップＳ３６０、Ｓ３７０，Ｓ３７５，Ｓ３８５，Ｓ３６０のループにおいて、町域以下の住所を表す文字列が、順に住所バッファＡＢに蓄積される。
【０１１１】
一方、ステップＳ３８５の判定結果がＮｏの場合は、処理はステップＳ３９０に進む。
【０１１２】
なお、ステップＳ３８５の判定結果がＮｏとなったということは、町域以下の住所を表す文字列が、すべて住所バッファＡＢに蓄積され、住所を表す文字列が終了したと推定できる。
【０１１３】
ステップＳ３９０では、住所バッファＡＢに格納されている文字列を住所リストデータＡＬに追加する。
【０１１４】
ステップＳ３９５では、文書データ中のすべての語についてステップＳ３１５〜Ｓ３８５の検討を終了したか否かを検討する。判定結果がＮｏである場合には、処理は、ステップＳ３１０に戻る（図７および図８の［Ｅ］参照）。判定結果がＹｅｓである場合には、図７および図８の処理（図３のステップＳ３０の処理）は、終了する。
【０１１５】
図７および図８の処理を行うことで、文字からなる文書データ中からさまざまな詳細さおよび表記方法で記載された住所文字列を抽出することができる。
【０１１６】
Ａ４．住所文字列の詳細さの評価：
図９〜図１１は、図３のステップＳ４０の詳細な処理を示すフローチャートである。図３のステップＳ４０では、住所リストデータＡＬ（図１参照）の住所文字列について詳細度が決定される。図３のステップＳ４０では、図９〜図１１の処理が、各住所文字列について実行される。図９〜図１１の処理では、住所文字列について、住所の一部であり区域を表す所定の語であって、互いに異なる複数の階層の区域に属する所定の語を含むか否かが、順に検討される。
【０１１７】
図９のステップＳ４０５では、住所文字列中に「都」、「道」、「府」、「県」のいずれかの文字が含まれるか、が判定される。判定結果がＹｅｓの場合は、ステップＳ４１０において都道府県フラグがＯＮにされる。都道府県フラグがＯＮであるということは、住所文字列中に都道府県レベルの住所の情報が含まれていることを表す。
【０１１８】
ステップＳ４１０の後、処理はステップＳ４１５に進む。ステップＳ４０５において判定結果がＮｏであった場合も、同様に処理はステップＳ４１５に進む。
【０１１９】
なお、図９〜図１１で説明する各フラグは、メモリ１２０内に格納される。また、初期状態において各フラグはＯＦＦである。
【０１２０】
ステップＳ４１５では、住所文字列中に「京都府」の文字が含まれるか、が判定される。判定結果がＹｅｓの場合は、ステップＳ４２０において京都フラグがＯＮにされる。京都フラグがＯＮであるということは、住所文字列が表す住所が京都府または京都市の住所であることを表す。京都市の住所は、「四条河原町西入る」等の、他の地域とは異なる独自の表記がなされることがある。
【０１２１】
ステップＳ４２０の後、処理はステップＳ４２５に進む。ステップＳ４１５において判定結果がＮｏであった場合も、同様に処理はステップＳ４２５に進む。
【０１２２】
ステップＳ４２５では、住所文字列中に「市」、「町」、「村」のいずれかの文字が含まれるか、が判定される。判定結果がＹｅｓの場合は、ステップＳ４３０において市町村フラグがＯＮにされる。市町村フラグがＯＮであるということは、住所文字列中に市町村レベルの住所の情報が含まれていることを表す。
【０１２３】
ステップＳ４３０の後、処理はステップＳ４３５に進む。ステップＳ４２５において判定結果がＮｏであった場合も、同様に処理はステップＳ４３５に進む。
【０１２４】
ステップＳ４３５では、住所文字列中に「京都市」の文字が含まれるか、が判定される。判定結果がＹｅｓの場合は、ステップＳ４４０において京都フラグがＯＮにされる。
【０１２５】
ステップＳ４４０の後、処理はステップＳ４４５に進む。ステップＳ４３５において判定結果がＮｏであった場合も、同様に処理はステップＳ４４５に進む。
【０１２６】
ステップＳ４４５では、住所文字列中に「丁目」の文字が含まれるか、が判定される。判定結果がＹｅｓの場合は、ステップＳ４５０において町域フラグがＯＮにされる。町域フラグがＯＮであるということは、住所文字列中に、「○丁目×番地△号」のうちの丁目レベルの住所の情報が含まれていることを表す。
【０１２７】
ステップＳ４５０の後、処理はステップＳ４５５に進む。ステップＳ４４５において判定結果がＮｏであった場合も、同様に処理はステップＳ４４５に進む。
【０１２８】
ステップＳ４５５では、京都フラグがＯＮであるか、が判定される。判定結果がＹｅｓである場合には、処理は図１０のステップＳ５０５に進む。一方、判定結果がＮｏである場合には、処理は図９のステップＳ４６５に進む。
【０１２９】
ステップＳ４６５では、住所文字列中に「番」の文字が含まれるか、が判定される。判定結果がＹｅｓの場合は、ステップＳ４７０において街区フラグがＯＮにされる。街区フラグがＯＮであるということは、住所文字列中に、「○丁目×番地△号」のうちの番地レベルの住所の情報が含まれていることを表す。
【０１３０】
ステップＳ４７０の後、処理はステップＳ４７５に進む。ステップＳ４６５において判定結果がＮｏであった場合も、同様に処理はステップＳ４７５に進む。
【０１３１】
ステップＳ４７５では、住所文字列中に「号」の文字が含まれるか、が判定される。判定結果がＹｅｓの場合は、ステップＳ４８０において号フラグがＯＮにされる。号フラグがＯＮであるということは、住所文字列中に、「○丁目×番地△号」のうちの号レベルの住所の情報が含まれていることを表す。
【０１３２】
ステップＳ４８０の後、処理はステップＳ４８５に進む。ステップＳ４７５において判定結果がＮｏであった場合も、同様に処理はステップＳ４８５に進む。
【０１３３】
以上で説明したステップＳ４０５，Ｓ４２５，Ｓ４４５，Ｓ４６５，Ｓ４７５では、上位の区域を表す語（たとえば、「都」、「道」、「府」、「県」）から下位の区域を表す語（たとえば、「号」）に向かう順番で、順に、区域を表す所定の語を含むか否かが検討され、各判定結果がフラグのＯＮ／ＯＦＦで記憶される。
【０１３４】
ステップＳ４８５では、住所文字列中において、数字と、「−」（全角マイナス）、「-」（半角マイナス）、または「‐」（ハイフン）とが、２個以上続いているか否か判定される。たとえば、住所文字列中において「３−」、「3-」、「３‐」などの文字列があれば、判定結果はＹｅｓとなる。ステップＳ４８５の判定結果がＹｅｓである場合は、処理は、図１１のステップＳ６１０に進む。
【０１３５】
ステップＳ４８５の判定結果がＹｅｓであるという場合には、住所文字列において、「○丁目×番地△号」の情報の少なくとも一部が、数字をハイフンやマイナスでつなげた表記で表されていると推定できる。たとえば、「４丁目３−１」と表記されている場合である。
【０１３６】
一方、ステップＳ４８５の判定結果がＮｏである場合は、処理は、図９のステップＳ４９０に進む。
【０１３７】
ステップＳ４８５の判定結果がＮｏであるという場合には、住所文字列において、「○丁目×番地△号」の情報は、数字をハイフンやマイナスでつなげた表記で表されていないと推定できる。すなわち、ステップＳ４７５までの処理で、住所の情報のすべてについて検討され、検討結果が各フラグに反映されていると考えることができる。
【０１３８】
ステップＳ４９０では、都道府県フラグ、市町村フラグ、町域フラグ、街区フラグ、号フラグのＯＮ／ＯＦＦに基づいて、住所文字列の詳細度が決定される。
【０１３９】
具体的には、号フラグがＯＮである場合には、その住所文字列の詳細度は５である。街区フラグがＯＮである場合には、その住所文字列の詳細度は４である。町域フラグがＯＮである場合には、その住所文字列の詳細度は３である。市町村フラグがＯＮである場合には、その住所文字列の詳細度は２である。都道府県フラグがＯＮである場合には、その住所文字列の詳細度は１である。複数のフラグがＯＮである場合には、対応する詳細度のうちのより高い詳細度がその住所文字列に割り当てられる。このように決定された詳細度を表す詳細レベルデータがメモリ１２０に格納される。
【０１４０】
すなわち、住所文字列の詳細度は、住所文字列に含まれる地域を表す語の最も下位の階層に基づいて決定される。このような処理を行うことで、住所文字列に対する詳細度を客観的に決定することができる。
【０１４１】
図１０は、住所文字列において京都の住所表記がされている場合（図９のステップＳ４１５，Ｓ４３５，Ｓ４５５参照）の、その住所文字列の詳細度の検討の処理を示すフローチャートである。図１０の処理は、図９のステップＳ４５５の判定結果がＹｅｓである場合に実行される（図９，図１０の［Ｉ］参照）。
【０１４２】
ステップＳ５０５では、住所文字列に「上る」、「下る」、「東入る」、「西入る」、「南入る」、「北入る」、「上ル」、「下ル」、「東入ル」、「西入ル」、「南入ル」、「北入ル」の文字があるか否かが判定される。判定結果がＹｅｓである場合には、ステップＳ５１０において、町域フラグがＯＮにされる。
【０１４３】
すなわち、住所文字列の詳細さの検討において、「上る」、「下る」、「東入る」、「西入る」、「南入る」、「北入る」、「上ル」、「下ル」、「東入ル」、「西入ル」、「南入ル」、「北入ル」の表記があるという事実は、京都フラグがＯＮでないときに「丁目」の表記があるという事実と同じ程度に評価される。その後、処理は、図９のステップＳ４６５に戻る（図９，図１０の［Ｋ］参照）。
【０１４４】
ステップＳ４５５，Ｓ５０５，Ｓ５１０の処理を行うことで、住所文字列において京都独自の住所表記がされている場合にも、その住所文字列の詳細度さ評価することができる。
【０１４５】
なお、京都の住所を表記する場合にも、通常の「○丁目×番地△号」のような方式で表記することがある。本実施例においては、ステップＳ４５５，Ｓ５０５，Ｓ５１０の処理の後、通常のステップＳ４６５が行われる。このため、京都の住所が通常の「○丁目×番地△号」のような方式で表記されている場合にも、住所文字列の詳細さを評価することができる。
【０１４６】
図１１は、住所文字列において丁目、番地、号が、ハイフン等でつながれて表記されている場合の、その住所文字列の詳細度の検討の処理を示すフローチャートである。図１１の処理は、ステップＳ４８５の判定結果がＹｅｓである場合に実行される（図９，図１０の［Ｊ］参照）。
【０１４７】
ステップＳ６１０では、図９のステップＳ４８５で検出された、数字と、「−」、「-」または「‐」等（全角または半角のマイナスまたはハイフン）と、で構成される２個以上の文字列が、マイナスやハイフンの部分で分割される。
【０１４８】
ステップＳ６１５では、分割結果が３個であるか、が判定される。判定結果がＹｅｓである場合には、処理は、ステップＳ６２０に進む。ステップＳ６１５の判定結果がＹｅｓであるということは、住所文字列において、「○丁目×番地△号」が「○−×−△」等と表記されているということである。なお、以下、全角または半角のマイナスまたはハイフンのうち、全角マイナスを例として使用して、住所表記の説明を行う。
【０１４９】
ステップＳ６２０では、町域フラグ、街区フラグ、および号フラグがＯＮとされる。その後、処理は、図９のステップＳ４９０に進む（図９，図１１の［Ｌ］参照）。
【０１５０】
ステップＳ６１５の判定結果がＮｏである場合には、処理は、ステップＳ６２５に進む。
【０１５１】
ステップＳ６２５では、分割結果が２個であるか、が判定される。判定結果がＹｅｓである場合には、処理は、ステップＳ６２７に進む。ステップＳ６２５の判定結果がＹｅｓであるということは、住所文字列において、「○丁目×番地」が「○−×」と表記されているか、「○丁目×番地△号」が「○丁目×−△」等と表記されているということである。
【０１５２】
ステップＳ６２７では、住所文字列に「丁目」レベルの情報が含まれるか否かを表す町域フラグがＯＮとなっているか、が判定される。判定結果がＹｅｓである場合には、処理は、ステップＳ６３０に進む。ステップＳ６２７の判定結果がＹｅｓであるということは、住所文字列において、「○丁目×番地△号」が「○丁目×−△」等と表記されているということである。
【０１５３】
ステップＳ６３０において、「番地」レベルの情報に対応する街区フラグ、および「号」レベルの情報に対応する号フラグがＯＮとされる。その後、処理は、図９のステップＳ４９０に進む（図９，図１１の［Ｌ］参照）。
【０１５４】
ステップＳ６２７の判定結果がＮｏである場合には、処理は、ステップＳ６４０に進む。ステップＳ６２７の判定結果がＮｏであるということは、住所文字列において、「号」レベルの情報は含まれておらず、「○丁目×番地」が「○−×」と表記されている、ということである。
【０１５５】
ステップＳ６４０において、「丁目」レベルの情報に対応する町域フラグ、および「番地」レベルの情報に対応する街区フラグがＯＮとされる。その後、処理は、図９のステップＳ４９０に進む（図９，図１１の［Ｌ］参照）。
【０１５６】
一方、ステップＳ６２５の判定結果がＮｏである場合には、処理は、ステップＳ６４５に進む。ステップＳ６２５の判定結果がＮｏであるということは、ステップＳ４８５で検出された、数字と、全角または半角のマイナスまたはハイフンと、で構成される２個以上の文字列が、一つの数字と、一つの全角または半角のマイナスまたはハイフンとで構成されることを意味する。
【０１５７】
ステップＳ６４５では、住所文字列に「番地」レベルの情報が含まれるか否かを表す街区フラグがＯＮとなっているか、が判定される。判定結果がＹｅｓである場合には、処理は、ステップＳ６５０に進む。ステップＳ６４５の判定結果がＹｅｓであるということは、住所文字列において、「×番地△号」が「×番地−△」等と表記されているということである。
【０１５８】
ステップＳ６５０において、「号」レベルの情報に対応する号フラグがＯＮとされる。その後、処理は、図９のステップＳ４９０に進む（図９，図１１の［Ｌ］参照）。
【０１５９】
一方、ステップＳ６４５の判定結果がＮｏである場合には、処理は、ステップＳ６５５に進む。
【０１６０】
ステップＳ６５５では、住所文字列に「丁目」レベルの情報が含まれるか否かを表す町域フラグがＯＮとなっているか、が判定される。判定結果がＹｅｓである場合には、処理は、ステップＳ６６０に進む。ステップＳ６５５の判定結果がＹｅｓであるということは、住所文字列において、「○丁目×番地」が「○丁目−×」等と表記されているということである。
【０１６１】
ステップＳ６６０において、「番地」レベルの情報に対応する街区フラグがＯＮとされる。その後、処理は、図９のステップＳ４９０に進む（図９，図１１の［Ｌ］参照）。
【０１６２】
一方、ステップＳ６５５の判定結果がＮｏである場合には、処理は、ステップＳ６７０に進む。ステップＳ６５５の判定結果がＮｏであるということは、住所文字列において、「○丁目」が「−○」等と表記されているということである。
【０１６３】
ステップＳ６７０において、「丁目」レベルの情報に対応する町域フラグがＯＮとされる。その後、処理は、図９のステップＳ４９０に進む（図９，図１１の［Ｌ］参照）。
【０１６４】
図９のステップＳ４０５〜Ｓ４７５の処理においては、住所文字列について、上位の階層の区域を表す語から下位の階層の区域を表す語に向かう順番で、順に、区域を表す所定の語を含むか否かを検討される。そして、図１１の処理においては、住所文字列中の全角または半角のマイナスまたはハイフンで結ばれた数については、それらの個数（図１１のステップＳ６１５，Ｓ６２５参照）、ならびにそれまでに検出された町域の階層に含まれる語の有無を表す町域フラグのＯＮ／ＯＦＦ、およびそれまでに検出された街区の階層に含まれる語の有無を表す街区フラグのＯＮ／ＯＦＦに基づいて（図１１のステップＳ６２７，Ｓ６４５，Ｓ６５５参照）、町域フラグ、街区フラグ、および号フラグをＯＮまたはＯＦＦとする（同、ステップＳ６３０，Ｓ６４０，Ｓ６５０，Ｓ６６０，Ｓ６７０参照）。このため、「○丁目×番地△号」のような情報の一部または全部が、ハイフン等でつながれた数字で表されている住所文字列についても、正確に詳細さを評価することができる。
【０１６５】
Ｂ．第２実施例：
第２実施例においては、図３のステップＳ４０で住所文字列の詳細度を決定した後、ステップＳ４５の処理を行う前に、さらに、他の要素を考慮して詳細度を改変する。また、地図アプリケーションサーバ１００（図１参照）は、電話番号と、その電話番号の所有者または店舗名、およびその住所と、を関連づけて保持する電話番号データベースを有する。第２実施例の他の点は、第１実施例と同じである。
【０１６６】
図１２は、地図アプリケーションサーバが詳細度を改変する処理Ｓ４２を示すフローチャートである。図１２の処理Ｓ４２は、図３のステップＳ４０とステップＳ４５の間に行われる。なお、図１２の処理Ｓ４２は、ＣＰＵ１１０の機能部としての住所文字列検討部１１２が実現する。
【０１６７】
ステップＳ７１０では、図３のステップＳ１０で取得した文書データから、電話番号が取得される。電話番号は、たとえば、全角または半角の「‐」（ハイフン）、「−」（マイナス）または「）」（カッコ）以外の文字を間に含まない、全角または半角の１０個の連続する数字の文字列を検索することで、文書データから抽出することができる。
【０１６８】
ステップＳ７２０では、地図アプリケーションサーバ１００は、電話番号データベースを参照して、ステップＳ７１０で取得した電話番号に対応する店舗名または所有者、ならびに住所を取得する。
【０１６９】
ステップＳ７２５では、図３のステップＳ１０で取得した文書データ中に、図１２のステップＳ７２０で取得した店舗名または所有者、ならびに住所が存在するか否かを判定する。文書データ中に店舗名または所有者、ならびに住所が存在する場合は、処理はステップＳ７３０に進む。文書データ中に店舗名も所有者も存在しない場合、および文書データ中に住所が存在しない場合は、処理は、終了する。なお、図１２には示していないが、ステップＳ７２０で、電話番号に対応する電話番号の店舗名または所有者、ならびに住所を取得できなかった場合も、処理は終了する。
【０１７０】
ステップＳ７３０では、図３のステップＳ４０で決定した住所文字列の詳細度を改変する。具体的には、住所文字列の詳細度をより高い詳細度に改変する。第２実施例においては、詳細度を２だけ上げる。その後、処理を終了する。
【０１７１】
ブログやホームページの記事において電話番号を正確に記述するユーザは、同時に、記事中で高精度の店舗評価を行っていると推定できる。このため、第２実施例のような態様とすることで、高精度な店舗評価を行っていると推定できるブログやホームページの文書データを選んで、それらに基づいて記事リンク地図データベースＭＤＢを生成することができる。このため、精度の高い記事リンク地図データベースＭＤＢを生成することができる。
【０１７２】
Ｃ．第３実施例：
第３実施例においても、図３のステップＳ４０で住所文字列の詳細度を決定した後、ステップＳ４５の処理を行う前に、さらに、他の要素を考慮して詳細度を改変する。また、第３実施例においては、図３のステップＳ１０で、閲覧用データ中からリンク先を表すリンク先データが取得される。第３実施例の他の点は、第１実施例と同じである。
【０１７３】
図１３は、地図アプリケーションサーバが詳細度を改変する処理Ｓ４３を示すフローチャートである。図１３の処理Ｓ４３は、図３のステップＳ４０とステップＳ４５の間に行われる。なお、図１３の処理Ｓ４３は、ＣＰＵ１１０の機能部としての住所文字列検討部１１２が実現する。
【０１７４】
ステップＳ８１０では、ステップＳ１０で取得されたリンク先データが表すリンク先のページからリンク先文書データを取得する。なお、第３実施例においては、図３のステップＳ１０で、あらかじめ、閲覧用データの中からリンク先を表すリンク先データが取得されている。
【０１７５】
ステップＳ８１０では、具体的には、リンク先のページであってインターネット上のサーバに格納されているページから、ｈｔｍｌデータを収集する。そして、その中から文字のデータのみを抽出して、リンク先文書データを生成する。ステップＳ８１０の処理の内容は、リンク先のページからデータを取得する点以外は、図３のステップＳ１０の処理と同様である。
【０１７６】
ステップＳ８２０では、リンク先文書データの文を語に分解する。ステップＳ８２０の処理は、リンク先文書データを対象とする点以外は、図３のステップＳ２０の処理と同様である。
【０１７７】
ステップＳ８３０では、ステップＳ８２０で語に分解され、それぞれ品詞が対応づけられたリンク先文書データから、住所文字列を抽出して、リンク先住所リストデータを作成する。ステップＳ８３０の処理は、リンク先文書データを対象としてリンク先住所リストデータを作成する点以外は、図３のステップＳ３０の処理と同様である。
【０１７８】
ステップＳ８３５では、ステップＳ８３０で生成したリンク先住所リストデータと、図３のステップＳ３０で生成した住所リストデータとを照合して、両者に同じ住所文字列が含まれているか否かを判定する。リンク先住所リストデータと住所リストデータに同じ住所文字列が含まれている場合は、処理はステップＳ８４０に進む。同じ住所文字列が含まれていない場合は、処理は終了する。なお、図１３には示していないが、ステップＳ８３０で、住所文字列が抽出されなかった場合も、処理は終了する。
【０１７９】
ステップＳ８４０では、図３のステップＳ４０で決定した住所文字列の詳細度を改変する。具体的には、住所文字列の詳細度をより高い詳細度に改変する。第３実施例においては、詳細度を２だけ上げる。その後、処理を終了する。
【０１８０】
ブログやホームページの記事においてリンク先に記載された住所を正確に引き写すユーザは、同時に、記事中で高精度の店舗評価を行っていると推定できる。このため、第３実施例のような態様とすることで、高精度な店舗評価を行っていると推定できるブログやホームページの文書データを選んで、それらに基づいて記事リンク地図データベースＭＤＢを生成することができる。このため、精度の高い記事リンク地図データベースＭＤＢを生成することができる。
【０１８１】
Ｄ．変形例：
なお、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。なお、以下に示す変形例、および上記の第１〜第３実施例は、適宜組み合わせて本願発明を実現することができる。たとえば、詳細度の決定において第２実施例の図１２の処理と第３実施例の図１３の処理を両方行うことで、より精度の高いデータベースを生成することができる。
【０１８２】
Ｄ１．変形例１：
上記実施例においては、文書データは、インターネット上で公開されているブログやホームページに記載された記事のデータである。しかし、文書データは、たとえば、社内ネットワークにおいて入手可能なデータなど、他のデータとすることもできる。すなわち、文書データは、何らかの方法で入手可能な任意の文書データとすることができる。そのような文書データは、住所を表す文字列である住所文字列を含むことが好ましい。そして、そのような文書データは、記事文字列として、店舗の紹介や評価に関する記事を含むことが好ましい。
【０１８３】
Ｄ２．変形例２：
上記実施例では、レストランの評価記事を例に閲覧用データＰＤ１，ＰＤ２の記事ページの説明を行った。しかし、閲覧用データＰＤ１，ＰＤ２の記事ページは、食料品や日用品を販売する店舗に関する記事であってもよいし、映画館で上映されている映画の映画評であってもよい。すなわち、記事ページおよび記事ページに基づいて生成できる文書データは、住所によって場所を特定することができる任意の店舗に関する記事を含むものとすることができる。
【０１８４】
Ｄ３．変形例３：
上記実施例では、住所文字列の詳細度を決定して、その詳細度に基づいて文書データを選択している（図３のステップＳ４０，Ｓ４５参照）。しかし、文書データの選択は、直接、住所文字列の詳細さを表すフラグなどのデータに基づいて行ってもよい。すなわち、文書データの選択は、詳細度に限らず、住所文字列の詳細さの検討結果を表す任意の形式の詳細レベルデータに基づいて行うことができる。
【０１８５】
Ｄ４．変形例４：
上記実施例では、一つの文書データの中から最も詳細度の高い住所文字列が選択される（図３のステップＳ５０参照）。しかし、住所文字列を選択する際には、詳細度が所定のしきい値以上である１以上の住所文字列を選択することができる。また、住所文字列を選択する際には、最も詳細度の高い住所文字列から、２以上の所定数だけ選択することもできる。さらに、住所文字列を選択する際には、最も高い詳細度を有する住所文字列すべてを選択することもできる。
【０１８６】
Ｄ５．変形例５：
上記実施例では、文書データのｕｒｌを取得し（図３のステップＳ１０）、住所文字列の緯度および経度と関連づけてデータベースに格納している（同、ステップＳ６０）。しかし、緯度および経度と関連づけてデータベースに格納するデータは、ｕｒｉ（Uniform Resource Identifier）など、他の記述方式によるものでもよい。すなわち、緯度および経度の情報と関連づけてデータベースに格納するデータは、文書データの所在を表すデータであれば、任意の形式のものとすることができる。
【０１８７】
Ｄ６．変形例６：
上記実施例における住所文字列の詳細どの決定は、住所文字列中の前から順に、階層の異なる所定の語（「都」、「道」、「府」、「県」や「市」、「町」、「村」）に該当するか否かを検討することが好ましい。すなわち、ある住所文字列に「都」の文字があった場合には（図９のステップＳ４０５がＹｅｓ）、その後、その住所文字列中でその「都」の文字より後ろの部分において、次の階層の「市」、「町」、または「村」の文字があるか否かについて検討する（ステップＳ４２５参照）ことが好ましい。
【０１８８】
また、上記実施例では、「地域」の品詞が割り当てられているのは、市町村レベルの名前までである。そして、たとえば「字」のあとに続く「大沢」など、市町村より下のレベルの地名については、「地域」の品詞は割り当てられていない。しかし、市町村レベルより下の住所についても、「地域」の品詞を割り当てる態様とすることもできる。そのような態様においては、図８のステップＳ３８５においては、「品詞が「地域」である」、という条件を、選択的な条件の一つとして有することが好ましい。
【０１８９】
Ｄ７．変形例７：
上記実施例では、あらかじめ定められたサーバの閲覧用データから文書データを生成してデータベースを生成し、その後に、そのデータベースを利用したサービスが提供された。しかし、データベースの生成および更新と、そのデータベースを利用したサービスの提供とは、並行して行うこともできる。そのような態様においては、サーバの閲覧用データへのアクセスは、所定の時間（たとえば５分、１０分、３０分など）内にアクセス可能な所定の回数のしきい値（たとえば、１００回、５００回、１０００回など）を超えないような頻度で行われることが好ましい。
【０１９０】
Ｄ８．変形例８：
上記実施例では、サーバ１００のハードウェア構成については、ＣＰＵ１００とメモリ１２０のみについて言及している。このＣＰＵ１００は、単一のＣＰＵで構成されることもでき、複数のＣＰＵで構成されることもできる。また、メモリ１２０は、半導体メモリとすることもでき、固定ディスクや書き込み可能な他の記録媒体とすることもできる。
また、それらのＣＰＵ１００とメモリ１２０の構成は、単一のサーバ内に格納されていてもよく、ネットワークを介して接続された複数の装置として設けられていてもよい。
【０１９１】
同様に、ＣＰＵの各機能部も、単一のサーバ内のＣＰＵによって実現されることもでき、ネットワークで接続された複数の装置のＣＰＵが、それぞれ所定の機能部を実現する態様とすることもできる。また、各機能部自体も、単一のＣＰＵで実現されてもよく、複数のＣＰＵで実現されてもよい。
【０１９２】
さらに、アプリケーションサービスプロバイダのサーバについても、一つの閲覧用データは、一つのサーバ内に格納されていてもよいし、２以上のサーバに分散されて格納されていても良い。
【０１９３】
Ｄ９．変形例９：
上記実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えるようにしてもよい。
【０１９４】
このような機能を実現するコンピュータプログラムは、フロッピディスクやＣＤ−ＲＯＭ、ＤＶＤ等の、コンピュータ読み取り可能な記録媒体に記録された形態で提供される。ホストコンピュータは、その記録媒体からコンピュータプログラムを読み取って内部記憶装置または外部記憶装置に転送する。あるいは、通信経路を介してプログラム供給装置からホストコンピュータにコンピュータプログラムを供給するようにしてもよい。コンピュータプログラムの機能を実現する時には、内部記憶装置に格納されたコンピュータプログラムがホストコンピュータのマイクロプロセッサによって実行される。また、記録媒体に記録されたコンピュータプログラムをホストコンピュータが直接実行するようにしてもよい。
【０１９５】
この明細書において、ホストコンピュータとは、ハードウェア装置とオペレーションシステムとを含む概念であり、オペレーションシステムの制御の下で動作するハードウェア装置を意味している。コンピュータプログラムは、このようなホストコンピュータに、上述の各部の機能を実現させる。なお、上述の機能の一部は、アプリケーションプログラムでなく、オペレーションシステムによって実現されていても良い。
【０１９６】
なお、この発明において、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスクやＣＤ−ＲＯＭのような携帯型の記録媒体に限らず、各種のＲＡＭやＲＯＭ等のコンピュータ内の内部記憶装置や、ハードディスク等のコンピュータに固定されている外部記憶装置も含んでいる。
【符号の説明】
【０１９７】
１００…地図アプリケーションサーバ
１１０…ＣＰＵ
１１１…文書データ取得部
１１２…住所文字列検討部
１１３…文書データ選択部
１１４…データベース生成部
１１５…サービス提供部
１２０…メモリ
２００…クライアント
２１０…液晶ディスプレイ
２２０…キーボード
２３０…マウス
Ａ１０…地図が表示される領域
Ａ２０…入力窓と検索ボタンが表示される領域
Ａ２１…入力窓
Ａ２２…検索ボタン
Ａ３０…文書データの一部が表示される領域
ＡＢ…住所バッファ
ＡＬ…住所リストデータ
ＡＳ１，ＡＳ２…サーバ
ＢＬ…地図上に表示されるバルーン
ＩＮＴ…インターネット
ＭＤＢ…記事リンク地図データベース
ＰＤ１，ＰＤ２…閲覧用データ
【図１】
2012256356.tif 000003
【図２】
2012256356.tif 000004
【図３】
2012256356.tif 000005
【図４】
2012256356.tif 000006
【図５】
2012256356.tif 000007
【図６】
2012256356.tif 000008
【図７】
2012256356.tif 000009
【図８】
2012256356.tif 000010
【図９】
2012256356.tif 000011
【図１０】
2012256356.tif 000012
【図１１】
2012256356.tif 000013
【図１２】
2012256356.tif 000014
【図１３】
2012256356.tif 000015
【手続補正書】
【提出日】平成24年9月12日(2012.9.12)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
文書データが表す内容の正確さを評価する方法であって、
（ａ）住所を表す住所文字列と、前記住所文字列以外の文字からなる記事文字列と、を含む複数の文書データについて、前記住所文字列が表す住所の詳細さを解析する工程と、
（ｂ）前記解析の結果に基づいて、文書データの内容の正確さを決定する工程と、を含む、文書データの評価方法。
【請求項２】
請求項１記載の方法であって、
前記工程（ｂ）は、第１の文書データよりも前記詳細さが高い第２の文書データの内容の正確さを、前記第１の文書データの内容の正確さより高く決定する工程を含む、文書データの評価方法。
【請求項３】
文書データが表す内容の正確さを評価する評価装置であって、
（ａ）評価装置が受け取った複数の文書データであって、住所を表す住所文字列と、前記住所文字列以外の文字からなる記事文字列と、を含む複数の文書データについて、前記住所文字列が表す住所の詳細さを解析する解析部と、
（ｂ）前記解析の結果に基づいて、文書データの内容の正確さを決定する評価部と、
を含む、文書データの評価装置。
【請求項４】
文書データが表す内容の正確さを評価するためのコンピュータプログラムであって、
（ａ）コンピュータが受け取った複数の文書データであって、住所を表す住所文字列と、前記住所文字列以外の文字からなる記事文字列と、を含む複数の文書データについて、前記住所文字列が表す住所の詳細さを解析する機能と、
（ｂ）前記解析の結果に基づいて、文書データの内容の正確さを決定する機能と、
を前記コンピュータに実現させることができるコンピュータプログラム。
【請求項５】
複数の文書データの中から内容が正確な文書データを選択する方法であって、
（ａ）住所を表す住所文字列と、前記住所文字列以外の文字からなる記事文字列と、を含む複数の文書データについて、前記住所文字列が表す住所の詳細さを解析する工程と、
（ｂ）前記解析の結果に基づいて、複数の文書データの中から前記住所文字列を含む少なくとも一つの文書データを選択する工程と、を含む、文書データ選択方法。
【請求項６】
請求項５記載の方法であって、
前記工程（ｂ）は、第１の文書データよりも前記詳細さが高い第２の文書データを、前記第１の文書データよりも優先的に選択する工程を含む、文書データ選択方法。
【請求項７】
複数の文書データの中から内容が正確な文書データを選択する選択装置であって、
（ａ）選択装置が受け取った複数の文書データであって、住所を表す住所文字列と、前記住所文字列以外の文字からなる記事文字列と、を含む複数の文書データについて、前記住所文字列が表す住所の詳細さを解析する解析部と、
（ｂ）前記解析の結果に基づいて、複数の文書データの中から前記住所文字列を含む少なくとも一つの文書データを選択する選択部と、を含む、文書データ選択装置。
【請求項８】
複数の文書データの中から内容が正確な文書データを選択するためのコンピュータプログラムであって、
（ａ）コンピュータが受け取った複数の文書データであって、住所を表す住所文字列と、前記住所文字列以外の文字からなる記事文字列と、を含む複数の文書データについて、前記住所文字列が表す住所の詳細さを解析する機能と、
（ｂ）前記解析の結果に基づいて、複数の文書データの中から前記住所文字列を含む少なくとも一つの文書データを選択する機能と、
を前記コンピュータに実現させることができるコンピュータプログラム。
【請求項９】
複数の文書データに基づいてデータベースを生成する方法であって、
（ａ）住所を表す住所文字列と、前記住所文字列以外の文字からなる記事文字列と、を含む複数の文書データについて、前記住所文字列が表す住所の詳細さを解析する工程と、
（ｂ）前記解析の結果に基づいて、複数の文書データの中から前記住所文字列を含む少なくとも一つの文書データを選択する工程と、
（ｃ）前記選択された文書データに基づいて、データベースを生成する工程と、を含む方法。
【請求項１０】
請求項９記載の方法であって、
前記工程（ｂ）は、第１の文書データよりも前記詳細さが高い第２の文書データを、前記第１の文書データよりも優先的に選択する工程を含む、データベースの生成方法。
【請求項１１】
複数の文書データに基づいてデータベースを生成するデータベース生成装置であって、
（ａ）データベース生成装置が受け取った複数の文書データであって、住所を表す住所文字列と、前記住所文字列以外の文字からなる記事文字列と、を含む複数の文書データについて、前記住所文字列が表す住所の詳細さを解析する解析部と、
（ｂ）前記解析の結果に基づいて、複数の文書データの中から前記住所文字列を含む少なくとも一つの文書データを選択する選択部と、
（ｃ）前記選択された文書データに基づいて、データベースを生成するデータベース生成部と、
を含む、データベース生成装置。
【請求項１２】
複数の文書データに基づいてデータベースを生成するためのコンピュータプログラムであって、
（ａ）コンピュータが受け取った複数の文書データであって、住所を表す住所文字列と、前記住所文字列以外の文字からなる記事文字列と、を含む複数の文書データについて、前記住所文字列が表す住所の詳細さを解析する機能と、
（ｂ）前記解析の結果に基づいて、複数の文書データの中から前記住所文字列を含む少なくとも一つの文書データを選択する機能と、
（ｃ）前記選択された文書データに基づいて、データベースを生成する機能と、
を前記コンピュータに実現させることができるコンピュータプログラム。