A portion of the disclosure of this patent document contains material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
Embodiments in accordance with the present invention relate generally to electronic searching of documents and data, and more particularly relate to automatically determining acronym and synonym pairs useful for obtaining more accurate query results.
An end user in an enterprise or web environment frequently searches huge databases. For example, Internet search engines are frequently used to search the entire world wide web. Information retrieval systems are traditionally judged by their precision and recall. Large databases of documents, especially the World Wide Web, contain many low quality documents where the relevance to the desired search term is extremely low or non-existent. As a result, searches typically return hundreds of irrelevant or unwanted documents which camouflage the few relevant ones that meet the personalized needs of an end user. In order to improve the selectivity of the results, common techniques allow an end user to modify the search, or to provide different or additional search terms. These techniques are most effective in cases where the database being searched is homogeneous or structured and already classified into subsets, or in cases where the user is searching for well known and specific information. In other cases, however, these techniques are often not effective.
When attempting to locate information such as electronic documents, it is common for a user to enter search terms into a search engine interface, whereby the engine can utilize those terms to search for documents that have matching keywords, text, titles, etc. One problem with such an approach is that there might be multiple ways to express a given term, such that a relevant document might not match a given term. For example, a user searching for the term “real application clusters” might search by a common industry term such as “RAC,” which would result in finding only documents that use that particular acronym and not documents that use the full term “real application clusters”. Given a corpus of documents, then, it can be desirable to utilize acronyms and synonym pairs to build a thesaurus, whereby relationships between terms can be used by applications such as text mining applications, search engines, etc.
In enterprise searching, for example, different system deployments or different corpora may define the same terms differently, thus making it difficult to return a customized listing of hits to an end user. Providing a simple and intuitive way to allow customers to improve search results in heterogeneous enterprise environments is critical to improve user flexibility and personalization. One way to improve search results in such an environment is to define and maintain a list of acronym and synonym pairs from disparate sources of data. However, this task is complicated where the context of a term may be different in heterogeneous applications, and where there many be numerous such terms. A customized thesaurus could be manually built for a given corpus of focus, but such efforts would be time consuming and expensive.
Therefore it is desirable to provide a simple, intuitive, and heuristic method to allow an end user to automatically define and find acronym and synonym pairs to meet global or single instance requirements in a heterogeneous enterprise environment query.
Systems and methods in accordance with various embodiments of the present invention provide for the automatic identification of synonym and acronym pairs, such as by using specified heuristic patterns. Such an approach can automatically keep an updated list of such pairs that can be useful in generating more accurate search results, such as across an enterprise.
In one embodiment, each sentence in a selected target corpus is examined to identify possible acronym and synonym pairs. An occurrence frequency of each identified possible acronym and synonym pair is determined, as well as a maximum possible length. Each identified possible acronym and synonym pair then is ranked based on a combination of the occurrence frequency and maximum possible length. This combination can be weighted or otherwise defined by the user. The ranked acronym and synonym pairs, or at least those having above a minimum ranking, can be to the user and/or saved for use in future searches.
In one embodiment a ranking of the identified possible acronym and synonym pairs first occurs after determining the occurrence frequency, whereby a maximum possible length is determined only for those identified possible acronym and synonym pairs exceeding a specified ranking based on the occurrence frequency. A user also can specify a minimum occurrence frequency value and/or a maximum term length value whereby possible acronym and synonym pairs are ranked.
In one embodiment, the identified possible acronym and synonym pairs are ranked using a process whereby pairs with a longer maximum length are ranked higher than terms with a shorter maximum length when those pairs have substantially the same occurrence frequency, or above a minimum occurrence frequency. A shallow pause can be implemented for each sentence when each sentence is analyzed, and a user can select a target corpus that is a subset of a domain or that spans multiple domains.
Reference to the remaining portions of the specification, including the drawings and claims, will realize other features and advantages of the present invention. Further features and advantages of the present invention, as well as the structure and operation of various embodiments of the present invention, are described in detail below with respect to the accompanying drawings. In the drawings, like reference numbers indicate identical or functionally similar elements.
Systems and methods in accordance with various embodiments of the present invention overcome the aforementioned and other deficiencies in existing search and data retrieval systems by providing for the automatic identification and maintenance of acronym and synonym pairs. The automatic identification and retrieval can be based on a customer setting globally or in a single instance of a heterogeneous enterprise or web environment, utilizing heuristic patterns in a sentence. In one embodiment, the a search system utilizes the text index of a database resulting from a crawl operation to accept documents and generate lists for searching.
Automatically finding acronym and synonym pairs in a corpus comprises an overall process that initially defines acronym and synonym term pairs in the form of a domain-specific heuristic user-defined rule. Heuristic patterns demonstrate certain relationships between two different terms. Upon defining the rules in which the terms will be compared, a selected corpus is crawled, indexed, and read. Based upon the definitions of the user-created heuristic domain relationships, a rule interpreter engine can execute a user defined rule set to properly identify and retrieve acronym and synonym pairs through the utilization of a shallow pause-read step. Finally, the user selected acronym and synonym pairs can be ranked and displayed.
According to one aspect of the present invention, two quantities are used to rank acronym and synonym candidate pairs. A first quantity is an occurrence frequency gathered from the corpus. All sentences in the corpus are evaluated to find all possible acronym and synonym pairs bases on specified heuristic patterns. Each pair is associated with a number denoting its frequency of occurrence. Based on this occurrence frequency, certain possible matches will be removed due to a low level of occurrence, and certain matches can be highly ranked based upon a high level of occurrence.
A second quantity is a maximum possible length. The longer the term, the higher the pair will be ranked in the overall results. For example, if there are acronym pair possibilities for “clusters” and “RAC”, as well as “real application clusters” and “RAC”, then if they have the same occurrence frequency the term “real application clusters”, which has a longer maximum possible length, will be more highly overall ranked for “RAC” than will just the term “clusters”. The ranking score then can be a combination of the occurrence frequency and the overall length. There also can be a setting of minimum occurrence and/or maximum length, whereby false results can be avoided.
In such an approach, a ranking score is defined and calculated for each term and query results pair, providing a maximum possible length ranking score and an occurrence frequency ranking score for each term and query result pair. A plurality of combinations or selection methods create a rule set or heuristic for an end user depending on the relative weighting of the above quantities.
In one embodiment, all sentences in a corpus are analyzed to find all possible acronym and synonym pairs based on specified heuristic domain acronym or synonym patterns using the occurrence frequency approach. Each identified and retrieved pair is associated with a number denoting its frequency of occurrence. The ranked pairs are retrieved based on a user defined rule to determine the order of the listed retrieved candidate pairs. Based on occurrence frequency, for example, the pair “Oracle Real Application Clusters” and “RAC” will be removed, or at least lowered in ranking, if it occurs less frequently than another pair such as “Real Application Cluster” and “RAC”. In another application of occurrence frequency, all possible pairs are ranked using the user defined heuristic acronym or synonym pair rule.
In one embodiment, only the higher ranked term from each candidate pair will be used, based on maximum length for the same occurrence frequency. Alternatively, for the same maximum length only the one with the higher occurrence frequency may be used. A user defined rule may be applied to rank the listing of longer length terms, etc.
According to another embodiment, search users may focus their search to a specific source or corpus in an integrated heterogeneous enterprise search system. The acronyms and synonyms detected from the focused sources should be suggested, instead of simply using acronyms and synonyms from other sources. Extracting acronym and synonym pairs based on one specific corpus can find acronym and synonym pairs specific to the corpus. For example, “RAC” might correspond to “Rent A Center” more often in the overall enterprise, but may not occur at all, and may be wholly inappropriate, for a particular corpus wherein “RAC” corresponds to “Real Application Cluster”.
An end user may also decide to focus search suggestions on acronyms and synonyms from other sources as well where it is desired to search external with respect to a particular focused source.
The acronym and synonym candidate pair ranking heuristic specification can be set by customers to be effective for the whole search system, or the acronym and synonym ranking candidate pairs heuristic specification can be submitted with each query and then impact acronym and synonym ranking heuristic differently for each query.
Exemplary Operating Environments, Components, and Technology
In most embodiments, the system 900 includes some type of network 910. The network can be any type of network familiar to those skilled in the art that can support data communications using any of a variety of commercially-available protocols, including without limitation TCP/IP, SNA, IPX, AppleTalk, and the like. Merely by way of example, the network 910 can be a local area network (“LAN”), such as an Ethernet network, a Token-Ring network and/or the like; a wide-area network; a virtual network, including without limitation a virtual private network (“VPN”); the Internet; an intranet; an extranet; a public switched telephone network (“PSTN”); an infra-red network; a wireless network (e.g., a network operating under any of the IEEE 802.11 suite of protocols, GRPS, GSM, UMTS, EDGE, 2G, 2.5G, 3G, 4G, Wimax, WiFi, CDMA 2000, WCDMA, the Bluetooth protocol known in the art, and/or any other wireless protocol); and/or any combination of these and/or other networks.
The system may also include one or more server computers 902, 904, 906 which can be general purpose computers, specialized server computers (including, merely by way of example, PC servers, UNIX servers, mid-range servers, mainframe computers rack-mounted servers, etc.), server farms, server clusters, or any other appropriate arrangement and/or combination. One or more of the servers (e.g., 906) may be dedicated to running applications, such as a business application, a Web server, application server, etc. Such servers may be used to process requests from user computers 912, 914, 916, 918. The applications can also include any number of applications for controlling access to resources of the servers 902, 904, 906.
The Web server can be running an operating system including any of those discussed above, as well as any commercially-available server operating systems. The Web server can also run any of a variety of server applications and/or mid-tier applications, including HTTP servers, FTP servers, CGI servers, database servers, Java servers, business applications, and the like. The server(s) also may be one or more computers which can be capable of executing programs or scripts in response to the user computers 912, 914, 916, 918. As one example, a server may execute one or more Web applications. The Web application may be implemented as one or more scripts or programs written in any programming language, such as Java®, C, C# or C++, and/or any scripting language, such as Perl, Python, or TCL, as well as combinations of any programming/scripting languages. The server(s) may also include database servers, including without limitation those commercially available from Oracle®, Microsoft®, Sybase®, IBM® and the like, which can process requests from database clients running on a user computer 912, 914, 916, 918.
The system 900 may also include one or more databases 920. The database(s) 920 may reside in a variety of locations. By way of example, a database 920 may reside on a storage medium local to (and/or resident in) one or more of the computers 902, 904, 906, 912, 914, 916, 918. Alternatively, it may be remote from any or all of the computers 902, 904, 906, 912, 914, 916, 918, and/or in communication (e.g., via the network 910) with one or more of these. In a particular set of embodiments, the database 920 may reside in a storage-area network (“SAN”) familiar to those skilled in the art. Similarly, any necessary files for performing the functions attributed to the computers 902, 904, 906, 912, 914, 916, 918 may be stored locally on the respective computer and/or remotely, as appropriate. In one set of embodiments, the database 920 may be a relational database, such as Oracle 10g, that is adapted to store, update, and retrieve data in response to SQL-formatted commands.
The computer system 1000 may additionally include a computer-readable storage media reader 1012, a communications system 1014 (e.g., a modem, a network card (wireless or wired), an infra-red communication device, etc.), and working memory 1018, which may include RAM and ROM devices as described above. In some embodiments, the computer system 1000 may also include a processing acceleration unit 1016, which can include a digital signal processor DSP, a special-purpose processor, and/or the like.
The computer-readable storage media reader 1012 can further be connected to a computer-readable storage medium 1010, together (and, optionally, in combination with storage device(s) 1008) comprehensively representing remote, local, fixed, and/or removable storage devices plus storage media for temporarily and/or more permanently containing, storing, transmitting, and retrieving computer-readable information. The communications system 1014 may permit data to be exchanged with the network and/or any other computer described above with respect to the system 1000.
The computer system 1000 may also comprise software elements, shown as being currently located within a working memory 1018, including an operating system 1020 and/or other code 1022, such as an application program (which may be a client application, Web browser, mid-tier application, RDBMS, etc.). It should be appreciated that alternate embodiments of a computer system 1000 may have numerous variations from that described above. For example, customized hardware might also be used and/or particular elements might be implemented in hardware, software (including portable software, such as applets), or both. Further, connection to other computing devices such as network input/output devices may be employed.
Storage media and computer readable media for containing code, or portions of code, can include any appropriate media known or used in the art, including storage media and communication media, such as but not limited to volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage and/or transmission of information such as computer readable instructions, data structures, program modules, or other data, including RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, data signals, data transmissions, or any other medium which can be used to store or transmit the desired information and which can be accessed by the computer. Based on the disclosure and teachings provided herein, a person of ordinary skill in the art will appreciate other ways and/or methods to implement the various embodiments.
The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense. It will, however, be evident that various modifications and changes may be made thereunto without departing from the broader spirit and scope of the invention as set forth in the claims.
Number | Name | Date | Kind |
---|---|---|---|
5493677 | Balogh et al. | Feb 1996 | A |
5751949 | Thomson et al. | May 1998 | A |
5845278 | Kirsch et al. | Dec 1998 | A |
5884312 | Dustan et al. | Mar 1999 | A |
5926808 | Evans et al. | Jul 1999 | A |
5987482 | Bates et al. | Nov 1999 | A |
6006217 | Lumsden | Dec 1999 | A |
6012053 | Pant et al. | Jan 2000 | A |
RE36727 | Kageneck et al. | Jun 2000 | E |
6094649 | Bowen et al. | Jul 2000 | A |
6182142 | Win et al. | Jan 2001 | B1 |
6185567 | Ratnaraj et al. | Feb 2001 | B1 |
6236991 | Frauenhofer et al. | May 2001 | B1 |
6301584 | Ranger | Oct 2001 | B1 |
6326982 | Wu et al. | Dec 2001 | B1 |
6356897 | Gusack | Mar 2002 | B1 |
6424973 | Baclawski | Jul 2002 | B1 |
6631369 | Meyerzon et al. | Oct 2003 | B1 |
6671681 | Emens et al. | Dec 2003 | B1 |
6678683 | Shiiyama | Jan 2004 | B1 |
6678731 | Howard et al. | Jan 2004 | B1 |
6711568 | Bharat et al. | Mar 2004 | B1 |
6734886 | Hagan et al. | May 2004 | B1 |
6735585 | Black et al. | May 2004 | B1 |
6754873 | Law et al. | Jun 2004 | B1 |
6757669 | Adar et al. | Jun 2004 | B1 |
6766314 | Burnett | Jul 2004 | B2 |
6826597 | Lonnroth et al. | Nov 2004 | B1 |
6847977 | Abajian | Jan 2005 | B2 |
6848077 | McBrearty et al. | Jan 2005 | B1 |
6865608 | Hunter | Mar 2005 | B2 |
6928166 | Yoshizawa | Aug 2005 | B2 |
6978275 | Castellanos et al. | Dec 2005 | B2 |
7031954 | Kirsch | Apr 2006 | B1 |
7100207 | Prager | Aug 2006 | B1 |
7110983 | Shear et al. | Sep 2006 | B2 |
7113939 | Chou et al. | Sep 2006 | B2 |
7136876 | Adar et al. | Nov 2006 | B1 |
7236923 | Gupta | Jun 2007 | B1 |
7257577 | Fagin et al. | Aug 2007 | B2 |
7287214 | Jenkins et al. | Oct 2007 | B1 |
7305475 | Tock | Dec 2007 | B2 |
7340454 | Wu et al. | Mar 2008 | B2 |
7370381 | Tuttle et al. | May 2008 | B2 |
7373351 | Wu et al. | May 2008 | B2 |
7437351 | Page | Oct 2008 | B2 |
7472113 | Watson et al. | Dec 2008 | B1 |
7493301 | Palmon et al. | Feb 2009 | B2 |
7584120 | Yun et al. | Sep 2009 | B1 |
7627564 | Yao et al. | Dec 2009 | B2 |
7636714 | Lamping et al. | Dec 2009 | B1 |
7640196 | Weiss | Dec 2009 | B2 |
7680819 | Mellmer et al. | Mar 2010 | B1 |
7711676 | Stuhec | May 2010 | B2 |
7716243 | Schwartz et al. | May 2010 | B2 |
7725465 | Liao et al. | May 2010 | B2 |
7743064 | Faulkner et al. | Jun 2010 | B2 |
7752221 | Krishnaprasad et al. | Jul 2010 | B2 |
7822733 | Son | Oct 2010 | B2 |
7941419 | Bhatkar et al. | May 2011 | B2 |
7970791 | Liao et al. | Jun 2011 | B2 |
7996392 | Liao et al. | Aug 2011 | B2 |
8005816 | Krishnaprasad et al. | Aug 2011 | B2 |
8027982 | Ture et al. | Sep 2011 | B2 |
20010039563 | Tian | Nov 2001 | A1 |
20010042075 | Tabuchi | Nov 2001 | A1 |
20020099731 | Abajian | Jul 2002 | A1 |
20020103786 | Goel | Aug 2002 | A1 |
20020174122 | Chou et al. | Nov 2002 | A1 |
20020178394 | Bamberger | Nov 2002 | A1 |
20020184170 | Gilbert et al. | Dec 2002 | A1 |
20030014483 | Stevenson et al. | Jan 2003 | A1 |
20030051226 | Zimmer et al. | Mar 2003 | A1 |
20030055816 | Paine et al. | Mar 2003 | A1 |
20030065670 | Bisson et al. | Apr 2003 | A1 |
20030069880 | Harrison et al. | Apr 2003 | A1 |
20030074328 | Schiff et al. | Apr 2003 | A1 |
20030074354 | Lee et al. | Apr 2003 | A1 |
20030105966 | Pu et al. | Jun 2003 | A1 |
20030126140 | Engelhardt-Cronk et al. | Jul 2003 | A1 |
20030130993 | Mendelevitch et al. | Jul 2003 | A1 |
20030139921 | Byrd et al. | Jul 2003 | A1 |
20030177388 | Botz et al. | Sep 2003 | A1 |
20030204501 | Moon | Oct 2003 | A1 |
20030208547 | Branimir | Nov 2003 | A1 |
20030208684 | Camacho et al. | Nov 2003 | A1 |
20030220917 | Copperman et al. | Nov 2003 | A1 |
20040006585 | Paulus et al. | Jan 2004 | A1 |
20040041019 | Schneider et al. | Mar 2004 | A1 |
20040044952 | Jiang et al. | Mar 2004 | A1 |
20040062426 | Lo | Apr 2004 | A1 |
20040064340 | Johnston | Apr 2004 | A1 |
20040064687 | Pfitzmann et al. | Apr 2004 | A1 |
20040078371 | Worrall et al. | Apr 2004 | A1 |
20040088313 | Torres | May 2004 | A1 |
20040093331 | Garner et al. | May 2004 | A1 |
20040122811 | Page | Jun 2004 | A1 |
20040158527 | Lambert | Aug 2004 | A1 |
20040168066 | Alden | Aug 2004 | A1 |
20040199491 | Bhatt | Oct 2004 | A1 |
20040225643 | Alpha et al. | Nov 2004 | A1 |
20040230572 | Omoigui | Nov 2004 | A1 |
20040260685 | Pfleiger et al. | Dec 2004 | A1 |
20050004943 | Chang | Jan 2005 | A1 |
20050015381 | Clifford et al. | Jan 2005 | A1 |
20050015466 | Tripp et al. | Jan 2005 | A1 |
20050050037 | Frieder et al. | Mar 2005 | A1 |
20050060297 | Najork | Mar 2005 | A1 |
20050102251 | Gillespie | May 2005 | A1 |
20050108207 | Thuerk | May 2005 | A1 |
20050114226 | Tripp et al. | May 2005 | A1 |
20050114324 | Mayer | May 2005 | A1 |
20050119999 | Zait et al. | Jun 2005 | A1 |
20050154730 | Miller et al. | Jul 2005 | A1 |
20050187937 | Kawabe et al. | Aug 2005 | A1 |
20050210017 | Cucerzan | Sep 2005 | A1 |
20050216465 | Dutta et al. | Sep 2005 | A1 |
20050234859 | Ebata | Oct 2005 | A1 |
20050262050 | Fagin et al. | Nov 2005 | A1 |
20060023945 | King et al. | Feb 2006 | A1 |
20060036598 | Wu | Feb 2006 | A1 |
20060064411 | Gross et al. | Mar 2006 | A1 |
20060075120 | Smit | Apr 2006 | A1 |
20060080316 | Gilmore et al. | Apr 2006 | A1 |
20060123472 | Schmidt et al. | Jun 2006 | A1 |
20060129538 | Baader et al. | Jun 2006 | A1 |
20060136194 | Armstrong et al. | Jun 2006 | A1 |
20060136405 | Ducatel et al. | Jun 2006 | A1 |
20060167857 | Kraft et al. | Jul 2006 | A1 |
20060167860 | Eliashberg et al. | Jul 2006 | A1 |
20060195914 | Schwartz et al. | Aug 2006 | A1 |
20060212423 | Jones et al. | Sep 2006 | A1 |
20060224627 | Manikutty et al. | Oct 2006 | A1 |
20060229911 | Gropper et al. | Oct 2006 | A1 |
20060230022 | Bailey et al. | Oct 2006 | A1 |
20060271568 | Balkir et al. | Nov 2006 | A1 |
20060294077 | Bluhm et al. | Dec 2006 | A1 |
20070016583 | Lempel et al. | Jan 2007 | A1 |
20070016625 | Berstis | Jan 2007 | A1 |
20070061393 | Moore | Mar 2007 | A1 |
20070094210 | Craig et al. | Apr 2007 | A1 |
20070094710 | Walker et al. | Apr 2007 | A1 |
20070100915 | Rose et al. | May 2007 | A1 |
20070150515 | Brave et al. | Jun 2007 | A1 |
20070156669 | Marchisio et al. | Jul 2007 | A1 |
20070208712 | Krishnaprasad et al. | Sep 2007 | A1 |
20070208713 | Krishnaprasad et al. | Sep 2007 | A1 |
20070208714 | Ture et al. | Sep 2007 | A1 |
20070208726 | Krishnaprasad et al. | Sep 2007 | A1 |
20070208734 | Koide et al. | Sep 2007 | A1 |
20070208744 | Krishnaprasad et al. | Sep 2007 | A1 |
20070208745 | Ture et al. | Sep 2007 | A1 |
20070208746 | Koide et al. | Sep 2007 | A1 |
20070208755 | Bhatkar et al. | Sep 2007 | A1 |
20070209080 | Ture et al. | Sep 2007 | A1 |
20070214129 | Ture et al. | Sep 2007 | A1 |
20070220037 | Srivastava et al. | Sep 2007 | A1 |
20070220268 | Krishnaprasad et al. | Sep 2007 | A1 |
20070226695 | Krishnaprasad et al. | Sep 2007 | A1 |
20070250486 | Liao et al. | Oct 2007 | A1 |
20070276801 | Lawrence et al. | Nov 2007 | A1 |
20070283425 | Ture et al. | Dec 2007 | A1 |
20080086297 | Li et al. | Apr 2008 | A1 |
20080114721 | Jones et al. | May 2008 | A1 |
20080168037 | Kapadia et al. | Jul 2008 | A1 |
20080222138 | Liu et al. | Sep 2008 | A1 |
20100185611 | Liao et al. | Jul 2010 | A1 |
20110246443 | Bhatkar et al. | Oct 2011 | A1 |
20110258184 | Liao et al. | Oct 2011 | A1 |
20110265189 | Liao et al. | Oct 2011 | A1 |
Number | Date | Country | |
---|---|---|---|
20090006359 A1 | Jan 2009 | US |