(57)【要約】【課題】ネット上において特定ユーザーの個人領域ページを特定し、ページ内に含まれるエレメントを抽出する。【解決手段】第１のアドレスキーと第２のアドレスキーの類似度がしきい値以上と判断された場合に、ＵＲＬを特定のアドレス群として関連付ける（個人領域の特定）。さらに、イメージ化したＷｅｂページ上に点を配置し、配置した点を含むエレメントの階層構造を統合などして、対応する内容データを抽出する（エレメントの抽出）。【選択図】  図１
2015053087.tif 000002
【特許請求の範囲】
【請求項１】
Ｗｅｂページのアドレスをグループ化するためのグループ化プログラムであって、
コンピュータを、
特定のアドレスからＷｅｂページを取得するＷｅｂページ取得手段、
前記Ｗｅｂページからリンクを抽出し、抽出した各リンクのアドレスを区切り文字で分割して第１のアドレスキーを生成する第１のアドレスキー生成手段、
前記第１のアドレスキーを生成したリンクから取得されるＷｅｂページからリンクを抽出し、抽出した各リンクのアドレスを区切り文字で分割して第２のアドレスキーを生成する第２のアドレスキー生成手段、
前記第１のアドレスキーと前記第２のアドレスキーとの間で一致するキーを照合し、当該一致するキーの出現順序が同じである組み合わせ数を計数し、その結果に基づいて類似度を算出する類似度算出手段、
前記類似度がしきい値以上であると判断されたリンクのアドレスを、特定のアドレス群として関連付けるグループ化手段、
として機能させることを特徴とするグループ化プログラム。
【請求項２】
請求項１のグループ化プログラムにおいて、
前記類似度算出手段は、
前記第１のアドレスキーと前記第２のアドレスキーとの間で、第１のアドレスキーを構成するキーの１つと一致するキーが第２のアドレスキーを構成するキーの中に存在するか否かを前方から照合し、
第２のアドレスキーを構成するキーの中に対応するキーが存在する場合には、第１および第２のアドレスキーにおいて一致するとして検出されたキーの次のキーから、後方に向けて一致するキーの組み合わせ数を計数し、
第１のアドレスキーを構成するキーの総数に対する前記第２のアドレスキーとの間で対応付けられたキーの組み合わせ数の割合を類似度として算出する、
ことを特徴とするグループ化プログラム。
【請求項３】
請求項１または請求項２のグループ化プログラムにおいて、さらに、
前記特定のアドレスから所定のリンク階層数まで、類似度がしきい値以上のリンクのアドレスを、特定のアドレス群として関連付けるグループ化探索手段であって、
前記グループ化手段により特定のアドレス群として関連付けられた前記アドレスから取得したＷｅｂページからリンクを抽出し、抽出した各リンクのアドレスを区切り文字で分割して第３のアドレスキーを生成し、前記第１のアドレスキーと前記第３のアドレスキーとの間で、一致するアドレスキーの数を計数し、その結果に基づいて類似度を算出するグループ化探索手段、
を備えたこと、を特徴とするグループ化プログラム。
【請求項４】
請求項１〜３のいずれかのグループ化プログラムにおいて、
前記第１のアドレスキー生成手段または前記第２のアドレスキー生成手段が、少なくとも第１のアドレスキーまたは第２のアドレスキーを生成する前に、前記特定のアドレスにおいてユーザーを特定する識別子だけを置き換えたアドレスであると判断されたアドレスを削除する、
ことを特徴とするグループ化プログラム。
【請求項５】
請求項１〜４のいずれかのグループ化プログラムにおいて、
前記第１のアドレスキー生成手段または前記第２のアドレスキー生成手段が、少なくとも第１のアドレスキーまたは第２のアドレスキーを生成する前に、削除対象として登録されたアドレスに一致すると判定されたアドレスを削除する、
ことを特徴とするグループ化プログラム。
【請求項６】
請求項１〜５のいずれかのグループ化プログラムにおいて、さらに、
前記特定のアドレスを、サーバにアクセスすることにより所定時間毎に自動的に蓄積するアドレス蓄積手段、
を備えた、ことを特徴とするグループ化プログラム。
【請求項７】
Ｗｅｂページのアドレスをグループ化するためのグループ化装置であって、
特定のアドレスからＷｅｂページを取得するＷｅｂページ取得手段と、
前記Ｗｅｂページからリンクを抽出し、抽出した各リンクのアドレスを区切り文字で分割して第１のアドレスキーを生成する第１のアドレスキー生成手段と、
前記第１のアドレスキーを生成したリンクに対応するＷｅｂページからリンクを抽出し、抽出した各リンクのアドレスを区切り文字で分割して第２のアドレスキーを生成する第２のアドレスキー生成手段と、
前記第１のアドレスキーと前記第２のアドレスキーとの間で一致するキーを照合し、当該一致するキーの出現順序が同じである組み合わせ数を計数し、その結果に基づいて類似度を算出する類似度算出手段、
前記類似度がしきい値以上のリンクのアドレスを、特定のアドレス群として関連付けるグループ化手段と、
を備えたこと、を特徴とするグループ化装置。
【請求項８】
コンピュータにより、Ｗｅｂページのアドレスをグループ化するためのグループ化方法であって、前記コンピュータが、
特定のアドレスからＷｅｂページを取得し、
前記Ｗｅｂページからリンクを抽出し、抽出した各リンクのアドレスを区切り文字で分割して第１のアドレスキーを生成し、
前記第１のアドレスキーを生成したリンクに対応するＷｅｂページからリンクを抽出し、抽出した各リンクのアドレスを区切り文字で分割して第２のアドレスキーを生成し、
前記第１のアドレスキーと前記第２のアドレスキーとの間で一致するキーを照合し、当該一致するキーの出現順序が同じである組み合わせ数を計数し、その結果に基づいて類似度を算出し、
前記類似度がしきい値以上のリンクのアドレスを、特定のアドレス群として関連付けること、
を特徴とするグループ化方法。
【請求項９】
Ｗｅｂページから所定のエレメントを抽出するためのエレメント抽出プログラムであって、
コンピュータを、
Ｗｅｂページを表示領域に展開するＷｅｂページ展開手段、
各エレメントの表示範囲を特定する座標を取得する座標取得手段、
前記表示領域上に、エレメントの配置方向に複数の点を配置し、当該配置した点を表示範囲に含むエレメントを選択するエレメント選択手段、
選択した前記エレメントの階層構造を順に配列するエレメント配列手段、
前記エレメントの各階層構造をタグ単位で分割して階層キーを生成する階層キー生成手段、
隣接するエレメントの間で、一致する階層キーの数を計数し、その結果に基づいて類似度を算出する類似度算出手段、
前記類似度に基づいて、２以上の隣接するエレメントの階層構造を特定し、当該階層構造に対応する内容データをＷｅｂページから取得する内容データ取得手段、
として機能させることを特徴とするエレメント抽出プログラム。
【請求項１０】
請求項９のエレメント抽出プログラムにおいて、
コンピュータを、さらに、
隣接するエレメントの前記階層構造の類似度の平均を上位方向に算出して類似度ピラミッドを生成し、前記類似度がしきい値以上であるか否かを検出し、検出された類似度の底辺に含まれるエレメントの階層構造のうち、所定のルールに合致する階層構造を特定し、当該階層構造に対応する内容データをＷｅｂページから取得する内容データ取得手段、
として機能させることを特徴とするエレメント抽出プログラム。
【請求項１１】
請求項９または請求項１０のエレメント抽出プログラムにおいて、
前記内容データ取得手段は、
類似度ピラミッドの底辺に含まれるエレメントのうち、隣接するエレメントが包含関係にあるかを判断し、
隣接するエレメントが包含関係にない場合には、各階層構造について対応する内容データを取得する、
ことを特徴とするエレメント抽出プログラム。
【請求項１２】
請求項９〜１１のいずれかのエレメント抽出プログラムにおいて、
前記エレメント抽出手段は、
類似度ピラミッドの底辺に含まれるエレメントのうち、隣接するエレメントの階層構造が包含関係にあるかを判断し、
隣接するエレメントが包含関係にある場合には、テキスト差分がしきい値以下の場合に、包含される下位の階層構造を削除して、包含する上位の階層構造に対応する内容データを取得し、
隣接するエレメントが包含関係にある場合には、テキスト差分がしきい値を超える場合に、包含する上位の階層構造を削除して、包含される下位の階層構造に対応する内容データを取得する、
ことを特徴とするエレメント抽出プログラム。
【請求項１３】
請求項９〜１２のいずれかのエレメント抽出プログラムにおいて、
前記エレメント選択手段が、前記表示領域上において、所定方向に等間隔で複数の点を配置し、配置した点を表示範囲に含むエレメントを選択する、
ことを特徴とするエレメント抽出プログラム。
【請求項１４】
請求項９〜１３のいずれかのエレメント抽出プログラムにおいて、
前記エレメント選択手段が、前記表示領域上において、前記所定方向に垂直の直線上に複数の点を配置し、同一直線上に配置した点を最も多く表示範囲に含むエレメントを選択する、
ことを特徴とするエレメント抽出プログラム。
【請求項１５】
請求項９〜１４のいずれかのエレメント抽出プログラムにおいて、
前記エレメント抽出手段が、エレメントに含まれるＡタグのＵＲＬまたは自然言語でマッチングして得た属性を、エレメントに関連付けて記憶した、
ことを特徴とするエレメント抽出プログラム。
【請求項１６】
Ｗｅｂページから所定のエレメントを抽出するためのエレメント抽出装置であって、
Ｗｅｂページを表示領域に展開するＷｅｂページ展開手段、
各エレメントの表示範囲を特定する座標を取得する座標取得手段、
前記表示領域上に、エレメントの配置方向に複数の点を配置し、当該配置した点を表示範囲に含むエレメントを選択するエレメント選択手段、
選択した前記エレメントの階層構造を順に配列するエレメント配列手段、
前記エレメントの各階層構造をタグ単位で分割して階層キーを生成する階層キー生成手段、
隣接するエレメントの間で、一致する階層キーの数を計数し、その結果に基づいて類似度を算出する類似度算出手段、
前記類似度に基づいて、２以上の隣接するエレメントの階層構造を特定し、当該階層構造に対応する内容データをＷｅｂページから取得する内容データ取得手段、
を備えたこと、を特徴とするエレメント抽出装置。
【請求項１７】
コンピュータにより、Ｗｅｂページから所定のエレメントを抽出するためのエレメント抽出方法であって、前記コンピュータが、
Ｗｅｂページを表示領域に展開し、
各エレメントの表示範囲を特定する座標を取得し、
前記表示領域上に、エレメントの配置方向に複数の点を配置し、当該配置した点を表示範囲に含むエレメントを選択し、
選択した前記エレメントの階層構造を順に配列し、
前記エレメントの各階層構造をタグ単位で分割して階層キーを生成し、
隣接するエレメントの間で、一致する階層キーの数を計数し、その結果に基づいて類似度を算出し、
前記類似度に基づいて、２以上の隣接するエレメントの階層構造を特定し、当該階層構造に対応する内容データをＷｅｂページから取得すること、
を特徴とするエレメント抽出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、インターネット上におけるＷｅｂページを解析するための技術に関し、特に、Ｗｅｂページ群のグループ化および各Ｗｅｂページの分割処理に関するものである。
【背景技術】
【０００２】
従来から、Ｗｅｂページを解析するために様々な方法が考えられている。例えば、特許文献１には、アクセスログに含まれるＵＲＩを解析し，Ｗｅｂページをグループ化する手法が開示されている。特許文献２には、主要コンテンツを自動的に抽出する手法が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−１２３０００号公報
【特許文献２】特開２０１０−１１７９４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１の技術は、アクセスログを対象としてＷｅｂページをグループ化するものであり，グループ化する対象は，同様のドメインや同様のＵＲＩ構造をもつＷｅｂページ群である。よって、個人領域を特定するものではない。また、特許文献１の技術は、ドメイン部，ディレクトリ部，クエリ部に分割し，特徴ベクトル間の類似度を算出する手法を提案しており，類似度の算出アルゴリズムが複雑である。
【０００５】
特許文献２の技術は、ＨＴＭＬデータに対して所定の分割規則に基づいてセグメントに分割するものであり，対象となるＨＴＭＬデータ毎にルールを予め決定する必要がある。よって，汎用性の高い記事抽出が困難であり、記事を抽出する処理量が膨大である。
【０００６】
この発明は、（i）個人領域の特定により、当該特定された個人領域に対して対象者の解析を正確に行うことを目的とする。また、この発明は、（ii）分割処理により、Ｗｅｂサイトの構造にのみ着目して重要な記事部分だけを容易に抽出することを目的とする。
【課題を解決するための手段】
【０００７】
（１）この発明のグループ化プログラムは、
Ｗｅｂページのアドレスをグループ化するためのグループ化プログラムであって、
コンピュータを、
特定のアドレスからＷｅｂページを取得するＷｅｂページ取得手段、
前記Ｗｅｂページからリンクを抽出し、抽出した各リンクのアドレスを区切り文字で分割して第１のアドレスキーを生成する第１のアドレスキー生成手段、
前記第１のアドレスキーを生成したリンクから取得されるＷｅｂページからリンクを抽出し、抽出した各リンクのアドレスを区切り文字で分割して第２のアドレスキーを生成する第２のアドレスキー生成手段、
前記第１のアドレスキーと前記第２のアドレスキーとの間で一致するキーを照合し、当該一致するキーの出現順序が同じである組み合わせ数を計数し、その結果に基づいて類似度を算出する類似度算出手段、
前記類似度がしきい値以上であると判断されたリンクのアドレスを、特定のアドレス群として関連付けるグループ化手段、
として機能させることを特徴とする。
【０００８】
これにより、特定ユーザーの個人領域をグループ化して特定することができ、当該個人領域のＷｅｂページ群に対して解析を行うことができる。
【０００９】
（２）この発明のグループ化プログラムは、
前記類似度算出手段が、
前記第１のアドレスキーと前記第２のアドレスキーとの間で、第１のアドレスキーを構成するキーの１つと一致するキーが第２のアドレスキーを構成するキーの中に存在するか否かを前方から照合し、
第２のアドレスキーを構成するキーの中に対応するキーが存在する場合には、第１および第２のアドレスキーにおいて一致するとして検出されたキーの次のキーから、後方に向けて一致するキーの組み合わせ数を計数し、
第１のアドレスキーを構成するキーの総数に対する前記第２のアドレスキーとの間で対応付けられたキーの組み合わせ数の割合を類似度として算出する、
ことを特徴とする。
【００１０】
これにより、第１のアドレスキーから第２のアドレスキーを照合して算出した類似度に基づいて、特定ユーザーの個人領域をグループ化して特定することができ、当該個人領域のＷｅｂページ群に対して解析を行うことができる。
【００１１】
（３）この発明のグループ化プログラムは、
前記特定のアドレスから所定数のリンク階層数まで、類似度がしきい値以上のリンクのアドレスを、特定のアドレス群として関連付けるグループ化探索手段であって、
前記グループ化手段により特定のアドレス群として関連付けられた前記アドレスから取得したＷｅｂページからリンクを抽出し、抽出した各リンクのアドレスを区切り文字で分割して第３のアドレスキーを生成し、前記第１のアドレスキーと前記第３のアドレスキーとの間で、一致するアドレスキーの数を計数し、その結果に基づいて類似度を算出するグループ化探索手段、
を備えたこと、を特徴とする。
【００１２】
これにより、所定のリンク階層数まで、特定ユーザーの個人領域をグループ化して特定することができる。
【００１３】
（４）この発明のグループ化プログラムは、
前記第１のアドレスキー生成手段または前記第２のアドレスキー生成手段が、少なくとも第１のアドレスキーまたは第２のアドレスキーを生成する前に、前記特定のアドレスにおいてユーザーを特定する識別子だけを置き換えたアドレスであると判断されたアドレスを削除する、
ことを特徴とする。
【００１４】
これにより、異なるユーザーのＵＲＬを容易に削除することができる。
【００１５】
（５）この発明のグループ化プログラムは、
前記第１のアドレスキー生成手段または前記第２のアドレスキー生成手段が、少なくとも第１のアドレスキーまたは第２のアドレスキーを生成する前に、削除対象として登録されたアドレスに一致すると判定されたアドレスを削除する、
ことを特徴とするグループ化プログラム。
【００１６】
これにより、予め登録された広告サイトなどのＵＲＬを容易に削除することができる。
【００１７】
（６）この発明のグループ化プログラムは、
前記特定のアドレスを、サーバにアクセスすることにより所定時間毎に自動的に蓄積するアドレス蓄積手段、
を備えた、ことを特徴とする。
【００１８】
これにより、個人領域をグループ化して特定する特定ユーザーを自動的に蓄積することができる。
【００１９】
（９）この発明のエレメント抽出プログラムは、
Ｗｅｂページから所定のエレメントを抽出するためのエレメント抽出プログラムであって、
コンピュータを、
Ｗｅｂページを表示領域に展開するＷｅｂページ展開手段、
各エレメントの表示範囲を特定する座標を取得する座標取得手段、
前記表示領域上に、エレメントの配置方向に複数の点を配置し、当該配置した点を表示範囲に含むエレメントを選択するエレメント選択手段、
選択した前記エレメントの階層構造を順に配列するエレメント配列手段、
前記エレメントの各階層構造をタグ単位で分割して階層キーを生成する階層キー生成手段、
隣接するエレメントの間で、一致する階層キーの数を計数し、その結果に基づいて類似度を算出する類似度算出手段、
前記類似度に基づいて、２以上の隣接するエレメントの階層構造を特定し、当該階層構造に対応する内容データをＷｅｂページから取得する内容データ取得手段、
として機能させることを特徴とする。
【００２０】
これにより、Ｗｅｂページに含まれる記事などの単位で分割して解析することが可能となる。例えば、記事単位でも検索システムに用いたり、有害であると判断されたＷｅｂページの一部だけを非表示としたり、特定商品に関する書き込みだけを抽出して商品の評価を収集するといった処理に利用することができる。
【００２１】
（１０）この発明のエレメント抽出プログラムは、
コンピュータを、さらに、
隣接するエレメントの前記階層構造の類似度の平均を上位方向に算出して類似度ピラミッドを生成し、前記類似度がしきい値以上であるか否かを検出し、検出された類似度の底辺に含まれるエレメントの階層構造のうち、所定のルールに合致する階層構造を特定し、当該階層構造に対応する内容データをＷｅｂページから取得する内容データ取得手段、
として機能させることを特徴とする。
【００２２】
これにより、内容データの抽出対象となる記事の階層構造を容易に特定することができる。
【００２３】
（１１）この発明のエレメント抽出プログラムは、
前記内容データ取得手段が、
類似度ピラミッドの底辺に含まれるエレメントのうち、隣接するエレメントが包含関係にあるかを判断し、
隣接するエレメントが包含関係にない場合には、各階層構造について対応する内容データを取得する、
ことを特徴とする。
【００２４】
これにより、内容データの抽出対象となる記事の階層構造を正確に特定することができる。
【００２５】
（１２）この発明のエレメント抽出プログラムは、
前記エレメント抽出手段が、
類似度ピラミッドの底辺に含まれるエレメントのうち、隣接するエレメントの階層構造が包含関係にあるかを判断し、
隣接するエレメントが包含関係にある場合には、テキスト差分がしきい値以下の場合に、包含される下位の階層構造を削除して、包含する上位の階層構造に対応する内容データを取得し、
隣接するエレメントが包含関係にある場合には、テキスト差分がしきい値を超える場合に、包含する上位の階層構造を削除して、包含される下位の階層構造に対応する内容データを取得する、
ことを特徴とする。
【００２６】
これにより、内容データの抽出対象となる記事の階層構造をより正確に特定することができる。
【００２７】
（１３）この発明のエレメント抽出プログラムは、
前記エレメント選択手段が、前記表示領域上において、所定方向に等間隔で複数の点を配置し、配置した点を表示範囲に含むエレメントを選択する、
ことを特徴とする。
【００２８】
これにより、内容データの抽出対象となる階層構造を特定するために必要な階層キーを取得することができる。
【００２９】
（１４）この発明のエレメント抽出プログラムは、
前記エレメント選択手段が、前記表示領域上において、前記所定方向に垂直の直線上に複数の点を配置し、同一直線上に配置した点を最も多く表示範囲に含むエレメントを選択する、
ことを特徴とする。
【００３０】
これにより、内容データの抽出対象となる階層構造を特定するために必要な階層キーを取得することができる。
【００３１】
（１５）この発明のエレメント抽出プログラムは、
前記エレメント抽出手段が、エレメントに含まれるＡタグのＵＲＬまたは自然言語でマッチングして得た属性を、エレメントに関連付けて記憶した、
ことを特徴とする。
【００３２】
これにより、Ｗｅｂページから抽出した内容データの属性を区別して記憶することができる。
【００３３】
この発明において、「プログラム」とは、ＣＰＵにより直接実行可能なプログラムだけでなく、ソース形式のプログラム、圧縮処理がされたプログラム、暗号化されたプログラム等を含む概念である。
【００３４】
「ネットサイト」とは、例えば、前略プロフィール、モバゲータウン、GREE（いずれも商標）などのホームページサービスその他の個人毎にページを持つことが可能なサイトを含む概念である。
【図面の簡単な説明】
【００３５】
【図１】本発明のグループ化装置１００のブロック図である。
【図２】第１のアドレスキーおよび第２のアドレスキーとの間で照合する手順を示す図である。
【図３】グループ化装置１００のハードウェア構成を示す図である。
【図４】グループ化プログラム３２（図３）による処理を示すフローチャートである。
【図５】取得されたユーザーＡのトップページから抽出されたＵＲＬのデータ例を示す図である。
【図６】広告ＵＲＬリスト３６に登録されたＵＲＬと一致するリンクを削除した状態を示す図である。
【図７】ユーザーフィルタルールと一致するリンクを削除した状態を示す図である。
【図８】第１のアドレスキーを生成した状態を示す図である。
【図９】図８に示すリンクα３のＷｅｂページから抽出されたリンクのＵＲＬのデータ例を示す図である。
【図１０】広告ＵＲＬリスト３６に登録されたＵＲＬと一致するリンクを削除した状態を示す図である。
【図１１】ユーザーフィルタルールと一致するリンクを削除した状態を示す図である。
【図１２】第２のアドレスキーを生成した状態を示す図である。
【図１３ａ】キーの照合方法を示す図である。
【図１３ｂ】類似度の算出方法および類似度を算出した結果を示す図である。
【図１４】特定のアドレス群として関連付けて記憶されたデータ例を示す図である。
【図１５】本発明のエレメント抽出装置２００のブロック図である。
【図１６】エレメント抽出装置２００のハードウェア構成を示す図である。
【図１７】エレメント抽出プログラム３８（図１６）による処理を示すフローチャートである。
【図１８】イメージデータに変換される前の掲示板のＨＴＭＬデータ（ソースコード）（図１８Ａ）およびこれをイメージデータに変換して画面上に表示した表示例（図１８Ｂ）である。
【図１９】エレメントの座標を算出する方法を示す図である。
【図２０】Ｗｅｂページ上に点を配置した状態（図２０Ａ）および配置した点を含むエレメントの階層構造を配列した状態（図２０Ｂ）を示す図である。
【図２１】各階層構造から階層キーを生成した状態を示す図である。
【図２２】エレメント間の階層構造の類似度を算出する方法および類似度を算出した結果を示す図である。
【図２３】類似値ピラミッドを生成した状態を示す図である。
【図２４】しきい値以上の類似度を頂点とするピラミッドを検出した状態を示す図である。
【図２５】階層構造を特定する処理（図１７のステップＳ２２０）の詳細を示す図である。
【図２６】包含関係にあるエレメントの階層構造を統合する方法（テキスト差分がしきい値以下のとき）を示す図である。
【図２７】包含関係にあるエレメントの階層構造を統合する方法（テキスト差分がしきい値を超えるとき）を示す図である。
【図２８】最終的に抽出されたエレメントのデータ例およびその属性を示す図である。
【図２９】その他の実施形態を示す図である。
【図３０】本発明の応用例を示す図である。
【発明を実施するための形態】
【００３６】
１．本発明の意義
近年、モバイルインターネットにおけるネットサイトには様々な問題が指摘されており、ネットパトロールシステムを自動化し、ネットサイトにおける子供たちの行動を継続的に監視し、また問題がある子供を的確に指導することが課題となっている。
【００３７】
しかし、ネットパトロールを自動化するためには、ネット上の膨大なＷｅｂページの中から、各ユーザーの個人領域を特定する必要がある。さらに、１つのＷｅｂページに複数人の書き込みが含まれる場合に、より正確に対象者の解析を行うためには、Ｗｅｂページ単位ではなく、記事単位でＷｅｂページから内容を抽出する必要がある。
【００３８】
本発明は、ネットパトロール支援システムの自動化に寄与するものであり、本発明のグループ化装置１００（図１）は、膨大なＷｅｂページの中から、ネット上のユーザーの個人領域を特定するために有効な手段である。ネット上の個人領域の特定するために、例えば、各ユーザーのトップページからリンクされたＵＲＬ（アドレス）が類似するか否かという観点から、同一ユーザーのページをリンクに沿って探索することで、各ユーザーの個人領域を容易に特定することができる。
【００３９】
また、本発明のエレメント抽出プログラム（図１５）は、掲示板のように１つのＷｅｂページに複数の内容が繰り返しで出現するような場合に、書き込まれた内容を抽出するために有効な手段である。すなわち、１ページ内に異なるユーザーの書き込みなど様々なデータが混在する場合であっても、重要であると推測される部分だけを容易に抽出することができる。
【００４０】
１−１．グループ化装置１００の構造
まず、図１などを用いて、本発明のグループ化装置１００について説明する。図１は本発明のグループ化装置１００のブロック図である。
【００４１】
図１に示すように、本発明のグループ化装置１００は、Ｗｅｂページ取得手段２と、第１のアドレスキー生成手段４と、第２のアドレスキー生成手段６と、類似度算出手段８と、アドレスグループ化手段１０と、グループ化探索手段１２と、を備えている。
【００４２】
Ｗｅｂページ取得手段２（図１）は、特定のＵＲＬからＷｅｂページを取得する。例えば、ネットサイトに登録されているユーザーＡのトップページを取得する。
【００４３】
第１のアドレスキー生成手段４（図１）は、Ｗｅｂページ取得手段２が取得したＷｅｂページ（トップページ）からリンクだけを抽出し、抽出した各リンクのＵＲＬを区切り文字で分割して第１のアドレスキーを生成する。
【００４４】
さらに、第２のアドレスキー生成手段６（図１）は、第１のアドレスキーを生成したリンクから取得されるＷｅｂページからリンクを抽出し、抽出した各リンクのＵＲＬを区切り文字で分割して第２のアドレスキーを生成する。このようにして所定のリンク階層までアドレスキーを生成する。
【００４５】
類似度算出手段８（図１）は、第１のアドレスキー生成手段４が生成した第１のアドレスキーと、第２のアドレスキー生成手段６が生成した第２のアドレスキーとの間で一致するキーを照合し、当該一致するキーの出現順序が同じである組み合わせ数を計数し、その結果に基づいて類似度を算出する。
【００４６】
図２を用いて、第１のアドレスキーおよび第２のアドレスキーの間で照合する手順について説明する。
【００４７】
照合処理は、図２に示すように、ユーザーＡのトップページ（http:top・）から抽出される１つのＵＲＬ「リンクＵＲＬ０１」から生成される第１のアドレスキーと、当該ＵＲＬ「リンクＵＲＬ０１」のＷｅｂページ（http://link1・）から抽出される各リンク（例えば、「リンクＵＲＬ１１」）から生成される第２のアドレスキーと、の間で行われる。なお、当該照合に基づく類似度の算出方法については、後述する。
【００４８】
グループ化手段１０（図１）は、第１のアドレスキーと第２のアドレスキーの類似度がしきい値以上と判断されたリンクのＵＲＬ（例えば、「リンクＵＲＬ０１」および「リンクＵＲＬ１１」）を、特定のアドレス群として関連付ける。
【００４９】
グループ化探索手段１２（図１）は、さらに、特定のＵＲＬ（例えば、トップページ）から所定のリンク階層数まで、類似度がしきい値以上のリンクのＵＲＬを、特定のアドレス群として関連付けるための手段である。
【００５０】
そのために、図２に示すように、グループ化手段１０により特定のアドレス群として関連付けられたＵＲＬ（例えば、「リンクＵＲＬ１１」）からＷｅｂページ（トップページから２リンク先の階層数http://link2・）を取得して当該Ｗｅｂページからリンクを抽出し、抽出した各リンク（例えば、「リンクＵＲＬ２１」）のＵＲＬを区切り文字で分割して第３のアドレスキーを生成する。さらに、「リンクＵＲＬ０１」から生成した第１のアドレスキーと、「リンクＵＲＬ２１」から生成した第３のアドレスキーとの間で、一致するアドレスキーの数を計数し、その結果に基づいて類似度を算出する。ｎリンク先の階層についても、同様に、「リンクＵＲＬ０１」から生成した第１のアドレスキーと、ｎリンク先のＷｅｂページから抽出されるリンクから生成した第ｎのアドレスキーとの間で、一致するアドレスキーの数を計数して、その結果に基づいて類似度を算出し、類似度がしきい値以上のリンクのＵＲＬを、特定のアドレス群として関連付ける。
【００５１】
以上のように、特定のユーザーに関するＵＲＬがグループ化されることで、特定ユーザーの個人領域を正確に解析することができる。
【００５２】
１−２．グループ化装置１００のハードウェア構成
図３に、グループ化装置１００のハードウェア構成を示す。グループ化処理装置１００は、図２に示すＣＰＵ２０、ＲＡＭ２２、ディスプレイ２４、ハードディスク２６、キーボード／マウス２８、記録媒体ドライブ３０を備えたコンピュータで構成される。
【００５３】
図３のハードディスク２６には、特定のユーザーの個人領域、すなわち、特定のユーザーに属するＷｅｂページ群を特定してグループ化するためのグループ化プログラム３２が記録されている。グループ化プログラム３２は、ＣＰＵ２０、ＲＡＭ２２、ディスプレイ２４、ハードディスク２６、キーボード／マウス２８、記録媒体ドライブ３０を備えたコンピュータを、図１に示すＷｅｂページ取得手段２、第１のアドレスキー生成手段４、第２のアドレスキー生成手段６、類似度算出手段８、アドレスグループ化手段１０、グループ化探索手段１２として機能させるプログラムである。
【００５４】
また、図３のハードディスク２６には、ネットサイトのユーザーリスト３４が記憶されている。例えば、ユーザーリスト３４には、ネットサイトから所定時間毎に予め収集されたユーザーのトップページに対応するＵＲＬが蓄積されている。
【００５５】
また、図３のハードディスク２６には、広告のＵＲＬを削除するために用いられる広告ＵＲＬリスト３６が記憶されている。例えば、広告ＵＲＬリスト３４には、予めネット上から収集された広告のＵＲＬが蓄積されている。
【００５６】
１−３．グループ化プログラム３２による処理
図４は、グループ化プログラム３２（図３）による処理を示すフローチャートである。
【００５７】
グループ化プログラム３２が起動されると、ＣＰＵ２０は、ユーザーリスト３４を参照し、特定ユーザーのＵＲＬからＷｅｂページを取得する（ステップＳ１０２）。例えば、ユーザーＡのトップページが取得される。
【００５８】
さらに、ＣＰＵ２０は、取得したＷｅｂページからリンクを抽出する（ステップＳ１０４）。具体的には、ＨＴＭＬデータに含まれるハイパーリンク（いわゆる、Ａタグ）を検索することで、図５に示すようなリンクのＵＲＬが抽出される。
【００５９】
つぎに、不要なリンクを削除するために、広告フィルタ処理が行われる（ステップＳ１０６）。すなわち、ＣＰＵ２０は、広告ＵＲＬリスト３６を参照し、ステップＳ１０４で抽出したリンクのうち、広告サイトのＷｅｂページとＵＲＬが一致するリンクを削除する。これにより、ユーザーＡとは明らかに無関係な広告サイトのＷｅｂページを削除することができる。例えば、図６に示すように、広告ＵＲＬリスト３６に登録されたＵＲＬと一致するリンクα１が全て削除される。なお、広告ＵＲＬリストに登録されていないものが上記広告フィルタ処理を通過したとしても、通常は、後述する類似度に基づく削除処理（図４のステップＳ１２２）において削除される。
【００６０】
さらに、不要なリンクを削除するために、ユーザーフィルタ処理が行われる（ステップＳ１０８）。ユーザーフィルタ処理とは、特定のＵＲＬについて、ユーザーを特定する識別子だけを置き換えたＵＲＬのリンクを削除するというものである。例えば、ＵＲＬ「http://pr.cccboy.com/16378304」のうちユーザーＩＤを示す「16378304」の部分だけが異なる場合は、別のユーザーのＵＲＬ（トップページ）であるため、当該ＵＲＬのリンクを削除することとした。
【００６１】
具体的な処理としては、「http://pr.cccboy.com/*」のように、トップページのＵＲＬのうち、ユーザーＩＤの部分のみをワイルドカード（正規表現）として検索し、その結果、検出された図７に示すリンクα２（ＵＲＬ「http://pr.cccboy.com/12345678」）を削除した。
【００６２】
上記ステップＳ１０６およびステップＳ１０８において不要なリンクを削除した後、ＣＰＵ２０は、残りのリンクについて、ＵＲＬを区切り文字で分割して第１のアドレスキーを生成する（ステップＳ１１０）。
【００６３】
具体的には、各リンクのＵＲＬを、プロトコル名を除いて、区切り文字（英数字以外のスラッシュ「/」、ピリオド「.」など）でテキストを分割することで、各キーが生成される。例えば、図８に示すリンクα３のＵＲＬ「http://bbs.cccboy.com/Guestbook/BBS/16378304/」から、第１のアドレスキーとして、６つのキー「bbs」、「cccboy」、「com」、「Guestbook」、「BBS」「16378304」が生成される。ＣＰＵ２０は、これらのキーを配列順序と併せて、後述する照合処理のためにＲＡＭ２２に記憶する。さらに、第１のアドレスキーを生成する元になった図８に示す各リンクのＵＲＬを、ユーザーＡのトップページに属するアドレス群として関連付けて記憶する（ステップＳ１１１）。
【００６４】
次に、ＣＰＵ２０は、第１のアドレスキーを生成した各リンクのＵＲＬからＷｅｂページを取得し（ステップＳ１１２）、当該Ｗｅｂページからリンクを抽出する（ステップＳ１１４）。図８に示すリンクα３のＷｅｂページから抽出されたリンクを、図９に示す。
【００６５】
さらに、ステップＳ１０６およびステップＳ１０８と同様、不要ＵＲＬの削除処理が行われる（ステップＳ１１６）。例えば、図１０に示すように、ＣＰＵ２０は、ステップＳ１１４で抽出したリンクから、広告サイトのＷｅｂページとＵＲＬが一致するリンクβ１、β２を削除する（ステップＳ１０６と同じ処理）。さらに、ＣＰＵ２０は、ユーザーフィルタ処理を行って、図１１に示すように、特定のＵＲＬにおいてユーザーを特定する識別子だけを置き換えたＵＲＬのリンクβ３〜β５を削除する（ステップＳ１０８と同じ処理）。
【００６６】
上記ステップＳ１１６において不要なリンクを削除した後、ＣＰＵ２０は、ステップＳ１１０と同様、残りの各リンクについて、ＵＲＬを所定のテキスト単位に分割し、第２のアドレスキーを生成する（ステップＳ１１８）。
【００６７】
前述のように、各リンクのＵＲＬを、プロトコル名を除いて、区切り文字（英数字以外のスラッシュ「/」、ピリオド「.」など）でテキスト単位に分割することで、各キーが生成される。例えば、図１２に示すリンクβ６〜β９それぞれのＵＲＬから、各リンクについての第２のアドレスキーが生成される（図１２を参照）。
【００６８】
なお、図１２に示す例では、「=」の後に英数字列が連続する場合の当該英数字列（リンクβ７〜β９における「0」など）はキーとして生成しないように設定している。一般に、「＝」の後には、コメントなどの記述を特定するＩＤが入り、かかるＩＤは同一人のコメントであったとしても、各コメント毎に異なる。したがって、これらをキーとして同一人の判定に用いると、邪魔になると考えられるからである。このため、結果として、リンクβ７〜β９の第２のアドレスキーは同じものとなっている。
【００６９】
さらに、ＣＰＵ２０は、ステップＳ１１０で生成した第１のアドレスキーと、ステップＳ１１８で算出した第２ののアドレスキーとの間で、それぞれを構成するキーを照合することにより、同じ順序で、かつ、一致するキーの組み合わせ数を計数し、その結果に基づいて類似度を算出する（ステップＳ１２０）。この実施形態では、途中に異なるキーが存在したとしても、出現順序が同じであれば一致するキーであるとしている。
【００７０】
キーの照合方法について、図１３ａを用いて説明する。図１３ａのパターン１に示すように、第１のアドレスキーが｛a,b,c｝の３つであり、第２のアドレスキーが｛a,d,b,e,c｝の５つであるとき、まず、第１のアドレスキーを構成するキーの１つ｛a｝と一致するキーが第２のアドレスキーを構成するキーの中に存在するか否かを前方から照合する。これにより、まず、図１３ａに示す｛a｝の組み合わせが検出される。
【００７１】
さらに、第１のアドレスキーを構成する次のキー｛b｝が第２のアドレスキーに存在するか、第２のアドレスキーのキー｛d｝から照合することにより、後方に向けて一致するキーの組み合わせ数を計数する。これにより、図１３ａに示す｛b｝｛c｝の組み合わせが検出され、一致するキーの出現順序が同じである組み合わせ数は３となる。
【００７２】
なお、第１のアドレスキーを｛a,b,c,d｝の４つとしたパターン２の場合は、キー｛c｝同士の組み合わせが検出された後は、第１のアドレスキーの４番目のキー｛d｝は、第２のアドレスキーの５番目の｛c｝から後方に向けて検出するため、図１３ａ中、点線の矢印で示す第２のアドレスキーの２番目のキー｛d｝との組み合わせはカウントされず、パターン１と同様に、組み合わせ数は３となる。
【００７３】
類似度は、上記組み合わせ数などに基づいて、次式から算出することができる。なお、次式における類似度Ext(wni,  wnij)は、第１のアドレスキーwniと、第２のアドレスキーwnijの間の類似度を表す。
【００７４】
【数１】
2015053087.tif 000003
【００７５】
ここで、式の分母count(Element(wni))は、第１のアドレスキーを構成するキーElement(wni)の総数を表す。また、式の分子count(LCS(Element(wni), Element(wnij))は、第１のアドレスキーを構成するキーElement(wni)と、第２のアドレスキーを構成するキーElement(wnij)との間で、同じ順序で、かつ、一致するキーの組み合わせ数を表す。
【００７６】
上記の式から、例えば、図１３ｂに示す第１のアドレスキーwn1と、リンクβ６の第２のアドレスキーwn11との間の類似度Ext(wn1,wn11)は、Ext(wn1,wn11)=  0  /  6  =  0となる。また、図１３ｂに示す第１のアドレスキーwn1と、リンクβ７の第２のアドレスキーwn12との間の類似度Ext(wn1,wn12)は、Ext(wn1,wn12)=  5  /  6  =  0.83333....となる（Ext(wn1,wn13)、Ext(wn1,wn14)も同じ）。
【００７７】
ＣＰＵ２０は、類似度がしきい値以下であると判断したリンクを除去する（ステップＳ１２２）。例えば、図１３ｂにおいて類似度が「0」と算出されたリンクβ６（図１２）が削除される。一方、ＣＰＵ２０は、類似度がしきい値（例えば、「0.6」）以上であると判断したリンクについては、そのＵＲＬを、特定のアドレス群として関連付けて記憶する（ステップＳ１２４）。例えば、図１３ｂにおいて類似度が「0.83333....」と算出されたリンクβ７〜β９（図１２）のＵＲＬは、ユーザーＡのトップページに属するアドレス群として関連付けられ、グループ化される。
【００７８】
起点となったＵＲＬから所定のリンク数（例えば、１０リンク）に達するまで、上記処理を繰り返す（ステップＳ１２６）。なお、同じ記事であっても次のページにとして取り扱われていれば、リンク数はカウントされることになる。
【００７９】
以上の処理により、特定のアドレス群（例えば、特定のサイトユーザーについてのＷｅｂページ）として関連付けて記憶されたデータ例を、図１４に示す。図１４に示すグループ化したＵＲＬの例では、ユーザーＡのトップページのＵＲＬに、ステップＳ１１１において記憶された第１の判別キーを生成する元となったリンクのＵＲＬ（図８）、およびステップＳ１２２において類似度の判定により削除されなかったＵＲＬ（図１４）が、ユーザーＡの個人領域として関連付けて記憶されている。
【００８０】
個人領域が全てトップページのＵＲＬに文字列を追加したものであるときは、トップページのＵＲＬと前方一致の関係にあるか否かを検索することで、個人領域のＵＲＬをグループ化することも可能である。しかし、個人領域の全てがトップページのＵＲＬに文字列を追加したものではない場合（例えば、トップページのＵＲＬの間に異なる文字列が挿入されているようなとき）には、本実施形態による上記処理が特に有効である。
【００８１】
１−４．他の実施形態
なお、上記実施形態では、リンク階層数を１または２までとしたが、これに限定されるものではなく、３以上（例えば、１０リンク）のリンク階層先まで探索してもよい。
【００８２】
なお、上記実施形態では、トップページに含まれるリンクのＵＲＬから第１のアドレスキーを生成したが（図２など）、トップページ自体のＵＲＬから第１のアドレスキーを生成してもよい。この場合、トップページに含まれるリンクのＵＲＬから第２のアドレスキーを生成すればよい。
【００８３】
なお、上記実施形態では、類似値算出の式において、第１のアドレスキーの総数を分母としたが、これに限定されるものではなく、第２のアドレスキーの総数を分母としたり、これらのいずれか大きい方を分母としてもよい。
【００８４】
なお、上記実施形態では、一致するキーの数を前方から後方まで照合することとしたが、これに限られるものではなく、後方から前方に向けて照合してもよい。
【００８５】
なお、上記実施形態では、一致するキーの数を前方から後方まで照合することとしたが、これに限られるものではなく、照合を途中で停止してもよい。例えば、一致しないキーが出現した場合に、以降の照合を行わないようにしてもよい。
【００８６】
なお、上記実施形態では、類似度を算出するためにキーの一致数だけを考慮したが、特定のキーに重みを持たせて類似度を算出してもよい。例えば、ドメイン名から生成されるキーに、他のキーよりも重み付けを行うようにしてもよい。
【００８７】
なお、上記実施形態では、ＵＲＬを対象としたが、他のアドレス（例えば、ＵＲＮ）を対象としてもよい。ＵＲＬとＵＲＮはいずれもＵＲＩの概念に含まれるものである。なお、ＵＲＬの削除処理を設けなくてもよい。
【００８８】
上記のようにして、特定ユーザーの個人領域を特定することができるが、同じＷｅｂページ内に複数の個人による書き込みが存在する場合がある。そのような場合には、他のユーザーが書き込んだ部分と区別できればより高度な解析を行うことができる。Ｗｅｂページを特定の単位で分割するための処理について以下に説明する。
【００８９】
２−１．エレメント抽出装置２００の構造（図１５）
本発明のエレメント抽出装置２００は、Ｗｅｂページから所定のエレメント抽出するために、図１５に示すＷｅｂページ展開手段５２、座標取得手段５４、エレメント選択手段５６、エレメント配列手段５８、階層キー生成手段６０、類似度算出手段６２、内容データ取得手段６４を備える。これらの手段を用いることで、Ｗｅｂページの中に膨大な数のエレメントが含まれる場合でも、重要なエレメントだけを抽出すための記事抽出ルールが、Ｗｅｂページ毎に自動的に決定されるため，汎用性の高い記事抽出が可能となる。
【００９０】
Ｗｅｂページ展開手段５２（図１５）は、Ｗｅｂページ（ＨＴＭＬ文書）を表示領域に展開し、座標取得手段５４（図１５）は、表示されたＷｅｂページ（ＨＴＭＬ文書）に含まれる各エレメントの表示範囲を特定する座標を取得する。ここで、「エレメント」とは、表示位置があるＨＴＭＬ文書の要素を意味する。
【００９１】
エレメント選択手段５６（図１５）は、表示領域上に、エレメントの配置方向に複数の点を配置し、配置した点を表示範囲に含むエレメントを選択する。エレメント配列手段５８（図１５）は、選択した前記エレメントの階層構造を順に配列する。階層キー生成手段６０（図１５）は、前記エレメントの各階層構造をタグ単位で分割して階層キーを生成する。
【００９２】
類似度算出手段６２（図１５）は、隣接するエレメントの間で、一致する階層キーの数を計数し、その結果に基づいて類似度を算出する。内容データ取得手段６４（図１５）は、前記類似度に基づいて、２以上の隣接するエレメントの階層構造を特定し、当該階層構造に対応する内容データをＷｅｂページから取得する。
【００９３】
２−２．エレメント抽出装置２００のハードウェア構成
図１６に、エレメント抽出装置２００のハードウェア構成を示す。エレメント抽出装置２００は、図１６に示すＣＰＵ２０、ＲＡＭ２２、ディスプレイ２４、ハードディスク２６、キーボード／マウス２８、記録媒体ドライブ３０を備えたコンピュータで構成される。
【００９４】
図１６のハードディスク２６には、エレメント抽出プログラム３８が記録されている。エレメント抽出プログラム３８は、ＣＰＵ２０、ＲＡＭ２２、ディスプレイ２４、ハードディスク２６、キーボード／マウス２８、記録媒体ドライブ３０を備えたコンピュータを、図１６に示すＷｅｂページ展開手段５２、座標取得手段５４、エレメント選択手段５６、エレメント配列手段５８、階層キー生成手段６０、類似度算出手段６２、内容データ取得手段６４として機能させるプログラムである。
【００９５】
また、図１６のハードディスク２６には、ブラウザ４０が記憶されている。ブラウザ４０は、コンピュータ内部において、Ｗｅｂページ（ＨＴＭＬ文書）を仮想的に表示領域（例えば、縦２０４０px×横１２００px）に展開する。
【００９６】
また、図１６のハードディスク２６には、エレメント座標ＤＢ４２が記憶されている。エレメント座標ＤＢ４２には、ブラウザ４０の表示領域におけるエレメントの表示範囲を示す座標（例えば、表示領域上にX、Y座標を設定した場合における各エレメントの左上および右下の座標）が蓄積される。
【００９７】
２−３．エレメント抽出処理のフロー
図１７は、エレメント抽出プログラム３８（図１６）による処理を示すフローチャートである。なお、以下の例では、掲示板のページに複数人の書き込みがあった場合に、ユーザーによって書き込まれた内容の単位で、テキストを抽出する場合について説明する。
【００９８】
エレメント抽出プログラム３８が起動されると、ブラウザ４０（図１６）は、Ｗｅｂから抽出対象となるＨＴＭＬ文書を取得して、エレメントを表示領域上に配置（すなわち、イメージデータに変換）する（ステップＳ２０２）。図１８は、イメージデータに変換される前の掲示板のＨＴＭＬデータ（ソースコード）（図１８Ａ）およびこれをイメージデータに変換して画面上に表示した表示例（図１８Ｂ）である。
【００９９】
さらに、ＣＰＵ２０は、イメージデータ上における各エレメントの表示領域を示す座標（例えば、左上および右下）を取得し、エレメント座標ＤＢ４２（図１７）に記憶する（ステップＳ２０４）。図１９に、エレメントの座標を算出する方法を示す。例えば、図１９において「山田花子」を表示するエレメントEl4の表示範囲を示す左上座標（X4,Y4）は、X 4 = x1 + x2 + x3 + x4、Y 4 = y1 + y2 + y3 + y4で算出される。右下座標は、各エレメントの高さおよび幅を左上座標に加算すれば得られる。なお、図１９に示すような画像を実際に画面上に表示しない場合であっても、コンピュータ内部において（すなわち、図１６のディスプレイ２４に表示せずに）上記処理が行うことは可能である。
【０１００】
つぎに、エレメントの選択処理に移行する。まず、ＣＰＵ２０は、エレメントの長さ方向（幅方向）に対して垂直方向（縦方向）の仮想直線を設定する（ステップＳ２０６）。図２０に示す例では、１本の直線Ｌ１を中央に設定している。これは、特にプロフなどにおいては、重要な要素は中央に配置されている可能性が高いためである。
【０１０１】
さらに、ＣＰＵ２０は、設定した上記直線上に、所定の間隔で点をプロットする（ステップＳ２０８）。図２０に示す例では、等間隔（例えば、１０px〜２０px程度）で点をプロットしている。ＣＰＵ２０は、エレメント座標ＤＢ４２（図１７）を参照して、プロットされた点を表示範囲内に含むエレメントを抽出し、順に配列する（ステップＳ２１０）。
【０１０２】
ＣＰＵ２０は、抽出したエレメントの階層構造をタグ単位に分割して、階層キーを抽出する（ステップＳ２１２）。例えば、図２０の上から３つ目の点Ｐ３を例として、階層キーの抽出を説明すると次のとおりである。３つ目の点Ｐ３は、図１８のＨＴＭＬ文書では、１２行目の「友達なろ〜よ」に対応している。この「友達なろ〜よ」を挟んで記述されている一対のタグ（<body>と</body>のように、制御の開始と終了を示すタグをいう）を探し出し、これを階層キーとしている。
【０１０３】
「友達なろ〜よ」を挟む一対のタグは、２行目の<body>と下から２行目の</body>、７行目の<form>と１５行目の</form>、８行目の<table>と１４行目の</table>、８行目の<tr>と１４行目の</tr>、８行目の<td>と１４行目の</td>、９行目の<div>と１２行目の</div>である。したがって、body,form,table,tr,td,divが階層キーとして抽出される。図２１に、各エレメントの階層構造をタグ単位で分割して生成した階層キーの例を示す。
【０１０４】
階層キーを抽出した後、隣接する各エレメント間における階層キーの類似度を、図２２に示す式（図１３ｂに示す式と同じ）に基づいて算出する（ステップＳ２１４）。図２２に、類似度算出した結果の例を示す。なお、この実施形態では、式の分母count(Element(wni))を、隣接する階層キーの数のうち、大きい方の数としている。
【０１０５】
つぎに、ＣＰＵ２０は、図２３に示すような、類似値ピラミッドをコンピュータ内部において生成する（ステップＳ２１６）。なお、図２３に示す類似値ピラミッドを生成するには、隣接する２つの類似度の平均を計算して上位に積み上げて行けばよい。
【０１０６】
ＣＰＵ２０は、類似値ピラミッドの中から、しきい値以上（例えば、0.7）の類似度を頂点とするピラミッドを探索する（ステップＳ２１８）。このとき、ピラミッドの底辺が重ならないように探索する。例えば、図２４に点線で示すピラミッドが検出された場合、当該ピラミッドの底辺を含まないように、N1またはN2を底辺とするピラミッドについて探索を行う。なお、探索の方向は、図２４において、上位から下位の方向または底辺の左から右の方向もしくは底辺の右から左に行うことができる。なお、類似度ピラミッドの中にしきい値以上の類似度が全く含まれていない場合には、全ての類似度を探索して処理を終了することになる。
【０１０７】
さらに、探索された各ピラミッドに対して以下の統合処理を実行し、エレメント抽出の対象となる階層構造を特定する（ステップＳ２２０）。図２５を用いて、階層構造を特定する処理の詳細について説明する。
【０１０８】
ＣＰＵ２０は、まず、探索された対象ピラミッドの底辺について、包含関係を判定する（ステップＳ２２２１）。包含関係にあるか否かは、エレメント座標ＤＢ４２に記憶されている各エレメントの座標を比較し、またはエレメント間におけるタグの階層構造の関係を参照して判定することができる。なお、図２４に点線で示すピラミッドの底辺に含まれる異なる階層構造の「/body/form/table/tr/td」と、「/body/form/table/tr/td/div」とは包含関係にある。
【０１０９】
エレメントが包含関係にない場合（ステップＳ２２２１のＮｏ）は、各エレメントを抽出対象として特定する（ステップＳ２２２２）。例えば、図２１に示す第１列のエレメント「/body/div」と第２列のエレメント「/body/form/table/tr/td」は包含関係にない。
【０１１０】
エレメントが包含関係にあると判定した場合（ステップＳ２２２１のＹｅｓ）は、各エレメントに含まれるテキストの文字数の差がしきい値（例えば、当該差が、上位階層のエレメントに含まれるテキスト文字数の0.8）以下のとき（ステップＳ２２２３のＹｅｓ）には、包含するエレメントを抽出対象として特定する（ステップＳ２２２４）。すなわち、階層構造がより上位の方（図２６に示すdata2に対応する階層構造）を抽出対象として特定する。これにより、下位の階層構造（図２６に示すdata1に対応）は、上位の階層構造（図２６に示すdata2に対応）に統合されることになる。
【０１１１】
一方、各エレメント内のテキスト差分がしきい値を超えるとき（ステップＳ２２２３のＮｏ）には、包含されるエレメントを抽出対象として特定する（ステップＳ２２２５）。すなわち、階層構造がより下位の方を抽出対象として特定する。
【０１１２】
例えば、図２７に示す階層構造「/body/div」(data3に対応)と「/body/form/table/tr/td/div」(data1に対応)が抽出された場合は、テキスト差分がしきい値を超えるので、階層構造がより下位の方（図２６のdata1に対応）を抽出対象として特定する。この場合、上位の階層は、主要エレメント自体ではなく、主要エレメントを複数集めた上位エレメントである可能性が高いからである。これにより、上位の階層構造（図２７に示すdata3に対応）は、下位の階層構造（図２６のdata1に対応）に統合されることになる。
【０１１３】
以上により、抽出する対象の区分となるタグが特定される。その上で、ＣＰＵ２０は、抽出対象の階層構造がＷｅｂページに複数含まれるか否かを判定し、該当する階層構造の内容データを当該ＷｅｂページのＨＴＭＬ文書から抽出する（ステップＳ２２６）。なお、ステップＳ２１８において複数のピラミッドが探索された場合には、各ピラミッド内で統合された階層構造が同じであれば、同じものだけを抽出対象とすればよく、階層構造が異なる場合には、それぞれについてデータを抽出すればよい。
【０１１４】
ＨＴＭＬ文書から対応する階層構造の内容データを抽出した上で、さらに、ＣＰＵ２０は、抽出した内容データの属性をＡタグなどで判別し（ステップＳ２２８）、抽出したデータと共にその属性を記憶する（ステップＳ２３０）。
【０１１５】
図２８は、最終的に抽出されたデータ例およびその属性を示す図である。図２８に示す例では、図２６に示すdata1から抽出された、タグ以外のテキストデータ「山田  太郎」「プロフみたよ！」「友達なろ〜よ」を内容データとして記憶している。なお、タグを含めた図２６に示すdata1の全てを、内容データとして記憶してもよい。
【０１１６】
また、図２８に示す例では、図２６に示すdata1に含まれるＡタグの部分data4から得られるＵＲＬ「http://pr.cccboy.com/0123456」が、データの属性として関連付けて記憶されている。これにより、ＵＲＬ「http://pr.cccboy.com/0123456」でソートすれば、山田 太郎のトップページＵＲＬのデータだけを取得することができる。
【０１１７】
なお、上記のようなＡタグのＵＲＬに限らず、自然言語によるマッチングで得られた属性を、エレメントに関連付けて記憶してもよい。自然言語処理によるマッチングとは、例えば、予め属性を決定するための辞書（女性用語辞書など）を用意しておき、マッチングした度合いによりその属性を付するか否かを決定する手法である（参考文献「Ｗｅｂリンク構造解析と自然言語処理による組織関係の抽出についての研究」、情報処理学会論文誌、２００６年６月号）。エレメントの属性としては、例えば、エレメントの作成者名、エレメントの作成者、作成日、エレメント作成者の性別、年齢、所属団体の他、エレメントに記載されている話題（特定の商品、サービスなどに関するもの）などが該当する。
【０１１８】
以上のように、Ｗｅｂページから各タグ（エレメント）の表示位置情報と、記事などの内容データが（i）Ｗｅｂページ内で繰り返し登場する、（ii）Ｗｅｂページの大部分を占める（iii）中央部に存在するといった特性とに基づき，記事部分の可能性の高い領域を特定し、抽出した前後の階層構造（XPATH）の類似度を見ることで記事部分の抽出規則を生成し、そのルールに基づき自動的に記事部分を抽出することができる。
【０１１９】
２−４．他の実施形態
なお、上記実施形態では、掲示板ページから書き込みデータを抽出する場合を例に説明したが、これに限定されるものではなく、他の要素（ニュース記事など）の抽出に用いてもよい。
【０１２０】
なお、上記実施形態では、点を配置する仮想線を中央に１本だけ設定したが（図２０）、これに限定されるものではなく、複数の仮想線を設定して点を配置してもよい。例えば、図２９に示す点の配置例では、５本の直線とし、表示されたＷｅｂページに含まれるエレメントのｘ座標の最大値と最小値の中間位置に第１の直線を設定し、当該第１の直線から等間隔で両側に２本ずつ所定幅だけオフセットした直線をさらに設定している。この場合、図１７に示すステップＳ２１０において、同一ｙ座標にプロットされた５つの点を最も多く含むエレメントを抽出すればよい。
【０１２１】
なお、上記実施形態では、仮想線に沿って等間隔で点を配置したが（図２０）、これに限定されるものではなく、異なる間隔で点を配置してもよい。
【０１２２】
なお、上記実施形態では、ステップＳ２１６において類似度ピラミッドを事前に生成したが、これに限定されるものではなく、類似度ピラミッドを前もって生成しないで階層構造を探索してもよい。
【０１２３】
なお、上記実施形態では、ステップＳ２１６において類似度ピラミッドを生成したが、類似度ピラミッドを生成しないで階層構造を探索してもよい。例えば、類似度の同じ階層構造が隣接はしていないが、１つ離れて存在するよう場合には間の階層構造を両側の階層構造に統合するといった方法が考えられる。
【０１２４】
なお、上記実施形態では、抽出するエレメントがテキストである場合について説明したが、抽出するエレメントが、画像、グラフ、動画であってもよい。
【０１２５】
なお、上記実施形態では、ＨＴＭＬ文書の表示を、仮想ブラウザを用いて内部的に実行するとしたが、実際に画面上に表示しながら行ってもよい。
【０１２６】
３．データ解析への応用例
（i）個人領域として特定し、または分割されたデータから抽出される言葉からSupport Vector Machine (SVM)を用いたサンプリングを行って分離平面を生成し、対象となるユーザーのページで用いられる言葉について当該分離平面との距離を算出することで、対象ユーザーの有害度を算出することができる。
【０１２７】
「有害度」とは、対象者が、他のユーザーにとってどの程度の悪影響を与える存在であるかを数値化した指標である。以下の（a）事前準備、（b）有害判定、（c）有害度の算出の各段階に分けて説明する。
【０１２８】
（a）事前準備
まず、ネット上に存在するユーザーの中から典型的な有害者と無害者と考えられる者を選び出す。その上で、複数の有害者について、プロフィール・日記内の頻出単語を抽出する。同様に、複数の無害者について、プロフィール・日記内の頻出単語を抽出する。その上で、これら有害者および無害者を、全ての頻出単語の出現数を軸とする多次元空間（図３０Ａに示す）上にプロットする。その際、有害人と無害人とを区別してプロットする。この多次元空間上において、SVMの手法を用いて、分離平面が決定される。
【０１２９】
（b）有害・無害判定
つぎに、対象者のプロフ・日記内に含まれる単語の数を計数し、上記多次元空間上にプロットする。プロットされた対象者（△で示す）が、分離平面のどちら側にあるかで、有害または無害のユーザーを判定することができる。実施形態では、有害側にプロットされた対象者の全てを有害と判断するのではなく、分離平面からの距離がしきい値以上離れている場合のみ有害と判断する。分離平面からの距離がしきい値以内の場合は、無害と取り扱う。
【０１３０】
（c）有害度の算出
最後に、有害と判断された対象者について、以下の式から有害度を算出する。
【０１３１】
有害度＝「分離平面からの距離」×「非行辞書単語出現数」
ここで、非行辞書とは、非行に関連すると考えられる単語を予め登録しておいた辞書である。対象者のプロフ・日記内の非行単語の数を計数する。
【０１３２】
（ii）また、対象ユーザーの人間関係が更新された場合、または新たなユーザーが発見された場合に、個人領域として特定し、または分割されたデータについて、危険度を更新すればリアルタイムで個人の追跡を行える。「危険度」とは、対象者が、他のユーザーからの危険にどの程度さらされているかを数値化した指標である。
【０１３３】
各ユーザーの危険度は、上記有害度などに基づいて算出できる。具体的には、対象者の危険度は、リンク先ユーザーの有害度を親密度で乗算した値を算出し、直接または間接的にリンクされている各ユーザーについてこれを合計して得られる。なお、ユーザー間の親密度は、リンク関係（図３０Ｂ）または自然言語処理による関係から算出できる。
【０１３４】
図３０Ｂにおける対象者Ａの有害度は、例えば、（Ｂの有害度×ＡＢの新密度）＋（Ｄの有害度×ＡＤの新密度）で得た値を合計すれば得られる。なお、親密度が低い対象者Ｃとの関係は考慮していない。
【０１３５】
（iii）その他にも、検索システムにおける日付やユーザー単位での検索、フィルタリング（有害と判断された記事のみのフィルタリング処理）、口コミ記事の効率的な収集といった分野にも本発明を利用することができる。
【図１】
2015053087.tif 000004
【図２】
2015053087.tif 000005
【図３】
2015053087.tif 000006
【図４】
2015053087.tif 000007
【図５】
2015053087.tif 000008
【図６】
2015053087.tif 000009
【図７】
2015053087.tif 000010
【図８】
2015053087.tif 000011
【図９】
2015053087.tif 000012
【図１０】
2015053087.tif 000013
【図１１】
2015053087.tif 000014
【図１２】
2015053087.tif 000015
【図１３ａ】
2015053087.tif 000016
【図１３ｂ】
2015053087.tif 000017
【図１４】
2015053087.tif 000018
【図１５】
2015053087.tif 000019
【図１６】
2015053087.tif 000020
【図１７】
2015053087.tif 000021
【図１８】
2015053087.tif 000022
【図１９】
2015053087.tif 000023
【図２０】
2015053087.tif 000024
【図２１】
2015053087.tif 000025
【図２２】
2015053087.tif 000026
【図２３】
2015053087.tif 000027
【図２４】
2015053087.tif 000028
【図２５】
2015053087.tif 000029
【図２６】
2015053087.tif 000030
【図２７】
2015053087.tif 000031
【図２８】
2015053087.tif 000032
【図２９】
2015053087.tif 000033
【図３０】
2015053087.tif 000034
【手続補正書】
【提出日】平成26年12月16日(2014.12.16)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
Ｗｅｂページのアドレスをグループ化するためのグループ化プログラムであって、
コンピュータを、
特定のアドレスからＷｅｂページを取得するＷｅｂページ取得手段、
前記Ｗｅｂページからリンクを抽出し、抽出した各リンクのアドレスを区切り文字で分割して第１のアドレスキーを生成する第１のアドレスキー生成手段、
前記第１のアドレスキーを生成したリンクから取得されるＷｅｂページからリンクを抽出し、抽出した各リンクのアドレスを区切り文字で分割して第２のアドレスキーを生成する第２のアドレスキー生成手段、
前記第１のアドレスキーと前記第２のアドレスキーとの間で一致するキーを照合し、当該一致するキーの出現順序が同じである組み合わせ数を計数し、その結果に基づいて類似度を算出する類似度算出手段、
前記類似度がしきい値以上であると判断されたリンクのアドレスを、特定のアドレス群として関連付けるグループ化手段、
として機能させることを特徴とするグループ化プログラム。
【請求項２】
請求項１のグループ化プログラムにおいて、
前記類似度算出手段は、
前記第１のアドレスキーと前記第２のアドレスキーとの間で、第１のアドレスキーを構成するキーの１つと一致するキーが第２のアドレスキーを構成するキーの中に存在するか否かを前方から照合し、
第２のアドレスキーを構成するキーの中に対応するキーが存在する場合には、第１および第２のアドレスキーにおいて一致するとして検出されたキーの次のキーから、後方に向けて一致するキーの組み合わせ数を計数し、
第１のアドレスキーを構成するキーの総数に対する前記第２のアドレスキーとの間で対応付けられたキーの組み合わせ数の割合を類似度として算出する、
ことを特徴とするグループ化プログラム。
【請求項３】
請求項１または請求項２のグループ化プログラムにおいて、さらに、
前記特定のアドレスから所定のリンク階層数まで、類似度がしきい値以上のリンクのアドレスを、特定のアドレス群として関連付けるグループ化探索手段であって、
前記グループ化手段により特定のアドレス群として関連付けられた前記アドレスから取得したＷｅｂページからリンクを抽出し、抽出した各リンクのアドレスを区切り文字で分割して第３のアドレスキーを生成し、前記第１のアドレスキーと前記第３のアドレスキーとの間で、一致するアドレスキーの数を計数し、その結果に基づいて類似度を算出するグループ化探索手段、
を備えたこと、を特徴とするグループ化プログラム。
【請求項４】
請求項１〜３のいずれかのグループ化プログラムにおいて、
前記第１のアドレスキー生成手段または前記第２のアドレスキー生成手段が、少なくとも第１のアドレスキーまたは第２のアドレスキーを生成する前に、前記特定のアドレスにおいてユーザーを特定する識別子だけを置き換えたアドレスであると判断されたアドレスを削除する、
ことを特徴とするグループ化プログラム。
【請求項５】
請求項１〜４のいずれかのグループ化プログラムにおいて、
前記第１のアドレスキー生成手段または前記第２のアドレスキー生成手段が、少なくとも第１のアドレスキーまたは第２のアドレスキーを生成する前に、削除対象として登録されたアドレスに一致すると判定されたアドレスを削除する、
ことを特徴とするグループ化プログラム。
【請求項６】
請求項１〜５のいずれかのグループ化プログラムにおいて、さらに、
前記特定のアドレスを、プロフサーバにアクセスすることにより所定時間毎に自動的に蓄積するアドレス蓄積手段、
を備えた、ことを特徴とするグループ化プログラム。
【請求項７】
請求項１〜５のいずれかのグループ化プログラムにおいて、
前記グループ化手段は、前記リンクの階層ごとに、当該階層に属するアドレスを抽出することを特徴とするグループ化プログラム。
【請求項８】
Ｗｅｂページのアドレスをグループ化するためのグループ化装置であって、
特定のアドレスからＷｅｂページを取得するＷｅｂページ取得手段と、
前記Ｗｅｂページからリンクを抽出し、抽出した各リンクのアドレスを区切り文字で分割して第１のアドレスキーを生成する第１のアドレスキー生成手段と、
前記第１のアドレスキーを生成したリンクに対応するＷｅｂページからリンクを抽出し、抽出した各リンクのアドレスを区切り文字で分割して第２のアドレスキーを生成する第２のアドレスキー生成手段と、
前記第１のアドレスキーと前記第２のアドレスキーとの間で一致するキーを照合し、当該一致するキーの出現順序が同じである組み合わせ数を計数し、その結果に基づいて類似度を算出する類似度算出手段、
前記類似度がしきい値以上のリンクのアドレスを、特定のアドレス群として関連付けるグループ化手段と、
を備えたこと、を特徴とするグループ化装置。
【請求項９】
コンピュータにより、Ｗｅｂページのアドレスをグループ化するためのグループ化方法であって、前記コンピュータが、
特定のアドレスからＷｅｂページを取得し、
前記Ｗｅｂページからリンクを抽出し、抽出した各リンクのアドレスを区切り文字で分割して第１のアドレスキーを生成し、
前記第１のアドレスキーを生成したリンクに対応するＷｅｂページからリンクを抽出し、抽出した各リンクのアドレスを区切り文字で分割して第２のアドレスキーを生成し、
前記第１のアドレスキーと前記第２のアドレスキーとの間で一致するキーを照合し、当該一致するキーの出現順序が同じである組み合わせ数を計数し、その結果に基づいて類似度を算出し、
前記類似度がしきい値以上のリンクのアドレスを、特定のアドレス群として関連付けること、
を特徴とするグループ化方法。