説明

構造化情報の生成

【課題】構造化または少なくとも部分的な構造化されたディレクトリのための情報収集を確立する方法を提供する。
【解決手段】企業についての構造化データあるいは非構造化データは、商業データプロバイダ、企業ウェブサイトあるいはディレクトリウェブサイトなどの1以上の情報源から取得される。非構造化データから抽出される文字列は、企業についての事実を記述する複数対のキーおよび値を含む。キーおよび値を標準化し、それらを機械に理解可能な構造化表現に置き換えるために、抽出された文字列は構文解釈される。いくつかのキーあるいは値は標準化することができない。その事実は、それらが属する企業とひとまとめに(クラスタ)される。異なる情報源からの標準化された事実は比較され、信頼レベルあるいは重みがその事実に割り当てられる。これらの信頼レベルおよび重みは、企業用のページに表示される事実をディレクトリで選択するために用いられる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般に、ネットワークから情報を抽出することに関し、特に、ネットワーク上の電子文書から構造化情報のセットを構築することに関する。
【背景技術】
【0002】
インターネットまたは他のネットワークに関する情報を見付けることは困難であり得る。検索エンジンにより、ユーザは指定した特徴を有するコンテンツを見付けることができる。しかしながら、ある場合、検索エンジンの有効性は、インターネット上で利用可能な莫大な情報量により害されている。例えば、「トムのレストラン」のようなありふれた名称のレストランを探す人は、正しいレストランを見付けるために歩いて回らなければならないほど多くの一致結果を受け取るであろう。
【0003】
「情報過多」の問題を改善する一つの方法は、より小さいセットの情報の検索を可能にすることである。検索エンジンにより、ユーザは特定の都市や他の地理的エリアに特化したディレクトリを検索することができる。そのように、ニューヨーク州ニューヨーク市の「トムのレストラン」を探している人は、ニューヨーク市のレストランだけに検索を制限するように指定することができる。結果として、検索結果が少なくなり、検索者が正しい結果を見出すことはより容易である。また、ローカルディレクトリは、レストランの位置を示す地図を提供するような追加の機能を提供することができる。
【0004】
ロバストな機能性を有するディレクトリの構築は複雑なプロセスである。ある都市にあるレストランや他の企業の名称、住所、電話番号のようなある種の情報は、比較的簡単に得られる。電話会社や他のデータプロバイダは、しばしばこの種の情報を販売している。しかしながら、効果的であるためには、ディレクトリは、標準的な情報プロバイダからでは利用不可能な追加の情報を含めるべきである。そのような追加情報は、営業時間、予約規定、支払選択、および駐車場が利用可能か否かなどである。理想的には、ディレクトリは、「火曜日に深夜まで開いているレストランを探す」や「予約可能な係員付きの駐車場を有するレストランを示す」などの複雑な問い合わせをサポートする構造化フォーマットでこの情報を維持するであろう。そのような情報を収集し、表示することの困難さのため、この種のディレクトリはこれまで作成されていない。
【発明の概要】
【発明が解決しようとする課題】
【0005】
上記のようなディレクトリを構築するのに必要な情報は、しばしばインターネット上で入手可能である。レストランは、営業時間や予約規定のような重要な詳細を提供するそれ自身のウェブページを有していることがある。同様に、レストランの項目を含む1以上のウェブディレクトリがあるかもしれない。けれども、通常、この情報は構造化されていないか、不適当な方法で構造化されている。例えば、レストランのウェブページは、「月曜定休」という言いまわしを用いてその営業時間を記載しているかもしれないが、既存のローカルディレクトリは、「営業日:火、水、木、金、土曜」のように同じ情報を特定している。このような同じ情報の表現方法の多様性により、種々の異なる情報源から得た構造化情報を有する統一されたディレクトリを構築することは困難である。
【0006】
そのため、構造化または少なくとも部分的な構造化されたディレクトリのための情報収集を確立する方法がこの分野では必要である。
【課題を解決するための手段】
【0007】
上記必要性は、構造化されたデータを生成するためのシステム、方法、コンピュータプログラムにより満たされる。一実施形態では、システムは、企業についての事実を記述する非構造化データを含む電子文書を受け取るためのデータ取得モジュールを備える。また、このシステムは、電子文書から企業についての情報を記述する非構造化データを抽出するためのデータ抽出モジュールを備える。さらに、このシステムは、抽出された非構造化データを受け取るとともに、非構造化データによって記述された事実の構造化された表現を作成するためのデータ解析モジュールを備える。
【図面の簡単な説明】
【0008】
【図1】本発明の一実施形態における、多数の非構造化あるいは構造化情報源から構造化情報を生成するコンピュータ環境のハイレベルブロック図である。
【図2】一実施形態における図1のコンピュータ環境に示されるエンティティの一つとして用いられるコンピュータの機能図を示すハイレベルブロック図である。
【図3】一実施形態における構造生成エンジン内のモジュールを示すハイレベルブロック図である。
【図4】一実施形態における営業時間を標準化するための値標準化モジュールにより実行されるステップを示すフローチャートである。
【図5】一実施形態における構造生成エンジンにより実行されるステップを示すフローチャートである。
【発明を実施するための形態】
【0009】
図面は、例証の目的のみで本発明の実施形態を描写する。当業者は、本明細書に記述される本発明の原則から逸脱することなく、本実施形態で示される構成および方法の代わりの実施形態を用いることができることを、以下の記述から容易に認識するであろう。
【0010】
1.概観
図1は、本発明の一実施形態における、多数の構造化されあるいは構造化されていない情報源から構造化された情報を生成するためのコンピュータ環境100のハイレベルブロック図である。図1は、構造化情報データベース112に接続される構造生成エンジン110を示す。構造生成エンジン110はネットワーク114に接続される。また、ネットワーク114は、商業データプロバイダ116と、企業ウェブサイト118と、ディレクトリウェブサイト120とにも接続される。ある実施形態では、これら後者の3つのエンティティの1以上が存在しない。
【0011】
最も高いレベルでは、構造生成エンジン110は、ネットワーク114上の多数の情報源からデータを収集する。このデータは構造化されているか、構造化されていない。構造生成エンジン110は、このデータを解析して、構造化事実を作成する。構造化情報データベース112は構造化された情報を格納する。構造化事実は、ローカルディレクトリの項目として、すなわち、検索クエリの結果としてあるいは情報に対する別のリクエストに応じて、ネットワーク114を介して提供される。
【0012】
構造化データは、コンテンツからデータのキー(すなわち、コンテキスト)の識別および区別を可能となるように組織化されたデータである。コンピュータまたは他の装置により構造化データを理解することができる。例えば、「TN: xxx-xxx-xxxx」(「x」は数字を意味する)という構造に組織化された電話番号を想定する。「TN: 212-864-6137」のようなこのフォーマットで組織化されたデータに遭遇すると、コンピュータにより実行されるプロセスでは、当該データのキーが電話番号であり、番号の値が212-864-6137であると決定することができる。非構造化データは、特定のフォーマットで組織化されていないデータであり、コンテキストおよびコンテンツを確認するのは困難である。準構造化データは、部分的に組織化されたデータである。
【0013】
構造生成エンジン110は、ネットワーク114上の多数の情報源からデータを収集して構造化するハードウェアあるいはソフトウェア装置である。構造生成エンジン110は、ネットワーク114を介して種々のデータソースとインタフェースで接続する機能を含む。例えば、構造生成エンジン110は、1以上の商業データプロバイダ116からデータを受信するためのインタフェースを含む。同様に、構造生成エンジン110は、企業ウェブサイト118やディレクトリウェブサイト120などのウェブサイトからウェブページあるいは他の電子文書を検索することができる。構造生成エンジン110は、受け取ったデータを分析して、キーと値の対から形成される事実を識別する。構造生成エンジン110は、事実のキーおよび値を標準化して、構造化データを作り出す。
【0014】
一実施形態では、構造生成エンジン110は、都市など特定の地理的領域にある企業に関するデータを受け取る。「企業」とは、会社、学校、官庁、非営利組織、あるいは他の同様のエンティティである。一実施形態では、企業はレストランであり、構造生成エンジン110により受け取られるデータは、営業時間、予約規定、可能な支払方法などのレストランの側面に関する。しかしながら、当業者は、レストラン以外の企業のための情報を構造化するために構造生成エンジン110を用いることができることを理解するであろう。さらに、構造生成エンジン110により受け取られたデータは、特定の地理的領域に限定される必要はない。
【0015】
構造化情報データベース112は、構造生成エンジン110により生成された、あるいは他の情報源からの構造化事実を格納する。一実施形態では、構造化情報データベース112は、構造化クエリ言語(SQL:structured query language)で作成されたクエリをサポートする関係型データベースである。他の実施形態は、異なる種類のデータベースを利用する。
【0016】
一実施形態では、構造化情報データベース112内の企業についての構造化事実は、地理的領域のためのローカルディレクトリをサポートするために利用される。ローカルディレクトリ内の事実は、ネットワーク114上のウェブサイトで利用可能とされる。コンピュータ、携帯電話、あるいは他のネットワーク接続装置を利用する人のようなエンドユーザは、このディレクトリにアクセスし、企業についての事実を要求することができる。例えば、エンドユーザは特定のレストランへのクエリを発することができる。それに応じて、ローカルディレクトリは、企業の名称、電話番号、住所、営業時間、予約規定、駐車場の利用可能性、可能な支払選択などのレストランについての事実を記載する1以上のウェブページを返す。ある実施形態では、エンドユーザは、ある場所から所定半径内にあるすべてのレストラン、予約可能なすべてのレストラン、あるいは午後10時以降も開いているすべてのレストランのような他の種類のクエリを発することができる。そのようなローカルディレクトリの一例として、カリフォルニア州マウンテンビューのグーグル社から利用可能なグーグルローカルサービスがある
【0017】
図1に示す商業データプロバイダ116は、ある実施形態では構造生成エンジン110にデータを提供する1以上の商業データプロバイダを表す。商業データプロバイダの例は、電話会社などの遠距離通信プロバイダ、新聞社などのメディアプロバイダ、およびD&B社などの商業ディレクトリプロバイダを含む。ある実施形態では、商業データプロバイダ116は、企業の名称、住所、電話番号などの地域内の企業についての基本情報を記述する事実セットを提供する。これらのデータは典型的に構造化されている。商業データプロバイダ116は、ネットワーク114を介してあるいは別の通信チャネルを通して構造生成エンジン110に当該データを提供する。
【0018】
図1に示す企業ウェブサイト118は、企業によってまたは企業に代行して運営される多数のウェブサイトを表す。企業ウェブサイト118の一例は、特定のレストランについての情報を提供するネットワーク114上のサイトである。通常の場合、そのサイトは、レストランの写真と、レストランの名称、住所、電話番号、営業時間、可能な支払方法および予約規定などの情報とを提供する。さらに、そのサイトは、サンプルメニューや道案内のような他の情報を含んでいてもよい。
【0019】
ネットワーク上の数千あるいは数万の企業ウェブサイト118は、構造生成エンジン110がアクセスすることができる可能なデータ情報源を表す。企業ウェブサイト118に関するデータは、しばしば構造化されておらず、あるいは種々の異なるフォーマットで構造化されている。例えば、ある企業ウェブサイト118は、レストランの営業時間を「営業日:月曜〜金曜、午前9時〜午後5時、土曜は午後6時まで」のように特定し、別の企業ウェブサイト118は、「営業日:午前6時〜午後2時、定休日:日曜、祝日」と特定している。これらのデータは定義された構造を欠いており、コンピュータが解釈するのは困難である。
【0020】
ディレクトリウェブサイト120は、多数の企業ウェブサイト118についての情報を提供するネットワーク114上の1以上のサイトを表す。一実施形態では、ディレクトリウェブサイト120は、地理的領域内にあるレストランの既存のディレクトリである。ディレクトリウェブサイト120は、レストランについての構造化情報、準構造化情報、あるいは非構造化情報を提供するウェブページを含む。そのページは、しばしば、少なくとも部分的に構造化されている。例えば、ディレクトリウェブサイト120のあるレストランのための各ページは、そのレストランが予約を受けるか否かを示すために、テキスト「予約」と、その後に続く「はい」または「いいえ」とを含んでもよい。しかしながら、ページについてのいくつかの情報は構造化されていないかもしれない。また、異なるディレクトリウェブサイト120では、異なる構造を利用している。
【0021】
ネットワーク114は、構造生成エンジン110とデータ情報源116、118、120との間の通信径路を表す。一実施形態では、ネットワーク114はインターネットである。また、ネットワーク114は、必ずしもインターネットの一部ではない専用のまたはプライベートの通信リンクを用いることもできる。一実施形態では、ネットワーク114は、標準的な通信技術あるいはプロトコルを用いてトラフィックを実行する。したがって、ネットワーク114は、802.11、総合デジタル通信網(ISDN)、デジタル加入者回線(DSL)や非同期転送モード(ATM)などの技術を用いるリンクを含むことができる。同様に、ネットワーク114上のトラフィックにより用いられる通信プロトコルは、マルチプロトコルラベルスイッチング(MPLS)、伝送制御プロトコル(TCP/IP)、ハイパーテキスト転送プロトコル(HTTP)、シンプルメール転送プロトコル(SMTP)、ファイル転送プロトコル(FTP)などを含むことができる。ネットワーク114を介して交換されるデータは、ハイパーテキストマークアップ言語(HTML)、拡張マークアップ言語(XML)などを含む技術あるいはフォーマットを用いて表されればよい。さらに、すべてまたはいくつかのリンクは、セキュアソケットレイヤー(SSL)、セキュアHTTPあるいは仮想プライベートネットワーク(VPN)のような従来の暗号化技術を用いて暗号化されればよい。別の実施形態では、エンティティは、上述の技術の代わりにまたはそれに加えて、カスタムのあるいは専用のデータ通信技術を用いることができる。
【0022】
2.システムアーキテクチャ
図2は、一実施形態における図1のコンピュータ環境100に示されるエンティティの一つとして用いられるコンピュータ200の機能図を示すハイレベルブロック図である。バス204に接続される少なくとも1つのプロセッサ202が示される。また、メモリ206、記憶装置208、キーボード210、グラフィックアダプタ212、ポインティングデバイス214およびネットワークアダプタ216もバス204に接続される。ディスプレイ218はグラフィックアダプタ212に接続される。
【0023】
プロセッサ202は、インテル社のx86、サンマイクロシステムズ社のSPARC、またはパワーPC社の互換性CPUなどのあらゆる汎用プロセッサであればよい。記憶装置208は、一実施形態ではハードディスク装置であるが、書き込み可能なコンパクトディスク(CD)やDVD、ソリッドステート記憶装置のようなデータを格納することができるあらゆる他の装置であってもよい。メモリ206は、例えば、ファームウェア、リードオンリーメモリ(ROM)、不揮発性ランダムアクセスメモリ(NVRAM)、あるいはRAMであればよく、プロセッサ202により用いられる命令およびデータを保持する。ポインティングデバイス214は、マウス、トラックボール、その他のポインティングデバイスであり、コンピュータシステム200にデータを入力するためのキーボード210と組み合わせて用いられる。グラフィックアダプタ212は、ディスプレイ218にイメージや他の情報を表示させる。ネットワークアダプタ216は、コンピュータ200をネットワーク114に接続させる。多くの場合、コンピュータは、キーボード210、ポインティングデバイス214、グラフィックアダプタ212あるいはディスプレイ218のような図2に示す1以上の構成要素を欠いている。
【0024】
本技術分野では公知のように、コンピュータ200は、コンピュータプログラムモジュールを実行するよう構成される。本実施形態で用いられるように、用語「モジュール(module)」は、指定された機能性を提供するためのコンピュータプログラムロジックあるいはデータに関する。モジュールは、ハードウェア、ファームウェアあるいはソフトウェアにおいて実行され得る。一実施形態では、モジュールは、記憶装置208に格納され、メモリ206にロードされ、プロセッサ202により実行される。
【0025】
図1のエンティティにより利用されるこの種のコンピュータ200は、実施形態およびそのエンティティにより要求される処理能力に応じて変更可能である。企業ウェブサイト118は、1つのコンピュータ200で実行するウェブサーバにより提供されてもよい。対照的に、ディレクトリウェブサイト120は、より強力なコンピュータで実行するウェブサーバあるいは協動する1以上のブレードサーバにより提供されてもよい。同様に、一実施形態では、構造生成エンジン110は、1以上のブレードサーバで実行する1以上のモジュールまたは本実施形態に記述される機能性を提供するために協働する他の種類のコンピュータを含む。
【0026】
図3は、一実施形態における構造生成エンジン110内のモジュールを示すハイレベルブロック図である。他の実施形態は、図示以外の追加のあるいは異なるモジュールを有する。さらに、本実施形態に記述される方法とは異なる方法でモジュール間に機能性を分散することもできる。また、構造生成モジュール110以外のエンティティにより上記機能のいくつかが提供されてもよい。
【0027】
データ取得モジュール310は、ディレクトリに含まれるべき企業についてのデータを取得する。一実施形態では、データ取得モジュール310は、商業データプロバイダ116から企業についてのデータを受信する。これらのデータは、例えば、商業データプロバイダ116により運用されるウェブサイトからそのデータを検索し、XMLまたは別のフォーマットを用いてデータを指定するデータフィード(data feed)を受信し、DVDまたは他のコンピュータに読み取り可能なメディアからそのデータをロードすることなどによって受け取られる。上述のように、商業データプロバイダ116からのデータは構造化され、それらの名称、住所あるいは電話番号を含む企業についての基本的事実のセットを提供する。
【0028】
一実施形態では、データ取得モジュール310は、企業ウェブサイト118あるいはディレクトリウェブサイト120についてのウェブページにより提供されるデータにアクセスするためのウェブ巡回モジュール312を含む。ウェブクローラは、そのリンクに続くことによりウェブサイトにアクセスし、そのサイトを通してトラバースする自動化プログラムである。ウェブ巡回モジュール312は、企業ウェブサイト118およびディレクトリウェブサイト120を巡回し、一実施形態では、次の解析を可能にするために遭遇するウェブページを格納する。実施形態に応じて、ウェブ巡回モジュール312が巡回するサイトは、手動で指定されるか、あるいは、商業データプロバイダ116または他の情報源から受信したデータに基づいてプログラムで選択される。
【0029】
一実施形態では、ウェブ巡回モジュール312は、1つの汎用クローラと1以上の特定目的のクローラとを含む。汎用クローラは、未知のフォーマットを有するウェブサイトを巡回するために用いられる。企業ウェブサイト118はしばしば場当たり的に作られ、各サイトのフォーマットは完全に一意であるかもしれない。一実施形態では、汎用クローラの振る舞いは、多種多様の異なるフォーマットを有するそのような場当たり的なサイトのために最適化される。
【0030】
特定目的のクローラは、フォーマットが事前に知られているディレクトリウェブサイト120あるいは企業ウェブサイト118を巡回するために利用される。例えば、ある地理的領域内のレストランを記述する既知の基底アドレスにおいて、既存のディレクトリウェブサイト120が一連のウェブページを有すると想定する。特定目的のクローラは、そのアドレスのウェブサイトにアクセスし、そのウェブページのみを検索するために手動でコード化される。特定目的のクローラは、それらが広告であるように、またはデータが収集される企業についての情報を他の方法で提供しないようにする特徴を有するリンクのようなページ上のあるリンクを無視するためにコード化され得る。同様に、特定目的のクローラは、企業についてのデータを含むようなページのみにアクセスするように、あるリンクを選択するためにコード化されてもよい。
【0031】
ある実施形態では、データ取得モジュール310は、企業を記述するデータを取得するために他の技術を用いる。一実施形態では、企業は、モジュールが商業データプロバイダ116からデータをどのように受信するかと同様に、予め構造化された事実テキストを直接データ取得モジュール310に送信する。別の実施形態では、データ取得モジュール310は、ネットワーク114に接続されるウェブサイトから検索されたコンテンツのキャッシュで見出されるウェブページのような、貯蔵庫で見出される分類されていないウェブページを検査する。
【0032】
データ抽出モジュール314は、ウェブ巡回モジュール312により格納されたウェブページあるいは電子文書から企業についてのデータを抽出する。一般的に言って、抽出されたデータは、エンドユーザが企業のディレクトリに役に立つと思うような企業の側面を記述する。一実施形態では、抽出されたデータは、企業の以下のものを含む:
名称、住所あるいは電話番号、
営業時間(すなわち、開いている時間)、
予約規定、
アクセスしやすさ(すなわち、身体障害者のアクセス)、
可能な支払方法、
駐車場(すなわち、駐車場がどのような形式で利用可能か)、
提供されるサービス、および
提供されるブランド。
他の実施形態は、異なるあるいは追加のデータを抽出する。
【0033】
一実施形態では、データ抽出モジュール314は、ウェブページから、企業を記述するキー、値の対を含むようなテキスト文字列を抽出する。データは、汎用のあるいは専用の抽出装置を用いて抽出される。一実施形態では、汎用および専用の両抽出装置は、手動で構築された正規表現を有する解析ツール(解析部:parser)から形成される。他の実施形態では、抽出装置のいくつかまたはすべては、自動化されたラッパ帰納(wrapper induction)技術を用いて作られる。
【0034】
専用の抽出装置は、既知のフォーマットを有するウェブページから情報を抽出するように最適化される。例えば、特定のディレクトリウェブサイト120からレストランについてのすべてのウェブページが、そのページの特定の位置に用語「身体障害者のアクセスしやすさ:」とそれに続く「はい」または「いいえ」を含むために知られていると想定する。専用の抽出装置は、ウェブページの正しい部分を見付け、「身体障害者のアクセスしやすさ」文字列を抽出する正規表現を含む。一実施形態では、専用の抽出装置は、二段組のテーブルを有するウェブページのために適合される。そのようなテーブルでは、1つの段は典型的に「駐車場」や「専門」のようなキーを含み、他方の段はそのキーの値を含む。専用の抽出装置は、そのテーブルからキーと値の対を抽出する。汎用の抽出装置は、同種の情報を抽出するが、特有ではないフォーマットを有するウェブページからデータを抽出するよう設計される。
【0035】
データ解析モジュール316は、キーと値の対を含む抽出された文字列を事実の正規表現に変換する。データ解析モジュール316の機能性を理解するために、ある企業に身体障害者がアクセス可能であるか否かを2つの異なるウェブページ(および抽出された文字列)がどのように表現することができるかを考える。一つの文字列が「車椅子がアクセス可能か(Wheelchair Accessible):はい(YES)」であり、もう一つの文字列が「身体障害者のアクセス(Handicap Access):はい(Y)」であることを想定する。両文字列は、身体障害者がその企業にアクセス可能であることを示すが、キー(すなわち、「車椅子がアクセス可能か」および「身体障害者のアクセス」)および値(すなわち、「YES」および「Y」)の両方とも異なる。同様に、文字列「営業時間:月曜から金曜の午前9時〜午後5時(hours: Monday to Friday 9-5)」と「営業日:平日、午前9時〜午後5時(OPEN weekdays from 9:00 am to 5:00 pm.)」を考える。これらの両文字列は、同じ営業時間を表すために、異なるキーと値の対を用いている。データ解析モジュール316は、可能な場合には、異なる情報源からのデータが同じ方法で表現されるようにキーと値の両方を変換する。一実施形態では、事実の正規表現は、構造化情報データベース112に格納される。
【0036】
キー標準化モジュール318は、抽出された文字列のおけるキーを標準化する。一般に、キー標準化は、文字列のデータを既知のデータタイプに分類する(例えば、文字列が時間データ、駐車場データまたはアクセスしやすさデータを含むか否かを決定する)処理である。一実施形態では、キー標準化モジュール318は、キーを識別するために、正規表現マッチングを実行する解析ツールを用いる。例えば、キー標準化モジュール318は、用語「営業日」、「定休日」、「時間」、「毎日」、あるいは文字列が営業時間を記述していることを意味する他の用語をその文字列が含むか否かを決定する。別の例では、キー標準化モジュール318は、用語「駐車場」、「ボーイ」、「敷地(lot)」、あるいは文字列がその企業で駐車場を利用可能であるか否かを記述していることを意味する他の用語をその文字列が含むか否かを決定する。キー標準化モジュール318が抽出された文字列内のキーを認識するならば、そのことは、その文字列をそのキーの正規表現に関連付けている。
【0037】
値標準化モジュール320は、抽出された文字列内の値を標準化する。値標準化は、文字列内にある値の機械に理解可能な表現を作り出す処理である。一実施形態では、値標準化モジュール320は、その値を解釈するために、正規表現マッチングを実行する解析ツールを用いる。ある種の値は、標準化するのに比較的素直である。例えば、「予約規定」および「アクセスしやすさ」キーは、「はい」か「いいえ」のいずれかの値を通常有する。これらの2種の値のための解析ツールは、文字列が用語「はい」、「いいえ」あるいはそれらと同等のものを含むか否かを決定することにより標準化を実行する。しかしながら、営業時間のようないくつかの値は、種々の異なる方法で表現されている。そのため、その種の値のための解析ツールはより複雑なロジックを利用する。
【0038】
図4は、一実施形態における営業時間値を標準化するための値標準化モジュール320により実行されるステップを示すフローチャートである。他の実施形態は、異なるあるいは追加のステップを実行する。また、他の実施形態は、異なる順序でステップを実行する。図4のステップが営業時間を標準化するように意図されるが、当業者は、他の種の値を標準化するために、類似のステップを用いることができることを認識するであろう。
【0039】
例として、文字列「営業日:月曜〜水曜、午前9時〜午後5時、木曜、〜午後7時」を用いて企業がその営業時間を記述していると想定する。営業時間の正規表現を作るために、値標準化モジュール320は、文字列内のシンボルを分類するために(ステップ410)、その文字列を解析する。一実施形態では、そのシンボルは、時間、日、セパレータ、営業日、定休日、あるいは無視のいずれかに分類される。正規表現はこれらの分類を実行するために用いられる。一実施形態では、これらを検出するために用いられるこれらの分類の意味および正規表現の記述は、以下のようになる:
【0040】
「時間」(T)は、企業の営業時間の時間を記述する値である。文字列の時間は、「##:##(午前/午後)」(ここで、「#」は数字であり、午前/午後は任意のサブコンポーネントである)、「#時」、「正午」および「####時間」のようなサブ文字列の発生を検出する正規表現により認識される。
【0041】
「日」(D)は、企業が開店(オープン)しまたは閉店(クローズ)している日を記述する値である。文字列の日は、「M」、「Mon」、「Monday(月曜日)」(および他の日の同等物)、「週末」、「毎日」のような1週間の日を表すサブ文字列の発生を検出する正規表現により認識される。
【0042】
「セパレータ」(−)は、文字列内の他のシンボルを分離するシンボルである。文字列のセパレータは、「−」(ハイフン)、「まで(to)」、「まで(until)」、「から(through)」、「から(thru)」のようなセパレータを表すサブ文字列の発生を検出する正規表現により認識される。
【0043】
「営業日/定休日」(O/C)は、文字列内の日付あるいは時間を修正する値である。これらの値は、「営業日」、「定休日」、あるいは文字列内の同様のサブ文字列の発生を検出する正規表現により認識される。
【0044】
「無視」(X)は、文字列を解析するとき無視される値である。無視は、スペース、カンマ、「and」等のような用語を検出する正規表現を用いて文字列から取り除かれる。
【0045】
分類(ステップ410)の後、文字列「open M-W 9 to 5, TH to 7」は、「OD−DT−TD−T」として表される。次に、値標準化モジュール320は、「D」シーケンスを、シーケンス内のすべての日を表す一つの「D」に折り畳む(ステップ412)。このステップは、「D−折り畳み」と呼ばれる。一実施形態では、折り畳まれたDは、営業日を記述するビットを有するベクトルにより表される。例えば、そのベクトルが日曜から始まるならば、月曜から水曜は「0111000」として表される。このステップの後、例示の文字列は「ODT−TD−T」として表される。
【0046】
D−折り畳み後、値標準化モジュール320は、必要であれば、時間シンボルをその表現に挿入する(ステップ414)。「T−挿入」と呼ばれるこのステップは滅多に起こらず、営業時間の提示が境界値を欠いている特別な場合を取り扱う。例えば、T−挿入は、営業時間が「TH 9-7」の代わりに「TH to 7」として表されている場合を取り扱う。一実施形態では、値標準化モジュール320は、「T」が先導しない「−T」、例えば、(D−T)の発生のための文字列の表現を検査する。そのような「−T」が見付けられるならば、値標準化モジュール320は、(存在するならば)直前の「T−」を識別子、この「T」をその表現に挿入する。したがって、「ODT−TD−T」は、「ODT−TDT−T」に変換される。それは、「営業日:月曜〜水曜、9時〜5時、木曜、9時〜7時」と同等である。
【0047】
次に、値標準化モジュール320は、その表現内の時間を解釈する(ステップ416)。その表現の一つの「T」は、3つの可能な解釈:午前、午後、または次の日の午前を有することができる。言い換えると、「1」は、午前1時、午後1時、または次の日の午前1時に言及することができる。一実施形態では、値標準化モジュール320は、「DT−T」シーケンスを識別するために解析ツールを用いる。これらの解析ツールは、これらのシーケンス内の時間を解釈するためにロジックを用いる。そのロジックは、ほとんどの企業がその営業時間をどのように表すかに基づいている。例えば、8から11までの開始時間は午前となる傾向があり、5〜7の間の開始時間は午後となる傾向があり、午後の開始時間に続くがより小さい数を持つ終了時間は、次の日の午前となる傾向がある。したがって、サンプル文字列は、「営業日:月曜〜水曜午前9時から午後5時まで、木曜午前9時から午後7時まで」と解釈される。
【0048】
これらのステップをサンプル文字列に適用すると、値標準化モジュール320は、その文字列を解釈することができ、機械に理解可能な正規表現で営業時間を表すことができる(ステップ418)。一実施形態では、正規表現は、1週間の営業日と営業時間を記述するベクトルである。
【0049】
図3において、データ解析モジュール316により実行される標準化は、一般に3つのカテゴリ(完全な標準化、キーのみの標準化、標準化なし)の一つに分類される。完全な標準化では、データ解析モジュール316は、抽出された文字列に含まれるキーと値の両方を標準化する。完全な標準化は最善の結果である。なぜならば、それにより、機械がキーと値の対により表現された事実を完全に理解することができ、多数の情報源からの事実を比較することができるからである。一実施形態では、「営業時間」、「予約規定」および「アクセスしやすさ」の日付を提供する文字列はしばしばこのカテゴリに分類される。
【0050】
「キーのみの標準化」では、データ解析モジュール316は、抽出された文字列に含まれるデータタイプを理解することができるが、その値の機械に理解可能な表現を作り出すことができない。一実施形態では、「可能な支払方法」と「駐車場」データを提供する文字列は、しばしばこのカテゴリに分類される。なぜならば、対応する値の解析が困難だからである。ある実施形態では、これは過渡的な状態である。最初に不明瞭な(理解されない)十分な値が考慮されると、解析ツールは、その値を標準化するよう構成され得る。
【0051】
「標準化なし」では、データ解析モジュール316は、キーだけでなく値も標準化することができない。一実施形態では、標準化することができない抽出された文字列は、抽出された形式で保存される。そして、抽出された文字列は、そこに含まれる事実の人による解釈を可能にするために、そのままディレクトリに提供される。
【0052】
ある実施形態では、データ解析モジュール316は、事実を理解するのと同様に、事実を認識するために、キー標準化モジュール318あるいは値標準化モジュール320の機能性を用いる。データ解析モジュール316がウェブサイトまたは別の情報源からテキストの断片を受信したが、テキストの意味についての情報を欠いているならば、データ解析モジュール316は、キーおよび値標準化モジュール318、320からの解析ツールをテキストに適用し、その解析ツールが有効な結果を作るか否かを決定することができる。そして、データ解析モジュール316は、解析ツールの結果に基づいてそのテキストを分類することができる。例えば、営業時間解析ツールがテキストの断片に適用され、有効な結果を作り出すならば、データ解析モジュール316は、そのテキストが営業時間情報を含み、営業時間キーをそのテキストに関連付けることを認識する。
【0053】
データクラスタリングモジュール322は、その事実(標準化されたか否か)をそれらが属する企業に関連付ける。一実施形態では、このクラスタリング処理は、企業ウェブサイト118あるいはディレクトリウェブサイト120から抽出された事実のセットを商業データプロバイダ116から受信される企業データと関連付けることにより実行される。クラスタリング処理の結果は、同じ企業に属する事実が一緒にグループ化されることである。
【0054】
データクラスタリングモジュール322の動作を理解するために、以下の5つの事実セットを考える:
1.円卓(Round Table)ピザ
650−961−0361
カリフォルニア州マウンテンビュー海岸線大通り北570
営業日 毎日午前11時〜午後10時
2.マウンテンビューの円卓ピザ
650−961−0361
94043 カリフォルニア州マウンテンビュー海岸線大通り北560
3.セーフウェーのフード&ドラッグ
650−961−4868
94043 カリフォルニア州マウンテンビュー海岸線大通り570
24時間オープン
4.円卓ピザ
650−961−0361
94022 カリフォルニア州ロスアルトス一番通り399
宅配可能
5.円卓
650−384−7463
94043 カリフォルニア州マウンテンビュー海岸線大通り570
【0055】
これらの事実が5つの異なる情報源から得られると想定する。例えば、事実2のセットは、商業データプロバイダ116から受信したデータから得られるが、他の4つの事実セットは、企業ウェブサイト118あるいはディレクトリウェブサイト120から得られる。
【0056】
これらの事実から、観察者は、第1、第2および第5の事実セットがおそらく同じ企業(マウンテンビューの円卓ピザ)を記述すると思うかもしれない。その事実は、通りの住所(番地)についてわずかに一致しないが、同じブロックのピザレストランの同じブランドが2つあることより、事実情報源の一つは間違った番号を有していた可能性が高い。また、電話番号についてもいくつかの不一致がある。再び、あるデータ情報源が間違った番号を有していたか、おそらくそのレストランが多数の電話番号を有しているかであろう。第3の事実セットは、ピザレストランと同じ住所を有する明らかに異なる企業(セーフウェー食料雑貨品店)を記述する(おそらく、円卓住所についてある混乱を説明する同じ小規模ショッピングセンター内である)。第4の事実セットは、数マイル離れたロスアルトスの異なる円卓レストランのように見える。データクラスタリングモジュール322は、同じ企業に属する事実セットを識別するとともに、異なる企業に属する事実セットを区別するために、同様のロジックを一覧表に適用する。
【0057】
データクラスタリングモジュール322は、近接により事実セットをグループ化する。一実施形態では、データクラスタリングモジュール322または別のモジュールは、住所あるいは他のデータから得られる経度と緯度を用いてその事実により記述される各企業の位置を表す。互いに適度に近い複数の企業(およそエラー半径、例えば、上述の560/570の住所の混乱)は同じ企業であるかもしれない。一方、(マウンテンビューとロスアルトスのような)非常に離れた複数の企業はほとんど同じではない。
【0058】
そのグループ化を容易にするために、データクラスタリングモジュール322の一実施形態は、近隣サイズが「エラー半径」(ほとんどの場合、2街区、密集市街地ではより近い)の回りである「近隣」に世界を分割する。近隣は部分的に重なり合い、事実セットは結局いくつかの近隣に割当てられる。この重なりにより、事実セットは隣接する近隣の事実で結合され得る。
【0059】
データクラスタリングモジュール322は、その事実が同じ企業に属するか否かを決定するために、ある近隣内の各事実セットをその近隣内の他の事実セットと比較する。一実施形態では、データクラスタリングモジュール322は、事実セット対の名称、電話番号、および位置を比較し、これらのアイテムに基づいて類似スコアを計算する。名称を比較するために、データクラスタリングモジュールは、コーパス(corpus)の頻度により重み付けされた共用用語および二重音字に基づいて、本文の類似韻律学を用いる。
【0060】
類似スコアが閾値を超えると、データクラスタリングモジュール322は、2つの事実セットを併合する。一実施形態では、データクラスタリングモジュール322は、事実セットが関連しないような特別な条件を取り扱うために、その併合に対するある例外を強制する。データクラスタリングモジュール322の一実施形態は、その名称が全く同じでない限り、異なる電話番号を有する1つの事実セットを併合しない。データクラスタリングモジュール322は、後の処理において事実グループを識別するために用いられる「クラスタID」を併合された事実セットに割り当てる。近隣が部分的に重なるので、多数の近隣において、事実セットが他の事実セットと併合され、クラスタIDを割り当てられたことは可能である。これが起こると、それに併合されたほとんどの事実セットを有するクラスタIDは企業用のクラスタになる。
【0061】
一実施形態では、事実比較モジュール324は、その事実の信頼レベルを確立するために、ある企業のクラスタされた(ひとまとめにされた)事実を比較する。上述のように、事実が種々の情報源から得られるとき、いくつかの事実は一致して、いくつかの事実は矛盾する。多数の情報源によりサポートされる事実は、高い信頼レベルを有する。例えば、多数の情報源から得られる事実が企業の営業時間について一致するならば、これらの事実は正しい可能性が高く、そのため、事実比較モジュール324は、高い信頼レベルをこれらの事実に割り当てる。対照的に、多数の情報源からの事実が矛盾するならば、事実比較モジュール324は、低い信頼レベルをこれらの事実に割り当てる。一実施形態では、部分的に標準化されあるいは標準化されていない事実は信頼レベルを割り当てられない。
【0062】
ある実施形態では、事実比較モジュール324は、ある情報源からの矛盾する事実と好意的な事実とを区別するために、重み付け処理を用いる。重み付け処理は、例えば、より最近の事実により重い重みを、最近ではない矛盾する事実により軽い重みを割り当てる。さらに、より信頼できる情報源からの事実に他の事実よりも重い重みを割り当てることができる。同様に、他の事実セットよりも多くの情報を提供する事実セット内の事実により重い重みを割り当てることができる。信頼レベルを欠いている部分的に標準化された事実あるいは標準化されない事実は、その事実の情報源、同じセット内の他の事実の数、あるいは他の基準に基づいて割り当てられる重みを有することができる。一実施形態では、低い信頼レベルあるいは重み付けを有する事実は捨てられる。
【0063】
上述のように、一実施形態では、構造化情報データベース112に格納される事実は、企業のローカルディレクトリをエンドユーザに提供するために用いられる。一実施形態では、構造生成エンジン110は、そのディレクトリが構造化情報データベース112に格納される事実をどのように提供すべきかを指定する事実表現モジュール326を含む。他の実施形態では、事実表現モジュール326は、そのディレクトリのウェブページを与えるモジュールのような異なるエンティティに位置する。
【0064】
事実表現モジュール326は、事実がどのようにディレクトリに表示されるかを決定するために、その事実の信頼レベルあるいは重み付けを用いる。一般に、より大きい信頼レベルあるいは重み付けを有する事実は表示されるが、より低い信頼レベルあるいは重み付けを有する事実は表示されない。表示された事実は、それらの情報源に帰属するか否かにかかわらず示される。一実施形態では、非常に高い信頼レベルを有する事実は帰属なしに表示される。例えば、商業データプロバイダ116からの名称、住所および電話番号の事実は、帰属なしに表示される。より低い信頼レベルを有する他の事実は、その事実が得られた情報源に帰属して表示される。一実施形態では、その帰属は、事実が抽出されたウェブページまたは他の電子文書にリンクするユニフォームリソースロケータ(URL)を含む。
【0065】
多数の情報源が同じ事実を提供するならば、一実施形態は、最も重い重み付けを有する事実のみを表示し、その事実を提供した情報源にそれを帰す。この技術は、二重の事実でページを満たすよりもむしろ他の事実を示すために、ページ上に空き領域を残す。例えば、ある企業が「営業日:月曜〜土曜 午前8時〜午後6時」であると情報源Aが示し、その企業が「営業日:月曜〜土曜」であるとのみ情報源Bが示すならば、それが多くの情報を含んでいるので(そのため、より重い重み付けを受けているので)、事実表現モジュール326は情報源Aからの事実を示す。
【0066】
一実施形態では、部分的に標準化されあるいは標準化されていない事実は、そのまま帰属して表示される。すなわち、その事実を記述する抽出された文字列は、その文字列の情報源へのリンクとともに、ウェブページに表示される。この表示により、エンドユーザはその事実を直接見て解釈することができる。
【0067】
3.プロセス/例
図5は、一実施形態における構造生成エンジン110により実行されるステップを示すフローチャートである。他の実施形態は、異なる順序でステップを実行し、あるいは、図5に示すステップと異なるステップまたは追加のステップを実行する。構造生成エンジン110は、図5のステップの多数の事例を同時に実行し、あるいは並列にステップを実行することができる。
【0068】
まず、構造生成エンジン110は、1以上の情報源から企業についてのデータを取得する(ステップ510)。これらの情報源は、商業データプロバイダ116、企業ウェブサイト118、あるいはディレクトリウェブサイト120を含むことができる。構造生成エンジン110は、そのデータから事実を記述する文字列を抽出する。
【0069】
構造生成エンジン110は、抽出された文字列を解析し、機械に理解可能な表現の標準化された事実を作り出す(ステップ512)。各文字列はキーと値の対を含む。構造生成エンジン110は、ある場合には、キーと値の両方を標準化することができ、他の場合には、キーのみを標準化することができ、さらに他の場合には、キーと値のいずれも標準化することができない。
【0070】
構造生成エンジン110は、その事実をクラスタする(ステップ514)。すなわち、構造生成エンジン110は、各事実をそれが属する企業と関連付ける。結果として、各企業は、1以上の事実のリストを得る。その事実のいくつかは一致し、別のいくつかは矛盾してもよい。構造生成エンジン110は、ある企業に関連した事実を比較する(ステップ516)。一実施形態では、構造生成エンジン110は、信頼レベルあるいは重みをそれらの事実に割り当てる。例えば、一致する多数の情報源からの事実は、高い信頼レベルを割り当てられる。
【0071】
ある時点で、事実は、その事実が属する企業のためのウェブページまたは他の電子文書上に提示される(ステップ518)。ウェブページは、ローカルディレクトリの一部であればよく、別のコンテキストに提供され得る。いくつかの事実はそれらの情報源の帰属なしに提示されるが、他の事実は帰属とともに提示される。また、非常に低い信頼レベルを有し、あるいは別の事実により既に提供された情報を含むいくつかの事実は示されない。
【0072】
上記の記述は、好適実施形態の動作を示すために含まれるが、本発明の範囲を限定するよう意味するものではない。本発明の範囲は、添付の特許請求の範囲によってのみ限定されるべきである。上記議論から、多くの変更は、本発明の意図および範囲によってもう包含されるであろう関連技術分野の当業者にとって明白であろう。
【符号の説明】
【0073】
100 コンピュータ環境
110 構造生成エンジン
112 構造化情報データベース
114 ネットワーク
116 商業データプロバイダ
118 企業ウェブサイト
120 ディレクトリウェブサイト

【特許請求の範囲】
【請求項1】
構造化データを生成するシステムであって、
企業の営業時間についての事実を記述する非構造化データを含む電子文書を受け取るためのデータ取得モジュールと、
前記企業の営業時間についての事実を記述する前記非構造化データを前記電子文書から抽出するためのデータ抽出モジュールと、
前記抽出された非構造化データを受け取り、前記非構造化データにより記述される前記企業の営業時間についての事実の構造化表現を作り出すためのデータ解析モジュールであって、値標準化モジュールを含み、該値標準化モジュールは、
前記電子文書から抽出された前記企業の営業時間についての事実を記述する文字列を受信し、
前記文字列内に含まれる複数シンボルを分類するために前記文字列を解析し、ここで、該解析することは、前記文字列から、一週間の曜日を表すシンボルを分類し、かつ、前記企業の前記営業時間を表すシンボルを分類することからなり、
前記文字列内における前記一週間の曜日を表すシンボルを一つにまとめて、まとめられた文字列を形成し、ここで、該まとめられた文字列は、一連の曜日を表すシンボルと前記企業の営業時間を表すシンボルとを有し、
前記一連の曜日における前記企業の営業時間を判定するために前記まとめられた文字列を解釈する、
ことを行う、前記データ解析モジュールと
を備え、前記企業の営業時間についての事実の前記構造化表現が、該企業が営業している一週間内の曜日を表すビットを使用して前記一連の曜日を表す前記シンボルを記述するベクトルを含むことを特徴とするシステム。
【請求項2】
前記文字列内における一週間の曜日を表すシンボルを一つにまとめることは、
前記文字列内における一週間の曜日を表す複数のシンボルのシーケンスを識別することと、
前記一週間の曜日を表す複数のシンボルのシーケンスを一連の曜日を表す1つのシンボルにまとめること
を含む請求項1に記載のシステム。
【請求項3】
前記値標準化モジュールは、更に、
前記文字列内の前記企業の営業時間の記述が境界値を欠いていることを識別することと、
前記境界値として前記企業の営業時間の一つの時間を前記文字列内に挿入すること
を行うものである請求項1又は2に記載のシステム。
【請求項4】
前記文字列を解析することは、該文字列内で他のシンボルを分離するセパレータを、該文字列内の複数シンボルから分類することを含む請求項1乃至3のいずれかに記載のシステム。
【請求項5】
前記文字列を解析することは、該文字列内での他のシンボルによって表された曜日及び/又は時間の修飾語を、該文字列内のシンボルから分類することを含む請求項1乃至4のいずれかに記載のシステム。
【請求項6】
前記ベクトルは、一週間内の各曜日において前記企業が営業している営業時間を記述する、請求項1乃至5のいずれかに記載のシステム。
【請求項7】
構造化データを生成するためのコンピュータプログラムであって、コンピュータに、
企業の営業時間についての事実を記述する非構造化データを含む電子文書を受け取るためのデータ取得手順と、
前記企業の営業時間についての事実を記述する前記非構造化データを前記電子文書から抽出するためのデータ抽出手順と、
前記抽出された非構造化データを受け取り、前記非構造化データにより記述される前記企業の営業時間についての事実の構造化表現を作り出すためのデータ解析手順であって、
前記電子文書から抽出された前記企業の営業時間についての事実を記述する文字列を受信し、
前記文字列内に含まれる複数シンボルを分類するために前記文字列を解析し、ここで、該解析することは、前記文字列から、一週間の曜日を表すシンボルを分類し、かつ、前記企業の前記営業時間を表すシンボルを分類することからなり、
前記文字列内における一週間の曜日を表すシンボルを一つにまとめて、まとめられた文字列を形成し、ここで、該まとめられた文字列は、一連の曜日を表すシンボルと前記企業の営業時間を表すシンボルとを有し、前記一連の曜日を表す前記シンボルは、前記企業が営業している一週間内の曜日を表すビットを有するベクトルによって前記構造化表現内において記述され、
前記一連の曜日における前記企業の営業時間を判定するために前記まとめられた文字列を解釈する、
ことを行う値標準化手順を備え、ここで、前記企業の営業時間についての事実の前記構造化表現が、該企業が営業している一週間内の曜日を表すビットを使用して前記一連の曜日を表すシンボルを記述する前記ベクトルからなる、前記データ解析手順と
を実行させるためのコンピュータプログラム。
【請求項8】
前記文字列内における一週間の曜日を表すシンボルを一つにまとめることは、
前記文字列内における一週間の曜日を表す複数のシンボルのシーケンスを識別する手順と、
前記一週間の曜日を表す複数のシンボルのシーケンスを一連の曜日を表す1つのシンボルにまとめる手順
を前記コンピュータに実行させることを含む請求項7に記載のコンピュータプログラム。
【請求項9】
前記値標準化手順は、更に、
前記文字列内の前記企業の営業時間の記述が境界値を欠いていることを識別する手順と、
前記境界値として前記企業の営業時間の一つの時間を前記文字列内に挿入する手順
を前記コンピュータに実行させることを含む請求項7又は8に記載のコンピュータプログラム。
【請求項10】
前記文字列を解析することは、該文字列内で他のシンボルを分離するセパレータを、該文字列内の複数シンボルから分類することを含む請求項7乃至9のいずれかに記載のコンピュータプログラム。
【請求項11】
前記文字列を解析することは、該文字列内での他のシンボルによって表された曜日及び/又は時間の修飾語を、該文字列内のシンボルから分類することを含む請求項7乃至10のいずれかに記載のコンピュータプログラム。
【請求項12】
前記ベクトルは、一週間内の各曜日において前記企業が営業している営業時間を記述する、請求項7乃至11のいずれかに記載のコンピュータプログラム。
【請求項13】
構造化データを生成するためにコンピュータによって実行される方法であって、
前記コンピュータが、企業の営業時間についての事実を記述する非構造化データを含む電子文書を受け取ることと、
前記コンピュータが、前記企業の営業時間についての事実を記述する前記非構造化データを前記電子文書から抽出することと、
前記コンピュータが、前記抽出された非構造化データを受け取り、前記非構造化データにより記述される前記企業の営業時間についての事実の構造化表現を作り出すこと、
を備え、前記抽出された非構造化データを受け取って前記構造化表現を作り出すことは、
前記電子文書から抽出された前記企業の営業時間についての事実を記述する文字列を受信することと、
前記文字列に含まれる複数シンボルを分類するために前記文字列を解析することと、ここで、該解析することは、前記文字列から、一週間の曜日を表すシンボルを分類し、かつ、前記企業の前記営業時間を表すシンボルを分類することからなり、
前記文字列内における一週間の曜日を表すシンボルを一つにまとめて、まとめられた文字列を形成することと、ここで、該まとめられた文字列は、一連の曜日を表すシンボルと前記企業の営業時間を表すシンボルとを有し、前記一連の曜日を表す前記シンボルは、前記企業が営業している一週間内の曜日を表すビットを有するベクトルによって前記構造化表現内において記述され、
前記一連の曜日における前記企業の営業時間を判定するために前記まとめられた文字列を解釈すること、
を含み、前記企業の営業時間についての事実の前記構造化表現が、該企業が営業している一週間内の曜日を表すビットを使用して前記一連の曜日を表すシンボルを記述する前記ベクトルからなることを特徴とする方法。
【請求項14】
前記文字列内における一週間の曜日を表すシンボルを一つにまとめることは、
前記コンピュータによって、前記文字列内における一週間の曜日を表す複数のシンボルのシーケンスを識別することと、
前記コンピュータによって、前記一週間の曜日を表す複数のシンボルのシーケンスを一連の曜日を表す1つのシンボルにまとめること
を含む請求項13に記載の方法。
【請求項15】
前記抽出された非構造化データを受け取って前記構造化表現を作り出すことは、更に、
前記コンピュータによって、前記文字列内の前記企業の営業時間の記述が境界値を欠いていることを識別することと、
前記コンピュータによって、前記境界値として前記企業の営業時間の一つの時間を前記文字列内に挿入すること
を含む請求項13又は14に記載の方法。
【請求項16】
前記文字列を解析することは、該文字列内で他のシンボルを分離するセパレータを、該文字列内の複数シンボルから分類することを含む請求項13乃至15のいずれかに記載の方法。
【請求項17】
前記文字列を解析することは、該文字列内での他のシンボルによって表された曜日及び/又は時間の修飾語を、該文字列内のシンボルから分類することを含む請求項13乃至16のいずれかに記載の方法。
【請求項18】
前記ベクトルは、一週間内の各曜日において前記企業が営業している営業時間を記述する、請求項13乃至17のいずれかに記載の方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2012−99138(P2012−99138A)
【公開日】平成24年5月24日(2012.5.24)
【国際特許分類】
【出願番号】特願2012−4466(P2012−4466)
【出願日】平成24年1月12日(2012.1.12)
【分割の表示】特願2007−558276(P2007−558276)の分割
【原出願日】平成18年3月2日(2006.3.2)
【出願人】(505281067)グーグル インコーポレイテッド (58)
【氏名又は名称原語表記】GOOGLE INC.