Reasoning based on natural language interpretation

The method converts natural language queries into structured suggestions using a domain-specific inference knowledge base to generate consistent semantic representations, addressing inconsistencies in query interpretation and enhancing accuracy.

JP7725159B2Active Publication Date: 2025-08-19INTERNATIONAL BUSINESS MACHINE CORPORATION
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2023514792
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2020-09-03
Filing Date
2021-08-31
Publication Date
2025-08-19
Estimated Expiration
2041-08-31

AI Technical Summary

Technical Problem

Existing natural language processing models struggle to provide domain-specific inference-based semantic representations, leading to inconsistencies in query interpretation.

Method used

A computer-implemented method and system that converts natural language queries into structured suggestions, utilizing a domain-specific inference knowledge base to generate consistent semantic representations by applying detection and correction axioms.

Benefits of technology

Ensures accurate and consistent domain-specific semantic representations, improving the interpretation of natural language queries by correcting inconsistencies through structured query generation, consistency checking, and corrective actions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007725159000001
    Figure 0007725159000001
  • Figure 0007725159000002
    Figure 0007725159000002
  • Figure 0007725159000003
    Figure 0007725159000003
Patent Text Reader

Abstract

A natural language processing approach for generating a domain-specific, reasoning-based semantic representation may include receiving a user query via structured or unstructured data. The approach may also include generating a structured query from the user query using a domain-specific ontology and universal facts. The approach may further include analyzing the structured query to determine whether the structured query is assigned consistent concepts, properties, and actions. The approach may further include modifying the structured query if the structured query is determined to be inconsistent with the domain ontology and universal facts.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates generally to semantic representation of words in natural language processing models, and more particularly to inference-based semantic representation for domain-specific natural language processing interpretation. [Background technology]

[0002] Natural language processing has changed the landscape of user interaction with computing devices. Many natural language processing models can determine not only the general syntactic structure of a sentence, but also its general semantic structure in a domain-agnostic model. Many models can convert natural language queries or commands into a structured form, which can then be converted into an executable form to generate a response to the query or command. Summary of the Invention

[0003] Embodiments of the present disclosure include computer-implemented methods and systems for generating domain-specific inference-based word representations. Embodiments of the present invention may include converting a query into structured suggestions and generating inference-based semantic representations of the structured suggestions.

[0004] Another embodiment of the invention may include a computer-implemented method and computer system, which may include identifying, by a processor, quantitative data and qualitative features of unstructured data, generating a query based on the identified quantitative data, qualitative data, or both, converting the query into structured suggestions, and generating an inference-based semantic representation for the structured query.

[0005] Yet another embodiment of the present invention may include a computer-implemented method and computer system for receiving a natural language query, where the query is text-based; converting the query into structured suggestions; and generating reasoning-based representations for the structured suggestions.

[0006] The above summary is not intended to describe every illustrated embodiment of every implementation of the present disclosure. [Brief explanation of the drawings]

[0007] [Figure 1] 1 is a functional block diagram generally illustrating a domain-specific reasoning-based semantic representation generation environment 100, in accordance with an embodiment of the present invention. [Figure 2] FIG. 1 is a functional block diagram illustrating a domain-specific reasoning-based natural language processing engine according to an embodiment of the present invention. [Figure 3] 1 is a flowchart of a method for generating a semantic representation based on domain-specific reasoning, according to an embodiment of the present invention. [Figure 4] FIG. 1 is a functional block diagram of an exemplary natural language preprocessing system, in accordance with an embodiment of the present invention. [Figure 5] FIG. 1 is a functional block diagram of an exemplary computing system within a computing system event error diagnosis environment, in accordance with embodiments of the present invention. [Figure 6] FIG. 1 illustrates a cloud computing environment, according to an embodiment of the present invention. [Figure 7] FIG. 2 is a functional block diagram illustrating abstraction model layers according to an embodiment of the present invention.

[0008] While the embodiments described herein are susceptible to various modifications and alternative forms, specific features thereof have been shown by way of example in the drawings and will be described in detail. It is to be understood, however, that the particular embodiments described are not to be taken in a limiting sense. On the contrary, the intention is to cover all modifications, equivalents, and alternatives falling within the scope of the present disclosure. DETAILED DESCRIPTION OF THE INVENTION

[0009] The embodiments depicted and described herein recognize the advantages of inference-based semantic representation for domain-specific natural language interpretation.

[0010] In embodiments of the present invention, queries can be converted into structured suggestions. The structured suggestions can be analyzed for consistency, and if the structured suggestions are determined to be inconsistent, the structured suggestions can be modified, resulting in structured suggestions having inference-based, domain-specific representations.

[0011] In additional embodiments, unstructured data including a text-based query can be received. An image recognition model can extract the text-based query and additional (qualitative and / or quantitative) data from the unstructured data. The query and additional data can be preprocessed by a natural language preprocessing system for consumption by a structured suggestion generator. The structured suggestion generator can assign an inference-based semantic representation to the preprocessed query based on a corpus stored by a domain-specific inference knowledge base, resulting in structured suggestions. The structured suggestions can be analyzed for consistent semantic representations within the domain. If the structured suggestions are determined to be inconsistent, the structured suggestions can be modified to be consistent based on domain-specific modification axioms.

[0012] When describing the embodiments in detail with reference to the figures, it should be noted that references herein to "embodiments," "other embodiments," etc., indicate that the described embodiment may include a particular feature, structure, or characteristic, but not all embodiments necessarily include the particular feature, structure, or characteristic. Moreover, such phrases do not necessarily refer to the same embodiment. Furthermore, when a particular feature, structure, or characteristic is described in connection with one embodiment, one of ordinary skill in the art has knowledge that the feature, structure, or characteristic also affects that feature, structure, or characteristic in connection with other embodiments, whether or not explicitly described.

[0013] 1 is a functional block diagram generally illustrating a domain-specific reasoning-based semantic representation generation environment 100. The domain-specific reasoning-based semantic representation generation environment 100 comprises a domain-specific reasoning-based natural language processing (NLP) engine 104 running on a server 102 and a network 106 supporting communication between the server 102 and a client computer 108. As shown in FIG. 1, the client computer 108 can access the domain-specific reasoning-based natural language processing engine 104 via the network 106. Although only one client computer 108 is shown in the domain-specific reasoning-based semantic representation generation environment 100, this is for ease of illustration as multiple client computers can be present in the domain-specific reasoning-based semantic representation generation environment 100 (i.e., 1, 2, n...n+1).

[0014] The server 102 and the client computer 108 may be standalone computing devices, management servers, web servers, mobile computing devices, or any other electronic device or computing system capable of receiving, transmitting, and processing data. In other embodiments, the server 102 and the client computer 108 may represent a server computing system that utilizes multiple computers as a server system. Note that while one server is shown in FIG. 1 , the domain-specific reasoning-based semantic representation generation environment 100 may have any number of servers (e.g., 1, 2, n...n+1). In another embodiment, the server 102 and the client computer 108 may be a laptop computer, a tablet computer, a netbook computer, a personal computer, a desktop computer, or any programmable electronic device capable of communicating with other computing devices (not shown) in the domain-specific reasoning-based semantic representation generation environment 100 via the network 106.

[0015] In another embodiment, server 102 and client computer 108 represent a computing system utilizing clustered computers and components (e.g., database server computers, application server computers, etc.) that can function as a single pool of seamless resources when accessed within domain-specific reasoning-based semantic representation generation environment 100. Server 102 and client computer 108 can include internal and external hardware components, as depicted and described in further detail with respect to FIG.

[0016] The domain reasoning-based NLP engine 104 may be a module for receiving one or more user queries, converting the user queries into structured suggestions, determining whether the structured suggestions are consistent (described further below), correcting inconsistent structured suggestions, and sending the consistent suggestions to a question / answer engine for downstream applications (described further below). Note that while FIG. 1 illustrates the domain reasoning-based NLP engine 104 operating on only one computing device, in some embodiments, the domain reasoning-based NLP engine 104 can operate on one or more computing devices or within a cloud computing system. The domain reasoning-based NLP engine 104 may perform some of the above-described operations simultaneously or sequentially on the same or different computing systems.

[0017] The network 106 may be, for example, a local area network (LAN), a wide area network (WAN) such as the Internet, or a combination thereof, and may include wired, wireless, or fiber optic connections. In general, the network 106 may be any combination of connections and protocols that support communication between the server 102 and the client computers 108.

[0018] The inference knowledge base 110 is stored on the server 102. In some embodiments, the inference knowledge base 110 can include domain-specific ontologies and universal facts. Domain-specific ontologies are categories and concepts relevant to a domain. For example, in finance, concepts can include debt, loan, bankruptcy, stock, bond, etc. In another example, concepts in biology can include cell, mitosis, meiosis, chromosome, bacteria, invertebrate, etc. Domain-specific ontologies can be configured by the user or retrieved from various locations and databases. Universal facts capture facts related to logical or common sense reasoning that apply to any domain. For example, numeric comparisons (e.g., greater than or equal to, less than or equal to) and numeric aggregations (e.g., average, sum, maximum, minimum, etc.) can only apply to numeric properties. As another example of universal facts, a natural language query seeking to retrieve top entities must also mention ranking criteria for ranking the entities. The set of universal facts captured in the inference knowledge base is configurable for use cases and users. The universal facts can come from multiple sources, including user preferences and Abstract Semantic Representation (AMR) sembanks. Note that the inference knowledge base 110 may contain one or more specific domain ontologies. Different domain ontologies may be triggered by specific words in the query.

[0019] In some embodiments, the inference knowledge base 110 can include detection axioms and action axioms. The detection axioms can determine whether a structured proposal is semantically valid. For example, if a numeric aggregation such as SUM is applied to a "concept" like "person," it is detected by the detection axiom and corrected by the correction axiom to convert it to SUM on the "person's" "salary," which is a numeric property. Also, a non-date property, such as a person's address, is detected and corrected as a comparison with a date-time property, such as a person's lease year, where a time comparison is performed. In this way, the detection axioms and correction axioms together enforce the semantic validity of semantic expressions in natural language interpretation.

[0020] 2 is a functional block diagram 200 of a domain reasoning-based NLP engine 104. A structured query generation module 202, a consistency checking module 204, and a corrective action interpretation module 206 are shown operational within the domain reasoning-based NLP engine 104.

[0021] The structured query generation module 202 can be a computer module that can receive a natural language query and convert the query into structured suggestions. The natural language query can be in speech or text format (either constructed from structured data or identified from unstructured data). Furthermore, the query can be a question, a sentence, a command, or any word or combination of words in human-understandable language. The structured suggestions can be an inference-based semantic representation of the natural language query. The natural language processing model can preprocess the speech or text query using various methods (discussed further below in FIG. 4 ), including, but not limited to, tokenization, stemming, lemmatization, part-of-speech tagging, accented character removal, contraction expansion, special character removal, stop word removal, named entity recognition, shallow parsing, and sentence chunking. In some embodiments, the natural language processing can assign semantic meaning to words using various methods, such as word embeddings (Word2Vec, GloVe, bag-of-words, etc.) and abstract semantic representations. In some embodiments, the structured query generation module 202 can assign semantic representations to words based on a domain ontology and universal facts stored in the inference knowledge base 110. For example, the domain ontology can include domain-specific concepts and associated properties or facts for the concepts that would be unknown to the semantic representation assignment method without the domain ontology. The universal facts stored in the inference knowledge base 110 can serve as a bridge between the "domain ontology" and the "assignment of actions" that can be performed on the properties. In some embodiments, the universal facts can be general concepts that are not domain-specific but have universal semantic representations.

[0022] In some embodiments, the structured query generation module 202 can simultaneously utilize universal facts and domain ontologies in a natural language processing flow. For example, a user can ask a query (e.g., spoken, entered via an input / output mechanism, or identified in unstructured data by optical character recognition) “Which company has a high stock price, Company A or Company B?” The structured query generation module 202 can preprocess the conditioned query so that a semantic representation is assigned to the query. The structured query generation module 202 can be triggered to utilize a financial domain ontology from the inference knowledge base 110 based on the presence of the word “stock” in the query. The word “stock” can be a concept with numerous properties assigned to it; for example, a stock may be assigned properties such as “value,” “market capitalization,” “volume,” “annual dividend,” “abbreviation,” the market in which the stock trades, and a buy / sell / hold analyst rating. In some embodiments, a concept can have a key property that is automatically assigned unless an additional word or words are detected in the query. For example, value may be the default property assigned to the concept of a stock, but if the word valuation is detected, the characteristic property may be assigned. The structured query generation module 202 may utilize universal facts stored in the inference knowledge base 110 to recognize that the property of value is a measurable property. Additional characteristics may include an aggregation of measurable characteristics, a ranking of characteristics, a count of characteristics, or duration if the characteristic is time-related.

[0023] The consistency check module 204 may be a computer module that can determine whether the structured query generation module 202 assigned the correct concepts to the identified actions and the correct properties to the identified concepts in the structured suggestions. For example, if a user enters the query “are cheetahs faster than tigers?”, the structured query generation module 202 identifies the terms “are” and “faster” and then assigns the concept “speed” and the action “ranking.” However, the structured query generation module 202 incorrectly assigns the property of “aggregation.” In some embodiments, the consistency check module 204 identifies the incorrect property assignment based on inference axioms stored in the inference knowledge base 110. Inference axioms are universal rules that can be pre-programmed or dynamically learned via machine learning methods such as clustering, transfer learning, reinforcement learning, or classification. In the above example, the inference axiom would be a rule related to the ranking action, which can be triggered by the word “than” associated with the concept of “speed.” Because the aggregation is not within the characteristics allowed for ranking operations, the consistency check module 204 will identify the structured suggestions as inconsistent. In some embodiments, the consistency check module 204 will send the inconsistent suggestions to the corrective action interpretation module 206.

[0024] If the consistency check module 204 determines that there are no inconsistencies in the structured query, the structured query already has a consistent, reasoned semantic representation, and the consistency check module 204 can send a consistent structured suggestion to the question / answer engine. In other embodiments, the consistency check module 204 can send a consistent structured suggestion for the query to a downstream application for further processing.

[0025] The corrective action interpretation module 206 may be a computer module that can assign properties and concepts to inconsistent suggestions based on correction axioms stored in the inference knowledge base 110. Correction axioms are domain-specific rules that instruct the corrective action interpretation module 206 to change the properties for the inconsistent structured suggestions into consistent structured suggestions for the identified concepts and actions. As described in the example above, the consistency check module 204 identified that it assigned the concept of “speed” an incorrect property of “aggregation” instead of the action of ranking. The corrective action interpretation module 206 can use correction axioms related to the action “ranking” to further refine the corrective action for the concept “speed,” thus providing the property of “measurement” instead of the incorrect property of “aggregation.” The result of the corrected structured suggestions becomes an explicit meaning for the query. In some embodiments, the corrective action interpretation module 206 can send the structured suggestions to a question / answer engine.

[0026] FIG. 3 is a flowchart illustrating operational steps of a method 300 for generating domain-specific reasoning-based semantic representations. In step 302, a query can be converted into structured suggestions. In some embodiments, the query can be converted into structured suggestions by the structured query generation module 202. In some embodiments, the query can be a spoken natural language query from a user. The query can be converted into a machine-readable format by the speech recognition module 426 (FIG. 4) in the structured query generation module 202. For example, a spoken natural language query resulting from a spoken request can be converted into a machine-readable format via acoustic modeling using a hidden Markov model. In other embodiments, the query can be in the form of text (either structured or unstructured data format). In the unstructured data format, natural language processing can distinguish and consume the unstructured data using image or character recognition. In some embodiments, the structured query generation module 202 uses various techniques (described further below) to assign a semantic representation to the query, resulting in structured suggestions. For example, in some embodiments, isolated words in a query can be assigned concepts and further assigned properties within the concepts based on domain-specific subgraphs stored in the inference knowledge base 110.

[0027] In step 304, the consistency check module 204 determines whether the structured proposal from the structured query generation module 202 is consistent. In some embodiments, the consistency check module 204 may use inference axioms stored in the inference knowledge base 110 to determine whether the correct concepts have been assigned to known domain-specific vocabulary for a given identified behavior. Additionally, in some embodiments, the consistency check module may determine whether the properties assigned to the concepts in the structured proposal are correct based on the inference axioms stored in the inference knowledge base 110. For example, the consistency check module 204 may identify an inconsistent proposal if a measurement property is assigned to a concept that can only be assigned quantitative properties for the identified behavior. In some embodiments, if the consistency check module 204 determines that the structured proposal is consistent, i.e., the structured proposal has been assigned a correct inference-based semantic representation and therefore has an explicit meaning for the selected domain, the analysis ends.

[0028] In step 306, the corrective action interpretation module 206 can modify the inconsistencies identified by the consistency check module 204. In some embodiments, the corrective action interpretation module 206 can use a modification axiom to assign the correct concepts, properties, or actions, or combinations thereof, to the identified structured proposal. In some embodiments, the modification axiom can be specific instructions for retransforming the entire query, removing the incorrectly assigned concepts or properties from the possible assignments. In other embodiments, if there are multiple concepts identified in the query and assigned to the structured proposal, the modification axiom can be specific instructions for reassigning only the concepts or properties based on the instructions in the modification axiom.

[0029] 4 is an exemplary natural language preprocessing system 400 configured to preprocess natural language queries, according to an embodiment of the present invention. The natural language preprocessing module 402 may operate within the domain reasoning-based NLP engine 104, the structured query generation module 202, or may be a standalone system that communicates with the domain reasoning-based NLP engine 104 via the network 106. In some embodiments, the domain reasoning-based NLP engine 104 may send a query to the natural language preprocessing module 402 for analysis. Additionally, the query (e.g., speech, text, or unstructured data) may be received directly by the natural language preprocessing module 402. Additionally, the natural language preprocessing module 402 can send the preprocessed query to the structured query generation module 202.

[0030] The natural language preprocessing module 402 may perform various methods and techniques (e.g., syntactic analysis, semantic analysis, etc.) to preprocess natural language queries. The natural language preprocessing module 402 may be configured to recognize and analyze any number of natural languages. In some embodiments, the natural language preprocessing module 402 may group one or more sections of a query into one or more subsections. Additionally, the natural language preprocessing module 402 may include various modules for performing analysis of the query. These modules may include, but are not limited to, a tokenizer 416, a part-of-speech (POS) tagger 418 (which may, for example, tag each of one or more sections where a particular subject is identified), a semantic relation identifier 420, a syntactic relation identifier 422, an image recognition module 424 (which may identify the natural language query and additional information from unstructured data), and a speech recognition module 426.

[0031] In some embodiments, the tokenizer 416 may be a computer module that performs lexical analysis. The tokenizer 416 may convert a sequence of characters into a sequence of tokens. A token may be a string of characters that is contained in a recording and classified as a meaningful symbol. Additionally, in some embodiments, the tokenizer 416 may identify word boundaries within a query and divide any text within the query into component text elements, such as words, multi-word tokens, numbers, and punctuation. In some embodiments, the tokenizer 416 may receive a string of characters, identify vocabulary words within the string, and classify them into tokens.

[0032] Consistent with various embodiments, the POS tagger 418 may be a computer module that marks up words in a query to correspond to specific parts of speech. The POS tagger 418 may read a passage of natural language text or other text and assign a part of speech to each word or other token. The POS tagger 418 may determine the part of speech to which a word (or other speech element) corresponds based on the word's definition and the word's context. The word's context may be based on its relationship to adjacent and related words in a phrase, sentence, or paragraph. In some embodiments, the word's context may depend on one or more previously analyzed event error text descriptions. Examples of parts of speech that may be assigned to words include, but are not limited to, nouns, verbs, adjectives, adverbs, etc. Examples of other part-of-speech categories that the POS tagger 418 may assign include, but are not limited to, comparative or superlative adverbs, wh adverbs, conjunctions, determiners, negation particles, possessive markers, prepositions, wh pronouns, and the like. In some embodiments, the POS tagger 418 can tag or otherwise annotate tokens of the event error text description with part-of-speech categories. In some embodiments, the POS tagger 418 may tag tokens or words of the query that is parsed by the natural language preprocessing module 402.

[0033] In some embodiments, semantic relationship identifier 420 may be a computer module that may be configured to identify semantic relationships between recognized subjects (e.g., words, phrases, images, etc.) in a query. In some embodiments, semantic relationship identifier 420 may determine functional dependencies and other semantic relationships between entities.

[0034] Consistent with various embodiments, the syntactic relation identifier 422 may be a computer module that may be configured to identify syntactic relations in a query composed of tokens. The syntactic relation identifier 422 may determine the grammatical structure of a sentence, such as which groups of words are related as phrases, which words are subjects or objects of verbs, etc. The syntactic relation identifier 422 may conform to a formal grammar.

[0035] Image recognition module 424 may be a computer module that can be configured to recognize text within unstructured data. For example, in some embodiments, image recognition module 424 may be a computer module having a neural network that can scan the pixels of a document (e.g., a medical journal article, medical data within a slide presentation, a medical report within a word processor, etc.) and recognize various fonts and handwritten characters using various models including pattern matching, pattern recognition, image correlation, etc. Furthermore, in some embodiments, image recognition module 424 may be a neural network configured to recognize and predict the next character within an unstructured data document, also known as a nearest neighbor classifier, e.g., Cuneiform and Tesseract.

[0036] The speech recognition module 426 is a computer module configured to receive a spoken natural language query and convert it into a computer-readable format. In embodiments, an acoustic model can convert the spoken natural language query into wave forms or phonemes. The wave forms or phonemes can be converted into characters associated with the respective wave forms or phonemes. The speech recognition module 426 can also have prediction capabilities to ensure that the correct characters or words are assigned to the wave forms or phonemes based on previously identified objects. For example, using a statistical model (e.g., a hidden Markov model), potential words following an identified word can narrow down the words that must be searched to identify the phoneme or waveform.

[0037] 5 illustrates a computer system 500 in accordance with at least one embodiment of a computing device according to the present invention. Computer system 500 includes a communications fabric 12 that provides communications between computer processor 14, memory 16, persistent storage 18, network adapter 28, and input / output (I / O) interface 26. Communications fabric 12 may be implemented with any architecture designed to pass data or control information, or a combination thereof, between processors (such as microprocessors, communications and network processors), system memory, peripheral devices, and any other hardware components in the system. For example, communications fabric 12 may be implemented using one or more buses.

[0038] Memory 16 and persistent storage 18 are computer-readable storage media. In this embodiment, memory 16 includes random access memory (RAM) 20, cache 22, and program modules 24. Generally, memory 16 may include any suitable volatile or non-volatile computer-readable storage medium. Cache 22 is a high-speed memory that improves performance of processor 14 by retaining recently accessed data, and data near recently accessed data, from memory 16.

[0039] A program / utility having at least one program module 24 may be stored in memory 16, as may, for example, but not limited to, an operating system, one or more application programs, other program modules, and program data. Each of the operating system, one or more application programs, other program modules, and program data, or any combination thereof, may include implementation in a network environment. The program module 24 generally implements the functionality and / or methodology of embodiments of the present invention, as described herein.

[0040] Program instructions and data used to practice embodiments of the present invention may be stored in persistent storage 18 and memory 16 for execution by one or more of the respective processors 14 via cache 22. In an embodiment, persistent storage 18 includes a magnetic hard disk drive. Alternatively, or in addition to a magnetic hard disk drive, persistent storage 18 may include a solid-state hard drive, a semiconductor memory device, a read-only memory (ROM), an erasable programmable read-only memory (EPROM), a flash memory, or any other computer-readable storage medium capable of storing program instructions or digital information.

[0041] The media used by persistent storage 18 may also be removable. For example, a removable hard disk may be used for persistent storage 18. Other examples include optical and magnetic disks, thumb drives, and smart cards that are inserted into a drive for transfer onto another computer-readable storage medium that is also part of persistent storage 18.

[0042] Network adapter 28, in these examples, provides for communication with other data processing systems or devices. In these examples, network adapter 28 includes one or more network interface cards. Network adapter 28 may provide communications through the use of either or both physical and wireless communications links. Program instructions and data used to practice embodiments of the present invention may be downloaded to persistent storage 18 via network adapter 28.

[0043] The I / O interface 26 allows for the input and output of data to and from other devices that may be connected to each computer system. For example, the I / O interface 26 may provide connection to external devices 30, such as a keyboard, keypad, touch screen, or some other suitable input device or combination thereof. The external devices 30 may also include portable computer-readable storage media, such as thumb drives, portable optical or magnetic disks, and memory cards. Software and data used to practice embodiments of the present invention may be stored on such portable computer-readable storage media and loaded into persistent storage 18 via the I / O interface 26. The I / O interface 26 also connects to a display 32.

[0044] Display 32 provides a mechanism for displaying data to a user and may be, for example, a computer monitor or a virtual graphical user interface.

[0045] The components described herein are identified based on the application in which they are implemented in particular embodiments of the invention, however, it should be understood that the nomenclature of any particular component herein is used merely for convenience, and therefore the invention should not be limited to use in any particular application specified and / or implied by such nomenclature.

[0046] The present invention may be a system, method and / or computer program product, which may include a computer-readable storage medium having computer-readable program instructions thereon for causing a processor to perform aspects of the present invention.

[0047] A computer-readable storage medium may be a tangible device capable of retaining and storing instructions for use by an instruction execution device. The computer-readable storage medium may be, by way of example, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or a suitable combination thereof. More specific examples of computer-readable storage media include portable computer diskettes, hard disks, RAM, ROM, EPROM (or flash memory), SRAM, CD-ROMs, DVDs, memory sticks, floppy disks, mechanically encoded devices having instructions recorded on punch cards or ridge-in-groove structures, or the like, and suitable combinations thereof. Computer-readable storage devices, as used herein, should not be construed as ephemeral signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission medium (e.g., light pulses passing through a fiber optic cable), or electrical signals transmitted over wires.

[0048] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to each computer / processing device. Alternatively, they can be downloaded to an external computer or external storage device via a network (e.g., the Internet, a LAN, a WAN, or a wireless network, or a combination thereof). The network can include copper transmission cables, optical fiber transmissions, wireless transmissions, routers, firewalls, switches, gateway computers, or edge servers, or a combination thereof. A network adapter card or network interface within each computer / processing device receives the computer-readable program instructions from the network and transfers the computer-readable program instructions to a computer-readable storage medium in the respective computer / processing device for storage.

[0049] The computer-readable program instructions for carrying out the operations of the present invention can be either assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, configuration data for integrated circuits, or source or object code written in any combination of one or more programming languages, including object-oriented programming languages such as Smalltalk and C++, and procedural programming languages such as the "C" programming language and similar programming languages. The computer-readable program instructions can execute entirely on the user's computer as a stand-alone software package, partially on the user's computer, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter case, the remote computer may be connected to the user's computer via any type of network, including a LAN or WAN, or may be connected to an external computer (e.g., via the Internet using an Internet Service Provider). In some embodiments, electronic circuitry, including, for example, programmable logic circuits, field programmable gate arrays (FPGAs), programmable logic arrays (PLAs), can execute computer-readable program instructions by utilizing state information of the computer-readable program instructions to customize the electronic circuitry for carrying out aspects of the present invention.

[0050] Embodiments of the present invention are described herein with reference to flowchart and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the present invention. Each block of the flowchart and / or block diagrams, and combinations of blocks in the flowchart and / or block diagrams, can be implemented by computer-readable program instructions.

[0051] The computer-readable program instructions may be provided to a processor of a computer or other programmable data processing apparatus to produce a machine, whereby the instructions, executed by the processor of such computer or other programmable data processing apparatus, create means for performing the functions / acts identified in one or more blocks of the flowcharts and / or block diagrams. The computer-readable program instructions may also be stored on a computer-readable storage medium capable of instructing a computer, programmable data processing apparatus, or other device, or combination thereof, to function in a particular manner. The computer-readable storage medium having instructions stored thereon thereby constitutes an article of manufacture including instructions for performing aspects of the functions / acts identified in one or more blocks of the flowcharts and / or block diagrams.

[0052] Computer-readable program instructions may also be loaded into a computer, other programmable device, or other device and a series of operational steps executed on the computer, other programmable device, or other device to create a computer-implemented process, whereby the instructions executing on the computer, other programmable device, or other device perform the functions / operations identified in one or more blocks in the flowcharts and / or block diagrams.

[0053] The flowcharts and block diagrams in the figures of this disclosure 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 a flowchart or block diagram may represent a module, segment, or portion of instructions, including one or more executable instructions for performing specific logical functions. In some implementations, the functions shown in the blocks may be executed in a different order than shown in the figures. For example, two blocks shown in succession may actually be executed substantially concurrently or in reverse order, depending on the functionality involved. Note that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, may be implemented by a dedicated hardware-based system that performs specific functions or operations or executes a combination of dedicated hardware and computer instructions.

[0054] Although this disclosure includes detailed descriptions of cloud computing, it should be understood that implementation of the teachings described herein is not limited to cloud computing environments. Rather, embodiments of the present invention may be practiced in conjunction with any other type of computing environment now known or later developed.

[0055] Cloud computing is a service delivery model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, network bandwidth, servers, processing, memory, storage, applications, virtual machines, and services) that can be rapidly provisioned and released with minimal management effort or interaction with a service provider. This cloud model may include at least five characteristics, at least three service models, and at least four deployment models.

[0056] The characteristics are as follows:

[0057] On-Demand Self-Service: Cloud consumers can unilaterally provision computing capacity, such as server time or network storage, automatically as needed, without the need for human interaction with the service provider.

[0058] Broad network access: Computing power is available over the network and can be accessed through standard mechanisms, facilitating use by heterogeneous thin or thick client platforms (e.g., cell phones, laptops, PDAs).

[0059] Resource Pooling: Computing resources from a provider are pooled and offered to multiple consumers using a multi-tenant model. Various physical and virtual resources are dynamically allocated and reallocated based on demand. Consumers generally have no control or knowledge of the exact location of the resources they are provided with, resulting in a sense of location independence. However, consumers may be able to determine location at a higher level of abstraction (e.g., country, state, data center).

[0060] Rapid Elasticity: Computing capacity can be provisioned quickly and elastically, sometimes automatically, to instantly scale out and quickly release to instantly scale in. To the consumer, the computing power available for provisioning often appears unlimited, and can be purchased at any time and in any quantity.

[0061] Metered Services: Cloud systems leverage measurement capabilities at a level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, active user accounts) to automatically control and optimize resource usage. Resource usage can be monitored, controlled, and reported to provide transparency to both providers and consumers of utilized services.

[0062] The service model is as follows:

[0063] Software as a Service (SaaS): The functionality offered to the consumer is the availability of a provider's applications running on a cloud infrastructure that can be accessed from a variety of client devices through a thin client interface such as a web browser (e.g., webmail). The consumer does not manage or control the underlying cloud infrastructure, including the network, servers, operating systems, storage, or even individual application functionality, except for limited user-specific application configuration settings.

[0064] Platform as a Service (PaaS): The capability offered to consumers is to deploy applications they create or acquire using programming languages and tools supported by the provider onto a cloud infrastructure. The consumer does not manage or control the underlying cloud infrastructure, including the network, servers, operating systems, or storage, but does have control over the deployed applications and, in some cases, the configuration of their hosting environment.

[0065] Infrastructure as a Service (IaaS): The functionality offered to consumers is the provisioning of processors, storage, networking, and other basic computing resources on which they can deploy and run any software, including operating systems and applications. The consumer does not manage or control the underlying cloud infrastructure, but has control over the operating system, storage, and deployed applications, and in some cases partial control over some network components (e.g., host firewalls).

[0066] The deployment model is as follows:

[0067] Private Cloud: This cloud infrastructure is dedicated to a specific organization and can be managed by that organization or a third party, and can exist on-premise or off-premise.

[0068] Community Cloud: This cloud infrastructure is shared by multiple organizations to support a specific community with common concerns (e.g., mission, security requirements, policies, and compliance). This cloud infrastructure can be managed by those organizations or a third party and can exist on-premises or off-premises.

[0069] Public cloud: This cloud infrastructure is available to the general public or large industry organizations and is owned by an organization that sells cloud services.

[0070] Hybrid cloud: This cloud infrastructure combines two or more cloud models (private, community, or public), each of which retains its inherent nuances but is bound by standards or specific technologies that enable data and application portability (e.g., cloud bursting for load balancing between clouds).

[0071] A cloud computing environment is a service-oriented environment that emphasizes statelessness, low coupling, modularity, and semantic interoperability. At the core of cloud computing is an infrastructure that includes a network of interconnected nodes.

[0072] FIG. 6 illustrates an exemplary cloud computing environment 50. As shown, the cloud computing environment 50 includes one or more cloud computing nodes 10, with which local computing devices used by cloud consumers (e.g., PDAs or cell phones 54A, desktop computers 54B, laptop computers 54C, or automobile computer systems 54N, or combinations thereof) can communicate. The nodes 10 can communicate with each other. The nodes 10 can be physically or virtually grouped (not shown) in one or more networks, such as the private, community, public, or hybrid clouds described above, or combinations thereof. This enables the cloud computing environment 50 to provide infrastructure, platform, or software as a service, or combinations thereof, for which cloud consumers are not required to maintain resources on their local computing devices. It should be understood that the types of computing devices 54A-N illustrated in FIG. 6 are merely exemplary, and that the computing nodes 10 and the cloud computing environment 50 can communicate with any type of electronic device via any type of network or network-addressable connection (e.g., using a web browser), or both.

[0073] A set of functional abstraction layers provided by the cloud computing environment 50 (FIG. 6) is now shown in FIG. 7. It should be understood in advance that the components, layers, and functions shown in FIG. 7 are merely exemplary, and embodiments of the present invention are not limited thereto. As shown, the following layers and corresponding functions are provided:

[0074] Hardware and software layer 60 includes hardware and software components. Examples of hardware components include mainframe 61, reduced instruction set computer (RISC) architecture-based server 62, server 63, blade server 64, storage device 65, and network and network components 66. In some embodiments, software components include network application server software 67 and database software 68.

[0075] The virtualization layer 70 provides an abstraction layer from which the following virtual entities can be provided, for example: virtual servers 71, virtual storage 72, virtual networks including virtual private networks 73, virtual applications and operating systems 74, and virtual clients 75.

[0076] By way of example, the management layer 80 may provide the following functionality: Resource provisioning 81 enables dynamic procurement of computing and other resources utilized to execute tasks within the cloud computing environment. Metering and pricing 82 enables cost tracking as resources are utilized within the cloud computing environment and billing or invoicing for the consumption of these resources. By way of example, these resources may include application software licenses. Security enables identification and verification of cloud consumers and tasks, as well as protection for data and other resources. User portal 83 provides consumers and system administrators with access to the cloud computing environment. Service level management 84 enables allocation and management of cloud computing resources so that requested service levels are met. Service level agreement (SLA) planning and fulfillment 85 enables advance arrangement and procurement of anticipated future cloud computing resources required in accordance with SLAs.

[0077] The workload layer 90 provides examples of functionality available in a cloud computing environment. Examples of workloads and functionality that can be provided from this layer include mapping and navigation 91, software development and lifecycle management 92, virtual classroom instruction delivery 93, data analytics processing 94, transaction processing 95, and domain-specific reasoning-based semantic representation generation 96.

[0078] The description of various embodiments of the present invention has been presented for purposes of illustration and is not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope of the present invention. The terms used herein have been selected to best explain the principles of the embodiments, practical applications or technical improvements over commercially available technology, or to enable those skilled in the art to understand the embodiments disclosed herein.

Claims

1. 1. A computer-implemented method for generating a domain-specific, reasoning-based semantic representation of a query, the computer-implemented method comprising: receiving, by a processor, a query from a user, the query being handwritten text contained in unstructured data; scanning a plurality of pixels within the unstructured data based on a neural network associated with an image recognition module; predicting, by the processor, a plurality of characters based on the scan; identifying, by the processor, words from the predicted characters based on pattern matching or pattern recognition; tokenizing, by the processor, each identified word in the query based on a natural language processing system; converting, by the processor, the query into structured suggestions based on each of the tokenized words; generating, by the processor, the inference-based semantic representation of the structured proposal, where generating the inference-based semantic representation of the structured proposal includes identifying one or more concepts associated with the structured proposal; assigning one or more properties to each of the one or more identified concepts, where the one or more properties are based at least in part on universal facts; and recognizing whether the one or more properties are one of a measurable property, an aggregation of measurable properties, a ranking of properties, a count of properties, and a time-related property; determining, by the processor, whether the structured proposal is consistent based on a domain reasoning knowledge base and a semantic representation based on the reasoning; and modifying, by the processor, the structured suggestions in response to determining that the structured suggestions are inconsistent.

2. The computer-implemented method of claim 1 , further comprising transmitting, by the processor, the reasoning-based semantic representation to a question / answer engine.

3. 1. A computer system for generating a domain-specific, reasoning-based semantic representation of a query, the computer system comprising: a processor; a readable storage medium; and computer program instructions that cause the processor to: receiving a query from a user, the query being handwritten text contained in unstructured data; scanning a plurality of pixels within the unstructured data based on a neural network associated with an image recognition module; predicting a plurality of characters based on the scan; identifying words from the predicted characters based on pattern matching or pattern recognition; tokenizing each identified word in the query based on a natural language processing system; converting the query into structured suggestions based on each of the tokenized words; generating the inference-based semantic representation of the structured proposal, where generating the inference-based semantic representation of the structured proposal includes identifying one or more concepts associated with the structured proposal; assigning one or more properties to each of the one or more identified concepts, where the one or more properties are based at least in part on universal facts; and recognizing whether the one or more properties are one of a measurable property, an aggregation of measurable properties, a ranking of properties, a count of properties, and a time-related property; determining whether the structured proposal is consistent based on a domain reasoning knowledge base and a semantic representation based on the reasoning; and modifying the structured suggestions in response to determining that the structured suggestions are inconsistent.

4. The computer system of claim 3, wherein the computer program instructions further cause the processor to send the semantic representation based on the inference to a question / answer engine.

5. A computer program for generating a domain-specific inference-based semantic representation of a query, the computer program comprising: receiving a query from a user, the query being handwritten text contained in unstructured data; scanning a plurality of pixels within the unstructured data based on a neural network associated with an image recognition module; predicting a plurality of characters based on the scan; identifying words from the predicted characters based on pattern matching or pattern recognition; tokenizing each identified word in the query based on a natural language processing system; converting the query into structured suggestions based on each of the tokenized words; generating the inference-based semantic representation of the structured proposal, where generating the inference-based semantic representation of the structured proposal includes identifying one or more concepts associated with the structured proposal; assigning one or more properties to each of the one or more identified concepts, where the one or more properties are based at least in part on universal facts; and recognizing whether the one or more properties are one of a measurable property, an aggregation of measurable properties, a ranking of properties, a count of properties, and a time-related property; determining whether the structured proposal is consistent based on a domain reasoning knowledge base and a semantic representation based on the reasoning; and modifying the structured suggestions in response to determining that the structured suggestions are inconsistent.

6. The computer program of claim 5, further causing the computer to transmit a semantic representation based on the inference to a question / answer engine.

Citation Information

Patent Citations

  • Language understanding device, language understanding method, and computer program

    JP2008146150A

  • Approximate Template Matching for Natural Language Queries

    JP2019525272A