(57)【特許請求の範囲】
【請求項１】
サーバから入力したコンテンツを変換してクライアントへ出力するトランスコーディングシステムにおいて、
コンテンツを変換するために参照されるアノテーションを格納したデータベースと、
前記データベースに格納された前記アノテーションに基づいてコンテンツを変換するトランスコーダとを備え、
前記データベースは、前記トランスコーダからの問い合わせに応じて、格納している前記アノテーションのうち、当該アノテーションが適用されるべきコンテンツを構成する構成要素の配置を示す記述のセットが、処理対象であるコンテンツを構成する各構成要素の配置に対応するものを当該コンテンツに適用可能なアノテーションとして選択し、当該アノテーションを前記トランスコーダに返すことを特徴とするトランスコーディングシステム。
【請求項２】
前記アノテーションが適用されるべきコンテンツを構成する構成要素の配置を示す記述が、ＸＰａｔｈにて記述されることを特徴とする請求項１に記載のトランスコーディングシステム。
【請求項３】
前記データベースは、処理対象である前記コンテンツに適用可能なアノテーションが複数存在する場合に、当該コンテンツにおけるより多くの構成要素に対する記述がなされているアノテーションを、当該コンテンツに適用するアノテーションとして前記トランスコーダに返すことを特徴とする請求項１に記載のトランスコーディングシステム。
【請求項４】
前記データベースは、処理対象である前記コンテンツに適用可能なアノテーションが当該コンテンツに対して１対１で検出されなかった場合に、その旨をトランスコーダに通知し、
前記トランスコーダは、前記データベースからの通知をアノテーションオーサリング用の端末装置に出力することを特徴とする請求項１に記載のトランスコーディングシステム。
【請求項５】
サーバから入力したコンテンツを変換してクライアントへ出力するトランスコーディングシステムにおいて、
コンテンツを変換するために参照されるアノテーションを格納したデータベースと、
前記データベースに格納された前記アノテーションに基づいてコンテンツを変換するトランスコーダとを備え、
前記トランスコーダは、前記コンテンツをダウンロードした際に、前記データベースに格納されている前記アノテーションのうち、当該アノテーションが適用されるべきコンテンツを構成する構成要素の配置を示す記述のセットが、処理対象であるコンテンツを構成する各構成要素の配置に対応するアノテーションを取得し、当該アノテーションに基づいて当該コンテンツを変換することを特徴とするトランスコーディングシステム。
【請求項６】
前記トランスコーダは、コンテンツの変換において所定のエラーが発生した場合に、アノテーションオーサリング用の端末装置に出力することを特徴とする請求項５に記載のトランスコーディングシステム。
【請求項７】
ネットワークを介してコンテンツを提供するサーバにおいて、
コンテンツを格納したコンテンツ格納手段と、
前記コンテンツを変換するために参照されるアノテーションを格納したアノテーションファイル格納手段と、
前記アノテーションファイル格納手段に格納されている前記アノテーションのうち、当該アノテーションが適用されるべきコンテンツを構成する構成要素の配置を示す記述のセットが、処理対象であるコンテンツを構成する各構成要素の配置に対応するアノテーションを取得し、当該アノテーションに基づいて当該コンテンツを変換する変換手段と、
変換された前記コンテンツを送信する送信手段と
を備えることを特徴とするサーバ。
【請求項８】
コンピュータを制御して、コンテンツを変換するコンテンツ変換プログラムであって、
アノテーションファイルを格納したアノテーションファイル格納手段から当該アノテーションファイルのデータを読み出す処理と、
読み出したデータのうち、アノテーションが適用されるべきコンテンツを構成する構成要素の配置を示す記述のセットが、処理対象であるコンテンツを構成する各構成要素の配置に対応するものを当該コンテンツに適用可能なアノテーションと判断する処理と、
前記コンテンツに適用可能と判断された前記アノテーションに基づいて当該コンテンツを変換する処理と
を前記コンピュータに実行させることを特徴とするコンテンツ変換プログラム。
【請求項９】
サーバからコンテンツを取得するコンテンツ取得手段と、
コンテンツを変換するために参照されるアノテーションを格納したアノテーションデータベースから当該アノテーションを取得するアノテーション取得手段と、
取得された前記コンテンツを構成する各構成要素の配置と前記アノテーションが適用されるべきコンテンツを構成する構成要素の配置を示す記述のセットとの対応を評価する評価手段と、
前記評価手段による評価結果を出力する出力手段と
を備えることを特徴とするアノテーション管理装置。
【請求項１０】
前記評価手段は、前記コンテンツの構成要素のうち、レイアウトの変更が予定されているものを除外して評価を行うことを特徴とする請求項９に記載のアノテーション管理装置。
【請求項１１】
前記評価手段により対応するアノテーションが存在しないと判断されたコンテンツに対して、対応するアノテーションを生成する編集手段をさらに備えることを特徴とする請求項９に記載のアノテーション管理装置。
【請求項１２】
処理対象であるコンテンツを構成する各構成要素と当該コンテンツを変換するために参照されるアノテーションにおけるコンテンツの構成要素の配置を示す記述のセットとの対応を評価する評価手段と、
前記評価手段による評価結果に基づいて前記コンテンツに対するアノテーションの付加状況を当該アノテーションのオーサーに提供するインターフェイスと
を備えたことを特徴とするアノテーション管理装置。
【請求項１３】
前記インターフェイスは、前記コンテンツの構成要素ごとに、対応するアノテーションの記述の有無を一覧表示する表示画面を提供することを特徴とする請求項１２に記載のアノテーション管理装置。
【請求項１４】
前記インターフェイスは、前記アノテーションの記述内容と前記コンテンツの構成要素との詳細な対応関係を文字列表示する表示画面を提供することを特徴とする請求項１２に記載のアノテーション管理装置。
【請求項１５】
前記インターフェイスは、オーサーによる入力を受け付け、当該入力に応じて対話的に所定の前記コンテンツに関するアノテーションの付加状況を表示する表示画面を提供することを特徴とする請求項１２に記載のアノテーション管理装置。
【請求項１６】
コンピュータを制御して、コンテンツに関するアノテーションを管理するアノテーション管理プログラムであって、
コンテンツを変換するために参照されるアノテーションを格納したアノテーションデータベースから当該アノテーションを取得するアノテーション取得手段と、
変換対象であるコンテンツを構成する各構成要素と前記アノテーションが適用されるべきコンテンツを構成する構成要素の配置を示す記述との対応を評価する評価手段と、
前記評価手段による評価結果を出力する出力手段として、
前記コンピュータを動作させることを特徴とするアノテーション管理プログラム。
【請求項１７】
コンピュータを制御して、コンテンツに関するアノテーションを管理するアノテーション管理プログラムであって、
コンテンツを変換するために参照されるアノテーションを格納したアノテーションデータベースから当該アノテーションを取得する機能と、
変換対象であるコンテンツを構成する各構成要素と前記アノテーションが適用されるべきコンテンツを構成する構成要素の配置を示す記述との対応を評価する機能と、
前記評価の結果に基づいて前記コンテンツに対するアノテーションの付加状況を可視的に示す表示画面を生成してディスプレイ装置に表示させる機能と
を前記コンピュータに実現させることを特徴とするアノテーション管理プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ネットワーク上の情報をトランスコーディングして配信する技術に関し、特に情報に応じて用意されたアノテーションに基づいてトランスコーディングを行う技術に関する。
【０００２】
【従来の技術】
ネットワーク上の情報に対して所定の端末装置からアクセス要求された場合、当該情報を当該端末装置の仕様や使用環境に即して変換して提供することができる。この変換技術をトランスコーディングと呼ぶ。
例えば、インターネット上のウェブコンテンツを提供する場合に、携帯型情報端末などの小さな表示画面や、音声ブラウザによる読み上げに適合するように、トランスコーディングによりウェブページの構成を変換することができる。
【０００３】
トランスコーディングには、大きく分けて二つの方法が存在する。１つは、何ら付加情報なしに変換を行う方法である。他の１つは、外部のメタ情報（アノテーション）に基づいて変換を行う方法である。
付加情報なしに行うトランスコーディングでは、ウェブコンテンツの種類や内容によらず、全てのウェブコンテンツを変換可能である。しかし、ウェブコンテンツの種類や内容を考慮しないため、変換精度が低い。
一方、アノテーションに基づいて行うトランスコーディングでは、ウェブコンテンツに対応付けられたアノテーションに基づいて適切な変換を行うため、変換精度は高くなる。しかし、アノテーションのためのメタ情報を入力する手間やコストが非常に高いため、全てのウェブコンテンツに対してアノテーションを付加することができず、変換可能なウェブコンテンツの数が限られてしまう。
したがって、高い精度でより多くのウェブコンテンツをトランスコードするためには、アノテーションを付加する手間をいかに削減するかが重要である。
【０００４】
図９は、アノテーションに基づくトランスコーディングを実現するシステム構成を説明する図である。
図９を参照すると、このトランスコーディングシステムは、ウェブコンテンツの変換（トランスコーディング）を行うトランスコーダ９１０と、当該変換に用いられるアノテーションファイルを格納したアノテーションデータベース９２０とを備える。
同図において、端末装置９４０からウェブサーバ９３０にアクセス要求がなされると、アクセス要求の対象であるウェブコンテンツがウェブサーバ９３０から返送され、まずトランスコーダ９１０に入力される。そして、トランスコーダ９１０において、アノテーションデータベース９２０が参照され、当該ウェブコンテンツに対応するアノテーションファイルのデータ（以下、単にアノテーションと称す）に基づいて当該ウェブコンテンツの変換が行われる。この後、変換されたウェブコンテンツがトランスコーダ９１０から端末装置９４０へ送られる。
【０００５】
上記のようなシステムでトランスコーディングにおけるアノテーションの手間を削減する方策として、アノテーションオーサリングツールを整備することが重要である。また、１つのアノテーションを、同一のレイアウトを持った他のウェブコンテンツへも流用することが考えられる。
１つのアノテーションを複数のウェブコンテンツに対応付けるための従来の手法は、次の３つに分類することができる。
１．ＵＲＬ（Uniform Resource Locators）とアノテーションの対応をテーブルデータ（対応表）として持つ。
２．ＵＲＬの正規表現を用いる。
３．ウェブコンテンツのテーブル構造を手がかりにして使用するアノテーションを動的に判定する（自動判定）。
【０００６】
【発明が解決しようとする課題】
上述したようにネットワーク上の情報を提供する際にトランスコーディングによる変換を行う場合、高い変換精度を得るためには、アノテーションに基づいてトランスコーディングを行う方法が採られる。
ところが、アノテーションのためのメタ情報を入力する手間やコストが非常に高いため、インターネットのように広く普及しているネットワークシステムでは、全ての情報、すなわちウェブコンテンツに対してアノテーションを付加することはできず、変換可能なウェブコンテンツの数が限られてしまう。そこで、アノテーションを付加する手間を削減するため、上述したように、１つのアノテーションを複数のウェブコンテンツに対応付けるための手法が提案されている。
【０００７】
しかしながら、ＵＲＬとアノテーションの対応をテーブルデータとして持つ手法（上記１の手法）では、日々新たに生成されるＵＲＬに対応するために逐一テーブルコンテンツを更新することは現実的ではない。このため、ニュースサイトの記事や検索エンジンの検索結果等を記載したウェブページには適用できない。
【０００８】
ＵＲＬの正規表現を用いる手法（上記２の手法）では、アノテーションのオーサーがサイトのＵＲＬ構造を解析した上で複雑な正規表現を記述しなければならないため、非常に煩雑かつ多大な作業を要するという問題がある。また、ウェブコンテンツがクッキー等を用いて動的にレイアウト変更するような場合にも対応できない。
このＵＲＬの正規表現を用いる手法に、ＨＴＭＬ文書の特定の部分を指し示すＸＰａｔｈのワイルドカードを組み合わせることによって、ある程度レイアウトの変化するウェブコンテンツに対応することができる。この場合、ウェブサイト全体のＵＲＬ構造を十分に解析して同一レイアウトがどのようなＵＲＬ条件のもとで出現するのかを判断し、正規表現では解決できない場合にはＸＰａｔｈのワイルドカードを用いることで汎用性を持たせる。
【０００９】
図１０は、ニュース記事を記載するウェブページのレイアウトの例を概略的に示す図である。
図１０（Ａ）に示すレイアウトと図１０（Ｂ）に示すレイアウトとでは、「トップニュース」というテーブルが挿入されているか否かという点が異なる。この「トップニュース」というテーブルは、当該ウェブコンテンツの管理者によって任意に付加したり削除したりされるものとする。この場合、図１０（Ａ）（Ｂ）の２つのウェブページを共通して特定するＵＲＬの正規表現が得られ、かつ、このウェブページに対して次のようにＸＰａｔｈが記述されたとする。
/html[1]/body[1]/table[7]/tbody[1]/tr[1]/td[3]/table[1]
ここで、「トップニュース」というテーブルの付加または削除に対応するためにワイルドカードを導入すると、ＸＰａｔｈは次のように記述される。
/html[1]/body[1]/table[7]/tbody[1]/tr[1]/td[3]/table[starts-with(child::tbody[1]/tr[1]/td[1]/table[1]/tbody[1]/tr[1]/td[1], '■トップニュース')]
【００１０】
しかし、これらの作業は非常に煩雑であり、ＸＰａｔｈの記述も複雑となるので、アノテーションのオーサーにとって多大な負担となってしまう。
また、ＸＰａｔｈのワイルドカードを用いてレイアウトの変更に対応する方法は、ウェブコンテンツの構成要素であって背景色などのレイアウトで表現されているビジュアルな意味のかたまり（ヘッダー、フッター、リンクリスト、本文、広告など、以下グループと称す）の単純な付加や削除程度の簡単な変更には対応できるが、レイアウト全体を大きく変えるような変更に対応することは困難である。
【００１１】
さらに、同一ＵＲＬのウェブコンテンツであっても当該ウェブコンテンツに到達するまでに経由したウェブコンテンツによってレイアウトが動的に変更されるものがある。同様に、同一のＵＲＬのウェブコンテンツをリロードすることによってレイアウトが動的に変更されるものもある。このような場合にアノテーションを付加するには、ＵＲＬの正規表現では対応しきれないため、上記のようにＸＰａｔｈのワイルドカードを用いなければならないが、レイアウトの変化が大きい場合、かかるレイアウトの変化をＸＰａｔｈで吸収することは困難である。
また、検索エンジンの検索結果を記載するウェブページは、マッチしたキーワードに対応する検索対象（すなわち、ページ、商品、書籍など）が存在するかどうかによって大きくレイアウトが変更されるものが多い。このような場合にも、ＵＲＬの正規表現とＸＰａｔｈを用いた手法で対応することは難しい。
【００１２】
さらにまた、１つのアノテーションを複数のウェブコンテンツに対応付けるための手法として上述した、ウェブコンテンツのテーブル構造を手がかりにして使用するアノテーションを動的に判定する手法（上記３の手法）では、レイアウト目的で使用されているテーブルを判定基準としているため、レイアウト目的ではないテーブルが使用されている場合や、異なる内容で同一の形状のレイアウトが使用されている場合などは、使用するアノテーションを適切に判定することができない。異なるレイアウトを同一と判断してしまう誤推定を避けるために判定基準を厳しくすると、反対に同一レイアウトに対して異なるという判定をしてしまい、やはり誤推定となってしまう。
【００１３】
そこで、本発明は、アノテーションを複数のウェブコンテンツに的確に流用し、トランスコーディングにおけるアノテーション付加に要する手間を効果的に削減できるようにすることを目的とする。
また、本発明は、ウェブコンテンツにアノテーションを付加する作業を簡略化するためのツールを提供することを他の目的とする。
【００１４】
【課題を解決するための手段】
本発明では、トランスコーディング時に、アノテーションデータベースに格納されているアノテーションの中から適用可能なアノテーションを判定して適用する仕組みを実現することにより、アノテーションを複数のウェブコンテンツに的確に流用することを可能とする。
かかる思想に鑑み、本発明は、コンテンツを変換するために参照されるアノテーションを格納したデータベースと、このデータベースに格納されたアノテーションに基づいてコンテンツを変換するトランスコーダとを備えたトランスコーディングシステムであって、このデータベースは、トランスコーダからの問い合わせに応じて、処理対象であるコンテンツの構成要素とアノテーションの記述との対応関係に基づきこのコンテンツに適用可能なアノテーションを選択し、アノテーションをトランスコーダに返すことを特徴とする。
このコンテンツの構成要素と前記アノテーションの記述との対応関係は、アノテーションにおけるＸＰａｔｈの記述に基づいて判断することができる。
【００１５】
ここで、このデータベースは、処理対象であるコンテンツに適用可能なアノテーションが複数存在する場合に、このコンテンツにおけるより多くの構成要素に対する記述がなされているアノテーションを、このコンテンツに適用するアノテーションとしてトランスコーダに返す。
さらに、このデータベースは、処理対象であるコンテンツに適用可能なアノテーションがこのコンテンツに対して１対１で検出されなかった場合に、その旨をトランスコーダに通知し、このトランスコーダは、データベースからの通知をアノテーションオーサリング用の端末装置に出力する。
【００１６】
また、上記のような本発明のトランスコーディングシステムにおいて、トランスコーダは、処理対象であるコンテンツをダウンロードした際に、このコンテンツのレイアウトに基づいてデータベースから適用可能なアノテーションを取得してこのコンテンツを変換することを特徴とする。
ここで、このトランスコーダは、コンテンツの変換において所定のエラーが発生した場合に、アノテーションオーサリング用の端末装置に出力する。
【００１７】
さらに本発明は、上記のようなトランスコーディングシステムの機能をウェブサーバに持たせることによって実現することができる。すなわち、このウェブサーバは、コンテンツを格納したコンテンツ格納手段と、アノテーションを格納したアノテーションファイル格納手段と、コンテンツの構成要素のレイアウトとアノテーションの記述との対応関係に基づいてアノテーションファイル格納手段から変換対象であるコンテンツに適用可能なアノテーションを取得して当該コンテンツを変換する変換手段と、変換されたコンテンツを送信する送信手段とを備える。
【００１８】
また、本発明は、コンピュータを用いて、コンテンツを変換するコンテンツ変換方法において、サーバから処理対象のコンテンツを取得し、アノテーションファイルを格納したアノテーションファイル格納手段からこのアノテーションファイルのデータを読み出し、このコンテンツの構成要素と読み出されたアノテーションの記述とを比較してこのコンテンツに適用可能なアノテーションを判断し、このコンテンツに適用可能と判断されたアノテーションに基づいてこのコンテンツを変換し、変換されたコンテンツを出力することを特徴とする。
【００１９】
さらに本発明は、かかるコンテンツ変換方法をコンピュータに実行させ、あるいはコンピュータを上述したトランスコーディングシステムとして動作させるプログラムとして実現することができる。このプログラムは、磁気ディスクや光ディスク、半導体メモリ、その他の記録媒体に格納して配布したり、ネットワークを介して配信したりすることにより提供することができる。
【００２０】
また、本発明は、アノテーションデータベースに格納されるアノテーションデータの構造として、次のように構成されることを特徴とする。すなわち、このアノテーションデータは、コンテンツ単位で用意されたアノテーションファイルに記録され、変換対象であるコンテンツの構成要素に対する変換内容の記述をこのコンテンツにおける構成要素のレイアウトに対応付けてあり、アノテーションファイルは、このコンテンツのネットワーク上の所在を示す情報により大まかに分類されていることを特徴とする。
【００２１】
さらに詳しくは、アノテーションデータにおけるコンテンツの構成要素に対する変換内容の記述は、ＸＰａｔｈにより、このコンテンツの構成要素のレイアウトに対応付けてある。また、アノテーションファイルは、概略的に記述されたＵＲＬ（Uniform Resource Locators）、例えば、ウェブコンテンツが存在するサイトやフォルダを特定する程度に記述されたＵＲＬにより前記コンテンツに対して大まかに対応付けられている。さらにまた、このアノテーションデータは、コンテンツの構成要素のうち、レイアウトの変更が予定されているもの（オプショングループ）を識別する情報を含むことができる。
【００２２】
さらにまた、本発明では、ウェブコンテンツにアノテーションを付加する作業を簡略化するため、アノテーションの対応付けを行うためのツールであるアノテーション管理装置を提供する。
このアノテーション管理装置は、サーバからコンテンツを取得するコンテンツ取得手段と、コンテンツを変換するために参照されるアノテーションを格納したアノテーションデータベースからアノテーションを取得するアノテーション取得手段と、取得されたコンテンツの構成要素とアノテーションの記述との対応を評価する評価手段と、この評価手段による評価結果を出力する出力手段とを備えることを特徴とする。
【００２３】
ここで、この評価手段は、コンテンツの構成要素のうち、レイアウトの変更が予定されているものを除外して評価を行うことができる。
さらに、このアノテーション管理装置は、評価手段により対応するアノテーションが存在しないと判断されたコンテンツに対して、対応するアノテーションを生成する編集手段を備える構成とすることができる。
【００２４】
また、このアノテーション管理装置は、この評価手段による評価結果に基づいてコンテンツに対するアノテーションの付加状況をオーサーに提供するインターフェイスを備える構成とすることができる。
ここで、このインターフェイスは、コンテンツの構成要素ごとに、対応するアノテーションの記述の有無を一覧表示する表示画面を提供する。また、アノテーションの記述内容とコンテンツの構成要素との詳細な対応関係を文字列表示する表示画面を提供する。さらに、オーサーによる入力を受け付け、対話的に所定のコンテンツに関するアノテーションの付加状況を表示する表示画面を提供する。
さらにまた、本発明は、コンピュータを上記のアノテーション管理装置として動作させるプログラムとして実現することができる。
【００２５】
【発明の実施の形態】
以下、添付図面に示す実施の形態に基づいて、この発明を詳細に説明する。
本発明は、アノテーションを複数のウェブコンテンツに的確に流用するために、トランスコーディング時に、アノテーションデータベースに格納されているアノテーションの中から適用可能なアノテーションを判定して適用する仕組みを実現する。また、ウェブコンテンツに対するアノテーションの付加作業を簡略化するために、アノテーションの管理ツールであるサイトパターンアナライザを提供する。
以下、トランスコーディング時に適切なアノテーションを判定して適用するシステムと、サイトパターンアナライザとに分けて説明する。
【００２６】
図１は、本実施の形態によるアノテーションに基づくトランスコーディングを実現するシステム構成を説明する図である。
図１を参照すると、このトランスコーディングシステムは、ウェブコンテンツの変換（トランスコーディング）を行うトランスコーダ１０と、当該変換に用いられるアノテーションファイルを格納したアノテーションデータベース２０とを備える。トランスコーダ１０は、ウェブコンテンツを提供するウェブサーバ３０と当該ウェブサーバ３０に対してウェブコンテンツを要求する端末装置（ウェブクライアント）４０との間に介在し、ウェブサーバ３０からダウンロードされたウェブコンテンツを端末装置４０の仕様や使用環境に合わせて変換して当該端末装置４０に送る。
【００２７】
上記構成において、ウェブサーバ３０は、例えば、ワークステーションやパーソナルコンピュータなどのコンピュータ装置にて実現されるサーバマシンである。また、端末装置４０は、ワークステーションやパーソナルコンピュータなどのコンピュータ装置、ＰＤＡ（Personal Digital Assistant）、携帯電話その他の情報端末にて実現され、ネットワークを介してウェブサーバ３０に接続される。
【００２８】
トランスコーダ１０は、ウェブサーバ３０と端末装置４０とを接続するネットワーク上に設けられるモジュールであり、例えば、ワークステーションやパーソナルコンピュータなどのコンピュータ装置におけるプログラム制御されたＣＰＵにて実現される。トランスコーダ１０の実施態様としては、ウェブサーバ３０から送信されるウェブコンテンツをトランスコーディングするサービスを行う独立のサーバとして提供することもできるし、ウェブサーバ３０を実現するサーバマシンの機能として付加することもできる。
アノテーションデータベース２０は、ハードディスクや半導体メモリその他のデータ記録手段及びこれを管理する管理システムにて実現される。管理システムは、例えば、ワークステーションやパーソナルコンピュータなどのコンピュータ装置におけるプログラム制御されたＣＰＵにて実現される。
以上の構成自体は、従来のトランスコーディングシステムと同様である。
【００２９】
本実施の形態において、アノテーションデータベース２０は、トランスコーダ１０からの問い合わせに応じて、すなわちウェブコンテンツのトランスコーディング時に、保持しているアノテーションファイルの中からトランスコーディングの対象となるウェブコンテンツに適用できるものを選択して提供する。
これにより、トランスコーダ１０は、ウェブコンテンツのトランスコーディング時にアノテーションデータベース２０によって選択されたアノテーションに基づいて、当該ウェブコンテンツのトランスコーディングを行う。
【００３０】
アノテーションデータベース２０によるアノテーションファイルの選択は、当該アノテーション内のＸＰａｔｈが当該ウェブコンテンツに適用可能かどうか、すなわち、当該ウェブコンテンツ中のグループ（ヘッダー、フッター、リンクリスト、本文、広告など、ウェブコンテンツ背景色などのレイアウトで表現されているビジュアルな意味のかたまり）に対して正しくＸＰａｔｈが当たっているかどうかを判定して行う。
【００３１】
また、アノテーションデータベース２０に格納されているアノテーションファイルは、変換対象であるウェブコンテンツのＵＲＬによって大まかに分類されている。すなわち、各アノテーションファイルには、概略的なＵＲＬ（例えば、変換対象であるウェブコンテンツが存在するサイトのサーバ名やフォルダ名程度の記述）が対応付けられている。これにより、ウェブコンテンツに適用すべきアノテーションを検索する際には、まず、当該ウェブコンテンツのＵＲＬを検索キーとして用い、当該ＵＲＬが含まれるような上記大まかなＵＲＬに対応付けられている全てのアノテーションを当該ウェブコンテンツに対するアノテーションの候補とする。そして、当該候補の中から、上述したグループとＸＰａｔｈとの関係に基づいて適用すべきアノテーションを選択することとなる。
【００３２】
なお、本実施の形態では、アノテーションをウェブコンテンツに適用できるかどうかの判定に関与しないオプショングループをサポートする。すなわち、ウェブコンテンツ中のグループには、動的に移動したり付加あるいは削除されたりし、それによるレイアウトの変更が当該ウェブコンテンツの内容に大きな影響を及ぼさないものがある。例えば、リロードする度にランダムに場所を変える広告オブジェクトやニュース記事を記載するウェブコンテンツにおける写真オブジェクトなどである。そこで、これらのグループをオプショングループとしておくことにより、当該グループの有無やサイズ、位置などの変更に関わらず、アノテーションの適用可否を判定することができる。
【００３３】
オプショングループの設定は、ＸＭＬの記述等を用いてグループに「optional属性」を付加することにより行うことができる。例えば、所定のウェブコンテンツにおいて、バナー広告のオブジェクトが次の２つのＸＰａｔｈのいずれかに表示されるものとする。
/html[1]/body[1]/table[7]/tbody[1]/tr[1]/td[3]/table[1]/tbody[1]/tr[2]/td[1]
/html[1]/body[1]/table[8]/tbody[1]/tr[1]/td[2]
この場合、両者にoptional属性を付加することで、当該広告オブジェクトをオプションオブジェクトに設定し、アノテーションの適用可否の判定対象から外すことが可能になる。図４（Ａ）は前者の場合のＸＰａｔｈに対するＸＭＬ記述、図４（Ｂ）は後者の場合のＸＰａｔｈに対するＸＭＬ記述を示す。
【００３４】
図２は、トランスコーダ１０の動作を説明するフローチャート、図３はアノテーションデータベース２０の動作を説明するフローチャートである。
図２を参照すると、トランスコーダ１０は、端末装置４０からのＨＴＴＰリクエストを受け付けて（ステップ２０１）、当該リクエストの対象であるウェブコンテンツ（ターゲットＨＴＭＬ）をウェブサーバ３０からダウンロードする（ステップ２０２）。そして、取得したウェブコンテンツのＨＴＭＬをＤＯＭツリーに変換し（ステップ２０３）、このＤＯＭツリーに基づいて、当該ウェブコンテンツに対応するアノテーションをアノテーションデータベース２０に問い合わせる（ステップ２０４）。
【００３５】
アノテーションデータベース２０から当該ウェブコンテンツにマッチするアノテーションを受け取ると、トランスコーダ１０は、まず当該アノテーションに対する必要な処理を行う（ステップ２０５）。ここで、必要な処理とは、オプショングループであって当該ウェブコンテンツにマッチしないものを除外する等の処理である。
次に、トランスコーダ１０は、必要な処理の済んだアノテーションに基づいて当該ウェブコンテンツのＤＯＭツリーを変換し、トランスコーディングを実行する（ステップ２０６）。これにより、当該ウェブコンテンツに対してオブジェクトの並べ替えや音声出力に対応するための変更が加えられる。
この後、トランスコーダ１０は、ＤＯＭツリーをＨＴＭＬに変換し（ステップ２０７）、トランスコーディングされたウェブコンテンツを、ＨＴＴＰリクエストを送信した端末装置４０に返送する（ステップ２０８）。
【００３６】
次に、図３を参照し、トランスコーダ１０から問い合わせを受けたアノテーションデータベース２０の動作を説明する。
アノテーションデータベース２０は、トランスコーダ１０からの問い合わせを受け付けると（ステップ３０１）、まず、当該ウェブコンテンツのＵＲＬ（Uniform Resource Locators）をキーとして、マッチするリソースを持つアノテーションを検索する（ステップ３０２）。そして、ＵＲＬのマッチするアノテーションが存在しない場合は、エラーメッセージをトランスコーダ１０に返す（ステップ３０３、３０４）。この場合、当該ウェブコンテンツに対するトランスコーディングは行われない、あるいはアノテーション無しでできる範囲のトランスコーディングが行われることとなる。
【００３７】
一方、ＵＲＬのマッチするアノテーションが見つかった場合、そのようなアノテーションが１つであれば、アノテーションデータベース２０は当該アノテーションをトランスコーダ１０に返す（ステップ３０３、３０５、３１１）。
ＵＲＬのマッチするアノテーションが複数ある場合は、次にアノテーションデータベース２０は、当該複数のアノテーションのうちで、アノテーション内のＸＰａｔｈがウェブコンテンツのグループに全てマッチするものを選択する（ステップ３０５、３０６）。そのようなアノテーションが１つであれば、アノテーションデータベース２０は当該アノテーションをトランスコーダ１０に返す（ステップ３０７、３１１）。
【００３８】
ＸＰａｔｈが全てマッチするアノテーションが複数ある場合は、次にアノテーションデータベース２０は、当該複数のアノテーションのうちで、最もグループ数の多いものを選択し、トランスコーダ１０に返す（ステップ３０７、３０８、３０９、３１１）。
さらに、そのようなアノテーションが複数存在する場合は、次にアノテーションデータベース２０は、当該複数のアノテーションのうちで、最も新しいものを選択し、トランスコーダ１０に返す（ステップ３０９、３１０、３１１）。
以上のようにして、トランスコーダ１０からの問い合わせに対応するアノテーションが選択され、トランスコーダ１０によるトランスコーディングに使用される。
【００３９】
図３に示したようにアノテーションデータベース２０は、ウェブコンテンツにマッチするアノテーションが存在しない場合はトランスコーダ１０にエラー通知を行い、１つのウェブコンテンツに複数のアノテーションがマッチする場合はマッチするグループ数の多いものを選んだり、最新のアノテーションを選んだりすることによって１つのアノテーションを選択している。また、上述した手法の他、ウェブコンテンツのレイアウトとアノテーションが想定するレイアウトとの類似性を判断する既存のレイアウトマッチング技術を用いて、レイアウトの類似性を判断し、最も類似するレイアウトを想定しているアノテーションを優先することもできる。
【００４０】
しかしながら、これらの状況は、アノテーションのマッチングの観点からすればミスマッチングである。これは、ウェブコンテンツに対するアノテーションの付加作業が不十分である場合だけでなく、システムの運用開始後に対象であるウェブコンテンツにおいてレイアウトが変更されたり、新たなレイアウトを持ったウェブコンテンツが追加されたりした場合に発生し得る。したがって、システムの運用後においても、ウェブコンテンツとアノテーションとの対応状況を監視して、必要に応じて調整を行うことが好ましい。
【００４１】
これを実現する手法として、システムの運用途中でアノテーションがマッチしないウェブコンテンツや、多重にマッチするウェブコンテンツ、グループによって指定されないテキスト情報が存在するままトランスコードされるウェブコンテンツなどを原因とするトランスコーディングミスが発生した場合に、当該トランスコーディングミスが発生したことをアノテーションオーサリング用の端末装置に通知してオーサーに知らせることが考えられる（on-the-flyテスト）。オーサーは、この通知を受けた場合、後述するサイトパターンアナライザなどのツールを用いたり、アノテーションエディタにてアノテーションを編集したりすることにより、ウェブコンテンツに対してアノテーションを適切に対応させた状態を保つことができる。
【００４２】
以上説明したように、アノテーションデータベース２０は、アノテーションが含んでいる全てのＸＰａｔｈに対応するエレメントがトランスコーディングの対象であるウェブコンテンツ内に存在するかどうかを判定することにより、当該アノテーションの適用可能性を判断する。これにより、ウェブコンテンツのレイアウトをリアルタイムに判定して、適用するアノテーションを決定することができる。また、ウェブコンテンツのレイアウトを直接判定しているので、ウェブコンテンツのテーブル構造を手がかりにして使用するアノテーションを決定する従来技術と異なり、異なるレイアウトを同一と判断したり同一のレイアウトを異なると判断したりするような誤推定が発生しないようにアノテーションをコントロールすることができる。
【００４３】
上述したアノテーションデータベース２０によるアノテーションファイルの管理方法では、所望のアノテーションを検索する最初のキーとしてＵＲＬを用いているが、上記のように適用するアノテーションの特定自体はウェブコンテンツのレイアウト自体によって決まる。すなわち、ＵＲＬによって適用すべきアノテーションの候補を大まかに定め、その後、変換対象であるウェブコンテンツの実際のレイアウトとアノテーションの記述（すなわちグループとアノテーション内のＸＰａｔｈ）との対応関係によって適用すべきアノテーションが特定される。したがって、検索キーとして使用されるＵＲＬはウェブコンテンツのおおよその場所を指定できれば良く、厳密なＵＲＬの正規表現の指定は必要ない。
【００４４】
また、アノテーション付け作業は、ウェブコンテンツに対してアノテーションを付加するという従来のアノテーション付加作業と何ら変わることはない。
さらに、所定のウェブコンテンツに適用できるアノテーションが存在しない場合は、ＸＰａｔｈのワイルドカードなどで対応するのではなく、当該ウェブコンテンツに適用できる別のアノテーションを入力するという単純な方針で解決する。そのため、アノテーション付け作業を簡単化することができる。そして、ワイルドカードを考慮しなくてもよいため、アノテーションエディタを用いたＸＰａｔｈの半自動生成が容易に可能となる。
このように、本実施の形態によれば、アノテーションの付加及び調整作業を大幅に簡略化することができる。
【００４５】
なお、本実施の形態では、ＸＰａｔｈのワイルドカードなどでアノテーションの汎化を行わず、所望のウェブコンテンツのレイアウトに対して必要なアノテーションを追加していく。例えば、図１０に示した「トップニュース」のテーブルが付加されたり削除されたりする場合や、ＵＲＬ同一でありながらウェブコンテンツのレイアウトが変更してしまう場合には、それぞれのレイアウトに対してアノテーションを生成する。そのため、同じ数のウェブコンテンツに対してトランスコーディングを行うために必要なアノテーションファイルの数は、かかるアノテーションの汎化を行う従来の手法に比べて増加することとなる。
しかし、ＵＲＬの正規表現化とＸＰａｔｈの調整作業という複雑でメンテナンス性の低い作業を、適用できるアノテーションのないウェブコンテンツに対して適用可能なアノテーションを付加するという単純な作業に置き換えることができるため、作業コストを削減でき、メンテナンスも容易となる。
【００４６】
また、図１に示した本実施の形態のトランスコーディングシステム（トランスコーダ１０及びアノテーションデータベース２０）は、ウェブサーバ３０とは別個に設けられているが、実施態様としては、ウェブサーバ３０に当該トランスコーディングシステムの機能を持たせる構成とすることも可能である。
この場合、当該ウェブサーバ３０は、ウェブコンテンツを格納したウェブコンテンツ格納手段と、アノテーションデータベース２０に相当するアノテーションファイル格納手段と、トランスコーダ１０に相当するウェブコンテンツ変換手段とを備える。そして、ウェブクライアントからのリクエストに応じて、ネットワークインターフェイスなどの送信手段を介して変換手段により変換されたウェブコンテンツを送信することとなる。
【００４７】
ところで、アノテーションデータベース２０を備えた本実施の形態によるトランスコーディングシステムを用いても、上述したように、複数のアノテーションが同一のウェブコンテンツに適用可能と判断される問題や、１つのアノテーションもマッチしないウェブコンテンツが発生する問題が残る。前者の場合には、アノテーションデータベース２０における検索処理において、上述したようにマッチするグループ数の多いものを選んだり、最新のアノテーションを選んだりすることによって対応しているが、できる限り各ウェブコンテンツには単一のアノテーションが対応することが好ましい。
そこで本実施の形態では、アノテーションを管理して、上記のような問題の検出、解決をサポートすることのできるツールであるサイトパターンアナライザを提供する。
【００４８】
サイトパターンアナライザは、所望のサイト全体におけるウェブコンテンツのツリー構造を表示し、アノテーションの付加状況をインタラクティブに表示するソフトウェア（プログラム）であり、例えば、トランスコーダ１０やアノテーションデータベース２０を実現するコンピュータ装置にインストールされて、当該コンピュータ装置のＣＰＵを制御してアノテーション管理装置として動作させることにより、本実施の形態によるアノテーションの管理を行う。
サイトパターンアナライザを用いることにより、アノテーションオーサーは、所望のサイト全体を概観しながらアノテーションの付加状況を確認し、必要に応じてアノテーションの新規追加や調整作業を進めることができる。
なお、ソフトウェアであるサイトパターンアナライザは、磁気ディスクや光ディスク、半導体メモリ、その他の記録媒体に格納して配布したり、ネットワークを介して配信したりすることにより提供することができる。
【００４９】
この種の管理ソフトウェアは、ＵＲＬの正規表現とＸＰａｔｈを用いる従来のトランスコーディングシステムなどでも検討されてきたが、次のような問題があり、実用的な管理ソフトウェアをデザインすることは困難であった。
第１に、アノテーションの単位がグループであり、それぞれ異なるＵＲＬの正規表現を持つため、アノテーションと対象ウェブコンテンツとの関連を一覧で表現することが困難であった。
第２に、ウェブコンテンツ内の各グループが、ＸＰａｔｈとＵＲＬの正規表現とによって複雑に絡み合うため、総括的に管理することが困難であった。
これに対し本実施の形態では、第１の問題に関しては、アノテーションをウェブコンテンツ（グループのセット）の単位で管理するため、表形式での視覚化が可能である。また第２の問題に関しても、アノテーションをウェブコンテンツの単位で管理し、アノテーションが付加されていないウェブコンテンツには当該ウェブコンテンツ用のアノテーションを追加するという単純な作業で管理下におくことができる。
【００５０】
図５は、サイトパターンアナライザの機能構成を説明する図である。
図５を参照すると、本実施の形態にて提供されるサイトパターンアナライザ５０は、マッチング評価モジュール５１と、ツリービューコントローラ５２と、アノテーション修正モジュール５３と、マッチング文字列抽出モジュール５４と、ブラウザ・ＤＯＭツリー同期モジュール５５とを備える。これらの構成要素は、サイトパターンアナライザ５０がインストールされたコンピュータ装置において、当該プログラムにより制御されたＣＰＵにて実現されるソフトウェアブロックである。
また、サイトパターンアナライザ５０は、当該コンピュータ装置におけるメインメモリやＣＰＵのキャッシュメモリ上にアノテーションテーブル５６及びマッチングテーブル５７を作り、処理の際に用いる。
【００５１】
上記のように構成されたサイトパターンアナライザ５０は、起動時やリロード時などのタイミングでアノテーションの管理対象であるサイト全体を巡回し、図示しない入力手段（インターフェイス）にて、ウェブコンテンツの情報をキャッシュする。この際、ウェブコンテンツに関するＨＴＭＬファイルリストも作成する。なお、管理対象とするサイトは、オーサーが任意に指定することができる。
また、同様のタイミングで、サイトパターンアナライザ５０は、図示しない入力手段（インターフェイス）にて、アノテーションデータベース２０からアノテーションファイルの全データを読み出し、アノテーションテーブル５６に格納する。
【００５２】
マッチング評価モジュール５１は、上記の初期動作でキャッシュされた処理対象であるウェブコンテンツのＨＴＭＬファイル及びＨＴＭＬファイルリストを入力し、アノテーションテーブル５６からアノテーションファイルのデータ（以下、アノテーションデータ）を入力して、アノテーション内のＸＰａｔｈとウェブコンテンツとのマッチングを計算する。そして、計算結果（評価結果）をマッチングテーブル５７に格納する。マッチングテーブル５７に格納された評価結果は、後述するサイトパターンアナライザ５０の操作画面において、一覧ビューとして表示される。
このマッチング評価モジュール５１は、サイトパターンアナライザ５０の起動時やリロード時など、再計算が必要になったときに呼び出されて処理を行う。
【００５３】
ツリービューコントローラ５２は、上記の初期動作でキャッシュされた処理対象であるウェブコンテンツのＨＴＭＬファイル及びＨＴＭＬファイルリストを入力し、アノテーションテーブル５６からアノテーションファイルのデータを入力して、アノテーション及び管理対象であるサイト全体におけるウェブコンテンツのツリー表示を行う。ツリービューコントローラ５２の出力は、後述するサイトパターンアナライザ５０の操作画面において、ツリービューとして表示される。
【００５４】
アノテーション修正モジュール５３は、アノテーションテーブル５６に格納されているアノテーションデータに対して、プロパティの変更や半自動修正などによるアノテーションの変更をコントロールする。また、変更の一時的なキャッシュや実際のアノテーションへの反映をコントロールする。
【００５５】
マッチング文字列抽出モジュール５４は、マッチングテーブル５７からマッチング評価モジュール５１による評価結果を読み込み、上記の初期動作でキャッシュされた処理対象であるウェブコンテンツのＤＯＭツリーを入力して、アノテーション内のＸＰａｔｈとウェブコンテンツとのマッチングの詳細を文字列表示したり、マッチするアノテーションの存在しない空グループや漏れコンテンツを表示したりするために、マッチング文字列の算出を行う。マッチング文字列抽出モジュール５４の処理結果は、後述するサイトパターンアナライザ５０の操作画面において、詳細ビューとして表示される。
【００５６】
ブラウザ・ＤＯＭツリー同期モジュール５５は、所定のウェブコンテンツにおけるＤＯＭツリーと、当該ウェブコンテンツのブラウザビューとを同期させる。ブラウザ・ＤＯＭツリー同期モジュール５５の出力は、後述するサイトパターンアナライザ５０の操作画面において、ブラウザビューとして表示される。
【００５７】
図６は、サイトパターンアナライザ５０によるアノテーション管理を行うための操作画面の例を示す図である。
図６に示すように、この操作画面６０には、ツリービュー６１と、一覧ビュー６２と、詳細ビュー６３と、ブラウザビュー６４とが設けられている。
【００５８】
ツリービュー６１は、ツリービューコントローラ５２の出力であり、アノテーション及び管理対象であるサイト全体におけるウェブコンテンツのツリー構造を表示する。オーサーは、このツリービュー６１で所望のディレクトリを選択することにより、アノテーションの付加状況を確認したいウェブコンテンツを含むディレクトリを指定することができる。
【００５９】
一覧ビュー６２は、ツリービュー６１にて指定されたディレクトリに含まれるウェブコンテンツに関して、マッチングテーブル５７に格納されているマッチング評価モジュール５１による評価結果を一覧表示する。
この一覧ビュー６２には、ウェブコンテンツを特定するページタイトル（６２ａ）やＵＲＬ（６２ｂ）、対応するアノテーションを特定するＩＤ（アノテーション名：６２ｃ）、当該ウェブコンテンツにマッチするアノテーションの数（６２ｄ）、ウェブコンテンツ中のグループとアノテーションにおけるエレメントとの対応関係（対応するエレメントの有無：６２ｅ）を示す情報などが表示される。これによって、オーサーは、アノテーションを調整したり新たに付加したりすべきウェブコンテンツを判断することができ、また、どのような操作を行う必要があるかを認識することができる。
さらに、オーサーは、この一覧ビュー６２において所望のウェブコンテンツを選択することにより、詳細ビュー６３に表示するウェブコンテンツを指定することができる。
【００６０】
本実施の形態におけるウェブコンテンツとアノテーションとのマッチングの処理において、アノテーション漏れがある場合でも適用可と判定されてしまい、残りのコンテンツがトランスコードの対象とならない場合がある（スーパーセット問題）。
このような事態を回避するため、図６に示す一覧ビュー６２において、各アノテーションに、「アノテーション漏れ表示列」と「空グループインディケーター列」を設けることができる（６２ｆ）。
「アノテーション漏れ表示列」は、グループに対するアノテーションに含まれないテキストノード、イメージのＡＬＴ属性の合計文字数が一定量（ユーザ指定）を超えた場合にアノテーション漏れが存在する可能性があるとしてアラートを表示する。
また、「空グループインディケーター列」は、グループ内にコンテンツが含まれていない場合に、これを表示する。
これらの表示を行うことにより、アノテーションのオーサーは、検証及び修正が必要なアノテーションを容易に判別可能となる。
【００６１】
なお、これらの表示列においては、例えば、次のようなルールでコンテンツを文字列に変換してコンテンツ量を測定することができる。
１．通常のテキストノードの文字列。
２．画像についてはＡＬＴ属性の文字列。
３．ＡＬＴ属性のない画像については画像ファイル名を文字列と判断。ただし、「spacer.gif」「1x1white.gif」といったコンテンツとはみなすことのできない画像に関してあらかじめリストアップされている場合は除外する。
４．text・textarea inputで入力文字数が判明している場合は、その文字数のダミー文字列（xxxxxxなど）。判明していない場合は、任意に設定された文字数の文字列。
５．image型のinputに関しては画像と同様。
６．埋め込みオブジェクトが存在する場合、その画面上に閉める大きさに基づいて適当な文字列を割り当てる。
７．JavaScriptなど動的にコンテンツが生成、移動される場合は、予測可能な範囲で文字列を算出。
【００６２】
詳細ビュー６３は、マッチング文字列抽出モジュール５４による出力であり、アノテーションの内容とウェブコンテンツ中のオブジェクトとの詳細な対応関係が文字列表示される。これにより、オーサーは、アノテーションがウェブコンテンツ中の適切なオブジェクトに正しく対応付けられているかどうかを判断することができる。
【００６３】
ブラウザビュー６４は、ブラウザ・ＤＯＭツリー同期モジュール５５の出力を、ブラウザコンポーネントを介して表示したものであり、上記のツリービュー６１、一覧ビュー６２及び詳細ビュー６３を介して操作された内容を、実際のウェブコンテンツに反映させて表示する。これにより、オーサーは、アノテーションに基づくトランスコーディングがウェブコンテンツに実際にどのように反映されるかを確認しながら、アノテーション管理のための操作を行うことができる。
【００６４】
本実施の形態におけるサイトパターンアナライザ５０は、図５を参照して説明した主要な機能の他に、複数のアノテーションが同一のページに適用可能になってしまう場合に対する対応機能として、オーサーによる指定にしたがって、半自動的にＸＰａｔｈに条件を追加する機能を持たせることができる。
例えば、図１０に示したトップニュースのテーブルに対するＸＰａｔｈのうち、アノテーションエディタによって容易に生成可能な部分はテーブルの指定までである。すなわち、
/html[1]/body[1]/table[7]/tbody[1]/tr[1]/td[3]/table[1]
これに対し、この場合、文字列が「■トップニュース」であるか「■Memo」であるかによってアノテーションを切り替える必要がある。そのため、
[starts-with(child::tbody[1]/tr[1]/td[1]/table[1]/tbody[1]/tr[1]/td[1], '■トップニュース')]"
という条件を追加しなければならない。作業単位として１つのウェブコンテンツに対するアノテーションを付加することを目的とした通常のアノテーションエディタによって、このような条件を付加する作業は困難であるが、サイトパターンアナライザ５０によれば、多数のウェブコンテンツを同時に閲覧可能であるため、半自動的な処理により必要な条件を付加することができる。
【００６５】
図７は、かかる半自動的な処理の手順を説明するフローチャートである。
図７に示すように、処理を開始すると、まず、同一のアノテーションにマッチすると判断されたウェブコンテンツが複数（例えば１０個程度）表示される（ステップ７０１）。オーサーは、詳細ビュー６３を参照し、誤ったエレメントを指定している例（テーブルのセル）を選択し（ステップ７０２）、「誤りグループ自動修正」コマンドを入力する（ステップ７０３）。ただし、同一グループに限る。
これにより、修正候補が提示される（ステップ７０４）。ここで、修正候補は、次の条件でリストアップされる。
・グループ内文字列の開始ｎ文字で判別できるかをテスト
例：/html[1]/body[1]/table[3]
→/html[1]/body[1]/table[3][starts- with(child::*, '過去の記事')]
・背景色で判別テスト
/html[1]/body[1]/table[3][@bgcolor='CCCCCC']
・片方にしか含まれていないノードを探す。
/html[1]/body[1]/table[3][child::tbody[1]/tr[2]/td[1]/img[1]]
【００６６】
この後、オーサーは、適切な修正候補を選択する（ステップ７０５）。
実装としては、このような候補選択型の他に、ウィザード形式によりステップバイステップで作業を進める手法も考えられる。
【００６７】
以上説明したサイトパターンアナライザ５０を用いて所定のウェブサイト全体のウェブコンテンツに対してアノテーションを付加する処理について説明する。
図８は、かかる処理の手順を示すフローチャートである。
図８に示すように、まず、所望のサイト全体を巡回してウェブコンテンツを取得し、キャッシュする（ステップ８０１）。そして、キャッシュされたウェブコンテンツに対し、サイトパターンアナライザ５０やアノテーションエディタを用いてアノテーションを作成する（ステップ８０２）。
【００６８】
次に、サイトパターンアナライザ５０が、ステップ８０１でキャッシュされたウェブコンテンツと、ステップ８０２で作成されたアノテーションとを解析し、各アノテーションがウェブサイトにおけるどのウェブコンテンツに対して適用可能かを示す情報を表示出力する（ステップ８０３）。そして、解析結果によりアノテーションが付加されていないと判断されたウェブコンテンツに対して、個別にアノテーションを付加する（ステップ８０４）。アノテーションを付加する処理としては、アノテーションエディタを用いて新たなアノテーションを付加したり、既存のアノテーションのうち、所定のグループをオプショングループに設定して所望のウェブコンテンツに適合するようにしたりすることができる。
また、多重にアノテーションが適用されてしまうウェブコンテンツが検出された場合は、誤ってアノテーションが適用されているグループを修正する（ステップ８０５）。この修正には、図７に示した上述の半自動修正機能を用いることができる。
以上の処理によって、全てのウェブコンテンツ（もしくは主要なウェブコンテンツの全て）に対して１つずつのアノテーションが対応付けられたならば、当該完成したアノテーションファイルをトランスコーディングシステムにアップロードする（ステップ８０６）。
【００６９】
なお、上記の例では、アノテーションの作成に、サイトパターンアナライザ５０とは別に用意されたアノテーションエディタを用いることを前提としているが、サイトパターンアナライザ５０にアノテーションエディタとしての機能を持たせることもできる。このようにすれば、後述するように、サイトパターンアナライザ５０の出力である各ビューにおいてアノテーション漏れなどが検出された場合や、アノテーションの付加されていないウェブコンテンツに新たにアノテーションを付加する場合に、別途アノテーションエディタを用意することなく、当該機能を用いてアノテーションを編集することができる。
【００７０】
【発明の効果】
以上説明したように、本発明によれば、アノテーションを複数のウェブコンテンツに的確に流用し、トランスコーディングにおけるアノテーション付加に要する手間を大幅に削減することができる。
また、本発明によれば、ウェブコンテンツにアノテーションを付加する作業を簡略化するためのツールを提供することができる。
【図面の簡単な説明】
【図１】  本実施の形態によるアノテーションに基づくトランスコーディングを実現するシステム構成を説明する図である。
【図２】  本実施の形態におけるトランスコーダの動作を説明するフローチャートである。
【図３】  本実施の形態におけるアノテーションデータベースの動作を説明するフローチャートである。
【図４】  本実施の形態で用いられるオプショングループに対応したＸＰａｔｈに対するＸＭＬ記述を示す図である。
【図５】  本実施の形態で用いられるサイトパターンアナライザの機能構成を説明する図である。
【図６】  サイトパターンアナライザによるアノテーション管理を行うための操作画面の例を示す図である。
【図７】  複数のアノテーションが同一のページに適用可能と判定された場合に、半自動的な処理で修正を行う手順を説明するフローチャートである。
【図８】  サイトパターンアナライザを用いて所定のウェブサイト全体のウェブコンテンツに対してアノテーションを付加する処理を説明するフローチャートである。
【図９】  アノテーションに基づくトランスコーディングを実現するシステム構成を説明する図である。
【図１０】  ニュース記事を記載するウェブページのレイアウトの例を概略的に示す図である。
【符号の説明】
１０…トランスコーダ１０…アノテーションデータベース、３０…ウェブサーバ、４０…端末装置（ウェブクライアント）、５０…サイトパターンアナライザ、５１…マッチング評価モジュール、５２…ツリービューコントローラ、５３…アノテーション修正モジュール、５４…マッチング文字列抽出モジュール、５５…ブラウザ・ＤＯＭツリー同期モジュール、６０…操作画面、６１…ツリービュー、６２…一覧ビュー、６３…詳細ビュー、６４…ブラウザビュー
【図１】
0004351405.tif 000002
【図２】
0004351405.tif 000003
【図３】
0004351405.tif 000004
【図４】
0004351405.tif 000005
【図５】
0004351405.tif 000006
【図６】
0004351405.tif 000007
【図７】
0004351405.tif 000008
【図８】
0004351405.tif 000009
【図９】
0004351405.tif 000010
【図１０】
0004351405.tif 000011