JP2022064865A - コンピュータ実装方法、コンピュータプログラムおよびコンピュータシステム(非構造化ドキュメントからの構造化情報の抽出) - Google Patents

コンピュータ実装方法、コンピュータプログラムおよびコンピュータシステム(非構造化ドキュメントからの構造化情報の抽出) Download PDF

Info

Publication number
JP2022064865A
JP2022064865A JP2021166423A JP2021166423A JP2022064865A JP 2022064865 A JP2022064865 A JP 2022064865A JP 2021166423 A JP2021166423 A JP 2021166423A JP 2021166423 A JP2021166423 A JP 2021166423A JP 2022064865 A JP2022064865 A JP 2022064865A
Authority
JP
Japan
Prior art keywords
computer
analysis module
business
unstructured document
column
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.)
Pending
Application number
JP2021166423A
Other languages
English (en)
Inventor
マイケル バエッセラー
Baessler Michael
マルバート マイヤー
Maier Albert
ダーク ヤーン
Jahn Dirk
トーマス ハンプ-バーンミューラー
Hampp-Bahnmueller Thomas
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2022064865A publication Critical patent/JP2022064865A/ja
Pending legal-status Critical Current

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
    • G06Q10/10Office automation; Time management
    • G06Q10/105Human resources
    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/221Column-oriented storage; Management thereof
    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • 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/25Integrating or interfacing systems involving database management systems
    • G06F16/254Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/313Selection or weighting of terms for indexing
    • 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/93Document management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/242Dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • 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)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Business, Economics & Management (AREA)
  • Data Mining & Analysis (AREA)
  • Human Resources & Organizations (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】非構造化ドキュメントからの構造化情報を抽出するコンピュータ実装方法、コンピュータプログラム及びコンピュータシステムを提供する。【解決手段】非構造化ドキュメント分析のために構造化情報を抽出する方法であって、ビジネス用語集の、ビジネス用語に対応するデータベースのテーブル及びコラムを識別することにより、非構造化ドキュメント分析のために構造化情報を抽出し、非構造化ドキュメント内で認識するための関心事のビジネス用語の明細を受け取り、テーブル及びコラムの属性の属性値を識別可能にするか又は認識可能にする、識別されたテーブル及びコラムに基づいて、分析モジュールを生成し、関心事のビジネス用語の明細に基づいて、非構造化ドキュメントから属性の少なくとも一部の値を自動抽出するために、分析モジュールを使用する。【選択図】図2

Description

本発明は、デジタルコンピュータシステムの分野、およびより具体的には非構造化ドキュメントから構造化情報を抽出する方法に関する。
データ分析に使用される非構造化ドキュメントの数は指数関数的に増加している。
しかしながら、非構造化ドキュメントは、そのようなドキュメントが含有するナレッジの抽出をかなり限定するシンプルなやり方でクエリできない場合がある。
独立項の主題事項により説明される、非構造化ドキュメント、コンピュータシステムおよびコンピュータプログラム製品からの構造化情報の抽出の方法が、さまざまな実施形態により提供される。従属項において、有利な実施形態が説明される。本発明の実施形態は、それぞれの実施形態が相互に排他的でなければ、それぞれが自由に組み合わせ可能である。
1つの態様において、発明は非構造化ドキュメント分析のための構造化情報の抽出のコンピュータ実装方法に関する。方法は、ビジネス用語集のビジネス用語に対応するデータベースのテーブルおよびコラムを識別することと、非構造化ドキュメント内で認識するために関心事のビジネス用語の明細を受け取ることと、テーブルおよびコラムの属性の属性値を識別可能にするまたは認識可能にする、識別されたテーブルおよびコラムに基づいて、分析モジュールを生成することと、関心事のビジネス用語の明細に基づいて、非構造化ドキュメントから属性の少なくとも一部の値を自動抽出/検出するために、分析モジュールを使用することと、を含む。
別の態様において、本発明は、コンピュータプログラムコードが具現されたコンピュータ可読記憶媒体を備えるコンピュータプログラム製品に関するものであり、コンピュータ可読プログラムコードは、前述の実施形態にかかる方法のすべての手順を実装ように構成される。
別の態様において、本発明は、ビジネス用語集のビジネス用語に対応するデータベースのテーブルおよびコラムの識別と、非構造化ドキュメント内で認識するための関心事のビジネス用語の明細の受け取りと、テーブルおよびコラムの属性の属性値を識別可能にするまたは認識可能にする、識別されたテーブルおよびコラムに基づく、分析モジュールの生成と、関心事のビジネス用語の明細に基づいて、非構造化ドキュメントから属性の少なくとも一部の値を自動抽出/検出するための、分析モジュールの使用と、のために構成される、コンピュータシステムに関する。
本主題事項は、コンピュータ実装方法を使用して非構造化ドキュメントから構造化情報を抽出することを可能にし得る。これにより、非構造化ドキュメントから関連情報を発見して構造化情報にすることの自動化が可能となり得る。これにより、データサイエンティストなどのユーザへ適時に構造化情報を利用可能とし得る。本主題事項は、他であれば非構造化ドキュメントからの構造化情報のアドホック抽出の実行が必要となるであろうリソースを節約し得る。分析されることとなる非構造化ドキュメントの数は絶えず増加しているため、これはとりわけ有利であり得ある。
以下においては、本発明の実施形態が、単に例として、図面を参照しながら、より詳細に説明される。
本発明の実施形態にかかる、コンピュータシステムのブロック図である。
本発明の実施形態にかかる、非構造化ドキュメントから構造化情報を抽出するための方法のフローチャートである。
本発明の実施形態にかかる、非構造化ドキュメントから構造化情報を抽出するための方法のフローチャートである。
本発明の実施形態にかかる、非構造化ドキュメントから構造化情報を抽出するための方法のフローチャートである。
本発明の実施形態にかかる、1または複数の方法手順を実装するのに適したコンピュータ化されたシステムを表す。
本発明のさまざまな実施形態の説明が図示の目的で表されるが、それは網羅的であることが意図されるものではなく、または、開示される実施形態に限定されるものでもない。記載された実施形態の範囲および趣旨から逸脱することなく、多くの修正および変形が、当業者にとっては明らかであろう。本明細書で使用される専門用語は、実施形態の原理、実際の応用、もしくは市場で見られる技術に対する技術的改善点を最も良く説明するように、または、当業者が本明細書に開示された実施形態を理解することを可能とするように選択されている。
ビジネス用語集は、ビジネス用語にその定義が付いたリストを有してよい。ビジネス用語集は、ビジネス領域にわたる用語を定義する。たとえば、ビジネス用語集は、組織または業界のビジネスコンセプトを定義する。ビジネス用語集は、組織内で組織内部の語彙を共有可能とするようにするものであってよい。
構造化ドキュメントと対比すると、非構造化ドキュメントは、予め定められたデータモデルを持たないまたは予め定められたやり方で組織されていない非構造化情報を有する場合がある。これは、プログラムを使用したそのようなドキュメントを、データベースにおいてフィールド化された形態で記憶されたデータまたは構造化ドキュメントのドキュメント内で注釈が付けられたデータとの比較として理解することを困難にし得る。非構造化ドキュメントは、たとえば、電子ドキュメントであってよい。電子ドキュメントは、電子的形態、あるいは印刷出力のいずれかで使用されることが意図される、電子媒体コンテンツであってよい。電子ドキュメントは、たとえば、ウェブページ、ウェブページに埋め込まれてそのウェブページにレンダリングされ得るドキュメント、スプレッドシート、電子メール、ブック、ピクチャ、および、ドキュメントリーダ、エディタ、またはメディアプレーヤなどの関連付けられたユーザエージェントを持つプレゼンテーションを含んでよい。
分析モジュールは、たとえば、ソフトウェアモジュールであってよい。分析モジュールは、識別されたテーブルの、もしくはコラムの、またはその両方のそれぞれの属性について、値を当該属性の値であると認識するかまたはそうではないと認識するかを可能にするソフトウェアの、対応するロジックまたはピースを有してよい。識別されたテーブル、もしくはコラム、またはその両方は、1または複数のレコードセットを有してよく、レコードセットのうちそれぞれのレコードセットは、それぞれ別個のエンティティタイプを表してよく、たとえば1つのレコードセットは企業に関連付けられ、別のレコードセットは顧客等に関連付けられてよい。分析モジュールは、たとえば、非構造化ドキュメントにおける所与の属性値により表されるエンティティタイプを決定するように構成されてよい。属性の少なくとも一部の抽出された値は、それらをそれぞれのエンティティタイプに関連付けられたレコードとして組織することにより、構造化情報として提供されてもよい。
ビジネス用語集のビジネス用語に対応するデータベースの、テーブル、もしくはコラム、またはその両方を識別することは、ビジネス用語集のそれぞれのビジネス用語について、ビジネス用語に対応する少なくとも1つのコラム、もしくは少なくとも1つのテーブル、またはその両方を識別することを含む。たとえば、ビジネス用語が「住所」であって、データベースが「通り」、「郵便番号」および「市」のコラムから成るテーブル「住所」を有する場合、テーブル全体はビジネス用語「住所」に対応するものとして識別されてよい。この場合、属性「通り」、「郵便番号」および「市」は、ビジネス用語「住所」に対応する識別された属性である。別の例では、ビジネス用語が「企業」で、「名前」、「年齢」および「雇用企業」のコラムからな成るテーブル「従業員」をデータベースが有する場合、コラム「雇用企業」はビジネス用語「企業」に対応するものとして識別されてよい。コラム「企業名」、「場所」などを持つ「企業」と名付けられたテーブルをデータベースがさらに有する場合、コラム「企業名」はビジネス用語「企業」にさらに関連付けられてよい。この場合、2つのコラムは、ビジネス用語「企業」に関連付けられたものとして識別され、ビジネス用語「企業」に対応する識別された属性は、属性「雇用企業」および「企業名」となる。これら2つの属性「雇用企業」および「企業名」の値は、分析モジュールにより値が「雇用企業」および「企業名」という属性の少なくとも1つの属性値であるか否かを決定できるように、(集合的に)分析モジュールを生成するのに使用され得る。このように、ビジネス用語集のビジネス用語に対応するデータベースのテーブル、もしくはコラム、またはその両方を識別することは、ビジネス用語に対応するデータベースの属性を識別することを含む。
1つの実施形態によれば、テーブル、もしくはコラム、またはその両方を識別する手順は、ビジネス用語のうちそれぞれの用語について、ビジネス用語のフォーマット、もしくはコンテンツ、またはその両方に基づいて識別ロジックを決定することと、テーブル、もしくはコラム、またはその両方を識別するためにデータベース上で識別ロジックを実行することと、を含む。識別ロジックは、たとえば、製品識別子としての特定の文字列を検出するのに使用されてよい正規表現を含んでよい。
1つの実施形態によれば、分析モジュールを生成する手順は、識別されたテーブル、もしくはコラム、またはその両方の属性値を使用してビジネス用語の辞書を構築する手順であって、構造化情報を抽出するために分析モジュールを使用することは、辞書付きの非構造化ドキュメントのコンテンツを比較することを含む、手順を有する。辞書は、たとえば、ビジネス用語集のうちのそれぞれの用語に関連付けられた属性値を、その用語の詳細情報として提供してよい。
1つの実施形態によれば、分析モジュールを生成する手順は、属性値に類似する値をロジックが認識できるように、識別されたテーブル、もしくはコラム、またはその両方の属性値の、コンテンツ、もしくはフォーマット、またはその両方に基づいてロジックを構築することを含む。分析モジュールはロジックを含む。分析モジュールは、たとえば、自動的に生成されてよい。
たとえば、識別されたテーブル、もしくはコラム、またはその両方のそれぞれの属性タイプの属性値のデータプロファイリングが実行されてよい。データプロファイリングは、たとえば、フォーマット分析、もしくはデータプロパティ分析、またはその両方を含んでよい。属性タイプの値のフォーマット分析は、属性タイプの値のためのフォーマット表現を作成してもよい。フォーマット表現は、コラムにおけるそれぞれの別個の文字の文字記号を含有するパターンであってよい。データプロパティ分析は、属性値のデータプロパティを決定してよい。データプロパティは、フィールド長またはデータタイプなどの、データの特性を定義する。データプロファイリングの結果は、ロジックを生成するのに使用されてよい。たとえば、データプロファイリングの結果に基づいて正規表現が構築されてもよい。
1つの例において、分析モジュールは、辞書およびロジックを有してよく、その両方(辞書およびロジック)は、非構造化ドキュメントからの構造化情報としての識別されたテーブル、もしくはコラム、またはその両方の属性の値の自動抽出に使用されてよい。
1つの実施形態によれば、方法はさらに、データベース、もしくはビジネス用語集、またはその両方における1または複数の変更に基づいて分析モジュールを更新する手順と、非構造化ドキュメントから、もしくは別の非構造化ドキュメントから、またはその両方から構造化情報を抽出するために更新されたモジュールを使用して当該方法を繰り返すことを含む。たとえば、更新する手順は、変更を検出したことに応じて自動的に実行される。データは頻繁に変更されるので、非構造化コンテンツについて分析エンティティを作成および維持して最新状態にすることは技術的に困難であり得る。この実施形態は、自動更新付きの、自動生成された分析モジュール提供し得る。
1つの実施形態によれば、更新は、変更の回数が閾値よりも多い場合に実行される。たとえば、更新する手順は、変更の回数が閾値よりも多い場合に自動的に実行されてよい。
1つの実施形態によれば、構造化情報の抽出は、識別されたテーブル、もしくはコラム、またはその両方の属性値に対応する非構造化ドキュメントにおける属性の当該値を識別することと、属性値から、識別されたテーブル、もしくはコラム、またはその両方のエンティティに応じて、それぞれのエンティティに関連付けられたレコードを形成することを含む。たとえば、抽出された情報は、テーブルまたはリレーショナルテーブルとして提供されてよい。
1つの実施形態によれば、方法はさらに、さらなる非構造化ドキュメントに対して方法を繰り返し、テーブル、もしくはコラム、またはその両方の識別が、データベース内でおよび形成されたレコード内で実行されることを含む。本実施形態は、以前に処理された非構造化ドキュメントに基づく自己改善型システムを可能にし得る。
1つの実施形態によれば、分析モジュールはプラグインであってよい。プラグインは、既存のコンピュータプログラムに特定の特徴を追加するソフトウェアコンポーネントであってよい。これにより、既存のプログラムを、本主題事項を使ってカスタマイズすることが可能となり得る。
1つの実施形態によれば、データベースはマスタデータ管理(MDM)データベースである。これにより、本主題事項を、既存のシステムに、たとえばそれらのデータベースを活用して、シームレスに統合することが可能となり得る。
図1は、例示的なコンピュータシステム100を図示したものである。コンピュータシステム100は、たとえば、マスタデータ管理、もしくはデータウェアハウジング、またはその両方を実行するように構成されてよい。コンピュータシステム100は、データ統合システム101、および1または複数のクライアントシステム105またはデータソース106を有する。クライアントシステム105はコンピュータシステムを有してよい。クライアントシステム105は、たとえばワイヤレスローカルエリアネットワーク(WLAN)接続、WAN(ワイドエリアネットワーク)接続、LAN(ローカルエリアネットワーク)接続、インターネット、またはそれらの組み合わせを含むネットワーク接続を介してデータ統合システム101と通信してよい。データ統合システム101は、中央レポジトリ103またはデータベースへの制御アクセス(読み出しおよび書き込みアクセスなど)を制御してよい。
中央レポジトリ103に記憶されたデータレコードは、企業名属性などの属性セット109A-Pの値を有してよい。この例は少ない属性に関して記載されているが、より多くの、またはより少ない属性が使用されてもよい。
中央レポジトリ103に記憶されたデータレコードは、クライアントシステム105から受け取られ、中央レポジトリ103に記憶される前にデータ統合システム101により処理されてよい。受け取られたレコードは、同一の属性セット109A-Pを有してもよく、有さなくてもよい。たとえば、データ統合システム101によりクライアントシステム105から受け取られたデータレコードは、属性セット109A-Pのすべての値を有さなくてもよく、たとえばデータレコードは属性セット109A-Pの属性サブセットの値を有してもよく、また残りの属性についての値を有さなくてもよい。言い換えると、クライアントシステム105により提供されるレコードは異なる完全性を有してよい。完全性とは、属性セット109A-Pにおける属性の総数に比しての、データ値を有するデータレコードの属性の数の割合である。さらに、クライアントシステム105から受け取られたレコードは、中央レポジトリ103に記憶されたレコードの構造とは異なる構造を持ってよい。たとえば、クライアントシステム105は、XMLフォーマット、JSONフォーマット、または属性とその対応する属性値とを関連付けることを可能にするその他のフォーマットのレコードを提供するように構成されてもよい。
別の例では、データ統合システム101は、1または複数のETLバッチプロセスを使用して、またはハイパーテキストトランスポートプロトコル(「HTTP」)通信を介して、または他の種類のデータ交換を介して、クライアントシステム105から中央レポジトリ103のデータレコードをインポートしてもよい。
データ統合システム101は、ユーザ110からリクエストを受け取って非構造化ドキュメントの特定の分析を実行するように構成されてもよい。リクエストは、たとえば、ユーザ110にとっての関心事のビジネス用語を指定してよい。たとえば、データ統合システム101は、本主題事項に応じて、アルゴリズム120を使用して、記憶されたデータレコード107を処理してよい。
図2は、本主題事項の一例にかかる、非構造化ドキュメントから構造化情報を抽出するための方法のフローチャートである。説明の目的から、図2に記載される方法は図1で図示されるシステムにおいて実装されてよいものであるが、この実装例に限定されない。図2の方法は、たとえば、データ統合システム101により実行されてよい。
ビジネス用語集が手順201において提供されてよい。ビジネス用語集はデータガバナンスのために改変されてよい。ビジネス用語集は、ビジネス用語にその定義が付いたリストを有してよい。ビジネス用語集は、組織または業界用のビジネスコンセプトを定義する。ビジネス用語集は、組織内で内部語彙を共有することを可能にするものであってもよい。
ビジネス用語集のビジネス用語に対応する中央レポジトリ103などのデータベースの記憶されたレコード107(たとえば、テーブル、もしくはコラム、またはその両方)が、手順203において識別されてよい。テーブル、もしくはコラム、またはその両方を識別することは、結果として当該テーブル、もしくはコラム、またはその両方のレコードを識別することになる。それぞれのビジネス用語に関連付けられたテーブル、もしくはコラム、またはその両方を識別することは、ビジネス用語を当該テーブル、もしくはコラム、またはその両方へマッピングをすることを含んでよい。たとえば、ビジネス用語集のそれぞれの用語は、データベースの対応するテーブル、もしくはコラム、またはその両方へマッピングされてよい。このマッピングは、たとえば、IBM(登録商標) Cloud Pak for Dataなどのソフトウェアを使用して実行されてよい。当該テーブルおよびコラムに関連付けられたレコードは、手順203の識別されたレコードであってよい。識別されたレコードのそれぞれは、それぞれのエンティティに関連付けられてよい。たとえば、「住所」などの指定された用語については、「通り」、「郵便番号」および「市」のコラムから成るコラムから成る、たとえば「住所」と名付けられたテーブルが識別され得る。テーブル全体が住所に関係する機能に関係しているので、識別されたテーブル「住所」のすべてのレコードは、手順203の識別されたレコードであり得る。識別されたテーブルのそれぞれのレコードは、通り、郵便番号、市などの1または複数の属性のセットの値を有してよい。テーブルのそれぞれのレコードは、住所エンティティタイプであるそれぞれのエンティティと関連付けられていてよい。この例では、手順203は結果として、属性である属性「通り」、「郵便番号」および「市」を、ビジネス用語「住所」と関連付けられているものとして識別することとなってよい。別の例では、「スタートアップ」などの指定された用語については、「雇用企業」と名付けられた中央レポジトリ103のコラムまたは属性が、当該用語へとマッピングされてよい。コラムは、「従業員」と名付けられたテーブルなどの、テーブルに属してよい。テーブル「従業員」は、人の名前、その人のいる場所などの、追加の属性を有してよい。テーブル「従業員」のそれぞれのレコードは、人であるそれぞれのエンティティと関連付けられていてよい。この場合、テーブル「従業員」のすべてのレコードは手順203における識別されたレコードであってよく、すべてのレコードのうちそれぞれのレコードは属性「雇用企業」の値である1つの属性値を有してよい。つまり、手順203の識別されたレコードは、テーブル「従業員」のそれぞれのレコードの属性「雇用企業」の値を有してよい。この例では、手順203は、結果として、属性「雇用企業」をビジネス用語「企業」に関連付けられたものとして識別することとなってよい。コラム「企業名」、「場所」などを持つ「企業」と名付けられたテーブルをデータベースがさらに有する場合、コラム「企業名」はさらにビジネス用語「企業」と関連付けられてよい。テーブル「企業」のそれぞれのレコードは、企業であるそれぞれのエンティティと関連付けられてよい。
しかし、顧客は、製品名、顧客名、従業員名などの、彼らに関係する特定の情報に関心を持ち得る。それゆえ、非構造化ドキュメントにおいて認識するための関心事のビジネス用語の明細は、手順205で受け取られてよい。ビジネス用語の明細は、たとえば、ユーザ110から受け取られたビジネス用語のリクエストであってよい。たとえば、ユーザ110は、ブックまたはその他の非構造化ドキュメントにおいてドキュメント化されている企業に関心を持ち得る。指定されたビジネス用語は、たとえば、ビジネス用語集の用語であってよい。たとえば、非構造化ドキュメントにおけるビジネス用語の明細は、非構造化ドキュメントを統制されたデータレイク内へロードするのに応じて受け取られてよい。これは、たとえば、サイエンティストにとって適時にデータを利用可能にし得る。
分析モジュールは、識別されたテーブル、もしくはコラム、またはその両方の属性に基づいて、手順207において生成されてよい。生成された分析モジュールは、識別されたレコードの属性値を識別可能にするまたは認識可能にすることができる。たとえば、識別されたテーブル、もしくはコラム、またはその両方のそれぞれの属性タイプについて、分析モジュールは当該属性タイプの値を認識可能にするロジックまたはデータクラスを有してよい。たとえば、ロジックは、たとえば正規表現を含むコードの一部であってよい。分析モジュールは、入力値を読み取って入力値が識別されたレコードの属性タイプのうちの1つの値であるかどうかを決定するように構成されてよい。識別された属性「雇用企業」の例に続き、値が属性「雇用企業」の値であるか否かを決定できるように、分析モジュールが生成されてよい。このためには、識別されたコラム「雇用企業」の値は、モジュールを生成するのに使用されてよい。データベースが、「企業」と名付けられたテーブルをさらに有する場合は、識別されたコラム「雇用企業」もしくは「企業名」、またはその両方の値は、モジュールを生成するのに使用され(プロファイルされ)てよい。
分析モジュールは自動的に生成されても半自動的に生成されてもよい。1つの第1のモジュール生成例において、識別されたテーブル、もしくはコラム、またはその両方のそれぞれの属性タイプの属性値のデータプロファイリングが実行されてよい。1つの例において、プロファイリングは、手順203において同一のビジネス用語と関連付けられたものとして識別されている1または複数の属性タイプの値について実行されてよい。データプロファイリングは、たとえば、フォーマット分析を含んでよい。属性タイプの値のフォーマット分析は、属性タイプの値のためのフォーマット表現を作成してもよい。フォーマット表現は、コラムにおけるそれぞれの別個の文字の文字記号を含有するパターンであってよい。たとえば、それぞれのアルファベット文字はAという文字記号を有し得、数字は9という文字記号を有し得る。フォーマット表現は、そのようなパターンを識別するロジックを生成するのに使用されてよい。たとえば、ロジックは入力値でパターンをマッピングするように構成されてよい。1つの第2のモジュール生成例では、ユーザは、識別されたテーブル、もしくはコラム、またはその両方の1または複数の属性タイプの値を促され得るか、または当該値のデータプロファイリングの結果を促され得て、それに応じて、定義されたロジックがユーザから受け取られ得、それぞれの定義されたロジックはそれぞれの属性タイプに対応する値を識別するまたは認識するように構成されてよい。こうして、分析モジュールは第1のモジュール生成例、もしくは第2のモジュール生成例、またはその両方に応じて生成されてよい。
1つの例において、分析モジュールの生成は、手順205の明細を受け取った後に実行されてよい。分析モジュールをオンデマンドで提供し得るため、これは有利であり得る。たとえば、分析モジュールは、指定されたビジネス用語に関係する識別されたテーブル、もしくはコラム、またはその両方の属性タイプのみに基づいて生成されてよい。これにより、他であればすべての属性タイプ用のモジュールを生成するのに必要となるであろうリソースを節約し得る。別の例では、分析モジュールの生成は、たとえば手順205の前に、前もって実行されてよい。これにより、受け取られたそれぞれのリクエストのためにモジュールを作成することを防止し得る。たとえば、単一の生成されたモジュールが、手順205の受け取られた明細などの、受け取られた複数の明細のために使用され得る。たとえば、分析モジュールを生成した後、手順205と手順209は、同一のまたは異なる非構造化ドキュメントから構造情報を抽出するために、生成された同一の分析モジュールを使用して1回または複数回繰り返されてよい。
分析モジュールは、関心事のビジネス用語の明細に基づいて非構造化ドキュメントから情報を検出および抽出するために手順209において使用されてよい。検出され抽出された情報は、属性タイプの値であってよく、その値は分析モジュールにより識別されるものである。検出され抽出された情報は、構造化情報と称されてよい。検出され抽出された情報は、テーブルなどの構造化フォーマットでユーザに提供されてよい。抽出された情報は属性値を有してよく、それぞれの属性値は1または複数のエンティティタイプに関連付けられている。たとえば、リクエストされたビジネス用語が企業についてのものである場合、属性「雇用企業」または「企業名」の値として識別された、非構造化ドキュメント内の値は、エンティティ「人」および「企業」エンティティと関連付けられてよい。手順209は、たとえば手順205の明細の受け取りおよびモジュールの生成があったときに、たとえば自動的に実行されてよい。たとえば、非構造化ドキュメントは解析されてよく、また、解析されたそれぞれの値は分析モジュールにより処理されて、値が、識別されたテーブル、もしくはコラム、またはその両方の属性タイプのうちの1つの値であるかどうかを決定してよい。この手順は、たとえば、結果として異なる属性タイプの複数の値の識別となる。これらの複数の値のうちのそれぞれの値は、それぞれの1または複数のエンティティを表してよい。たとえば、ユーザが企業についての情報をリクエストした場合、分析モジュールは、テーブルの属性タイプ「雇用企業」に対応する値を検索してよい。なぜなら、分析モジュールは「雇用企業」属性の値に基づいて生成されるためである。
図3は、本主題事項の例にかかる、非構造化ドキュメントから構造化情報を抽出するための方法のフローチャートである。説明の目的から、図3に記載される方法は図1に図示されるシステムにおいて実装されてよいものであるが、この実装例に限定されない。図3の方法は、たとえば、データ統合システム101により実行されてよい。
中央レポジトリ103における変更の回数が予め定められた閾値を超えるかどうかが、手順301で決定されてよい。変更は、たとえば、更新、もしくは挿入操作、またはその両方により行われてよい。中央レポジトリ103における変更の回数が予め定義された閾値を超えない場合、手順301は、中央レポジトリ103における変更の回数が予め定められた閾値を超えるまで繰り返されるか、または繰り返しの回数が繰り返し最多回数に達するまで繰り返されてよく、そのようにして繰り返し最多回数に達した場合に方法は終了してよい。中央レポジトリ103における変更の回数が予め定められた閾値を超えた場合、分析モジュールは変更された中央レポジトリ103を使用して手順303において継続的に更新されてよい。分析モジュールの更新は、新しいロジックを作成すること、もしくは更新されたデータを使用して分析モジュールの既存ロジックを更新すること、またはその両方により実行されてよい。分析モジュールの更新は、第1および第2のモジュール生成例の少なくとも1つを使用して実行されてよい。非構造化ドキュメントにおいて認識するための関心事のビジネス用語の明細は、手順305において受け取られてよい。たとえば、ユーザは、ブックまたはその他の非構造化ドキュメントにおいてドキュメント化された企業に関心を持ち得る。指定されたビジネス用語は、たとえば、ビジネス用語集の用語であってよい。
更新された分析モジュールは、関心事のビジネス用語の明細に基づいて非構造化ドキュメントから構造化情報を抽出するために、手順307(たとえば、図2の手順209を参照して記載される)において使用されてよい。
図4は、本主題事項の例にかかる、非構造化ドキュメントから構造化情報を抽出するための方法のフローチャートである。説明の目的から、図4に記載される方法は図1で図示されるシステムにおいて実装されてよいものであるが、この実装例に限定されない。図4の方法は、たとえば、データ統合システム101により実行されてよい。
図4の手順401~409は、それぞれ、図2における手順201~209である。さらに、図4は手順401~409の繰り返しを含み、それぞれの繰り返しにおいて、手順403は、データベース、および手順409の前回実行時の手順409において抽出された構造化情報の両方の、テーブル、もしくはコラム、またはその両方を識別する。たとえば、手順401~409の繰り返しは、定期的基準で、たとえば毎日実行されてよい。別の例では、手順401~409の繰り返しは、予め定められた最多繰り返し回数に達するまで実行されてよい。図4の方法は、データベースおよび非構造化ドキュメントの両方を使用して時間経過につれて改善する自己改善型システムを可能にし得る。
図5は、本開示に関わる方法手順の少なくとも一部において実装するのに適した、一般的なコンピュータ化されたシステム600を表す。
本明細書に記載される方法は、少なくとも部分的に非インタラクティブであり、また、サーバまたは埋込み型システムなどのシステムにより自動化されていることが理解されるであろう。しかし例示的な実施形態において、本明細書に記載される方法は、(部分的に)インタラクティブシステムで実装され得る。これらの方法はさらに、ソフトウェア612,622(ファームウェアを含む)、ハードウェア(プロセッサ)605、またはそれらの組み合わせで実装され得る。例示的な実施形態において、本明細書に記載される方法は、実行可能なプログラムとしてソフトウェアで実装され、パーソナルコンピュータ、ワークステーション、ミニコンピュータ、またはメインフレームコンピュータなどの、専用または汎用デジタルコンピュータによって実行される。それゆえ最も一般的なシステム600は汎用コンピュータ601を含む。
例示的な実施形態において、図5で示されるハードウェアアーキテクチャに関して、コンピュータ601は、プロセッサ605と、メモリコントローラ615に連結されたメモリ(メインメモリ)610と、ローカル入/出力(I/O)コントローラ635を介して通信可能に連結された1または複数の入力、もしくは出力、またはその両方のデバイス10(または周辺機器),645とを含む。入/出力コントローラ635は、本技術分野において公知であるように、1または複数のバスまたはその他の有線または無線の接続であり得るが、それに限られない。入/出力コントローラ635は、通信を可能にするための、コントローラ、バッファ(キャッシュ)、ドライバ、リピータ、およびレシーバなどの、ここでは簡素化のために省略される追加のエレメントを有してよい。さらに、ローカルインターフェイスは、上述のコンポーネントのうち適切な通信を可能にするためのアドレス、制御、もしくはデータ接続、またはそれらの組み合わせを有してよい。本明細書に記載されるとおり、I/Oデバイス10,645は、一般的に、本技術分野において公知である汎用暗号カードまたはスマートカードを含んでよい。
プロセッサ605は、ソフトウェアを実行するためのハードウェアデバイスであって、とりわけメモリ610に記憶されるものである。プロセッサ605は、カスタムメイドのまたは商業的に入手可能な任意のプロセッサ、中央処理ユニット(CPU)、コンピュータ601に関連付けられたいくつかのプロセッサのうちの補助プロセッサ、半導体ベースのマイクロプロセッサ(マイクロチップまたはチップセットの形態のもの)、または一般的にソフトウェア命令を実行するための任意のデバイスであり得る。
メモリ610は、揮発性メモリエレメント(たとえばランダムアクセスメモリ(DRAM、SRAM、SDRAMなど)のRAM)、および不揮発性メモリエレメント(たとえばROM、消去可能プログラマブルリードオンリメモリ(EPROM)、電子的消去可能プログラマブルリードオンリメモリ(EEPROM)、プログラマブルリードオンリメモリ(PROM)のいずれか1つまたはその組み合わせを含み得る。メモリ610は、さまざまなコンポーネントが互いにリモートで設置されている場合は分散型アーキテクチャを有し得るが、プロセッサ605によるアクセスも可能である。
メモリ610におけるソフトウェアは、1または複数の別々のプログラムを含んでよく、そのそれぞれは論理関数、特に本発明の実施形態に関わる関数の実装のための実行可能な命令の順序付けリストを含む。図5の例において、メモリ610におけるソフトウェアは、命令612、たとえば、データベース管理システムなどのデータベースを管理する命令を含む。
メモリ610におけるソフトウェアは、典型的には、適したオペレーションシステム(OS)411をも含んでいなければならない。OS611は、基本的に、本明細書において記載されるように、実装方法のためにあり得る命令612(たとえばソフトウェア)などのその他のコンピュータプログラムの実行を制御する。
本明細書に記載の方法は、ソースプログラム、実行可能プログラム(オブジェクトコード)、スクリプト、または実行されるべき命令612のセットを有する他のいかなるエンティティの形態であってもよい。ソースプログラムの場合、プログラムは、OS611と関連して適切に作動するように、メモリ610内に含まれてもよく含まれなくてもよいコンパイラ、アセンブラ、インタープリタなどを介して変換される必要がある。さらに、方法は、データおよび方法のクラスを持つオブジェクト指向プログラミング言語として、または、ルーティン、サブルーティン、もしくは関数、またはそれらの組み合わせを持つ手続き型プログラミング言語として書かれ得る。
例示的な実施形態において、従来のキーボード650およびマウス655は入/出力コントローラ635に連結され得る。I/Oデバイス645などの他の出力デバイスは、たとえばプリンタ、スキャナ、マイクロフォンなどが挙げられるがこれらに限られない入力デバイスを含んでよい。最後に、I/Oデバイス10,645は、例としてネットワークインターフェースカード(NIC)またはモジュレータ/デモジュレータ(他のファイル、デバイス、システム、またはネットワークへのアクセス用)、無線周波(RF)式またはその他のトランシーバ、電話インターフェース、ブリッジ、ルータなどが挙げられるがこれらに限られない、入力および出力の両方と通信するデバイスをさらに含んでよい。I/Oデバイス10,645は、本技術分野において公知である汎用暗号カードまたはスマートカードであり得る。システム600は、ディスプレイ630に連結されたディスプレイコントローラ625をさらに含み得る。例示的な実施形態において、システム600は、ネットワーク665に連結するためのネットワークインターフェースをさらに含み得る。ネットワーク665は、コンピュータ601と、任意の外部サーバ、クライアントなどとの間でブロードバンド接続を介して通信するためのIPベースのネットワークであり得る。ネットワーク665は、コンピュータ601と、本明細書の中で議論される方法の部分的またはすべての手順を実行するのに関わり得る外部システム30との間でデータを送受信する。例示的な実施形態において、ネットワーク665は、サービスプロバイダにより運営される管理されたIPネットワークであり得る。ネットワーク665は、WiFi(登録商標)、WiMAX(登録商標)などの無線プロトコルおよび技術をたとえば使用して、無線形式で実装されてよい。ネットワーク665は、ローカルエリアネットワーク、ワイドエリアネットワーク、メトロポリタンエリアネットワーク、インターネットネットワーク、またはその他の類似のタイプのネットワーク環境などの、パケット交換ネットワークでもあり得る。ネットワーク665は、固定無線ネットワーク、無線ローカルエリアネットワーク(WLAN)、無線ワイドエリアネットワーク(WWAN)、パーソナルエリアネットワーク(PAN)、仮想私設ネットワーク(VPN)、イントラネットまたはその他の適したネットワークシステムであってよく、信号の受送信のための設備を含む。
コンピュータ601が、PC、ワークステーション、インテリジェントデバイスなどの場合、メモリ610内のソフトウェアは基本入出力システム(BIOS)622をさらに含んでよい。BIOSは、始動時にハードウェアを初期化してテストし、OS611をスタートし、ハードウェアデバイスの中のデータの移送をサポートする基本的なソフトウェアルーティンのセットである。BIOSは、コンピュータ601が起動されたときにBIOSを実行できるように、ROMに記憶されている。
コンピュータ601が作動しているとき、プロセッサ605は、メモリ610内に記憶されているソフトウェア612を実行して、メモリ610へのおよびメモリ610からの通信を行い、ソフトウェアに従ってコンピュータ601のオペレーションを全般的に制御するように構成される。本明細書に記載の方法およびOS611は、全体としてまたは部分的に、ただし典型的には部分的に、プロセッサ605によって読み取られ、おそらくはプロセッサ605内でバッファされて、その後実行される。
図5で示されるように、本明細書の中で記載されるシステムおよび方法がソフトウェア612において実装される場合、方法は、任意のコンピュータ関連システムまたは方法によりまたはそれと関連して使用されるストレージ620などの任意のコンピュータ可読媒体に記憶され得る。ストレージ620は、HDDストレージなどのディスクストレージを有してよい。
本発明は、システム、方法、もしくはコンピュータプログラム製品、またはそれらの組み合わせであってよい。コンピュータプログラム製品は、プロセッサに本発明の態様を実現させるためのコンピュータ可読プログラム命令を有する(1つまたは複数の)コンピュータ可読記憶媒体を含んでよい。
コンピュータ可読記憶媒体は、命令実行デバイスにより使用されるための命令を保持して記憶できる任意の有形デバイスであり得る。コンピュータ可読記憶媒体は、たとえば、限定されないが、電子記憶デバイス、磁気記憶デバイス、光学記憶デバイス、電磁記憶デバイス、半導体記憶デバイス、または上記の任意の適した組み合わせであってよい。コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストとしては以下のものが含まれる:ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROMまたはフラッシュメモリ)、静的ランダムアクセスメモリ(SRAM)、ポータブルコンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、メモリスティック、フロッピーディスク、パンチカードまたは溝に設けられた隆起構造であって溝に命令が記録されているものなどの機械的にエンコードされたデバイス、および前述の任意の適した組み合わせ。コンピュータ可読記憶媒体は、本明細書の中で使用される場合において、ラジオ波や他の自由に伝搬する電磁波、導波管や他の伝送媒体を介して伝搬する電磁波(たとえば光ファイバケーブルを透過する光パルス)、または、電線を介して伝送される電気信号、などの一時的な信号それ自体と解釈されるべきでない。
本明細書に記載されるコンピュータ可読記憶プログラム命令は、たとえばインターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、もしくは無線ネットワーク、またはその両方といったネットワークを介して、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理デバイスへ、または、外部コンピュータもしくは外部ストレージデバイスへとダウンロードされ得る。ネットワークは、銅伝送ケーブル、光学伝送ファイバ、無線伝送、ルータ、ファイヤーウォール、スイッチ、ゲートウェイコンピュータ、もしくはエッジサーバ、またはそれらの組み合わせを有してよい。それぞれのコンピューティング/処理デバイスのネットワークアダプタカードまたはネットワークインターフェースは、ネットワークからコンピュータ可読プログラム命令を受け取り、それぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体に記憶させるためにコンピュータ可読プログラム命令を転送する。
本発明のオペレーションを実現するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、または、Smalltalk(登録商標)、C++などのオブジェクト指向プログラミング言語を含む1または複数の任意のプログラミング言語で書かれたソースコードあるいはオブジェクトコード、および、「C」プログラミング言語あるいは類似のプログラミング言語などの従来の手続き型プログラミング言語であってよい。コンピュータ可読プログラム命令は、全体的にユーザのコンピュータ上でかつ部分的にユーザのコンピュータ上でスタンドアローンソフトウェアパッケージとして、部分的にユーザのコンピュータ上でかつ部分的にリモートコンピュータ上で、または全体的にリモートコンピュータあるいはサーバ上で実行してよい。後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク(LAN)またはワイドエリアネットワーク(WAN)を含む任意のタイプのネットワークを通してユーザのコンピュータに接続されてよく、または接続が外部コンピュータに対してなされてもよい(たとえば、インターネットサービスプロバイダを使用してインターネットを通じて)。いくつかの実施形態において、たとえばプログラマブル論理回路、フィールドプログラマブルゲートアレイ(FPGA)、またはプログラマブルロジックアレイ(PLA)を含む電子回路は、本発明の態様を実行するために、コンピュータ可読プログラム命令の記述情報を利用することによりコンピュータ可読プログラム命令を実行して電子回路をパーソナライズしてよい。
本明細書において、本発明の態様が、本発明の実施態様にかかる方法、装置(システム)、およびコンピュータプログラム製品のフローチャート図、もしくはブロック図、またはその両方を参照しながら記載されている。フローチャート図、もしくはブロック図、またはその両方の、それぞれのブロック、および、フローチャート図、もしくはブロック図、またはその両方のブロックの組み合わせは、コンピュータ可読プログラム命令により実装され得ることは理解されるであろう。
コンピュータまたはその他のプログラマブルデータ処理装置のプロセッサを介して実行する命令が、フローチャート、もしくはブロック図、またはその両方、もしくはブロックにおいて指定される機能/動作を実装するための手段を作成するものとなるように、これらのコンピュータ可読プログラム命令は、汎用コンピュータ、特定用途向けコンピュータ、またはその他のプログラマブルデータ処理装置のプロセッサに提供されて機械を作り出してよい。命令がその中に記憶されているコンピュータ可読記憶媒体が、フローチャート、もしくはブロック図、またはその両方、もしくはブロックにおいて指定される機能/動作の態様を実装する命令を含む製造物品を有するものとなるように、これらのコンピュータ可読プログラム命令もまた、コンピュータ、プログラマブルデータ処理装置、もしくはその他のデバイス、またはそれらの組み合わせが所定のやり方で機能するように指令することができるコンピュータ可読記憶媒体に記憶されてもよい。
コンピュータ、その他のプログラマブルデータ処理装置、またはその他のデバイス上で実行する命令が、フローチャート、もしくはブロック図、またはその両方、もしくはブロックにおいて指定される機能/動作を実装するものとなるように、コンピュータ可読プログラム命令もまた、コンピュータ、その他のプログラマブルデータ処理装置、またはその他のデバイス上にロードされて、一連のオペレーション手順がコンピュータ、その他のプログラマブルデータ処理装置、またはその他のデバイスにコンピュータ実装プロセスを作り出させてもよい。
各図のフローチャートおよびブロック図は、本発明のさまざまな実施形態にかかるシステム、方法およびコンピュータプログラム製品のアーキテクチャ、機能性、および考えられる実装のオペレーションを示したものである。この点について、フローチャートまたはブロック図のそれぞれのブロックは、指定された論理関数を実装するための1または複数の実行可能な命令を有するモジュール、セグメント、または命令の部分を表してよい。いくつかの選択的な実装例において、ブロックの中に注記されている機能は、図の中で注記されている順序に従って生じてよい。たとえば、連続して示される2つのブロックは、関わりを持つ機能性によっては、実際には実質的に同時に実行されてもよいし、あるときはブロックが逆の順序で実行されてもよい。ブロック図、もしくはフローチャート図、またはその両方のそれぞれのブロック、およびブロック図、もしくはフローチャート図、またはその両方のブロックの組み合わせは、指定された機能または動作を実行するまたは特定用途向けハードウェアおよびコンピュータ命令の組み合わせを実現する特定用途向けハードウェアベースのシステムにより実装され得る。
本発明のさまざまな実施形態の説明が図示の目的で表されてきたが、網羅的であることが意図されるものではなく、開示される実施形態が限定されるものでもない。記載された本発明の範囲及び趣旨から逸脱することなく、多くの修正および変形が、当業者にとっては明らかであろう。本明細書で使用される専門用語は、実施形態の原理、実際の応用、もしくは市場で見られる技術に対する技術的改善点を最も良く説明するように、または、当業者が本明細書に開示された実施形態を理解できるように選択されている。

Claims (20)

  1. 非構造化ドキュメント分析のために構造化情報を抽出する手順を備えるコンピュータ実装方法であって、非構造化ドキュメント分析のための構造化情報の抽出は、
    ビジネス用語集のビジネス用語に対応するデータベースのテーブルおよびコラムを識別する段階と、
    非構造化ドキュメント内で認識するための関心事のビジネス用語の明細を受け取る段階と、
    前記テーブルおよびコラムの属性の属性値を識別可能にするまたは認識可能にする、前記識別された前記テーブルおよびコラムに基づいて、分析モジュールを生成する段階と、
    関心事のビジネス用語の前記明細に基づいて、前記非構造化ドキュメントから前記属性の少なくとも一部の値を自動抽出するために、前記分析モジュールを使用する段階と、
    を含む、コンピュータ実装方法。
  2. 前記テーブルおよびコラムを識別する段階は、
    複数のビジネス用語のうちそれぞれの用語について、それぞれのビジネス用語のフォーマットおよびコンテンツに基づいて識別ロジックを決定する段階と、
    前記テーブルおよびコラムを識別するために前記データベース上で前記識別ロジックを実行する段階と、
    を含む、請求項1に記載のコンピュータ実装方法。
  3. 前記分析モジュールを生成する段階は、
    識別された前記テーブルおよびコラムの属性値を使用して複数のビジネス用語の辞書を構築する段階を含み、前記構造化情報を抽出するために前記分析モジュールを使用する段階は、前記辞書付きの前記非構造化ドキュメントのコンテンツを比較する段階を含む、請求項1または2に記載のコンピュータ実装方法。
  4. 前記分析モジュールを生成する段階は、
    前記属性値に類似する値をロジックが認識できるように、識別された前記テーブルおよびコラムの前記属性値のコンテンツおよびフォーマットに基づいて前記ロジックを構築する段階を含む、請求項1から3のいずれか一項に記載のコンピュータ実装方法。
  5. 前記データベースおよび前記ビジネス用語集における1または複数の変更に基づいて前記分析モジュールを更新する段階と、
    前記非構造化ドキュメントから、もしくは別の非構造化ドキュメントから、またはその両方から、構造化情報を抽出するために前記分析モジュールを継続的に更新する段階と
    をさらに備える、請求項1から4のいずれか一項に記載のコンピュータ実装方法。
  6. 変更の回数が閾値よりも多い場合に前記更新が実行される、請求項5に記載のコンピュータ実装方法。
  7. 構造化情報の前記抽出は、
    識別された前記テーブルおよびコラムの属性値に対応する前記非構造化ドキュメントにおいて前記属性の前記値を識別する段階と、
    前記属性値から、識別されたレコードのエンティティに応じてそれぞれの前記エンティティに関連付けられたレコードを形成する段階と、
    を含む、請求項1から6のいずれか一項に記載のコンピュータ実装方法。
  8. 前記コンピュータ実装方法をさらなる非構造化ドキュメントのために繰り返す段階であって、前記テーブルおよびコラムの前記識別は前記データベース内でおよび形成された前記レコード内で実行される、繰り返す段階、をさらに備える、請求項7に記載のコンピュータ実装方法。
  9. 前記分析モジュールはプラグインである、請求項1から8のいずれか一項に記載のコンピュータ実装方法。
  10. 前記データベースはマスタデータ管理(MDM)データベースである、請求項1から9のいずれか一項に記載のコンピュータ実装方法。
  11. プロセッサに、
    非構造化ドキュメント分析のために構造化情報を抽出する手順であって、非構造化ドキュメント分析のための構造化情報を抽出する手順は、
    ビジネス用語集のビジネス用語に対応するデータベースのテーブルおよびコラムを識別する手順と、
    非構造化ドキュメント内で認識するための関心事のビジネス用語の明細を受け取る手順と、
    前記テーブルおよびコラムの属性の属性値を識別可能にするまたは認識可能にする、識別された前記テーブルおよびコラムに基づいて、分析モジュールを生成する手順と、
    関心事のビジネス用語の前記明細に基づいて、前記非構造化ドキュメントから前記属性の少なくとも一部の値を自動抽出するための、前記分析モジュールを使用する手順と
    を実行させるためのコンピュータプログラム。
  12. 前記テーブルおよびコラムを識別する手順は、
    複数のビジネス用語のうちそれぞれの用語について、それぞれのビジネス用語のフォーマットおよびコンテンツに基づいて識別ロジックを決定する手順と、
    前記テーブルおよびコラムを識別するための前記データベース上で前記識別ロジックを実行する手順と
    を有する、請求項11に記載のコンピュータプログラム。
  13. 前記分析モジュールを生成する手順は、
    識別された前記テーブルおよびコラムの属性値を使用して複数のビジネス用語の辞書を構築する手順を含み、前記構造化情報を抽出するために前記分析モジュールを使用する手順は、前記辞書付きの前記非構造化ドキュメントのコンテンツを比較する手順を含む、請求項11または12に記載のコンピュータプログラム。
  14. 前記分析モジュールを生成する手順は、
    前記属性値に類似する値をロジックが認識できるように、識別された前記テーブルおよびコラムの前記属性値のコンテンツおよびフォーマットに基づいて前記ロジックを構築する手順を有する、請求項11から13のいずれか一項に記載のコンピュータプログラム。
  15. 前記プロセッサに、
    前記データベースおよび前記ビジネス用語集における1または複数の変更に基づいて前記分析モジュールを更新する手順と、
    前記非構造化ドキュメントから、もしくは別の非構造化ドキュメントから、またはその両方から、構造化情報を抽出するために前記分析モジュールを継続的に更新する手順と
    をさらに実行させる、請求項11から14のいずれか一項に記載のコンピュータプログラム。
  16. 1または複数のコンピュータプロセッサと、
    1または複数のコンピュータ可読記憶媒体と、
    前記1または複数のコンピュータプロセッサのうち少なくとも1つにより実行されるための、前記1または複数のコンピュータ可読記憶媒体に記憶されたプログラム命令と、
    を備えるコンピュータシステムであって、前記プログラム命令は:
    非構造化ドキュメント分析のために構造化情報を抽出するためのプログラム命令を有し、非構造化ドキュメント分析のための構造化情報の抽出は、
    ビジネス用語集のビジネス用語に対応するデータベースのテーブルおよびコラムを識別するためのプログラム命令と、
    非構造化ドキュメント内で認識するために関心事のビジネス用語の明細を受け取るためのプログラム命令と、
    前記テーブルおよびコラムの属性の属性値を識別可能にするまたは認識可能にする、識別された前記テーブルおよびコラムに基づいて分析モジュールを生成するためのプログラム命令と、
    関心事のビジネス用語の前記明細に基づいて、前記非構造化ドキュメントから前記属性の少なくとも一部の値を自動抽出するために前記分析モジュールを使用するためのプログラム命令と、
    を含む、
    コンピュータシステム。
  17. 前記テーブルおよびコラムを識別する前記プログラム命令は、
    複数のビジネス用語のうちそれぞれの用語について、それぞれのビジネス用語のフォーマットおよびコンテンツに基づいて識別ロジックを決定するためのプログラム命令と、
    前記テーブルおよびコラムを識別するために前記データベース上で前記識別ロジックを実行するためのプログラム命令と
    を備える、請求項16に記載のコンピュータシステム。
  18. 前記分析モジュールを生成するための前記プログラム命令は、
    識別された前記テーブルおよびコラムの属性値を使用して複数のビジネス用語の辞書を構築するためのプログラム命令を有し、前記構造化情報を抽出するために前記分析モジュールを使用することは、前記辞書付きの前記非構造化ドキュメントのコンテンツを比較するプログラム命令を含む、請求項16または17に記載のコンピュータシステム。
  19. 前記分析モジュールを生成するための前記プログラム命令は、
    ロジックが前記属性値に類似する値を認識できるように、識別された前記テーブルおよびコラムの前記属性値のコンテンツおよびフォーマットに基づいて前記ロジックを構築するプログラム命令、
    を有する、請求項16から18のいずれか一項に記載のコンピュータシステム。
  20. 前記1または複数のコンピュータ可読記憶媒体上に記憶された前記プログラム命令はさらに、
    前記データベース、もしくは前記ビジネス用語集、またはその両方における、1または複数の変更に基づいて前記分析モジュールを更新するためのプログラム命令と、
    前記非構造化ドキュメントから、もしくは別の非構造化ドキュメントから、またはその両方から、構造化情報を抽出するために前記分析モジュールを継続的に更新するための、プログラム命令と
    を有する、請求項16から19のいずれか一項に記載のコンピュータシステム。
JP2021166423A 2020-10-14 2021-10-08 コンピュータ実装方法、コンピュータプログラムおよびコンピュータシステム(非構造化ドキュメントからの構造化情報の抽出) Pending JP2022064865A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/069,892 US20220114189A1 (en) 2020-10-14 2020-10-14 Extraction of structured information from unstructured documents
US17/069,892 2020-10-14

Publications (1)

Publication Number Publication Date
JP2022064865A true JP2022064865A (ja) 2022-04-26

Family

ID=81079222

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021166423A Pending JP2022064865A (ja) 2020-10-14 2021-10-08 コンピュータ実装方法、コンピュータプログラムおよびコンピュータシステム(非構造化ドキュメントからの構造化情報の抽出)

Country Status (3)

Country Link
US (1) US20220114189A1 (ja)
JP (1) JP2022064865A (ja)
CN (1) CN114358000A (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6094649A (en) * 1997-12-22 2000-07-25 Partnet, Inc. Keyword searches of structured databases
US7580831B2 (en) * 2002-03-05 2009-08-25 Siemens Medical Solutions Health Services Corporation Dynamic dictionary and term repository system
US8875302B2 (en) * 2012-05-15 2014-10-28 International Business Machines Corporation Classification of an electronic document

Also Published As

Publication number Publication date
US20220114189A1 (en) 2022-04-14
CN114358000A (zh) 2022-04-15

Similar Documents

Publication Publication Date Title
US10515212B1 (en) Tracking sensitive data in a distributed computing environment
US10445377B2 (en) Automatically generating a website specific to an industry
US11042542B2 (en) Method and apparatus for providing aggregate result of question-and-answer information
US11042581B2 (en) Unstructured data clustering of information technology service delivery actions
CN109725980B (zh) 生成镜像标签的方法、设备以及计算机可读介质
US10223471B2 (en) Web pages processing
US10353874B2 (en) Method and apparatus for associating information
US10423410B1 (en) Source code rules verification method and system
US20160012082A1 (en) Content-based revision history timelines
US20200034481A1 (en) Language agnostic data insight handling for user application data
US20210109720A1 (en) Interpreter for interpreting a data model algorithm and creating a data schema
US20150379112A1 (en) Creating an on-line job function ontology
KR20210048425A (ko) 데이터 매핑을 위한 방법, 장치 및 시스템
US20140244641A1 (en) Holistic customer record linkage via profile fingerprints
US11151308B2 (en) Electronic document processing system
US11226832B2 (en) Dynamic generation of user interfaces based on dialogue
CN108694172B (zh) 信息输出方法和装置
CN109710634B (zh) 用于生成信息的方法及装置
US10915507B1 (en) Data conversion handler for a run-time execution environment
US7856344B2 (en) Method for transforming overlapping paths in a logical model to their physical equivalent based on transformation rules and limited traceability
US11687574B2 (en) Record matching in a database system
JP2022064865A (ja) コンピュータ実装方法、コンピュータプログラムおよびコンピュータシステム(非構造化ドキュメントからの構造化情報の抽出)
CN114968725A (zh) 任务依赖关系校正方法、装置、计算机设备及存储介质
US9928302B2 (en) Merging data analysis paths
US10579696B2 (en) Save session storage space by identifying similar contents and computing difference

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20220518

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240307