The present invention relates to automatic searches of knowledge bases on a user's behalf using semantic information.
The accumulation of relevant knowledge in corporate databases and online repositories has advanced to the state where vast amounts of information are available and readily accessible. A simple search performed on a search engine such as Google can quickly locate information on virtually any subject imaginable. In conducting any knowledge-based activity, e.g. researching a topic or making a decision, a user must gather information, typically by executing many searches. Since people are frequently busy and strapped for time, and because a user may be unaware of the full range of information that may be available on a particular topic, some searches that might well have been worthwhile may be omitted, and opportunities that would have been available had the associated information been found might be missed.
The present invention assists users by performing automatic searches of knowledge bases on the user's behalf, and unobtrusively displaying the results as the user proceeds with his/her knowledge-based task. The searches are guided by semantic information drawn from the user's task, and thus can produce more relevant results than text-based, non-semantic searches. The user is free to use or ignore the results returned by these automatic searches.
Embodiments of the present invention system support collaborative reasoning. One aspect of the invention system is that it supports the collection and organization of information. In one embodiment, the invention system provides an investigation tableau, a 2D (two dimensional) display on which relevant semantic entities (e.g., people, places, events) and claims about the entities can be represented and arranged. Free-form text notes can also be created or placed on the tableau, upon which entity extraction is performed to identify semantic entities mentioned in the note. Entities and claims are stored in a semantic knowledge base. External knowledge bases with information on a variety of entities such as DBPedia or other internet-mediated data stores can also be integrated with the invention system.
When a user selects or creates an entity, or selects an identified entity in a textual note, the invention system automatically searches its internal and external knowledge bases for information about this entity, and presents the information it finds in a sidebar. The user does not have to explicitly request a search to take place, and does not have to pay any attention to the search results. The results are simply displayed, and the user is free to drag desired information from the sidebar into the investigation tableau, or to ignore that information if it is not relevant or desired.
Besides being triggered by a user's selection of an entity, these automatic searches could be triggered in other manners as well. For instance, a user could visually select (e.g. by dragging an outline or by other graphical indications or using keystrokes) a portion of the 2D tableau, and an automatic search could be triggered on all semantic entities in that area and/or in text notes appearing in that area. Selection of a text note containing multiple identified entities could result in a search for information on all the entities.
According to one embodiment of the present invention, a computer implemented method, apparatus and system detect user interaction (via a user-interface) with a displayed entity representing a real world item. The displayed entity is a semantic entity representing a person, place or event, and has semantic data. Using the semantic data, a search member of the invention system/method/apparatus searches one or more knowledge bases for information about the displayed entity based on semantic data (as opposed to a text-based, non-semantic search). The user interface automatically displays to the user the information about the displayed entity from the search results. The searching for and displaying of information about the displayed entity is performed free of user request or demand and hence provide automatic information retrieval on a user's behalf.
Although one embodiment displays the search results through a sidebar, various formats and techniques for displaying the search results are suitable. In one embodiment, the sidebar is configured to enable any one or combination of: user copying/exporting of the search results, user dismissal of the search results and user disambiguation of the displayed entity to begin a search/retrieval of information.
The foregoing will be apparent from the following more particular description of example embodiments of the invention, as illustrated in the accompanying drawings in which like reference characters refer to the same parts throughout the different views. The drawings are not necessarily to scale, emphasis instead being placed upon illustrating embodiments of the present invention.
The notion of Just-In-Time-Information-Retrieval (JITIR) is not new. A JITIR system must satisfy three criteria:
The present invention satisfies these criteria. Existing JITIR systems, like the Remembrance Agent (see Rhodes, B. J., and Maes, P., “Just-In Time Information Retrieval Agents”, IBM Systems Journal, Volume 39, Numbers 3 and 4, 2000) present relevant documents, emails, or web pages based on text-based search and indexing. By contrast, Applicant's approach is able to provide more directly relevant information specifically about the entity in question by leveraging a semantic representation of information and a structured knowledge repository.
In one embodiment of the present invention, an investigation tableau provides the context required for the JITIR system. The entities represented in the tableau, either in isolation or embedded within text notes are intended to refer to particular people, organizations, locations, events, etc. Initially, however, the entity specification will often be ambiguous. When an ambiguous entity specification is selected, the invention system consults its knowledge base to find possible referents, and then displays the list of possible referents in the sidebar, giving the user the opportunity to disambiguate it. Once this has been done, the system knows what entity is being referred to, and can look up information concerning that entity in its knowledge base, and display that information in the sidebar.
In the illustrated embodiment, the invention system 100 has a user interface 13 and a responsive search member 19 (e.g., search engine or process, see
Towards that end, the investigation tableau 15/user interface 13 also enables an end user to arrange the displayed entities 23 in the tableau 15 along with user created (defined) claims about the entities 23, hypotheses and evidence. These operations (user creation of a semantic entity, user selection of an entity, user creation of a claim and user arrangement of a claim and/or entity) are implemented with technologies disclosed in U.S. patent Ser. Nos. 11/867,890 and 12/017,026 (both by assignee and cited above) herein incorporated by reference.
User interface 13 and tableau 15 also enable a user to enter (create and place) free form text notes 21 on the tableau 15. Contents of the text notes 21 may include names of or references to one or more of the semantic entities 23. In particular, contents of text notes 21 may refer to or include names of semantic entities 23 that have not been identified before within tableau 15. Invention system 100 identifies such semantic entities 23 mentioned in the text notes 21 and stores corresponding semantic entity data in a system knowledge store 52 (
Throughout a user's task and the foregoing user interaction/activities with semantic entities 23 and claims of tableau 15, system 100 draws, extracts or otherwise obtains semantic information. System 100 stores this semantic information along with the displayed entities 23 and claims of tableau 15 in the system semantic knowledge store 52 (
User interface 13 detects user interaction with a displayed entity 23 in tableau 15 and automatically (without user request or command) initiates a search by search member 19 in a background process. The search/background process does not interrupt or interfere with user activity and interaction. Detected user interaction with a displayed entity 23 may be:
user selection of a displayed entity 23 in tableau 15,
user creation of a semantic entity in tableau 15, and
user selection of an identified semantic entity in a textual note 21 in tableau 15, and the like.
Such a user selection of a displayed entity 23 in tableau 15 may be by a user indicating a portion of tableau 15, for instance by forming (drawing, dragging, etc.) an outline border about a desired portion. Other visual selection or graphical indication of a subject portion chosen/defined by the user is suitable. The entities within the user selected/defined portion are considered to be user selected with respect to triggering a search by search member 19 of the present invention.
Likewise user selection of a text note 21 containing multiple identified semantic entities 23 triggers search member 19 to search for information for each of the multiple identified entities.
Thus on input in a background process, search member 19 receives from user interface 13 an indication of one or more displayed entities 23 that the user is detected as interacting with (i.e., that are detected as currently being under user interactions). The system 100 supports continued user activity and interaction. Search member 19 searches internal knowledge base 52 and/or external knowledge bases 54 (
In turn, search member 19 produces respective search results. The search results include information about the input entity(ies) 23 based on respective semantic data. This information is more directly relevant and specific to the subject entity(ies) 23 as compared to text-based searches due to the semantic data. Search member 19 automatically (without user request or command) displays the search results in sidebar 17. In this way, invention system 100 provides automatic information retrieval on a user's behalf and improved (i.e., semantic-based) just-in-time information retrieval.
In the example shown in
The information (search results) that populates the sidebar 17 for a disambiguated entity 23 may be drawn from a single monolithic knowledge base 52 or 54 as in the example above, or it can be extracted from multiple knowledge bases 52, 54, or from multiple investigations (users' tasks) within a single non-monolithic knowledge base 52 or 54. In the latter cases, there may be repetitive information about an entity stored in different knowledge bases or different investigations. There may also be conflicting information, such as disagreement in the data on a particular birth date, for example. In such cases, the sidebar 17 can provide summarization on the number of different sources for each piece of information, and enumeration of the sources if the user wishes to delve deeper.
Just-in-time Semantic Information Retrieval provides the user with ready access to information about the entities 23 that the user has identified. The user is then able to bring pertinent information into the investigation/user task. When information is imported from the sidebar 17, full provenance information is maintained, so it will be possible to ascertain who brought the information in, when it was brought in, and the source or sources from which it was obtained. Sidebar 17 also allows user dismissal of the search results as desired.
Unlike conventional Just-in-time information retrieval solutions, the present invention's semantic nature of the stored information allows for finer granularity, higher specificity, and greater relevance of information retrieval. Rather than presenting the user with a list of documents that merely mention the selected entity 23, Applicant's approach allows embodiments of the invention to provide a list of claims directly concerning the selected entity. In the example above, embodiments provide facts about (or at least assertions about) George Bush, not documents or articles in which his name merely happens to be mentioned, although the system 100 could also be used to present documents/articles in the sidebar 17 as well, as supplementary materials. The finer grain and additional structure of the semantic information allow one to combine information from different sources, and recognize when these sources agree or disagree about a particular claim.
While the above embodiment tableau 15 has been used in the illustration of the notion of just-in-time semantic retrieval, it should be noted that it is just one possible embodiment. Any method of organizing information that allows the establishment of semantic context could be substituted for the tableau 15, including systems that display documents or web pages and perform semantic entity extraction upon them.
With reference now to
Client computer(s)/devices 50 and server computer(s) 60 provide processing, storage, and input/output devices executing application programs and the like. Client computer(s)/devices 50 can also be linked through communications network 70 to other computing devices, including other client devices/processes 50 and server computer(s) 60. Communications network 70 can be part of a remote access network, a global network (e.g., the Internet), a worldwide collection of computers, Local area or Wide area networks, and gateways that currently use respective protocols (TCP/IP, Bluetooth, etc.) to communicate with one another. External knowledge stores 54 (e.g., DBPedia, internet-mediated data stores and others) are accessed through network 70 using respective protocols. Other electronic device/computer network architectures are suitable.
In one embodiment, the processor routines 92 and data 94 are a computer program product (generally referenced 92), including a computer readable medium (e.g., a removable storage medium such as one or more DVD-ROM's, CD-ROM's, diskettes, tapes, etc.) that provides at least a portion of the software instructions for the invention system. Computer program product 92 can be installed by any suitable software installation procedure, as is well known in the art. In another embodiment, at least a portion of the software instructions may also be downloaded over a cable, communication and/or wireless connection. In other embodiments, the invention programs are a computer program propagated signal product 107 embodied on a propagated signal on a propagation medium (e.g., a radio wave, an infrared wave, a laser wave, a sound wave, or an electrical wave propagated over a global network such as the Internet, or other network(s)). Such carrier medium or signals provide at least a portion of the software instructions for the present invention routines/program 92.
In alternate embodiments, the propagated signal is an analog carrier wave or digital signal carried on the propagated medium. For example, the propagated signal may be a digitized signal propagated over a global network (e.g., the Internet), a telecommunications network, or other network. In one embodiment, the propagated signal is a signal that is transmitted over the propagation medium over a period of time, such as the instructions for a software application sent in packets over a network over a period of milliseconds, seconds, minutes, or longer. In another embodiment, the computer readable medium of computer program product 92 is a propagation medium that the computer system 50 may receive and read, such as by receiving the propagation medium and identifying a propagated signal embodied in the propagation medium, as described above for computer program propagated signal product.
Generally speaking, the term “carrier medium” or transient carrier encompasses the foregoing transient signals, propagated signals, propagated medium, storage medium and the like.
As will be appreciated by one skilled in the art, aspects of the present invention may be embodied as a system, method or computer program product. Accordingly, aspects of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, aspects of the present invention may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.
Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Computer program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
Aspects of the present invention are described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
Referring now to
In turn, step 63 accesses or otherwise obtains semantic data of the disambiguated subject entity 23 (which may include one or more entities). Step 63 may draw semantic data from the current user task, the work area 15 and the like. Using this semantic data, search member 19 (step 65) initiates a background process and searches any combination of internal and/or external knowledge bases 52, 54. The external knowledge bases may be internet-mediated for example and communicated with using hypertext (e.g., HTML) techniques, mark-up language (e.g., XML) techniques and the like. Search member 19 initiates the search without user request or command, and thus system 100 searches for information about subject entity(ies) 23 automatically and on the user's behalf. Because the search is based on semantic data, the search results have increased relevance and specificity.
Next, step 67 through user interface 13 displays the search results of step 65. In particular, step 67 displays in sidebar 17 entity information from the search results. This is accomplished without user request or command and provides just in time semantic information to the user as heretofore unachieved in the prior art.
The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
The corresponding structures, materials, acts, and equivalents of all means or step plus function elements in the claims below are intended to include any structure, material, or act for performing the function in combination with other claimed elements as specifically claimed. The description of the present invention has been presented for purposes of illustration and description, but is not intended to be exhaustive or limited to the invention in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the invention. The embodiment was chosen and described in order to best explain the principles of the invention and the practical application, and to enable others of ordinary skill in the art to understand the invention for various embodiments with various modifications as are suited to the particular use contemplated.
This invention was made with Government support under Distillery Phase IV-H98230-07-C-0383 awarded by a United States of America Intelligence Agency. The Government has certain rights to this invention.
Number | Name | Date | Kind |
---|---|---|---|
5873107 | Borovoy et al. | Feb 1999 | A |
5983218 | Syeda-Mahmood | Nov 1999 | A |
6101491 | Woods | Aug 2000 | A |
6212524 | Weissman et al. | Apr 2001 | B1 |
6434549 | Linetsky et al. | Aug 2002 | B1 |
6941297 | Carmel et al. | Sep 2005 | B2 |
7028253 | Lieberman et al. | Apr 2006 | B1 |
7146361 | Broder et al. | Dec 2006 | B2 |
7299238 | Corston-Oliver et al. | Nov 2007 | B2 |
20060271520 | Ragan | Nov 2006 | A1 |
Number | Date | Country | |
---|---|---|---|
20110153639 A1 | Jun 2011 | US |