JP6116247B2 - 視覚的要素をブロック分割し、識別し、インデクスを付けて、ドキュメントを検索するためのシステムおよび方法 - Google Patents

視覚的要素をブロック分割し、識別し、インデクスを付けて、ドキュメントを検索するためのシステムおよび方法 Download PDF

Info

Publication number
JP6116247B2
JP6116247B2 JP2012532139A JP2012532139A JP6116247B2 JP 6116247 B2 JP6116247 B2 JP 6116247B2 JP 2012532139 A JP2012532139 A JP 2012532139A JP 2012532139 A JP2012532139 A JP 2012532139A JP 6116247 B2 JP6116247 B2 JP 6116247B2
Authority
JP
Japan
Prior art keywords
block
document
blocks
visual element
metadata
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2012532139A
Other languages
English (en)
Other versions
JP2013506913A5 (ja
JP2013506913A (ja
Inventor
ムスルリ,アラビンド
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Publication of JP2013506913A publication Critical patent/JP2013506913A/ja
Publication of JP2013506913A5 publication Critical patent/JP2013506913A5/ja
Application granted granted Critical
Publication of JP6116247B2 publication Critical patent/JP6116247B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9538Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Description

本開示は、データソースを検索するための方法およびシステムに広く関係するものである。より具体的には、本開示は、検索者の要求にあわせてコンピュータ検索をカスタマイズする方法に関するものである。また、本開示は、当該検索によって発見された情報の本質および範囲を容易に理解できるように、検索結果を表示する方法にも関係する。
〔関連出願の相互参照〕
本出願は、「視覚的要素をブロック分割し、識別し、インデクスを付けて、ドキュメントを検索するためのシステムおよび方法」と題されて2009年10月2日に出願された61/247,973号の、米国特許仮出願の利益を享受するものであり、その内容は参照によって本明細書に組み込まれる。
〔背景技術〕
このセクションにおける記載は、本願の開示に関係した背景となる情報を開示しているに過ぎず、従来技術を構成しない。
近年の情報化時代においては、ローカルコンピュータにある膨大な量のデータ、およびイントラネットやインターネットとして公知の世界的なコンピュータネットワークに存在するほとんど無限量のデータに、ユーザはアクセスしている。
所望の情報を発見するために、ユーザは、おなじみで、さまざまな形態があり、技術的に公知の検索エンジンを利用することが通常である。プログラムに組み込まれた検索エンジンがあり、プログラムに展開された1つのドキュメントに含まれる情報を発見するために、それらはたいてい利用される。一般的なドキュメント検索エンジンの一例には、マイクロソフト(登録商標)ノートパッドファインド(Notepad Find)や、マイクロソフト(登録商標)アウトルック(登録商標)サーチが含まれる。一方、デスクトップ検索エンジンにより、ユーザはローカルコンピュータにある情報を発見できる。一般的なデスクトップ検索エンジンの一例には、マイクロソフト(登録商標)ウィンドウズ(登録商標)XP検索や、Mac(登録商標)OSファインダーなどが含まれる。ウェブ検索エンジンにより、ユーザはインターネット(またはイントラネット)にある情報を発見できる。一般的なウェブ検索エンジンには、グーグル(登録商標)、Bing(登録商標)、およびYahoo(登録商標)が含まれる。ローカルおよびリモートのデータソースの両方を検索するハイブリッドな検索エンジンもある。
所望のトピックに関する情報を探すユーザは、検索エンジンを利用するために、当該トピックに関係したキーワードまたはフレーズで構成される検索クエリを、当該検索エンジンの検索インターフェースに入力することが通常である。当該検索が1つのドキュメントに対して実行される場合、当該検索エンジンは当該ドキュメントにおいてマッチした部分をハイライト表示する。当該検索が複数のドキュメントに対して実行される場合、当該検索エンジンは、検索キーワードを含む関係するドキュメントにリンクが張られた優先順位付きリストとともに、レポートを表示する。それぞれの結果には、テキストの短い要約も含まれる。当該要約は、当該検索クエリに係るキーワードを含むドキュメントに含まれるテキストの一部、または複数の部分である。
既存の検索エンジンは多くの機能を備えているが、依然として不足が生じている。ウェブ検索エンジンによる通常のインターネット検索は、無関係のデータを膨大な量だけ発見する。結果から選別を行ってユーザの要求に関係する比較的少数のウェブページを発見するために、一部ユーザに無視できない時間と労力とを強いている。
検索エンジンが大量に無関係の結果を返す理由は、キーワードによってインデクスを付け、検索をする方法それ自体が適切でないからである。例えば、「インド」について興味を持っているユーザが、「首都/ニューデリー」のように「キー/値」のペアに検索結果を指定し、絞り込むことは、既存の検索エンジンには不可能である。
既存の検索エンジンの他の欠点は、興味を持っているトピックに関連するキーワードを知らないユーザには、それらは役に立たないという点である。例えば、ユーザが「ジュラシック・パーク」に類似した映画を探したい場合、キーワード「ジュラシック・パーク」および「類似」による検索は、当該検索エンジンは「ジュラシック・パーク」に加えて「類似」という単語を含むページを返すため、役に立たない。
既存の検索エンジンのさらに他の欠点は、発見された結果の本質と種類とをユーザが容易に理解できるように、結果を提示することに失敗していることである。
イントラネット、エクストラネット、ローカルエリアネットワーク、個別のコンピュータ、そして1つのドキュメントを検索するシステムにも、たいてい同様の欠点がある。
上記欠点を鑑みれば、興味のあるトピックに関係する有用な情報を、データソースから検索するための効果的な方法が必要である。
当該開示のいくつかの側面について基本的な理解をもたらすために、以下で単純な開示の要約を提示する。当該要約は、当該開示を広範囲に概説するものではない。当該開示に係る特徴を規定しようとしたり、当該開示の範囲を詳細に説明しようとしたりするものでもない。その唯一の目的は、後述するより詳細な説明のための前置きとして、単純化された形態で当該開示に係るいくつかのコンセプトを提示することである。
以下で述べられる開示は、インターネット、エクストラネット、巨大な/小さなネットワーク、個別のコンピュータシステム、および個別のプログラム/ドキュメント/ファイルにある情報を、データソースから検索することに等しく適用可能である。したがって、本稿における開示および以下で与えられる実施の一例は、インターネット検索を用いて説明されるが、これは当該開示の実施および効用の一例であると理解されるものであり、当該実施の範囲に対するいかなる制限を意味するものでもない。反対に、以下の開示は、インターネット、ワイドエリアネットワーク(WAN)、ローカルエリアネットワーク(LAN)、個別のコンピュータシステム、および個別のプログラム/ドキュメント/ファイルのようなシステムにも好適に適用可能と理解されるべきである。
以下で説明される開示は、HTTP、HTTPS、FTP、File、TCP/IP、およびPOP3などの(しかしこれに限定されない)、データを通信するまたは送信することを目的とするいかなるプロトコル、および、開発された技術または将来開発される技術に等しく適用可能である。したがって、本稿における開示および以下で与えられる実施の一例は、HTTPおよびTCP/IPを用いて説明されることがあるが、これは当該開示の実施および効用の一例であると理解されるものである。反対に、以下の開示は、いかなる種類のローカルまたはネットワークプロトコル、およびデータを送信する、および/または、受信することを目的とする技術的に公知の、または将来に開発される技術にも好適に適用可能と理解されるべきである。
以下で説明される開示は、HTML、DHTML、XML、SGML、PDF、Eメール、マイクロソフト(登録商標)ワードドキュメント、マイクロソフト(登録商標)パワーポイントドキュメント、ニュースグループの投稿、マルチメディアオブジェクト、グラフィクスインターチェンジフォーマットイメージ、および/または、ショックウェーブフラッシュファイルなどの(しかしこれに限定されない)、テキストおよび付随的なプレゼンテーションセマンティクス(presentation semantics、ルックアンドフィールに関する指令)を含む任意のドキュメントに対するリンクを検索し、その結果を返すことに等しく適用可能である。上記プレゼンテーションセマンティクスは、CSSのような(しかしこれに限定されない)、技術的に公知の、または将来に開発される言語において、暗黙的に、または明示的に指定されてもよい。明示的に指定されている場合、ドキュメントのプレゼンテーションセマンティクスはデータとともに同じファイルに含まれていてもよいし、外部ファイルにおいて指定されてもよいし、または両者の組み合わせであってもよい。したがって、我々の開示および以下で与えられる実施の一例は、HTMLおよびCSSを用いて説明されることがあるが、これは当該開示の実施および効用の一例と理解されるものであり、当該実施の範囲に対するいかなる制限を意味するものでもない。反対に、以下の開示は、いかなるドキュメント、ファイル、または、テキスト、オーディオおよびビデオオブジェクト、イメージ、および他のマルチメディアオブジェクトを、付随的なプレゼンテーションセマンティクスの指令とともに含む、技術的に公知の、または将来に開発されるユニットに組み立てられたファイルの組み合わせにも、好適に適用可能と理解されるべきである。
本開示は、データソースから情報を検索する方法およびシステムに広く関係するものである。より具体的には、視覚に基づいて(vision-based)識別し、抽出し、そしてセグメント、またはパラグラフにマッチしたドキュメントの一部、表、リスト、メニュー、固定幅テキスト、キー/値、グラフ/チャート、質問/回答、タイムライン、および表示インターフェース上でドキュメントを見つめる際に人間が行う方法に類似するインタラクティブ(以下では「視覚的要素」と称する)の種類にインデクスを付ける方法に関係する。
本開示の1つの側面において、人間はモニターや紙などの表示インターフェースに描画されたドキュメントの一部から、視覚的要素の種類(visual element types)のドキュメントに含まれる視覚的要素を識別する、および/または、抽出する。また、本開示の他の側面において、システムはブロックおよびプロファイルを活用して、視覚的要素の種類のドキュメントに含まれる視覚的要素を自動的に識別する、および/または、抽出する。また、本開示のさらに他の側面において、視覚的要素の上記識別および抽出に人間とシステムとの組み合わせが使われてもよい。
ブロックは、ドキュメントのロジカルユニット(logical unit)である。プロファイルは、マッチしたブロックを識別し、それがドキュメントの一部として表示インターフェースに描画されたとき、当該ブロックを視覚的に見ることによって人間が当該ブロックを識別するように、視覚的要素の種類を識別するように設計されたルールの集合である。
本開示のさらなる目的は、発見された視覚的要素にインデクスを付け、ランク付けをすることである。
本開示のさらなる目的は、1つまたは複数の視覚的要素の種類に結果を限定することによって、トピックに関連した情報を検索するインターフェースを、ユーザに提供することである。当該検索インターフェースは、検索クエリとしてフレーズを入力しているユーザに提案を行う。また、当該結果のレポートにおいてさらなる提案を行う。
本開示のさらなる目的は、水平リスト、および/または、垂直リストとして、および/または、格子において、ユーザ検索クエリに対する応答において、優先順位つき検索結果を表示することである。
本開示のさらなる目的は、それぞれの検索結果に対するパラグラフテキストとして概要を表示することである。当該概要は、当該検索クエリのキーワードを含むドキュメントに含まれるテキストの一部、または複数の部分である。本開示の他の側面において、検索結果は、元のドキュメントにおいて発見されたものと同一の視覚的タイプ(visual type)で示される。すなわち、表の視覚的タイプの概要は、元のドキュメントで発見された表である。さらに他の側面において、当該結果の概要は、元のドキュメントにおいて発見されたものと同一の視覚的タイプおよびプレゼンテーションセマンティクスによって示される。
本開示のさらなる目的は、視覚的要素の種類をさらに含む検索クエリを用いてユーザにより検索が実行された場合、結果レポートに広告を表示することである。本開示の他の側面において、マーケティング担当者は、視覚的要素の種類をさらに含む検索クエリによる結果レポートの広告スペースに入札する。本開示のさらに他の側面において、ドキュメントの著者またはドキュメントの所有者は、インデクスを付けられ、検索結果の一部に含まれたドキュメントの視覚的要素に対して料金を支払う。
本開示の一実施の形態に係る検索エンジンシステムの一例を示すブロック図である。 図1に示した検索エンジン計算機器の一例を示すブロック図である。 ドキュメントのソースコンテンツデータの一例を示す図である。 図3に示したソースコンテンツデータのプレゼンテーションセマンティクスの一例を示す図である。 図3に示したソースコンテンツデータのメタデータの一例を示す図である。 ブロックを識別する基準データの一例を示す図である。 ブロックを識別する基準データの一例を示す図である。 図3に示したソースコンテンツデータを表示機器に表示した一例を示す図である。 図2のブロック分割およびインデクス付けロジックによって実現されるブロック境界を示す図8の表示を示す図である。 図2のブロック分割およびインデクス付けロジックによって実現されるブロック境界の一例を示す図である。 図2のブロック分割およびインデクス付けロジックによって実現されるブロック境界の一例を示す図である。 図11のブロックの結合を示す図である。 各フォントファミリ、フォントサイズ、およびフォントウェイトの組み合わせに対する重要値を示す表の一部である。 図2のブロック分割およびインデクス付けロジックによって実現されるブロック境界の一例を示す図である。 「リスト」の種類の視覚的要素を含むソースコンテンツデータの一例を示す図である。 「固定幅テキスト」の種類の視覚的要素を含むソースコンテンツデータの一例を示す図である。 図16のソースコンテンツデータに対するプレゼンテーションセマンティクスのデータの一例を示す図である。 「リスト」の種類の視覚的要素を含むソースコンテンツデータの一例を示す図である。 図18のソースコンテンツデータに対するプレゼンテーションセマンティクスのデータの一例を示す図である。 「リスト」の種類の視覚的要素を含むソースコンテンツデータの一例を示す図である。 「パラグラフ」の種類の視覚的要素を含むソースコンテンツデータの一例を示す図である。 図21のソースコンテンツデータに対するプレゼンテーションセマンティクスのデータの一例を示す図である。 「表」の種類の視覚的要素を含むソースコンテンツデータの一例を示す図である。 図23のソースコンテンツデータに対するプレゼンテーションセマンティクスのデータの一例を示す図である。 「表」の種類の視覚的要素を含むソースコンテンツデータの一例を示す図である。 図25のソースコンテンツデータに対するプレゼンテーションセマンティクスのデータの一例を示す図である。 「キー/値」の種類の視覚的要素を含むソースコンテンツデータの一例を示す図である。 図27のソースコンテンツデータに対するプレゼンテーションセマンティクスのデータの一例を示す図である。 「質問/答え」の種類の視覚的要素を含むソースコンテンツデータの一例を示す図である。 「メニュー」の種類の視覚的要素を含むソースコンテンツデータの一例を示す図である。 図30のソースコンテンツデータに対するプレゼンテーションセマンティクスのデータの一例を示す図である。 「固定幅テキスト」の種類の視覚的要素を含むソースコンテンツデータの一例を示す図である。 図32のソースコンテンツデータに対するプレゼンテーションセマンティクスのデータの一例を示す図である。 「タイムライン」の種類の視覚的要素を含むソースコンテンツデータの一例を示す図である。 「グラフ/チャート」の種類の視覚的要素を含むソースコンテンツデータの一例を示す図である。 「インタラクティブ」の種類の視覚的要素を含むソースコンテンツデータの一例を示す図である。 本開示の一実施の形態に係るソースコンテンツデータの一例を示す図である。 図2に示されるブロック分割およびインデクス付けロジックのアーキテクチャおよび機能性の一例を示すフローチャートである。 図1の検索エンジンシステムによってユーザに提示されるグラフィカルユーザインターフェース(GUI)の一例である。 図1の検索エンジンシステムによってユーザに提示されるGUIの他の一例である。 ユーザが図1の検索エンジンシステムに検索クエリを入力するにつれて、キーワード提案を当該ユーザに提示するGUIの一例を示す図である。 「リスト」の種類の視覚的要素に対するユーザ検索の応答として、図1の検索エンジンシステムによってユーザに提示される結果レポートの一例である。 「リスト」の種類の視覚的要素に対するユーザ検索の応答として、図1の検索エンジンシステムによってユーザに提示される結果レポートの他の一例である。 「リスト」および「表」の種類の視覚的要素に対するユーザ検索の応答として、図1の検索エンジンシステムによってユーザに提示される結果レポートの一例である。
本開示は、ドキュメントを検索してインデクスを付けるシステムおよび方法に関するものである。本開示の一実施の形態に係るシステムは、ネットワークにおけるドキュメント(またはウェブページ)の場所を探すクローラ(crawler)を用いる。ドキュメントが発見されると、所定のルールに基づいて、当該システムは発見された各ドキュメントをブロックに分割する。さらに、所定のルールに基づいて、当該システムは各ドキュメントに含まれる視覚的要素(visual elements)を探す。例えば、所定のルールに基づいて、当該システムはドキュメントに含まれる表(tables)、パラグラフ(paragraphs)、タイトル(titles)、リスト(lists)、および固定幅テキスト(fixed width text)を探す。視覚的要素の判定は、当該ドキュメントのソースコンテンツ(source content)、当該ドキュメントのプレゼンテーションセマンティクス(presentation semantics)、および当該ドキュメントに関連するメタデータ(metadata)を解析することによってなされる。上記視覚的要素が発見されると、それらにインデクスが付けられる。これにより、ユーザは視覚的要素を含むドキュメントを検索できる。
図1は、本開示の典型的な一実施の形態に係るウェブ検索エンジン100を示す。システム100は、ウェブサーバ101、検索エンジンサーバ102、およびクライアント103を含む。ウェブサーバ101、検索エンジンサーバ102、およびクライアント103は、ネットワーク104を介して互いに通信する。
ネットワーク104は、技術的に公知の、または将来に開発される任意のタイプのネットワークを含む。すなわち、ネットワーク104は、イーサネット(登録商標)、ローカルエリアネットワーク(LAN)、またはワイドエリアネットワーク(WAN)であってよく、例えばインターネットや複数のネットワークの組み合わせでよい。
典型的な検索エンジンサーバ102においては、ウェブドキュメント、一般的にHTMLウェブページおよびそれらに関連したカスケーディングスタイルシート(CSS)のプレゼンテーションファイルをクローラロジック105が取得し、それらをドキュメントおよびプレゼンテーションデータ108に蓄積する。クローラロジック105は、クロールされたドキュメントにおいて、自身が行き当たったドキュメントへのすべてのリンクを追跡するオートメーション化されたブラウザである。各リンクは、ウェブサーバ101に提供されるウェブページ111を特定する。簡単のために、1つのウェブサーバ101によって提供されるウェブページ111が1つだけ、図1に示されている。しかし、ウェブサーバ101は複数のドキュメントを提供できるし、クローラロジック105は、当該ウェブサーバがネットワーク104と通信可能に接続されている限り、リンクによって特定され、ウェブサーバによって提供される任意のドキュメントを取得できる。ウェブページ111は、ウェブページまたはドキュメントであってもよいことに注意する。
また、クローラロジック105は、当該ドキュメントを特定するリンク、当該ドキュメントがクロールされた日時、当該ドキュメントのサイズなど、ドキュメントに関係する追加の情報を、ドキュメントおよびプレゼンテーションデータ109に蓄積してもよいことに注意する。
さらに、検索されたドキュメントおよびそれらに付随するプレゼンテーションファイルが、ブロック分割およびインデクス付けロジック106に、すでに好適に利用可能である場合、クローラロジック105を必要としないことに注意する。
検索エンジンサーバ102は、ブロック分割およびインデクス付けロジック106をさらに含む。ブロック分割およびインデクス付けロジック106は、ドキュメントおよびプレゼンテーションデータ108にあるドキュメントを、それらに付随するプレゼンテーションファイルとともに解析する。ブロック分割およびインデクス付けロジック106は、各ドキュメントに対して、当該ドキュメントをロジカルユニット(以下「ブロック」と称する)に分割し、プロファイルを活用して各ブロックの一部である視覚的要素を識別する。ブロック分割およびインデクス付けロジック106は、インデクスデータ109にある識別された視覚的要素のインデクスをさらに生成する。ブロック分割およびインデクス付けロジック106について、図3から図38を参照してさらに説明する。
インデクスが生成されてインデクスデータ109に格納されると、クライアント計算機器103で動作するクライアントロジック112を介して、ユーザ113は検索クエリを入力できる。ここで、検索クエリは、ユーザが収集に興味を持っている情報の種類を識別可能な1つまたは複数の視覚的要素の種類とキーワードとで構成される。クライアントロジック112によってユーザ113に示される、ユーザ検索クエリを受け取る典型的なインターフェースについて、図39から図44を参照してさらに説明する。
クライアントロジック112は、例えばインターネットブラウザを含む。しかし、本開示の他の実施の形態においては、ユーザ113に対するインターフェースであって、検索エンジンロジック107と通信する他の種類のクライアントロジック112が使われてもよい。クライアントロジック112は、ネットワーク104を介して、ユーザ検索クエリを検索エンジンサーバ102に送信する。上記ユーザ検索クエリを受信すると、ユーザの検索クエリに含まれる視覚的要素の種類によって絞り込まれた当該ユーザ検索クエリとマッチする用語を、それが含むか否かを判定するために、検索エンジンロジック107はインデクスデータストア109を走査する。含むと判定される場合、検索エンジンロジック107は、特定された視覚的要素の種類に含まれる全てまたは一部のキーワードを含むすべてのドキュメントの優先順位つきリストを編集し、当該リストをクライアントロジック106に返す。クライアントロジック106は、当該結果をユーザ113に向けてウィンドウに表示する。
他の実施の形態において、検索エンジンロジック107は、上記ユーザ検索クエリを受信すると、当該ユーザ検索クエリに含まれる視覚的要素の種類によって検索結果を絞り込むことに代えて、ユーザ検索クエリにおいて特定されたように、当該視覚的要素の種類に発見されたキーワードを含むドキュメントに、より大きな関連性または高いランクを割り当ててもよい。したがって、2つのウェブサイト(またはドキュメント)がユーザ検索クエリに含まれるキーワードとマッチする単語を含み、当該ユーザ検索クエリにおいて特定される種類の視覚的要素に含まれるキーワードを当該ウェブページの1つが含む場合、他のすべては等しく、ユーザによって特定される種類の当該視覚的要素に当該キーワードを含むウェブページは、検索結果において高いランク付けがなされ、当該検索クエリに対する応答としてユーザに送信される。したがって、検索結果は、与えられたウェブページがキーワードにマッチする単語を含むか否か、そしてそれはどの程度あるかに基づくだけでなく、マッチした単語が使われた文脈にも基づく(例えば、マッチした単語が特定された種類の視覚的要素において使われているか否か)。
他の実施の形態において、検索エンジンロジック107は、上記ユーザ検索クエリの応答となる検索結果とともに、広告データ110からの広告を含んでもよい。
図2は、本開示の一実施の形態に係る検索エンジンサーバ102の一例を示す。検索エンジンサーバ102は適当な計算環境の一例に過ぎず、本開示の実施または機能性の範囲を限定しようとするものではない。
検索エンジンサーバ102は、バス206、演算ユニット201、メモリ202、ネットワーク機器203、入力機器204、および出力機器205を含む。バス206は、
計算機器200の各コンポーネント間で通信を可能にするパスを含んでよい。
メモリ202には、クローラロジック105、ブロック分割およびインデクス付けロジック106、検索エンジンロジック107、ドキュメントおよびプレゼンテーションデータ108、インデクスデータ109、および広告データ110が格納されている。これらのコンポーネントは、ソフトウェア、ハードウェア、ファームウェア、または、ハードウェア、ソフトウェア、またはファームウェアの組み合わせによって実装される。一実施の形態において、クローラロジック105、ブロック分割およびインデクス付けロジック106、検索エンジンロジック107、ドキュメントおよびプレゼンテーションデータ108、インデクスデータ109、および広告データ110は、メモリ202に格納されたソフトウェアとして示される。
メモリ202は、技術的に公知の、または将来に開発される、揮発性および不揮発性のメモリを含む、いかなる種類の、電気的にデータを保持するコンピュータメモリ、および/または、論理回路であってよい。ここで、メモリ202は、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、フラッシュメモリ、ハードディスク、フロッピー(登録商標)ディスク、または磁気テープおよび光ディスクなどの任意の磁気記録機器(magnetic computer storage device)を含む。
演算ユニット201は、メモリ202に格納されたタスクや命令を解釈し、または実行する演算ハードウェアを含む。演算ユニット201は、マイクロプロセッサ、デジタルプロセッサ、または命令を駆動、および/または、実行するために設計されたその他の回路であってよいことに注意する。
ネットワーク機器203は、技術的に公知の、または将来に開発される、ネットワーク104(図1)を介して通信する任意のネットワーク機器(例えばモデム)であってよい。ここで、検索エンジンサーバ102(図1)は、ネットワーク機器203を介してネットワーク104(図1)上で、ウェブサーバ101(図1)およびクライアント計算機器103(図1)と通信する。
入力機器204は、技術的に公知の、または将来に開発される、ユーザ114(図1)からデータを受信する任意の入力機器である。例えば、入力機器204は、キーボード、マウス、タッチスクリーン、シリアルポート、スキャナ、カメラ、またはマイクロフォンであってよい。
出力機器205は、技術的に公知の、または将来に開発される、ユーザ114(図1)にデータを表示する任意の出力機器であってよい。例えば、出力機器205は、液晶ディスプレイ(LCD)、またはその他の種類のビデオディスプレイ装置、スピーカ、またはプリンタであってよい。
本開示は、検索エンジンサーバ102(図1)のタスクまたは命令が通信可能にネットワークに接続された複数の計算機器によって実現されるような、分散型の計算環境で実現されてもよいことに注意する。
また、検索エンジンサーバ102の各コンポーネントは、ソフトウェア、ハードウェア、ファームウェア、または、これらの任意の組み合わせによって実装されることに注意する。検索エンジンサーバ102の一例においては、図1に示されるように、すべてのコンポーネントはソフトウェアによって実装され、メモリ202に格納される。
図3から図14は、ブロック分割およびインデクス付けロジック106によってドキュメントがブロックに分割されることを示す。ブロック分割およびインデクス付けロジック106は、当該ドキュメントに含まれる視覚的要素を発見するシステムの機能をさらに高める。
前述したように、ブロックはドキュメントのロジカルユニットである。ブロックについて考える1つの方法は、以下のとおりである。すなわち、文字が単語を作り、単語がセンテンスを作り、センテンスがブロックを作り、ブロックがより大きなブロックを作り、ドキュメントそれ自体が最も大きいブロックである。ドキュメントの種類によって、改行、マークアップ、プレゼンテーションセマンティクス、および/または、対応付けられたデータは、ブロックを識別する上で役に立つ。
前述したように、ブロックが内側にブロックを含むように、ブロックはネスト(入れ子)されてよい。ブロックを内包するブロックを親ブロック(parent blocks)と称し、内側のブロックを子ブロック(child blocks)と称する。親ブロックは、子ブロック全体を常に含む。ネストにより、ブロックは複数の親ブロックを有することがあることに注意する。子ブロックをもたないブロックは特別な種類のブロックであり、ブロックアイテム(block items)と称される。ドキュメント全体は、ロジカルユニットでありブロックでもあるため、ルートブロック(root block)と称される。ルートブロックを除くすべてのブロックは、親ブロックをもつ。
ブロックのネストの経過を追うために、各ブロックにはレベルが割り当てられる。同一の数の親ブロックをもつ2つのブロックは同一のレベルとなり、異なる数の親ブロックを持つ2つのブロックは異なるレベルとなるように、ブロックレベルが割り当てられる。本開示の一実施の形態において、ブロックのレベルはその親ブロックの数と等しい。ルートブロックのレベルはゼロである。
クローラロジック105(図1)が、ドキュメントおよびプレゼンテーションデータ108(図1)に、ドキュメントに関係する任意のプレゼンテーションファイルとともに、当該ドキュメントをダウンロードすると、ブロック分割およびインデクス付けロジック106(図1)は、そのプレゼンテーションセマンティクスとともに、当該ドキュメントのソースコンテンツを解析し、初期メタデータを生成する。メタデータは、ここでその語が使われるとおり、収集され、導出され、または計算された、当該ドキュメントに関連する任意の情報を含むように、広く解釈されるものである。ここで、メタデータは、マークアップ、マークアップアトリビュート(markup attributes)、暗黙的および明示的なプレゼンテーションセマンティクス、当該ドキュメントが表示装置に表示される場合のテキストの位置データ、コメント、テキストがブロックまたはブロックアイテムの場合の当該テキストそれ自体に関する追加的に計算された値、平均フォントサイズなど、および以前に識別された/計算されたメタデータから追加的に計算された値を含む。上記メタデータは一例であって、他の実施の形態においては他の種類のメタデータが使われてもよい。
初期メタデータは、ブロック分割およびインデクス付けロジック106(図1)の実行を通して、より多くのメタデータによって増やされてよいことに注意する。また、ドキュメントの異なるセグメントは、異なるメタデータを有してよいことに注意する。さらに、生成されたメタデータの量および種類は、1つのドキュメントの種類から他のドキュメントのタイプに変化してもよいことに注意する。
図3は、クローラロジック105(図1)によってダウンロードされ、ドキュメントおよびプレゼンテーションデータ108(図1)に格納されたHTMLドキュメント300の一例の一部のソースコンテンツ301を示す。ソースコンテンツ301は、<DIV>要素302と<DIV>要素303とを含む。2つの空<BR>要素および305は、<DIV>要素303の中にネストされている。ソースコンテンツ301は、マークアップコンテンツおよびテキストコンテンツから成ることに注意する。
図4は、HTMLドキュメント300(図3)のために、クローラロジック105(図1)によってダウンロードされ、ドキュメントおよびプレゼンテーションデータ108(図1)に格納された、典型的なプレゼンテーションセマンティクス400のプレゼンテーションセマンティクスの部分401を示す。プレゼンテーションセマンティクス401は、ソースコンテンツ301(図3)に関係する。
図5は、<DIV>要素303(図3)に対して、ブロック分割およびインデクス付けロジック106(図1)によって生成されたメタデータ500の一部を示す。メタデータ500は、複数のメタデータ属性(metadata properties)501−512を含む。各メタデータ属性は、キー/値のペアから成る。メタデータ属性501および502は、<DIV>要素303(図3)のマークアップから導出される。メタデータ属性503は、明示的なプレゼンテーションセマンティクス401(図4)から導出される。メタデータ属性504、505、および506は、ドキュメント300(図3)の暗示的なプレゼンテーションセマンティクスから導出される。メタデータ属性507から510は、ドキュメント300(図3)の表示から推測される。メタデータ属性507および508は、ユーザに見えるように、<DIV>要素303(図3)の中にあるテキストコンテンツが始まる、表示インターフェースにおける開始位置を特定する。メタデータ属性509および510は、<DIV>要素303(図3)の中にあるテキストコンテンツのユーザに見えるように、表示インターフェースにおける幅および高さをそれぞれ特定する。メタデータを計算するためのドキュメントの表示は、仮想表示インターフェースにおけるメモリ202(図2)で行われてもよい。
メタデータ属性511および512は、ブロック分割およびインデクス付けロジック106(図1)による計算から導出され、図6から図12を参照して説明されるブロック識別処理の後、<DIV>要素303に対する既存のメタデータに拡張される。上記<DIV>要素303(図3)は、上記ブロック識別処理の間に、ブロック分割およびインデクス付けロジック106(図1)によって、ブロックとして識別されると仮定する。この情報は、メタデータ属性511に保存される。また、計算されたブロックのレベルは、メタデータ属性512に保存される。
ドキュメントのソースコンテンツおよびプレゼンテーションセマンティクスからメタデータを初期計算した後、ブロック分割およびインデクス付けロジック106(図1)によって実行される次のステップは、ブロックの識別である。当該ドキュメントのセグメントがブロックか否かを決定するために、ブロック分割およびインデクス付けロジック106(図1)は、少なくとも1つのブロック識別基準(block identifying criterion)の集合に対して、当該ドキュメントのセグメントがすべての基準に合致しているか否かを確認する。当該基準集合に含まれる各基準は、真か偽かを評価するメタデータ属性のルールである。ブロック識別基準の集合は、ブロックセグメントだけが当該基準集合におけるすべての基準を真と評価するように設計されている。
ブロック識別基準の集合に含まれる基準を作り出す1つの方法は、ドキュメントを視覚的に見て当該ドキュメントにあるブロックを識別し、当該ドキュメントのコンテンツのメタデータを生成し、ブロックとして視覚的に識別されたセグメントを特徴付けるそれら特定のメタデータ属性を識別および正規化することである。
ブロック識別基準の集合が複数存在する場合があり、ドキュメントのセグメントが少なくとも1つのブロック識別基準の集合を満たす場合、当該ドキュメントのセグメントはブロックであることに注意する。
図6は、ブロック識別基準の集合600の一例を示す。基準集合600は、唯一の基準601を含む。メタデータ属性のキーを伴うセグメントは「display」であり、対応するメタデータ属性の値は、基準601が真であることを評価する「block」である。<DIV>要素303(図3)は、基準601、すなわち基準集合600を満足するメタデータ属性505(図5)を含むことに注意する。<DIV>要素303(図3)は、少なくとも1つの基準集合を満足するため、ブロックである。
図7は、ブロック識別基準の集合700の他の一例を示す。基準集合700は、2つの基準701と702とを含む。基準701は、キー「start-tag」と対応するメタデータ属性の値「br.」とを有するメタデータ属性があることを要求する。基準702は、キーdisplayと対応するメタデータ値がないようなメタデータ属性がないことを要求する。<BR>要素304(図3)および305(図3)のメタデータは、上記基準集合700の両基準を満たす。したがって、空<BR/>要素もブロックである。
図8は、ソースコンテンツ301によって識別され、表示インターフェースにおいてユーザが見るような、ドキュメント300(図3)の一部801の図である。ソースコンテンツ301(図3)はマークアップコンテンツおよびテキストコンテンツから成るが、当該ドキュメントが表示インターフェースに表示された場合、ユーザは上記テキストコンテンツのみを見る。
図9は、ソースコンテンツ301(図3)によって特定されるドキュメント300(図3)の一部に含まれるすべてのブロックを示す図である。ブロック識別基準の集合をとおして、ブロック分割およびインデクス付けロジック106(図1)によって識別されるブロック901から906を明示するため、実線のボックスが図9において使われている。ブロックアイテム902はブロック901の子ブロックであることに注意する。さらに、ブロック904はブロック903の直系の子ブロックであるのに対して、ブロック905はブロック903の子ブロックであるが、ブロック903の直系の子ブロックではないことに注意する。
本開示の一実施の形態において、ドキュメントにあるすべてのテキストセグメントは、ブロックアイテムに属する。それが同一のブロックアイテムである必要は必ずしもない。また、1つ以上のブロックアイテムに属するテキストセグメントはない。ブロックアイテム902の中のテキストは、1つの部分および唯一のブロックアイテム902であるようなこれらの条件を満たす。しかし、ブロックの一部であるが、いかなるブロックアイテムの一部でもないテキストセグメント907から911の島が存在することに注意する。これらのテキストセグメントの島は、ブロック分割およびインデクス付けロジック106(図1)によってブロックアイテムとして明示される。テキストセグメント907は、ブロック903である親ブロックをもつブロックアイテムとして明示される。同様に、残りのテキストセグメント908から911は、ブロックアイテムとして明示される。ブロックアイテムもブロックであることに注意する。
他の実施の形態において、ブロックアイテムとして明示されるテキストセグメントが少しあるか、まったくないことがあることに注意する。
ここで、ブロック分割およびインデクス付けロジック106(図1)は、ドキュメント全体をブロックにセグメント化し、識別されたブロックのリストが用意される。次に、ブロック分割およびインデクス付けロジック106(図1)は、当該ブロックリストに含まれるブロックに対して、一連の処理を実行する。
ブロック分割およびインデクス付けロジック106(図1)によって実行される第1のブロック処理は、上記ブロックリストからすべての空ブロックを識別し、削除することである。この目的を達成するために、ブロック分割およびインデクス付けロジック106(図1)は、上記ブロックリストにあるすべての識別されたブロックに対し、ブロックのレベルの降順に繰り返し、各ブロックに対して当該ブロックが空であることを確認する。当該ブロックが空と判定される場合、当該ブロックは上記ブロックリストから削除される。当該ブロックに関連するものが表示インターフェースに表示されない、または描画されない場合、そのブロックは空とみなされる。空のブロックは、空ブロック識別基準の集合によって識別される。空ブロックとして識別されるために、少なくとも1つの空ブロック識別基準の集合に含まれるすべての基準を、ブロックは満たす必要がある。表示が無しに等しく、視認性が非表示に等しく、表示エリアが0に等しく、オーバーフローが非表示に等しく、またはブロックの中に視認可能なテキストや境界線がないようなメタデータ属性は、空ボックスと識別する助けになり、空ブロック識別基準の集合における基準の候補である。
空ブロックを識別する方法は、ドキュメントを処理し、結果と表示されたドキュメントを視覚的に見ることとを比較することによって達成される。ブロックがスクリーンに表示されず、空ブロックとして当該ブロックにフラグを立てることにプログラムが失敗した場合、ブロック分割およびインデクス付けロジック106(図1)に包含される必要のある空ブロックを識別する一般化されたメタデータ属性の組み合わせが存在する。一方、ブロック分割およびインデクス付けロジック106(図1)が空ブロックとしてブロックにフラグを立て、当該ドキュメントが表示インターフェースに表示された場合に当該ブロックのいくつかの部分が見えたとき、空ブロックを識別する目的で使わない、または使うべきではない場合、空としてブロックにフラグを立てる一般化したメタデータ属性の集合が存在する。
前述したように、ブロック分割およびインデクス付けロジックは、ソースコンテンツ301(図3)にあるブロック901から911(図9)を識別する。図8におけるソースコンテンツ301(図3)の表示から推測されるように、ブロック905および906の一部は表示インターフェースに表示されず、ブロック905および906は空ブロックである。両ブロックは可視テキストおよび可視境界線をもたないため、ブロック分割およびインデクス付けロジック106(図1)は、ブロック905および906を空ブロックとして識別し、上記ブロックリストからこれらを削除する。ブロック905および906を削除することにより、ブロック904は、5つの子ブロックアイテムの代わりに、3つの子ブロックアイテム908、909、および910をもつことになることに注意する。
ブロック分割およびインデクス付けロジック106(図1)によって実行される次の処理は、ブロックアイテムが重複しているか否かを確認することである。それは各ブロックアイテムによって占められる四角の領域として、位置メタデータから既知である。2つまたはそれ以上のブロックアイテムが互いに重複している場合、すべての重複ブロックアイテムは、上記ブロックリストから削除されてよい。
他の実施の形態において、他のブロックによって重複されているブロックのみが、上記ブロックリストから削除されてよい。さらに他の実施の形態において、他の非透過のブロックによって重複されているブロックのみが、上記ブロックリストから削除されてよい。
ブロック分割およびインデクス付けロジック106(図1)によって実行される次のブロック処理は、中間のブロックを識別し、上記ブロックリストから削除することである。直系に1つだけ子ブロックを含む場合、当該ブロックは中間ブロックとみなされる。
図10は、ユーザが見るようなドキュメントの一部(正確な縮尺ではない)を示す図であり、ブロック分割およびインデクス付けロジック106(図1)によって識別されるブロックを明示するために、当該図ではボックスを重ね合わせている。セグメントは4つのブロック1001から1004を含む。ブロック1001のレベルは2であり、ブロック1002のレベルは3であり、ブロック1003および1004のレベルは4であるとする。ブロック分割およびインデクス付けロジック106(図1)は、ブロック1001が直系の子ブロック1002を1つだけ含むと計算する。したがって、ブロック1001は中間ブロックであるため、上記ブロックリストから削除される。中間ブロック1001の子ブロック1002、1003、および1004は、ブロック1001の子ブロックとなり、直系の親ブロック(図示せず)。また、中間ブロック1001にあるすべてのブロックのレベルは再計算され、ブロック1002のレベルが2となり、ブロック1003および1004のレベルが3となる。
表の行のブロック、ヘッダーブロック、フッターブロック、およびキャプションブロックのようなその他のブロックは、中間ブロックとみなされてもよい。
ブロック分割およびインデクス付けロジック106(図1)によって実行される次の処理は、条件を満たしたブロックを結合し、より大きなブロックにすることである。ユーザが見て単一のロジカルユニットを認識した場合、表示されたドキュメントのセグメントを見ると、ブロック分割およびインデクス付けロジック106(図1)は同一のドキュメントのセグメントの1つ以上のブロックを識別するが、2つまたはそれ以上の識別されたブロックは、結合して単一のブロックにする候補となる。
図11は、表示されたドキュメントの一部(正確な縮尺ではない)であり、ブロック分割およびインデクス付けロジック106(図1)は、図11において重ね合わされたボックスによって表される3つのブロック1101、1102、および1103を識別するとさらに仮定する。ブロック分割およびインデクス付けロジック106(図1)は3つのブロックを識別するが、ドキュメントを見ているユーザは1つのロジカルユニットを識別するだけである。ブロック1102は日付から始まり、タイムラインの視覚的要素の一部であり、ブロック1103は日付から始まっていないため、これらのブロックは結合される。ブロック1102および1103が単一のブロック1201(図12)に結合されると、ブロック1101は中間ブロックとしての条件を満たすため、削除される。これにより、親ブロックとブロック1201(図12)のレベルとが再計算される。図12は、識別されたブロックを示すために重ね合わされたボックスとともに、条件を満たしたブロックが結合された後の、図11のドキュメントの同じ部分を示す。結合の結果、3つのブロック1101、1102、および1103が削除され、1つのブロック1201が上記ブロックリストに追加される。
結合する条件を満たしたブロックを決定するためには、メタデータに加えて、ブロックデータの解析、隣接するブロックデータの解析が必要になる。
ブロック分割およびインデクス付けロジック106(図1)によって実行される次の処理は、上記ブロックリストに含まれる各ブロックアイテムに対して、フォントのメタデータ属性のブロックアイテムフォントファミリ(block-item-font-family)、ブロックアイテムフォントサイズ(block-item-font-size)、およびブロックアイテムフォントウェイト(block-item-font-weight)を計算することである。ブロックアイテムの異なるテキストセグメントが、異なるフォント文字(フォントファミリ、フォントサイズ、およびフォントウェイト)を含む場合、ブロックアイテムにおけるすべてのテキストの代表のフォント文字を計算することは有用である。ブロックアイテムに含まれるすべてのテキストに対して、ブロックアイテムフォントファミリは、代表のフォントファミリであり、ブロックアイテムフォントサイズは、代表のフォントサイズであり、ブロックアイテムフォントウェイトは、代表のフォントウェイトである。
ブロックアイテムの代表フォントのメタデータ属性を計算するために、3つ組の集合が用意され、1つは単語のフォントファミリのメタデータ属性値、フォントサイズのメタデータ属性値、およびフォントウェイトのメタデータ属性値を含むブロックアイテムのテキストに含まれるそれぞれの可視単語である。最も頻繁(統計値のモード)に生じる3つ組のフォントファミリ、フォントサイズ、およびフォントウェイトは、それぞれブロックアイテムフォントファミリ、ブロックアイテムフォントサイズ、およびブロックアイテムフォントウェイトのメタデータ属性値である。ブロックアイテムに含まれる異なる3つ組の総数は有用であり、当該ブロックアイテムの他のメタデータ属性のブロックアイテムバリアンス(block-item-variance)に格納されてよい。
わずか数語しか含まないテキストを含むブロックアイテムに対しては、最頻の三つ組みを使う代わりに、最も大きいフォントサイズ、最も大きいフォントウェイト、または最も大きい重要値(importance value)をもつ三つ組が、フォントのメタデータ属性の計算に使われてよい。三つ組の重要値は、図13を参照して説明される。また、他の実施の形態において、非表示の単語だけでなく、下付き単語、特定のフォントファミリ(例えばWebdings)に属する単語は、ブロックアイテムのフォントのメタデータ属性の計算において考慮されなくともよい。さらに他の実施の形態においては、ブロックのフォントのメタデータ属性の計算において、三つ組は単語の代わりに文字に対して用意される、または統計値のモードの代わりに統計値の平均が使われる。
図13に示すように、ブロック分割およびインデクス付けロジック106(図1)は、追加のメタデータ属性のブロックアイテムインポータンス(block-item-importance)をさらに計算してよく、これはブロックアイテムにのみ適用可能である。ブロックアイテムのブロックアイテムインポータンスは、ドキュメントの残りの部分に関して、当該ブロックアイテムの重要度とみなされる。ブロックアイテムのブロックアイテムインポータンスのメタデータ属性は、ブロックのブロックアイテムフォントファミリ、ブロックアイテムフォントサイズ、およびブロックアイテムフォントウェイトの機能である。一般に、ブロックアイテムフォントサイズ、またはブロックアイテムフォントウェイトが大きいほど、他のすべてが等しければ、ブロックアイテムインポータンスも大きい。
本開示の一実施の形態において、ブロック分割およびインデクス付けロジック106(図1)は、各フォントファミリ、フォントサイズ、およびフォントウェイトの3つ組の組み合わせに対して、重要値をあらかじめ決めたルックアップテーブルが利用可能である。図13は、ルックアップテーブル1300の一部を示す。3つ組1301は「Arial」のフォントファミリ、「8」のフォントサイズ、および「700」のフォントウェイトを含み、その重要値1302は1.1である。したがって、ブロックアイテムフォントファミリの値が「Arial」、ブロックアイテムフォントサイズの値が「8」、ブロックアイテムフォントウェイトの値が「700」であるようなブロックアイテムに対して、ブロックアイテムインポータンスは1.1である。
他の実施の形態において、上記ルックアップテーブルにおける重要値は、ブロックアイテムインポータンスに対する範囲値となる1つの数ではなく、下限値と上限値をもつ範囲であってよい。
他の実施の形態において、ブロック分割およびインデクス付けロジック106は、ブロックを複数のブロックにさらに分割する、あるいはブロックをさらに結合してより大きなブロックにするといった追加のブロック処理を実行してもよいことに注意する。ブロック分割およびインデクス付けロジック106(図1)によるドキュメントのブロック分割と、表示されたドキュメントを見て、ユーザ自らが行うドキュメントのロジカルユニット分割とが同じ結果とならない場合、上記処理が必要となる。ブロックアイテムインポータンスの値が低い一連のブロックが、ブロックアイテムインポータンスの値が高い複数のブロックに続くようなパターンに、直系の子ブロックが続いた場合、ブロックを複数のブロックに分割する具体例が必要となることがある。
すべてのブロック処理が完了すると、ブロック分割およびインデクス付けロジック106(図1)によって実行される次の処理は、ブロックアイテムではない上記ブロックリストに含まれる各ブロックのタイトルブロックアイテムの識別である。ブロックのタイトルブロックアイテムは、たいてい当該ブロックの上部に配置されており、高いフォントサイズまたは高いフォントウェイト、あるいは当該ブロックの子ブロックの残りの部分とは異なるフォントファミリか、またはセンタリング、または背景色が使われている。
本開示の一実施の形態において、ブロックの直系の子ブロックアイテムが直系の親ブロックのタイトルブロックとして明示されるために、当該直系の子ブロックは、親ブロックの最初の3つのブロックの中に配置される、および/または、センタリングされている、および/または、直系のブロックの残りの部分とは異なる前景色または背景色が使われている、および/または、より大きなブロックアイテムフォントサイズおよび/または他のすべての子ブロックアイテム(直系のブロックである必要は必ずしもない)より大きなブロックアイテムフォントウェイトおよび/またはブロックアイテムフォントサイズおよび/またはブロックアイテムインポータンスを有する必要がある。
他の一実施の形態は、ブロックのタイトルブロックアイテムの識別において、他のメタデータ条件を用いることに注意する。また、ドキュメントを視覚的に見るユーザとブロック分割およびインデクス付けロジック106(図1)とは、ブロックの同じタイトルブロックアイテムを識別しなければならないことに注意する。ブロック分割およびインデクス付けロジック106(図1)がブロックの誤ったタイトルブロックを識別した場合、またはブロックの正しいタイトルブロックの識別に失敗した場合、タイトルブロックアイテムの識別における上記メタデータ条件は、改訂されなければならない。
図14は、ユーザが見るようなドキュメントの一部(正確な縮尺ではない)を示す図であり、ブロック分割およびインデクス付けロジック106(図1)によって識別されるブロックを明示するために、当該図ではボックスを重ね合わせている。ブロックアイテムフォントサイズおよびブロックアイテムインポータンスのメタデータ属性値は、ブロック1401に含まれるすべての子ブロックアイテムに対してすでに計算されているとする。また、ブロックアイテム1402は、ブロックアイテムフォントサイズおよびブロックアイテムインポータンスのメタデータ属性値が、ブロック1401のすべての子ブロックアイテムの中で最も大きいとする。さらに、ブロックアイテム1402はブロック1401の最初の3つのブロックの中に配置されている。したがって、ブロックアイテム1402は、ブロック1401のタイトルブロックである。同様に、ブロックアイテム1404は、ブロック1403のすべての子ブロックアイテムの中で、ブロックアイテムフォントサイズおよびブロックアイテムインポータンス値が最も大きく、ブロック1403のすべての子ブロックの中で最初に配置されている。したがって、ブロックアイテム1404はブロック1403のタイトルブロックである。タイトルブロックとして要求される条件を満足するブロック1406の直系の子ブロックアイテムは存在しない。したがって、ブロック1406にはタイトルブロックがない。
ブロック1406はリスト視覚的要素と識別されるとする。このことをここでさらに説明する。そして、ブロック1405はリスト視覚的要素のタイトルとして識別されると仮定する。当該視覚的要素がブロック1403の一部であり、ブロックアイテム1404がそのタイトルブロックであるため、ブロックアイテム1404も当該リスト視覚的要素のタイトルとみなされる。さらに、ブロック1403はブロック1401の一部であり、ブロック1402はそのタイトルブロックであるため、ブロック1402もリスト視覚的要素のタイトルとみなされる。本開示の一実施の形態において、視覚的要素は唯一のタイトルをもつ。タイトル1405は視覚的要素の3つの識別されたタイトルに最も近いため、リスト視覚的要素のタイトルとみなされる。他の実施の形態において、視覚的要素は複数のタイトルをもってよく、3つの識別されたタイトルのすべては、視覚的要素のタイトルとみなされる。
タイトルブロックが識別されると、ブロック分割およびインデクス付けロジック106(図1)によって実行される次のステップは、視覚的要素の識別およびインデクス付けである。視覚的要素には2つの種類がある。すなわち、インライン視覚的要素およびブロック視覚的要素である。インライン視覚的要素は、ブロックアイテムの一部におよぶ。一方、ブロック視覚的要素は1つまたは複数のブロックにおよぶ。典型的には、インライン視覚的要素は、ブロックアイテムのセンテンスで発見される。
異なる視覚的要素の決定および配置を、図15から図37をさらに参照して説明する。
特に、ドキュメントをブロックに区分けすることは、ドキュメントの視覚的要素を配置する処理においてさらなる助けとなる。ブロック分割およびインデクス付けロジック106(図1)によって識別されたブロックを示すために、図15から図37においては、長方形の点線で描かれたボックスがソースコンテンツに重ね合わされている。図15から図37をさらに参照して後述するように、ブロック分割およびインデクス付けロジック106(図1)は、ブロック視覚的要素のプロファイルとインライン視覚的要素とのデータおよびメタデータのルールにより、ソースコンテンツに含まれる視覚的要素を識別してインデクスを付ける。
インライン視覚的要素を識別するために、ブロック分割およびインデクス付けロジック106(図1)は上記ブロックリストに含まれるすべてのブロックアイテムに対して繰り返す。各ブロックアイテムに対して、ブロック分割およびインデクス付けロジック106は、センテンスを識別し、データおよびメタデータのルールにより各センテンスの中から視覚的要素を発見する。ブロック分割およびインデクス付けロジック106(図1)は、インデクスデータ109(図1)における視覚的要素タイトル(visual element title)および視覚的要素の特徴(visual element characteristics)とともに、発見されたそれぞれの視覚的要素に対してさらにインデクスを生成する。
データおよびメタデータのルールの集合は、視覚的要素を識別するだけでなく、当該視覚的要素の種類、当該視覚的要素のタイトル、および他の視覚的要素の特別な特徴も識別することに注意する。また、グループを識別するいくつかのインライン視覚的要素があり、センテンスまたはセンテンスの一部が少なくとも上記集合の1つである場合、当該センテンスまたはセンテンスの一部は、インライン視覚的要素であることにも注意する。
図15に関して、表示インターフェースにドキュメントのソースコンテンツ1501が表示されているのを見たユーザは、ブロック1502の第2のセンテンスにおいて、リスト視覚的要素を識別する。一般化されたデータおよびメタデータのルールの集合は、人間のユーザのように、リスト視覚的要素としてブロック1502における第2のセンテンス(「are」を含み、その後に「:」が続き、「,」によって区切られた一連の単語が続き、単語「and」と、さらに「,」によって区切られていない単語の集合が続くようなセンテンスを含む)を識別する。フレーズ「are:」の前のセンテンスの一部は、視覚的要素のタイトルとして識別される。さらに、フレーズ「are:」に続く「,」または「and」で区切られたそれぞれの単語は、リストアイテムとして識別される。人間のユーザは、タイトルおよびリストアイテムとして、センテンスの同じ部分を識別することに注意する。
前述した一般化されたデータおよびメタデータのルールは、すべてのインラインリスト視覚的要素(inline list visual elements)を識別しなくともよいことに注意する。ドキュメントを見る人間のユーザは、インラインリスト視覚的要素を識別し、前述したデータおよびメタデータのルールの集合が当該インラインリスト視覚的要素を識別しない場合、異なるフォーマットのインライン視覚的要素を識別するために、データおよびメタデータのルールの新しい集合が、ブロック分割およびインデクス付けロジック106(図1)に必要とされる。したがって、それぞれのインライン視覚的要素の種類に対して、データおよびメタデータのルールの集合がいくつか存在してよく、センテンスまたはセンテンスの一部は、当該集合が識別するために定義された視覚的要素の種類として識別される集合を少なくとも1つ満足しなければならない。
図16は、ソースコンテンツ1601を示し、図17は、ソースコンテンツ1601に適用可能なプレゼンテーションセマンティクスを示す。ソースコンテンツ1601において識別されるインライン視覚的要素は、固定幅のテキスト視覚的要素である。「text-decoration」という1つの語は、固定幅のテキストを示す「courier」の前に現れている。したがって、上記1つの語は視覚的要素を構成する。表示されたときセグメント1601を見るユーザも、1つの語「text-decoration」を固定幅のテキストと識別することに注意する。
ドキュメントに含まれるブロック視覚的要素を識別するために、ブロック分割およびインデクス付けロジック106(図1)は、上記ブロックリストにおいて最高のレベルをもつブロック(ブロックアイテムではない)から始め、その子ブロックのすべてをもつブロック全体がプロファイル(すなわち、視覚的要素を判定するルールの集合)にマッチするか否かを判定する。ブロック全体がプロファイルにマッチする場合、タイトルおよび視覚的要素の特徴とともに、ブロック全体を含む結果の視覚的要素は、インデクスを付けられ、インデクスデータ109(図9)に格納される。そして、当該ブロックは、上記ブロックリストから削除される。ブロック全体がプロファイルにマッチしない場合でも、子ブロックの部分集合がプロファイルにマッチしさえすれば、タイトルと視覚的要素の特徴とともに子ブロックの部分集合を構成する視覚的要素は、インデクスを付けられ、インデクスデータ109(図9)に格納される。そして、マッチした子ブロックの部分集合は、上記ブロックリストから削除される。子ブロックの部分集合がプロファイルにマッチしない場合ですら、子ブロックとともにブロック全体が消され、上記ブロックリストから削除される。ブロックを消した結果、ブロックリストに含まれるブロックのすべてが再度チェックされる。任意のブロックが任意のブロック処理に対して適格である場合、当該ブロック処理が実行される。このことはここでさらに説明され、例えば、空のブロックを削除する、中間ブロックを除く、ブロック結合、またはブロック分割を含む。最高のレベルをもつ新しいブロック(ブロックアイテムではない)は、上記ブロックリストから選択され、プロファイルにマッチするブロックがなくなるまで処理は繰り返される。
プロファイルは、特定の種類のブロック視覚的要素を識別し、ルールの集合を構成する。プロファイルに含まれる各ルールは、2つの部分から成る。最初の部分は、1つまたは複数のブロックを識別する。2つ目の部分は当該識別されたブロックの1つまたは複数のデータ、および/または、メタデータ属性を評価する。例えば、プロファイルのルールは、メタデータ属性のテーブルカラムインデクス(table-column-index)値が1となるすべての子ブロックにおいて、同一のテキストコンテンツをもたねばならず、境界線のメタデータ属性値が0であってはならないとするものであってよい。1つまたは複数のブロックが少なくとも1つのプロファイルのすべてのルールを満足する場合、ブロックの集合は、当該プロファイルが識別するように設計された視覚的要素の種類として識別されてよい。
プロファイルは、他の視覚的要素の特徴とともに、当該視覚的要素のタイトルを識別してよい。当該プロファイルによってタイトルが識別されない場合、視覚的要素が識別された親ブロックの1つは、当該視覚的要素のタイトルとみなされてよい。
図18および図19によれば、ドキュメントのソースコンテンツ1800が表示されたとき(図示せず)、人間のユーザによって識別される視覚的要素は、リスト視覚的要素である。リスト視覚的要素を決定するためのプロファイルは、表の最初の列ブロックアイテムがすべて同じ非アルファベット、3文字以下の長さの非数の文字であるような2つの列をもつ表を構成するブロックを探す。ブロック1802およびその子ブロックアイテム1803から1808は、そうしたプロファイルの条件を満たすため、ブロック1802全体はリスト視覚的要素である。リスト視覚的要素に先行するブロックアイテム1801は、「list of」のフレーズからなるため、ブロック分割およびインデクス付けロジック106は、当該先行するブロックアイテムを識別されたリスト視覚的要素のタイトルとして識別する。
ブロック分割およびインデクス付けロジック106(図1)は、メタデータを準備する間、ブロック1802全体に広がる<TABLE>要素のテーブルメタデータ属性を計算することに注意する。これらテーブルメタデータ属性は、3の値をもつ「table-rows」属性と、2の値をもつ「table-column」属性とを含む。また、ブロックアイテム1803から1808に広がる<TD>要素のそれぞれに対して、ブロック分割およびインデクス付けロジック106は、テーブルセルメタデータ属性を計算する。ブロック1805全体に広がる<TD>属性に対して、「table-cell-row-index」メタデータ属性は、2の値をもつ行インデクスを識別する。また「table-cell-column-index」メタデータ属性は、1の値をもつ列インデクスを識別する。リストとしてブロック1802を識別するプロファイルは、これらの表および表のセルメタデータ属性を利用してよい。
プロファイルは、リスト視覚的要素の特徴をさらに識別する。「table-cell-column-index」の値が2に等しいブロックアイテム1804、1806、および1808は、リストアイテムとして識別される。プロファイルは、ブロックアイテム1803のテキストから推測されるスターマークをもつリストをさらに識別する。
プレゼンテーションセマンティクス1900は、リスト視覚的要素として識別された視覚的要素をさらに確実にする境界線なしに描画される<TABLE>要素を含むブロック1802を識別する。
図20によれば、ドキュメントのソースコンテンツ2000が描画されたとき、人間によって識別される視覚的要素も、リスト視覚的要素である。リスト視覚的要素を決定するプロファイルは、順番のないリスト(unordered list)と、子ブロックのテキストコンテンツの中に組み込まれた文字「−」または「:」のない少なくとも2つの子ブロックアイテムとからなるブロックを探す。そのようなプロファイルは、ブロック2002をリスト視覚的要素として識別する。また、ブロック2002に先行するブロックアイテム2001は、ブロックアイテム2003−2006のブロックアイテムインポータンスのメタデータ属性値よりも高いブロックアイテムインポータンスのメタデータ属性値をもち、複数の単語を含むただ1つのセンテンスから構成される。したがって、ブロックアイテム2001はリスト視覚的要素のタイトルとして識別される。
ブロック分割およびインデクス付けロジック106(図1)は、メタデータを準備する間、ブロック2002全体に広がる<UL>要素のテーブルメタデータ属性を計算することに注意する。リストメタデータ属性は、<UL>要素の中に4つの<LI>要素をもつことにより、4の値をもつリストアイテム(list-item)メタデータ属性を含む。また、ブロックアイテム2003から2006全体に広がる<LI>要素のそれぞれに対して、ブロック分割およびインデクス付けロジック106は、リストアイテムメタデータ属性を計算する。ブロック2005全体に広がる<LI>要素に対して、インデクスを識別するリストアイテムインデクス(list-item-index)メタデータ属性値は3である。ブロック2002をリストとして識別するプロファイルは、表および表のセルメタデータ属性を利用する。
プロファイルは、リスト視覚的要素の特徴をさらに識別する。ブロックアイテム2003から2006のそれぞれは、ブロックアイテムに含まれる<LI>要素のそれぞれにリストアイテムインデクスメタデータ属性があることから、リストアイテムとして識別される。また、ブロック2002全体に広がる<UL>要素の暗黙的なプレゼンテーションセマンティクスから推測されるメタデータにより、プロファイルは実線の丸印をもつリストと識別する。
前述した2つのプロファイルに関して、ブロックがリスト視覚的要素か否かを決定するプロファイルのルールは、網羅的なものではなく、ブロックがリスト視覚的要素か否かを決定するにあたり、ブロック分割およびインデクス付けロジック106(図1)によって、追加のプロファイルのルールが考えられることに注意する。
また、2つのプロファイルがリスト視覚的要素を識別するために提示されるが、描画されたドキュメントを見るユーザが、ドキュメントのセグメントにあるリストを認識し、2つのプロファイルのいずれもが当該セグメントをリスト視覚的要素として認識しない場合、プロファイルを識別するより多くのリスト視覚的要素が必要となることにも注意する。
図21および図22によれば、プレゼンテーションセマンティクス2200にしたがってドキュメントのソースコンテンツ2100が描画されたとき、人間のユーザによって識別される視覚的要素は、パラグラフ視覚的要素(paragraph visual element)である。パラグラフ視覚的要素を判定するプロファイルは、少なくとも3つのセンテンス、および/または、少なくとも200の単語を含むブロックを探す。そうしたプロファイルは、ブロック2101をパラグラフ視覚的要素として識別する。プロファイルによって識別されるタイトルがないため、ブロック2101の親ブロック(図示せず)の1つまたはすべてのタイトルブロックは、パラグラフ視覚的要素のタイトルとしてみなされる。
パラグラフ視覚的要素を識別するプロファイルは、タイトルだけでなく、サイズ、当該パラグラフ視覚的要素に含まれるセンテンスの数、および他のパラグラフの特徴も識別してよいことに注意する。
ブロックがパラグラフ視覚的要素か否かを決定する前述したプロファイルのルールは、網羅的なものではなく、ブロックがパラグラフ視覚的要素か否かを決定するにあたり、ブロック分割およびインデクス付けロジック106(図1)によって、追加のプロファイルのルールが考えられることに注意する。
また、1つのプロファイルがパラグラフ視覚的要素を識別するために提示されるが、描画されたドキュメントを見るユーザが、ドキュメントのセグメントにあるパラグラフを認識し、プロファイが当該セグメントをパラグラフ視覚的要素として認識しない場合、プロファイルを識別するより多くのパラグラフ視覚的要素が必要となることにも注意する。
図23および図24によれば、プレゼンテーションセマンティクス2400にしたがってドキュメントのソースコンテンツ2300が描画されたとき、人間のユーザによって識別される視覚的要素は、表視覚的要素(table visual element)である。表を識別するプロファイルは、表のブロックの最初の列が同一のテキストとならないような表を構成するブロックを探す。また、表の最初の列ブロックの少なくとも1つが、5文字よりより長いテキストコンテンツをもち、当該表のテキストコンテンツの最初の列ブロックの少なくとも1つが、句読点(punctuation character)で終了しない。そうしたプロファイルルールは、ブロック2302を表紙各要素として識別する。また、ブロック2302に先行するブロック2301は、「following table:」のテキストを含むブロック2301の最後のセンテンスを、識別された表視覚的要素のタイトルとする「following table:」というテキストで終了する。ブロックアイテム2303および2304は、ブロック2302の他の子ブロックアイテムよりも高いブロックアイテムインポータンスのメタデータ属性値のメタデータ属性値をもち、当該ブロックは最初の行および当該ブロックのマークアップタグが<TH>であるため、これらのブロックは表ヘッダと識別される。
<TD>要素が各ブロックの全体に広がっているため、プロファイルは、ブロック2305から2310をテーブルセルとして識別することに注意する。また、当該プロファイルは、表視覚的要素を3行2列と識別してもよい。
図25および図26によれば、プレゼンテーションセマンティクス2600にしたがってドキュメントのソースコンテンツ2500が描画されたとき、人間のユーザによって識別される視覚的要素は、表視覚的要素である。表を識別するプロファイルは、プレゼンテーションセマンティクスが「display」となるブロックを「table」として探し、プレゼンテーションセマンティクスが「display」となる可視境界および子ブロックを、可視境界および1つ以上の行および1つ以上の列に広がるテーブルセルブロックを有する「table-cell」として探す。そうしたプロファイルは、ブロック2502を表視覚的要素として識別する。ブロック2301(図23)と同様に、ブロック2501の最後のセンテンスは、識別された表視覚的要素のタイトルとして識別される。ブロック2503および2504は最初の行の一部であり、ブロック2502のすべての他のブロックよりも高いブロックアイテムインポータンスを有するため、当該ブロックはヘッダーブロックとして識別される。明示的なメタデータ属性の表示値テーブルセル(metadata property display value table-cell)をもつため、ブロック2505から2510はテーブルセルとして識別される。
前述した2つのプロファイルに関して、ブロックが表視覚的要素か否かを決定するプロファイルのルールは、網羅的なものではなく、ブロックが表視覚的要素か否かを決定するにあたり、ブロック分割およびインデクス付けロジック106(図1)によって、追加のプロファイルのルールが考えられることに注意する。
また、2つのプロファイルが表視覚的要素を識別するために提示されるが、描画されたドキュメントを見るユーザが、ドキュメントのセグメントにある表を認識し、2つのプロファイルのいずれもが当該セグメントを表視覚的要素として認識しない場合、プロファイルを識別するより多くの表視覚的要素が必要となることにも注意する。
図27および図28によれば、プレゼンテーションセマンティクス2800にしたがってドキュメントのソースコンテンツ2700が描画されたとき、人間のユーザによって識別される視覚的要素は、キー/値視覚的要素である。キー/値視覚的要素を判定するプロファイルは、最初の行におけるブロックを除き、最初の列ブロックのテキストコンテンツのそれぞれがコロンで終了するような、2つの列をもつ表ブロックを探す。また、最初の行におけるブロックが、2つの列にまたがる。そうしたプロファイルは、ブロック2701をキー/値視覚的要素と識別し、最初の行ブロック2702を識別されたキー/値視覚的要素のタイトルと識別する。さらに、プロファイルによって、第1の列ブロック2703、2705、および2707はキーとして識別され、第2の列ブロック2704、2706、および2708は当該キーの値として識別される。
前述したプロファイルに関して、ブロックがキー/値視覚的要素か否かを決定するプロファイルのルールは、網羅的なものではなく、ブロックがキー/値視覚的要素か否かを決定するにあたり、ブロック分割およびインデクス付けロジック106(図1)によって、追加のプロファイルのルールが考えられることに注意する。
また、1つのプロファイルがキー/値視覚的要素を識別するために提示されるが、描画されたドキュメントを見るユーザが、ドキュメントのセグメントにあるキー/値属性を認識し、プロファイルが当該セグメントをキー/値視覚的要素として認識しない場合、プロファイルを識別するより多くのキー/値視覚的要素が必要となることにも注意する。
図29によれば、ドキュメントのソースコンテンツ2900が描画されたとき、人間のユーザによって識別される視覚的要素は、質問/回答視覚的要素(question/answer visual element)である。質問/回答視覚的要素を判定するプロファイルは、文字列「Q:」から始まり、文字列「?」で終了するテキストコンテンツを含み、タグ<P>のブロックが続くブロックを探すように設計されている。そうしたプロファイルは、ブロック2901および2902を質問/回答視覚的要素として識別する。また、文字列「Q:」から始まり、文字列「?」で終了するテキストコンテンツを含むブロック2901は、質問として識別され、ブロック2901に続くブロック2902は回答として識別される。
前述したプロファイルに関して、ブロックがキー/値視覚的要素か否かを決定するプロファイルのルールは、網羅的なものではなく、ブロックがキー/値視覚的要素か否かを決定するにあたり、ブロック分割およびインデクス付けロジック106(図1)によって、追加のプロファイルのルールが考えられることに注意する。
また、1つのプロファイルがキー/値視覚的要素を識別するために提示されるが、描画されたドキュメントを見るユーザが、ドキュメントのセグメントにあるキー/値属性を認識し、プロファイルが当該セグメントをキー/値視覚的要素として認識しない場合、プロファイルを識別するより多くのキー/値視覚的要素が必要となることにも注意する。
図30および図31によれば、プレゼンテーションセマンティクス3100にしたがってドキュメントのソースコンテンツ3000が描画されたとき、人間のユーザによって識別される視覚的要素は、メニュー視覚的要素(menu visual element)である。メニュー視覚的要素を判定するプロファイルは、インラインに表示された子リストアイテムブロックをもつ順番のないリストブロックとハイパーリンクとを探すように設計されており、さらに当該順番のないリストは当該ドキュメントの上部20パーセントの領域に配置されている。そうしたプロファイルは、ブロック3001をメニュー視覚的要素として識別する。リストアイテムブロック要素3002から3005のそれぞれは、識別されたメニュー視覚アイテムのメニューアイテムとしてさらに識別される。
前述したプロファイルに関して、ブロックがメニュー視覚的要素か否かを決定するプロファイルのルールは、網羅的なものではなく、ブロックがメニュー視覚的要素か否かを決定するにあたり、ブロック分割およびインデクス付けロジック106(図1)によって、追加のプロファイルのルールが考えられることに注意する。
また、1つのプロファイルがメニュー視覚的要素を識別するために提示されるが、描画されたドキュメントを見るユーザが、ドキュメントのセグメントにあるメニューを認識し、プロファイルが当該セグメントをメニュー視覚的要素として認識しない場合、プロファイルを識別するより多くのメニュー視覚的要素が必要となることにも注意する。
図32および図33によれば、プレゼンテーションセマンティクス3100にしたがってドキュメントのソースコンテンツ3000が描画されたとき、人間のユーザによって識別される視覚的要素は、固定幅テキスト視覚的要素(fixed width text visual element)である。ドキュメントが固定幅テキスト視覚的要素を含むか否かを判定するプロファイルは、最初の行におけるブロックを除いて、ブロックアイテムフォントファミリのメタデータ属性値が一定幅の文字のフォントファミリに等しいような、すべてのブロックをもつテーブルブロックを探す。そうしたプロファイルは、ブロック3201を固定幅テキスト視覚的要素として識別する。また、最初の行ブロック3202は、ブロックアイテムインポータンス値が最高であり、残りの行とはプレゼンテーションセマンティクスが異なる。したがって、ブロック3202は、識別された固定幅テキスト視覚的要素のタイトルとして識別される。
前述したプロファイルに関して、ブロックが固定幅テキスト視覚的要素か否かを決定するプロファイルのルールは、網羅的なものではなく、ブロックが固定幅テキスト視覚的要素か否かを決定するにあたり、ブロック分割およびインデクス付けロジック106(図1)によって、追加のプロファイルのルールが考えられることに注意する。
また、1つのプロファイルが固定幅テキスト視覚的要素を識別するために提示されるが、描画されたドキュメントを見るユーザが、ドキュメントのセグメントにある固定幅テキストを認識し、プロファイルが当該セグメントを固定幅テキスト視覚的要素として認識しない場合、プロファイルを識別するより多くの固定幅テキスト視覚的要素が必要となることにも注意する。
図34によれば、ドキュメントのソースコンテンツ3400が描画されたとき、人間のユーザによって識別される視覚的要素は、タイムライン視覚的要素(timeline visual element)である。タイムライン視覚的要素を識別するプロファイルは、年から始まり「−」または「:」が続くすべてのブロックをもつ順番のないリストブロックを探す。そうしたプロファイルは、ブロック3402をタイムライン視覚的要素として識別する。また、ブロック3402のすぐ上に配置されたブロックは、「timeline」という語を含む1つのセンテンスを有する。したがって、ブロック3401は、当該タイムライン視覚的要素のタイトルとして識別される。また、順番のないリストアイテム3403から3407は、タイムラインイベントとして識別される。
前述したプロファイルに関して、ブロックがタイムライン視覚的要素か否かを決定するプロファイルのルールは、網羅的なものではなく、ブロックがタイムライン視覚的要素か否かを決定するにあたり、ブロック分割およびインデクス付けロジック106(図1)によって、追加のプロファイルのルールが考えられることに注意する。
また、1つのプロファイルがタイムライン視覚的要素を識別するために提示されるが、描画されたドキュメントを見るユーザが、ドキュメントのセグメントにあるタイムラインを認識し、プロファイルが当該セグメントをタイムライン視覚的要素として認識しない場合、プロファイルを識別するより多くのタイムライン視覚的要素が必要となることにも注意する。
図35によれば、ドキュメントのソースコンテンツ3500が描画されたとき、人間のユーザによって識別される視覚的要素は、グラフ/チャート視覚的要素(graph/chart visual element)である。グラフ/チャート視覚的要素を識別するプロファイルは、1つの画像および「chart」という語を含む代替テキストをもつブロックを探し、すぐ上に配置されたブロックは「chart」という語を含む1つのセンテンスをもつ。そうしたプロファイルは、ブロック3502をグラフ/チャート視覚的要素として識別する。1つのセンテンスブロック3501は、識別されたグラフ/チャート視覚的要素のタイトルとして識別される。
前述したプロファイルに関して、ブロックがグラフ/チャート視覚的要素か否かを決定するプロファイルのルールは、網羅的なものではなく、ブロックがグラフ/チャート視覚的要素か否かを決定するにあたり、ブロック分割およびインデクス付けロジック106(図1)によって、追加のプロファイルのルールが考えられることに注意する。
また、1つのプロファイルがグラフ/チャート視覚的要素を識別するために提示されるが、描画されたドキュメントを見るユーザが、ドキュメントのセグメントにあるグラフ/チャートを認識し、プロファイルが当該セグメントをグラフ/チャート視覚的要素として認識しない場合、プロファイルを識別するより多くのグラフ/チャート視覚的要素が必要となることにも注意する。
図36によれば、ドキュメントのソースコンテンツ3600が描画されたとき、人間のユーザによって識別される視覚的要素は、インタラクティブ視覚的要素(interactive visual element)である。インタラクティブ視覚的要素を識別するプロファイルは、単一のオブジェクトを含むブロックを探し、すぐ上に配置されたブロックアイテムは「interactive」という語を含む1つのセンテンスをもつ。そうしたプロファイルは、ブロック3602をインタラクティブ視覚的要素として識別する。1つのセンテンスブロック3601は、識別されたインタラクティブ視覚的要素のタイトルとして識別される。
前述したプロファイルに関して、ブロックがインタラクティブ視覚的要素か否かを決定するプロファイルのルールは、網羅的なものではなく、ブロックがインタラクティブ視覚的要素か否かを決定するにあたり、ブロック分割およびインデクス付けロジック106(図1)によって、追加のプロファイルのルールが考えられることに注意する。
また、1つのプロファイルがインタラクティブ視覚的要素を識別するために提示されるが、描画されたドキュメントを見るユーザが、ドキュメントのセグメントにあるインタラクティブオブジェクトを認識し、プロファイルが当該セグメントをインタラクティブ視覚的要素として認識しない場合、プロファイルを識別するより多くのインタラクティブ視覚的要素が必要となることにも注意する。
図37は、ブロック分割およびインデクス付けロジック106(図1)がブロックタイムライン視覚的要素を識別するために、ドキュメントの著者が提供したヒントとなるソースコンテンツ3700を示す。ヒントVSEタイムライン(hint vse-timeline)3708は、タイムライン視覚的要素を含むブロック3708の全体を指し示す<DIV>要素を識別する。ヒントVSEタイムライン3709は、ブロック3702を指し示す<H2>要素として、タイムライン視覚的要素のタイトルを識別する。ヒントVSEイベント(hint vse-event)3710は、タイムラインイベントとして、ブロック3703にまたがる<LI>要素を識別する。同様に、ヒントVSEイベント3704から3707は、タイムラインイベントとして、ブロック3704から3707にまたがるそれぞれの<LI>要素を識別する。
ヒントは、あらかじめ定義されたもの、および当該ドキュメントの著者から検索エンジンサーバ102(図1)によって特定される適切な使用方法であることに注意する。また、一実施の形態においては、クラスアトリビュート(class attributes)はヒントとして利用されるが、他の実施の形態においては、リソースデスクリプションフレームワーク(Resource Description Framework;RFD)、リソースデスクリプションフレームワークインアトリビュート(Resource Description Framework in attributes;RFDa)、および/または、マイクロフォーマットなどのように、開発された、または将来開発される他の方法を用いて特定されてもよい。
所定のヒントも、パラグラフ、表、リスト、メニュー、グラフ/チャート、固定幅テキスト、インタラクティブ、キー/値、および質問/回答視覚的要素の種類のために、検索エンジンサーバ102(図1)によって特定され、ドキュメントの著者にドキュメントに含まれる視覚的要素を識別することに利用可能となってもよいことに注意する。また、タイトルを識別することに加えて、所定のヒントは検索エンジンサーバ102(図1)によって特定され、ドキュメントの著者に視覚的要素の特徴を識別することに利用可能となってもよいことに注意する。
一実施の形態において、ヒントが存在する場合、ブロック分割およびインデクス付けロジック106(図1)が視覚的要素、および/または、視覚的要素の特徴を正しく識別したか否かを検証するためだけに、それらは利用されてよいことに注意する。他の実施の形態においては、視覚的要素、および/または、視覚的要素の特徴を識別するプロファイルの代用としてヒントは使われてよい。さらに他の実施の形態においては、視覚的要素、および/または、視覚的要素の特徴を識別するプロファイルとともに、ヒントは使われてよい。
図1に示され、本稿をとおして説明されたブロック分割およびインデクス付けロジック106の高次の構造および機能の一例を示すフローチャートである。ステップ3800において、ブロック分割およびインデクス付けロジック106(図1)は、処理するドキュメントの候補を識別する。ステップ3801において、ブロック分割およびインデクス付けロジック106(図1)は、ドキュメントの予備的なメタデータを生成し、当該ドキュメントのコンテンツを分割する。ステップ3802において、当該予備的なメタデータを用いて、当該ドキュメントは、ブロックと呼ばれるロジカルユニットに分割され、前述したルールを識別するブロックによりブロックリストが準備される。ステップ3803において、ブロック分割およびインデクス付けロジック106(図1)は、条件を満たしたブロックに対してブロック処理を実行する。ブロック処理は、上記ブロックリストにブロックを追加する、ブロックを削除する、または修正する。ステップ3804において、ブロック分割およびインデクス付けロジック106(図1)は、各ブロックに対して、どれがブロックリストタイトル(もしあれば)のブロックアイテムでないかを識別する。ステップ3805において、上記ブロックリストにあるそれぞれのブロックアイテムは、データと前述したメタデータルールを用いて、インライン視覚的要素に関するものかを検査される。インライン視覚的要素が発見された場合、それはインデクス付けされる。ステップ3806において、上記ブロックリストにあるそれぞれのブロックアイテムは、前述したプロファイルを用いて、ブロック視覚的要素に関するものかを検査される。ブロック視覚的要素が発見された場合、それはインデクス付けされる。
ステップ3802から3806の各ステップは、ステップ3801において生成されたメタデータを増補するメタデータを、さらに生成してよいことに注意する。
他の実施の形態において、ドキュメントをブロックに分割し、視覚的要素の識別に役立つブロック処理を実行する間に、ブロックを識別することなくソースコンテンツのセグメントに、データおよびメタデータのルールを適用することによって、視覚的要素は識別されてよいことに注意する。
クローラロジック105によって発見されたドキュメントが、分割されたブロックとなり、識別され、インデクス付けされた当該ドキュメントの視覚的要素となると、当該ドキュメントは視覚的要素で検索される。
図39は、本開示の一実施の形態において使われるグラフィカルユーザインターフェース(GUI)の一例を示す。上記GUIはクライアントロジック112(図1)によって、ユーザ113(図1)に表示される。または、それは検索エンジンロジック107(図1)によって、ユーザ114(図1)に表示される。
GUI3900は複数のボタン3901−3910を含み、それぞれのボタンは実行される検索の種類に対応している。また、GUI3900は、ユーザ113または114が検索したいキーワードを入力するためのテキストフィールド3911と、検索の開始を選択するための「検索」ボタン3912とを備える。
図示のように、ボタン3901−3910は、検索する異なる視覚的要素の種類に対応している。ユーザは、対応するボタン3901−3910を選択することによって、1つまたは複数の視覚的要素の種類を選択し、ユーザはテキストフィールド3911にキーワードを入力し、そしてユーザは「検索」ボタン3912を選択する。
ユーザがテキストフィールド3911に入力されたキーワードで検索し、「パラグラフ」の結果を得ることを所望する場合、ユーザはボタン3901を選択する。ユーザがテキストフィールド3911に入力されたキーワードで検索し、「表」の結果を得ることを所望する場合、ユーザはボタン3902を選択する。ユーザがテキストフィールド3911に入力されたキーワードで検索し、「リスト」の結果を得ることを所望する場合、ユーザはボタン3903を選択する。ユーザがテキストフィールド3911に入力されたキーワードで検索し、「メニュー」の結果を得ることを所望する場合、ユーザはボタン3904を選択する。ユーザがテキストフィールド3911に入力されたキーワードで検索し、「グラフ」の結果を得ることを所望する場合、ユーザはボタン3905を選択する。ユーザがテキストフィールド3911に入力されたキーワードで検索し、「チャート」の結果を得ることを所望する場合、ユーザはボタン3905を選択する。ユーザがテキストフィールド3911に入力されたキーワードで検索し、「固定幅テキスト」の結果を得ることを所望する場合、ユーザはボタン3906を選択する。ユーザがテキストフィールド3911に入力されたキーワードで検索し、「インタラクティブデータ」の結果を得ることを所望する場合、ユーザはボタン3907を選択する。ユーザがテキストフィールド3911に入力されたキーワードで検索し、「キー/値」の結果を得ることを所望する場合、ユーザはボタン3908を選択する。ユーザがテキストフィールド3911に入力されたキーワードで検索し、「質問/回答」の結果を得ることを所望する場合、ユーザはボタン3909を選択する。そして、ユーザがテキストフィールド3911に入力されたキーワードで検索し、「タイムライン」の結果を得ることを所望する場合、ユーザはボタン3910を選択する。
検索エンジンロジック107(図1)は、オペレータおよびモディファイアの使用をさらにサポートする。オペレータは、検索エンジンロジック107(図1)によって特定される構文の中で、あらかじめ定義された制御文字(codeword)であり、テキストフィールド3911に入力されるが、検索エンジンロジック107(図1)にはキーワードとしては解釈されない。本開示の一実施の形態において、上記オペレータの制御文字は大文字と小文字とを区別せず、構文の中に入力される。当該オペレータにおいて、制御文字は常に「:」が続き、検索キーワードが続く。
「diabetes」を検索して「パラグラフ」の結果を得るためには、「パラグラフ」の結果を得るための制御文字が、検索エンジンロジック107(図1)によって「p」と定義されていると仮定すると、ユーザは「p:diabetes」または「P:diabetes」をテキストフィールド3911に入力し、「検索」プッシュボタン3912を選択する。同様に、他の視覚的要素は他の制御文字をもつ。また、「diabetes」を検索して「パラグラフ」または「表」の結果を得るためには、「パラグラフ」の結果を得るための制御文字が「p」、「表」の結果を得るための制御文字が「tb」と、検索エンジンロジック107(図1)によって定義されていると仮定すると、ユーザは「p||tb:diabetes」または「tb||p:diabetes」をテキストフィールド3911に入力し、「検索」プッシュボタン3912を選択する。ここで、構文中の「||」は「or」を表すモディファイアである。
「or」モディファイアは、キーワードの一部として使うこともできる。例えば、「cars」または「vans」を検索して「パラグラフ」の結果を得るためには、ユーザは「p:cars||vans」をテキストフィールド3911に入力し、「検索」プッシュボタン3912を選択する。代わりに、ユーザは「cars||vans」をテキストフィールド3911に入力し、「パラグラフ」の結果のためのボタン3901を選択し、「検索」プッシュボタン3912を選択してもよい。
「not」モディファイアは、特定の結果を排除するために使われる。例えば、動物の「jaguar」に関して「表」の結果を得て、車の「jaguar」の結果を得ないようにするために、ユーザは「tb:jaguar ~car」をテキストフィールド3911に入力し、「検索」プッシュボタン3912を選択する。代わりに、ユーザは「jaguar ~car」をテキストフィールド3911に入力し、「表」の結果のためのボタン3902を選択し、「検索」プッシュボタン3912を選択してもよい。
所定のオペレータ「comp」によって、ユーザはすべての視覚的要素を一度に検索できる。これにより、すべてのボタン3901−3910を選択することを省略できる。「diabetes」を検索してすべての視覚的要素の種類の結果を得るためには、ユーザは「comp:diabetes」または「COMP:diabetes」をテキストフィールド3911に入力し、「検索」プッシュボタンを選択する。
所定のオペレータ「site」によって、ユーザは検索結果をある位置またはドメインに限定できる。「diabetes」を検索して「表」の結果を、BBC(登録商標)ニュースのドメインのみから得るためには、ユーザは「site:news.bbc.co.uk tb:diabetes」または「tb:diabetes site:news.bbc.co.uk」をテキストフィールド3911に入力し、「検索」プッシュボタン3912を選択する。代わりに、ユーザは「site:news.bbc.co.uk diabetes」または「diabetes site:news.bbc.co.uk」をテキストフィールド3911に入力し、「表」の結果のためのボタン3902を選択し、「検索」プッシュボタン3912を選択してもよい。
ユーザが所望すれば、当該ユーザは、検索クエリの一部として視覚的要素の特徴を特定できる。これは、GUIコンポーネントまたはオペレータのいずれかをとおしてなされ、絞り込む、または視覚的要素の特徴に合致する視覚的要素を含むドキュメントに高い関係性を付与する。
「パラグラフ」の結果を検索する場合、キーワードがタイトルの一部でなければならない、あるいは「パラグラフ」の結果が少なくとも、または、等しく、または、せいぜい所定の長さでなければならないことを、ユーザは指定する。
「表」の結果を検索する場合、キーワードがタイトルの一部、表のヘッダまたは表のキャプションの一部、または表のセルの一部でなければならない、あるいは「表」の結果が少なくとも、または、等しく、または、せいぜい所定の数の行または列でなければならないことを、ユーザは指定する。
「リスト」の結果を検索する場合、キーワードがタイトルの一部、またはリストキャプションの一部でなければならない、あるいは「リスト」の結果が少なくとも、または、等しく、または、せいぜい所定の数のリストアイテムでなければならないことを、ユーザは指定する。
「メニュー」の結果を検索する場合、水平または垂直に表示された「メニュー」の結果に興味をもつことを、ユーザは指定する。
「グラフ/チャート」の結果を検索する場合、キーワードがタイトルの一部、またはキャプションの一部でなければならない、または「グラフ/チャート」の結果がヒストグラム、ハリーグラフまたはホフマングラフ、またはバーチャート、またはカラムチャート、またはラインチャート、またはステップラインチャート、またはスプラインエリアチャート、レンジカラムチャート、ストックチャート、またはドーナツチャート、またはバブルチャート、またはローソク型チャート、またはパイチャートであることを、ユーザは指定する。
「固定幅テキスト」の結果を検索する場合、キーワードがタイトルの一部でなければならないことを、または「固定幅テキスト」の結果が少なくとも、または、等しく、または、せいぜい所定の長さでなければならないことを、ユーザは指定する。
「キー/値」の結果を検索する場合、キーワードがタイトルの一部、または「キー」の一部、または「値」の一部でなければならないことを、または「キー/値」の結果が少なくとも、または、等しく、または、せいぜい所定の数のキー/値アイテムでなければならないことを、ユーザは指定する。
「質問/回答」の結果を検索する場合、キーワードがタイトルの一部、または「質問」の一部、または「回答」の一部でなければならないことを、ユーザは指定する。
「タイムライン」の結果を検索する場合、キーワードがタイトルの一部、またはタイムラインイベントの一部でなければならないことを、ユーザは指定する。
図40は、GUI3900と同様の方法で駆動するGUI4000を示す。しかし、視覚的要素の種類のそれぞれに対応するボタン3901−3910(図39)の代わりに、GUI4000は選択チェックボックス4001−4010を備えた。処理の間に、ユーザ113または114(図1)は、1つまたは複数のチェックボックス4001−4010を選択し、テキストフィールド4011にキーワードを入力し、そして「検索」プッシュボタン4012を選択する。
図41は、クライアントロジック112(図1)によってユーザ113(図1)に表示されるGUI4100を示す。ユーザが視覚的要素の種類「リスト」を検索キーワード4102に入力した場合、それは提案4104をユーザに提示する検索エンジンロジック107(図1)によって、ユーザ114(図1)に表示される。ユーザは、視覚的要素の種類「リスト」に制限するような検索を示すボタン4101を押す。図41に示すように、ボタンの押した状態を示すために、ボタン4101に斜め線の背景が追加されるが、当該斜め線は実際のGUI4100の一部ではない。提案4104は「リスト」の選択4101と検索クエリキーワード4102とに基づき、検索クエリ4102がユーザによって更新されるたびに、提案4104は更新される。ユーザが提案ボックス4104からの提案を気に入った場合、彼は提案を採用し、「検索」ボタン4103を押下することにより、当該提案による検索を実行できる。
提案4104は検索クエリにおいて選択された視覚的要素の種類に依存し、視覚的要素の種類の異なる選択は、異なるキーワードの提案4104をもたらすことに注意する。また、他の実施の形態において、ユーザが検索キーワード4102を入力するたびに提案4104が更新されるだけでなく、ユーザが「検索」ボタン4103を押下する前から、ユーザが検索キーワードを入力するたびに、検索クエリの結果は一時的に更新される。
図42は、クライアントロジック112(図1)によってユーザ113(図1)に表示されるGUI4200を示す。ユーザが「検索」ボタン4203を押下し、検索キーワード「Diabetes Symptoms」4202を使って検索が実行された結果としての検索結果とともに、検索エンジンロジック107(図1)によって、それはユーザ114(図1)に表示される。視覚的要素の種類が「リスト」に限定された検索であることを示すボタン4201を、ユーザは押下する。図42に示すように、ボタンの押した状態を示すために、ボタン4201に斜め線の背景が追加されるが、当該斜め線は実際のGUI4200の一部ではない。検索結果4204、4205、および4206は、水平フォーマットでユーザに表示される。すなわち、交互に表示される。それぞれの検索結果4204、4205、および4206は、元のウェブページ111(図1)にリンクする見出しをもつ。概要が当該見出しに続く。概要は、検索クエリと関連する当該ウェブページの一部である。元のウェブページ111(図1)にあったのと同じ種類の視覚的要素に、概要は表示される。ブロック分割およびインデクス付けロジック106がリストを抽出してインデクスを付けたところのウェブページ111(図1)が、丸印のリストの単語を含んでいたため、検索結果4204は、丸印のリストとして「Polyuria」および「Polydipsia」を表示する。ブロック分割およびインデクス付けロジック106がリストを抽出してインデクスを付けたところのウェブページ111(図1)が、数字の箇条書きリストの単語を含んでいたため、検索結果4205は、数字の箇条書きリストとして「Weight Loss」と「Polydipsia」とを表示する。ブロック分割およびインデクス付けロジック106がリストを抽出してインデクスを付けたところのウェブページ111(図1)が、小文字のアルファベットの箇条書きリストの単語を含んでいたため、検索結果4206は、小文字のアルファベットとして「Blurred Vision」と「Weight Loss」とを表示する。ウェブページ111(図1)へのURIが概要に続く。GUI4200は、検索結果4204、4205、および4206の右側に広告セクション4208を備える。マーケティング担当者は、広告セクション4208に広告を表示させるための値段を付けることができる。1つのページにおさまりきらない量の結果がある場合、当該結果は複数のページに分割される。ユーザはページネーション制御4207を用いて、当該複数のページにアクセスできる。
図43は、垂直に並べて配置された検索結果4305および4306の他の一例を示す。ユーザは、「前に」リンク4307、または「次に」リンク4308を用いることで、より多くの検索結果が利用できる場合はそれを見ることができる。広告セクション4304および4309は、マーケティング担当者が広告を配置するための値段を付けることができる。図4300には示していないが、広告セクションは検索結果の上部および下部には限定されない。それらは右、左、または結果ページの任意の位置に配置できる。
図44は、グリッドビューに配置された検索結果4405、4406、4407、4408、4409、および4410の他の一例を示す。図4400は、キーワード「Diabetes」4403で検索を実行するユーザを示す。また、図4400は、ボタン4401および4402をそれぞれ押下することによって、結果を「表」および「リスト」の視覚的要素の種類に限定するユーザを示す。図44に示すように、ボタンの押した状態を示すために、ボタン4401および4402に斜め線の背景が追加されるが、当該斜め線は実際のGUI4400の一部ではない。ブロック分割およびインデクス付けロジック106がリストを抽出してインデクスを付けたところのウェブページ111(図1)が、表として概要のセクションを備えていたため、検索結果4407は、表として当該セクションを示す。
本開示は、特定の好ましい実施の形態に関して説明してきたが、種々の変形および改変が当業者によってなされてもよく、本開示は上記変形および改変が添付されたクレームの範囲に含まれることを、明らかにしようとするものである。
〔請求項1〕
ドキュメントを処理する方法であって、
ソースコンテンツとプレゼンテーションセマンティクスとを含むドキュメントの予備的なメタデータを生成し、
前記予備的なメタデータを用いて、前記ドキュメントを1つまたは複数の識別されたブロックに分割し、
前記1つまたは複数の識別されたブロックのブロックリストを用意し、
ブロック処理を用いて、前記ブロックリストに含まれる前記1つまたは複数の識別されたブロックを処理し、
前記ブロックリストに含まれる少なくとも1つの識別されたブロックの少なくとも1つのタイトルのブロックアイテムを識別することを含むことを特徴とする方法。
〔請求項2〕
ドキュメントのソースコンテンツは、マークアップ言語にしたがって形式化されていることを特徴とする請求項1に記載の方法。
〔請求項3〕
前記ドキュメントのソースコンテンツは、平文で形式化されていることを特徴とする請求項1に記載の方法。
〔請求項4〕
前記ドキュメントのソースコンテンツは、インターフェースをとおしてアクセス可能な言語にしたがって形式化されていることを特徴とする請求項1に記載の方法。
〔請求項5〕
前記ドキュメントは、暗黙的なプレゼンテーションセマンティクスであることを特徴とする請求項1に記載の方法。
〔請求項6〕
前記ドキュメントは、リンクされたファイルに含まれる明示的なプレゼンテーションセマンティクスであることを特徴とする請求項1に記載の方法。
〔請求項7〕
前記ドキュメントは、明示的に埋め込まれたプレゼンテーションセマンティクスであることを特徴とする請求項1に記載の方法。
〔請求項8〕
前記予備的なメタデータは、前記ドキュメントのテキストコンテンツから導出可能な任意の情報であることを特徴とする請求項1に記載の方法。
〔請求項9〕
前記予備的なメタデータは、前記ドキュメントのマークアップコンテンツから導出可能な任意の情報であることを特徴とする請求項1に記載の方法。
〔請求項10〕
前記予備的なメタデータは、前記ドキュメントの明示的な、および/または、暗示的なプレゼンテーションセマンティクスから導出可能な任意の情報であることを特徴とする請求項1に記載の方法。
〔請求項11〕
前記予備的なメタデータは、前記ドキュメントの描画から導出可能な任意の情報であることを特徴とする請求項1に記載の方法。
〔請求項12〕
前記予備的なメタデータは、以前に計算されたメタデータから計算される任意の情報であることを特徴とする請求項1に記載の方法。
〔請求項13〕
前記ドキュメントは、所定のメタデータのルールを用いて、ブロックに分割されることを特徴とする請求項1に記載の方法。
〔請求項14〕
前記ブロックは、ネストされることを特徴とする請求項1に記載の方法。
〔請求項15〕
前記ドキュメントの全体はブロックであることを特徴とする請求項1に記載の方法。
〔請求項16〕
子ブロックをもたないブロックは、ブロックアイテムとして識別されることを特徴とする請求項1に記載の方法。
〔請求項17〕
前記ドキュメントのテキストコンテンツは、1つの、かつ、唯一のブロックアイテムに属することを特徴とする請求項1に記載の方法。
〔請求項18〕
前記ブロックリストに含まれるブロックアイテムに対して、ブロックアイテムのフォントメタデータ属性は、ブロックフォントファミリ、ブロックフォントサイズ、およびブロックフォントウェイトが計算されることを特徴とする請求項1に記載の方法。
〔請求項19〕
統計的な最頻値が、ブロックアイテムのフォントメタデータ属性の計算において用いられることを特徴とする請求項18に記載の方法。
〔請求項20〕
統計的な平均値が、ブロックアイテムのフォントメタデータ属性の計算において用いられることを特徴とする請求項18に記載の方法。
〔請求項21〕
数学的な公式が、ブロックアイテムのフォントメタデータ属性の計算において用いられることを特徴とする請求項18に記載の方法。
〔請求項22〕
前記ブロックリストに含まれるブロックアイテムに対して、ブロックアイテムインポータンスのメタデータ属性が計算されることを特徴とする請求項1に記載の方法。
〔請求項23〕
ドキュメントをブロックに分割するときに生成される付加情報は、既存のメタデータに増補されることを特徴とする請求項1に記載の方法。
〔請求項24〕
前記ブロックリストを生成することは、所定のメタデータのルールを用いて、前記ブロックリストから空のブロックを削除することをさらに含むことを特徴とする請求項1に記載の方法。
〔請求項25〕
前記ブロックリストを生成することは、所定のメタデータのルールを用いて、重複したブロックを削除することをさらに含むことを特徴とする請求項1に記載の方法。
〔請求項26〕
前記ブロックリストを生成することは、所定のメタデータのルールを用いて、中間的なブロックを削除することをさらに含むことを特徴とする請求項1に記載の方法。
〔請求項27〕
前記ブロックリストを生成することは、所定のデータおよびメタデータのルールを用いて、ブロックを結合することをさらに含むことを特徴とする請求項1に記載の方法。
〔請求項28〕
前記ブロックリストを生成することは、所定のメタデータのルールを用いて、ブロックを分割することをさらに含むことを特徴とする請求項1に記載の方法。
〔請求項29〕
識別されたブロックのリストを用意するときに生成される付加情報は、既存のメタデータに増補されることを特徴とする請求項1に記載の方法。
〔請求項30〕
検索クエリとの関連性にしたがって、ドキュメントを処理して識別する方法であって、
ソースコンテンツとプレゼンテーションセマンティクスとを含むドキュメントの予備的なメタデータを生成し、
前記予備的なメタデータを用いて、前記ドキュメントをブロックに分割し、
前記識別されたブロックのリストを用意し、
ブロック処理を用いて、前記ブロックのリストに含まれるブロックを処理し、
前記ブロックのリストに含まれるそれぞれのブロックに対して、タイトルのブロックを識別し、
インライン視覚的要素が含まれている場合、所定のデータおよびメタデータのルールを用いて、前記ブロックリストに含まれるブロックアイテムの少なくとも1つのインライン視覚的要素を識別し、
ブロック視覚的要素が含まれている場合、所定のプロファイルを用いて、前記ブロックリストに含まれる少なくとも1つのブロックの少なくとも1つのブロック視覚的要素を識別し、
発見された視覚的要素のインデクスを生成し、
グラフィカルユーザインターフェース(GUI)を介して検索クエリのデータを受信し、前記検索クエリデータは、少なくとも1つの選択された視覚的要素の種類を含み、
前記検索クエリに関係すると決定されたそれぞれのドキュメントを識別して、前記検索クエリに対する応答を生成することを含むことを特徴とする方法。
〔請求項31〕
ドキュメントのソースコンテンツは、マークアップ言語にしたがって形式化されていることを特徴とする請求項30に記載の方法。
〔請求項32〕
前記ドキュメントのソースコンテンツは、平文で形式化されていることを特徴とする請求項30に記載の方法。
〔請求項33〕
前記ドキュメントのソースコンテンツは、インターフェースをとおしてアクセス可能な言語にしたがって形式化されていることを特徴とする請求項30に記載の方法。
〔請求項34〕
前記ドキュメントは、暗黙的なプレゼンテーションセマンティクスであることを特徴とする請求項30に記載の方法。
〔請求項35〕
前記ドキュメントは、リンクされたファイルに含まれる明示的なプレゼンテーションセマンティクスであることを特徴とする請求項30に記載の方法。
〔請求項36〕
前記ドキュメントは、明示的に埋め込まれたプレゼンテーションセマンティクスであることを特徴とする請求項30に記載の方法。
〔請求項37〕
前記予備的なメタデータは、前記ドキュメントのテキストコンテンツから導出可能な任意の情報であることを特徴とする請求項30に記載の方法。
〔請求項38〕
前記予備的なメタデータは、前記ドキュメントのマークアップコンテンツから導出可能な任意の情報であることを特徴とする請求項30に記載の方法。
〔請求項39〕
前記予備的なメタデータは、前記ドキュメントの明示的な、および/または、暗示的なプレゼンテーションセマンティクスから導出可能な任意の情報であることを特徴とする請求項30に記載の方法。
〔請求項40〕
前記予備的なメタデータは、前記ドキュメントの描画から導出可能な任意の情報であることを特徴とする請求項30に記載の方法。
〔請求項41〕
前記予備的なメタデータは、以前に計算されたメタデータから計算される任意の情報であることを特徴とする請求項30に記載の方法。
〔請求項42〕
前記ドキュメントは、所定のメタデータのルールを用いて、ブロックに分割されることを特徴とする請求項30に記載の方法。
〔請求項43〕
前記ブロックは、ネストされることを特徴とする請求項30に記載の方法。
〔請求項44〕
前記ドキュメントの全体はブロックであることを特徴とする請求項30に記載の方法。
〔請求項45〕
子ブロックをもたないブロックは、ブロックアイテムとして識別されることを特徴とする請求項30に記載の方法。
〔請求項46〕
前記ドキュメントのテキストコンテンツは、1つの、かつ、唯一のブロックアイテムに属することを特徴とする請求項30に記載の方法。
〔請求項47〕
前記ブロックリストに含まれるブロックアイテムに対して、ブロックアイテムのフォントメタデータ属性は、ブロックフォントファミリ、ブロックフォントサイズ、およびブロックフォントウェイトが計算されることを特徴とする請求項30に記載の方法。
〔請求項48〕
統計的な最頻値が、ブロックアイテムのフォントメタデータ属性の計算において用いられることを特徴とする請求項30に記載の方法。
〔請求項49〕
統計的な平均値が、ブロックアイテムのフォントメタデータ属性の計算において用いられることを特徴とする請求項30に記載の方法。
〔請求項50〕
数学的な公式が、ブロックアイテムのフォントメタデータ属性の計算において用いられることを特徴とする請求項30に記載の方法。
〔請求項51〕
前記ブロックリストに含まれるブロックアイテムに対して、ブロックアイテムインポータンスのメタデータ属性が計算されることを特徴とする請求項30に記載の方法。
〔請求項52〕
ドキュメントをブロックに分割するときに生成される付加情報は、既存のメタデータに増補されることを特徴とする請求項30に記載の方法。
〔請求項53〕
前記ブロックリストを生成することは、所定のメタデータのルールを用いて、前記ブロックリストから空のブロックを削除することをさらに含むことを特徴とする請求項30に記載の方法。
〔請求項54〕
前記ブロックリストを生成することは、所定のメタデータのルールを用いて、重複したブロックを削除することをさらに含むことを特徴とする請求項30に記載の方法。
〔請求項55〕
前記ブロックリストを生成することは、所定のメタデータのルールを用いて、中間的なブロックを削除することをさらに含むことを特徴とする請求項30に記載の方法。
〔請求項56〕
前記ブロックリストを生成することは、所定のデータおよびメタデータのルールを用いて、ブロックを結合することをさらに含むことを特徴とする請求項30に記載の方法。
〔請求項57〕
前記ブロックリストを生成することは、所定のメタデータのルールを用いて、ブロックを分割することをさらに含むことを特徴とする請求項30に記載の方法。
〔請求項58〕
識別されたブロックのリストを用意するときに生成される付加情報は、既存のメタデータに増補されることを特徴とする請求項30に記載の方法。
〔請求項59〕
前記視覚的要素の種類は、リストであることを特徴とする請求項30に記載の方法。
〔請求項60〕
前記視覚的要素の種類は、表であることを特徴とする請求項30に記載の方法。
〔請求項61〕
前記視覚的要素の種類は、パラグラフであることを特徴とする請求項30に記載の方法。
〔請求項62〕
前記視覚的要素の種類は、メニューであることを特徴とする請求項30に記載の方法。
〔請求項63〕
前記視覚的要素の種類は、キー/値であることを特徴とする請求項30に記載の方法。
〔請求項64〕
前記視覚的要素の種類は、質問/回答であることを特徴とする請求項30に記載の方法。
〔請求項65〕
前記視覚的要素の種類は、固定幅テキストであることを特徴とする請求項30に記載の方法。
〔請求項66〕
前記視覚的要素の種類は、グラフ/チャートであることを特徴とする請求項30に記載の方法。
〔請求項67〕
前記視覚的要素の種類は、インタラクティブであることを特徴とする請求項30に記載の方法。
〔請求項68〕
前記視覚的要素の種類は、タイムラインであることを特徴とする請求項30に記載の方法。
〔請求項69〕
前記所定のプロファイルは、1つまたは複数の所定のブロックにおける、所定のデータおよびメタデータの集合であることを特徴とする請求項30に記載の方法。
〔請求項70〕
前記タイトルは、インライン視覚的要素およびブロック視覚的要素の両方のために識別されることを特徴とする請求項30に記載の方法。
〔請求項71〕
視覚的要素の特定の性質は、インライン視覚的要素およびブロック視覚的要素の両方のために識別されることを特徴とする請求項30に記載の方法。
〔請求項72〕
少なくとも1つの所定のヒントは、少なくとも1つの視覚的要素に関して、ドキュメントの著者または所有者によって、ドキュメントのソースコンテンツの中で提供されることを特徴とする請求項30に記載の方法。
〔請求項73〕
前記ヒントは、前記視覚的要素を識別することを特徴とする請求項72に記載の方法。
〔請求項74〕
前記ヒントは、前記視覚的要素の種類を識別することを特徴とする請求項72に記載の方法。
〔請求項75〕
前記ヒントは、前記視覚的要素のタイトルを識別することを特徴とする請求項72に記載の方法。
〔請求項76〕
前記ヒントは、前記視覚的要素の特徴を識別することを特徴とする請求項72に記載の方法。
〔請求項77〕
インライン視覚的要素およびブロック視覚的要素に用意されるインデクスは、視覚的要素のタイトルおよび視覚的要素の特別な特徴を含むことを特徴とする請求項30に記載の方法。
〔請求項78〕
前記GUIは、視覚的要素の種類を指定するためにユーザが選択するための、キーワードを入力するテキストボックスに隣接したトグルボタンを含むことを特徴とする請求項30に記載の方法。
〔請求項79〕
前記GUIは、視覚的要素の種類を指定するためにユーザが選択するための、キーワードを入力するテキストボックスに隣接したチェックボックスを含むことを特徴とする請求項30に記載の方法。
〔請求項80〕
前記GUIは、受信するステップにおいて検索クエリが受信されるたびに、当該検索クエリに関係したデータを表示することを特徴とする請求項30に記載の方法。
〔請求項81〕
前記GUIは、受信するステップにおいて検索クエリが受信されるたびに、当該検索クエリに関係した応答結果を表示することを特徴とする請求項30に記載の方法。
〔請求項82〕
前記検索クエリは、少なくとも1つの視覚的要素の種類を含むリクエストを含むことを特徴とする請求項30に記載の方法。
〔請求項83〕
前記検索クエリは、少なくとも1つの視覚的要素の特定の性質を含むリクエストを含むことを特徴とする請求項30に記載の方法。
〔請求項84〕
前記検索クエリは、少なくとも1つの負のモディファイアを含むリクエストを含むことを特徴とする請求項30に記載の方法。
〔請求項85〕
前記検索クエリは、少なくとも1つのモディファイアを含むリクエストを含むことを特徴とする請求項30に記載の方法。
〔請求項86〕
前記検索クエリは、少なくとも1つの制限された位置オペレータを含むリクエストを含むことを特徴とする請求項30に記載の方法。
〔請求項87〕
前記検索クエリは、少なくとも1つの視覚的要素の種類の識別オペレータを含むリクエストを含むことを特徴とする請求項30に記載の方法。
〔請求項88〕
前記検索クエリは、少なくとも1つの全包括的オペレータを含むリクエストを含むことを特徴とする請求項30に記載の方法。
〔請求項89〕
前記応答結果は、ユーザが要求した視覚的要素の種類で示されることを特徴とする請求項30に記載の方法。
〔請求項90〕
前記応答結果は、前記視覚的要素の種類で、および元のドキュメントで発見された前記視覚的要素と同一のプレゼンテーションセマンティクスで示されることを特徴とする請求項30に記載の方法。
〔請求項91〕
前記応答結果は、水平リストの形式で示されることを特徴とする請求項30に記載の方法。
〔請求項92〕
前記応答結果は、垂直リストの形式で示されることを特徴とする請求項30に記載の方法。
〔請求項93〕
前記応答結果は、格子の形式で示されることを特徴とする請求項30に記載の方法。
〔請求項94〕
前記応答を生成するステップは、広告データを表示することをさらに含むことを特徴とする請求項30に記載の方法。
〔請求項95〕
前記応答を生成するステップは、選択された前記視覚的要素の種類に基づいて、広告データを表示することをさらに含むことを特徴とする請求項30に記載の方法。
〔請求項96〕
1つまたは複数のウェブサーバと通信可能に接続されたネットワーク機器と、
前記ネットワーク機器を介して、前記1つまたは複数のウェブサーバから少なくとも1つのドキュメントを受信するように設計されたロジックとを含み、
前記ロジックは、前記ドキュメントの予備的なメタデータを生成するようにさらに設計され、
前記ドキュメントは、ドキュメントのコンテンツを含み、前記ドキュメントのコンテンツを分割し、前記予備的なメタデータを用いて1つまたは複数の識別されたブロックに分割し、1つまたは複数の識別されたブロックのリストを用意し、それぞれのブロックは、少なくとも1つのブロックアイテムを含み、
前記ロジックは、ブロック処理を用いて前記識別されたブロックを処理し、前記識別されたブロックのそれぞれに含まれるタイトルのブロックアイテムを識別するようにさらに設計されていることを特徴とする分割システム。
〔請求項97〕
1つまたは複数のウェブサーバと通信可能に接続されたネットワーク機器と、
前記ネットワーク機器を介して、前記1つまたは複数のウェブサーバからドキュメントを検索するように設計されたロジックとを含み、
前記ロジックは、前記ドキュメントの予備的なメタデータを生成するようにさらに設計され、
前記ドキュメントは、ドキュメントのコンテンツを含み、前記ドキュメントのコンテンツを分割し、前記予備的なメタデータを用いて1つまたは複数の識別されたブロックに分割し、1つまたは複数の識別されたブロックのリストを用意し、それぞれのブロックは、少なくとも1つのブロックアイテムを含み、
前記ロジックは、ブロック処理を用いて発見されたブロックを処理し、データおよびメタデータを用いて、それぞれのブロックアイテムに含まれるインライン視覚的要素を識別するようにさらに設計されており、
前記ロジックは、プロファイルを用いて前記識別されたブロックおよびブロックアイテムのそれぞれに含まれるブロック視覚的要素を識別し、発見された視覚的要素のインデクスを生成するようにさらに設計されており、
前記ロジックは、検索クエリの一部として1つまたは複数の視覚的要素に対するリクエストをユーザから受信するようにさらに設計されており、
前記検索クエリは、視覚的要素の種類をさらに含み、当該検索クエリに対する応答をユーザに対して生成することを特徴とする検索システム。

Claims (15)

  1. 検索クエリとの関連性にしたがって、元のドキュメントを処理して識別するコンピュータが実行する方法であって、
    ソースコンテンツとプレゼンテーションセマンティクスとを含むドキュメントの予備的なメタデータを生成し、
    前記予備的なメタデータのメタデータ属性のルールであるブロック識別基準の集合を用いて、前記ドキュメントを、1つまたは複数のブロックに識別されたブロックであって、表示されたときに視覚的に識別される当該ドキュメント内の視覚的要素を含むブロックに分割し、
    識別されたブロックのリストを用意し、
    ブロック処理を用いて前記ブロックを処理し、
    前記ブロックのリストに含まれるそれぞれのブロックに対して、タイトルのブロックを識別し、
    インライン視覚的要素が含まれている場合、所定のデータおよびメタデータのルールを用いて、ブロックアイテムに含まれる少なくとも1つのインライン視覚的要素を識別し、
    ブロック視覚的要素が含まれている場合、所定のプロファイルを用いて、少なくとも1つの前記ブロックに含まれる少なくとも1つのブロック視覚的要素を識別し、
    発見された視覚的要素のインデクスを生成し、
    受信された検索クエリのデータに基づいて検索クエリを実行し、前記検索クエリのデータは、少なくとも1つの選択された視覚的要素の種類を含み、
    前記検索クエリに関係すると決定されたそれぞれのドキュメントを識別して、前記検索クエリに対する応答を生成することを含むことを特徴とする方法。
  2. 前記予備的なメタデータは、ドキュメントのテキストコンテンツ、ドキュメントのマークアップコンテンツ、ドキュメントの明示的および/または暗示的なプレゼンテーションセマンティクス、ドキュメントのレンダリング、または、メタデータから導出可能な任意の情報であることを特徴とする請求項1に記載の方法。
  3. 子ブロックを持たないブロックに対して、ブロックアイテムインポータンスのメタデータ属性が計算されることを特徴とする請求項1に記載の方法。
  4. 前記ブロックを処理することは、所定のメタデータのルールを用いて、空のブロックを削除すること、重複したブロックを削除すること、中間的なブロックを削除すること、ブロックを結合すること、または、ブロックを分割することをさらに含むことを特徴とする請求項1に記載の方法。
  5. 前記視覚的要素の種類は、リスト、表、パラグラフ、メニュー、キー/値、質問/回答、固定幅テキスト、グラフ/チャート、インタラクティブ、および、タイムラインから成る群から選択された1つであることを特徴とする請求項1に記載の方法。
  6. 前記所定のプロファイルは、1つまたは複数のブロックにおける、所定のデータおよびメタデータの集合であることを特徴とする請求項1に記載の方法。
  7. タイトルは、インライン視覚的要素およびブロック視覚的要素の両方のために識別されることを特徴とする請求項1に記載の方法。
  8. 前記視覚的要素の種類に特有の情報は、インライン視覚的要素およびブロック視覚的要素の両方のために識別されることを特徴とする請求項1に記載の方法。
  9. 少なくとも1つの所定のヒントは、少なくとも1つの視覚的要素に関して、ドキュメントの著者または所有者によって、ドキュメントのソースコンテンツの中で提供され、前記視覚的要素、前記視覚的要素の種類、前記視覚的要素のタイトル、または、前記視覚的要素の前記種類に有の情報を識別することを特徴とする請求項1に記載の方法。
  10. インライン視覚的要素およびブロック視覚的要素に用意されるインデクスは、視覚的要素のタイトルおよび前記視覚的要素の種類に有の情報を含むことを特徴とする請求項1に記載の方法。
  11. 視覚的要素の種類を指定するためにユーザが選択するための、キーワードを入力するテキストボックスに隣接したトグルボタンまたはチェックボックスが、前記コンピュータによって提供されるグラフィカルユーザインターフェース(GUI)に含まれることを特徴とする請求項1に記載の方法。
  12. 前記検索クエリは、少なくとも1つの視覚的要素の種類、前記少なくとも1つの視覚的要素の前記種類に有の情報、少なくとも1つの「not」モディファイア、少なくとも1つのモディファイア、少なくとも1つのオペレータ「site」、少なくとも1つの視覚的要素の種類の識別オペレータ、または、少なくとも1つのオペレータ「comp」を含むリクエストを含むことを特徴とする請求項1に記載の方法。
  13. 応答結果は、ユーザが要求した視覚的要素の種類で示されることを特徴とする請求項1に記載の方法。
  14. 応答結果は、水平リストの形式、垂直リストの形式、または、格子の形式で示されることを特徴とする請求項1に記載の方法。
  15. 1つまたは複数のウェブサーバと通信可能に接続されたネットワーク機器と、
    前記ネットワーク機器を介して、前記1つまたは複数のウェブサーバから元のドキュメントを検索するように設計されたロジックとを含み、
    前記ロジックは、前記ドキュメントの予備的なメタデータを生成するようにさらに設計され、
    前記ドキュメントは、ドキュメントのコンテンツを含み、前記予備的なメタデータのメタデータ属性のルールであるブロック識別基準の集合を用いて前記ドキュメントを、1つまたは複数の識別されたブロックであって、表示されたときに視覚的に識別される当該ドキュメント内の視覚的要素を含むブロックに分割し、前記ブロックのリストを用意し、それぞれのブロックは、少なくとも1つのブロックアイテムを含み、
    前記ロジックは、ブロック処理を用いて発見された前記ブロックを処理し、インライン視覚的要素が含まれている場合、所定のデータおよびメタデータのルールを用いて、それぞれのブロックアイテムに含まれるインライン視覚的要素を識別するようにさらに設計されており、
    前記ロジックは、ブロック視覚的要素が含まれている場合、所定のプロファイルを用いて、少なくとも1つの前記ブロックに含まれるブロック視覚的要素を識別し、発見された視覚的要素のインデクスを生成するようにさらに設計されており、
    前記ロジックは、検索クエリのデータの受信に基づいて、検索クエリを実行し、当該検索クエリに対するユーザへの応答を生成するようにさらに設計されており、
    前記検索クエリは、視覚的要素の種類をさらに含むことを特徴とする検索システム。
JP2012532139A 2009-10-02 2010-10-04 視覚的要素をブロック分割し、識別し、インデクスを付けて、ドキュメントを検索するためのシステムおよび方法 Active JP6116247B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US24797309P 2009-10-02 2009-10-02
US61/247,973 2009-10-02
PCT/US2010/051357 WO2011041795A1 (en) 2009-10-02 2010-10-04 System and method for block segmenting, identifying and indexing visual elements, and searching documents

Publications (3)

Publication Number Publication Date
JP2013506913A JP2013506913A (ja) 2013-02-28
JP2013506913A5 JP2013506913A5 (ja) 2013-11-21
JP6116247B2 true JP6116247B2 (ja) 2017-04-19

Family

ID=43823993

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012532139A Active JP6116247B2 (ja) 2009-10-02 2010-10-04 視覚的要素をブロック分割し、識別し、インデクスを付けて、ドキュメントを検索するためのシステムおよび方法

Country Status (7)

Country Link
US (4) US10223455B2 (ja)
EP (1) EP2483816A4 (ja)
JP (1) JP6116247B2 (ja)
CN (1) CN102741838B (ja)
AU (2) AU2010300317C1 (ja)
CA (1) CA2776541A1 (ja)
WO (1) WO2011041795A1 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8499000B2 (en) * 2009-07-30 2013-07-30 Novell, Inc. System and method for floating index navigation
US9229984B2 (en) * 2011-01-25 2016-01-05 Hewlett Packard Enterprise Development Lp Parameter expressions for modeling user defined function execution in analytical data processing systems
US9355145B2 (en) 2011-01-25 2016-05-31 Hewlett Packard Enterprise Development Lp User defined function classification in analytical data processing systems
EP2857986A4 (en) * 2012-05-31 2015-10-14 Fujitsu Ltd INDEX GENERATION PROGRAM AND RESEARCH PROGRAM
US9721010B2 (en) * 2012-12-13 2017-08-01 Microsoft Technology Licensing, Llc Content reaction annotations
US10242080B1 (en) * 2013-11-20 2019-03-26 Google Llc Clustering applications using visual metadata
US10503357B2 (en) * 2014-04-03 2019-12-10 Oath Inc. Systems and methods for delivering task-oriented content using a desktop widget
EP3149659A4 (en) * 2015-02-04 2018-01-10 Vatbox, Ltd. A system and methods for extracting document images from images featuring multiple documents
JP6631337B2 (ja) * 2016-03-14 2020-01-15 コニカミノルタ株式会社 検索装置およびプログラム
US10459900B2 (en) * 2016-06-15 2019-10-29 International Business Machines Corporation Holistic document search
US10698485B2 (en) * 2016-06-27 2020-06-30 Microsoft Technology Licensing, Llc Augmenting text narration with haptic feedback
CN107742096A (zh) * 2017-09-26 2018-02-27 阿里巴巴集团控股有限公司 获取图表特征信息的方法及装置、电子设备、存储介质
CN110633399B (zh) * 2018-06-01 2024-09-13 北京搜狗科技发展有限公司 一种数据处理方法、装置和用于数据处理的装置
CN109284480B (zh) * 2018-07-27 2024-01-16 创新先进技术有限公司 一种业务文档处理方法、装置及服务器
US11194953B1 (en) * 2020-04-29 2021-12-07 Indico Graphical user interface systems for generating hierarchical data extraction training dataset
EP4147137A4 (en) * 2020-05-09 2024-05-22 Intuit Inc. GENERATING AND EDITING CONTENT USING DATA STRUCTURES
CN112100426B (zh) * 2020-09-22 2024-05-24 哈尔滨工业大学(深圳) 基于视觉和文本特征的通用表格信息检索的方法与系统
US12056946B2 (en) * 2021-08-12 2024-08-06 Toyota Research Institute, Inc. Method and system to align quantitative and qualitative statistical information in documents
US11657078B2 (en) * 2021-10-14 2023-05-23 Fmr Llc Automatic identification of document sections to generate a searchable data structure

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6963920B1 (en) * 1993-11-19 2005-11-08 Rose Blush Software Llc Intellectual asset protocol for defining data exchange rules and formats for universal intellectual asset documents, and systems, methods, and computer program products related to same
US5991739A (en) * 1997-11-24 1999-11-23 Food.Com Internet online order method and apparatus
US6763496B1 (en) * 1999-03-31 2004-07-13 Microsoft Corporation Method for promoting contextual information to display pages containing hyperlinks
US6275229B1 (en) * 1999-05-11 2001-08-14 Manning & Napier Information Services Computer user interface for graphical analysis of information using multiple attributes
US20030050927A1 (en) * 2001-09-07 2003-03-13 Araha, Inc. System and method for location, understanding and assimilation of digital documents through abstract indicia
US7177948B1 (en) * 1999-11-18 2007-02-13 International Business Machines Corporation Method and apparatus for enhancing online searching
US20060173873A1 (en) * 2000-03-03 2006-08-03 Michel Prompt System and method for providing access to databases via directories and other hierarchical structures and interfaces
JP3719089B2 (ja) * 2000-03-16 2005-11-24 松下電器産業株式会社 文書処理装置
US8677505B2 (en) * 2000-11-13 2014-03-18 Digital Doors, Inc. Security system with extraction, reconstruction and secure recovery and storage of data
US9311499B2 (en) * 2000-11-13 2016-04-12 Ron M. Redlich Data security system and with territorial, geographic and triggering event protocol
JP3941610B2 (ja) * 2002-07-08 2007-07-04 日本電気株式会社 情報抽出方法、情報抽出装置および情報抽出プログラム
JP2004054631A (ja) * 2002-07-19 2004-02-19 Internatl Business Mach Corp <Ibm> 情報検索システム、情報検索方法、html文書の構造解析方法及びプログラム
CN1567303A (zh) * 2003-07-03 2005-01-19 富士通株式会社 结构文档信息块的自动分割方法和装置
US7428700B2 (en) * 2003-07-28 2008-09-23 Microsoft Corporation Vision-based document segmentation
JP2005108006A (ja) * 2003-09-30 2005-04-21 Sorun Corp 文書データ管理方法、文書データ管理システム及び文書データ管理用コンピュータプログラム
US8150824B2 (en) * 2003-12-31 2012-04-03 Google Inc. Systems and methods for direct navigation to specific portion of target document
US7941397B2 (en) * 2004-02-25 2011-05-10 International Business Machines Corporation Dynamically capturing data warehouse population activities for analysis, archival, and mining
US20050210008A1 (en) * 2004-03-18 2005-09-22 Bao Tran Systems and methods for analyzing documents over a network
US8719700B2 (en) * 2010-05-04 2014-05-06 Xerox Corporation Matching a page layout for each page of a document to a page template candidate from a list of page layout candidates
US20100004957A1 (en) * 2006-01-27 2010-01-07 Robert Ball Interactive system and methods for insurance-related activities
US20070150494A1 (en) * 2006-12-14 2007-06-28 Xerox Corporation Method for transformation of an extensible markup language vocabulary to a generic document structure format
JP2008257537A (ja) * 2007-04-06 2008-10-23 Fuji Xerox Co Ltd 情報登録装置、情報検索装置、情報検索システム、情報登録プログラム、および情報検索プログラム
US8335754B2 (en) * 2009-03-06 2012-12-18 Tagged, Inc. Representing a document using a semantic structure
US20110016427A1 (en) * 2009-07-17 2011-01-20 Andre Gene Douen Systems, Methods and Articles For Managing Presentation of Information
US8595220B2 (en) * 2010-06-16 2013-11-26 Microsoft Corporation Community authoring content generation and navigation

Also Published As

Publication number Publication date
CN102741838B (zh) 2017-05-03
US20110082868A1 (en) 2011-04-07
CN102741838A (zh) 2012-10-17
AU2016203199A1 (en) 2016-06-16
CA2776541A1 (en) 2011-04-07
US11314824B2 (en) 2022-04-26
US10223455B2 (en) 2019-03-05
AU2010300317B2 (en) 2016-06-09
US20220215063A1 (en) 2022-07-07
EP2483816A4 (en) 2014-04-02
US20150363495A1 (en) 2015-12-17
US9703874B2 (en) 2017-07-11
AU2010300317C1 (en) 2016-09-01
WO2011041795A1 (en) 2011-04-07
US20190147010A1 (en) 2019-05-16
EP2483816A1 (en) 2012-08-08
AU2010300317A1 (en) 2012-05-24
JP2013506913A (ja) 2013-02-28

Similar Documents

Publication Publication Date Title
US11314824B2 (en) System and method for block segmenting, identifying and indexing visual elements, and searching documents
US11354356B1 (en) Video segments for a video related to a task
US7873901B2 (en) Small form factor web browsing
US9514216B2 (en) Automatic classification of segmented portions of web pages
US8135739B2 (en) Online relevance engine
JP5603337B2 (ja) バーティカル提案により検索要求を支援するためのシステム及び方法
US7904455B2 (en) Cascading cluster collages: visualization of image search results on small displays
RU2696305C2 (ru) Браузинг изображений через интеллектуально проанализированные связанные гиперссылкой фрагменты текста
US20150067476A1 (en) Title and body extraction from web page
US20080294619A1 (en) System and method for automatic generation of search suggestions based on recent operator behavior
US20030237053A1 (en) Function-based object model for web page display in a mobile device
US20050081146A1 (en) Relation chart-creating program, relation chart-creating method, and relation chart-creating apparatus
KR20070039072A (ko) 검색 엔진에서의 결과물 기반의 광고 개인화
BRPI0203479B1 (pt) Sistema para enriquecer conteúdo de documento
US10282358B2 (en) Methods of furnishing search results to a plurality of client devices via a search engine system
Ahmadi et al. User-centric adaptation of Web information for small screens
JP5146108B2 (ja) 文書重要度算出システム、文書重要度算出方法およびプログラム
JP6800478B2 (ja) Webページを構成する成分キーワードの評価プログラム
US20160019269A1 (en) System and method for variable presentation semantics of search results in a search environment

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131004

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131004

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140425

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140520

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140820

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20150224

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150624

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20150731

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20151002

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20160707

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161019

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170321

R150 Certificate of patent or registration of utility model

Ref document number: 6116247

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R154 Certificate of patent or utility model (reissue)

Free format text: JAPANESE INTERMEDIATE CODE: R154

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250