(57)【要約】【課題】ドキュメントの自由形式テキストを処理して、ドキュメント内の日付の一部もしくは全部を様々な日付フォーマットを捕獲する拡張正規表現マッチングを使用して識別、位置づける日付照会システムを提供する。【解決手段】システムは、識別した各日付の正規化フォーマットを、例えば、特定日付照会、階層日付照会、範囲日付照会、日付と任意のキーワードを有する近接照会、および複数の種類の照会のあらゆる組み合わせなど、様々な種類の照会をサポートするようにパッケージ化する。システムはドキュメントをスキャンして、ドキュメントで出現する様々なフォーマットの日付を識別し、得られた日付の出現の曖昧性を解消し、一又は複数の所定のフォーマットに従って日付を正規化する。【選択図】図１
2007122732.tif 000002
【特許請求の範囲】
【請求項１】
複数の電子ドキュメント内の照会された日付のすべての出現を検索する方法であって、
電子ドキュメントの各々を拡張正規表現マッチングで処理し、ドキュメントのあらゆる日付フォーマットの任意の日付の各出現の正規化フォーマットを生成するステップと、
各出現の正規化フォーマットを一又は複数の種類の日付照会をサポートするようにパッケージ化するステップと、
パッケージ化した正規化フォーマットを使って、照会される日付のすべての出現を出力するステップとを有する、
方法。
【請求項２】
ドキュメント内のあらゆる日付フォーマットのすべての日付のすべての出現があるかドキュメントをスキャンするステップと、
出現の各々のフォーマットの曖昧性を解消するステップと、
曖昧性を解消した出現の各々について正規化フォーマットを生成するするステップを有する、
請求項１の方法。
【請求項３】
スキャンするステップが、拡張正規表現マッチングをドキュメントのコンテンツに適用して、ドキュメントのあらゆる日付フォーマットのすべての日付のすべての出現を発見するステップを有する、請求項２の方法。
【請求項４】
適用するステップが、拡張正規表現マッチングを使って、完全な数字形式の各日付を識別し、ドキュメントに出現する各アルファベット形式の月の名称を識別するステップを有する、請求項３の方法。
【請求項５】
アルファベット形式の月の名称が識別される場合、
接頭正規表現マッチングを適用して、アルファベット形式の月の名称の前の日付の接頭部を発見するステップと、
接尾正規表現マッチングを適用して、アルファベット形式の月の名称の後の日付の接尾部を発見するステップと、
接頭部と接尾部を相関させて、アルファベット形式の月の名称を含む日付のフォーマットを判別するステップとをさらに有する、
請求項４の方法。
【請求項６】
パッケージ化するステップが、各出現の正規化フォーマットを特定日付照会をサポートするように構成するステップを有する、請求項１の方法。
【請求項７】
パッケージ化するステップが、各出現の正規化フォーマットを階層日付照会をサポートするように構成するステップを有する、請求項１の方法。
【請求項８】
パッケージ化するステップが、各出現の正規化フォーマットを範囲日付照会をサポートするように構成するステップを有する、請求項１の方法。
【請求項９】
パッケージ化するステップが、各出現の正規化フォーマットを近接日付照会をサポートするように構成するステップを有する、請求項１の方法。
【請求項１０】
構成するステップが、出現の位置とスパンを正規化フォーマットに併合するステップを有する、請求項９の方法。
【請求項１１】
パッケージ化するステップが、各出現の正規化フォーマットを、近接日付照会を第２の種類の日付照会と組み合わせてサポートするように構成するステップを有し、第２の種類の日付照会が、特定日付照会、階層日付照会、および範囲日付照会を有するグループから選択される、請求項１の方法。
【請求項１２】
構成するステップが、出現の位置とスパンを正規化フォーマットに併合するステップを有する、請求項１１の方法。
【請求項１３】
複数の電子ドキュメント内の照会される日付のすべての出現を検索する、プログラムであって、前記プログラムが、
電子ドキュメントの各々を拡張正規表現マッチングで処理して、ドキュメント内のあらゆる日付フォーマットの任意の日付の各出現の正規化フォーマットを生成する機能と、
各出現の正規化フォーマットを一又は複数の日付照会をサポートするようにパッケージ化する機能と、
パッケージ化した正規化フォーマットを使って照会した日付のすべての出現を出力する機能とを、
コンピュータに実現させるプログラム。
【請求項１４】
ドキュメント内のあらゆる日付フォーマットのすべての日付のすべての出現があるかドキュメントをスキャンする機能と、
出現の各々のフォーマットの曖昧性を解消する機能と、
曖昧性を解消した出現の各々について正規化フォーマットを生成する機能とをさらに有する、
請求項１３のプログラム。
【請求項１５】
前記スキャンする機能が、拡張正規表現マッチングをドキュメントのコンテンツに適用して、ドキュメント内のあらゆる日付フォーマットのすべての日付のすべての出現を発見する機能である、請求項１４のプログラム。
【請求項１６】
複数の電子ドキュメント内の照会される日付のすべての出現を検索するサービス方法であって、
電子ドキュメントを受け取るステップと、
自動ハードウェア構成ユーティリティを呼び出すステップとを有し、電子ドキュメントを、
電子ドキュメントの各々を拡張正規表現マッチングで処理して、ドキュメント内のあらゆる日付フォーマットの任意の日付の各出現の正規化フォーマットを生成し、
各出現の正規化フォーマットを一又は複数の日付照会をサポートするようにパッケージ化し、
パッケージ化された正規化フォーマットを使って、照会される日付のすべての出現を出力することによって、
照会される日付のすべての出現を自動的に検索する自動ハードウェア構成ユーティリティに利用させるサービス方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的に電子ドキュメントのテキスト分析に関係する。より具体的には、本発明は日付が様々なフォーマットで出現する電子ドキュメントにおいて日付を識別することに関係し、さらに照会のために日付を一様にパッケージ化することに関係する。
【背景技術】
【０００２】
日付の検索は、大量のドキュメントの集合から関連ある箇所を把握し抽出する上で便利な基本要素である。コンテンツのソース日付をウェブに位置づけることは、日付を有する検索要求との関連性を判断する上で特に便利である。しかし、効率的に日付の照会を行うことは、日付が非構造化テキストで様々なフォーマットで出現しがちであるため厄介である。
【０００３】
例えば、２００４年１０月１１日という日付は、テキストにおいて、１１ｔｈ  ｏｆ  Ｏｃｔｏｂｅｒ  ２００４、１１−１０−２００４、１１  Ｏｃｔｏｂｅｒ，  ’０４、Ｏｃｔ  １１ｔｈ  ０４、１１／１０／０４、１０．１１．２００４、２００４  Ｏｃｔ  １１等として見受けられる。日付表現の多様性は、多種多様の人および組織が自由形式テキストなどのウェブコンテンツを書き込むウェブのような多様な集合では一層際立つ。このことはウェブの分散化の性質と自由形式テキストが負う厳格な必要条件の少なさの当然の結果である。
【０００４】
しかしながら、ウェブの自由形式テキストは、新しいものでも保存されたものでも重要な情報源である。新聞と雑誌はウェブ上でオンラインのニュース記事を提供し、ウェブ上のニュース源の概算数は１０，０００を超える。広範な話題を網羅するこれらのニュース記事は企業と個人双方のニーズを満たす。しかも、会社および大学などの組織はオンラインで利用できる多量の情報を公表する。あるサーチエンジンのサイトは索引付けされるウェブページの数が８０億以上と見積もっている。ウェブ上に大量のソースと大量のページがあることを考えると、このような大規模な集合を検索およびナビゲートする自動化技術のニーズが高まってきている。
【０００５】
日付は、その日付付近にあるまたはその日付と同じウェブページ上にある情報の時間的文脈を理解する重要な手段である。
「同じページにある」、「同じ行にある」等のような文脈を指定して、一又は複数のキーワードと合わせて、
ある日Ｄ（例、２００４年１０月１１日）について述べるすべてのページを示す、
指定の月（例、２００４年１０月）の任意の日付について述べるすべてのページを示す、又は
指定の年（例、２００４年）の任意の日付について述べるすべてのページを示す、
などの照会は、上記大規模なページの集合をフィルターにかけ、ナビゲートする当然かつ便利な方法である。
【０００６】
従来のウェブサーチエンジンは標準的なキーワードと近接検索を使って十分に機能しているが、更なる改良を提供することが望ましいであろう。従来のウェブサーチエンジンは日付による検索が十分ではない。「２００４年１０月１１日について述べるすべてのページを探す」などの基本的な日付照会でさえ、存在しうる各日付フォーマットを個別に検索する必要がある。このような検索は、存在しうる日付フォーマットの数がかなり多いため煩雑で管理しにくい。さらに、１１．１０．２００４などの一部のフォーマットは、一部のサーチエンジンが日付フォーマットの数字とピリオドが頻繁に現れるとそれを無視するために検索しにくい。
【０００７】
従来のウェブサーチエンジンを使って日付の検索をすることは、「２００４年１０月の任意の日付について述べるすべてのページを探す」などの階層日付照会の場合さらに管理しにくくなる。
【０００８】
従来のウェブサーチエンジンでは、曖昧なフォーマットの日付の検索はさらに難しい。例えば、１１．１０．２００４は、状況によって２００４年１０月１１日又は２００４年１１月１０日のどちらにも受け取れる。この曖昧性は、年を２桁の数字で表すとさらに複雑になり、月、日、および年は数値が似てくる（例、０１／０４／０５）。
【０００９】
ソース日付を探す別の従来のアプローチは各ページにつき１つの日付を探し、これはページが書き込まれた時、すなわちページの日付を表す。しかし、このページの日付はすべてのウェブページに存在するわけではない。ページの日付は概して十分に定義されておらず、ページ又はページのｈｔｔｐヘッダーに表示される異なる様々な日付に基づいた最善の推定であるのが普通である。さらに、この従来のアプローチは、１ページに複数の日付が記載されている場合でも、各ページ１つの日付しか保持しない。その結果、近接照会の場合他の日付の位置を含め、他の日付に関する情報は失われる。
【００１０】
キーワードを参照できる様々に異なる形式などの名前の付いた主体を識別する別の従来のアプローチは、考えられうるかぎりの選択肢を明示的に一覧表示する。この従来のアプローチは、異形の数が少数の場合にはうまく機能する。しかし、ソース日付をウェブ上に位置づける場合、各日付に存在しうるフォーマットの数が多く、考えられる異なる日付の数が多いため、このアプローチは面倒である。その結果、日付の場合、正規表現ベースのスポッティングがよりよい代替法である。
【００１１】
さらに別の従来のアプローチは、単なるシングルステップの正規表現マッチングを有する。特に、ウェブログ（ブログとしても知られる）などの場合では、この従来のアプローチは、ブログの構造に基づいてある程度まで日付の識別に対応する。しかし、この従来のアプローチはウェブ上にみられる日付の存在しうる幅広いフォーマットまでは対応できず、日付を識別するために要求される最終的な曖昧性解消に対応できない。さらに、存在しうるフォーマットの数の多さと処理を要するページ数の多さを考えると、この従来のアプローチにとって効率と処理時間は深刻な問題となる。
【発明の開示】
【発明が解決しようとする課題】
【００１２】
そのため、大量のウェブドキュメントの集合において効率的に日付を検索するシステム、コンピュータプログラム、および関連の方法が必要とされる。このようなソリューションのニーズは現在のところまだ満たされていない。
【００１３】
本発明はこのニーズに応え、大量のウェブドキュメントの集合において効率的に日付を検索するシステム、コンピュータプログラム、および関連の方法（本明細書では集合的に、「システム」又は「本システム」という）を提供する。
【課題を解決するための手段】
【００１４】
本システムの日付マッチングモジュールはドキュメントの自由形式テキストを処理して、様々な日付フォーマットを捕獲する拡張正規表現マッチングを使ってドキュメント内の日付の一部もしくは全部を識別し、位置づける。本システムのパッケージ化モジュールは、識別した各日付の正規化フォーマットをパッケージ化して、例えば、特定日付照会、階層日付照会、範囲日付照会、近接日付照会、１つの日付と任意のキーワードを有する近接照会、および様々な種類の照会のあらゆる組み合わせなど、様々な種類の照会をサポートする。
【００１５】
日付モジュールは、数字形式の日付とアルファベット形式の月の名称を検索しながら、日付の一部もしくは全部の出現がないかドキュメントをスキャンする。月の名称が見つかったら、接頭モジュールが接頭正規表現マッチングを発見した月の名称に先行する接頭サブストリングに適用して、月の名称に先行する日付の一部である日付の接頭部を識別する。接尾モジュールは接尾正規表現マッチングを発見した月の名称に後続する接尾サブストリングに適用して、月の名称に後続する日付の一部である日付の接尾部を識別する。日付マッチングモジュールは、接頭部と接尾部を相関させることによって、発見した月の名称に対応する日付の一又は複数のフォーマットを判別する。日付マッチングモジュールは発見した月、接頭部、および接尾部から選択したフォーマットで日付を生成する。
【００１６】
本システムのディスアンビギュエータ（ｄｉｓａｍｂｉｇｕａｔｏｒ）は、発見した数字形式の日付又は日付マッチングモジュールで生成した日付のいずれかを有する発見した日付の出現の曖昧性を解消する。曖昧性解消は、簡単に判別できない日、月、又は年の日付にとって望ましい。カノニカライザ（ｃａｎｏｎｉｃａｌｉｚｅｒ）は日付の曖昧性を解消した日付の出現について一又は複数の正規形に日付をフォーマット化する。
【発明を実施するための最良の形態】
【００１７】
以下の定義および説明は本発明の技術分野に属する背景情報を提供し、本発明の範囲を制限することなく本発明を理解しやすくするためのものである。
【００１８】
自由形式テキスト：例えば、単語、文、日付、数字などを有するワードプロセッサ又はテキストエディターへの入力などの非構造化テキスト。
【００１９】
ＨＴＭＬ（ハイパーテキスト・マークアップ言語）：体裁を加え、属性をドキュメント内の記述内容にリンクさせる標準的な言語。ドキュメントの作成段階の間、ＨＴＭＬ「タグ」はドキュメントの記述内容内に埋め込まれる。ウェブサーバがウェブドキュメント（又は「ＨＴＭＬドキュメント」）をウェブブラウザに送信するとき、タグはブラウザによって解釈され、ドキュメントの構文解析と表示に使われる。ウェブブラウザがドキュメントをどのように表示するかを指定することに加えて、ＨＴＭＬタグは他のウェブドキュメントへのハイパーリンクを作り出すのにも使用できる。
【００２０】
インターネット：１組の標準プロトコルによってルーターと結ばれるグローバルな分散型ネットワークを形成する公衆およびプライベートのコンピュータネットワークを相互接続した集合体。
【００２１】
ワールド・ワイド・ウェブ（ＷＷＷ、ウェブともいう）：インターネットのクライアント・サーバ・ハイパーテキスト分散情報検索システム。
【００２２】
本発明の様々な特徴およびそれを達成する方法を、以下の説明、請求項、および図面を参照しながら詳細に説明していく。その中で、参照アイテム間の対応を示すために、適切な場合、同じ参照番号を使用する。
【００２３】
図１は、本発明に従うウェブドキュメントの集合で効率的に日付を検索するシステム、サービス、コンピュータプログラム、および関連の方法（「日付検索システム１０」又は「システム１０」）を使用できる例示的な全体の環境を表す。テキスト解析システム１５はシステム１０とサーチエンジン２０を有する。テキスト解析エンジン１５は、例えば、ＷＷＷなどのソースから取得したドキュメントをデータ解析、トレンド発見等のために解析する。テキスト解析エンジンは、サーチエンジン２０が備える検索機能を有する。テキスト解析システム１５はホストサーバ２５などのコンピュータにインストールされる。
【００２４】
システム１０はソフトウェア・プログラミングコード又はコンピュータプログラムを有し、典型的にはホストサーバ２５の内部に埋め込まれるか、又はホストサーバ２５にインストールされる。代わりに、システム１０はディスケット、ＣＤ、ハードドライブ、又はその種の他のデバイスなどの適切な記憶媒体に保存できる。データベース３０（ｄＢ３０）はＷＷＷなどのソースからのドキュメントを有する。システム１０はＷＷＷと関連して説明していくが、システム１０はＷＷＷ又は他のソースから得たコンテンツの独立型ｄＢ３０とともに使用することもできる。
【００２５】
遠隔のインターネットユーザなどのユーザはコンピュータ３５、４０、４５などの多様なコンピュータによって表され、ネットワーク５０からホストサーバ２５にアクセスできる。コンピュータ３５、４０、４５はそれぞれ、ユーザがホストサーバ２５と安全にインターフェースできるソフトウェアを有する。ホストサーバ２５は、電話、ケーブル、又は衛星リンクなどの通信リンク５５を介してネットワーク５０に接続される。コンピュータ３５、４０、４５は、それぞれ通信リンク６０、６５、７０を介してネットワーク５０に接続できる。システム１０はネットワーク５０の観点から説明するが、コンピュータ３５、４０、４５はリモートではなくローカルにシステム１０にアクセスもできる。コンピュータ３５、４０、４５は、手動でも、又はアプリケーションを使って自動的にシステム１０にアクセスしてもよい。ユーザはネットワーク５０およびサーチエンジン２０を介してｄＢ３０のデータを照会する。
【００２６】
図２は、システム１０の高次の階層を図示する。システム１０は、拡張マッチングモジュール２０５とパッケージ化モジュール２１０を有する。拡張マッチングモジュール２０５は、日付モジュール２１５と、接頭モジュール２２０と、接尾モジュール２２５と、ディスアンビギュエータ２３０と、カノニカライザ２３５とを有する。
【００２７】
入力２４０は、タグを除去したＷＷＷから得たあらゆるコンテンツなど、ｈｔｍｌタグをもたないドキュメントを有する。ｄＢ３０内のデータを処理して、ドキュメントのクロールされるｈｔｍｌコンテンツからｈｔｍｌタグを除去する標準的なタグ除去法を使って、ｈｔｍｌタグを除去する。ｈｔｍｌタグを除去すると、日付ストリング内に差し込まれるｈｔｍｌタグの複雑さがなくなることによって、日付のスポッティングプロセスが簡素化する。ｈｔｍｌタグを除去するには、日付の出現のスパンと位置の再構築が必要である。すなわち、近接を有する照会にはスパンと位置が必要である。システム１０により生成される出力２４５は、それぞれ識別した日付のスパンと位置を有し、近接照会をサポートする。
【００２８】
図３は、システム１０の方法３００を示す。拡張マッチングモジュール２０５はｄＢ３０内のドキュメントを処理して、ドキュメント内の日付の一部もしくは全部を識別して位置づける（ステップ４００、図４および図５の方法４００に詳しく説明）。拡張マッチングモジュール２０５は拡張正規表現マッチングを使って、様々な日付フォーマットを捕獲する。
【００２９】
自由形式テキストでは、日付は数字又はアルファベットのいずれかで出現することがある。英数字による日付は、例えば以下のような形式で出現する。
Ｏｃｔｏｂｅｒ  １１  ｈｈ：ｍｍ：ｓｓ  ＥＳＴ  ２００４
Ｏｃｔｏｂｅｒ  １１  ｈｈ：ｍｍ：ｓｓ  ２００４
１１  Ｏｃｔｏｂｅｒ  ２００４
Ｏｃｔｏｂｅｒ  １１  ２００４
２００４  Ｏｃｔｏｂｅｒ  １１
これら例示的な英数字形式の各々では、ある月の１１日を、上付き文字「ｔｈ」を付けて１１ｔｈのように書くと、さらに異形が生じる。一般に、ある月の日は、１ｓｔ、２ｎｄ、３ｒｄ、４ｔｈ、５ｔｈ等、又は１、２、３、４、５等と書くことができる。
【００３０】
日付を英数字で書ける存在しうるテキストフォーマットの数は少なくない。日付フォーマットは、年フォーマット、月フォーマット、日フォーマット、および分離文字フォーマットを有する。
【００３１】
年のテキスト表現は多様な年フォーマットを有する。例えば、２００４年などの年は、２００４、０４、又は’０４と書ける。一般に、年は全４桁の整数（例、２００４）、または２桁の整数（例、０４）として、あるいは２桁の整数の前にアポストロフィーを付けて（例、’０４）出現しうる。曖昧性解消のために、システム１０は、１９７０年以前の年を４桁で完全に明記するよう規定する規約を使用する。システム１０は００から６９までの２桁の年を２０００年から２０６９年と解釈する。システム１０は７０から９９までの２桁の年は１９７０年から１９９９年と解釈する。
【００３２】
月のテキスト表現は多様な月フォーマットを有する。例えば、月は完全な形で綴るか、又は１０月の場合はＯｃｔのように略して綴って書くことができる。月はまた、多数の言語で、完全な形又は略語形で書くことができる。月は語頭だけを大文字で、小文字で、又は大文字で書くことができる。
【００３３】
また、日付は全部を明記しない英数字形式も一般的である。例えば、日付は、Ｏｃｔｏｂｅｒ  ２００４又は２００４  Ｏｃｔｏｂｅｒのように、日を付けずに月と年で表現することがある。日付はまた、Ｏｃｔｏｂｅｒ  １１ｔｈ、１１ｔｈ  Ｏｃｔｏｂｅｒ、１１  Ｏｃｔｏｂｅｒ、又はＯｃｔｏｂｅｒ  １１のように、年を付けずに月と日で表現することもある。
【００３４】
さらに、スペース、ダッシュ（「−」）、ピリオド（「．」）、コンマ（「，」）等の様々な符号が英数字形式の日付の成分を分離することがある。
【００３５】
数字で示される日付は、例えば以下のような数字形式を有する。
１１／１０／２００４、１１−１０−２００４、１１．１０．２００４、
１０／１１／２００４、１０−１１−２００４、１０．１１．２００４、又は
２００４／１０／１１、２００４−１０−１１、２００４．１０．１１
英数字形式による日付の成分は、スペース、ダッシュ（「−」）、ピリオド（「．」）、アンダーライン（「＿」、フォワードスラッシュ（「／」）等などの符号で分離することがある。英数字形式では、年は２桁（例、０４）又は４桁（例、２００４）を有する可能性がある。
【００３６】
ＵＲＬストリングは、日、月、又は年の間に分離文字が一切ない日付を有することができる。この場合、日付は、例えば２００４年１０月１１日の日付の場合、１１１０２００４、１０１１２００４、又は２００４１０１１などの数字によるストリングで書かれる。
【００３７】
ｈｔｍｌに現れる英数字形式の日付又は数字形式の日付のいずれかの場合、ｈｔｍｌタグは日付を表すストリング内に埋め込まれることがある。例えば１１ｔｈ  Ｏｃｔｏｂｅｒ  ２００４というストリングは「１１ｔｈ＜ｂ＞Ｏｃｔｏｂｅｒ＜／ｂ＞２００４」と書き込まれて、月Ｏｃｔｏｂｅｒを太字にしている。
【００３８】
図４および図５はシステム１０の拡張マッチングモジュール２０５の方法４００を図示する。システム１０は処理するドキュメントを選択する（ステップ４０５）。日付モジュール２１５は選択したドキュメントに、数字形式の日付又は完全な形もしくは略した形のアルファベット形式の月の名称を有する日付の一又は複数の出現があるかスキャンする。
【００３９】
拡張マッチングモジュール２０５は、発見した日付が月の名称を有するかどうかを判別する（判定ステップ４１５）。月の名称を有する日付は、典型的には月の名称に先行する英数字部分（接頭部ともいう）と月の名称に後続する英数字部分（接尾部ともいう）を有する。発見した日付が月の名称を有する場合、接頭モジュール２２０は接頭正規表現マッチングを発見した月の名称に先行する文字に適用して、接頭部を識別する（ステップ４２０）。接頭モジュール２２０は、５文字から１０文字までの長さの接頭サブストリングで出現する可能なあらゆる日−年のパターンを捕獲する。接頭サブストリングの代表的な長さは約１０文字である。
【００４０】
接尾モジュール２２５は、接尾正規表現マッチングを発見した月の名称に後続する文字に適用して、接尾部を識別する（ステップ４２５）。接尾モジュール２２５は、１０文字から３０文字までの長さの接尾サブストリングで出現する可能なあらゆる日−年パターンを捕獲する。接尾サブストリングの代表的な長さは約２０文字である。
【００４１】
拡張マッチングモジュール２０５は、接頭部と接尾部を相関させることによって、月の名称を有する日付の一又は複数のフォーマットを判別する（ステップ４３５）。拡張マッチングモジュール２０５は重複する日付を適切に処理する。例えば、「２００３  Ｏｃｔ  １１，  ２００４」というストリングは「２００３  Ｏｃｔ  １１」と「Ｏｃｔ  １１  ２００４」を表すことがある。
【００４２】
発見した日付が数字形式を有する場合（判定ステップ４２５）、ディスアンビギュエータ２３０は発見した日付の出現の各々のフォーマットの曖昧性を解消する（ステップ４３５）。ディスアンビギュエータ２３０への入力は、ステップ４１０で発見した数字形式の日付、又はステップ４３０で接頭部、月の名称、および接尾部から生成した日付を有する。
【００４３】
曖昧性は数字形式の日付（例、１１．１０．２００４）の場合も英数字形式の日付（例、０２  Ｏｃｔｏｂｅｒ  ０４）の場合も生じ、日、月、又は年が容易に区別できない。ディスアンビギュエータ２３０は日付のその部分の値の範囲を点検して、曖昧性を減らす。例えば、１２より大きい数字は、１年が１２ヶ月であるため、日又は年のいずれかである。同様に、３１より大きい数字は、１ヶ月の最大日数が３１であるため年である。
【００４４】
ディスアンビギュエータ２３０は、必要なら日付が見つかったページからの情報を利用して、さらに日付の曖昧性を解消する。例えば、曖昧性のない日付が書かれたページにある別の日付は、日付フォーマットの明白な指標となるであろう。ページが９．１０．２００４という日付を有することがあるが、この日付は２００４年１０月９日又は２００４年９月１０日のいずれにもなりうる。同じページにある別の日付を調べてみて、ディスアンビギュエータ２３０が１５．１０．２００４という日付を発見すると、この日付は２００４年１０月１５日でしかあり得ない。その結果、このページの日付のフォーマットはｄｄ．ｍｍ．ｙｙｙｙである。ディスアンビギュエータ２３０は、あるページが全体を通して同じフォーマットを使うと仮定して、現在選択した日付のフォーマットが選択したページの他の日付のフォーマットと同様であると推論して、結論を導き出す。
【００４５】
ディスアンビギュエータ２３０は、日付の曖昧性をさらに解消するのに望ましい場合、追加ルールを適用する。ディスアンビギュエータ２３０は、これら追加ルールをページの連続性に基づいて適用する。例えば、０８．１０．２００４、１１．１０．２００４、０４．１０．２００４を有するページの日付は、おそらくフォーマットｄｄ．ｍｍ．ｙｙｙｙを有するであろう。ディスアンビギュエータ２３０はさらに、追加ルールを過去／未来と比較した日付に基づいて適用する。例えば、日付のある解釈が、選択したドキュメントが存在するドキュメントの集合の現在クロールした日付の後になる場合、その解釈は退けられる。ディスアンビギュエータ２３０は追加ルールを最新度および近似性に基づいて適用する。考えられる日付の解釈がクロールした日付よりも前になる場合、クロール日付に近い方の日付解釈を選択する。例えば、２００４年１２月にクロールされるページが０１  ｏｃｔｏｂｅｒ  ０４という日付をリストする。ディスアンビギュエータ２３０は０１  ｏｃｔｏｂｅｒ  ０４という日付を、２００１年１０月４日ではなく２００４年１０月１日と解釈する。
【００４６】
ある実施例では、ディスアンビギュエータ２３０は利用できる場合にはサイトレベルの情報を利用する。ディスアンビギュエータ２３０はサイトの一又は複数のページから日付フォーマット情報を収集して、収集した日付情報を日付が曖昧な他のページに利用する。
【００４７】
カノニカライザ２３５はディスアンビギュエータ２３０によって判別した月、日、および年を処理して、日付をＭＭＭ−ｄｄ−ｙｙｙｙの正規化形式で表す（ステップ４３０）。
【００４８】
パッケージ化モジュール２１０は、それぞれ識別した日付の正規化フォーマットをパッケージ化して（ステップ３０５）、例えば特定日付照会、階層日付照会、および範囲日付照会をサポートする。特定日付照会は、ある特定日付を有するドキュメントのコンテンツを照会する。例示的な特定日付照会は以下のとおりである。
「ある日付Ｄ（例、２００４年１０月１１日）について述べるすべてのページを示す」
階層日付照会は月、月と年、又は年を有するドキュメントのコンテンツを照会する。例示的な階層日付照会は以下のとおりである。
指定の月（例、２００４年１０月）の任意の日付について述べるすべてのページを示す、又は
指定の年（例、２００４年）の任意の日付について述べるすべてのページを示す
範囲日付照会は、日付範囲を有するドキュメントのコンテンツを照会する。例示的な範囲日付照会は、以下のとおりである。
２つの日付の間（例、２００４年１０月１１日から２００４年１０月２２日）の任意の日付について述べるすべてのページを示す
【００４９】
パッケージ化モジュール２１０は正規化した日付を次のフォーマットにパッケージ化する。［［ＭＭＭ−ｄｄ−ｙｙｙｙ］］、［［ＭＭＭ−ｙｙｙｙ］］、［［ｙｙｙｙ］］、３２ビットの整数。最初のフォーマット［［ＭＭＭ−ｄｄ−ｙｙｙｙ］］は特定日付照会を行うのを支援し、２番目と３番目のフォーマット［［ＭＭＭ−ｙｙｙｙ］］、［［ｙｙｙｙ］］は階層日付照会を行うのを支援し、４番目のフォーマットは範囲日付照会を行うのを支援する。
【００５０】
例えば、特定日付照会で２００４年１０月１１日などの特定日付のすべての出現を検索するには、ユーザは［［Ｏｃｔ−１１−２００４］］を要求する。この照会は１１．１０．２００４、１１−１０−０４、２００４  ｏｃｔ．  １１等を含めすべてのフォーマットの要求される日付の出現を返す。同様に、階層的な照会で２００４年１０月の任意の日付の出現を検索するには、ユーザは［［Ｏｃｔ−２００４］］を要求する。２００４年の任意の日付を検索するには、ユーザは［［２００４］］を要求する。
【００５１】
パッケージ化モジュール２１０はさらに識別した各日付の正規化フォーマットをパッケージ化して（ステップ３０５）、例えば、日付と任意の他のキーワードを有する近接照会をサポートする。近接照会のサポートにはドキュメントの日付の位置、日付のスパン、および入力２４０でドキュメント内の一部もしくは全部のワードに関連するスパンを知る必要がある。スパンは日付又はフレーズにおけるトークン数のカウントを有する。ある実施例では、パッケージ化モジュール２１０が生成する日付の正規化フォーマットは、ドキュメント内の日付の位置を有する。別の実施例では、パッケージ化モジュール２１０が生成する日付の正規化フォーマットはドキュメント内の日付のスパンを有する。
【００５２】
パッケージ化モジュール２１０はさらに識別した各日付の正規化フォーマットをパッケージ化して（ステップ３０５）、例えば、日付と任意の他のキーワードを有する近接照会とともに、例えば、特定日付照会、階層日付照会、および範囲日付照会など他の種類の日付照会をサポートする。
【００５３】
システム１０は、パッケージ化モジュール２１０が生成するパッケージ化を利用して、照会する日付のすべての出現を出力しながら、ｄＢ３０の日付照会をサポートする（ステップ３１０）。
【００５４】
例示的な正規パッケージは［［ＭＭＭ−ｄｄ−ｙｙｙｙ］］、［［ＭＭＭ−ｙｙｙｙ］］、［［ｙｙｙｙ］］、および３２ビットの整数を有する。カノニカライザ２３５は正規形に従いフォーマット化された日付を索引付けする。例えば、カノニカライザ２３５は２００４年１０月１１日を、Ｏｃｔ−１１−２００４、Ｏｃｔ−２００４、および２００４として索引付けされるように索引付けする。日付を正規形で索引付けすることで、日付を特定照会と階層照会に突合せできる。各日付は、例えば、年の場合は１１ビット、月の場合は４ビット、日の場合は５ビットを使って整数に変換される。これら２０ビットが３２ビットの整数としてパッケージ化される。
【００５５】
ディスアンビギュエータ２３０で解決されない日付の曖昧性は、考えられる各解釈について索引付けされて、曖昧な日付の解釈を対応するユーザ照会に突合せできる。曖昧な日付の索引付けによりユーザにとって呼び出しの能力が高まる。
【００５６】
図６は、「２００４年１０月の全日付」という１回の照会の結果を表示する例示的なスクリーンショット５００を図示する。スクリーンショット５００はメニューバー５０５と一又は複数の検索コントロールボタン５１０を有する。スクリーンショット５００に一覧表示されるのは、例示的な照会応答５１５、５２０、５２５、５３０、５３５（集合的に、照会応答５４０という）である。照会によって追加の照会応答が見つかるかもしれないが、スクリーンショット５００には示していない。
【００５７】
照会応答５４０で分かるように、システム１０は日付を多様な形式で識別し、日付が１回の照会で発見できるように日付をパッケージ化する。例示的な照会応答５１５は、Ｏｃｔｏｂｅｒ  １９  ２００４として表示される日付を有する。例示的な照会応答５２０は、Ｏｃｔ  ２６，  ２００４として表示される日付を有する。例示的な照会応答５２５は、Ｏｃｔｏｂｅｒ  １４，  ２００４として表示される日付を有する。例示的な照会応答５３５は、１０．１４．２００４として表示される日付を有する。照会応答５４０の日付の各々の月は、例えば、太字フォント、イタリック体フォント、（図示されるような）下線等などのある形で強調表示される。
【００５８】
説明してきた発明の具体的な実施例は本発明の原理の一定の応用の単なる説明的なものと理解されるべきである。本明細書で説明するウェブドキュメントの集合において効率的に日付を検索するシステムおよび方法は、本発明の精神および範囲を逸脱することなく多数の変更が行える。
【図面の簡単な説明】
【００５９】
【図１】本発明の日付検索システムを採用できる例示的な動作環境の概略図である。
【図２】図１の日付検索システムの高次アーキテクチャのブロック図である。
【図３】図１および２の日付検索システムの操作方法を示すプロセスフローチャートである。
【図４】図１および２の日付検索システムの日付マッチングモジュールの動作方法を示すプロセスフローチャートである。
【図５】図１および２の日付検索システムの日付マッチングモジュールの動作方法を示すプロセスフローチャートである。
【図６】図１および２の日付検索システムを有するサーチエンジンにユーザが実行依頼した照会応答の例示的なスクリーンショットを示す図である。
【図１】
2007122732.tif 000003
【図２】
2007122732.tif 000004
【図３】
2007122732.tif 000005
【図４】
2007122732.tif 000006
【図５】
2007122732.tif 000007
【図６】
2007122732.tif 000008