Extracting meaning representations from text

By using semantic primitives and NSM theory for syntactic analysis and semantic information detection, a computable meaning representation is generated, which solves the problems of insufficient accuracy and cross-domain adaptability of existing NLU systems and achieves efficient semantic parsing.

CN114175016BActive Publication Date: 2025-11-04INTERNATIONAL BUSINESS MACHINE CORPORATION
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202080053336.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-08-21
Filing Date
2020-08-18
Publication Date
2025-11-04
Estimated Expiration
2040-08-18

AI Technical Summary

Technical Problem

Existing technologies cannot effectively provide computer systems with natural language understanding (NLU), and existing methods are not accurate enough when dealing with complex languages ​​and cross-domain applications.

Method used

Employing semantic primitives and Natural Semantic Meta-Language (NSM) theory, this method generates computable meaning representations through syntactic analysis, semantic information detection, and combination, making it suitable for multilingual and multi-domain applications.

Benefits of technology

It achieves accurate semantic parsing across domains, avoids the need for retraining in specific domains, and improves the accuracy and versatility of NLU systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114175016B_ABST
    Figure CN114175016B_ABST
Patent Text Reader

Abstract

Methods, systems, and computer program products for extracting meaning representations from text are provided herein. A computer-implemented method includes performing a syntactic analysis of a text snippet to derive a syntactic structure, selecting one or more predefined syntactic structure templates corresponding to the derived syntactic structure, the one or more predefined syntactic structure templates defining different combinations of semantic primitives and semantic features corresponding to the semantic primitives, detecting semantic information in the text snippet, wherein the semantic information includes at least one of the semantic primitives and one or more of the corresponding semantic features, identifying one of the selected predefined syntactic structure templates that matches the derived syntactic structure and the detected semantic information in the text snippet, generating a computable meaning representation of the text snippet based at least in part on the identifying, and outputting the computable meaning representation to a natural language understanding application.
Need to check novelty before this filing date? Find Prior Art

Description

BACKGROUND

[0001] The present application relates generally to information technology, and more particularly, to natural language understanding in artificial intelligence.

[0002] Natural language understanding (NLU) involves, for example, machine reading comprehension, and is generally considered one of the more difficult problems in artificial intelligence. There is considerable interest in NLU due to its many applications, including, for example, automated reasoning, machine translation, and voice activation. Existing technology in computer science is generally limited to natural language processing (NLP) and information extraction (IE) systems. These systems do not provide true NLU capabilities. Additionally, the definition of the word "meaning" in theoretical linguistics and semantics is still inconsistent, and none of the several approaches to the word "meaning" in theoretical semantics are available to establish a computer-based system for NLU. SUMMARY

[0003] In one embodiment of the subject matter described herein, techniques are provided for extracting meaning representations from text. An example method includes the steps of performing syntactic analysis of at least one text snippet to derive a syntactic structure of the text snippet; selecting one or more predefined syntactic structure templates corresponding to the derived syntactic structure, wherein each of the predefined syntactic structure templates defines different combinations of semantic primitives and corresponding semantic features for the derived syntactic structure; detecting semantic information in the text snippet, wherein the semantic information includes (i) at least one of the semantic primitives and (ii) one or more of the corresponding semantic features; identifying one of the selected predefined syntactic structure templates that matches the derived syntactic structure and the detected semantic information in the text snippet; generating a computable meaning representation of the text snippet based at least in part on the identifying; and outputting the computable meaning representation to one or more natural language understanding applications.

[0004] Another embodiment of the application, or of elements thereof, can be implemented in a computer program product, i.e., a computer program tangibly embodied in a machine-readable storage medium, for execution by a computer processor. Methods of this application, or elements thereof, can be realized

[0005] These and other objects, features, and advantages of the present application will become apparent with reference to the following detailed description of illustrative embodiments thereof, which are shown in the accompanying drawings. BRIEF DESCRIPTION OF DRAWINGS

[0006] Embodiments of the present application will now be described, by way of example only, with reference to the accompanying drawings:

[0007] Figure 1 is a diagram illustrating a system architecture according to an example embodiment of the present application;

[0008] Figure 2 is a diagram illustrating a semantic information detector according to an example embodiment;

[0009] Figure 3 is a diagram illustrating a syntax structure with associated possible meanings according to an example embodiment;

[0010] Figure 4 is a flow diagram illustrating a technique according to an embodiment of the present application;

[0011] Figure 5 is a system diagram of an example computer system on which at least one embodiment of the present application can be implemented;

[0012] Figure 6 a cloud computing environment according to an embodiment of the present application is shown; and

[0013] Figure 7 an abstraction model layer according to an embodiment of the present application is shown. DETAILED DESCRIPTION

[0014] As noted above, the prior art does not provide computer-based systems that supply true NLU capabilities. Systems that convert text into its meaning representation are known as semantic parsers. Generally, there are two cases in semantic parsing, namely open domain and closed domain. In the case of closed domain, it is assumed that the input text is only from a given domain and there is some representation of that domain. For example, ontologies are often used as domain knowledge representation. Ontologies typically include concepts and relationships active in a domain. For example, if the domain is buying airplane tickets, the ontology includes concepts such as ticket, flight, destination, city, state, country, price, non-stop, etc. Examples of relationships in this domain include ticket purchased, price paid for ticket, departure city of flight, etc.

[0015] There are several approaches to detecting what concepts and relations are present in input text given a certain ontology. One approach is a rule-based system that has a traditional NLP pipeline consisting of a dependency parser and a rule matching engine. These systems apply preconfigured rules to dependency trees generated from each input sentence to search for matches that indicate what concepts and relations from the ontology are present. The detected concepts and relations are taken as the meaning representation. This meaning representation can also be used in a specific NLU task, such as a natural language interface to a database, by its conversion to a corresponding SQL query.

[0016] This approach has several drawbacks. First, the ontology typically needs to be known in advance, which is problematic for a wide range of knowledge domains. Second, dependency parsing tends to be error-prone, resulting in relatively inaccurate systems (about 60-70%). Additionally, the rules need to be created in advance, which is not only time-consuming but also error-prone.

[0017] Another approach to semantic parsing is based on deep learning (DL) techniques, where a parser is trained on a large corpus of annotated sentences and their meaning representations in logical form. This type of approach has the drawback of requiring a large corpus of annotated data. Additionally, within this corpus, only very simple meaning structures are possible. Thus, these systems also tend to be inaccurate, especially when the system is trained in one domain and then presented with questions from another, different domain. This is the case when the system learns the mapping from text to structured representation within a set of examples provided in the training corpus.

[0018] Human language is very complex, and these approaches are typically not adequate for complex cases or when the system is presented with questions from different domains.

[0019] The example embodiments herein describe techniques for computationally representing text meaning. Generally, these techniques represent meaning as a combination of general meaning primitives and their features. For example, meaning can be extracted computationally by applying semantic primitives and natural semantic metalanguage (NSM) theory to extract meaning representations.

[0020] NSM is used for 70+ languages and also handles multiple language concepts. NSM assumes that meaning can be represented by a very small number (i.e., sixty-four) of semantic primitives. Semantic primitives are general in that they can be translated into any known language and preserve their semantic representation. Semantic primitives are also primitive in that they correspond to the simplest language concepts and cannot be defined using simpler terms. NSM also provides rules about how these semantic primitives interact with each other. Semantic analysis in NSM results in a reduced interpretation called an “explanation” that captures the meaning of the interpreted concepts. The following is an example of an NSM explanation:

[0021] Someone X is happy (at this time):

[0022] • Someone X thinks (at this time) that:

[0023] o "A lot of good things happened to me as I wished

[0024] o I can now do a lot of things as I wish

[0025] o This is good"

[0026] • Thus, someone feels good at this time

[0027] o As someone can feel at this time when they think this

[0028] Now turning to Figure 1 , the figure is a diagram illustrating a system architecture 100 according to an example embodiment. The architecture 100 includes a syntax structure parser 110, a syntax template selector 115, a semantic information detector 125, a semantic information combiner 130, and a meaning extractor 135.

[0029] The syntax parser 110 obtains one or more segments of text 105 and analyzes the segments to derive syntax structures. This can be done, for example, by using a constituent or dependency parser. The syntax template selector 115 selects one or more syntax structure templates 120 corresponding to the derived syntax structures. Note that each of the syntax structure templates 120 defines how to combine semantic primitives and their features. The syntax structure templates 120 can be pre-determined via offline processing (e.g., based on manual language analysis).

[0030] The semantic information detector 125 detects semantic primitives and their features in the text segments 105. The detection can be performed using a DL model trained on a large corpus (e.g., about 100,000 sentences) of semantic primitives. In this way, generic building blocks are detected regardless of the domain used, and these building blocks can be easily used by any application. In this way, the semantic information detector 125 only needs to be trained once and does not need to be retrained for specific domains and / or specific applications.

[0031] Referring also to Figure 2 , the figure depicts a NSM semantic information detector 205 according to at least one example embodiment. The NSM semantic information detector 205 can correspond to, for example, Figure 1NSM semantic information detector 205. The NSM semantic information detector 205 includes a plurality of NSM detectors 210-1, 1... 210-64 (collectively, NSM detectors 210), where each of the NSM detectors is configured to detect one of sixty-four semantic primitives and its features. Each of the NSM detectors 210 can be based on a DL method, such as a bidirectional-long term memory (Bi-LSTM) with an attention model.

[0032] The semantic information combiner 130 uses the syntactic structure templates selected by the syntactic template selector 115 to combine the detected semantic primitives and their features. The meaning extractor 135 determines which of the selected syntactic structure templates guarantees a match between the syntactic structure of the text snippet and the semantic information output by the semantic information detector 125, and outputs a meaning representation 140 of the text snippet based on the match. The meaning representation can then be used by one or more NLU applications 145.

[0033] Thus, a series of processing steps can include the following:

[0034] 1. Parse the input text (such as by a constituent parser or dependency parser).

[0035] 2. Pre-prepared syntactic templates are applied to the parsed text to find matches. In at least one example, the syntactic templates are equivalent to sub-trees of dependency trees (such as subject-verb-object, noun-preposition-noun, etc.). Each template has a plethora of meanings associated with it, where each meaning depends on the semantic properties of the words that trigger the given syntactic pattern.

[0036] 3. The input text is passed through a semantic detector, which determines the semantic properties of the input text and its words based on, as a non-limiting example, NSM theory.

[0037] 4. Given the semantic features determined from step 3, it can be determined which of the potential meanings of a given syntactic structure are actually present in the input text.

[0038] Reference is now made to Figure 3FIG. 3, which depicts a syntax structure 305, in accordance with example embodiments. In this example, the syntax structure 305 is "NP1 (person) V NP2 (person) NP3 (thing)", where NP denotes a noun phrase and V denotes a verb. The syntax structure 305 corresponds to the internal dative in English (see, e.g., Wierzbicka, A., The Semantics of Grammer, Vol. 18, John Benjamins Publishing Company, 1988). The syntax structure 305 includes eight corresponding types 310. Each type 310 is distinct and provides a template for how to combine the semantic primitives of a given syntax structure 305 and their characteristics. For example, Type 1 - Transfer provides the following template:

[0039] NP1 does something to NP3

[0040] NP2 wants NP3

[0041] something happens to NP3

[0042] NP3 can be thought of at this time

[0043] NP2 will have NP3

[0044] As can be seen, in Type 1 - Transfer, NP3 will primarily denote a physical, concrete object and the verb will very often indicate that the object denoted by NP3 is in motion (semantic primitive); whereas in Type 6 - Telling, NP3 will generally denote a word, as this type involves the exchange of information.

[0045] Once all semantic primitive detectors have been applied to the input text, Figure 3 Each of the eight types shown in FIG. 3 can be distinguished from each of the other types. After the semantic primitive detectors have been applied, the meaning extractor 135 determines the meaning of the input text (i.e., which of the types).

[0046] As another example, Type 6 - Telling provides the following template:

[0047] NP1 says something to NP2

[0048] NP2 wants NP3

[0049] something happens to NP3

[0050] NP3 can be thought of at this time

[0051] NP2 will Know NP3

[0052] Based on the foregoing description, templates corresponding to other types 310 will be apparent to those skilled in the art.

[0053] To determine the meaning of an input sentence having a particular syntactic structure, all of the semantic information of the sentence is composed according to the corresponding template. The meaning of the input sentence is then equal to the template that produces a match between the form (i.e., syntax) and content (i.e., semantics). For example, the syntactic structure of the input sentence "Jim threw Betty an apple" corresponds to the syntactic structure 305 in Figure 3 "Jim threw Betty an apple" (i.e., the instrumental case in English). The semantic information of the sentence is then combined according to the different type templates 310 to find a match. For this example, the input sentence "Jim threw Betty an apple" matches type 1-Transfer. As another example, the input sentence "Bill emailed Sue the news" matches type 6-Telling.

[0054] According to example embodiments, semantic primitives and their corresponding features can be detected for a text snippet such that each of these features has a separate representation. Thus, semantic information for a given input text can include data representing one or more of the sixty-four semantic primitives, as well as data representing each of the features corresponding to these semantic primitives. For example, if the semantic primitive MOTION is detected in an input sentence, the semantic information can include a data representation of MOTION, as well as a data representation of the features corresponding to the semantic primitive MOTION. The features corresponding to the semantic primitive MOTION can include, for example, what object in the input sentence is in motion, and any additional information about the features of the motion itself, whether the object is in motion by itself (e.g., exerting a force for the motion) or by exerting a force from another object, whether the starting point of the motion is indicated, etc. As an example, if the input is "Jack jumped from cliff," the output data representation can indicate that (i) there is motion, (ii) Jack is the object of motion, (iii) the motion is mostly vertical, (iv) the starting point of the motion is the cliff, etc. The data representation can include, for example, one or more graphs showing the semantic primitives, the features of the semantic primitives, and the relationships between them.

[0055] Figure 4is a flowchart of a process 400 according to example embodiments of the subject matter described herein. Step 402 includes performing syntactic analysis on at least one text segment to derive a syntactic structure of the text segment. Step 404 includes selecting one or more predefined syntactic structure templates corresponding to the derived syntactic structure, where each of the predefined syntactic structure templates defines different combinations of semantic primitives and corresponding semantic features of the derived syntactic structure. Step 406 includes detecting semantic information in the text segment, where the semantic information includes (i) at least one of the semantic primitives and (ii) one or more of the corresponding semantic features. Step 408 includes identifying one of the selected predefined syntactic structure templates that matches the derived syntactic structure and the detected semantic information in the text segment. Step 410 includes generating a computable meaning representation of the text segment based at least in part on the identifying. Step 412 includes outputting the computable meaning representation to one or more natural language understanding applications.

[0056] The syntactic analysis can be performed by a constituent parser or a dependency parser. The one or more predefined syntactic structure templates can be selected from a plurality of predefined syntactic structure templates defined by offline language analysis. The detecting in step 406 can include providing the text segment as input to at least one trained neural network, where the at least one trained neural network outputs the semantic information. The at least one trained neural network can include a bidirectional-long short-term memory (B-LSTM) model with attention. The at least one trained neural network can be trained to detect each of a plurality of semantic primitives across multiple domains. The at least one semantic primitive can be detected from a set of sixty-four semantic primitives. The process 400 can include obtaining the at least one text segment from one or more of: a text file, an audio file, an image file, and a video file.

[0057] As described herein, Figure 4 The technology depicted in FIG. 8 can also include providing a system, where the system includes different software modules, each of which is contained on a tangible computer-readable recordable storage medium. For example, all of the modules (or any subset thereof) can be on the same medium, or each module can be on a different medium. The modules can include any or all of the components shown in the figures and / or described herein. In embodiments of the application, the modules can be, for example, run on a hardware processor. The method steps can then be performed using the different software modules of the system executing on the hardware processor as described above. Moreover, a computer program product can include a tangible computer-readable recordable storage medium having code

[0058] Additionally,Figure 4 The technology depicted in the middle can be implemented via a computer program product that can include a computer usable program code stored in a computer readable storage medium in a data processing system, and wherein the computer usable program code is downloaded from a remote data processing system through a network. Further, in embodiments of the present invention, the computer program product can include a computer usable program code stored in a computer readable storage medium in a server data processing system, and wherein the computer usable program code is downloaded through a network to a remote data processing system for use in a computer readable storage medium associated with the remote system.

[0059] Embodiments of the present invention or elements thereof can be realized in the form of an apparatus including a memory and at least one processor coupled to the memory and configured to perform exemplary method steps.

[0060] Additionally, embodiments of the present invention can utilize software running on a computer or workstation. With reference to Figure 5 such implementation can employ, for example, a processor 502, a memory 504, and input / output interfaces formed, for example, by a display 506 and a keyboard 508. The term "processor" as used herein is intended to include any processing device, such as including a CPU (central processing unit) and / or other form of processing circuitry. Further, the term "processor" can refer to more than one individual processor. The term "memory" is intended to include memory associated with a processor or CPU, such as, for example, RAM (random access memory), ROM (read only memory), a fixed memory device (for example, hard drive), a removable memory device (for example, a diskette), flash memory, etc. In addition, the phrase "input / output interface" as used herein is intended to include, for example, a mechanism for inputting data to the processing unit (for example, a mouse) and a mechanism for providing results associated with the processing unit (for example, a printer). The processor 502, the memory 504, and the input / output interfaces such as the display 506 and the keyboard 508 can be interconnected, for example, via a bus 510 that is part of a data handling unit 512. Suitable interconnection via bus 510 can also be provided to a network interface 514, such as, for example, a network card, which can be provided to interface with a computer network, and to a media interface 516, such as, for example, a disk or CD-ROM drive, which can be provided to interface to media 518.

[0061] Accordingly, computer software including instructions or code for performing the processes of the application as described herein can be stored in associated memory devices (e.g., ROM, fixed or removable memory) and, when ready to be utilized, loaded into the CPU and implemented. Such software can include, but is not limited to, firmware, resident software, microcode, etc.

[0062] A data processing system suitable for storing and / or executing program code will include at least one processor 502 coupled directly or indirectly to memory elements 504 through a system bus 510. The memory elements can include local memory employed during actual implementation of the program code, mass storage, and cache memory providing temporary storage of at least some program code in order to reduce the number of times code must be retrieved from mass storage during implementation.

[0063] Input / output or I / O devices (including but not limited to keyboards 508, displays 506, pointing devices, etc.) can be coupled to the system either directly (such as via bus 510) or through intervening I / O controller (omitted for clarity).

[0064] Network adapters such as network interface 514 can also be coupled to the system to enable the data processing system to become coupled to other data processing systems or remote printers or storage devices through intervening private or public networks. Modems, cable modem and Ethernet cards are just a few of the currently available types of network adapters.

[0065] As used herein, including in the claims (so long as such usage is Figure 5 is shown). It will be appreciated that such a physical server can or can not include a display and keyboard.

[0066] The present application can be a system, a method, and / or a computer program product at any possible technical detail level of integration. The computer program product can include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out embodiments of the present application.

[0067] The computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device. The computer readable storage medium can be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of the computer readable storage medium includes the following: 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), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing. A computer readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted via a wire cable.

[0068] Computer readable program instructions described herein can be downloaded to respective computing / processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and / or a wireless network. The network can comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and / or edge servers. A network adapter card or network interface in each computing / processing device receives computer readable program instructions from the network and forwards the computer readable program instructions into the computing / processing device for storage in a computer readable storage medium within the respective computing / processing device.

[0069] Computer readable program instructions for carrying out operations of the present application can be assembly instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, configuration data for an integrated circuit, or source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++ or the like, and procedural programming languages, such as the "C" programming language or similar programming languages. The computer readable program instructions can 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 can 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 can be made to an external computer (for example, through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) can execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform embodiments of the present application.

[0070] The computer readable program instructions can also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions / acts specified in the flowchart and / or block diagram block or blocks.

[0071] These computer readable program instructions can 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 readable program instructions can also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and / or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including

[0072] The computer readable program instructions can also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions / acts specified in the flowchart and / or block diagram block or blocks.

[0073] The computer program product of the second aspect can include a computer readable storage medium. The computer readable storage medium can include transitory signals and / or non-transitory signals. The computer readable storage medium can include a computer readable storage medium having instructions stored thereon that, when executed by a machine, cause the machine to perform operations according to any of the methods described herein. The computer readable storage medium can include a computer readable storage medium having instructions stored thereon that, when executed by a machine, cause the machine to perform operations according to any of the methods described herein.

[0074] It should be noted that any of the methods described herein can include an additional step of providing a system comprising different software modules implemented on a computer readable storage medium; the modules can include, for example, any or all of the components described herein in detail. The method steps can then be performed using the different software modules and / or sub-modules of the system as described above, executed on hardware processor 502. Further, a computer program product can include a computer readable storage medium having code adapted to be implemented to perform at least one method step described herein, including providing a system with different software modules.

[0075] In any case, it should be noted that the components illustrated herein can be implemented in various forms depending on the particular implementation, e.g., as specialized hardware, as software executed by a specialized or general purpose computer, or as a combination of both. Any implementation described herein can be implemented in one or more computer programs or software modules that execute on a computer or other hardware processor, and that include one or more sets of instructions to be executed by the computer or processor. The software modules can be stored in memory, for example, and implemented using an operating system, for example. The instructions can be implemented in one or more computer languages, and at one or more levels of abstraction. Software can include machine code and / or high-level languages.

[0076] Also, it is to be understood that, while the disclosure includes detailed descriptions of cloud computing, the teachings of the disclosure are not limited to cloud computing environments. Rather, embodiments of the application are capable of functioning with any other types of computing environments now known or later developed.

[0077] Cloud computing is a model of service delivery 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 provider of the service. This cloud model can include at least five characteristics, at least three service models, and at least four deployment models.

[0078] Features are as follows:

[0079] On-demand self-service: cloud consumers can unilaterally provision computing capabilities, such as server time and network storage, as needed automatically without requiring human interaction with the service's provider.

[0080] Broad network access: capabilities are available over a network and accessed through standard mechanisms that promote use by heterogeneous thin or thick client platforms (e.g., mobile phones, laptops, and PDAs).

[0081] Resource pooling: the provider's computing resources are pooled to serve multiple consumers using a multi-tenant model, with different physical and virtual resources dynamically assigned and reassigned according to demand. There is a sense of location independence in that the consumer generally has no control or knowledge over the exact location of the provided resources but can be able to specify location at a higher level of abstraction (e.g., country, state, or datacenter).

[0082] Rapid elasticity: capabilities can be rapidly and elastically provisioned, in some cases automatically, to quickly scale out and rapidly scale in. To the consumer, the provider's ability to provision capabilities on-demand and in near real-time allows for rapidly adjusting to changing business demand.

[0083] Measured service: cloud systems automatically control and optimize resource use by leveraging utilization of resources in an efficient manner, such as in the form of tenancy in a pool of shared resources. Resource usage can be monitored, controlled, and reported providing transparency for both the provider and consumer of the utilized service.

[0084] Service models are as follows:

[0085] Software as a Service (SaaS): the capability provided to the consumer is to use the provider's applications running on a cloud infrastructure. The applications are accessible from various client devices through a thin client interface such as a web browser (e.g., web-based e-mail). The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, storage, or even individual application capabilities, with the possible exception of limited user-specific application configuration settings.

[0086] Platform as a Service (PaaS): the capability provided to the consumer is to deploy onto the cloud infrastructure consumer-created or acquired applications created using programming languages and tools supported by the provider. The consumer does not manage or control the underlying cloud infrastructure including networks, servers, operating systems, or storage, but has control over the deployed applications and possibly application hosting environment configurations.

[0087] Infrastructure as a Service (laaS): the capability provided to the consumer is to provision processing, storage, networks, and other fundamental computing resources where the consumer is able to deploy and run arbitrary software, which can include operating systems and applications. The consumer does not manage or control the underlying cloud infrastructure but has control over operating systems, storage, deployed applications, and possibly limited control of select networking components (e.g., host firewalls).

[0088] Deployment models are as follows:

[0089] Private cloud: the cloud infrastructure is operated solely for an organization. It can be managed by the organization or a third party and can exist on-premises or off-premises.

[0090] Community cloud: the cloud infrastructure is shared by several organizations and supports mission-oriented business

[0091] Public cloud: the cloud infrastructure is made available to general public or a large industry group and is owned by an organization selling cloud services.

[0092] Hybrid cloud: the cloud infrastructure is a composition of two or more clouds (private, community, or public) that remain unique entities but are bound together by standardized or proprietary technologies that enable data and application portability.

[0093] Cloud computing environments are service-oriented, focusing on statelessness, loose coupling, modularity, and semantic interoperability. At the core of cloud computing is an infrastructure comprising a network of interconnected nodes.

[0094] Referring now to the drawing Figure 6 , illustrative cloud computing environment 50 is depicted. As shown, cloud computing environment 50 includes one or more cloud computing nodes 10 with which local computing devices used by cloud consumers, such as, for example, personal digital assistant (PDA) or cellular telephone 54A, desktop computer 54B, laptop computer 54C, and / or automobile computer system 54N can communicate. Nodes 10 can communicate with one another. They can be grouped (not shown) physically or virtually, in one or more networks, such as Private, Community, Public, or Hybrid clouds as described hereinabove, or a combination thereof. This allows cloud computing environment 50 to offer infrastructure, platforms and / or software as services with Figure 6The types of computing devices 54A-N illustrated in FIG. 54 are intended to be illustrative only and computing nodes 10 and cloud computing environment 50 can communicate with any type of computerized device over any type of network and / or network-addressable connection (e.g., using a web browser).

[0095] Referring now to Figure 7 , a set of functional abstraction layers are shown provided by cloud computing environment 50 Figure 6 It should be previously understood that Figure 7 The components, layers, and functions shown in FIG. 54 are intended to be illustrative only and embodiments of the application are not limited thereto. As depicted, the following layers and corresponding functions are provided:

[0096] Hardware and software layer 60 includes hardware and software components. Examples of hardware components include: mainframes 61; RISC (Reduced Instruction Set Computer) architecture based servers 62; servers 63; blade servers 64; storage devices 65; and networks and networking components 66. In some embodiments, software components include network application server software 67 and database software 68.

[0097] Virtualization layer 70 provides an abstraction layer from which the following examples of virtual entities can be provided: virtual servers 71; virtual storage 72; virtual networks 73, including virtual private networks; virtual applications and operating systems 74; and virtual clients 75. In one example, management layer 80 can provide the functions described below. Resource provisioning 81 provides dynamic procurement of computing resources and other resources that are utilized to perform tasks within the cloud computing environment. Metering and Pricing 82 provide cost tracking as resources are utilized within the cloud computing environment, and billing or invoicing for consumption of these resources. In one example, these resources can include application software licenses. Security provides identity verification for cloud consumers and tasks, as well as protection for data and other resources. User portal 83 provides access to the cloud computing environment for consumers and system administrators. Service level management 84 provides cloud computing resource allocation and management such that required service levels are met. Service Level Agreement (SLA) planning and fulfillment 85 provide pre-arrangement for, and procurement of, cloud computing resources according to demand that is anticipated from the SLA planning.

[0098] In one example, these resources can include application software licenses. Security provides identity verification for cloud consumers and tasks, as well as protection for data and other resources. User portal 83 provides access to the cloud computing environment for consumers and system administrators. Service level management 84 provides cloud computing resource allocation and management such that required service levels are met. Service Level Agreement (SLA) planning and fulfillment 85 provide pre-arrangement for, and procurement of, cloud computing resources according to demand that is anticipated from the SLA planning.

[0099] Workloads layer 90 provides examples of functionality for which the cloud computing environment can be utilized. Examples of workloads and functions which can be provided from this layer include: mapping and navigation 91; software development and lifecycle management 92; virtual classroom education delivery 93; data analytics processing 94; transaction processing 95; and sentiment representation extraction 96 in accordance with one or more embodiments of the application.

[0100] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the present application. 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, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, steps, operations, elements, components, and / or groups thereof.

[0101] The technical effect of one or more example embodiments disclosed herein represents a computationally way of representing the meaning of a text snippet across domains, which can be used by different NLU applications, without limiting in any way the scope, interpretation or application of the claims that appear below. Another technical effect of one or more example embodiments disclosed herein is avoiding the need to retrain a semantic detector for different domains and different applications.

[0102] The description of various embodiments of the present application has been presented for purposes of illustration, but is not intended to be exhaustive or limited to the embodiments 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 described embodiments. The terminology used herein was chosen to best explain the principles of the embodiments, the practical application or technical improvement over technologies found in the marketplace, or to enable others skilled in the art to understand the embodiments disclosed herein.

Claims

1. A computer-implemented method, the method comprising: Perform syntactic analysis on at least one text segment to derive the syntactic structure of the text segment; Select one or more predefined grammatical structure templates corresponding to the exported grammatical structure, wherein each predefined grammatical structure template defines a semantic primitive of the exported grammatical structure and different combinations of semantic features corresponding to the semantic primitive; Detecting semantic information in the text fragment, wherein the semantic information includes (i) at least one of the semantic primitives and (ii) one or more of the corresponding semantic features, wherein the detection includes providing the text fragment as input to at least one trained neural network; Identify a predefined grammar structure template from the selected predefined grammar structure template that matches the derived grammar structure and the semantic information detected in the text fragment; Generate a computable meaning representation of the text fragment based at least in part on the recognition; and Output the computable meaning representation to one or more natural language understanding applications; The method is performed by at least one computing device.

2. The computer-implemented method as described in claim 1, characterized in that, The parsing is performed by at least one of the following: a component parser and a dependency parser.

3. The computer-implemented method according to claim 1, wherein, The one or more predefined grammar structure templates are selected from a plurality of predefined grammar structure templates defined by offline language analysis.

4. The computer-implemented method according to claim 1, wherein, The semantic information is output by at least one trained neural network.

5. The computer-implemented method according to claim 4, wherein, The at least one trained neural network includes a bidirectional long short-term memory (B-LSTM) model with attention.

6. The computer-implemented method according to claim 4, wherein, The at least one trained neural network is trained to detect each of a plurality of semantic primitives across multiple domains.

7. The computer-implemented method according to claim 1, wherein, The at least one semantic primitive is detected from a set of sixty-four semantic primitives.

8. The computer-implemented method according to claim 1, further comprising: The at least one text fragment can be obtained from one or more of the following: a text file, an audio file, an image file, and a video file.

9. A computer program product comprising a computer-readable storage medium, the computer-readable storage medium containing program instructions executable by a computing device to cause the computing device to: Perform syntactic analysis on at least one text segment to derive the syntactic structure of the text segment; Select one or more predefined syntax structure templates corresponding to the exported syntax structure, where, Each predefined grammar structure template in the predefined grammar structure template defines the semantic primitives of the derived grammar structure and different combinations of semantic features corresponding to the semantic primitives; Detecting semantic information in the text fragment, wherein the semantic information includes (i) at least one of the semantic primitives and (ii) one or more of the corresponding semantic features, wherein the detection includes providing the text fragment as input to at least one trained neural network; Identify a predefined grammar structure template from the selected predefined grammar structure template that matches the derived grammar structure and the detected semantic information in the text fragment; Generate a computable meaning representation of the text fragment based at least in part on the recognition; and The computable meaning representation is output to one or more natural language understanding applications.

10. The computer program product as claimed in claim 9, wherein, The parsing is performed by at least one of the following: a component and a dependency parser.

11. The computer program product according to claim 9, wherein, The one or more predefined grammar structure templates are selected from a plurality of predefined grammar structure templates defined by offline language analysis.

12. The computer program product according to claim 9, wherein, The semantic information is output by at least one trained neural network.

13. The computer program product according to claim 12, wherein, The at least one trained neural network includes a bidirectional long short-term memory (B-LSTM) model with attention.

14. The computer program product of claim 12, wherein, The at least one trained neural network is trained to detect each of a plurality of semantic primitives across multiple domains.

15. The computer program product according to claim 9, wherein, The at least one semantic primitive is detected from a set of sixty-four semantic primitives.

16. A system comprising: Memory; as well as At least one processor, operatively coupled to the memory and configured to: Perform syntactic analysis on at least one text segment to derive the syntactic structure of the text segment; Select one or more predefined grammatical structure templates corresponding to the exported grammatical structure, wherein each predefined grammatical structure template defines a semantic primitive of the exported grammatical structure and different combinations of semantic features corresponding to the semantic primitive; Detecting semantic information in the text fragment, wherein the semantic information includes (i) at least one of the semantic primitives and (ii) one or more of the corresponding semantic features, wherein the detection includes providing the text fragment as input to at least one trained neural network; Identify a predefined grammar structure template from the selected predefined grammar structure template that matches the derived grammar structure and the semantic information detected in the text fragment; Generate a computable meaning representation of the text fragment based at least in part on the recognition; and The computable meaning representation is output to one or more natural language understanding applications.

17. The system of claim 16, wherein, The parsing is performed by at least one of the following: a component and a dependency parser.

18. The system according to claim 16, wherein, The one or more predefined grammar structure templates are selected from a plurality of predefined grammar structure templates defined by offline language analysis.

19. The system according to claim 16, wherein, The semantic information is output by at least one trained neural network.

20. The system according to claim 19, wherein, The at least one trained neural network includes a bidirectional long short-term memory (B-LSTM) model with attention.

Citation Information

Patent Citations

  • Keyword extraction method integrating theme information and bidirectional LSTM

    CN109933804A

  • Method and system of text synthesis based on extracted information in the form of an RDF graph making use of templates

    US20160275058A1

  • Architecture and processes for computer learning and understanding

    US20170371861A1