特許第5820307号(P5820307)IP Force 特許公報掲載プロジェクト 2015.5.11 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社日立製作所の特許一覧
特許5820307コンテンツフィルタリングシステム、コンテンツフィルタリング方法
<>
  • 特許5820307-コンテンツフィルタリングシステム、コンテンツフィルタリング方法 図000011
  • 特許5820307-コンテンツフィルタリングシステム、コンテンツフィルタリング方法 図000012
  • 特許5820307-コンテンツフィルタリングシステム、コンテンツフィルタリング方法 図000013
  • 特許5820307-コンテンツフィルタリングシステム、コンテンツフィルタリング方法 図000014
  • 特許5820307-コンテンツフィルタリングシステム、コンテンツフィルタリング方法 図000015
  • 特許5820307-コンテンツフィルタリングシステム、コンテンツフィルタリング方法 図000016
  • 特許5820307-コンテンツフィルタリングシステム、コンテンツフィルタリング方法 図000017
  • 特許5820307-コンテンツフィルタリングシステム、コンテンツフィルタリング方法 図000018
  • 特許5820307-コンテンツフィルタリングシステム、コンテンツフィルタリング方法 図000019
  • 特許5820307-コンテンツフィルタリングシステム、コンテンツフィルタリング方法 図000020
  • 特許5820307-コンテンツフィルタリングシステム、コンテンツフィルタリング方法 図000021
  • 特許5820307-コンテンツフィルタリングシステム、コンテンツフィルタリング方法 図000022
  • 特許5820307-コンテンツフィルタリングシステム、コンテンツフィルタリング方法 図000023
  • 特許5820307-コンテンツフィルタリングシステム、コンテンツフィルタリング方法 図000024
  • 特許5820307-コンテンツフィルタリングシステム、コンテンツフィルタリング方法 図000025
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5820307
(24)【登録日】2015年10月9日
(45)【発行日】2015年11月24日
(54)【発明の名称】コンテンツフィルタリングシステム、コンテンツフィルタリング方法
(51)【国際特許分類】
   G06F 17/30 20060101AFI20151104BHJP
【FI】
   G06F17/30 210A
   G06F17/30 350C
   G06F17/30 170B
【請求項の数】12
【全頁数】24
(21)【出願番号】特願2012-45919(P2012-45919)
(22)【出願日】2012年3月1日
(65)【公開番号】特開2013-182427(P2013-182427A)
(43)【公開日】2013年9月12日
【審査請求日】2014年9月2日
(73)【特許権者】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】100091096
【弁理士】
【氏名又は名称】平木 祐輔
(74)【代理人】
【識別番号】100105463
【弁理士】
【氏名又は名称】関谷 三男
(74)【代理人】
【識別番号】100102576
【弁理士】
【氏名又は名称】渡辺 敏章
(72)【発明者】
【氏名】廣池 敦
【審査官】 野崎 大進
(56)【参考文献】
【文献】 特開2010−092163(JP,A)
【文献】 国際公開第01/031502(WO,A1)
【文献】 米国特許第06895111(US,B1)
【文献】 特開2004−171375(JP,A)
【文献】 武者 義則 他,WWW有害情報のフィルタリングのための画像判別手法,FIT2002 情報科学技術フォーラム 一般講演論文集,日本,社団法人電子情報通信学会,2002年 9月13日,Vol.3,No.I-82,pp.163-164.
【文献】 増本 大器 他,情報を眺めて選ぶマルチメディア検索システムMIRACLES,情報の科学と技術,日本,社団法人情報科学技術協会,2004年11月 1日,Vol.54,No.11,pp.582-588.
(58)【調査した分野】(Int.Cl.,DB名)
G06F 17/30
JSTPlus(JDreamIII)
(57)【特許請求の範囲】
【請求項1】
画像を取得する画像取得部と、
前記画像取得部が取得した前記画像の特徴量を算出する特徴量算出部と、
前記画像取得部が取得した前記画像に関連付けられている文字列を取得し、前記文字列のなかからキーワードを抽出するキーワード抽出部と、
キーワードとその属性値との間の対応関係を記述するキーワード属性テーブルと、
画像の特徴量とその属性値との間の対応関係を記述する特徴量属性テーブルと、
前記キーワード抽出部が抽出した前記キーワードと対応する属性値を前記キーワード属性テーブルの記述に基づき判定するキーワード属性判定部と、
前記特徴量算出部が算出した前記特徴量と対応する属性値を前記特徴量属性テーブルの記述に基づき判定する特徴量属性判定部と、
前記キーワード属性判定部の判定結果と前記特徴量属性判定部の判定結果に基づき、前記画像取得部が取得した前記画像の属性を判定する画像属性判定部と、
前記特徴量属性テーブルが記述している前記属性値の信頼度を算出する信頼度算出部と、
を備え、
前記特徴量属性判定部は、
前記特徴量属性テーブルの記述と前記信頼度算出部が算出した前記信頼度に基づき、前記特徴量属性テーブルが記述している特徴量のうち前記画像取得部が取得した前記画像の特徴量に類似するものを特定し、
前記特定した特徴量と対応する前記属性値に基づき、前記特徴量算出部が算出した前記特徴量と対応する属性値を判定する、
ことを特徴とするコンテンツフィルタリングシステム。
【請求項2】
前記信頼度算出部は、
前記画像取得部が取得した前記画像の特徴量と類似する特徴量を前記特徴量属性テーブル中の画像を含む十分大きな画像集合を対象として検索し、
前記検索の結果得られた特徴量に対応する前記属性値のうち、前記画像取得部が取得した前記画像の属性値と同じものが含まれている割合に基づき、前記信頼度を算出する、
ことを特徴とする請求項記載のコンテンツフィルタリングシステム。
【請求項3】
前記信頼度算出部は、
前記検索の結果得られた特徴量を、前記画像取得部が取得した前記画像の特徴量との間の距離にしたがってソートして得られる配列を作成し、
前記配列の構成要素を先頭から数えて前記割合を算出したとき、前記割合が所定閾値を超えた時点における前記配列の要素番号の前後いずれか少なくとも1つについての前記距離を用いて、前記信頼度を算出する、
ことを特徴とする請求項記載のコンテンツフィルタリングシステム。
【請求項4】
前記信頼度算出部は、
前記検索の結果得られた特徴量が、前記画像取得部が取得した前記画像の特徴量と同じである場合は、前記検索の結果得られた特徴量に対応する属性値と前記画像取得部が取得した前記画像の属性値が同じであると判断する、
ことを特徴とする請求項記載のコンテンツフィルタリングシステム。
【請求項5】
前記画像取得部は、
階層化されたデータ構造のなかに含まれる画像を取得し、
前記コンテンツフィルタリングシステムは、
前記データ構造のなかに含まれる画像についての前記画像属性判定部による判定結果に基づき前記データ構造の属性を判定する階層属性判定部を備える、
ことを特徴とする請求項1記載のコンテンツフィルタリングシステム。
【請求項6】
前記階層属性判定部は、
前記データ構造のなかに含まれる複数の画像が含まれる場合は、
前記データ構造のなかに含まれる各画像についての前記画像属性判定部による判定結果の平均値に基づき、前記データ構造の属性を判定する、
ことを特徴とする請求項記載のコンテンツフィルタリングシステム。
【請求項7】
前記特徴量属性判定部は、
前記画像取得部が過去に取得した過去画像のうち、前記過去画像の特徴量と前記特徴量テーブル内に記述されている特徴量との間の距離が所定範囲内にあるもののみを対象として、前記判定を実施する、
ことを特徴とする請求項1記載のコンテンツフィルタリングシステム。
【請求項8】
前記キーワード属性判定部は、
前記特徴量属性判定部の判定結果を用いて、自己の判定結果を補正する、
ことを特徴とする請求項1記載のコンテンツフィルタリングシステム。
【請求項9】
前記特徴量属性判定部は、
前記キーワード属性判定部の判定結果を用いて、自己の判定結果を補正する、
ことを特徴とする請求項1記載のコンテンツフィルタリングシステム。
【請求項10】
前記画像取得部は、
HTMLページ内に含まれる画像を取得し、
前記キーワード抽出部は、
前記HTMLページ内に含まれる文字列のなかからキーワードを抽出し、
前記キーワード属性テーブルは、
キーワードがHTMLページ内に含まれる文字列としての適正度を示す数値を前記属性値として記述しており、
前記特徴量属性テーブルは、
画像がHTMLページ内に含まれる画像として適正であるか否かを示すフラグを前記属性値として記述しており、
前記キーワード属性判定部は、
前記キーワード属性テーブルの記述に基づき、前記キーワード取得部が取得した前記文字列が前記HTMLページ内に含まれる文字列として適正であるか否かを判定し、
前記特徴量属性判定部は、
前記特徴量属性テーブルの記述に基づき、前記特徴量算出部が算出した前記特徴量が前記HTMLページ内に含まれる画像の特徴量として適正であるか否かを判定し、
前記画像属性判定部は、
前記キーワード属性判定部の判定結果と前記特徴量属性判定部の判定結果に基づき、前記画像取得部が取得した前記画像が前記HTMLページ内に含まれる画像として適正であるか否かを判定する、
ことを特徴とする請求項1記載のコンテンツフィルタリングシステム。
【請求項11】
コンテンツをフィルタリングする処理をコンピュータに実行させるコンテンツフィルタリング方法であって、前記コンピュータに、
画像を取得する画像取得ステップ、
前記画像取得ステップで取得した前記画像の特徴量を算出する特徴量算出ステップ、
前記画像取得ステップで取得した前記画像に関連付けられている文字列を取得し、前記文字列のなかからキーワードを抽出するキーワード抽出ステップ、
前記キーワード抽出ステップで取得した前記キーワードと対応する属性値を、キーワードとその属性値との間の対応関係を記述するキーワード属性テーブルの記述に基づき判定するキーワード属性判定ステップ、
前記特徴量算出ステップで算出した前記特徴量と対応する属性値を、画像の特徴量とその属性値との間の対応関係を記述する特徴量属性テーブルの記述に基づき判定する特徴量属性判定ステップ、
前記キーワード属性判定ステップにおける判定結果と前記特徴量属性判定ステップにおける判定結果に基づき、前記画像取得ステップで取得した前記画像の属性を判定する画像属性判定ステップ、
前記特徴量属性テーブルが記述している前記属性値の信頼度を算出する信頼度算出ステップ、
を実行させ、
前記特徴量属性判定ステップにおいては、前記コンピュータに、
前記特徴量属性テーブルの記述と前記信頼度算出ステップにおいて算出した前記信頼度に基づき、前記特徴量属性テーブルが記述している特徴量のうち前記画像取得ステップにおいて取得した前記画像の特徴量に類似するものを特定するステップ、
前記特定した特徴量と対応する前記属性値に基づき、前記特徴量算出ステップにおいて算出した前記特徴量と対応する属性値を判定するステップ、
を実行させる、
ことを特徴とするコンテンツフィルタリング方法。
【請求項12】
前記キーワード属性判定部は、
前記画像取得部が過去に取得した過去画像のうち、属性判定に効果があるキーワードと関連づいた前記過去画像のみを対象として、前記判定を実施する、
ことを特徴とする請求項1記載のコンテンツフィルタリングシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像をフィルタリングする技術に関する。
【背景技術】
【0002】
近年、ネットワークのブロードバンド化、各種記憶装置の大規模化により、ファイルサイズが大きい画像や映像を蓄積、管理し、それらを配信するサービスを実施することが可能となった。このような大規模コンテンツを扱うシステムにおいて重要となるのが検索技術である。
【0003】
画像や映像を検索する技術としては、画像や映像と関連付けられたテキスト情報に対する検索技術である。文書情報の検索技術においては、1つ以上のキーワードをクエリとして入力し、そのキーワードが含まれるテキスト情報と関連付けられている画像や映像を検索結果として返す形式が一般的である。
【0004】
また、画像自体から情報を抽出し検索する技術も存在する。下記特許文献1〜2に記載されている類似画像検索技術においては、検索対象となる画像から、その画像の持つ特徴を数値化した画像特徴量を事前に抽出してデータベース化しておくことにより、画像を高速に検索する技術を実現している。下記非特許文献1には、画像から特徴量を抽出する技術が記載されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2000−123173号公報
【特許文献2】特開2007−334402号公報
【非特許文献】
【0006】
【非特許文献1】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).
【発明の概要】
【発明が解決しようとする課題】
【0007】
画像や映像を配信するサービスにおいては、ユーザへ配信するのに適していないコンテンツを排除する必要がある。しかし、例えばWeb画像検索サービスにおいては、Webクローラが機械的に収集した大量の画像が配信対象となるため、配信するのに適しているか否かを人手によって網羅的に確認することは現実的に不可能である。同様の課題は、一般ユーザがサーバにアップロードした画像や映像を不特定多数のユーザに配信するサービスにおいても発生する。
【0008】
本発明は、上記のような課題に鑑みてなされたものであり、画像の属性を自動的に判定するコンテンツフィルタリング技術を提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明に係るコンテンツフィルタリングシステムは、画像の特徴量の属性値とキーワードの属性値をあらかじめテーブル上に準備しておき、画像の特徴量と画像に関連付けられたキーワードに基づき、当該画像の属性値を判定する。
【発明の効果】
【0010】
本発明に係るコンテンツフィルタリングシステムによれば、画像の属性値を効率的かつ網羅的に判定することができる。
【図面の簡単な説明】
【0011】
図1】実施形態1に係るコンテンツフィルタリングシステム1000の構成を示すブロック図である。
図2】検索サーバシステム200を構成するサーバ群の接続関係を示す図である。
図3】検索サーバ203が保持する判定テーブル300の構成を示す図である。
図4】キーワードサーバ205が保持するキーワード属性テーブル400の構成を示す図である。
図5】画像特徴量サーバ206が保持する特徴量属性テーブル500の構成を示す図である。
図6】URLサーバ207が保持するURL属性テーブル600の構成を示す図である。
図7】画像特徴量サーバ206が信頼度504を算出する処理フロー図である。
図8】検索サーバ203が画像データに関連するキーワードに基づき当該画像データの不適正性を自動判定する処理のフローチャートである。
図9】は、ステップS803の詳細を示すフローチャートである。
図10】検索サーバ203が画像データの画像特徴量に基づき当該画像データの不適正性を自動判定する処理のフローチャートである。
図11】実施形態2における検索サーバシステム200を構成するサーバ群の接続関係を示す図である。
図12】実施形態2において検索サーバ203が保持する判定テーブル1200の構成を示す図である。
図13】実施形態2においてキーワードサーバ205が保持するキーワード属性テーブル1300の構成を示す図である。
図14】画像特徴量サーバ206が保持する特徴量属性テーブル1400の構成図である。
図15】画像特徴量サーバ206が信頼度1404を算出する処理フロー図である。
【発明を実施するための形態】
【0012】
<実施の形態1:システム構成>
図1は、本発明の実施形態1に係るコンテンツフィルタリングシステム1000の構成を示すブロック図である。コンテンツフィルタリングシステム1000は、Web上に置かれた画像をキーワードまたは画像の類似性に基づき検索し、その結果をユーザに対して配信するシステムである。コンテンツフィルタリングシステム1000は、端末装置100と検索サーバシステム200を備え、これらはネットワーク1100を介して接続されている。
【0013】
端末装置100は、検索サーバシステム200に対する検索要求を発行するクライアントプログラムを稼動させるコンピュータである。端末装置100は、クライアントプログラムの機能を利用して検索サーバシステム200に対し画像を検索するリクエストを発行し、その検索結果を受け取る。検索サーバシステム200の構成については後述する。
【0014】
図1において、ネットワーク1100としてインターネットを想定し、検索サーバシステム200を構成するサーバ群としてWebアプリケーションサーバを想定するが、企業内におけるイントラネット上でも同様のシステム構成を提供することができる。また、端末装置100と検索サーバシステム200の間の通信プロトコルは、HTTP(HyperText Transfer Protocol)に限定されるものではなく、他の通信プロトコルを用いて同様のサービスを提供することができる。
【0015】
図2は、検索サーバシステム200を構成するサーバ群の接続関係を示す図である。HTTPサーバ202は、ロードバランサ201を経由して、検索サーバシステム200に到着した検索リクエストを受信する。HTTPサーバ202は、検索サーバシステム200が提供するサービス規模に応じて複数個起動されており、負荷分散のためロードバランサ201によって検索リクエストが各HTTPサーバ202へ分配される。HTTPサーバ202は、受信した検索リクエストを、検索サーバ203が解釈できる形式に変換した上で、全検索サーバ203に対して並列に検索リクエストを送信する。その後、HTTPサーバ202は、全検索サーバ203から返された結果を統合し、最終的な検索結果を構成して検索要求元に送信する。
【0016】
検索サーバ203は、実際の検索処理を実施する。検索対象となる大規模データは、適切な規模に分割され、分割数分の検索サーバ203が起動される。検索サーバ203は、検索の結果得られた全ての画像を最終検索結果として提示するとは限らない。検索サーバ203は、後述の図3で説明するテーブルを用いて、検索結果内に含まれる個々の画像を最終検索結果に含めるか否かを判定した上で、最終検索結果に含めるべき検索結果のみをHTTPサーバ202に返信する。
【0017】
Webクローラ204は、検索対象となる画像をWebから収集する。Webクローラ204は、Web上のHTML(HyperText Markup Language)文書のリンク構造を辿ることによって自動的にHTML文書を取得し、そのなかに含まれるIMGタグのSRC属性(画像データのURL)を参照して画像データを取得する。Webクローラ204は、その画像データが検索対象として検索サーバ203上に登録されていない場合は、後述の図3で説明するテーブルに登録するレコードを生成し、そのレコードとともに当該画像データを検索サーバ203上に登録する。
【0018】
本実施例では、検索用情報として、キーワード、および、画像特徴量を用いる。これらの情報の抽出は、Webクローラ204によって実施される。
【0019】
キーワードに関しては、HTML文書中の該当IMGタグの前後に存在するテキスト情報に対して、形態素解析等の標準的な自然言語処理技術を適用することにより、単語の集合を抽出する。抽出された各単語は、キーワードサーバ205に問い合わせることによって、一意に決まる整数値、すなわち、キーワードIDに変換される。キーワードサーバ205は、それまで出現していなかった単語に対しては、新規の整数値を単語IDとして割り当て、それをクローラに対して送信する。既に出現していた単語に対しては、その単語IDを返すが、その際に、その単語の出現頻度情報を更新する。こうして取得されたキーワードID列は、図3のキーワードIDのリスト303に保存される。
【0020】
一方、画像特徴量は、画像自体から抽出される情報である。画像特徴量としては、色ヒストグラム特徴量およびエッジパターン特徴量を用いる。これらの画像特徴量の具体的な抽出方法は、非特許文献1に記載されている。こうして取得された画像特徴量は、図3の画像特徴量ベクトル301に保存される。
【0021】
Webクローラ204は、収集した画像データの属性を自動判定し、後述の図3で説明する判定テーブル300上のレコードとして登録する。本実施形態1では、画像が検索結果としてユーザに提示するのに適しているか否かを示す値を、当該画像の属性とする。画像の不適正性の判定は、キーワード情報、画像特徴量、URL情報を用いて実施する。これらの情報は、それぞれ後述するキーワードサーバ205、画像特徴量サーバ206、URLサーバ207が保持している。不適正性の判定の詳細については後述する。
【0022】
キーワードサーバ205は、後述の図4で説明するキーワード属性テーブル400を保持している。キーワードサーバ205は、単語頻度等の基本情報に加え、単語に関する不適正度を格納、管理する。
【0023】
URLサーバ207は、後述の図6で説明するURL属性テーブル600を保持している。URLサーバ207は、URLパターンとしての判定結果情報600を格納、管理する。
【0024】
図3は、検索サーバ203が保持する判定テーブル300の構成を示す図である。判定テーブル300は、Webクローラ204が収集した画像データの属性値を判定する際に用いるテーブルである。判定テーブル300は、画像特徴量301、キーワードリスト302、画像データURL303、URL304、サムネイル画像305、判定結果306、画像手動判定結果307、URL手動判定結果308、画像キーワード自動判定結果309、URLキーワード自動判定結果310、画像特徴量自動判定結果311、URL特徴量自動判定結果312、キーワード不適正度313、特徴量不適正度314を保持する。判定テーブル300は、画像データ毎に上記各フィールドを保持する。
【0025】
画像特徴量301は、指定された画像に類似する画像を検索する際に用いるデータである。キーワードリスト302は、当該画像データに関連付けられたキーワードのIDを列挙したリストである。画像データURL303は、当該画像データのURLである。URL304は、当該画像データが含まれているHTML文書のURLである。サムネイル画像305は、当該画像データのサムネイル(縮小画像)データである。判定結果306は、当該画像データを検索結果に含めるべきか否かの最終判定結果を保持する。画像手動判定結果307は、当該画像データを検索結果に含めるべきか否かの手動判定結果を保持する。URL手動判定結果308は、当該画像データを含むHTML文書を検索結果に含めるべきか否かの手動判定結果を保持する。画像キーワード自動判定結果309〜特徴量不適正度314は、自動判定を実施するための項目であり、詳細は後述する。
【0026】
判定テーブル300には、各画像データについての、検索に必要となる情報、および、不適正判定に関連する情報を格納するテーブルである。判定テーブル内の不適正判定に関わる情報の抽出は、後述するキーワード属性テーブル400、特徴量属性テーブル500、URL属性テーブル600に格納された情報に基づいて実施される。したがって判定テーブル300が実際に使用されるまでに、各テーブルへ値を格納しておく必要がある。
【0027】
図4は、キーワードサーバ205が保持するキーワード属性テーブル400の構成を示す図である。キーワード属性テーブル400は、Webクローラ204が画像データの前後から収集した文字列の属性値を管理するテーブルである。本実施形態1では、キーワードの属性値として、各キーワードに関連付けられた画像データを検索結果に含めるべきか否かを判断する指標となる、各キーワードの不適正度を管理する。キーワード属性テーブル400は、文字列401、出現頻度402、不適正度403を保持する。
【0028】
文字列401は、キーワードの文字列である。出現頻度402は、Webクローラ204が画像データの前後から収集した文字列のなかに文字列401が登場する毎に加算される数値である。不適正度403は、後述する計算式によって算出した、文字列401の不適正度の数値である。不適正度403は、その値が実際に使用されるまでにHTTPサーバ202が算出し、キーワードサーバ205に登録しておけばよい。個々のキーワードを識別する識別子については、各キーワードがキーワード属性テーブル400に登録された順に自動付与すればよいので、図4では省略した。
【0029】
図5は、画像特徴量サーバ206が保持する特徴量属性テーブル500の構成を示す図である。特徴量属性テーブル500は、Webクローラ204が収集した画像データに対する画像特徴量に基づく不適正判定に関連する情報を管理するテーブルである。特徴量属性テーブル500は、画像識別子501、画像特徴量502、判定結果503、信頼度504を保持する。
【0030】
画像識別子501は、検索サーバ内のデータとの対応付けをとるためのIDである。画像特徴量502は、当該画像データの特徴量である。判定結果503は、当該画像データを検索結果に含めるべきか否かを判定した結果である。判定結果503は、後述するように、手動判定の結果、あるいは、自動判定の結果が保持される。同じ値は判定テーブル300の画像手動判定結果307、あるいは、後述するキーワードによる自動判定結果309にも格納される。信頼度504は、後述の図7で説明する手順を用いて算出した、判定結果503の信頼度を示す数値である。判定結果503と信頼度504は、これらの値が実際に使用されるまでに画像特徴量サーバ206が算出しておけばよい。
【0031】
図6は、URLサーバ207が保持するURL属性テーブル600の構成を示す図である。URL属性テーブル600は、Webクローラ204が収集したHTML文書のURLパターンについて判定した結果を管理するテーブルである。URL属性テーブル600は、URL601、手動判定結果602、キーワード自動判定結果603、特徴量自動判定結果604を保持する。
【0032】
URL601は、HTML文書のURLを示す文字列である。手動判定結果602は、当該URLを検索結果に含めるべきか否かを手動判定した結果である。キーワード自動判定結果603と特徴量自動判定結果604は、後述する処理フローによってURLサーバ207が当該URLの属性を自動判定した結果を保持する。キーワード自動判定結果603と特徴量自動判定結果604は、これらの値が実際に使用されるまでにHTTPサーバ202が算出し、URLサーバ207に保存しておけばよい。
【0033】
<実施の形態1:属性判定の概要>
HTTPサーバ202あるいはWebクローラ204が画像データの不適正性を自動判定する処理は、画像データおよびURLに対する手動による判定結果がある程度蓄積されていることを前提とする。画像に対する手動判定については、Webクローラ204が収集した画像データについてシステム運用者が不適正性を手動判定した結果として、図3の307の値として保存される。同時に、判定された画像の識別子、画像特徴量、判定結果が、画像特徴量サーバ206の管理情報として保存される。URLに対する手動判定については、Webクローラ204が収集したHTML文書についてシステム運用者が不適正性を手動判定した結果として、図3の308の値として保存される。同時に、そのURLパターンおよび判定結果が、URLサーバ207の管理情報として保存される。
【0034】
URLは、一般にドメイン名からHTML文書までに至る、階層的なデータ構造を持っている。本実施形態1では、このような階層性を明示的に取り扱わず、URLに対する判定結果は、URLに含まれる各画像データの属性値として管理する。例えばHTML文書に対する判定結果は、そのHTML文書に含まれる全ての画像データ全体に対する判定結果である。同様に、個々のHTML文書よりも上位のデータ階層(例えばパスやドメイン)に対する判定結果は、その配下に含まれる全てのHTML文書内に含まれる各画像データに対する判定結果308として管理される。
【0035】
なお、個々の画像データに対する判定結果とその上位のデータ構造(例えばHTML文書)に対する判定結果は、必ずしも一致するわけではない。すなわち、全体としては適正なHTML文書内に不適正な画像が混入している、あるいは不適正なHTML文書内に適正な画像データが引用されている、といった場合もあり得る。
【0036】
<実施の形態1:キーワードを用いた自動判定の準備>
キーワードを用いて画像データの属性を自動判定する際には、キーワード属性テーブル400の不適正度403をあらかじめ算出しておく必要がある。以下ではその算出手順について説明する。
【0037】
キーワード属性テーブル400の不適正度403を計算する手順について説明する。下記式1は、キーワードID=kであるキーワード(以下、キーワードkとする)の不適正度U(k)の定義を示す計算式である。
【0038】
【数1】
【0039】
P(k)は、手動判定結果503または当該画像データを含むURLに対する手動判定結果602のいずれかが1(=不適正)と判定された画像データに関連する文字列内におけるキーワードkの相対出現頻度である。Q(k)は、全ての関連文字列(各画像データについての関連文字列の全集合)内におけるキーワードkの相対出現頻度である。Q(k)は、キーワードkの出現頻度402を全画像データ数で除算することによって算出できる。U(k)は、2項分布の仮定の下、不適正画像データに関連する文字列内におけるキーワードkの分布と全ての関連文字列内におけるキーワードkの分布との間の差異をカルバック・ライブラー情報量で表現したものである。ただし、カルバック・ライブラー情報量は、分布間の差異を表現するものであり、出現頻度の大小関係は直接的には表現されていない。そこで、P(k)とQ(k)の間の大小関係に応じて正負の符号を付与している。結果としてU(k)は、全関連文字列内における分布と比較し、不適正画像に関連する文字列内における出現頻度が高いキーワードついては正の値となり、不適正画像に関連する文字列内における出現頻度が低いキーワードについては負の値となる。
【0040】
Webクローラ204、あるいは、HTTPサーバ202は、上記式1に示す各キーワードの不適正度U(k)を用いて、画像データに関連するキーワードに基づくその画像の不適正度u(x)を下記式2にしたがって算出する。算出結果は判定テーブル300のキーワードに基づく不適正度313として格納される。
【0041】
【数2】
【0042】
K(x)は、画像xに対応するキーワードリスト302内に含まれるキーワードの集合である。|K(x)|は、K(x)の要素数である。u(x)は、画像xに関連付けられたキーワードの不適正度U(k)の平均である。
【0043】
さらに、URL配下全ての画像データ(画像集合X)についての不適正度は、集合Xに含まれる個々の画像データxの不適正度u(x)の平均とみなすことができる。HTTPサーバ202は、下記式3によってこれを算出することができる。上記の算出結果が一定閾値より大きい場合、URL属性テーブル600のキーワード自動判定結果603に、その判定結果が格納される。さらに同じ値を判定テーブル300のURLキーワード自動判定結果310に格納する。
【0044】
【数3】
【0045】
<実施の形態1:画像特徴量を用いた自動判定の準備>
HTTPサーバ202は、キーワードに基づく自動判定に代えて、またはこれと併用して、画像特徴量に基づき画像データの属性を自動判定することができる。画像特徴量に基づき画像データの属性を自動判定する際には、特徴量属性テーブル500の信頼度504をあらかじめ算出しておく必要がある。以下ではその算出手順について説明する。
【0046】
画像特徴量に基づく不適正判定は、あらかじめ手動判定によって不適正と判定された画像データ、すなわち特徴量属性テーブル500の手動判定結果503=1(不適正)である画像データとの間の類似度に基づいて実施することができる。ただし、各画像の自動判定に及ぼす効果は必ずしも一様であるとは想定できないため、本実施形態1では手動判定結果503の信頼度504をあらかじめ算出することとした。
【0047】
図7は、HTTPサーバ202が信頼度504を算出する処理フロー図である。信頼度504は、当該画像データに類似する画像を、全画像を対象として検索した結果内に、不適正と判定される画像データがどの程度含まれているかによって定義することができる。不適正画像データが検索結果の上位に多く含まれているほど、信頼度が高いと考えられる。ここでは判定結果503=1(不適正)である画像データを判定対象画像とし、その信頼度504を算出する手順を説明する。以下、図7の各ステップについて説明する。
【0048】
図7:ステップS710)
HTTPサーバ202が、本フローチャート内で用いる変数を定義する。下限閾値p(0<p<1)は、外部から定義するパラメータであり、後述のステップS740で用いられる。集合Sは、不適正画像データの集合である。Sは、個々の画像に対して不適正判定されたものだけではなく、URLに対する判定による不適正と判定されたものを含めることとする。これを、判定テーブル300内の各フィールドを用いて論理式で書けば、img_unsafe307==1||(url_unsafe308==1&&img_unsafe307!=0)を満たす画像の集合である。その他の変数については以下のステップで併せて説明する。
【0049】
図7:ステップS720)
信頼度504を判定する対象である画像データの特徴量ベクトルをXとする。HTTPサーバ202は、特徴量ベクトルXと類似する画像データを全検索サーバ203が管理する全画像データから検索する。検索結果の件数をNとする。検索結果は、全画像中のデータを特定する画像識別子、およびXとの間の特徴量ベクトル間2乗距離を要素とする配列R内に格納される。配列Rの要素は、2乗距離が小さい順にソートされているものとする。
【0050】
図7:ステップS730)
HTTPサーバ202は、配列R内に不適正画像データが何件含まれているかをカウントする。カウント結果は配列Aに格納される。配列Aの要素は、配列Rの要素を上位から順に見たときに手動判定結果503が判定対象画像と同じである画像データが配列R内に何件格納されているかを示す数値である。例えば、判定対象画像の手動判定結果503が1であり、R[1]〜R[4]内に手動判定結果503が1である画像が4件含まれている場合は、A[4]=4となる。同様にR[1]〜R[10]内に手動判定結果503が1である画像が7件含まれている場合は、A[10]=7となる。検索結果の上位(配列Rの上位要素)には判定対象画像との間の類似度が高い画像データが格納されているので、下位に下がるほど判定対象画像とは異なる画像データが登場する。以下、本ステップのサブステップについて説明する。
【0051】
図7:ステップS731)
判定対象画像自身も検索対象に含まれるため、検索結果の1位には、2乗距離が0となる画像データが現れる。そこで画像特徴量サーバ206は、1番目の要素についてはA[1]=1とし、配列のインデックスiを次に進める。インデックスiがNに到達した、すなわち配列Rの全要素についてカウントが終了した場合はステップS740に進み、それ以外であればステップS732へ進む。
【0052】
図7:ステップS732)
HTTPサーバ202は、配列Rのi番目の要素が集合Sに含まれる(手動判定結果503=1である)場合は配列Aの要素値を1加算し、そうでなければ上位の要素値と同じ値とする。例えばR[1]〜R[4]内に手動判定結果503が1である画像が4件含まれている場合、A[4]=4となる。この場合、R[5]の手動判定結果503が0であればA[5]=A[4](=4)となり、R[5]の手動判定結果503が1であればA[5]=A[4]+1(=5))となる。
【0053】
図7:ステップS732:補足)
Web上には複製された画像が多く存在するため、判定対象画像と全く同じ画像データが別の画像識別子501をもって特徴量テーブル500内に登録されている場合もある。そこでHTTPサーバ202は、特徴量ベクトル間の2乗距離が0となる画像は、内容が等しい画像データと判断し、配列Rの1つ上位の要素と同じものとして取り扱う。
【0054】
図7:ステップS740)
HTTPサーバ202は、配列Aの最下位(N番目の要素)から上位に向けて要素値を順に取得し、配列Aの要素数(=インデックスi)に対する不適正画像の件数割合を求める。例えばステップS730で説明した例によれば、A[10]=7であるから10件中7件が不適正画像(割合=0.7)ということになる。同様にA[4]=4であるから4件中4件が不適正画像(割合=1.0)ということになる。HTTPサーバ202は、この割合が下限閾値pより大きくなった時点で、そのインデックスiに対応する配列Rの2乗距離と1つ下位の配列Rの2乗距離の平均を算出し、これを信頼度Dとする。
【0055】
図7:ステップS740:補足その1)
本ステップでは下限閾値pを境界としてその1つ下位の配列Rの2乗距離と平均する例を示したが、これに限られるものではない。上記割合が下限閾値pを超えた時点で、そのインデックスの前後いずれかの配列Rの2乗距離を少なくとも用いれば、相応に妥当な信頼度Dが得られると考えられる。
【0056】
図7:ステップS740:補足その2)
本ステップは、A[N]/Nが<p、かつR[N].d≠0を仮定している。したがってNの値は、ほとんどの場合、この条件を満たす程度に大きい値を設定する必要がある。本条件を満たさない場合は、配列Rに含まれる画像データは不適正判定のために用いないようにする。
【0057】
以上、手動判定結果503=1(不適正)である画像データを判定対象画像とした例を説明したが、手動判定結果503=0(適正)である画像データを判定対象画像とする場合も同様の処理フローを用いることができる。ただしこの場合の集合Sは、判定テーブル300内の各フィールドを用いて論理式で書けば、img_unsafe307==0||(url_unsafe308==0&&img_unsafe307!=1)を満たす画像の集合である。
【0058】
HTTPサーバ202あるいはWebクローラ204は、あらかじめ手動判定を実施した画像データとの間の類似度に基づいて、画像データの不適正性を判定することができる。このときの類似度は、図7にしたがって算出した信頼度504を加味して求める。画像特徴量サーバ206は、下記式4に示す、信頼度504で正規化した2乗距離を用いて類似画像を検索する。
【0059】
【数4】
【0060】
xは、不適正性を判定する画像データの特徴量ベクトルである。iは、特徴量テーブル500内のレコードを特定するインデックスである。y(i)は、インデックスiに対応する特徴量ベクトルである。D(i)は、y(i)の信頼度である。
【0061】
HTTPサーバ202あるいはWebクローラ204は、画像データの不適正性を画像特徴量に基づき判定する際には、式4に示す正規化した距離に基づく最近接画像データを特徴量テーブル500から検索する。最近接画像データの手動判定結果503が不適正である場合は、最近接画像データとの間の正規化距離の指数関数の逆数をその画像データの不適正度314とする。最近接画像データの手動判定結果503が不適正でない場合は、不適正度314を0とする。これは下記式5で表される。算出結果は判定テーブル300の画像特徴量自動判定結果311内に格納される。
【0062】
【数5】
【0063】
さらに、URL配下全ての画像データ(画像集合X)についての不適正度は、集合Xに含まれる個々の画像データxの不適正度u(x)の平均とみなすことができる。HTTPサーバ202は、下記式6によってこれを算出することができる。算出結果が一定閾値より大なら、不適正と判断され、その結果が、URL属性テーブル600の特徴量自動判定結果604に格納される。さらに同じ値を判定テーブル300のURL特徴量自動判定結果312に格納する。
【0064】
【数6】
【0065】
<実施の形態1:キーワードを用いた自動判定>
図8は、HTTPサーバ202が画像データに関連するキーワードに基づき当該画像データの不適正性を自動判定する処理のフローチャートである。HTTPサーバ202は、判定テーブル300の全レコードについて、画像キーワード自動判定結果309とURLキーワード自動判定結果310を未判定の状態に初期化する(S801)。URLサーバ207の管理情報も同様に、URLテーブル600の全レコードについて、キーワード自動判定結果603を未判定の状態に初期化する(S802)。HTTPサーバ202は、次の図9で説明する処理フローを、判定テーブル300内の全レコードについて実施する。
【0066】
図9は、ステップS803の詳細を示すフローチャートである。以下、図9の各ステップについて説明する。
【0067】
図9:ステップS901)
HTTPサーバ202が、本フローチャート内で用いる変数を定義する。閾値αは、外部から定義するパラメータであり、画像データの不適正度u(x)と比較するために用いられる。その他の変数については以下のステップで併せて説明する。
【0068】
図9:ステップS902)
HTTPサーバ202は、判定対象画像xに対する画像キーワード自動判定結果309を参照する。後述のステップS912においてURLに対する判定を実施する際に、そのURL内に判定対象画像xが含まれており、判定対象画像xが判定済みとなっている場合があるので、本ステップを設けた。画像キーワード自動判定結果309=0であれば本処理フローを終了し、それ以外であればステップS903へ進む。
【0069】
図9:ステップS903)
画像キーワード自動判定結果309=−1であればステップS904〜S906を実施し、それ以外であればこれらのステップはスキップする。
【0070】
図9:ステップS904〜S906)
HTTPサーバ202は、式2に示す不適正度u(x)を算出する(S904)。HTTPサーバ202は、u(x)が閾値αより大きければ判定対象画像Xは不適正と判定し、そうでなければ適正であると判定する(S905)。HTTPサーバ202は、判定結果に基づき判定テーブル300の画像キーワード自動判定結果309を更新する。また、不適正度u(x)をキーワード不適正度313として格納する(S906)。u(x)>αの場合および判定対象画像Xについて既に不適正と判定済みであった場合はステップS907へ進み、それ以外であれば本処理フローを終了する。
【0071】
図9:ステップS907〜S908)
HTTPサーバ202は、URLに対して不適正判定を実施する場合は、本ステップ以降を実施する。検索サーバ203は、URL304の末尾から、区切り子として”/”と”?”を順次検出することにより(S907)、URL304の先頭から区切り子までの部分文字列を切り出す(S908)。
【0072】
図9:ステップS909)
HTTPサーバ202は、URLサーバ207に問い合わせることにより、切り出されたURL304の部分文字列hについて不適正判定を実施済みか否かを確認する。URL属性テーブル600内に部分文字列hが未登録である場合は、当該部分文字列hについて不適正判定は実施してないと判断される。URL属性テーブル600内に部分文字列hが登録されていた場合は、キーワード自動判定結果603の値に基づき、不適正判定を実施済みであるか否かを判断することができる。不適正判定を実施済みである場合は部分文字列hのインデックスを1つ勧めてステップS907へ戻り、未実施である場合はステップS910へ進む。
【0073】
図9:ステップS910〜S911)
HTTPサーバ202は、URL304の先頭部分が部分文字列hと一致するURL内に含まれる画像データを判定テーブル300から全て抽出し、画像集合Xとする(S910)。検索サーバ203は、式3に示す画像集合Xの不適正度v(X)を算出する(S911)。v(X)を算出するためには、集合X内の全ての画像データxについての不適正度u(x)が必要である。集合X内の各画像データについて不適正度u(x)を算出済みである、すなわち画像キーワード自動判定結果309が−1でない場合は、キーワード不適正度313の値を用いる。そうでない場合は、式2にしたがってその画像データの不適正度u(x)を算出する。
【0074】
図9:ステップS912)
HTTPサーバ202は、v(x)が別途定めた閾値βより大きければ当該URLは不適正と判定し、そうでなければ適正と判定する。判定結果は、URL属性テーブル600のキーワード自動判定結果603に格納される。検索サーバ203はさらに、集合X内の全ての画像データについて、判定テーブル300のURLキーワード自動判定結果310の値を更新する。ただし既にURLキーワード自動判定結果310の値が1であるレコードについては更新しない。
【0075】
図9:ステップS901〜S912:補足)
判定テーブル300に登録されている画像データの件数が大規模な場合は、全画像データに対する処理を実施するのが適切ではない場合がある。この場合は、キーワード属性テーブル400の不適正度403が所定閾値以上のキーワードを選択し、それらのキーワードを含む画像データのみを対象として、図9に示す処理を実施すればよい。
【0076】
<実施の形態1:画像特徴量を用いた自動判定>
画像特徴量に基づき画像の不適正性を自動判定する場合は、式5に示す画像の不適正度u(x)を算出するために要する計算コストが大きいため、全画像データを対象として画像特徴量に基づく自動判定を実施するのは適切ではない。そこでHTTPサーバ202は、特徴量属性テーブル500の画像特徴量502をクエリとし、全画像を対象とする類似検索を実施することにより、画像特徴量502の近傍に存在するもののみを抽出して自動判定を実施する。
【0077】
図10は、HTTPサーバ202が画像データの画像特徴量に基づき当該画像データの不適正性を自動判定する処理のフローチャートである。ステップS1001〜S1002は、図8のステップS801〜S802と同様である。HTTPサーバ202は、検索サーバ203を用いて、特徴量属性テーブル500内の各画像と類似した画像を検索し、配列Rに格納する(S1003)。HTTPサーバ202は、配列Rから不適正性を判定していない画像データを選択し(S1004)、その画像データに対して図9と同様の手順により画像特徴量に基づく自動判定を実施する(S1005)。
【0078】
ステップS1005は、キーワードに基づく判定が画像特徴量に基づく判定に置き換わっている点を除いて、図9と同様である。画像に対する自動判定の結果は画像特徴量自動判定結果311に格納され、URLに対する自動判定の結果はURL特徴量自動判定結果312に格納され、各画像データについて算出された不適正度は特徴量不適正度314に格納される。処理済みのURL文字列か否かを判断するための情報は、特徴量自動判定結果604に格納される。
【0079】
<実施の形態1:不適正度403と信頼度504の精度向上>
キーワード属性テーブル400の不適正度403と特徴量属性テーブル500の信頼度504を自動更新する際に、これらを相互に利用補充して互いの精度を向上させる手法について、以下に説明する。
【0080】
HTTPサーバ202は、式1を用いて不適正度403を更新する際に、P(k)の母集合として、キーワードを用いた手動判定結果を既に得ている画像データを用いるのが原則である。これに加えて、図10で説明した画像特徴量に基づく自動判定の結果を、P(k)の母集合とすることもできる。これにより、P(k)の母数が大きくなるので、不適正度403の精度を向上させることができると考えられる。判定テーブル300内の各フィールドを用いて論理式で書けば、img_unsafe307==1||url_unsafe308==1||img_unsafe_by_img311==1||url_unsafe_by_img312==1を満たす画像データの集合を不適正画像の母集合とし、P(k)を算出する。
【0081】
HTTPサーバ202は、信頼度504を更新する際に、画像特徴量を用いた手動判定結果に加えて、キーワードに基づく自動判定結果を加えたものを用いる。まず、自動判定用の画像特徴量としては、画像に対する手動判定結果503が不適正であったものに加え、画像に対するキーワードによる自動判定結果が不適正であったものを加える。ただし、手動判定結果が適正であった画像は除外する。すなわち、特徴量属性テーブル500には、img_unsafe307==1||(img_unsafe_by_kw310==1&&img_unsafe307!=0)を満たす画像の特徴量が登録される。図7に示した信頼度504を算出するための不適正画像の集合Sとしては、上記の画像集合に加えて、URLに対する判定結果を用いる。これを論理式で記述すれば、img_unsafe307==1||((url_unsafe308==1||img_unsafe_by_kw310==1||url_unsafe_by_kw310==1)&&img_unsafe307!=0)となる。
【0082】
不適正度403と信頼度504を更新した後に自動判定を実施すると、自動判定の結果は変化する。運用者は、変化した自動判定の結果を用いて、適切な回数、不適正度403と信頼度504を更新することができる。なお、信頼度504の自動更新の過程で、自動判定の結果が手動判定の結果と著しく食い違う場合は、更新処理に問題があると判定し、自動更新処理を停止し、運用者に通知することもできる。
【0083】
<実施の形態1:新画像データの登録>
Webクローラ204が、新たな画像データを登録する際の不適正判定処理について、以下に説明する。
【0084】
Webクローラ204は、HTML文書内で画像データの周辺に存在するキーワードを抽出した後、キーワードサーバ205に問い合わせることにより、式2の定義にしたがって不適正度u(x)を算出する。Webクローラ204は、不適正度u(x)と閾値を比較することによる不適正性の判定結果を、判定テーブル300の画像キーワード自動判定結果309に格納する。次にWebクローラ204は、画像特徴量を抽出した後、画像特徴量サーバ206に問い合わせることにより、その画像特徴量の最近接データを取得し、式5の定義にしたがって画像特徴量に基づく不適正度u(x)を算出する。Webクローラ204は、不適正度u(x)と閾値を比較することによる不適正性の判定結果を、判定テーブル300の画像特徴量自動判定結果311に格納する。さらに、その画像が含まれるHTML文書のURLを解析し、URL属性テーブル600のURL601と照合する。一致するURL601が存在する場合は、手動判定結果602の値を判定テーブル300のURL手動判定結果308に格納し、キーワード自動判定結果603の値を判定テーブル300のURLキーワード自動判定結果310に格納し、特徴量自動判定結果604の値を判定テーブル300のURL特徴量自動判定結果312に格納する。
【0085】
<実施の形態1:検索要求に対する検索結果を提示する処理>
HTTPサーバ202は、端末装置100から画像に対する検索要求を受け取ると、手動判定結果および自動判定結果のいずれかが不適正と判定されている画像については、ユーザからの明示的な配信要求がない限り、ユーザへ提示する検索結果には含めない。判定テーブル300の各フィールドを用いた論理式で表記すると、img_unsafe307==1||url_unsafe308==1||img_unsafe_by_kw309==1||url_unsafe_by_kw310==1||img_unsafe_by_img311==1||url_unsafe_by_img312==1である画像は不適正画像と判定して検索結果には含めない。処理の効率化のため、この論理式の結果は、判定結果306にあらかじめ格納しておいてもよい。
【0086】
<実施の形態1:まとめ>
以上のように、本実施形態1に係るコンテンツフィルタリングシステム1000は、キーワードの不適正度(式2)と画像特徴量の不適正度(式5)に基づき、画像データの不適正性を判定することができる。これにより、多数の画像データについて、不適正判定を自動的に実施することができる。
【0087】
<実施の形態2>
実施形態1では、画像データの属性として、検索結果に含めることが適正であるか否かを示す不適正性を自動判定することとした。キーワードに基づく判定結果と画像特徴量に基づく判定結果を用いる手法は、これに限らず画像データに関連付ける様々な属性について適用することができる。例えば、キーワードにあらかじめ属性が付与されており、画像特徴量にも同様にあらかじめ属性が付与されている場合、ある画像データの属性は、その周辺に存在するキーワードの属性と当該画像データに類似する他の画像データに付与されている属性とに基づき推定することができる。
【0088】
本発明の実施形態2では、上記手法を実現するシステムとして、一般ユーザから投稿される画像を管理するサービスを提供するシステムを想定する。本実施形態2に係るコンテンツフィルタリングシステム1000においては、一般ユーザが自由に画像データを検索サーバ203へ登録し、他のユーザが投稿した画像データを閲覧することもできる。登録された画像データに対しては、任意のユーザが自由にコメントを付与することができる。さらに、登録された画像データに様々な属性情報を付与することができるものとする。コンテンツフィルタリングシステム1000は、属性情報が付与されていない画像データについては、他の画像データに付与されている属性等に基づき、自動的に属性を付与することもできる。コンテンツフィルタリングシステム1000は、この属性情報に基づく検索機能を提供することによって、ユーザにとって利便性の高いサービスを提供する。
【0089】
属性情報は、ユーザとシステム運用者の双方が、自由に付与することができる。属性情報としては、「風景」、「建物」、「集合写真」等の名詞的なもの、「さわやか」、「憂鬱」等の形容詞的なもの等、多様な概念を想定する。
【0090】
図11は、本実施形態2における検索サーバシステム200を構成するサーバ群の接続関係を示す図である。HTTPサーバ202は、ユーザからの投稿画像およびコメントを受領する。HTTPサーバ202は、投稿された画像の画像特徴量を抽出、および、コメントから単語の抽出を行い、その結果を検索サーバ203に格納する。
【0091】
図12は、本実施形態2において検索サーバ203が保持する判定テーブル1200の構成を示す図である。画像特徴量1201、キーワードリスト1202、サムネイル画像1203については、図3の画像特徴量301、キーワードリスト302、サムネイル画像305と同じである。属性リスト1204は、当該画像データに対して手動付与された属性のIDリストを保持する。キーワード推定属性リスト1205は、画像データに関連付けられたキーワードに基づき推定された属性のIDリストである。特徴量推定属性リスト1206は、画像特徴量に基づき推定された属性のIDリストである。
【0092】
図13は、本実施形態2においてHTTPサーバ202が保持するキーワード属性テーブル1300の構成を示す図である。文字列1301および出現頻度1302については、図4の文字列401および出現頻度402と同様である。属性リスト1303は、当該キーワードに付与された属性のIDリストである。信頼度1304は、属性リスト1303の推定信頼度のリストである。
【0093】
本実施形態2において、HTTPサーバ202は、ある程度の個数の画像データに手動で属性が付与されている前提の下、式1を用いて個々のキーワードの属性を推定する。式1におけるP(k)は、その属性が付与された画像集合内の相対頻度とする。式1におけるQ(k)は、出現頻度1302を用いてもよいが、キーワードの頻度を算出するのに十分な標本数が得られない場合は、別途存在する大規模な文章データベース内における当該キーワードの出現頻度を用いる。
【0094】
HTTPサーバ202は、個々のキーワードについて、各属性の推定結果の信頼度1304を式1に基づき算出する。ただし、全てのキーワードについて信頼度1304をキーワード属性テーブル1300に格納するのは効率的ではないため、信頼度1304が所定閾値を超えたものについてのみ、属性リスト1303とその信頼度1304をキーワード属性テーブル1300に格納する。
【0095】
信頼度1304を保存する際の具体的な処理は、以下の通りである。まず、特定の属性に着目し、その属性が付与された画像データに関連するキーワードを抽出する。抽出された各キーワードについて、式1に基づき信頼度1304を算出し、それが所定閾値より大きければキーワード属性テーブル1300に登録する。以上の処理を、定義された全ての属性について実施する。
【0096】
図14は、画像特徴量サーバ206が保持する特徴量属性テーブル1400の構成図である。画像識別子1401および画像特徴量1402については、図5の画像識別子501および画像特徴量502と同様である。属性リスト1403は、当該画像データに手動付与された属性のIDリストである。信頼度1404は、属性リスト1403の推定信頼度のリストである。
【0097】
画像特徴量に基づく属性推定においては、初期状態では、手動によって属性が付与された画像データの特徴量を用いる。ある属性に着目した時、図7における不適正画像の集合Sに相当するものは、初期状態では、その着目する属性が付与された画像の集合である。実施形態1と異なり、本実施形態2では、属性推定のために用いる画像集合と、属性推定結果の信頼度を算出するための正解事例となる画像集合(図7の不適正画像の集合S)とは一致する。
【0098】
図15は、HTTPサーバ202が信頼度1404を算出する処理フロー図である。図15において、属性判定対象の画像特徴量ベクトルをXとし、Xに関連付けられた属性リストを配列Aとする。図7における累積頻度(図7における配列A)は、本実施形態2において画像に複数の属性が付与されることを考慮し、2次元配列Sに格納することとした。図7における信頼度Dも同様に、属性毎に配列Dに格納することとした。
【0099】
ステップS1520において、Xに類似する画像を検索して配列Rに格納する。ステップS1530では、配列R内における各属性の累積頻度Sを算出する。累積頻度Sは属性毎に算出するため、図7で説明したフローに加えて、属性毎のループを示すインデックスkが追加されているが、その他の点については図7と同様である。ステップS1540でも同様に、属性毎に信頼度Dを算出し、信頼度1404に格納する。
【0100】
HTTPサーバ202が画像データに関連するキーワードに基づき当該画像データの属性を自動判定する処理は、実施形態1における不適正性を属性に置き換えた上で、図8図9と同様の処理を実施すればよい。具体的には以下の通りである。
【0101】
HTTPサーバ202は、キーワード属性テーブル1300のうち属性リスト1303の長さが0ではない単語を抽出し、それらの単語がキーワードリスト1202に含まれる画像データを対象に自動判定を実施する。HTTPサーバ202は、各画像の各属性について、式2と同様にキーワードに付与された属性の信頼度の平均値を算出し、それが所定閾値より大きければ自動付与属性としてキーワード推定属性リスト1205に格納する。ただし、信頼度の平均値の算出にあたっては、着目する属性と無関連なキーワードについては除外する。一方、新規登録画像に関しては、そのキーワードリスト1202内の各キーワードと関連する属性について、キーワードに付与された属性の信頼度の平均値を算出し、これが所定閾値より大きければ、自動付与属性としてキーワード推定属性リスト1205に格納する。
【0102】
HTTPサーバ202が画像データの画像特徴量に基づき当該画像データの不適正性を自動判定する処理は、実施形態1における不適正性を属性に置き換えた上で、図10と同様の処理を実施すればよい。具体的には以下の通りである。
【0103】
HTTPサーバ202は、属性判定対象画像Xに類似する画像を検索し、属性自動付与の対象とする画像を絞り込む。HTTPサーバ202は、各画像の属性ごとに、式4の信頼度で正規化された2乗距離が最も近接した画像特徴量を検出する。その最近接データとXとの間の正規化2乗距離が所定閾値より小さければ、最近接データの属性を、自動付与属性として特徴量推定属性リスト1206に追加する。一方、新規登録画像に関しては、その画像から抽出された画像特徴量を画像特徴量1402と照合することにより、属性ごとに最近接データを検出し、その距離が所定閾値より小なら、最近接データの属性を自動付与属性として特徴量推定属性リスト1206に追加する。
【0104】
信頼度1304と1404の更新手法についても、実施形態1と同様である。信頼度1304については、手動で属性付与された画像の集合および画像特徴量を用いて自動で属性付与した画像集合を合わせたものを用いて、信頼度1304を更新する。信頼度1404については、手動で属性付与された画像の集合およびキーワードを用いて自動で属性付与した画像集合を合わせたものを用いて、信頼度1404を更新する。信頼度の更新後に改めて属性を自動付与することにより、さらに網羅的に属性を付与することができる。実施形態1と同様、自動付与処理と信頼度の更新処理を、運用上適切な回数で交互に繰り返す。
【0105】
<実施の形態2:まとめ>
以上のように、本実施形態2に係るコンテンツフィルタリングシステム1000は、キーワードに付与された属性と画像特徴量に付与された属性に基づき、画像データの属性を自動判定することができる。
【0106】
<実施の形態3>
実施形態1で説明した式1〜式3は、下記式7〜式9に置き換えることができる。
【0107】
【数7】
【0108】
【数8】
【0109】
【数9】
【0110】
式7中のP(k)、Q(k)は、式1における定義と同一である。式1と式2の関係とは逆に、式7は、式8の各画像に対する不適正度から導出される。式8は、各画像に対して、不適性画像からの標本と仮定した場合の単語の同時分布と、一般の画像からの標本と仮定した場合の単語の同時分布の尤度比を対数変換したものである。式8中の特定の単語に関わる項を抜き出したものが式7となる。式9については、式3と全く同等である。
【0111】
本発明は上記した実施形態に限定されるものではなく、様々な変形例が含まれる。上記実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施形態の構成の一部を他の実施形態の構成に置き換えることもできる。また、ある実施形態の構成に他の実施形態の構成を加えることもできる。また、各実施形態の構成の一部について、他の構成を追加・削除・置換することもできる。
【0112】
例えば、画像の特徴量を算出する特徴量算出部、画像を含むHTML文書から画像に関連付けられているキーワードを抽出するキーワード抽出部については、必ずしも、HTTPサーバ202あるいはWebクローラ204上に設ける必要はない。画像特徴量サーバ206やキーワードサーバ205等に分散させる設計もあり、処理結果を各サーバ間で共有すれば足りる。
【0113】
同様に、キーワード属性テーブル(400、1300)の記述にしたがってキーワードと対応する属性を判定するキーワード属性判定部、特徴量属性テーブル(500、1400)の記述にしたがって画像特徴量と対応する属性を判定する特徴量属性判定部、これらの判定結果に基づき判定対象画像Xの属性を判定する画像属性判定部は、必ずしもHTTPサーバ202上に設ける必要はない。これら機能部はいずれかのサーバ上に設けてHTTPサーバ202との間で共有すれば足りる。
【0114】
また、画像をWeb上から取得するWebクローラ204は、検索サーバ203などのサーバ上に設けてもよいし、独立した機能部として図2に示す検索サーバシステム200内に設けてもよい。
【0115】
上記各構成、機能、処理部、処理手段等は、それらの一部や全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、SSD(Solid State Drive)等の記録装置、ICカード、SDカード、DVD等の記録媒体に格納することができる。
【符号の説明】
【0116】
100:端末装置、200:検索サーバシステム、201:ロードバランサ、202:HTTPサーバ、203:検索サーバ、204:Webクローラ、205:キーワードサーバ、206:画像特徴量サーバ、207:URLサーバ、300:判定テーブル、400:キーワード属性テーブル、500:特徴量属性テーブル、600:URL属性テーブル、1000:コンテンツフィルタリングシステム、1100:ネットワーク、1200:判定テーブル、1300:キーワード属性テーブル、1400:特徴量属性テーブル。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15