This application claims priority to Chinese Patent Application No.: 2011100906794, filed Apr. 12, 2011 and all the benefits accruing therefrom under 35 U.S.C. § 119, the contents of which in its entirety are herein incorporated by reference.
The present disclosure relates to the field of information input, and more particularly, to performing semantics-based information input.
Interoperability is a common requirement in industry solutions. Interoperability refers to the ability for information to be shared between different systems. Semantic interoperability is a type of interoperability, and refers to the ability for information transmitted by one system to be correctly interpreted by another system.
In order to achieve semantic interoperability, code systems are currently used in industry solutions. A code system is a system for defining semantic concepts, which defines code, display names, aliases, descriptions and the relationships with other concepts, and so forth. The use of a code system and semantic concepts enable different systems to mutually understand information, so as to obtain semantic interoperability. For example, Systematized Nomenclature of Medicine-Clinical Terms (SNOMED-CT™) is a code system that is used in the medical field and the Construction Classification System (Omniclass™) is a code system used in the construction industry.
Some existing input boxes and input methods only allow an end user to input plain text which does not contain semantic information. For example, in the medical field, a description of an illness input by a doctor into a system may be: “self-reported headache, three days of fever.” This description does not contain semantic information that can be understood by a machine, and does not have interoperability altogether.
Currently, there are generally two alternatives, one of which is to use a pre-defined form. Through a form control, e.g., a drop-down box, selection options are provided to a user. Each option corresponds to a semantic concept in the system. However, this alternative is not user-friendly and with poor usability in that apart from the options, the user is unable to input other information. Moreover, for each form, a corresponding control needs to be developed, which increases a user interface developer's workload.
Another alternative is to allow a user to input information freely, whereupon the information input by the user is automatically transformed by a computer system into contents containing semantic information. That is, through some algorithm, semantic concepts are automatically extracted. The drawback of this alternative is inaccuracy, since the system cannot guarantee the accuracy of the transformed semantic information. More complex algorithms may improve the accuracy, but also increase the workload of developing and debugging.
According to an embodiment of the present disclosure, a method for semantic-based information input includes receiving a user input from a user. The method also includes querying a database using the user input as a keyword, wherein the database includes objects, wherein each object includes a name and at least one attribute and ones of the objects include respective pointers to others of the objects indicating types of relationships therebetween. The method further includes receiving a query result, wherein the query result includes at least one matching object for which the keyword matches the at least one object's name or at least one attribute and at least one object with which the at least one matching object has a relationship indicated by the at least one matching object's pointer and presenting the query result to the user.
According to another embodiment of the present disclosure, a system for semantic-based information input includes a user input module configured to receive a user input. The system also includes a user input module configured to receive a user input and a query module configured to use the user input as a keyword to query a database, wherein the database includes objects, wherein each object includes a name and at least one attribute and ones of the objects include respective pointers to others of the objects indicating types of relationships therebetween. The system also includes a result receiving module configured to receive a query result, wherein the query result includes at least one matching object for which the keyword matches the at least one object's name or at least one attribute and at least one object with which the at least one matching object has a relationship indicated by the at least one matching object's pointer and a presenting module configured to present the query result to the user.
A further embodiment is a computer program product for semantic-based information input. The computer program product includes a computer readable storage medium having computer readable program code embedded therewith, the computer readable program code includes computer readable program code configured for performing a method. The method inludes includes receiving a user input from a user. The method also includes querying a database using the user input as a keyword, wherein the database includes objects, wherein each object includes a name and at least one attribute and ones of the objects include respective pointers to others of the objects indicating types of relationships therebetween. The method further includes receiving a query result, wherein the query result includes at least one matching object for which the keyword matches the at least one object's name or at least one attribute and at least one object with which the at least one matching object has a relationship indicated by the at least one matching object's pointer and presenting the query result to the user.
The subject matter which is regarded as the invention is particularly pointed out and distinctly claimed in the claims at the conclusion of the specification. The forgoing and other features, and advantages of the invention are apparent from the following detailed description taken in conjunction with the accompanying drawings in which:
Referring now to
Turning now to
In exemplary embodiments, the semantic database may be an object-based database. A semantic database organizes and stores data by objects and the relational structure between the objects. It can be a traditional relational database, or any other system which can build and store relationships among objects. Common examples of semantic databases are SNOMED-CT™ and Omniclass™.
Referring to
It should be appreciated that
According to an embodiment of the present disclosure, after the initial user input is received, the user input is used as a keyword to query the semantic database. The process of querying performs a process of keyword matching. For example, taking “Cold” as the user input “Cold” is used as the keyword to execute keyword matching in the sematic database. According to an embodiment of the preset disclosure, through the process of using “Cold” as the keyword to perform keyword matching in the sematic database, the objects including the keyword of “Cold” in the object names or object attributes are returned as the query results satisfying the condition. Taking
Thus, as described above, objects include the keyword “Cold” in their object names or object attributes (e.g., object 302 and object 304) may be returned as keyword query results satisfying a condition indicated by an initial user-input. Further, according to an exemplary embodiment, other objects connected with the query results may also be included in the returned query results satisfying the initial user-input condition. These additional query results arise by satisfying the initial user-input condition via relationships between the objects of the initial query results. For example, objects 304 and 306 may be returned as additional query results due to being connected with object 302 via “Cause” relationships.
A user input is used as a keyword to construct a query statement, such as a SQL query statement. As described, the results obtained by querying the semantic database using the initial user input as the keyword are object-based. The process of querying the semantic database may include executing the query statement in the semantic database so as to obtain the query results.
In exemplary embodiments, once the names of the objects are presented to the user, the user is able to select one of the objects presented. After the user selects one of the objects, the attributes of the object are presented to the user. For example, assuming that the user input is “Cold”, the semantic database is queried by using “Cold” as the keyword to obtain the object-based query results. As a result, the object names of the objects, i.e., “Cold,” “Fever” and “Headache,” are presented to the user. In response to the user selecting a name of an object presented, the attributes of the object are further presented to the user. For example, when the user selects the object name “Cold” of the object 302, the attributes of object 302 will be displayed as follows:
In exemplary embodiments, the relationships between a selected object and other objects may also be presented to the user when the user selects a query result object. For example, if the user selects the object name of object 302, which is “Cold,” the relationships between object 302 and other objects are presented to the user, that is, the relationship (“Cause”) between object 302 and object 304 and the relationship (“Cause”) between object 306 and object 302.
In exemplary embodiments, once a user is presented with query results (e.g., object name) that arose from the user's initial input, the user can select one of the query results as a next user input, referred to herein as a “determined” user input. For example, if the user selects object 302 from among the query results, then object 302 is taken as the determined user input, and according to an embodiment, a corresponding query result is output based on the selected object.
In exemplary embodiments, the object-based query result includes information like an object name, other attributes of the object and the relationship between objects. Therefore, users can obtain semantic information corresponding to a text while inputting the text. Since the text input by the user is accurate, the semantic information determined by the accurate text is also accurate. Thus, it solves the traditional problem that is presented when the user inputs information freely and the system is unable to guarantee the accuracy of the transformed semantic information. Also, applying the method and system provided by the present disclosure does not need to increase the user interface developers' workload. Since there is accurate semantic information corresponding to the accurate text, semantic interoperability is also greatly improved.
Referring now to
In exemplary embodiments, the user input module 402 receives a user input, which may be in the form of text, or numeric code. In response to receiving the user input, the query module 404 uses the user input as a keyword to query the semantic database. The query module takes the objects containing the keyword in the object names or the object attributes as query results satisfying the condition. In exemplary embodiments, in addition to the objects that contain the keyword in their object names or object attributes being taken as query results satisfying the condition, other objects connected with the query results satisfying the condition through relationships between objects may also be returned as query results satisfying the condition. Next, the result receiving module 406 receives the object-based query results and the presenting module 408 presents the query results to the user. The query results may include the object names and attributes of the objects, and may also include the relationships between the objects.
In exemplary embodiments, the presenting module 408 is configured to present the object names of the objects in the query results to the user. In addition, the presenting module 408 may be further configured to present the attributes of the object and the relationships between the objects to the user in response to the user selecting an object name of the objects in the query results. The system 400 may also include a determining module 410 configured to use the selected query result as a determined user input in response to that a presented query result is selected. In addition, the system 400 can include an output module 412 configured to output the selected query result based on the determined user input or selected object.
Above the basic principles of the present disclosure have been described in conjunction with the specific embodiments. However, it should be pointed out that to those of ordinary skill in the art, all or any steps or components of the method and apparatus of the present disclosure can be realized in hardware, software or a combination thereof in any computing device (including processors and storage mediums etc.) or networks of computing devices, and can be realized by those of ordinary skill in the art using their basic programming skills after reading the specification of the present disclosure.
Therefore, the objective of the present disclosure can further be realized by running one or a group of programs on any computing device. The computing device can be any known general-purpose device. Therefore, the objective of the present disclosure can also be realized by merely providing a program product containing the program code for realizing the method or the apparatus. That is to say, such a program product also forms the present disclosure, and a storage medium storing such a program product also forms the present disclosure. The storage medium can be any well-known storage medium or any storage medium that will be developed in the future.
It should be further pointed out that in the apparatus and method of the present disclosure, the components or steps can be split and/or recombined. Such splitting and/or recombination should be viewed as equivalent solutions of the present disclosure. Moreover, the steps executing the above series of processing may naturally be executed in the time order according to the described sequence, but are not necessary to be executed in the time order. Some steps may be executed in parallel or independent of each other.
Although the present disclosure and its advantages are described in detail, it should be understood that various changes, replacements and transformation can be made without departing from the spirits and scope of the present disclosure as defined by the appended claims. Moreover, the terms “comprise”, “include” or any other variants in the present application are intended to cover non-exclusive inclusion, so that the processes, methods, articles or devices including a series of elements not only include these elements, but also include other elements not explicitly listed, or include elements inherent to such processes, methods, articles or devices. When there are no more restrictions, an element defined by the phrase “comprising a . . . ” does not exclude the existence of other identical elements in the processes, methods, articles or devices including the element.
Number | Date | Country | Kind |
---|---|---|---|
2011100906794 | Apr 2011 | CN | national |