The present disclosure relates in general to information data mining from document sources, and more specifically to extraction of facts from documents.
Electronic document corpora may contain vast amounts of information. For a person searching for specific information in a document corpus, identifying key information may be troublesome. Manually crawling each document and highlighting or extracting important information may even be impossible depending on the size of the document corpus. At times a reader may only be interested in facts or asserted information. The use of intelligent computer systems for extracting features in an automated matter may be commonly used to aid in fact extraction. However, current intelligent systems fail to properly extract facts and associate them with other extracted features such as entities, topics, events and other feature types.
Thus a need exists for a method of extracting facts and accurately associating them with features to improve accuracy of information.
A system and method for extracting facts from unstructured text are disclosed. The system includes an entity extraction computer module used to extract and disambiguate independent entities from an electronic document, such as a text file. The system may further include a topic extractor computer module configured to determine a topic related to the text file. The system may extract possible facts described in the text by comparing text string structures against a fact template store. The fact template store may be built by revising documents containing facts and recording a commonly used fact sentence structure. The extracted facts may then be associated with extracted entities and topics to determine a confidence score that may serve as an indication of the accuracy of the fact extraction.
In one embodiment, a method is disclosed. The method comprises receiving, by an entity extraction computer, an electronic document having unstructured text and extracting, by the entity extraction computer, an entity identifier from the unstructured text in the electronic document. The method further includes extracting, by a topic extraction computer, a topic identifier from the unstructured text in the electronic document, and extracting, by a fact extraction computer, a fact identifier from the unstructured text in the electronic document by comparing text string structures in the unstructured text to a fact template database, the fact template database having stored therein a fact template model identifying keywords pertaining to specific fact identifiers and corresponding keyword weights. The method further includes associating, by a fact relatedness estimator computer, the entity identifier with the topic identifier and the fact identifier to determine a confidence score indicative of a degree of accuracy of extraction of the fact identifier.
In another embodiment, a system is disclosed. The system comprises one or more server computers having one or more processors executing computer readable instructions for a plurality of computer modules. The computer modules include an entity extraction module configured to receive an electronic document having unstructured text and extract an entity identifier from the unstructured text in the electronic document, a topic extraction module configured to extract a topic identifier from the unstructured text in the electronic document, and a fact extraction module configured to extract a fact identifier from the unstructured text in the electronic document by comparing text string structures in the unstructured text to a fact template database, the fact template database having stored therein a fact template model identifying keywords pertaining to specific fact identifiers and corresponding keyword weights. The system further includes a fact relatedness estimator module configured to associate the entity identifier with the topic identifier and the fact identifier to determine a confidence score indicative of a degree of accuracy of extraction of the fact identifier.
In yet another embodiment, a non-transitory computer readable medium having stored thereon computer executable instructions. The instructions comprise receiving, by an entity extraction computer, an electronic document having unstructured text, extracting, by the entity extraction computer, an entity identifier from the unstructured text in the electronic document, and extracting, by a topic extraction computer, a topic identifier from the unstructured text in the electronic document. The instructions further include extracting, by a fact extraction computer, a fact identifier from the unstructured text in the electronic document by comparing text string structures in the unstructured text to a fact template database, the fact template database having stored therein a fact template model identifying keywords pertaining to specific fact identifiers and corresponding keyword weights, and associating, by a fact relatedness estimator computer, the entity identifier with the topic identifier and the fact identifier to determine a confidence score indicative of a degree of accuracy of extraction of the fact identifier.
The present disclosure can be better understood by referring to the following figures. The components in the figures are not necessarily to scale, emphasis instead being placed upon illustrating the principles of the disclosure. In the figures, reference numerals designate corresponding parts throughout the different views.
The present disclosure is herein described in detail with reference to embodiments illustrated in the drawings, which form a part hereof. Other embodiments may be used and/or other changes may be made without departing from the spirit or scope of the present disclosure. The illustrative embodiments described in the detailed description are not meant to be limiting of the subject matter presented herein.
As used herein, the following terms have the following definitions:
“Entity extraction” refers to information processing methods for extracting information such as names, places, and organizations from electronic documents.
“Corpus” refers to a collection of one or more electronic documents.
“Features” is any information which is at least partially derived from an electronic document.
“Module” refers to computer hardware and/or software components suitable for carrying out at least one or more tasks.
“Facts” refers to asserted information about features found in an electronic document.
Reference will now be made to the exemplary embodiments illustrated in the drawings, and specific language will be used here to describe the same. It will nevertheless be understood that no limitation of the scope of the invention is thereby intended. Alterations and further modifications of the inventive features illustrated here, and additional applications of the principles of the inventions as illustrated here, which would occur to one skilled in the relevant art and having possession of this disclosure, are to be considered within the scope of the invention.
The present disclosure describes a system and method for detecting, extracting and validating facts from a document source.
Various embodiments of the systems and methods disclosed here collect data from different sources in order to identify independent events. Embodiments of the present disclosure introduce a framework for extracting facts from unstructured text. The embodiments disclosed herein accurately associate extracted facts with other features (like topics, linguistic features, disambiguated entities and disambiguated entity types) retrieved from the text and employ a fact template store containing commonly used fact sentence structures. This approach allows the assignment of confidence scores to extracted facts and leads to significantly improved accuracy. The following embodiments are performed by a central computer server system having one or more processors executing computer readable instructions corresponding to a plurality of special purpose computer modules described in
The document corpus computer module 102 may provide an input of an electronic document containing unstructured text such as, for example, a news feed article, a file from a digital library, a blog, a forum, a digital book and/or any file containing natural language text.
The process may involve crawling through document file received from the corpus 102. An electronic document may include information in unstructured text format which may be crawled using natural language processing techniques (NLP). Some NLP techniques include, for example, removing stop words, tokenization, stemming and part-of speech tagging among others known in the art.
An individual file may first go through an entity extraction computer module 104 where entities (e.g., a person, location, or organization name) are identified and extracted. Entity extraction module 104 may also include disambiguation methods which may differentiate ambiguous entities. Disambiguation of entities may be performed in order to attribute a fact to an appropriate entity. A method for entity disambiguation may include, for example, comparing extracted entities and co-occurrences with other entities or features against a knowledge base of co-occurring features in order to identify specific entities the document may be referring to. Other methods for entity disambiguation may also be used and are included within the scope of this disclosure. In an embodiment, entity extraction computer module 104 may be implemented as a hardware and/or software module in a single computer or in a distributed computer architecture.
The file may then go through a topic extractor computer module 108. Topic extractor module 108 may extract the theme or topic of a single document file. In most cases a file may include a single topic, however a plurality of topics may also exist in a single document. Topic extraction techniques may include, for example, comparing keywords against models built with a multi-component extension of latent Dirichlet allocation (MC-LDA), among other techniques for topic identification. A topic may then be appended to a fact in order to provide more accurate information.
System 100 may include a fact extractor computer module 112. Fact extractor module 112 may be a hardware and/or software computer module executing programmatic logic that may extract facts by crawling through the document. Fact extractor module 112 may compare text structures against fact models stored in a fact template store 114 in order to extract and determine the probability of an extracted fact and the associated fact type.
In the illustrated embodiment, once all features are extracted, a fact relatedness estimator computer module 116 may correlate all features in order to determine a fact relation to other features and assign a confidence score that may serve as an indication that an extracted fact is accurate. Fact relatedness estimator module 116 may calculate a confidence score based on a text distance between parts of text from where a fact was extracted and where a topic or entity was extracted. For example, consider the fact example “President said the bill will pass” extracted from a document where the identified topic was “immigration”. Fact relatedness estimator module 116 may measure the distances between the fact sentence “President said the bill will pass” and the sentence from where the topic “immigration” was extracted. The shorter the distance in text, the more likelihood that the fact is indeed related to immigration. The fact relatedness estimator module 116 may also calculate confidence score by comparing co-occurring entities in the same document file. For example, considering the same example used before the entity “president” may be mentioned at different parts in the document. A co-occurrence of an entity mentioned in a fact with the same entity in a different part of the document may increase a confidence score associated with the fact. The distances between co-occurring entities in relation to facts may also be used in determining confidences scores. Distances in text may be calculated using methods such as tokenization or any other NLP methods.
Whenever the confidence score for an extracted fact exceeds a predetermined threshold, such fact may be stored in a verified fact store 118. Verified fact store 118 may be a computer database used by various applications in order to query for different facts associated with the purpose of a given application.
Those skilled in the art will realize that
The foregoing method descriptions and the process flow diagrams are provided merely as illustrative examples and are not intended to require or imply that the steps of the various embodiments must be performed in the order presented. As will be appreciated by one of skill in the art the steps in the foregoing embodiments may be performed in any order. Words such as “then,” “next,” etc. are not intended to limit the order of the steps; these words are simply used to guide the reader through the description of the methods. Although process flow diagrams may describe the operations as a sequential process, many of the operations can be performed in parallel or concurrently. In addition, the order of the operations may be re-arranged. A process may correspond to a method, a function, a procedure, a subroutine, a subprogram, etc. When a process corresponds to a function, its termination may correspond to a return of the function to the calling function or the main function.
The various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.
Embodiments implemented in computer software may be implemented in software, firmware, middleware, microcode, hardware description languages, or any combination thereof. A code segment or machine-executable instructions may represent a procedure, a function, a subprogram, a program, a routine, a subroutine, a module, a software package, a class, or any combination of instructions, data structures, or program statements. A code segment may be coupled to another code segment or a hardware circuit by passing and/or receiving information, data, arguments, parameters, or memory contents. Information, arguments, parameters, data, etc. may be passed, forwarded, or transmitted via any suitable means including memory sharing, message passing, token passing, network transmission, etc.
The actual software code or specialized control hardware used to implement these systems and methods is not limiting of the invention. Thus, the operation and behavior of the systems and methods were described without reference to the specific software code being understood that software and control hardware can be designed to implement the systems and methods based on the description herein.
When implemented in software, the functions may be stored as one or more instructions or code on a non-transitory computer-readable or processor-readable storage medium. The steps of a method or algorithm disclosed herein may be embodied in a processor-executable software module which may reside on a computer-readable or processor-readable storage medium. A non-transitory computer-readable or processor-readable media includes both computer storage media and tangible storage media that facilitate transfer of a computer program from one place to another. A non-transitory processor-readable storage media may be any available media that may be accessed by a computer. By way of example, and not limitation, such non-transitory processor-readable media may comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other tangible storage medium that may be used to store desired program code in the form of instructions or data structures and that may be accessed by a computer or processor. Disk and disc, as used herein, include compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk, and blu-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above should also be included within the scope of computer-readable media. Additionally, the operations of a method or algorithm may reside as one or any combination or set of codes and/or instructions on a non-transitory processor-readable medium and/or computer-readable medium, which may be incorporated into a computer program product.
The preceding description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the invention. Thus, the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the following claims and the principles and novel features disclosed herein.
This application claims the benefit of U.S. Provisional Application No. 61/910,880, filed Dec. 2, 2013, entitled “System and Method for Extracting Facts From Unstructured Text,” which is incorporated herein in its entirety, which hereby incorporated in its entirety herein. This application is related to U.S. patent application Ser. No. 14/557,794, entitled “Method for Disambiguating Features in Unstructured Text,” filed Dec. 2, 2014; U.S. patent application Ser. No. 14/558,300, entitled “Event Detection Through Text Analysis Using Trained Event Template Models,” filed Dec. 2, 2014; U.S. patent application Ser. No. 14/558,076, entitled “METHOD FOR AUTOMATED DISCOVERY OF NEW TOPICS,” filed Dec. 2, 2014; and U.S. patent application Ser. No. 14/558,342, entitled “EVENT DETECTION THROUGH TEXT ANALYSIS USING DYNAMIC SELF EVOLVING/LEARNING MODULE,” filed Dec. 2, 2014; each of which are incorporated herein by reference in their entirety.
| Number | Name | Date | Kind |
|---|---|---|---|
| 6128660 | Grimm et al. | Oct 2000 | A |
| 6178529 | Short et al. | Jan 2001 | B1 |
| 6266781 | Chung et al. | Jul 2001 | B1 |
| 6353926 | Parthesarathy et al. | Mar 2002 | B1 |
| 6738759 | Wheeler et al. | May 2004 | B1 |
| 6832737 | Karlsson et al. | Dec 2004 | B2 |
| 7058846 | Kelkar et al. | Jun 2006 | B1 |
| 7370323 | Marinelli et al. | May 2008 | B2 |
| 7421478 | Muchow | Sep 2008 | B1 |
| 7447940 | Peddada | Nov 2008 | B2 |
| 7543174 | van Rietschote et al. | Jun 2009 | B1 |
| 7681075 | Havemose et al. | Mar 2010 | B2 |
| 7818615 | Krajewski et al. | Oct 2010 | B2 |
| 7899871 | Kumar et al. | Mar 2011 | B1 |
| 8055933 | Jaehde et al. | Nov 2011 | B2 |
| 8090717 | Bharat et al. | Jan 2012 | B1 |
| 8122026 | Laroco et al. | Feb 2012 | B1 |
| 8122047 | Kanigsberg et al. | Feb 2012 | B2 |
| 8265925 | Aarskog | Sep 2012 | B2 |
| 8341622 | Eatough | Dec 2012 | B1 |
| 8345998 | Malik et al. | Jan 2013 | B2 |
| 8356036 | Bechtel et al. | Jan 2013 | B2 |
| 8375073 | Jain | Feb 2013 | B1 |
| 8423522 | Lang et al. | Apr 2013 | B2 |
| 8429256 | Vidal et al. | Apr 2013 | B2 |
| 8645298 | Hennig et al. | Feb 2014 | B2 |
| 8726267 | Li et al. | May 2014 | B2 |
| 8782018 | Shim et al. | Jul 2014 | B2 |
| 8972396 | Zhang et al. | Mar 2015 | B1 |
| 8995717 | Cheng et al. | Mar 2015 | B2 |
| 9009153 | Khan et al. | Apr 2015 | B2 |
| 9025892 | Lightner et al. | May 2015 | B1 |
| 9032387 | Hill et al. | May 2015 | B1 |
| 9177254 | Boddhu et al. | Nov 2015 | B2 |
| 9177262 | Lightner et al. | Nov 2015 | B2 |
| 9239875 | Lightner et al. | Jan 2016 | B2 |
| 20010037398 | Chao et al. | Nov 2001 | A1 |
| 20020031260 | Thawonmas et al. | Mar 2002 | A1 |
| 20020052730 | Nakao | May 2002 | A1 |
| 20020099700 | Li | Jul 2002 | A1 |
| 20020165847 | McCartney et al. | Nov 2002 | A1 |
| 20020174138 | Nakamura | Nov 2002 | A1 |
| 20030028869 | Drake et al. | Feb 2003 | A1 |
| 20030112792 | Cranor et al. | Jun 2003 | A1 |
| 20030158839 | Faybishenko et al. | Aug 2003 | A1 |
| 20030182282 | Ripley | Sep 2003 | A1 |
| 20040027349 | Landau et al. | Feb 2004 | A1 |
| 20040049478 | Jasper et al. | Mar 2004 | A1 |
| 20040143571 | Bjornson et al. | Jul 2004 | A1 |
| 20040153869 | Marinelli et al. | Aug 2004 | A1 |
| 20040205064 | Zhou et al. | Oct 2004 | A1 |
| 20040215755 | O'Neill | Oct 2004 | A1 |
| 20040243645 | Broder et al. | Dec 2004 | A1 |
| 20050154701 | Parunak et al. | Jul 2005 | A1 |
| 20050192994 | Caldwell et al. | Sep 2005 | A1 |
| 20060101081 | Lin et al. | May 2006 | A1 |
| 20060294071 | Weare et al. | Dec 2006 | A1 |
| 20070005639 | Gaussier et al. | Jan 2007 | A1 |
| 20070156748 | Emam et al. | Jul 2007 | A1 |
| 20070203693 | Estes | Aug 2007 | A1 |
| 20070203924 | Guha et al. | Aug 2007 | A1 |
| 20070240152 | Li et al. | Oct 2007 | A1 |
| 20070250519 | Fineberg et al. | Oct 2007 | A1 |
| 20070282959 | Stern | Dec 2007 | A1 |
| 20080010683 | Baddour et al. | Jan 2008 | A1 |
| 20080027920 | Schipunov et al. | Jan 2008 | A1 |
| 20080077570 | Tang et al. | Mar 2008 | A1 |
| 20080109399 | Liao | May 2008 | A1 |
| 20090019013 | Tareen et al. | Jan 2009 | A1 |
| 20090043792 | Barsness et al. | Feb 2009 | A1 |
| 20090049038 | Gross | Feb 2009 | A1 |
| 20090089626 | Gotch et al. | Apr 2009 | A1 |
| 20090094484 | Son et al. | Apr 2009 | A1 |
| 20090222395 | Light et al. | Sep 2009 | A1 |
| 20090240682 | Balmin et al. | Sep 2009 | A1 |
| 20090292660 | Behal et al. | Nov 2009 | A1 |
| 20090299999 | Loui et al. | Dec 2009 | A1 |
| 20090322756 | Robertson et al. | Dec 2009 | A1 |
| 20100077001 | Vogel et al. | Mar 2010 | A1 |
| 20100100437 | Dean et al. | Apr 2010 | A1 |
| 20100138931 | Thorley et al. | Jun 2010 | A1 |
| 20100223264 | Bruckner et al. | Sep 2010 | A1 |
| 20100235311 | Cao et al. | Sep 2010 | A1 |
| 20100274785 | Procopiuc et al. | Oct 2010 | A1 |
| 20110071975 | Friedlander et al. | Mar 2011 | A1 |
| 20110093471 | Brockway et al. | Apr 2011 | A1 |
| 20110119243 | Diamond et al. | May 2011 | A1 |
| 20110125764 | Carmel et al. | May 2011 | A1 |
| 20110161333 | Langseth et al. | Jun 2011 | A1 |
| 20110282888 | Koperski et al. | Nov 2011 | A1 |
| 20110296397 | Vidal et al. | Dec 2011 | A1 |
| 20120016877 | Vadrevu et al. | Jan 2012 | A1 |
| 20120030220 | Edwards et al. | Feb 2012 | A1 |
| 20120059839 | Andrade et al. | Mar 2012 | A1 |
| 20120102121 | Wu et al. | Apr 2012 | A1 |
| 20120117069 | Kawanishi et al. | May 2012 | A1 |
| 20120131139 | Siripurapu et al. | May 2012 | A1 |
| 20120143911 | Liebald et al. | Jun 2012 | A1 |
| 20120246154 | Duan et al. | Sep 2012 | A1 |
| 20120310934 | Peh et al. | Dec 2012 | A1 |
| 20120323839 | Kiciman et al. | Dec 2012 | A1 |
| 20120330946 | Arredondo et al. | Dec 2012 | A1 |
| 20130036076 | Yang et al. | Feb 2013 | A1 |
| 20130132405 | Bestgen et al. | May 2013 | A1 |
| 20130166480 | Popescu et al. | Jun 2013 | A1 |
| 20130166547 | Pasumarthi et al. | Jun 2013 | A1 |
| 20130290232 | Tsytsarau et al. | Oct 2013 | A1 |
| 20130303198 | Sadasivam et al. | Nov 2013 | A1 |
| 20140013233 | Ahlberg et al. | Jan 2014 | A1 |
| 20140022100 | Fallon et al. | Jan 2014 | A1 |
| 20140156634 | Buchmann et al. | Jun 2014 | A1 |
| 20140201180 | Fatourechi et al. | Jul 2014 | A1 |
| 20140229476 | Fouad et al. | Aug 2014 | A1 |
| 20140244550 | Jin et al. | Aug 2014 | A1 |
| 20140280183 | Brown et al. | Sep 2014 | A1 |
| 20140351233 | Crupi et al. | Nov 2014 | A1 |
| 20150074037 | Sarferaz | Mar 2015 | A1 |
| 20150154079 | Lightner et al. | Jun 2015 | A1 |
| 20150154264 | Lightner et al. | Jun 2015 | A1 |
| 20150154297 | Lightner et al. | Jun 2015 | A1 |
| Number | Date | Country |
|---|---|---|
| 2013003770 | Jan 2013 | WO |
| Entry |
|---|
| Gjergji Kasneci et al., “NAGA: Searching and Ranking Knowledge”, (2008) IEEE ICDE, pp. 953-962. |
| International Search Report dated Apr. 15, 2015 corresponding to International Patent Application No. PCT/US2014/067994, 4 pages. |
| Written Opinion of the International Searching Authority dated Apr. 15, 2015 corresponding to International Patent Application No. PCT/US2014/067994, 9 pages. |
| International Search Report and Written Opinion dated Mar. 6, 2015 corresponding to International Patent Application No. PCT/US2014/067993, 9 pages. |
| International Search Report and Written Opinion dated Mar. 10, 2015 corresponding to International Patent Application No. PCT/US2014/067999, 10 pages. |
| International Search Report and Written Opinion of the International Searching Authority dated Apr. 15, 2015 corresponding to International Patent Application No. PCT/US2014/068002, 10 pages. |
| International Search Report and Written Opinion dated Feb. 24, 2015 corresponding to International Patent Application No. PCT/US2014/067918, 10 pages. |
| International Search Report and Written Opinion dated Mar. 3, 2015 corresponding to International Patent Application No. PCT/US2014/067921, 10 pages. |
| Wang, C., et al., “Automatic Online News Issue Construction in Web Environment,” Tsinghuya Univ., Beijing, China, 2008, pp. 457-466. |
| Blei, D.M., et al., “Latent Dririchlet Allocation,” Journal of Machine Learning Research, vol. 3, 2003, pp. 993-1022. |
| Chuan, S.L., et al., “A Practical Web-based Approach to Generating Topic Hierarchy for Text Segments,” Institute of Information Science, Academia Sinica, Taiwan, R.O.C., 2004, pp. 127-136. |
| Tunkelang, D. “Faceted Search,” Morgan & Claypool Publ., 2009, pp. i-79. |
| Schuth, A., et al., “University of Amsterdam Data Centric Ad Hoc Faceted Search Runs,” ISLA, 2012, pp. 155-160. |
| Tools, Search Query Suggestions using ElasticSearch via Shingle Filter and Facets, Nov. 2012, pp. 1-12. |
| Jorg Becker et al., “Topic-based Vector Space Model”, Business Information Systems, Proceedings of BIS 2003, Colorado Springs, USA, 6 pages. |
| Number | Date | Country | |
|---|---|---|---|
| 20150154193 A1 | Jun 2015 | US |
| Number | Date | Country | |
|---|---|---|---|
| 61910880 | Dec 2013 | US |