(57)【特許請求の範囲】
【請求項１】
画像を取得する画像取得部と、
前記画像取得部が取得した前記画像の特徴量を算出する特徴量算出部と、
前記画像取得部が取得した前記画像に関連付けられている文字列を取得し、前記文字列のなかからキーワードを抽出するキーワード抽出部と、
キーワードとその属性値との間の対応関係を記述するキーワード属性テーブルと、
画像の特徴量とその属性値との間の対応関係を記述する特徴量属性テーブルと、
前記キーワード抽出部が抽出した前記キーワードと対応する属性値を前記キーワード属性テーブルの記述に基づき判定するキーワード属性判定部と、
前記特徴量算出部が算出した前記特徴量と対応する属性値を前記特徴量属性テーブルの記述に基づき判定する特徴量属性判定部と、
前記キーワード属性判定部の判定結果と前記特徴量属性判定部の判定結果に基づき、前記画像取得部が取得した前記画像の属性を判定する画像属性判定部と、
前記特徴量属性テーブルが記述している前記属性値の信頼度を算出する信頼度算出部と、
を備え、
前記特徴量属性判定部は、
前記特徴量属性テーブルの記述と前記信頼度算出部が算出した前記信頼度に基づき、前記特徴量属性テーブルが記述している特徴量のうち前記画像取得部が取得した前記画像の特徴量に類似するものを特定し、
前記特定した特徴量と対応する前記属性値に基づき、前記特徴量算出部が算出した前記特徴量と対応する属性値を判定する、
ことを特徴とするコンテンツフィルタリングシステム。
【請求項２】
前記信頼度算出部は、
前記画像取得部が取得した前記画像の特徴量と類似する特徴量を前記特徴量属性テーブル中の画像を含む十分大きな画像集合を対象として検索し、
前記検索の結果得られた特徴量に対応する前記属性値のうち、前記画像取得部が取得した前記画像の属性値と同じものが含まれている割合に基づき、前記信頼度を算出する、
ことを特徴とする請求項１記載のコンテンツフィルタリングシステム。
【請求項３】
前記信頼度算出部は、
前記検索の結果得られた特徴量を、前記画像取得部が取得した前記画像の特徴量との間の距離にしたがってソートして得られる配列を作成し、
前記配列の構成要素を先頭から数えて前記割合を算出したとき、前記割合が所定閾値を超えた時点における前記配列の要素番号の前後いずれか少なくとも１つについての前記距離を用いて、前記信頼度を算出する、
ことを特徴とする請求項２記載のコンテンツフィルタリングシステム。
【請求項４】
前記信頼度算出部は、
前記検索の結果得られた特徴量が、前記画像取得部が取得した前記画像の特徴量と同じである場合は、前記検索の結果得られた特徴量に対応する属性値と前記画像取得部が取得した前記画像の属性値が同じであると判断する、
ことを特徴とする請求項２記載のコンテンツフィルタリングシステム。
【請求項５】
前記画像取得部は、
階層化されたデータ構造のなかに含まれる画像を取得し、
前記コンテンツフィルタリングシステムは、
前記データ構造のなかに含まれる画像についての前記画像属性判定部による判定結果に基づき前記データ構造の属性を判定する階層属性判定部を備える、
ことを特徴とする請求項１記載のコンテンツフィルタリングシステム。
【請求項６】
前記階層属性判定部は、
前記データ構造のなかに含まれる複数の画像が含まれる場合は、
前記データ構造のなかに含まれる各画像についての前記画像属性判定部による判定結果の平均値に基づき、前記データ構造の属性を判定する、
ことを特徴とする請求項５記載のコンテンツフィルタリングシステム。
【請求項７】
前記特徴量属性判定部は、
前記画像取得部が過去に取得した過去画像のうち、前記過去画像の特徴量と前記特徴量テーブル内に記述されている特徴量との間の距離が所定範囲内にあるもののみを対象として、前記判定を実施する、
ことを特徴とする請求項１記載のコンテンツフィルタリングシステム。
【請求項８】
前記キーワード属性判定部は、
前記特徴量属性判定部の判定結果を用いて、自己の判定結果を補正する、
ことを特徴とする請求項１記載のコンテンツフィルタリングシステム。
【請求項９】
前記特徴量属性判定部は、
前記キーワード属性判定部の判定結果を用いて、自己の判定結果を補正する、
ことを特徴とする請求項１記載のコンテンツフィルタリングシステム。
【請求項１０】
前記画像取得部は、
ＨＴＭＬページ内に含まれる画像を取得し、
前記キーワード抽出部は、
前記ＨＴＭＬページ内に含まれる文字列のなかからキーワードを抽出し、
前記キーワード属性テーブルは、
キーワードがＨＴＭＬページ内に含まれる文字列としての適正度を示す数値を前記属性値として記述しており、
前記特徴量属性テーブルは、
画像がＨＴＭＬページ内に含まれる画像として適正であるか否かを示すフラグを前記属性値として記述しており、
前記キーワード属性判定部は、
前記キーワード属性テーブルの記述に基づき、前記キーワード取得部が取得した前記文字列が前記ＨＴＭＬページ内に含まれる文字列として適正であるか否かを判定し、
前記特徴量属性判定部は、
前記特徴量属性テーブルの記述に基づき、前記特徴量算出部が算出した前記特徴量が前記ＨＴＭＬページ内に含まれる画像の特徴量として適正であるか否かを判定し、
前記画像属性判定部は、
前記キーワード属性判定部の判定結果と前記特徴量属性判定部の判定結果に基づき、前記画像取得部が取得した前記画像が前記ＨＴＭＬページ内に含まれる画像として適正であるか否かを判定する、
ことを特徴とする請求項１記載のコンテンツフィルタリングシステム。
【請求項１１】
コンテンツをフィルタリングする処理をコンピュータに実行させるコンテンツフィルタリング方法であって、前記コンピュータに、
画像を取得する画像取得ステップ、
前記画像取得ステップで取得した前記画像の特徴量を算出する特徴量算出ステップ、
前記画像取得ステップで取得した前記画像に関連付けられている文字列を取得し、前記文字列のなかからキーワードを抽出するキーワード抽出ステップ、
前記キーワード抽出ステップで取得した前記キーワードと対応する属性値を、キーワードとその属性値との間の対応関係を記述するキーワード属性テーブルの記述に基づき判定するキーワード属性判定ステップ、
前記特徴量算出ステップで算出した前記特徴量と対応する属性値を、画像の特徴量とその属性値との間の対応関係を記述する特徴量属性テーブルの記述に基づき判定する特徴量属性判定ステップ、
前記キーワード属性判定ステップにおける判定結果と前記特徴量属性判定ステップにおける判定結果に基づき、前記画像取得ステップで取得した前記画像の属性を判定する画像属性判定ステップ、
前記特徴量属性テーブルが記述している前記属性値の信頼度を算出する信頼度算出ステップ、
を実行させ、
前記特徴量属性判定ステップにおいては、前記コンピュータに、
前記特徴量属性テーブルの記述と前記信頼度算出ステップにおいて算出した前記信頼度に基づき、前記特徴量属性テーブルが記述している特徴量のうち前記画像取得ステップにおいて取得した前記画像の特徴量に類似するものを特定するステップ、
前記特定した特徴量と対応する前記属性値に基づき、前記特徴量算出ステップにおいて算出した前記特徴量と対応する属性値を判定するステップ、
を実行させる、
ことを特徴とするコンテンツフィルタリング方法。
【請求項１２】
前記キーワード属性判定部は、
前記画像取得部が過去に取得した過去画像のうち、属性判定に効果があるキーワードと関連づいた前記過去画像のみを対象として、前記判定を実施する、
ことを特徴とする請求項１記載のコンテンツフィルタリングシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像をフィルタリングする技術に関する。
【背景技術】
【０００２】
近年、ネットワークのブロードバンド化、各種記憶装置の大規模化により、ファイルサイズが大きい画像や映像を蓄積、管理し、それらを配信するサービスを実施することが可能となった。このような大規模コンテンツを扱うシステムにおいて重要となるのが検索技術である。
【０００３】
画像や映像を検索する技術としては、画像や映像と関連付けられたテキスト情報に対する検索技術である。文書情報の検索技術においては、１つ以上のキーワードをクエリとして入力し、そのキーワードが含まれるテキスト情報と関連付けられている画像や映像を検索結果として返す形式が一般的である。
【０００４】
また、画像自体から情報を抽出し検索する技術も存在する。下記特許文献１〜２に記載されている類似画像検索技術においては、検索対象となる画像から、その画像の持つ特徴を数値化した画像特徴量を事前に抽出してデータベース化しておくことにより、画像を高速に検索する技術を実現している。下記非特許文献１には、画像から特徴量を抽出する技術が記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０００−１２３１７３号公報
【特許文献２】特開２００７−３３４４０２号公報
【非特許文献】
【０００６】
【非特許文献１】A. Hiroike, Y. Musha, A. Sugimoto,  and Y. Mori :“Visualization of information spaces to retrieve and browse image data”,Third International Conference on Visual Information Systems, Springer-Verlag, pp. 155-162 (1999).
【発明の概要】
【発明が解決しようとする課題】
【０００７】
画像や映像を配信するサービスにおいては、ユーザへ配信するのに適していないコンテンツを排除する必要がある。しかし、例えばＷｅｂ画像検索サービスにおいては、Ｗｅｂクローラが機械的に収集した大量の画像が配信対象となるため、配信するのに適しているか否かを人手によって網羅的に確認することは現実的に不可能である。同様の課題は、一般ユーザがサーバにアップロードした画像や映像を不特定多数のユーザに配信するサービスにおいても発生する。
【０００８】
本発明は、上記のような課題に鑑みてなされたものであり、画像の属性を自動的に判定するコンテンツフィルタリング技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明に係るコンテンツフィルタリングシステムは、画像の特徴量の属性値とキーワードの属性値をあらかじめテーブル上に準備しておき、画像の特徴量と画像に関連付けられたキーワードに基づき、当該画像の属性値を判定する。
【発明の効果】
【００１０】
本発明に係るコンテンツフィルタリングシステムによれば、画像の属性値を効率的かつ網羅的に判定することができる。
【図面の簡単な説明】
【００１１】
【図１】実施形態１に係るコンテンツフィルタリングシステム１０００の構成を示すブロック図である。
【図２】検索サーバシステム２００を構成するサーバ群の接続関係を示す図である。
【図３】検索サーバ２０３が保持する判定テーブル３００の構成を示す図である。
【図４】キーワードサーバ２０５が保持するキーワード属性テーブル４００の構成を示す図である。
【図５】画像特徴量サーバ２０６が保持する特徴量属性テーブル５００の構成を示す図である。
【図６】ＵＲＬサーバ２０７が保持するＵＲＬ属性テーブル６００の構成を示す図である。
【図７】画像特徴量サーバ２０６が信頼度５０４を算出する処理フロー図である。
【図８】検索サーバ２０３が画像データに関連するキーワードに基づき当該画像データの不適正性を自動判定する処理のフローチャートである。
【図９】は、ステップＳ８０３の詳細を示すフローチャートである。
【図１０】検索サーバ２０３が画像データの画像特徴量に基づき当該画像データの不適正性を自動判定する処理のフローチャートである。
【図１１】実施形態２における検索サーバシステム２００を構成するサーバ群の接続関係を示す図である。
【図１２】実施形態２において検索サーバ２０３が保持する判定テーブル１２００の構成を示す図である。
【図１３】実施形態２においてキーワードサーバ２０５が保持するキーワード属性テーブル１３００の構成を示す図である。
【図１４】画像特徴量サーバ２０６が保持する特徴量属性テーブル１４００の構成図である。
【図１５】画像特徴量サーバ２０６が信頼度１４０４を算出する処理フロー図である。
【発明を実施するための形態】
【００１２】
＜実施の形態１：システム構成＞
図１は、本発明の実施形態１に係るコンテンツフィルタリングシステム１０００の構成を示すブロック図である。コンテンツフィルタリングシステム１０００は、Ｗｅｂ上に置かれた画像をキーワードまたは画像の類似性に基づき検索し、その結果をユーザに対して配信するシステムである。コンテンツフィルタリングシステム１０００は、端末装置１００と検索サーバシステム２００を備え、これらはネットワーク１１００を介して接続されている。
【００１３】
端末装置１００は、検索サーバシステム２００に対する検索要求を発行するクライアントプログラムを稼動させるコンピュータである。端末装置１００は、クライアントプログラムの機能を利用して検索サーバシステム２００に対し画像を検索するリクエストを発行し、その検索結果を受け取る。検索サーバシステム２００の構成については後述する。
【００１４】
図１において、ネットワーク１１００としてインターネットを想定し、検索サーバシステム２００を構成するサーバ群としてＷｅｂアプリケーションサーバを想定するが、企業内におけるイントラネット上でも同様のシステム構成を提供することができる。また、端末装置１００と検索サーバシステム２００の間の通信プロトコルは、ＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）に限定されるものではなく、他の通信プロトコルを用いて同様のサービスを提供することができる。
【００１５】
図２は、検索サーバシステム２００を構成するサーバ群の接続関係を示す図である。ＨＴＴＰサーバ２０２は、ロードバランサ２０１を経由して、検索サーバシステム２００に到着した検索リクエストを受信する。ＨＴＴＰサーバ２０２は、検索サーバシステム２００が提供するサービス規模に応じて複数個起動されており、負荷分散のためロードバランサ２０１によって検索リクエストが各ＨＴＴＰサーバ２０２へ分配される。ＨＴＴＰサーバ２０２は、受信した検索リクエストを、検索サーバ２０３が解釈できる形式に変換した上で、全検索サーバ２０３に対して並列に検索リクエストを送信する。その後、ＨＴＴＰサーバ２０２は、全検索サーバ２０３から返された結果を統合し、最終的な検索結果を構成して検索要求元に送信する。
【００１６】
検索サーバ２０３は、実際の検索処理を実施する。検索対象となる大規模データは、適切な規模に分割され、分割数分の検索サーバ２０３が起動される。検索サーバ２０３は、検索の結果得られた全ての画像を最終検索結果として提示するとは限らない。検索サーバ２０３は、後述の図３で説明するテーブルを用いて、検索結果内に含まれる個々の画像を最終検索結果に含めるか否かを判定した上で、最終検索結果に含めるべき検索結果のみをＨＴＴＰサーバ２０２に返信する。
【００１７】
Ｗｅｂクローラ２０４は、検索対象となる画像をＷｅｂから収集する。Ｗｅｂクローラ２０４は、Ｗｅｂ上のＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）文書のリンク構造を辿ることによって自動的にＨＴＭＬ文書を取得し、そのなかに含まれるＩＭＧタグのＳＲＣ属性（画像データのＵＲＬ）を参照して画像データを取得する。Ｗｅｂクローラ２０４は、その画像データが検索対象として検索サーバ２０３上に登録されていない場合は、後述の図３で説明するテーブルに登録するレコードを生成し、そのレコードとともに当該画像データを検索サーバ２０３上に登録する。
【００１８】
本実施例では、検索用情報として、キーワード、および、画像特徴量を用いる。これらの情報の抽出は、Ｗｅｂクローラ２０４によって実施される。
【００１９】
キーワードに関しては、ＨＴＭＬ文書中の該当ＩＭＧタグの前後に存在するテキスト情報に対して、形態素解析等の標準的な自然言語処理技術を適用することにより、単語の集合を抽出する。抽出された各単語は、キーワードサーバ２０５に問い合わせることによって、一意に決まる整数値、すなわち、キーワードＩＤに変換される。キーワードサーバ２０５は、それまで出現していなかった単語に対しては、新規の整数値を単語IDとして割り当て、それをクローラに対して送信する。既に出現していた単語に対しては、その単語ＩＤを返すが、その際に、その単語の出現頻度情報を更新する。こうして取得されたキーワードＩＤ列は、図３のキーワードＩＤのリスト３０３に保存される。
【００２０】
一方、画像特徴量は、画像自体から抽出される情報である。画像特徴量としては、色ヒストグラム特徴量およびエッジパターン特徴量を用いる。これらの画像特徴量の具体的な抽出方法は、非特許文献１に記載されている。こうして取得された画像特徴量は、図３の画像特徴量ベクトル３０１に保存される。
【００２１】
Ｗｅｂクローラ２０４は、収集した画像データの属性を自動判定し、後述の図３で説明する判定テーブル３００上のレコードとして登録する。本実施形態１では、画像が検索結果としてユーザに提示するのに適しているか否かを示す値を、当該画像の属性とする。画像の不適正性の判定は、キーワード情報、画像特徴量、ＵＲＬ情報を用いて実施する。これらの情報は、それぞれ後述するキーワードサーバ２０５、画像特徴量サーバ２０６、ＵＲＬサーバ２０７が保持している。不適正性の判定の詳細については後述する。
【００２２】
キーワードサーバ２０５は、後述の図４で説明するキーワード属性テーブル４００を保持している。キーワードサーバ２０５は、単語頻度等の基本情報に加え、単語に関する不適正度を格納、管理する。
【００２３】
ＵＲＬサーバ２０７は、後述の図６で説明するＵＲＬ属性テーブル６００を保持している。ＵＲＬサーバ２０７は、ＵＲＬパターンとしての判定結果情報６００を格納、管理する。
【００２４】
図３は、検索サーバ２０３が保持する判定テーブル３００の構成を示す図である。判定テーブル３００は、Ｗｅｂクローラ２０４が収集した画像データの属性値を判定する際に用いるテーブルである。判定テーブル３００は、画像特徴量３０１、キーワードリスト３０２、画像データＵＲＬ３０３、ＵＲＬ３０４、サムネイル画像３０５、判定結果３０６、画像手動判定結果３０７、ＵＲＬ手動判定結果３０８、画像キーワード自動判定結果３０９、ＵＲＬキーワード自動判定結果３１０、画像特徴量自動判定結果３１１、ＵＲＬ特徴量自動判定結果３１２、キーワード不適正度３１３、特徴量不適正度３１４を保持する。判定テーブル３００は、画像データ毎に上記各フィールドを保持する。
【００２５】
画像特徴量３０１は、指定された画像に類似する画像を検索する際に用いるデータである。キーワードリスト３０２は、当該画像データに関連付けられたキーワードのＩＤを列挙したリストである。画像データＵＲＬ３０３は、当該画像データのＵＲＬである。ＵＲＬ３０４は、当該画像データが含まれているＨＴＭＬ文書のＵＲＬである。サムネイル画像３０５は、当該画像データのサムネイル（縮小画像）データである。判定結果３０６は、当該画像データを検索結果に含めるべきか否かの最終判定結果を保持する。画像手動判定結果３０７は、当該画像データを検索結果に含めるべきか否かの手動判定結果を保持する。ＵＲＬ手動判定結果３０８は、当該画像データを含むＨＴＭＬ文書を検索結果に含めるべきか否かの手動判定結果を保持する。画像キーワード自動判定結果３０９〜特徴量不適正度３１４は、自動判定を実施するための項目であり、詳細は後述する。
【００２６】
判定テーブル３００には、各画像データについての、検索に必要となる情報、および、不適正判定に関連する情報を格納するテーブルである。判定テーブル内の不適正判定に関わる情報の抽出は、後述するキーワード属性テーブル４００、特徴量属性テーブル５００、ＵＲＬ属性テーブル６００に格納された情報に基づいて実施される。したがって判定テーブル３００が実際に使用されるまでに、各テーブルへ値を格納しておく必要がある。
【００２７】
図４は、キーワードサーバ２０５が保持するキーワード属性テーブル４００の構成を示す図である。キーワード属性テーブル４００は、Ｗｅｂクローラ２０４が画像データの前後から収集した文字列の属性値を管理するテーブルである。本実施形態１では、キーワードの属性値として、各キーワードに関連付けられた画像データを検索結果に含めるべきか否かを判断する指標となる、各キーワードの不適正度を管理する。キーワード属性テーブル４００は、文字列４０１、出現頻度４０２、不適正度４０３を保持する。
【００２８】
文字列４０１は、キーワードの文字列である。出現頻度４０２は、Ｗｅｂクローラ２０４が画像データの前後から収集した文字列のなかに文字列４０１が登場する毎に加算される数値である。不適正度４０３は、後述する計算式によって算出した、文字列４０１の不適正度の数値である。不適正度４０３は、その値が実際に使用されるまでにＨＴＴＰサーバ２０２が算出し、キーワードサーバ２０５に登録しておけばよい。個々のキーワードを識別する識別子については、各キーワードがキーワード属性テーブル４００に登録された順に自動付与すればよいので、図４では省略した。
【００２９】
図５は、画像特徴量サーバ２０６が保持する特徴量属性テーブル５００の構成を示す図である。特徴量属性テーブル５００は、Ｗｅｂクローラ２０４が収集した画像データに対する画像特徴量に基づく不適正判定に関連する情報を管理するテーブルである。特徴量属性テーブル５００は、画像識別子５０１、画像特徴量５０２、判定結果５０３、信頼度５０４を保持する。
【００３０】
画像識別子５０１は、検索サーバ内のデータとの対応付けをとるためのIDである。画像特徴量５０２は、当該画像データの特徴量である。判定結果５０３は、当該画像データを検索結果に含めるべきか否かを判定した結果である。判定結果５０３は、後述するように、手動判定の結果、あるいは、自動判定の結果が保持される。同じ値は判定テーブル３００の画像手動判定結果３０７、あるいは、後述するキーワードによる自動判定結果３０９にも格納される。信頼度５０４は、後述の図７で説明する手順を用いて算出した、判定結果５０３の信頼度を示す数値である。判定結果５０３と信頼度５０４は、これらの値が実際に使用されるまでに画像特徴量サーバ２０６が算出しておけばよい。
【００３１】
図６は、ＵＲＬサーバ２０７が保持するＵＲＬ属性テーブル６００の構成を示す図である。ＵＲＬ属性テーブル６００は、Ｗｅｂクローラ２０４が収集したＨＴＭＬ文書のＵＲＬパターンについて判定した結果を管理するテーブルである。ＵＲＬ属性テーブル６００は、ＵＲＬ６０１、手動判定結果６０２、キーワード自動判定結果６０３、特徴量自動判定結果６０４を保持する。
【００３２】
ＵＲＬ６０１は、ＨＴＭＬ文書のＵＲＬを示す文字列である。手動判定結果６０２は、当該ＵＲＬを検索結果に含めるべきか否かを手動判定した結果である。キーワード自動判定結果６０３と特徴量自動判定結果６０４は、後述する処理フローによってＵＲＬサーバ２０７が当該ＵＲＬの属性を自動判定した結果を保持する。キーワード自動判定結果６０３と特徴量自動判定結果６０４は、これらの値が実際に使用されるまでにＨＴＴＰサーバ２０２が算出し、ＵＲＬサーバ２０７に保存しておけばよい。
【００３３】
＜実施の形態１：属性判定の概要＞
ＨＴＴＰサーバ２０２あるいはＷｅｂクローラ２０４が画像データの不適正性を自動判定する処理は、画像データおよびＵＲＬに対する手動による判定結果がある程度蓄積されていることを前提とする。画像に対する手動判定については、Ｗｅｂクローラ２０４が収集した画像データについてシステム運用者が不適正性を手動判定した結果として、図３の３０７の値として保存される。同時に、判定された画像の識別子、画像特徴量、判定結果が、画像特徴量サーバ２０６の管理情報として保存される。ＵＲＬに対する手動判定については、Ｗｅｂクローラ２０４が収集したＨＴＭＬ文書についてシステム運用者が不適正性を手動判定した結果として、図３の３０８の値として保存される。同時に、そのＵＲＬパターンおよび判定結果が、ＵＲＬサーバ２０７の管理情報として保存される。
【００３４】
ＵＲＬは、一般にドメイン名からＨＴＭＬ文書までに至る、階層的なデータ構造を持っている。本実施形態１では、このような階層性を明示的に取り扱わず、ＵＲＬに対する判定結果は、ＵＲＬに含まれる各画像データの属性値として管理する。例えばＨＴＭＬ文書に対する判定結果は、そのＨＴＭＬ文書に含まれる全ての画像データ全体に対する判定結果である。同様に、個々のＨＴＭＬ文書よりも上位のデータ階層（例えばパスやドメイン）に対する判定結果は、その配下に含まれる全てのＨＴＭＬ文書内に含まれる各画像データに対する判定結果３０８として管理される。
【００３５】
なお、個々の画像データに対する判定結果とその上位のデータ構造（例えばＨＴＭＬ文書）に対する判定結果は、必ずしも一致するわけではない。すなわち、全体としては適正なＨＴＭＬ文書内に不適正な画像が混入している、あるいは不適正なＨＴＭＬ文書内に適正な画像データが引用されている、といった場合もあり得る。
【００３６】
＜実施の形態１：キーワードを用いた自動判定の準備＞
キーワードを用いて画像データの属性を自動判定する際には、キーワード属性テーブル４００の不適正度４０３をあらかじめ算出しておく必要がある。以下ではその算出手順について説明する。
【００３７】
キーワード属性テーブル４００の不適正度４０３を計算する手順について説明する。下記式１は、キーワードＩＤ＝ｋであるキーワード（以下、キーワードｋとする）の不適正度Ｕ（ｋ）の定義を示す計算式である。
【００３８】
【数１】
0005820307.tif 000002
【００３９】
Ｐ（ｋ）は、手動判定結果５０３または当該画像データを含むＵＲＬに対する手動判定結果６０２のいずれかが１（＝不適正）と判定された画像データに関連する文字列内におけるキーワードｋの相対出現頻度である。Ｑ（ｋ）は、全ての関連文字列（各画像データについての関連文字列の全集合）内におけるキーワードｋの相対出現頻度である。Ｑ（ｋ）は、キーワードｋの出現頻度４０２を全画像データ数で除算することによって算出できる。Ｕ（ｋ）は、２項分布の仮定の下、不適正画像データに関連する文字列内におけるキーワードｋの分布と全ての関連文字列内におけるキーワードｋの分布との間の差異をカルバック・ライブラー情報量で表現したものである。ただし、カルバック・ライブラー情報量は、分布間の差異を表現するものであり、出現頻度の大小関係は直接的には表現されていない。そこで、Ｐ（ｋ）とＱ（ｋ）の間の大小関係に応じて正負の符号を付与している。結果としてＵ（ｋ）は、全関連文字列内における分布と比較し、不適正画像に関連する文字列内における出現頻度が高いキーワードついては正の値となり、不適正画像に関連する文字列内における出現頻度が低いキーワードについては負の値となる。
【００４０】
Ｗｅｂクローラ２０４、あるいは、ＨＴＴＰサーバ２０２は、上記式１に示す各キーワードの不適正度Ｕ（ｋ）を用いて、画像データに関連するキーワードに基づくその画像の不適正度ｕ（ｘ）を下記式２にしたがって算出する。算出結果は判定テーブル３００のキーワードに基づく不適正度３１３として格納される。
【００４１】
【数２】
0005820307.tif 000003
【００４２】
Ｋ（ｘ）は、画像ｘに対応するキーワードリスト３０２内に含まれるキーワードの集合である。｜Ｋ（ｘ）｜は、Ｋ（ｘ）の要素数である。ｕ（ｘ）は、画像ｘに関連付けられたキーワードの不適正度Ｕ（ｋ）の平均である。
【００４３】
さらに、ＵＲＬ配下全ての画像データ（画像集合Ｘ）についての不適正度は、集合Ｘに含まれる個々の画像データｘの不適正度ｕ（ｘ）の平均とみなすことができる。ＨＴＴＰサーバ２０２は、下記式３によってこれを算出することができる。上記の算出結果が一定閾値より大きい場合、ＵＲＬ属性テーブル６００のキーワード自動判定結果６０３に、その判定結果が格納される。さらに同じ値を判定テーブル３００のＵＲＬキーワード自動判定結果３１０に格納する。
【００４４】
【数３】
0005820307.tif 000004
【００４５】
＜実施の形態１：画像特徴量を用いた自動判定の準備＞
ＨＴＴＰサーバ２０２は、キーワードに基づく自動判定に代えて、またはこれと併用して、画像特徴量に基づき画像データの属性を自動判定することができる。画像特徴量に基づき画像データの属性を自動判定する際には、特徴量属性テーブル５００の信頼度５０４をあらかじめ算出しておく必要がある。以下ではその算出手順について説明する。
【００４６】
画像特徴量に基づく不適正判定は、あらかじめ手動判定によって不適正と判定された画像データ、すなわち特徴量属性テーブル５００の手動判定結果５０３＝１（不適正）である画像データとの間の類似度に基づいて実施することができる。ただし、各画像の自動判定に及ぼす効果は必ずしも一様であるとは想定できないため、本実施形態１では手動判定結果５０３の信頼度５０４をあらかじめ算出することとした。
【００４７】
図７は、ＨＴＴＰサーバ２０２が信頼度５０４を算出する処理フロー図である。信頼度５０４は、当該画像データに類似する画像を、全画像を対象として検索した結果内に、不適正と判定される画像データがどの程度含まれているかによって定義することができる。不適正画像データが検索結果の上位に多く含まれているほど、信頼度が高いと考えられる。ここでは判定結果５０３＝１（不適正）である画像データを判定対象画像とし、その信頼度５０４を算出する手順を説明する。以下、図７の各ステップについて説明する。
【００４８】
（図７：ステップＳ７１０）
ＨＴＴＰサーバ２０２が、本フローチャート内で用いる変数を定義する。下限閾値ｐ（０＜ｐ＜１）は、外部から定義するパラメータであり、後述のステップＳ７４０で用いられる。集合Ｓは、不適正画像データの集合である。Ｓは、個々の画像に対して不適正判定されたものだけではなく、URLに対する判定による不適正と判定されたものを含めることとする。これを、判定テーブル３００内の各フィールドを用いて論理式で書けば、ｉｍｇ＿ｕｎｓａｆｅ３０７＝＝１｜｜（ｕｒｌ＿ｕｎｓａｆｅ３０８＝＝１＆＆ｉｍｇ＿ｕｎｓａｆｅ３０７！＝０）を満たす画像の集合である。その他の変数については以下のステップで併せて説明する。
【００４９】
（図７：ステップＳ７２０）
信頼度５０４を判定する対象である画像データの特徴量ベクトルをＸとする。ＨＴＴＰサーバ２０２は、特徴量ベクトルＸと類似する画像データを全検索サーバ２０３が管理する全画像データから検索する。検索結果の件数をＮとする。検索結果は、全画像中のデータを特定する画像識別子、およびＸとの間の特徴量ベクトル間２乗距離を要素とする配列Ｒ内に格納される。配列Ｒの要素は、２乗距離が小さい順にソートされているものとする。
【００５０】
（図７：ステップＳ７３０）
ＨＴＴＰサーバ２０２は、配列Ｒ内に不適正画像データが何件含まれているかをカウントする。カウント結果は配列Ａに格納される。配列Ａの要素は、配列Ｒの要素を上位から順に見たときに手動判定結果５０３が判定対象画像と同じである画像データが配列Ｒ内に何件格納されているかを示す数値である。例えば、判定対象画像の手動判定結果５０３が１であり、Ｒ［１］〜Ｒ［４］内に手動判定結果５０３が１である画像が４件含まれている場合は、Ａ［４］＝４となる。同様にＲ［１］〜Ｒ［１０］内に手動判定結果５０３が１である画像が７件含まれている場合は、Ａ［１０］＝７となる。検索結果の上位（配列Ｒの上位要素）には判定対象画像との間の類似度が高い画像データが格納されているので、下位に下がるほど判定対象画像とは異なる画像データが登場する。以下、本ステップのサブステップについて説明する。
【００５１】
（図７：ステップＳ７３１）
判定対象画像自身も検索対象に含まれるため、検索結果の１位には、２乗距離が０となる画像データが現れる。そこで画像特徴量サーバ２０６は、１番目の要素についてはＡ［１］＝１とし、配列のインデックスｉを次に進める。インデックスｉがＮに到達した、すなわち配列Ｒの全要素についてカウントが終了した場合はステップＳ７４０に進み、それ以外であればステップＳ７３２へ進む。
【００５２】
（図７：ステップＳ７３２）
ＨＴＴＰサーバ２０２は、配列Ｒのｉ番目の要素が集合Ｓに含まれる（手動判定結果５０３＝１である）場合は配列Ａの要素値を１加算し、そうでなければ上位の要素値と同じ値とする。例えばＲ［１］〜Ｒ［４］内に手動判定結果５０３が１である画像が４件含まれている場合、Ａ［４］＝４となる。この場合、Ｒ［５］の手動判定結果５０３が０であればＡ［５］＝Ａ［４］（＝４）となり、Ｒ［５］の手動判定結果５０３が１であればＡ［５］＝Ａ［４］＋１（＝５））となる。
【００５３】
（図７：ステップＳ７３２：補足）
Ｗｅｂ上には複製された画像が多く存在するため、判定対象画像と全く同じ画像データが別の画像識別子５０１をもって特徴量テーブル５００内に登録されている場合もある。そこでＨＴＴＰサーバ２０２は、特徴量ベクトル間の２乗距離が０となる画像は、内容が等しい画像データと判断し、配列Ｒの１つ上位の要素と同じものとして取り扱う。
【００５４】
（図７：ステップＳ７４０）
ＨＴＴＰサーバ２０２は、配列Ａの最下位（Ｎ番目の要素）から上位に向けて要素値を順に取得し、配列Ａの要素数（＝インデックスｉ）に対する不適正画像の件数割合を求める。例えばステップＳ７３０で説明した例によれば、Ａ［１０］＝７であるから１０件中７件が不適正画像（割合＝０．７）ということになる。同様にＡ［４］＝４であるから４件中４件が不適正画像（割合＝１．０）ということになる。ＨＴＴＰサーバ２０２は、この割合が下限閾値ｐより大きくなった時点で、そのインデックスｉに対応する配列Ｒの２乗距離と１つ下位の配列Ｒの２乗距離の平均を算出し、これを信頼度Ｄとする。
【００５５】
（図７：ステップＳ７４０：補足その１）
本ステップでは下限閾値ｐを境界としてその１つ下位の配列Ｒの２乗距離と平均する例を示したが、これに限られるものではない。上記割合が下限閾値ｐを超えた時点で、そのインデックスの前後いずれかの配列Ｒの２乗距離を少なくとも用いれば、相応に妥当な信頼度Ｄが得られると考えられる。
【００５６】
（図７：ステップＳ７４０：補足その２）
本ステップは、Ａ［Ｎ］／Ｎが＜ｐ、かつＲ［Ｎ］．ｄ≠０を仮定している。したがってＮの値は、ほとんどの場合、この条件を満たす程度に大きい値を設定する必要がある。本条件を満たさない場合は、配列Ｒに含まれる画像データは不適正判定のために用いないようにする。
【００５７】
以上、手動判定結果５０３＝１（不適正）である画像データを判定対象画像とした例を説明したが、手動判定結果５０３＝０（適正）である画像データを判定対象画像とする場合も同様の処理フローを用いることができる。ただしこの場合の集合Ｓは、判定テーブル３００内の各フィールドを用いて論理式で書けば、ｉｍｇ＿ｕｎｓａｆｅ３０７＝＝０｜｜（ｕｒｌ＿ｕｎｓａｆｅ３０８＝＝０＆＆ｉｍｇ＿ｕｎｓａｆｅ３０７！＝１）を満たす画像の集合である。
【００５８】
ＨＴＴＰサーバ２０２あるいはＷｅｂクローラ２０４は、あらかじめ手動判定を実施した画像データとの間の類似度に基づいて、画像データの不適正性を判定することができる。このときの類似度は、図７にしたがって算出した信頼度５０４を加味して求める。画像特徴量サーバ２０６は、下記式４に示す、信頼度５０４で正規化した２乗距離を用いて類似画像を検索する。
【００５９】
【数４】
0005820307.tif 000005
【００６０】
ｘは、不適正性を判定する画像データの特徴量ベクトルである。ｉは、特徴量テーブル５００内のレコードを特定するインデックスである。ｙ（ｉ）は、インデックスｉに対応する特徴量ベクトルである。Ｄ（ｉ）は、ｙ（ｉ）の信頼度である。
【００６１】
ＨＴＴＰサーバ２０２あるいはＷｅｂクローラ２０４は、画像データの不適正性を画像特徴量に基づき判定する際には、式４に示す正規化した距離に基づく最近接画像データを特徴量テーブル５００から検索する。最近接画像データの手動判定結果５０３が不適正である場合は、最近接画像データとの間の正規化距離の指数関数の逆数をその画像データの不適正度３１４とする。最近接画像データの手動判定結果５０３が不適正でない場合は、不適正度３１４を０とする。これは下記式５で表される。算出結果は判定テーブル３００の画像特徴量自動判定結果３１１内に格納される。
【００６２】
【数５】
0005820307.tif 000006
【００６３】
さらに、ＵＲＬ配下全ての画像データ（画像集合Ｘ）についての不適正度は、集合Ｘに含まれる個々の画像データｘの不適正度ｕ（ｘ）の平均とみなすことができる。ＨＴＴＰサーバ２０２は、下記式６によってこれを算出することができる。算出結果が一定閾値より大なら、不適正と判断され、その結果が、ＵＲＬ属性テーブル６００の特徴量自動判定結果６０４に格納される。さらに同じ値を判定テーブル３００のＵＲＬ特徴量自動判定結果３１２に格納する。
【００６４】
【数６】
0005820307.tif 000007
【００６５】
＜実施の形態１：キーワードを用いた自動判定＞
図８は、ＨＴＴＰサーバ２０２が画像データに関連するキーワードに基づき当該画像データの不適正性を自動判定する処理のフローチャートである。ＨＴＴＰサーバ２０２は、判定テーブル３００の全レコードについて、画像キーワード自動判定結果３０９とＵＲＬキーワード自動判定結果３１０を未判定の状態に初期化する（Ｓ８０１）。ＵＲＬサーバ２０７の管理情報も同様に、ＵＲＬテーブル６００の全レコードについて、キーワード自動判定結果６０３を未判定の状態に初期化する（Ｓ８０２）。ＨＴＴＰサーバ２０２は、次の図９で説明する処理フローを、判定テーブル３００内の全レコードについて実施する。
【００６６】
図９は、ステップＳ８０３の詳細を示すフローチャートである。以下、図９の各ステップについて説明する。
【００６７】
（図９：ステップＳ９０１）
ＨＴＴＰサーバ２０２が、本フローチャート内で用いる変数を定義する。閾値αは、外部から定義するパラメータであり、画像データの不適正度ｕ（ｘ）と比較するために用いられる。その他の変数については以下のステップで併せて説明する。
【００６８】
（図９：ステップＳ９０２）
ＨＴＴＰサーバ２０２は、判定対象画像ｘに対する画像キーワード自動判定結果３０９を参照する。後述のステップＳ９１２においてＵＲＬに対する判定を実施する際に、そのＵＲＬ内に判定対象画像ｘが含まれており、判定対象画像ｘが判定済みとなっている場合があるので、本ステップを設けた。画像キーワード自動判定結果３０９＝０であれば本処理フローを終了し、それ以外であればステップＳ９０３へ進む。
【００６９】
（図９：ステップＳ９０３）
画像キーワード自動判定結果３０９＝−１であればステップＳ９０４〜Ｓ９０６を実施し、それ以外であればこれらのステップはスキップする。
【００７０】
（図９：ステップＳ９０４〜Ｓ９０６）
ＨＴＴＰサーバ２０２は、式２に示す不適正度ｕ（ｘ）を算出する（Ｓ９０４）。ＨＴＴＰサーバ２０２は、ｕ（ｘ）が閾値αより大きければ判定対象画像Ｘは不適正と判定し、そうでなければ適正であると判定する（Ｓ９０５）。ＨＴＴＰサーバ２０２は、判定結果に基づき判定テーブル３００の画像キーワード自動判定結果３０９を更新する。また、不適正度ｕ（ｘ）をキーワード不適正度３１３として格納する（Ｓ９０６）。ｕ（ｘ）＞αの場合および判定対象画像Ｘについて既に不適正と判定済みであった場合はステップＳ９０７へ進み、それ以外であれば本処理フローを終了する。
【００７１】
（図９：ステップＳ９０７〜Ｓ９０８）
ＨＴＴＰサーバ２０２は、ＵＲＬに対して不適正判定を実施する場合は、本ステップ以降を実施する。検索サーバ２０３は、ＵＲＬ３０４の末尾から、区切り子として”／”と”？”を順次検出することにより（Ｓ９０７）、ＵＲＬ３０４の先頭から区切り子までの部分文字列を切り出す（Ｓ９０８）。
【００７２】
（図９：ステップＳ９０９）
ＨＴＴＰサーバ２０２は、ＵＲＬサーバ２０７に問い合わせることにより、切り出されたＵＲＬ３０４の部分文字列ｈについて不適正判定を実施済みか否かを確認する。ＵＲＬ属性テーブル６００内に部分文字列ｈが未登録である場合は、当該部分文字列ｈについて不適正判定は実施してないと判断される。ＵＲＬ属性テーブル６００内に部分文字列ｈが登録されていた場合は、キーワード自動判定結果６０３の値に基づき、不適正判定を実施済みであるか否かを判断することができる。不適正判定を実施済みである場合は部分文字列ｈのインデックスを１つ勧めてステップＳ９０７へ戻り、未実施である場合はステップＳ９１０へ進む。
【００７３】
（図９：ステップＳ９１０〜Ｓ９１１）
ＨＴＴＰサーバ２０２は、ＵＲＬ３０４の先頭部分が部分文字列ｈと一致するＵＲＬ内に含まれる画像データを判定テーブル３００から全て抽出し、画像集合Ｘとする（Ｓ９１０）。検索サーバ２０３は、式３に示す画像集合Ｘの不適正度ｖ（Ｘ）を算出する（Ｓ９１１）。ｖ（Ｘ）を算出するためには、集合Ｘ内の全ての画像データｘについての不適正度ｕ（ｘ）が必要である。集合Ｘ内の各画像データについて不適正度ｕ（ｘ）を算出済みである、すなわち画像キーワード自動判定結果３０９が−１でない場合は、キーワード不適正度３１３の値を用いる。そうでない場合は、式２にしたがってその画像データの不適正度ｕ（ｘ）を算出する。
【００７４】
（図９：ステップＳ９１２）
ＨＴＴＰサーバ２０２は、ｖ（ｘ）が別途定めた閾値βより大きければ当該ＵＲＬは不適正と判定し、そうでなければ適正と判定する。判定結果は、ＵＲＬ属性テーブル６００のキーワード自動判定結果６０３に格納される。検索サーバ２０３はさらに、集合Ｘ内の全ての画像データについて、判定テーブル３００のＵＲＬキーワード自動判定結果３１０の値を更新する。ただし既にＵＲＬキーワード自動判定結果３１０の値が１であるレコードについては更新しない。
【００７５】
（図９：ステップＳ９０１〜Ｓ９１２：補足）
判定テーブル３００に登録されている画像データの件数が大規模な場合は、全画像データに対する処理を実施するのが適切ではない場合がある。この場合は、キーワード属性テーブル４００の不適正度４０３が所定閾値以上のキーワードを選択し、それらのキーワードを含む画像データのみを対象として、図９に示す処理を実施すればよい。
【００７６】
＜実施の形態１：画像特徴量を用いた自動判定＞
画像特徴量に基づき画像の不適正性を自動判定する場合は、式５に示す画像の不適正度ｕ（ｘ）を算出するために要する計算コストが大きいため、全画像データを対象として画像特徴量に基づく自動判定を実施するのは適切ではない。そこでＨＴＴＰサーバ２０２は、特徴量属性テーブル５００の画像特徴量５０２をクエリとし、全画像を対象とする類似検索を実施することにより、画像特徴量５０２の近傍に存在するもののみを抽出して自動判定を実施する。
【００７７】
図１０は、ＨＴＴＰサーバ２０２が画像データの画像特徴量に基づき当該画像データの不適正性を自動判定する処理のフローチャートである。ステップＳ１００１〜Ｓ１００２は、図８のステップＳ８０１〜Ｓ８０２と同様である。ＨＴＴＰサーバ２０２は、検索サーバ２０３を用いて、特徴量属性テーブル５００内の各画像と類似した画像を検索し、配列Ｒに格納する（Ｓ１００３）。ＨＴＴＰサーバ２０２は、配列Ｒから不適正性を判定していない画像データを選択し（Ｓ１００４）、その画像データに対して図９と同様の手順により画像特徴量に基づく自動判定を実施する（Ｓ１００５）。
【００７８】
ステップＳ１００５は、キーワードに基づく判定が画像特徴量に基づく判定に置き換わっている点を除いて、図９と同様である。画像に対する自動判定の結果は画像特徴量自動判定結果３１１に格納され、ＵＲＬに対する自動判定の結果はＵＲＬ特徴量自動判定結果３１２に格納され、各画像データについて算出された不適正度は特徴量不適正度３１４に格納される。処理済みのＵＲＬ文字列か否かを判断するための情報は、特徴量自動判定結果６０４に格納される。
【００７９】
＜実施の形態１：不適正度４０３と信頼度５０４の精度向上＞
キーワード属性テーブル４００の不適正度４０３と特徴量属性テーブル５００の信頼度５０４を自動更新する際に、これらを相互に利用補充して互いの精度を向上させる手法について、以下に説明する。
【００８０】
ＨＴＴＰサーバ２０２は、式１を用いて不適正度４０３を更新する際に、Ｐ（ｋ）の母集合として、キーワードを用いた手動判定結果を既に得ている画像データを用いるのが原則である。これに加えて、図１０で説明した画像特徴量に基づく自動判定の結果を、Ｐ（ｋ）の母集合とすることもできる。これにより、Ｐ（ｋ）の母数が大きくなるので、不適正度４０３の精度を向上させることができると考えられる。判定テーブル３００内の各フィールドを用いて論理式で書けば、ｉｍｇ＿ｕｎｓａｆｅ３０７＝＝１｜｜ｕｒｌ＿ｕｎｓａｆｅ３０８＝＝１｜｜ｉｍｇ＿ｕｎｓａｆｅ＿ｂｙ＿ｉｍｇ３１１＝＝１｜｜ｕｒｌ＿ｕｎｓａｆｅ＿ｂｙ＿ｉｍｇ３１２＝＝１を満たす画像データの集合を不適正画像の母集合とし、Ｐ（ｋ）を算出する。
【００８１】
ＨＴＴＰサーバ２０２は、信頼度５０４を更新する際に、画像特徴量を用いた手動判定結果に加えて、キーワードに基づく自動判定結果を加えたものを用いる。まず、自動判定用の画像特徴量としては、画像に対する手動判定結果５０３が不適正であったものに加え、画像に対するキーワードによる自動判定結果が不適正であったものを加える。ただし、手動判定結果が適正であった画像は除外する。すなわち、特徴量属性テーブル５００には、ｉｍｇ＿ｕｎｓａｆｅ３０７＝＝１｜｜（ｉｍｇ＿ｕｎｓａｆｅ＿ｂｙ＿ｋｗ３１０＝＝１＆＆ｉｍｇ＿ｕｎｓａｆｅ３０７！＝０）を満たす画像の特徴量が登録される。図７に示した信頼度５０４を算出するための不適正画像の集合Ｓとしては、上記の画像集合に加えて、ＵＲＬに対する判定結果を用いる。これを論理式で記述すれば、ｉｍｇ＿ｕｎｓａｆｅ３０７＝＝１｜｜（（ｕｒｌ＿ｕｎｓａｆｅ３０８＝＝１｜｜ｉｍｇ＿ｕｎｓａｆｅ＿ｂｙ＿ｋｗ３１０＝＝１｜｜ｕｒｌ＿ｕｎｓａｆｅ＿ｂｙ＿ｋｗ３１０＝＝１）＆＆ｉｍｇ＿ｕｎｓａｆｅ３０７！＝０）となる。
【００８２】
不適正度４０３と信頼度５０４を更新した後に自動判定を実施すると、自動判定の結果は変化する。運用者は、変化した自動判定の結果を用いて、適切な回数、不適正度４０３と信頼度５０４を更新することができる。なお、信頼度５０４の自動更新の過程で、自動判定の結果が手動判定の結果と著しく食い違う場合は、更新処理に問題があると判定し、自動更新処理を停止し、運用者に通知することもできる。
【００８３】
＜実施の形態１：新画像データの登録＞
Ｗｅｂクローラ２０４が、新たな画像データを登録する際の不適正判定処理について、以下に説明する。
【００８４】
Ｗｅｂクローラ２０４は、ＨＴＭＬ文書内で画像データの周辺に存在するキーワードを抽出した後、キーワードサーバ２０５に問い合わせることにより、式２の定義にしたがって不適正度ｕ（ｘ）を算出する。Ｗｅｂクローラ２０４は、不適正度ｕ（ｘ）と閾値を比較することによる不適正性の判定結果を、判定テーブル３００の画像キーワード自動判定結果３０９に格納する。次にＷｅｂクローラ２０４は、画像特徴量を抽出した後、画像特徴量サーバ２０６に問い合わせることにより、その画像特徴量の最近接データを取得し、式５の定義にしたがって画像特徴量に基づく不適正度ｕ（ｘ）を算出する。Ｗｅｂクローラ２０４は、不適正度ｕ（ｘ）と閾値を比較することによる不適正性の判定結果を、判定テーブル３００の画像特徴量自動判定結果３１１に格納する。さらに、その画像が含まれるＨＴＭＬ文書のＵＲＬを解析し、ＵＲＬ属性テーブル６００のＵＲＬ６０１と照合する。一致するＵＲＬ６０１が存在する場合は、手動判定結果６０２の値を判定テーブル３００のＵＲＬ手動判定結果３０８に格納し、キーワード自動判定結果６０３の値を判定テーブル３００のＵＲＬキーワード自動判定結果３１０に格納し、特徴量自動判定結果６０４の値を判定テーブル３００のＵＲＬ特徴量自動判定結果３１２に格納する。
【００８５】
＜実施の形態１：検索要求に対する検索結果を提示する処理＞
ＨＴＴＰサーバ２０２は、端末装置１００から画像に対する検索要求を受け取ると、手動判定結果および自動判定結果のいずれかが不適正と判定されている画像については、ユーザからの明示的な配信要求がない限り、ユーザへ提示する検索結果には含めない。判定テーブル３００の各フィールドを用いた論理式で表記すると、ｉｍｇ＿ｕｎｓａｆｅ３０７＝＝１｜｜ｕｒｌ＿ｕｎｓａｆｅ３０８＝＝１｜｜ｉｍｇ＿ｕｎｓａｆｅ＿ｂｙ＿ｋｗ３０９＝＝１｜｜ｕｒｌ＿ｕｎｓａｆｅ＿ｂｙ＿ｋｗ３１０＝＝１｜｜ｉｍｇ＿ｕｎｓａｆｅ＿ｂｙ＿ｉｍｇ３１１＝＝１｜｜ｕｒｌ＿ｕｎｓａｆｅ＿ｂｙ＿ｉｍｇ３１２＝＝１である画像は不適正画像と判定して検索結果には含めない。処理の効率化のため、この論理式の結果は、判定結果３０６にあらかじめ格納しておいてもよい。
【００８６】
＜実施の形態１：まとめ＞
以上のように、本実施形態１に係るコンテンツフィルタリングシステム１０００は、キーワードの不適正度（式２）と画像特徴量の不適正度（式５）に基づき、画像データの不適正性を判定することができる。これにより、多数の画像データについて、不適正判定を自動的に実施することができる。
【００８７】
＜実施の形態２＞
実施形態１では、画像データの属性として、検索結果に含めることが適正であるか否かを示す不適正性を自動判定することとした。キーワードに基づく判定結果と画像特徴量に基づく判定結果を用いる手法は、これに限らず画像データに関連付ける様々な属性について適用することができる。例えば、キーワードにあらかじめ属性が付与されており、画像特徴量にも同様にあらかじめ属性が付与されている場合、ある画像データの属性は、その周辺に存在するキーワードの属性と当該画像データに類似する他の画像データに付与されている属性とに基づき推定することができる。
【００８８】
本発明の実施形態２では、上記手法を実現するシステムとして、一般ユーザから投稿される画像を管理するサービスを提供するシステムを想定する。本実施形態２に係るコンテンツフィルタリングシステム１０００においては、一般ユーザが自由に画像データを検索サーバ２０３へ登録し、他のユーザが投稿した画像データを閲覧することもできる。登録された画像データに対しては、任意のユーザが自由にコメントを付与することができる。さらに、登録された画像データに様々な属性情報を付与することができるものとする。コンテンツフィルタリングシステム１０００は、属性情報が付与されていない画像データについては、他の画像データに付与されている属性等に基づき、自動的に属性を付与することもできる。コンテンツフィルタリングシステム１０００は、この属性情報に基づく検索機能を提供することによって、ユーザにとって利便性の高いサービスを提供する。
【００８９】
属性情報は、ユーザとシステム運用者の双方が、自由に付与することができる。属性情報としては、「風景」、「建物」、「集合写真」等の名詞的なもの、「さわやか」、「憂鬱」等の形容詞的なもの等、多様な概念を想定する。
【００９０】
図１１は、本実施形態２における検索サーバシステム２００を構成するサーバ群の接続関係を示す図である。ＨＴＴＰサーバ２０２は、ユーザからの投稿画像およびコメントを受領する。ＨＴＴＰサーバ２０２は、投稿された画像の画像特徴量を抽出、および、コメントから単語の抽出を行い、その結果を検索サーバ２０３に格納する。
【００９１】
図１２は、本実施形態２において検索サーバ２０３が保持する判定テーブル１２００の構成を示す図である。画像特徴量１２０１、キーワードリスト１２０２、サムネイル画像１２０３については、図３の画像特徴量３０１、キーワードリスト３０２、サムネイル画像３０５と同じである。属性リスト１２０４は、当該画像データに対して手動付与された属性のＩＤリストを保持する。キーワード推定属性リスト１２０５は、画像データに関連付けられたキーワードに基づき推定された属性のＩＤリストである。特徴量推定属性リスト１２０６は、画像特徴量に基づき推定された属性のＩＤリストである。
【００９２】
図１３は、本実施形態２においてＨＴＴＰサーバ２０２が保持するキーワード属性テーブル１３００の構成を示す図である。文字列１３０１および出現頻度１３０２については、図４の文字列４０１および出現頻度４０２と同様である。属性リスト１３０３は、当該キーワードに付与された属性のＩＤリストである。信頼度１３０４は、属性リスト１３０３の推定信頼度のリストである。
【００９３】
本実施形態２において、ＨＴＴＰサーバ２０２は、ある程度の個数の画像データに手動で属性が付与されている前提の下、式１を用いて個々のキーワードの属性を推定する。式１におけるＰ（ｋ）は、その属性が付与された画像集合内の相対頻度とする。式１におけるＱ（ｋ）は、出現頻度１３０２を用いてもよいが、キーワードの頻度を算出するのに十分な標本数が得られない場合は、別途存在する大規模な文章データベース内における当該キーワードの出現頻度を用いる。
【００９４】
ＨＴＴＰサーバ２０２は、個々のキーワードについて、各属性の推定結果の信頼度１３０４を式１に基づき算出する。ただし、全てのキーワードについて信頼度１３０４をキーワード属性テーブル１３００に格納するのは効率的ではないため、信頼度１３０４が所定閾値を超えたものについてのみ、属性リスト１３０３とその信頼度１３０４をキーワード属性テーブル１３００に格納する。
【００９５】
信頼度１３０４を保存する際の具体的な処理は、以下の通りである。まず、特定の属性に着目し、その属性が付与された画像データに関連するキーワードを抽出する。抽出された各キーワードについて、式１に基づき信頼度１３０４を算出し、それが所定閾値より大きければキーワード属性テーブル１３００に登録する。以上の処理を、定義された全ての属性について実施する。
【００９６】
図１４は、画像特徴量サーバ２０６が保持する特徴量属性テーブル１４００の構成図である。画像識別子１４０１および画像特徴量１４０２については、図５の画像識別子５０１および画像特徴量５０２と同様である。属性リスト１４０３は、当該画像データに手動付与された属性のＩＤリストである。信頼度１４０４は、属性リスト１４０３の推定信頼度のリストである。
【００９７】
画像特徴量に基づく属性推定においては、初期状態では、手動によって属性が付与された画像データの特徴量を用いる。ある属性に着目した時、図７における不適正画像の集合Ｓに相当するものは、初期状態では、その着目する属性が付与された画像の集合である。実施形態１と異なり、本実施形態２では、属性推定のために用いる画像集合と、属性推定結果の信頼度を算出するための正解事例となる画像集合（図７の不適正画像の集合S）とは一致する。
【００９８】
図１５は、ＨＴＴＰサーバ２０２が信頼度１４０４を算出する処理フロー図である。図１５において、属性判定対象の画像特徴量ベクトルをＸとし、Ｘに関連付けられた属性リストを配列Ａとする。図７における累積頻度（図７における配列Ａ）は、本実施形態２において画像に複数の属性が付与されることを考慮し、２次元配列Ｓに格納することとした。図７における信頼度Ｄも同様に、属性毎に配列Ｄに格納することとした。
【００９９】
ステップＳ１５２０において、Ｘに類似する画像を検索して配列Ｒに格納する。ステップＳ１５３０では、配列Ｒ内における各属性の累積頻度Ｓを算出する。累積頻度Ｓは属性毎に算出するため、図７で説明したフローに加えて、属性毎のループを示すインデックスｋが追加されているが、その他の点については図７と同様である。ステップＳ１５４０でも同様に、属性毎に信頼度Ｄを算出し、信頼度１４０４に格納する。
【０１００】
ＨＴＴＰサーバ２０２が画像データに関連するキーワードに基づき当該画像データの属性を自動判定する処理は、実施形態１における不適正性を属性に置き換えた上で、図８〜図９と同様の処理を実施すればよい。具体的には以下の通りである。
【０１０１】
ＨＴＴＰサーバ２０２は、キーワード属性テーブル１３００のうち属性リスト１３０３の長さが０ではない単語を抽出し、それらの単語がキーワードリスト１２０２に含まれる画像データを対象に自動判定を実施する。ＨＴＴＰサーバ２０２は、各画像の各属性について、式２と同様にキーワードに付与された属性の信頼度の平均値を算出し、それが所定閾値より大きければ自動付与属性としてキーワード推定属性リスト１２０５に格納する。ただし、信頼度の平均値の算出にあたっては、着目する属性と無関連なキーワードについては除外する。一方、新規登録画像に関しては、そのキーワードリスト１２０２内の各キーワードと関連する属性について、キーワードに付与された属性の信頼度の平均値を算出し、これが所定閾値より大きければ、自動付与属性としてキーワード推定属性リスト１２０５に格納する。
【０１０２】
ＨＴＴＰサーバ２０２が画像データの画像特徴量に基づき当該画像データの不適正性を自動判定する処理は、実施形態１における不適正性を属性に置き換えた上で、図１０と同様の処理を実施すればよい。具体的には以下の通りである。
【０１０３】
ＨＴＴＰサーバ２０２は、属性判定対象画像Ｘに類似する画像を検索し、属性自動付与の対象とする画像を絞り込む。ＨＴＴＰサーバ２０２は、各画像の属性ごとに、式４の信頼度で正規化された２乗距離が最も近接した画像特徴量を検出する。その最近接データとＸとの間の正規化２乗距離が所定閾値より小さければ、最近接データの属性を、自動付与属性として特徴量推定属性リスト１２０６に追加する。一方、新規登録画像に関しては、その画像から抽出された画像特徴量を画像特徴量１４０２と照合することにより、属性ごとに最近接データを検出し、その距離が所定閾値より小なら、最近接データの属性を自動付与属性として特徴量推定属性リスト１２０６に追加する。
【０１０４】
信頼度１３０４と１４０４の更新手法についても、実施形態１と同様である。信頼度１３０４については、手動で属性付与された画像の集合および画像特徴量を用いて自動で属性付与した画像集合を合わせたものを用いて、信頼度１３０４を更新する。信頼度１４０４については、手動で属性付与された画像の集合およびキーワードを用いて自動で属性付与した画像集合を合わせたものを用いて、信頼度１４０４を更新する。信頼度の更新後に改めて属性を自動付与することにより、さらに網羅的に属性を付与することができる。実施形態１と同様、自動付与処理と信頼度の更新処理を、運用上適切な回数で交互に繰り返す。
【０１０５】
＜実施の形態２：まとめ＞
以上のように、本実施形態２に係るコンテンツフィルタリングシステム１０００は、キーワードに付与された属性と画像特徴量に付与された属性に基づき、画像データの属性を自動判定することができる。
【０１０６】
＜実施の形態３＞
実施形態１で説明した式１〜式３は、下記式７〜式９に置き換えることができる。
【０１０７】
【数７】
0005820307.tif 000008
【０１０８】
【数８】
0005820307.tif 000009
【０１０９】
【数９】
0005820307.tif 000010
【０１１０】
式７中のＰ（ｋ）、Ｑ（ｋ）は、式１における定義と同一である。式１と式２の関係とは逆に、式７は、式８の各画像に対する不適正度から導出される。式８は、各画像に対して、不適性画像からの標本と仮定した場合の単語の同時分布と、一般の画像からの標本と仮定した場合の単語の同時分布の尤度比を対数変換したものである。式８中の特定の単語に関わる項を抜き出したものが式７となる。式９については、式３と全く同等である。
【０１１１】
本発明は上記した実施形態に限定されるものではなく、様々な変形例が含まれる。上記実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施形態の構成の一部を他の実施形態の構成に置き換えることもできる。また、ある実施形態の構成に他の実施形態の構成を加えることもできる。また、各実施形態の構成の一部について、他の構成を追加・削除・置換することもできる。
【０１１２】
例えば、画像の特徴量を算出する特徴量算出部、画像を含むＨＴＭＬ文書から画像に関連付けられているキーワードを抽出するキーワード抽出部については、必ずしも、ＨＴＴＰサーバ２０２あるいはＷｅｂクローラ２０４上に設ける必要はない。画像特徴量サーバ２０６やキーワードサーバ２０５等に分散させる設計もあり、処理結果を各サーバ間で共有すれば足りる。
【０１１３】
同様に、キーワード属性テーブル（４００、１３００）の記述にしたがってキーワードと対応する属性を判定するキーワード属性判定部、特徴量属性テーブル（５００、１４００）の記述にしたがって画像特徴量と対応する属性を判定する特徴量属性判定部、これらの判定結果に基づき判定対象画像Ｘの属性を判定する画像属性判定部は、必ずしもＨＴＴＰサーバ２０２上に設ける必要はない。これら機能部はいずれかのサーバ上に設けてＨＴＴＰサーバ２０２との間で共有すれば足りる。
【０１１４】
また、画像をＷｅｂ上から取得するＷｅｂクローラ２０４は、検索サーバ２０３などのサーバ上に設けてもよいし、独立した機能部として図２に示す検索サーバシステム２００内に設けてもよい。
【０１１５】
上記各構成、機能、処理部、処理手段等は、それらの一部や全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記録装置、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に格納することができる。
【符号の説明】
【０１１６】
１００：端末装置、２００：検索サーバシステム、２０１：ロードバランサ、２０２：ＨＴＴＰサーバ、２０３：検索サーバ、２０４：Ｗｅｂクローラ、２０５：キーワードサーバ、２０６：画像特徴量サーバ、２０７：ＵＲＬサーバ、３００：判定テーブル、４００：キーワード属性テーブル、５００：特徴量属性テーブル、６００：ＵＲＬ属性テーブル、１０００：コンテンツフィルタリングシステム、１１００：ネットワーク、１２００：判定テーブル、１３００：キーワード属性テーブル、１４００：特徴量属性テーブル。
【図１】
0005820307.tif 000011
【図２】
0005820307.tif 000012
【図３】
0005820307.tif 000013
【図４】
0005820307.tif 000014
【図５】
0005820307.tif 000015
【図６】
0005820307.tif 000016
【図７】
0005820307.tif 000017
【図８】
0005820307.tif 000018
【図９】
0005820307.tif 000019
【図１０】
0005820307.tif 000020
【図１１】
0005820307.tif 000021
【図１２】
0005820307.tif 000022
【図１３】
0005820307.tif 000023
【図１４】
0005820307.tif 000024
【図１５】
0005820307.tif 000025