JP5020414B2 - 構造化情報の生成 - Google Patents

構造化情報の生成 Download PDF

Info

Publication number
JP5020414B2
JP5020414B2 JP2012004466A JP2012004466A JP5020414B2 JP 5020414 B2 JP5020414 B2 JP 5020414B2 JP 2012004466 A JP2012004466 A JP 2012004466A JP 2012004466 A JP2012004466 A JP 2012004466A JP 5020414 B2 JP5020414 B2 JP 5020414B2
Authority
JP
Japan
Prior art keywords
company
week
string
business hours
character string
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
JP2012004466A
Other languages
English (en)
Other versions
JP2012099138A (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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of JP2012099138A publication Critical patent/JP2012099138A/ja
Application granted granted Critical
Publication of JP5020414B2 publication Critical patent/JP5020414B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • 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/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Operations Research (AREA)
  • General Business, Economics & Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • Economics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Machine Translation (AREA)
  • Document Processing Apparatus (AREA)

Description

本発明は、一般に、ネットワークから情報を抽出することに関し、特に、ネットワーク上の電子文書から構造化情報のセットを構築することに関する。
インターネットまたは他のネットワークに関する情報を見付けることは困難であり得る。検索エンジンにより、ユーザは指定した特徴を有するコンテンツを見付けることができる。しかしながら、ある場合、検索エンジンの有効性は、インターネット上で利用可能な莫大な情報量により害されている。例えば、「トムのレストラン」のようなありふれた名称のレストランを探す人は、正しいレストランを見付けるために歩いて回らなければならないほど多くの一致結果を受け取るであろう。
「情報過多」の問題を改善する一つの方法は、より小さいセットの情報の検索を可能にすることである。検索エンジンにより、ユーザは特定の都市や他の地理的エリアに特化したディレクトリを検索することができる。そのように、ニューヨーク州ニューヨーク市の「トムのレストラン」を探している人は、ニューヨーク市のレストランだけに検索を制限するように指定することができる。結果として、検索結果が少なくなり、検索者が正しい結果を見出すことはより容易である。また、ローカルディレクトリは、レストランの位置を示す地図を提供するような追加の機能を提供することができる。
ロバストな機能性を有するディレクトリの構築は複雑なプロセスである。ある都市にあるレストランや他の企業の名称、住所、電話番号のようなある種の情報は、比較的簡単に得られる。電話会社や他のデータプロバイダは、しばしばこの種の情報を販売している。しかしながら、効果的であるためには、ディレクトリは、標準的な情報プロバイダからでは利用不可能な追加の情報を含めるべきである。そのような追加情報は、営業時間、予約規定、支払選択、および駐車場が利用可能か否かなどである。理想的には、ディレクトリは、「火曜日に深夜まで開いているレストランを探す」や「予約可能な係員付きの駐車場を有するレストランを示す」などの複雑な問い合わせをサポートする構造化フォーマットでこの情報を維持するであろう。そのような情報を収集し、表示することの困難さのため、この種のディレクトリはこれまで作成されていない。
上記のようなディレクトリを構築するのに必要な情報は、しばしばインターネット上で入手可能である。レストランは、営業時間や予約規定のような重要な詳細を提供するそれ自身のウェブページを有していることがある。同様に、レストランの項目を含む1以上のウェブディレクトリがあるかもしれない。けれども、通常、この情報は構造化されていないか、不適当な方法で構造化されている。例えば、レストランのウェブページは、「月曜定休」という言いまわしを用いてその営業時間を記載しているかもしれないが、既存のローカルディレクトリは、「営業日:火、水、木、金、土曜」のように同じ情報を特定している。このような同じ情報の表現方法の多様性により、種々の異なる情報源から得た構造化情報を有する統一されたディレクトリを構築することは困難である。
そのため、構造化または少なくとも部分的な構造化されたディレクトリのための情報収集を確立する方法がこの分野では必要である。
上記必要性は、構造化されたデータを生成するためのシステム、方法、コンピュータプログラムにより満たされる。一実施形態では、システムは、企業についての事実を記述する非構造化データを含む電子文書を受け取るためのデータ取得モジュールを備える。また、このシステムは、電子文書から企業についての情報を記述する非構造化データを抽出するためのデータ抽出モジュールを備える。さらに、このシステムは、抽出された非構造化データを受け取るとともに、非構造化データによって記述された事実の構造化された表現を作成するためのデータ解析モジュールを備える。
本発明の一実施形態における、多数の非構造化あるいは構造化情報源から構造化情報を生成するコンピュータ環境のハイレベルブロック図である。 一実施形態における図1のコンピュータ環境に示されるエンティティの一つとして用いられるコンピュータの機能図を示すハイレベルブロック図である。 一実施形態における構造生成エンジン内のモジュールを示すハイレベルブロック図である。 一実施形態における営業時間を標準化するための値標準化モジュールにより実行されるステップを示すフローチャートである。 一実施形態における構造生成エンジンにより実行されるステップを示すフローチャートである。
図面は、例証の目的のみで本発明の実施形態を描写する。当業者は、本明細書に記述される本発明の原則から逸脱することなく、本実施形態で示される構成および方法の代わりの実施形態を用いることができることを、以下の記述から容易に認識するであろう。
1.概観
図1は、本発明の一実施形態における、多数の構造化されあるいは構造化されていない情報源から構造化された情報を生成するためのコンピュータ環境100のハイレベルブロック図である。図1は、構造化情報データベース112に接続される構造生成エンジン110を示す。構造生成エンジン110はネットワーク114に接続される。また、ネットワーク114は、商業データプロバイダ116と、企業ウェブサイト118と、ディレクトリウェブサイト120とにも接続される。ある実施形態では、これら後者の3つのエンティティの1以上が存在しない。
最も高いレベルでは、構造生成エンジン110は、ネットワーク114上の多数の情報源からデータを収集する。このデータは構造化されているか、構造化されていない。構造生成エンジン110は、このデータを解析して、構造化事実を作成する。構造化情報データベース112は構造化された情報を格納する。構造化事実は、ローカルディレクトリの項目として、すなわち、検索クエリの結果としてあるいは情報に対する別のリクエストに応じて、ネットワーク114を介して提供される。
構造化データは、コンテンツからデータのキー(すなわち、コンテキスト)の識別および区別を可能となるように組織化されたデータである。コンピュータまたは他の装置により構造化データを理解することができる。例えば、「TN: xxx-xxx-xxxx」(「x」は数字を意味する)という構造に組織化された電話番号を想定する。「TN: 212-864-6137」のようなこのフォーマットで組織化されたデータに遭遇すると、コンピュータにより実行されるプロセスでは、当該データのキーが電話番号であり、番号の値が212-864-6137であると決定することができる。非構造化データは、特定のフォーマットで組織化されていないデータであり、コンテキストおよびコンテンツを確認するのは困難である。準構造化データは、部分的に組織化されたデータである。
構造生成エンジン110は、ネットワーク114上の多数の情報源からデータを収集して構造化するハードウェアあるいはソフトウェア装置である。構造生成エンジン110は、ネットワーク114を介して種々のデータソースとインタフェースで接続する機能を含む。例えば、構造生成エンジン110は、1以上の商業データプロバイダ116からデータを受信するためのインタフェースを含む。同様に、構造生成エンジン110は、企業ウェブサイト118やディレクトリウェブサイト120などのウェブサイトからウェブページあるいは他の電子文書を検索することができる。構造生成エンジン110は、受け取ったデータを分析して、キーと値の対から形成される事実を識別する。構造生成エンジン110は、事実のキーおよび値を標準化して、構造化データを作り出す。
一実施形態では、構造生成エンジン110は、都市など特定の地理的領域にある企業に関するデータを受け取る。「企業」とは、会社、学校、官庁、非営利組織、あるいは他の同様のエンティティである。一実施形態では、企業はレストランであり、構造生成エンジン110により受け取られるデータは、営業時間、予約規定、可能な支払方法などのレストランの側面に関する。しかしながら、当業者は、レストラン以外の企業のための情報を構造化するために構造生成エンジン110を用いることができることを理解するであろう。さらに、構造生成エンジン110により受け取られたデータは、特定の地理的領域に限定される必要はない。
構造化情報データベース112は、構造生成エンジン110により生成された、あるいは他の情報源からの構造化事実を格納する。一実施形態では、構造化情報データベース112は、構造化クエリ言語(SQL:structured query language)で作成されたクエリをサポートする関係型データベースである。他の実施形態は、異なる種類のデータベースを利用する。
一実施形態では、構造化情報データベース112内の企業についての構造化事実は、地理的領域のためのローカルディレクトリをサポートするために利用される。ローカルディレクトリ内の事実は、ネットワーク114上のウェブサイトで利用可能とされる。コンピュータ、携帯電話、あるいは他のネットワーク接続装置を利用する人のようなエンドユーザは、このディレクトリにアクセスし、企業についての事実を要求することができる。例えば、エンドユーザは特定のレストランへのクエリを発することができる。それに応じて、ローカルディレクトリは、企業の名称、電話番号、住所、営業時間、予約規定、駐車場の利用可能性、可能な支払選択などのレストランについての事実を記載する1以上のウェブページを返す。ある実施形態では、エンドユーザは、ある場所から所定半径内にあるすべてのレストラン、予約可能なすべてのレストラン、あるいは午後10時以降も開いているすべてのレストランのような他の種類のクエリを発することができる。そのようなローカルディレクトリの一例として、カリフォルニア州マウンテンビューのグーグル社から利用可能なグーグルローカルサービスがある
図1に示す商業データプロバイダ116は、ある実施形態では構造生成エンジン110にデータを提供する1以上の商業データプロバイダを表す。商業データプロバイダの例は、電話会社などの遠距離通信プロバイダ、新聞社などのメディアプロバイダ、およびD&B社などの商業ディレクトリプロバイダを含む。ある実施形態では、商業データプロバイダ116は、企業の名称、住所、電話番号などの地域内の企業についての基本情報を記述する事実セットを提供する。これらのデータは典型的に構造化されている。商業データプロバイダ116は、ネットワーク114を介してあるいは別の通信チャネルを通して構造生成エンジン110に当該データを提供する。
図1に示す企業ウェブサイト118は、企業によってまたは企業に代行して運営される多数のウェブサイトを表す。企業ウェブサイト118の一例は、特定のレストランについての情報を提供するネットワーク114上のサイトである。通常の場合、そのサイトは、レストランの写真と、レストランの名称、住所、電話番号、営業時間、可能な支払方法および予約規定などの情報とを提供する。さらに、そのサイトは、サンプルメニューや道案内のような他の情報を含んでいてもよい。
ネットワーク上の数千あるいは数万の企業ウェブサイト118は、構造生成エンジン110がアクセスすることができる可能なデータ情報源を表す。企業ウェブサイト118に関するデータは、しばしば構造化されておらず、あるいは種々の異なるフォーマットで構造化されている。例えば、ある企業ウェブサイト118は、レストランの営業時間を「営業日:月曜〜金曜、午前9時〜午後5時、土曜は午後6時まで」のように特定し、別の企業ウェブサイト118は、「営業日:午前6時〜午後2時、定休日:日曜、祝日」と特定している。これらのデータは定義された構造を欠いており、コンピュータが解釈するのは困難である。
ディレクトリウェブサイト120は、多数の企業ウェブサイト118についての情報を提供するネットワーク114上の1以上のサイトを表す。一実施形態では、ディレクトリウェブサイト120は、地理的領域内にあるレストランの既存のディレクトリである。ディレクトリウェブサイト120は、レストランについての構造化情報、準構造化情報、あるいは非構造化情報を提供するウェブページを含む。そのページは、しばしば、少なくとも部分的に構造化されている。例えば、ディレクトリウェブサイト120のあるレストランのための各ページは、そのレストランが予約を受けるか否かを示すために、テキスト「予約」と、その後に続く「はい」または「いいえ」とを含んでもよい。しかしながら、ページについてのいくつかの情報は構造化されていないかもしれない。また、異なるディレクトリウェブサイト120では、異なる構造を利用している。
ネットワーク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)のような従来の暗号化技術を用いて暗号化されればよい。別の実施形態では、エンティティは、上述の技術の代わりにまたはそれに加えて、カスタムのあるいは専用のデータ通信技術を用いることができる。
2.システムアーキテクチャ
図2は、一実施形態における図1のコンピュータ環境100に示されるエンティティの一つとして用いられるコンピュータ200の機能図を示すハイレベルブロック図である。バス204に接続される少なくとも1つのプロセッサ202が示される。また、メモリ206、記憶装置208、キーボード210、グラフィックアダプタ212、ポインティングデバイス214およびネットワークアダプタ216もバス204に接続される。ディスプレイ218はグラフィックアダプタ212に接続される。
プロセッサ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以上の構成要素を欠いている。
本技術分野では公知のように、コンピュータ200は、コンピュータプログラムモジュールを実行するよう構成される。本実施形態で用いられるように、用語「モジュール(module)」は、指定された機能性を提供するためのコンピュータプログラムロジックあるいはデータに関する。モジュールは、ハードウェア、ファームウェアあるいはソフトウェアにおいて実行され得る。一実施形態では、モジュールは、記憶装置208に格納され、メモリ206にロードされ、プロセッサ202により実行される。
図1のエンティティにより利用されるこの種のコンピュータ200は、実施形態およびそのエンティティにより要求される処理能力に応じて変更可能である。企業ウェブサイト118は、1つのコンピュータ200で実行するウェブサーバにより提供されてもよい。対照的に、ディレクトリウェブサイト120は、より強力なコンピュータで実行するウェブサーバあるいは協動する1以上のブレードサーバにより提供されてもよい。同様に、一実施形態では、構造生成エンジン110は、1以上のブレードサーバで実行する1以上のモジュールまたは本実施形態に記述される機能性を提供するために協働する他の種類のコンピュータを含む。
図3は、一実施形態における構造生成エンジン110内のモジュールを示すハイレベルブロック図である。他の実施形態は、図示以外の追加のあるいは異なるモジュールを有する。さらに、本実施形態に記述される方法とは異なる方法でモジュール間に機能性を分散することもできる。また、構造生成モジュール110以外のエンティティにより上記機能のいくつかが提供されてもよい。
データ取得モジュール310は、ディレクトリに含まれるべき企業についてのデータを取得する。一実施形態では、データ取得モジュール310は、商業データプロバイダ116から企業についてのデータを受信する。これらのデータは、例えば、商業データプロバイダ116により運用されるウェブサイトからそのデータを検索し、XMLまたは別のフォーマットを用いてデータを指定するデータフィード(data feed)を受信し、DVDまたは他のコンピュータに読み取り可能なメディアからそのデータをロードすることなどによって受け取られる。上述のように、商業データプロバイダ116からのデータは構造化され、それらの名称、住所あるいは電話番号を含む企業についての基本的事実のセットを提供する。
一実施形態では、データ取得モジュール310は、企業ウェブサイト118あるいはディレクトリウェブサイト120についてのウェブページにより提供されるデータにアクセスするためのウェブ巡回モジュール312を含む。ウェブクローラは、そのリンクに続くことによりウェブサイトにアクセスし、そのサイトを通してトラバースする自動化プログラムである。ウェブ巡回モジュール312は、企業ウェブサイト118およびディレクトリウェブサイト120を巡回し、一実施形態では、次の解析を可能にするために遭遇するウェブページを格納する。実施形態に応じて、ウェブ巡回モジュール312が巡回するサイトは、手動で指定されるか、あるいは、商業データプロバイダ116または他の情報源から受信したデータに基づいてプログラムで選択される。
一実施形態では、ウェブ巡回モジュール312は、1つの汎用クローラと1以上の特定目的のクローラとを含む。汎用クローラは、未知のフォーマットを有するウェブサイトを巡回するために用いられる。企業ウェブサイト118はしばしば場当たり的に作られ、各サイトのフォーマットは完全に一意であるかもしれない。一実施形態では、汎用クローラの振る舞いは、多種多様の異なるフォーマットを有するそのような場当たり的なサイトのために最適化される。
特定目的のクローラは、フォーマットが事前に知られているディレクトリウェブサイト120あるいは企業ウェブサイト118を巡回するために利用される。例えば、ある地理的領域内のレストランを記述する既知の基底アドレスにおいて、既存のディレクトリウェブサイト120が一連のウェブページを有すると想定する。特定目的のクローラは、そのアドレスのウェブサイトにアクセスし、そのウェブページのみを検索するために手動でコード化される。特定目的のクローラは、それらが広告であるように、またはデータが収集される企業についての情報を他の方法で提供しないようにする特徴を有するリンクのようなページ上のあるリンクを無視するためにコード化され得る。同様に、特定目的のクローラは、企業についてのデータを含むようなページのみにアクセスするように、あるリンクを選択するためにコード化されてもよい。
ある実施形態では、データ取得モジュール310は、企業を記述するデータを取得するために他の技術を用いる。一実施形態では、企業は、モジュールが商業データプロバイダ116からデータをどのように受信するかと同様に、予め構造化された事実テキストを直接データ取得モジュール310に送信する。別の実施形態では、データ取得モジュール310は、ネットワーク114に接続されるウェブサイトから検索されたコンテンツのキャッシュで見出されるウェブページのような、貯蔵庫で見出される分類されていないウェブページを検査する。
データ抽出モジュール314は、ウェブ巡回モジュール312により格納されたウェブページあるいは電子文書から企業についてのデータを抽出する。一般的に言って、抽出されたデータは、エンドユーザが企業のディレクトリに役に立つと思うような企業の側面を記述する。一実施形態では、抽出されたデータは、企業の以下のものを含む:
名称、住所あるいは電話番号、
営業時間(すなわち、開いている時間)、
予約規定、
アクセスしやすさ(すなわち、身体障害者のアクセス)、
可能な支払方法、
駐車場(すなわち、駐車場がどのような形式で利用可能か)、
提供されるサービス、および
提供されるブランド。
他の実施形態は、異なるあるいは追加のデータを抽出する。
一実施形態では、データ抽出モジュール314は、ウェブページから、企業を記述するキー、値の対を含むようなテキスト文字列を抽出する。データは、汎用のあるいは専用の抽出装置を用いて抽出される。一実施形態では、汎用および専用の両抽出装置は、手動で構築された正規表現を有する解析ツール(解析部:parser)から形成される。他の実施形態では、抽出装置のいくつかまたはすべては、自動化されたラッパ帰納(wrapper induction)技術を用いて作られる。
専用の抽出装置は、既知のフォーマットを有するウェブページから情報を抽出するように最適化される。例えば、特定のディレクトリウェブサイト120からレストランについてのすべてのウェブページが、そのページの特定の位置に用語「身体障害者のアクセスしやすさ:」とそれに続く「はい」または「いいえ」を含むために知られていると想定する。専用の抽出装置は、ウェブページの正しい部分を見付け、「身体障害者のアクセスしやすさ」文字列を抽出する正規表現を含む。一実施形態では、専用の抽出装置は、二段組のテーブルを有するウェブページのために適合される。そのようなテーブルでは、1つの段は典型的に「駐車場」や「専門」のようなキーを含み、他方の段はそのキーの値を含む。専用の抽出装置は、そのテーブルからキーと値の対を抽出する。汎用の抽出装置は、同種の情報を抽出するが、特有ではないフォーマットを有するウェブページからデータを抽出するよう設計される。
データ解析モジュール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に格納される。
キー標準化モジュール318は、抽出された文字列のおけるキーを標準化する。一般に、キー標準化は、文字列のデータを既知のデータタイプに分類する(例えば、文字列が時間データ、駐車場データまたはアクセスしやすさデータを含むか否かを決定する)処理である。一実施形態では、キー標準化モジュール318は、キーを識別するために、正規表現マッチングを実行する解析ツールを用いる。例えば、キー標準化モジュール318は、用語「営業日」、「定休日」、「時間」、「毎日」、あるいは文字列が営業時間を記述していることを意味する他の用語をその文字列が含むか否かを決定する。別の例では、キー標準化モジュール318は、用語「駐車場」、「ボーイ」、「敷地(lot)」、あるいは文字列がその企業で駐車場を利用可能であるか否かを記述していることを意味する他の用語をその文字列が含むか否かを決定する。キー標準化モジュール318が抽出された文字列内のキーを認識するならば、そのことは、その文字列をそのキーの正規表現に関連付けている。
値標準化モジュール320は、抽出された文字列内の値を標準化する。値標準化は、文字列内にある値の機械に理解可能な表現を作り出す処理である。一実施形態では、値標準化モジュール320は、その値を解釈するために、正規表現マッチングを実行する解析ツールを用いる。ある種の値は、標準化するのに比較的素直である。例えば、「予約規定」および「アクセスしやすさ」キーは、「はい」か「いいえ」のいずれかの値を通常有する。これらの2種の値のための解析ツールは、文字列が用語「はい」、「いいえ」あるいはそれらと同等のものを含むか否かを決定することにより標準化を実行する。しかしながら、営業時間のようないくつかの値は、種々の異なる方法で表現されている。そのため、その種の値のための解析ツールはより複雑なロジックを利用する。
図4は、一実施形態における営業時間値を標準化するための値標準化モジュール320により実行されるステップを示すフローチャートである。他の実施形態は、異なるあるいは追加のステップを実行する。また、他の実施形態は、異なる順序でステップを実行する。図4のステップが営業時間を標準化するように意図されるが、当業者は、他の種の値を標準化するために、類似のステップを用いることができることを認識するであろう。
例として、文字列「営業日:月曜〜水曜、午前9時〜午後5時、木曜、〜午後7時」を用いて企業がその営業時間を記述していると想定する。営業時間の正規表現を作るために、値標準化モジュール320は、文字列内のシンボルを分類するために(ステップ410)、その文字列を解析する。一実施形態では、そのシンボルは、時間、日、セパレータ、営業日、定休日、あるいは無視のいずれかに分類される。正規表現はこれらの分類を実行するために用いられる。一実施形態では、これらを検出するために用いられるこれらの分類の意味および正規表現の記述は、以下のようになる:
「時間」(T)は、企業の営業時間の時間を記述する値である。文字列の時間は、「##:##(午前/午後)」(ここで、「#」は数字であり、午前/午後は任意のサブコンポーネントである)、「#時」、「正午」および「####時間」のようなサブ文字列の発生を検出する正規表現により認識される。
「日」(D)は、企業が開店(オープン)しまたは閉店(クローズ)している日を記述する値である。文字列の日は、「M」、「Mon」、「Monday(月曜日)」(および他の日の同等物)、「週末」、「毎日」のような1週間の日を表すサブ文字列の発生を検出する正規表現により認識される。
「セパレータ」(−)は、文字列内の他のシンボルを分離するシンボルである。文字列のセパレータは、「−」(ハイフン)、「まで(to)」、「まで(until)」、「から(through)」、「から(thru)」のようなセパレータを表すサブ文字列の発生を検出する正規表現により認識される。
「営業日/定休日」(O/C)は、文字列内の日付あるいは時間を修正する値である。これらの値は、「営業日」、「定休日」、あるいは文字列内の同様のサブ文字列の発生を検出する正規表現により認識される。
「無視」(X)は、文字列を解析するとき無視される値である。無視は、スペース、カンマ、「and」等のような用語を検出する正規表現を用いて文字列から取り除かれる。
分類(ステップ410)の後、文字列「open M-W 9 to 5, TH to 7」は、「OD−DT−TD−T」として表される。次に、値標準化モジュール320は、「D」シーケンスを、シーケンス内のすべての日を表す一つの「D」に折り畳む(ステップ412)。このステップは、「D−折り畳み」と呼ばれる。一実施形態では、折り畳まれたDは、営業日を記述するビットを有するベクトルにより表される。例えば、そのベクトルが日曜から始まるならば、月曜から水曜は「0111000」として表される。このステップの後、例示の文字列は「ODT−TD−T」として表される。
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時」と同等である。
次に、値標準化モジュール320は、その表現内の時間を解釈する(ステップ416)。その表現の一つの「T」は、3つの可能な解釈:午前、午後、または次の日の午前を有することができる。言い換えると、「1」は、午前1時、午後1時、または次の日の午前1時に言及することができる。一実施形態では、値標準化モジュール320は、「DT−T」シーケンスを識別するために解析ツールを用いる。これらの解析ツールは、これらのシーケンス内の時間を解釈するためにロジックを用いる。そのロジックは、ほとんどの企業がその営業時間をどのように表すかに基づいている。例えば、8から11までの開始時間は午前となる傾向があり、5〜7の間の開始時間は午後となる傾向があり、午後の開始時間に続くがより小さい数を持つ終了時間は、次の日の午前となる傾向がある。したがって、サンプル文字列は、「営業日:月曜〜水曜午前9時から午後5時まで、木曜午前9時から午後7時まで」と解釈される。
これらのステップをサンプル文字列に適用すると、値標準化モジュール320は、その文字列を解釈することができ、機械に理解可能な正規表現で営業時間を表すことができる(ステップ418)。一実施形態では、正規表現は、1週間の営業日と営業時間を記述するベクトルである。
図3において、データ解析モジュール316により実行される標準化は、一般に3つのカテゴリ(完全な標準化、キーのみの標準化、標準化なし)の一つに分類される。完全な標準化では、データ解析モジュール316は、抽出された文字列に含まれるキーと値の両方を標準化する。完全な標準化は最善の結果である。なぜならば、それにより、機械がキーと値の対により表現された事実を完全に理解することができ、多数の情報源からの事実を比較することができるからである。一実施形態では、「営業時間」、「予約規定」および「アクセスしやすさ」の日付を提供する文字列はしばしばこのカテゴリに分類される。
「キーのみの標準化」では、データ解析モジュール316は、抽出された文字列に含まれるデータタイプを理解することができるが、その値の機械に理解可能な表現を作り出すことができない。一実施形態では、「可能な支払方法」と「駐車場」データを提供する文字列は、しばしばこのカテゴリに分類される。なぜならば、対応する値の解析が困難だからである。ある実施形態では、これは過渡的な状態である。最初に不明瞭な(理解されない)十分な値が考慮されると、解析ツールは、その値を標準化するよう構成され得る。
「標準化なし」では、データ解析モジュール316は、キーだけでなく値も標準化することができない。一実施形態では、標準化することができない抽出された文字列は、抽出された形式で保存される。そして、抽出された文字列は、そこに含まれる事実の人による解釈を可能にするために、そのままディレクトリに提供される。
ある実施形態では、データ解析モジュール316は、事実を理解するのと同様に、事実を認識するために、キー標準化モジュール318あるいは値標準化モジュール320の機能性を用いる。データ解析モジュール316がウェブサイトまたは別の情報源からテキストの断片を受信したが、テキストの意味についての情報を欠いているならば、データ解析モジュール316は、キーおよび値標準化モジュール318、320からの解析ツールをテキストに適用し、その解析ツールが有効な結果を作るか否かを決定することができる。そして、データ解析モジュール316は、解析ツールの結果に基づいてそのテキストを分類することができる。例えば、営業時間解析ツールがテキストの断片に適用され、有効な結果を作り出すならば、データ解析モジュール316は、そのテキストが営業時間情報を含み、営業時間キーをそのテキストに関連付けることを認識する。
データクラスタリングモジュール322は、その事実(標準化されたか否か)をそれらが属する企業に関連付ける。一実施形態では、このクラスタリング処理は、企業ウェブサイト118あるいはディレクトリウェブサイト120から抽出された事実のセットを商業データプロバイダ116から受信される企業データと関連付けることにより実行される。クラスタリング処理の結果は、同じ企業に属する事実が一緒にグループ化されることである。
データクラスタリングモジュール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
これらの事実が5つの異なる情報源から得られると想定する。例えば、事実2のセットは、商業データプロバイダ116から受信したデータから得られるが、他の4つの事実セットは、企業ウェブサイト118あるいはディレクトリウェブサイト120から得られる。
これらの事実から、観察者は、第1、第2および第5の事実セットがおそらく同じ企業(マウンテンビューの円卓ピザ)を記述すると思うかもしれない。その事実は、通りの住所(番地)についてわずかに一致しないが、同じブロックのピザレストランの同じブランドが2つあることより、事実情報源の一つは間違った番号を有していた可能性が高い。また、電話番号についてもいくつかの不一致がある。再び、あるデータ情報源が間違った番号を有していたか、おそらくそのレストランが多数の電話番号を有しているかであろう。第3の事実セットは、ピザレストランと同じ住所を有する明らかに異なる企業(セーフウェー食料雑貨品店)を記述する(おそらく、円卓住所についてある混乱を説明する同じ小規模ショッピングセンター内である)。第4の事実セットは、数マイル離れたロスアルトスの異なる円卓レストランのように見える。データクラスタリングモジュール322は、同じ企業に属する事実セットを識別するとともに、異なる企業に属する事実セットを区別するために、同様のロジックを一覧表に適用する。
データクラスタリングモジュール322は、近接により事実セットをグループ化する。一実施形態では、データクラスタリングモジュール322または別のモジュールは、住所あるいは他のデータから得られる経度と緯度を用いてその事実により記述される各企業の位置を表す。互いに適度に近い複数の企業(およそエラー半径、例えば、上述の560/570の住所の混乱)は同じ企業であるかもしれない。一方、(マウンテンビューとロスアルトスのような)非常に離れた複数の企業はほとんど同じではない。
そのグループ化を容易にするために、データクラスタリングモジュール322の一実施形態は、近隣サイズが「エラー半径」(ほとんどの場合、2街区、密集市街地ではより近い)の回りである「近隣」に世界を分割する。近隣は部分的に重なり合い、事実セットは結局いくつかの近隣に割当てられる。この重なりにより、事実セットは隣接する近隣の事実で結合され得る。
データクラスタリングモジュール322は、その事実が同じ企業に属するか否かを決定するために、ある近隣内の各事実セットをその近隣内の他の事実セットと比較する。一実施形態では、データクラスタリングモジュール322は、事実セット対の名称、電話番号、および位置を比較し、これらのアイテムに基づいて類似スコアを計算する。名称を比較するために、データクラスタリングモジュールは、コーパス(corpus)の頻度により重み付けされた共用用語および二重音字に基づいて、本文の類似韻律学を用いる。
類似スコアが閾値を超えると、データクラスタリングモジュール322は、2つの事実セットを併合する。一実施形態では、データクラスタリングモジュール322は、事実セットが関連しないような特別な条件を取り扱うために、その併合に対するある例外を強制する。データクラスタリングモジュール322の一実施形態は、その名称が全く同じでない限り、異なる電話番号を有する1つの事実セットを併合しない。データクラスタリングモジュール322は、後の処理において事実グループを識別するために用いられる「クラスタID」を併合された事実セットに割り当てる。近隣が部分的に重なるので、多数の近隣において、事実セットが他の事実セットと併合され、クラスタIDを割り当てられたことは可能である。これが起こると、それに併合されたほとんどの事実セットを有するクラスタIDは企業用のクラスタになる。
一実施形態では、事実比較モジュール324は、その事実の信頼レベルを確立するために、ある企業のクラスタされた(ひとまとめにされた)事実を比較する。上述のように、事実が種々の情報源から得られるとき、いくつかの事実は一致して、いくつかの事実は矛盾する。多数の情報源によりサポートされる事実は、高い信頼レベルを有する。例えば、多数の情報源から得られる事実が企業の営業時間について一致するならば、これらの事実は正しい可能性が高く、そのため、事実比較モジュール324は、高い信頼レベルをこれらの事実に割り当てる。対照的に、多数の情報源からの事実が矛盾するならば、事実比較モジュール324は、低い信頼レベルをこれらの事実に割り当てる。一実施形態では、部分的に標準化されあるいは標準化されていない事実は信頼レベルを割り当てられない。
ある実施形態では、事実比較モジュール324は、ある情報源からの矛盾する事実と好意的な事実とを区別するために、重み付け処理を用いる。重み付け処理は、例えば、より最近の事実により重い重みを、最近ではない矛盾する事実により軽い重みを割り当てる。さらに、より信頼できる情報源からの事実に他の事実よりも重い重みを割り当てることができる。同様に、他の事実セットよりも多くの情報を提供する事実セット内の事実により重い重みを割り当てることができる。信頼レベルを欠いている部分的に標準化された事実あるいは標準化されない事実は、その事実の情報源、同じセット内の他の事実の数、あるいは他の基準に基づいて割り当てられる重みを有することができる。一実施形態では、低い信頼レベルあるいは重み付けを有する事実は捨てられる。
上述のように、一実施形態では、構造化情報データベース112に格納される事実は、企業のローカルディレクトリをエンドユーザに提供するために用いられる。一実施形態では、構造生成エンジン110は、そのディレクトリが構造化情報データベース112に格納される事実をどのように提供すべきかを指定する事実表現モジュール326を含む。他の実施形態では、事実表現モジュール326は、そのディレクトリのウェブページを与えるモジュールのような異なるエンティティに位置する。
事実表現モジュール326は、事実がどのようにディレクトリに表示されるかを決定するために、その事実の信頼レベルあるいは重み付けを用いる。一般に、より大きい信頼レベルあるいは重み付けを有する事実は表示されるが、より低い信頼レベルあるいは重み付けを有する事実は表示されない。表示された事実は、それらの情報源に帰属するか否かにかかわらず示される。一実施形態では、非常に高い信頼レベルを有する事実は帰属なしに表示される。例えば、商業データプロバイダ116からの名称、住所および電話番号の事実は、帰属なしに表示される。より低い信頼レベルを有する他の事実は、その事実が得られた情報源に帰属して表示される。一実施形態では、その帰属は、事実が抽出されたウェブページまたは他の電子文書にリンクするユニフォームリソースロケータ(URL)を含む。
多数の情報源が同じ事実を提供するならば、一実施形態は、最も重い重み付けを有する事実のみを表示し、その事実を提供した情報源にそれを帰す。この技術は、二重の事実でページを満たすよりもむしろ他の事実を示すために、ページ上に空き領域を残す。例えば、ある企業が「営業日:月曜〜土曜 午前8時〜午後6時」であると情報源Aが示し、その企業が「営業日:月曜〜土曜」であるとのみ情報源Bが示すならば、それが多くの情報を含んでいるので(そのため、より重い重み付けを受けているので)、事実表現モジュール326は情報源Aからの事実を示す。
一実施形態では、部分的に標準化されあるいは標準化されていない事実は、そのまま帰属して表示される。すなわち、その事実を記述する抽出された文字列は、その文字列の情報源へのリンクとともに、ウェブページに表示される。この表示により、エンドユーザはその事実を直接見て解釈することができる。
3.プロセス/例
図5は、一実施形態における構造生成エンジン110により実行されるステップを示すフローチャートである。他の実施形態は、異なる順序でステップを実行し、あるいは、図5に示すステップと異なるステップまたは追加のステップを実行する。構造生成エンジン110は、図5のステップの多数の事例を同時に実行し、あるいは並列にステップを実行することができる。
まず、構造生成エンジン110は、1以上の情報源から企業についてのデータを取得する(ステップ510)。これらの情報源は、商業データプロバイダ116、企業ウェブサイト118、あるいはディレクトリウェブサイト120を含むことができる。構造生成エンジン110は、そのデータから事実を記述する文字列を抽出する。
構造生成エンジン110は、抽出された文字列を解析し、機械に理解可能な表現の標準化された事実を作り出す(ステップ512)。各文字列はキーと値の対を含む。構造生成エンジン110は、ある場合には、キーと値の両方を標準化することができ、他の場合には、キーのみを標準化することができ、さらに他の場合には、キーと値のいずれも標準化することができない。
構造生成エンジン110は、その事実をクラスタする(ステップ514)。すなわち、構造生成エンジン110は、各事実をそれが属する企業と関連付ける。結果として、各企業は、1以上の事実のリストを得る。その事実のいくつかは一致し、別のいくつかは矛盾してもよい。構造生成エンジン110は、ある企業に関連した事実を比較する(ステップ516)。一実施形態では、構造生成エンジン110は、信頼レベルあるいは重みをそれらの事実に割り当てる。例えば、一致する多数の情報源からの事実は、高い信頼レベルを割り当てられる。
ある時点で、事実は、その事実が属する企業のためのウェブページまたは他の電子文書上に提示される(ステップ518)。ウェブページは、ローカルディレクトリの一部であればよく、別のコンテキストに提供され得る。いくつかの事実はそれらの情報源の帰属なしに提示されるが、他の事実は帰属とともに提示される。また、非常に低い信頼レベルを有し、あるいは別の事実により既に提供された情報を含むいくつかの事実は示されない。
上記の記述は、好適実施形態の動作を示すために含まれるが、本発明の範囲を限定するよう意味するものではない。本発明の範囲は、添付の特許請求の範囲によってのみ限定されるべきである。上記議論から、多くの変更は、本発明の意図および範囲によってもう包含されるであろう関連技術分野の当業者にとって明白であろう。
100 コンピュータ環境
110 構造生成エンジン
112 構造化情報データベース
114 ネットワーク
116 商業データプロバイダ
118 企業ウェブサイト
120 ディレクトリウェブサイト

Claims (18)

  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のいずれかに記載の方法。
JP2012004466A 2005-03-02 2012-01-12 構造化情報の生成 Active JP5020414B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US65821405P 2005-03-02 2005-03-02
US60/658,214 2005-03-02
US11/366,162 US7788293B2 (en) 2005-03-02 2006-03-01 Generating structured information
US11/366,162 2006-03-01

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2007558276A Division JP2008535044A (ja) 2005-03-02 2006-03-02 構造化情報の生成

Publications (2)

Publication Number Publication Date
JP2012099138A JP2012099138A (ja) 2012-05-24
JP5020414B2 true JP5020414B2 (ja) 2012-09-05

Family

ID=36941867

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2007558276A Pending JP2008535044A (ja) 2005-03-02 2006-03-02 構造化情報の生成
JP2012004466A Active JP5020414B2 (ja) 2005-03-02 2012-01-12 構造化情報の生成

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2007558276A Pending JP2008535044A (ja) 2005-03-02 2006-03-02 構造化情報の生成

Country Status (7)

Country Link
US (1) US7788293B2 (ja)
EP (1) EP1856602A4 (ja)
JP (2) JP2008535044A (ja)
KR (1) KR101021549B1 (ja)
CN (1) CN101164039B (ja)
CA (1) CA2600685C (ja)
WO (1) WO2006094206A2 (ja)

Families Citing this family (82)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010165374A (ja) * 2000-03-29 2010-07-29 Sojitz Corp 与信機能を備えた匿名電子商取引システム及び方法
US7584208B2 (en) 2002-11-20 2009-09-01 Radar Networks, Inc. Methods and systems for managing offers and requests in a network
US7640267B2 (en) 2002-11-20 2009-12-29 Radar Networks, Inc. Methods and systems for managing entities in a computing device using semantic objects
US8200775B2 (en) 2005-02-01 2012-06-12 Newsilike Media Group, Inc Enhanced syndication
US7433876B2 (en) 2004-02-23 2008-10-07 Radar Networks, Inc. Semantic web portal and platform
US8140482B2 (en) 2007-09-19 2012-03-20 Moore James F Using RSS archives
US8700738B2 (en) 2005-02-01 2014-04-15 Newsilike Media Group, Inc. Dynamic feed generation
US9202084B2 (en) 2006-02-01 2015-12-01 Newsilike Media Group, Inc. Security facility for maintaining health care data pools
US8347088B2 (en) 2005-02-01 2013-01-01 Newsilike Media Group, Inc Security systems and methods for use with structured and unstructured data
US20070050446A1 (en) * 2005-02-01 2007-03-01 Moore James F Managing network-accessible resources
US8200700B2 (en) 2005-02-01 2012-06-12 Newsilike Media Group, Inc Systems and methods for use of structured and unstructured distributed data
US20070033089A1 (en) * 2005-08-04 2007-02-08 Microsoft Corporation User interface and geo-parsing data structure
US8694530B2 (en) 2006-01-03 2014-04-08 Textdigger, Inc. Search system with query refinement and search method
US8862573B2 (en) * 2006-04-04 2014-10-14 Textdigger, Inc. Search system and method with text function tagging
US7921046B2 (en) 2006-06-19 2011-04-05 Exegy Incorporated High speed processing of financial information using FPGA devices
US7840482B2 (en) 2006-06-19 2010-11-23 Exegy Incorporated Method and system for high speed options pricing
US9043197B1 (en) * 2006-07-14 2015-05-26 Google Inc. Extracting information from unstructured text using generalized extraction patterns
WO2008021832A2 (en) * 2006-08-09 2008-02-21 Radar Networks, Inc. Harvesting data from page
US8326819B2 (en) 2006-11-13 2012-12-04 Exegy Incorporated Method and system for high performance data metatagging and data indexing using coprocessors
US7660793B2 (en) 2006-11-13 2010-02-09 Exegy Incorporated Method and system for high performance integration, processing and searching of structured and unstructured data using coprocessors
US20080319843A1 (en) * 2007-06-22 2008-12-25 Dennis Norman Moser Supply of requested offer based on point-of-service to offeree distance
US20090076925A1 (en) * 2007-09-13 2009-03-19 Dewitt Jay Allen Offeree requested offer based on point-of-service to offeree distance
US20090076887A1 (en) * 2007-09-16 2009-03-19 Nova Spivack System And Method Of Collecting Market-Related Data Via A Web-Based Networking Environment
US10229453B2 (en) 2008-01-11 2019-03-12 Ip Reservoir, Llc Method and system for low latency basket calculation
US7840597B2 (en) * 2008-01-31 2010-11-23 Intuit Inc. Method and apparatus for managing metadata associated with entities in a computing system
US7996390B2 (en) 2008-02-15 2011-08-09 The University Of Utah Research Foundation Method and system for clustering identified forms
US8965865B2 (en) * 2008-02-15 2015-02-24 The University Of Utah Research Foundation Method and system for adaptive discovery of content on a network
CN101231661B (zh) * 2008-02-19 2010-06-23 上海估家网络科技有限公司 对象级知识挖掘的方法和系统
CN101458680B (zh) * 2008-09-03 2010-12-01 北京大学 一种自动识别数字文档目录的方法及装置
JP5871619B2 (ja) 2008-12-15 2016-03-01 アイ・ピー・リザブワー・エル・エル・シー 金融市場深度データの高速処理のための方法および装置
KR101111222B1 (ko) * 2009-02-25 2012-02-16 김기미 인터넷 프로그램의 메타데이타와 웹 정보의 데이타베이스화를 통한 시만틱웹 구현 시스템
WO2010120929A2 (en) 2009-04-15 2010-10-21 Evri Inc. Generating user-customized search results and building a semantics-enhanced search engine
WO2010120934A2 (en) 2009-04-15 2010-10-21 Evri Inc. Search enhanced semantic advertising
US8200617B2 (en) 2009-04-15 2012-06-12 Evri, Inc. Automatic mapping of a location identifier pattern of an object to a semantic type using object metadata
US8862579B2 (en) 2009-04-15 2014-10-14 Vcvc Iii Llc Search and search optimization using a pattern of a location identifier
GB2470563A (en) * 2009-05-26 2010-12-01 John Robinson Populating a database
US8521680B2 (en) * 2009-07-31 2013-08-27 Microsoft Corporation Inferring user-specific location semantics from user data
WO2011095988A2 (en) * 2010-02-03 2011-08-11 Puranik Anita Kulkarni A system and method for extraction of structured data from arbitrarily structured composite data
CN102214179A (zh) * 2010-04-12 2011-10-12 无锡科利德斯科技有限公司 网络信息抓取方法
WO2012079041A1 (en) 2010-12-09 2012-06-14 Exegy Incorporated Method and apparatus for managing orders in financial markets
US8779941B2 (en) 2010-12-27 2014-07-15 Ai Incube, Inc. Providing guidance for locating street parking
CN102073726B (zh) * 2011-01-11 2014-08-06 百度在线网络技术(北京)有限公司 搜索引擎系统的结构化数据的引入方法和装置
CN102118279B (zh) * 2011-02-23 2013-04-10 北京蓝汛通信技术有限责任公司 一种链路质量探测方法、装置及系统
US10467677B2 (en) 2011-09-28 2019-11-05 Nara Logics, Inc. Systems and methods for providing recommendations based on collaborative and/or content-based nodal interrelationships
US11727249B2 (en) 2011-09-28 2023-08-15 Nara Logics, Inc. Methods for constructing and applying synaptic networks
US10789526B2 (en) 2012-03-09 2020-09-29 Nara Logics, Inc. Method, system, and non-transitory computer-readable medium for constructing and applying synaptic networks
US9069863B2 (en) 2011-10-10 2015-06-30 International Business Machines Corporation Identifying unknown parameter and name value pairs
US20130117012A1 (en) * 2011-11-03 2013-05-09 Microsoft Corporation Knowledge based parsing
US9002847B2 (en) * 2012-02-29 2015-04-07 Hewlett-Packard Development Company, L.P. Identifying an auto-complete communication pattern
US9990393B2 (en) 2012-03-27 2018-06-05 Ip Reservoir, Llc Intelligent feed switch
US10650452B2 (en) 2012-03-27 2020-05-12 Ip Reservoir, Llc Offload processing of data packets
US10121196B2 (en) 2012-03-27 2018-11-06 Ip Reservoir, Llc Offload processing of data packets containing financial market data
US11436672B2 (en) 2012-03-27 2022-09-06 Exegy Incorporated Intelligent switch for processing financial market data
CN103455471B (zh) * 2012-06-01 2016-12-14 阿里巴巴集团控股有限公司 一种将文本解析成键值对的方法和装置
CN103810199B (zh) * 2012-11-12 2017-07-14 北大方正集团有限公司 一种目录的制作方法及装置
US9439036B2 (en) 2013-01-25 2016-09-06 Visa International Service Association Systems and methods to select locations of interest based on distance from route points or route paths
CN104969221B (zh) * 2013-02-07 2018-05-11 慧与发展有限责任合伙企业 格式化数据库中的半结构化数据
US9887911B2 (en) 2013-02-28 2018-02-06 Xaptum, Inc. Systems, methods, and devices for adaptive communication in a data communication network
US10055751B2 (en) 2013-04-05 2018-08-21 Visa International Service Association Systems and methods to enhance search results using transaction data of merchants
US9355136B2 (en) 2013-05-06 2016-05-31 International Business Machines Corporation Automating generation of messages in accordance with a standard
CN103425780B (zh) * 2013-08-19 2016-08-17 曙光信息产业股份有限公司 一种数据的查询方法和装置
CN104424185B (zh) * 2013-08-19 2018-10-16 北大方正集团有限公司 同步提取中英文目录的方法及系统
US20150058681A1 (en) * 2013-08-26 2015-02-26 Microsoft Corporation Monitoring, detection and analysis of data from different services
CN103744897A (zh) * 2013-12-24 2014-04-23 华为技术有限公司 故障信息的关联搜索方法、系统和网络管理系统
CN105335338B (zh) * 2014-06-25 2018-04-03 阿里巴巴集团控股有限公司 一种电子文档转换方法及装置
KR20160046038A (ko) * 2014-10-17 2016-04-28 삼성전자주식회사 위치 기반 소셜 검색 서비스를 제공하는 방법 및 장치
EP3220284A1 (en) * 2014-11-14 2017-09-20 Fujitsu Limited Data acquisition program, data acquisition method and data acquisition device
US9507762B1 (en) * 2015-11-19 2016-11-29 International Business Machines Corporation Converting portions of documents between structured and unstructured data formats to improve computing efficiency and schema flexibility
CN107145493B (zh) * 2016-03-01 2020-11-24 创新先进技术有限公司 信息处理方法及装置
CN106649867B (zh) * 2016-12-30 2018-05-18 北京亚控科技发展有限公司 一种对象数据的组织方法
US11562008B2 (en) 2016-10-25 2023-01-24 Micro Focus Llc Detection of entities in unstructured data
TWI659369B (zh) * 2017-07-12 2019-05-11 金腦數位股份有限公司 訊息處理裝置
US20190236121A1 (en) * 2018-01-29 2019-08-01 Salesforce.Com, Inc. Virtualized detail panel
US11057352B2 (en) 2018-02-28 2021-07-06 Xaptum, Inc. Communication system and method for machine data routing
US10965653B2 (en) 2018-03-28 2021-03-30 Xaptum, Inc. Scalable and secure message brokering approach in a communication system
US10805439B2 (en) * 2018-04-30 2020-10-13 Xaptum, Inc. Communicating data messages utilizing a proprietary network
US10924593B2 (en) 2018-08-31 2021-02-16 Xaptum, Inc. Virtualization with distributed adaptive message brokering
US10938877B2 (en) 2018-11-30 2021-03-02 Xaptum, Inc. Optimizing data transmission parameters of a proprietary network
US10912053B2 (en) 2019-01-31 2021-02-02 Xaptum, Inc. Enforcing geographic restrictions for multitenant overlay networks
CN110442671A (zh) * 2019-08-02 2019-11-12 深圳百胜扬工业电子商务平台发展有限公司 一种非结构化数据处理的方法和系统
KR102244782B1 (ko) * 2020-10-08 2021-04-27 (주)시큐레이어 임의의 구조를 가지는 비정형 로그를 정확하게 자동 분석하기 위한 정규화율 기반 파서 매칭 방법 및 장치
JP7116940B2 (ja) * 2021-01-26 2022-08-12 株式会社Xaion Data オープンデータを効率的に構造化し補正する方法及びプログラム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08339361A (ja) * 1995-06-09 1996-12-24 Omron Corp 予測用知識の生成装置と需要量予測装置、及び、予測用知識の生成方法と需要量予測方法
JPH10133853A (ja) * 1996-10-29 1998-05-22 Nippon Telegr & Teleph Corp <Ntt> 電子メール書換え方法及び装置
US6834276B1 (en) * 1999-02-25 2004-12-21 Integrated Data Control, Inc. Database system and method for data acquisition and perusal
US6721713B1 (en) * 1999-05-27 2004-04-13 Andersen Consulting Llp Business alliance identification in a web architecture framework
US6711585B1 (en) * 1999-06-15 2004-03-23 Kanisa Inc. System and method for implementing a knowledge management system
WO2001067225A2 (en) * 2000-03-06 2001-09-13 Kanisa Inc. A system and method for providing an intelligent multi-step dialog with a user
JP2002230035A (ja) * 2001-01-05 2002-08-16 Internatl Business Mach Corp <Ibm> 情報整理方法、情報処理装置、情報処理システム、記憶媒体、およびプログラム伝送装置
US20040186817A1 (en) * 2001-10-31 2004-09-23 Thames Joseph M. Computer-based structures and methods for generating, maintaining, and modifying a source document and related documentation
EP1481346B1 (en) * 2002-02-04 2012-10-10 Cataphora, Inc. A method and apparatus to visually present discussions for data mining purposes
US20030154071A1 (en) * 2002-02-11 2003-08-14 Shreve Gregory M. Process for the document management and computer-assisted translation of documents utilizing document corpora constructed by intelligent agents
JP2003271610A (ja) * 2002-03-19 2003-09-26 Toshiba Corp 情報収集装置及び情報収集プログラム
JP2004234288A (ja) * 2003-01-30 2004-08-19 Nippon Telegr & Teleph Corp <Ntt> Web検索方法及び装置、Web検索プログラム並びにそのプログラムを記録した記録媒体
US7146361B2 (en) * 2003-05-30 2006-12-05 International Business Machines Corporation System, method and computer program product for performing unstructured information management and automatic text analysis, including a search operator functioning as a Weighted AND (WAND)
US20040243560A1 (en) * 2003-05-30 2004-12-02 International Business Machines Corporation System, method and computer program product for performing unstructured information management and automatic text analysis, including an annotation inverted file system facilitating indexing and searching
KR20100027775A (ko) * 2008-09-03 2010-03-11 이화섭 상점가 단위로 상점들과 상품들에 대한 정보를 분류하여 저장하고 온라인 시스템을 통하여 검색할 수 있도록 하는 방법과 시스템.

Also Published As

Publication number Publication date
CN101164039A (zh) 2008-04-16
JP2008535044A (ja) 2008-08-28
KR101021549B1 (ko) 2011-03-16
EP1856602A2 (en) 2007-11-21
WO2006094206A3 (en) 2006-11-23
WO2006094206A2 (en) 2006-09-08
KR20070112219A (ko) 2007-11-22
EP1856602A4 (en) 2010-03-17
CN101164039B (zh) 2011-03-02
US20060200478A1 (en) 2006-09-07
US7788293B2 (en) 2010-08-31
CA2600685A1 (en) 2006-09-08
CA2600685C (en) 2015-08-11
JP2012099138A (ja) 2012-05-24

Similar Documents

Publication Publication Date Title
JP5020414B2 (ja) 構造化情報の生成
US7240049B2 (en) Systems and methods for search query processing using trend analysis
Aleman-Meza et al. Context-aware semantic association ranking
US8166013B2 (en) Method and system for crawling, mapping and extracting information associated with a business using heuristic and semantic analysis
US7707201B2 (en) Systems and methods for managing and using multiple concept networks for assisted search processing
JP4489994B2 (ja) 話題抽出装置、方法、プログラム及びそのプログラムを記録する記録媒体
US7340460B1 (en) Vector analysis of histograms for units of a concept network in search query processing
US8768912B2 (en) System and method for geographically organizing and classifying businesses on the world-wide web
US20080147642A1 (en) System for discovering data artifacts in an on-line data object
CN107660283A (zh) 用于在日志分析系统中实现日志解析器的方法和系统
US20080147578A1 (en) System for prioritizing search results retrieved in response to a computerized search query
JP2005535039A (ja) 地理的なテキスト検索システムを備えたデスクトップクライアントとの対話
JP2007122732A (ja) ウェブドキュメントの集合において効率的に日付を検索する方法、コンピュータプログラム、およびサービス方法(ウェブドキュメントの集合において効率的に日付を検索するシステムおよび方法)
US20110246462A1 (en) Method and System for Prompting Changes of Electronic Document Content
US20080147641A1 (en) Method for prioritizing search results retrieved in response to a computerized search query
US20110270691A1 (en) Method and system for providing url possible new advertising
JPWO2003042869A1 (ja) 情報検索支援装置、コンピュータプログラム、プログラム格納媒体
KR20000054312A (ko) 맞춤 웹정보 구축 제공 방법
Rehman et al. Building socially-enabled event-enriched maps
Sahni et al. Topic modeling on online news extraction
CN110781213B (zh) 一种以人员为中心的多源海量数据关联搜索方法和系统
Sanjana Ad service detection-a comparative study using machine learning techniques
JP2003280945A (ja) ログ解析システム,該ログ解析システムによる解析対象抽出方法および解析対象抽出プログラム
Chavda et al. Recent trends and novel approaches in web usage mining
KR20240015280A (ko) 트렌드 분석을 이용한 검색 쿼리 처리 시스템 및 방법

Legal Events

Date Code Title Description
A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20120320

TRDD Decision of grant or rejection written
A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20120427

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120515

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120612

R150 Certificate of patent or registration of utility model

Ref document number: 5020414

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150622

Year of fee payment: 3

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

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250