Natural language (or ordinary language) is any language which is the result of the innate facility for language possessed by the human intellect. A natural language is typically used for communication, and may be spoken, signed, or written. For people, the understanding of natural languages reveals much about how language works (e.g., language syntax, semantics, etc.). Electronic databases may store vast amounts of information, which is only useful with an effective search function. Certain technological constructs may be created to translate natural language semantics with stored data relationships in order to provide user search requests with relevant results from the stored data.
A semantic network is a network that represents semantic relations among terms (e.g., concepts). A semantic network may be used as a form of knowledge representation, and therefore may be used to model business knowledge in companies and their various parts, e.g. as enterprise knowledge and/or terminology.
The typical usage may be in search engines, where the network may be used within different techniques to identify the meaning of the term and/or sentence. Mainly the search terms are defined as words in some order or relation. The searched term may then be interpreted by the search engine as a string/term. For example, the search result for “Lotus” may be divided into results about “Lotus” as a model of a car, “Lotus” as a brand of car oil, and “Lotus” as a flower. In this situation, there are different knowledge domains. The knowledge domains can be ordered hierarchically, which allows for knowledge grouping, e.g. the first two meanings may belong to similar knowledge groups, and the last one has nothing in common and is defined in a completely different context/knowledge group (e.g., as a flower).
The natural language distinguishes between different parts of speech and therefore grammarians, e.g., writers of dictionaries, reflect this in the structured terminology catalogues, e.g., dictionaries. One part of the common sentence is the lexical word which is composed of nouns, verbs, and adjectives. Composition of sentences are addressed in the field of linguistics of language syntax; i.e., focus on compositionality in order to explain the relationship between meaningful parts and whole sentences. Therefore, syntax is the study of the principles and rules for constructing sentences in natural language. Further, in language theory, we can see many different “constructs” that try to reflect the language syntax, e.g., define language grammar. An example may include Relational Grammar (RG), e.g., syntactic theory which argues that primitive grammatical relations provide the ideal means to state syntactic rules in universal terms. Another example may include Role and Reference Grammar (RRG), e.g., the description of a sentence in a particular language is formulated in terms of (a) its logical (semantic) structure and communicative functions, and (b) the grammatical procedures that are available in the language for the expression of these meanings. Several other grammatical theories and examples exist, such as: Arc Pain Grammar (APG), Generalized Phrase Structure Grammar (GPSG), Hard-Driven Phrase Structure Grammar (HPSG), and Lexical-Functional Grammar (LFG).
The thematic relation is a term used to express the meaning that a noun (or noun-phrase) plays with respect to the verb, i.e. the action or state described by a sentence's verb. From another perspective, the semantic network is a network which represents semantic relations among terms (concepts). The semantic network is used as a form of knowledge representation and therefore is very often used to model business knowledge in companies and its parts, e.g. as enterprise knowledge/terminology.
The semantic network allows for creation of terms-phrases that are defined by types which characterizes/specifies the particular term (though, a term may be assigned to different types). Additionally, the term may be used in different knowledge areas and may have different (or slightly different) meaning for each area. The knowledge domains may be ordered hierarchically, which allows for knowledge grouping. Therefore, some modeling solutions are used to define context of particular terms/information.
A knowledge domain may group terms that belong to the same subject or expertise area, for example IT, finance, etc. The knowledge/expertise area may be grouped into knowledge domains and may then be used to specify the context of the required information and deliver data with better quality. Typically, the business knowledge and used terminology is distributed through the whole company via the jargon used by company experts and in the many documents associated with the company. The main problem is how to share the currently used business terminology to simplify business communication, e.g. providing phrase/term suggestions in composing documents, like mail, documentations, marketing documents and flyers, etc. Additionally, the same business knowledge (in the form of a business semantic network) may be reused in other business areas, e.g., searching for business information/documents/data.
Daily business communication may require, from all participants (business experts and beginners), usage of specific business terminology. A significant amount of terminology may be stored in business applications and in the business semantic network. Example embodiments of the present invention may provide a user-adaptable semantic suggestion engine that allows usage of the terminology in daily business communication.
Example embodiments of the present invention use natural language syntax—defined as language grammar and the semantic network technology—to build a context-specific knowledge-related suggestion engine. Therefore, example embodiments of the solution concentrate on the determining of context-related phrases (terms—defined in a business semantic network), and builds a solution that allows user-specific phrase suggestions (e.g., suggestions oriented to user need/expectations, based on the role of the user).
Example embodiments of the present invention may group terminology into knowledge domains, e.g., business-related domains and configure their importance within that domain. This business terminology, stored in business applications, may be exposed via underlying business objects to automatically build the business-oriented semantic network and automatically integrate into the proposed solution. This may include the reuse of structured terminology and its organization-assignment to domains and term types. For example,
The definition of syntax (e.g., grammar) of the natural language may be maintained by syntax manager 221—a language dependent manager that manages the access and handling of the particular language-dependent sentence definition 222. This grammatical sentence definition may contain several elements (not shown). Definition 222 may include an ordered sentence definition that may contain phrase/term types (e.g. nouns, verbs, adjectives, etc.). This may ensure that the same term types will be used in a particular semantic network to describe particular terms. Definition 222 may define a sentence importance, e.g., indicator that defines how many times the sentence was used for all users, user-groups and any/each particular user. The initial value may be delivered with the sentence definition by a syntax provider (e.g., 212).
The language syntax layer may use one of several known grammar definitions, e.g. relational grammar (RG), or a new grammar definition. While any definition may be used, example embodiments may ensure that the syntax manager, syntax definition and syntax importer support the same grammar concept/definition, whichever concept/definition is to be used. Therefore, appropriate syntax definition data may need to be imported, which means cross-grammar functionality may not be supported. That is, the grammar definition may be constructed in a method-dependent way. Alternative embodiments may define the grammar in an abstract way (e.g., before the grammar is transferred, translated in a common format, or otherwise used in a specific context).
The semantic network layer 230 consists of several illustrated parts. For example, there may be a business semantic network 231 provided, e.g., a business related and customer-dependent network that contains the used terminology (e.g., common terminology and business-specific terminology). This terminology may be grouped (and transportable) in knowledge domains (domains for short). The semantic network layer 230 may also include a terminology manager 232 that provides access to the business semantic network 230 for end-user request (e.g., terms) and administrative tasks (e.g., terminology maintenance and clean-up). The semantic network layer 230 may also include a terminology importer 233 to import terminology from a terminology provider (e.g., 215). The imported terminology may be required to be compliant with the imported/used grammatical sentence definition, which may mean that both layers (220 and 230) use the same term type definition.
The terms in a business semantic network 231 may be grouped into domains. Further, the terms may be assigned to term types, e.g., a grammar-related definition of type, which may be provided by the grammatical sentence definition (e.g., noun, verb, adjective, etc.). Each term may have an importance indicator that defines how many times the term was used for all users, user-groups, and any/each particular user. The initial value may be delivered with the term definition by a terminology provider (e.g., 215). This indicator may be updated regarding the term usage by the end-user during operation of the engine. Since terminology (e.g., terms) is grouped in domains, they may be imported (transported) into a semantic network. Each user may define the visibility of domains and their respective importance. In this way, the system may automatically suggest the terms that are with highest importance for a particular end-user.
A domain definition may contain several pieces of information. Each domain definition may include a domain identifier (e.g., domain name and domain ID (e.g., a unique key)). Each domain definition may include a terminology hierarchy, e.g., linked terminology. Each domain definition may have an associated importance indicator that defines how important the domain is for an end-user (e.g., user-group and/particular user). This indicator may be updated as the user (e.g., user-groups) use the terms from the particular domain, e.g., during operation of the system.
The business terminology may come from the business application, e.g., business objects defined in software applications. This business terminology, along with the grammar definition may be used to build a sentence context. This means example embodiments may extract the business relevant terms when an end-user is editing a document (e-mail, word, etc.) and may start searching for related information. In this case, the user may not need to enter all of the needed information, as the grammar helps analyzing the content for used business terminology, which may extend the current search terminology and/or be reused in the search terminology. In this situation, it may be easy to provide some contextual search criteria, for example if the end-user entered a sentence including a customer name and a responsible person, the system may automatically offer the option of searching for all sales orders created by the person, etc.
The semantic suggestion engine may support a feature to obtain term suggestions using spelling conditions, e.g., the engine uses the domain, term indicators, and spelling conditions to determine suggested terms. This request may be used typically when the end-user begins entering the sentence and the sentence definitions can not be determined. The semantic suggestion engine may support a feature to obtain term suggestions using the grammar definition, e.g., the engine may use the grammatical sentence definition 222 and using the sentence, domain, term indicators, and spelling conditions, the engine may determine suggested terms. This request may be used when the end-user is typing further sentence elements. The most import sentences (e.g., as determined by the importance indicator) are used to determine the required term type and then the required term (e.g., the assigned type, with highest importance indicator and spelling conditions satisfied).
For example, the database may include the syntax manager 641 with the grammatical sentence definition 630. The database may also include the semantic network 650 including the terminology importer 642 and knowledge definitions/domains 635. These entities may be stored in database 605, or may be distributed across other systems, independently or connected via a communication network.
Any suitable technology may be used to implement embodiments of the present invention, such as general purpose computers. One or more system servers may operate hardware and/or software modules to facilitate the inventive processes and procedures of the present application, and constitute one or more example embodiments of the present invention. Further, one or more servers may include a computer readable storage medium, e.g., memory 603, with instructions to cause a processor, e.g., processor 602, to execute a set of steps according to one or more example embodiments of the present invention.
The semantic suggestion engine could likewise be installed on any number of devices, such as local machines (PC, laptop), which would therefore provide the integration/central infrastructure to collect importance of sentences, domains, and terms. This may be used to setup new engines, e.g. initial setup for next user-installations.
Further, example embodiments of the present invention are directed to one or more processors, which may be implemented using any conventional processing circuit and device or combination thereof, e.g., a Central Processing Unit (CPU) of a Personal Computer (PC) or other workstation processor, to execute code provided, e.g., on a hardware computer-readable medium including any conventional memory device, to perform any of the methods described herein, alone or in combination. The one or more processors may be embodied in a server or user terminal or combination thereof. The user terminal may be embodied, for example, a desktop, laptop, hand-held device, Personal Digital Assistant (PDA), television set-top Internet appliance, mobile telephone, smart phone, etc., or as a combination of one or more thereof. The memory device may include any conventional permanent and/or temporary memory circuits or combination thereof, a non-exhaustive list of which includes Random Access Memory (RAM), Read Only Memory (ROM), Compact Disks (CD), Digital Versatile Disk (DVD), and magnetic tape.
It will be appreciated that all of the disclosed methods and procedures described herein can be implemented using one or more computer programs or components. These components may be provided as a series of computer instructions on any conventional computer-readable medium, including RAM, ROM, flash memory, magnetic or optical disks, optical memory, or other storage media. The instructions may be configured to be executed by a processor which, when executing the series of computer instructions, performs or facilitates the performance of all or part of the disclosed methods and procedures.
It should be understood that there exist implementations of other variations and modifications of the invention and its various aspects, as may be readily apparent to those of ordinary skill in the art, and that the invention is not limited by specific embodiments described herein. Features and embodiments described above may be combined. It is therefore contemplated to cover any and all modifications, variations, combinations or equivalents that fall within the scope of the basic underlying principals disclosed and claimed herein.
Number | Date | Country | |
---|---|---|---|
Parent | 13050333 | Mar 2011 | US |
Child | 14610498 | US |