Machine translation system, ChatOps system, method for context-aware machine language identification, and computer program for machine translation system (context-aware machine language identification)
A machine translation system with density calculation, semantic augmentation, and context translation enhances context awareness in natural language processing, improving conversational system accuracy.
Patent Information
- Application Number
- JP2021182779
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2020-11-10
- Filing Date
- 2021-11-09
- Publication Date
- 2025-12-11
- Estimated Expiration
- 2041-11-09
AI Technical Summary
Existing natural language processing systems, such as chatbots and machine translation systems, lack context-awareness, leading to inadequate responses and limited understanding of user intent, particularly in conversational systems like ChatOps, where precise command translation is crucial.
Implementing a machine translation system with a density calculator to determine part-of-speech and knowledge densities, a semantic augmenter to enhance word semantics, and a context translator to split and translate text into semantic chunks, enhancing neural machine translation with context awareness.
Improves translation accuracy by analyzing sentence information density and semantic context, enabling more precise and context-aware responses in conversational systems.
Smart Images

Figure 0007784198000010 
Figure 0007784198000011 
Figure 0007784198000012
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to natural language processing, and more particularly, to natural language processing for conversational systems. [Background technology]
[0002] The development of the EDVAC system in 1948 is often cited as the beginning of the computer age. Since then, computer systems have evolved into extremely complex devices. Today's computer systems typically include a combination of sophisticated hardware and software components, application programs, operating systems, processors, buses, memory, and input / output devices. As advances in semiconductor processing and computer architectures have enabled ever-increasing performance, more advanced computer software has evolved to take advantage of the increased capabilities of these features, resulting in today's computer systems being far more powerful than they were just a few years ago.
[0003] Natural language processing is one well-known application of these improved capabilities. Today, many users encounter applications such as virtual agents and chatbots that provide a natural language interface to local and internet content. These applications can interact with end users using dialogue prompts to perform goal-directed tasks such as online transactions.
[0004] While such applications offer great potential value, they are limited in the types of information and assistance they provide due to the application's lack of understanding of natural language and the difficulty of generating interfaces for all potential user desires. Thus, these systems typically limit dialog prompts to direct and static responses to user requests and often fail to provide adequate context or explanation for why a system response was generated. Furthermore, unless anticipated by the system designer, chatbots often lack the ability to address specific items in end-user feedback.
[0005] Wang et al. (2017) describe a method for utilizing cross-sentence context for neural machine translation. This paper proposes a cross-sentence, context-aware approach to investigate the impact of historical context information on the performance of neural machine translation (NMT). First, this history is summarized hierarchically. Second, the history representation is integrated into NMT through two strategies: 1) warm start of the encoder and decoder states, and 2) auxiliary context source for updating the decoder state. Summary of the Invention [Problem to be solved by the invention]
[0006] A machine translation system, a ChatOps system, a method for context-aware language machine identification, and a computer program product for a machine translation system are provided. [Means for solving the problem]
[0007] According to an embodiment of the present disclosure, a machine translation system is provided that includes a density calculator. The density calculator may be configured to calculate a part-of-speech (POS) density for a plurality of word tokens in an input text, calculate a knowledge density for the plurality of word tokens, and calculate an information density for the plurality of word tokens using the POS density and the knowledge density. In some embodiments, the density calculator may be further configured to tokenize the input text into the plurality of word tokens, smooth the knowledge density using POS, and return the information density for the plurality of word tokens. In some embodiments, the system may further include a semantic augmenter configured to generate one or more corresponding semantics for one or more of the plurality of word tokens using the respective POS densities and knowledge densities, and augment the one or more corresponding semantics to the one or more word tokens. In some embodiments, the machine translation system may further comprise a context translator configured to: split the input text into a plurality of smaller chunks by stop words, the plurality of smaller chunks including one or more word tokens with one or more corresponding semantics attached; generate a semantic context for one or more of the smaller chunks using the one or more corresponding semantics; and translate the input text using the semantic context.
[0008] According to an embodiment of the present disclosure, a ChatOps system includes a plurality of client devices and a machine translation system operatively connected to the plurality of client devices. In some embodiments, the machine translation system may include a density calculator, a semantic adder, and a context translator. The density calculator may be configured to: tokenize an input text into a plurality of word tokens; calculate a part-of-speech (POS) density for the plurality of word tokens in the input text; calculate a knowledge density for the plurality of word tokens, where the knowledge density is POS-leveled; calculate an information density for the plurality of word tokens using the POS density and the knowledge density; and return the information density for the plurality of word tokens. The semantic adder may be configured to lemmatize the input text; generate one or more corresponding semantics under the POS for one or more of the plurality of word tokens using respective POS densities and knowledge densities; add the one or more corresponding semantics to the one or more word tokens; and return a semantic list for the plurality of word tokens. The context translator may be configured to: divide an input text into a plurality of smaller chunks by stop words, the plurality of smaller chunks including one or more word tokens with one or more corresponding semantics attached; cluster the one or more word tokens using the corresponding semantics; determine meanings of the clustered word tokens; merge the meanings with the corresponding semantics to generate a semantic context for one of the chunks; translate the plurality of smaller chunks into a target language using the semantic context; and return the translation for the input text.
[0009] According to an embodiment of the present disclosure, a method for context-aware language machine identification may include enabling a density calculator to determine information density of a word by part-of-speech (POS) density and knowledge density, enabling a semantic augmenter to select a corresponding semantic list to augment the word using its POS density and knowledge density, and enabling a context translator to divide input text into smaller chunks by stop words and translate the smaller chunks using semantic contexts associated with the corresponding semantic augmenters.
[0010] According to an embodiment of the present disclosure, there is provided a computer program product for a machine translation system, the computer program product including a computer-readable storage medium having program instructions embodied thereon that are executable by a processor to cause the processor to: calculate a part-of-speech (POS) density for a plurality of word tokens in an input text; calculate a knowledge density for the plurality of word tokens; and calculate an information density for the plurality of word tokens using the POS density and the knowledge density.
[0011] The above summary is not intended to describe each illustrated embodiment or every embodiment of the present disclosure.
[0012] The drawings included in this application are incorporated in and constitute a part of the specification. They illustrate embodiments of the present disclosure and, together with the description, serve to explain the principles of the disclosure. The drawings are merely illustrative of particular embodiments and are not intended to limit the disclosure. [Brief explanation of the drawings]
[0013] [Figure 1] FIG. 1 illustrates an embodiment of a data processing system (DPS), consistent with some embodiments. [Figure 2]FIG. 2 illustrates a cloud computing environment, consistent with some embodiments. [Figure 3] FIG. 3 illustrates abstract model layers, consistent with some embodiments. [Figure 4] FIG. 4 is a high-level system diagram of a language identification service, consistent with some embodiments. [Figure 5] FIG. 5 is a flowchart illustrating the operation of a density calculator for determining weighted information density, consistent with some embodiments. [Figure 6] FIG. 6 is a flowchart illustrating the operation of a semantic adder to build semantic lists for tokens by part of speech (POS) and knowledge density, consistent with some embodiments. [Figure 7] FIG. 7 is a flowchart illustrating the operation of a context translator for translating input text when generating and updating semantic context, consistent with some embodiments. DETAILED DESCRIPTION OF THE INVENTION
[0014] While the invention is amenable to various modifications and alternative forms, specifics thereof have been shown by way of example in the drawings and will be described in detail. It is to be understood, however, that there is no intention to limit the invention to the particular embodiments described. On the contrary, the intention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the invention.
[0015] Aspects of the present disclosure relate to natural language processing, and more particularly to natural language processing for conversational systems. While the present disclosure is not necessarily limited to such applications, various aspects of the present disclosure may be understood through the description of various examples using this context.
[0016] High-precision machine translation generally refers to the field of computational linguistics that investigates the use of software to translate text from one natural language to another. There are two main types of high-precision machine translation. The first major type of machine translation is rule-based machine translation, which uses a combination of linguistic and grammatical rules and a dictionary of common words to translate a corpora (a corpora is multiple versions of a corpus, a collection of written text, especially the entire works of a particular author or a body of text written on a particular subject) from one language to another. Rule-based systems can be further categorized as using word embeddings to provide representations that can capture similarities, and attention mechanisms that determine the importance of each word to extract additional context around each word.
[0017] Another major type of machine translation is statistical machine translation. This type of machine translation has no knowledge of linguistic rules. Instead, statistical machine translation "learns" to translate by analyzing large amounts of data about the source and target languages (including, but not limited to, bilingual and monolingual texts). Both types of precision machine translation produce similar results. However, statistical machine translation may provide more fluent-sounding translations, but at the cost of reduced consistency with the translation.
[0018] At the core of this technology, precise machine translation replaces words or phrases in one natural language with words or phrases in another. However, this core alone is often insufficient to produce high-quality text translations because the context of the words or phrases affects how they are translated. For example, consider the following sentence: TIFF0007784198000001.tif149167
[0019] "ChatOps" is an example of precision machine translation. ChatOps generally refers to a collaboration model that combines people, tools, processes, and automation into transparent workflows, such as in information technology (IT) management. This model allows for the connection between work that needs to be done, work that is currently being done, and work that has been done in a persistent place made up of people, bots, and related tools. ChatOps is used in a wide range of sectors, including information technology (IT), product development, product support, government, healthcare, law, and finance.
[0020] Team members can enter both commands and comments into the ChatOps system's chat rooms, which can be accessed using their respective client devices (e.g., PC, smartphone, tablet, etc.). The ChatOps system can be configured to identify and execute commands using custom scripts and plugins. For example, in the IT space, commands can range from deploying code to responding to security events to notify team members. As an example conversation from the IT space, the system administrator might type: ·Example 2A Human: " / h deploy paipu to staging" The computer can respond as follows: ·Example 2B Computer: "Deployed paipu-app-staging" Computer: "heroku / paipu-repo - ref: master - SHA: 576d16a9 - duration: 43s" Advantageously, ChatOps enables the entire team to collaborate when a command is executed. In this way, ChatOps is part of a shift toward more collaborative ways of running operations. In particular, ChatOps can use collaboration tools to create an environment where subject matter experts (SMEs) and other stakeholders can literally "get on the same page" related to ongoing issues. So, for example, instead of using traditional help ticketing tools, SMEs (including security, network, and infrastructure experts) can use persistent instant messaging tools to communicate with each other and with the tools the SMEs use to do their jobs.
[0021] Many ChatOps deployments and potential deployments can benefit from high machine translation accuracy, i.e., the system's ability to distinguish user requests from text chat and translate them into appropriate actionable commands. Some ChatOps deployments can utilize word vectors and aliases to provide the desired accuracy, but may require processing large amounts of parallel data and / or matching rules that often contain strict, similar-sensing options. In the latter category, some ChatOps deployments utilize neural machine translation to adjust their translation strategies to the current semantic context. (example) Example 3 Human: I want to end jobs in the risk group 106. Computer: bkill -g / risk_group106 (i.e., kill jobs in risk_group106) Human: But I mean to end for a while not to kill. Computer: bstop-g / risk_group106 (i.e., postpone jobs for risk_group 106) The initially suggested command may have been an inappropriate translation based on the end user's intent, but the computer in this example was able to generate an appropriate command in response to corrections from the user and connect multiple statements from the user through context.
[0022] More generally, due to its rapid development in recent years, neural machine translation (NMT) may often outperform traditional models, but it may lack a context-aware approach to know what scenario the text is placed under. Methods for identifying the intent of context-specific text with high accuracy will become more sensitive in the future as language identification tasks become more complex and sensitive.
[0023] Thus, aspects of the present disclosure may include language identification methods that support neural machine translation that have the feature of detecting and updating semantic context using semantics that represent units of meaning, instead of simply storing or labeling global context as a corpus training result. In this way, some embodiments may provide the ability to handle the accuracy of the semantic context of a sentence.
[0024] When a translation task begins, some embodiments first determine sentence information density for the input text by part-of-speech (POS) density and each word's knowledge density. Some embodiments then analyze domain-specific semantics and add their meanings as new dimensions to enhance the word vector, selecting semantics corresponding to each word token with higher density. The input text may be split into chunks by stop words, and the added semantics may be translated into semantic context and added as headers to the context vector to assist neural machine translation.
[0025] Some embodiments may include methods supporting neural machine translation using information density analysis, semantic element selection using word vector enhancement, and semantic context translation. Some of these embodiments may utilize three modules: a density calculator, a semantic element adder, and a context translator. Related methods can also be divided into three stages. In the first stage, some embodiments tokenize text, define part-of-speech (POS) density by the POS, define knowledge density for each word token by its importance in a knowledge field, and merge the POS density with the knowledge density as a merged density. In the second stage, domain-specific semantics are analyzed and added to the word vector as new dimensions, and semantics are added to the word token by the POS and knowledge density. In the third stage, some embodiments may merge the meanings of related semantics and update the semantic context in stop words.
[0026] (Data Processing System) FIG. 1 illustrates an embodiment of a data processing system (DPS) 100a consistent with some embodiments. In this embodiment, DPS 100a may be implemented as a personal computer, a server computer, a portable computer such as a laptop or notebook computer, a personal digital assistant (PDA), a tablet computer, or a smartphone, a processor integrated into a larger device such as an automobile, an aircraft, a videoconferencing system, or equipment, a smart device, or any other suitable type of electronic device. Furthermore, components other than or in addition to those illustrated in FIG. 1 may be present, and the number, type, and configuration of such components may vary. Furthermore, FIG. 1 illustrates only representative major components of DPS 100a, and individual components may be more complex than those illustrated in FIG. 1.
[0027] The DPS 100a of FIG. 1 includes multiple central processing units 110a-110d (collectively referred to herein as processors 110 or CPUs 110) connected by a system bus 122 to memory 112, a mass storage interface 114, a terminal / display interface 116, a network interface 118, and an input / output ("I / O") interface 120. The mass storage interface 114 in this embodiment connects the system bus 122 to one or more mass storage devices, such as a direct access storage device 140, a universal serial bus ("USB") storage device 141, or a readable / writable optical disk drive 142. The network interface 118 enables the DPS 100a to communicate with another DPS 100b via a communications medium 106. The memory 112 also includes an operating system 124, multiple application programs 126, and program data 128.
[0028] The DPS 100a of FIG. 1 is a general-purpose computing device. Accordingly, the processor 110 may be any device capable of executing program instructions stored in memory 112 and may itself be comprised of one or more microprocessors and / or integrated circuits. In this embodiment, the DPS 100a includes multiple processors and / or processing cores, as is typical of larger, more powerful computer systems. However, in other embodiments, the DPS 100a may include a single processor system designed to emulate a multiprocessor system, or a single processor, or both. Furthermore, the processor 110 may be implemented using multiple heterogeneous DPSs 100a, in which a main processor resides on a single chip with secondary processors. As another illustrative example, the processor 110 may be a symmetric multiprocessor system including multiple processors of the same type.
[0029] When DPS 100a boots, its associated processor 110 initially executes program instructions that make up an operating system 124, which manages the physical and logical resources of DPS 100a. These resources include memory 112, mass storage interface 114, terminal / display interface 116, network interface 118, and system bus 122. As with processor 110, some DPS 100a embodiments may utilize multiple system interfaces 114, 116, 118, 120 and buses 122, each of which may include its own separate, fully programmed microprocessor.
[0030] Instructions for the operating system, applications, or programs, or combinations thereof (collectively referred to as "program code," "computer-usable program code," or "computer-readable program code") are initially located in mass storage devices 140, 141, 142 and are communicated to processor 110 via system bus 122. The program code in different embodiments may be implemented on different physical or tangible computer-readable media, such as system memory 112 or mass storage devices 140, 141, 142. In the illustrative example of FIG. 1, the instructions are stored in a functional form of persistent storage on direct access storage device 140. These instructions are then loaded into memory 112 for execution by processor 110. However, the program code may also be located in a functional form on a computer-readable medium that is selectively removable and can be loaded or transferred to DPS 100a for execution by processor 110.
[0031] The system bus 122 may be any device that facilitates communication between the processor 110, the memory 112, and the interfaces 114, 116, 118, 120. Additionally, although the system bus 122 in this embodiment is a relatively simple single bus structure that provides a direct communication path between the system buses 122, other bus structures are consistent with this disclosure, including, but not limited to, point-to-point links in hierarchical, star, or web configurations, multiple hierarchical buses, parallel and redundant paths, etc.
[0032] Memory 112 and mass storage devices 140, 141, and 142 cooperate to store operating system 124, application program 126, and program data 128. In this embodiment, memory 112 is a random-access semiconductor device capable of storing data and programs. While FIG. 1 conceptually illustrates the device as a single monolithic entity, memory 112 in some embodiments may be a more complex configuration, such as a hierarchy of caches and other memory devices. For example, memory 112 may exist in multiple levels of caches, and these caches may be further divided by function, such that one cache holds instructions and other caches hold non-instruction data used by the processor. Memory 112 may be further distributed and associated with different processors 110 or processor sets 110, as known in any of a variety of so-called non-uniform memory access (NUMA) computer architectures. Additionally, some embodiments may utilize a virtual addressing mechanism that allows the DPS 100a to operate as if it were accessing a large single storage entity instead of accessing multiple smaller storage entities, such as memory 112 and mass storage devices 140, 141, 142.
[0033] Although operating system 124, application programs 126, and program data 128 are illustrated as being contained within memory 112, some or all of them may be physically located on different computer systems and, in some embodiments, may be accessed remotely, for example, via communications medium 106. Thus, although operating system 124, application programs 126, and program data 128 are illustrated as being contained within memory 112, these elements are not necessarily all contained entirely within the same physical device at the same time, but may reside in the virtual memory of another DPS, e.g., DPS 100b.
[0034] System interfaces 114, 116, 118, 120 support communication with a variety of storage and input / output devices. Mass storage interface 114 supports the attachment of one or more mass storage devices 140, 141, 142, which are typically rotating magnetic disk drive storage devices, solid-state storage devices (SSDs) that use integrated circuit assemblies as memory to persistently store data, typically using flash memory, or a combination of the two. However, mass storage devices 140, 141, 142 may also include other devices containing an array of disk drives (commonly referred to as a RAID array) and / or archival storage media configured to appear to the host as a single mass storage device, such as hard disk drives, tape (e.g., mini-DV), writable compact disks (e.g., CD-R and CD-RW), digital versatile disks (e.g., DVD, DVD-R, DVD+R, DVD+RW, DVD-RAM), holographic storage systems, blue laser disks, IBM Millipede devices, etc.
[0035] Terminal / display interface 116 is used to connect one or more display units, such as monitors 180, directly to DPS 100a. These display units 180 may be non-intelligent (i.e., dumb) terminals, such as LED monitors, or may be fully programmable workstations used to enable IT administrators and customers to communicate with DPS 100a. However, it should be noted that while display interface 116 is provided to support communication with one or more display units 180, DPS 100a does not necessarily require display units 180, as all necessary interaction with customers and other processes can occur via network interface 118.
[0036] The communication medium 106 can be any suitable network or combination of networks and can support any suitable protocol for communicating data and / or code to and from the multiple DPSs 100a, 100b. Accordingly, the network interface 118 can be any device that facilitates such communication, regardless of whether the network connection is made using current analog and / or digital technologies, or via some future networking mechanism. Suitable communication media 106 include, but are not limited to, networks implemented using one or more of the "InfiniBand" or IEEE (Institute of Electrical and Electronics Engineers) 802.3x "Ethernet" specifications, cellular transmission networks, wireless networks implementing any of the IEEE 802.11x, IEEE 802.16, General Packet Radio Service ("GPRS"), Family Radio Service (FRS), or Bluetooth specifications, ultra-wideband ("UWB") technologies as described in FCC 02-48, and the like. Those skilled in the art will appreciate that many different networks and transport protocols can be used to implement the communication medium 106. The Transmission Control Protocol / Internet Protocol ("TCP / IP") suite includes appropriate network and transport protocols.
[0037] (Cloud Computing) 2 illustrates a cloud environment including one or more DPSs 100a, 100b, consistent with some embodiments. While this disclosure includes detailed descriptions related to cloud computing, implementation of the teachings described herein is not limited to a cloud computing environment. Rather, embodiments of the invention can be practiced in conjunction with any other type of computing environment now known or developed in the future.
[0038] 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 the service provider. This cloud model may include at least five characteristics, at least three service models, and at least four implementation models.
[0039] The characteristics are as follows: 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. 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). 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 offered, so there is a sense of location independence. However, consumers may be able to identify their location at a higher level of abstraction (e.g., country, state, data center). Rapid Elasticity: Computing capacity can be provisioned quickly and elastically, sometimes automatically, to instantly scale out and quickly released to instantly scale in. To the consumer, the computing capacity available for provisioning often appears unlimited, and can be purchased at any time and in any quantity. 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.
[0040] The service model is as follows: Software as a Service (SaaS): The functionality offered to the consumer is the use of a provider's applications running on a cloud infrastructure. The applications 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 system, storage, or even individual application functions, except for limited user-specific application configuration settings. Platform as a Service (PaaS): The consumer is provided with the ability 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. Infrastructure as a Service (IaaS): The functionality provided to consumers is the provisioning of processors, storage, networking, and other basic computing resources on which the consumer 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).
[0041] The deployment model is as follows: 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. Community Cloud: This cloud infrastructure is shared by multiple organizations to support a specific community with common concerns (e.g., mission, security requirements, policy, and compliance). This cloud infrastructure can be managed by those organizations or a third party and can exist on-premises or off-premises. 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. Hybrid cloud: This cloud infrastructure combines two or more cloud models (private, community, or public), each of which retains its inherent identities but is bound together by standards or specific technologies that enable data and application portability (e.g., cloud bursting for load balancing between clouds).
[0042] 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.
[0043] FIG. 2 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. 1 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.
[0044] A set of functional abstraction layers provided by the cloud computing environment 50 (FIG. 2) is now shown in FIG. 3. It should be understood in advance that the components, layers, and functions shown in FIG. 3 are merely exemplary, and embodiments of the present invention are not limited thereto. As shown, the following layers and corresponding functions are provided:
[0045] 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.
[0046] 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.
[0047] By way of example, the management layer 80 may provide the following functions: 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.
[0048] The workload layer 90 provides examples of functionality available to 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 automated discovery and cataloging or inventorying of items or assets at a location or property 96.
[0049] (Language Identification System) FIG. 4 is a high-level system diagram 400 for a language identification service 96, consistent with some embodiments. The language identification service 96 of FIG. 4 includes a density calculator 410, a semantic annotator 420, and a context translator 430. In operation, input text 405 in a first language may be input to the language identification service 96 by an end user and / or another computer process (e.g., ChatOps, a translation service, etc.). The density calculator 410 may evaluate the input text word by word to generate a POS density score and a knowledge density score. The POS density and knowledge density may be combined to form a weighted density score.
[0050] The semantic adder can then find one or more semantics of words whose POS density or knowledge density, or both, exceed a threshold score, or exceed the average weighted density score of the input text, including searching for the selected words using a semantic dictionary database 450. The context translator 430 can then use the semantics to generate and / or update a context for the input text. The context translator 430 can then output a translated version 435 of the input text in a second language different from the first language using the generated / updated context to the user or process that submitted the input text.
[0051] (density calculator) FIG. 5 is a flowchart 500 illustrating the operation of a density calculator 410 for determining weighted information density, consistent with some embodiments. The density calculator 410 of FIG. 5 may begin by tokenizing the input text (e.g., dividing the input text into individual words and / or short phrases) at operation 505. The density calculator 410 may then calculate an initial part-of-speech (POS) density ambiguity for each token at operations 512-516. This may include identifying and tagging each token with a POS tag at operation 512 using a suitable POS tagging algorithm, such as rule-based POS tagging, transformation-based tagging, and probabilistic tagging. A suitable system of POS tags is then shown in Table 1. Table 1: CC coordinating conjunction CD radix DT determiner EX There FW Foreign words IN Prepositional or subordinating conjunction JJ adjective JJR adjective, comparative JJS adjective, superlative LS parallel particle MD modal verb NN noun, singular or mass NNS noun, plural NNP proper noun, singular NNPS proper noun, plural PDT pre-qualifier POS possessive endings PRP personal pronoun PRP$ possessive pronoun RB Adverb RBR adverb, comparative RBS Adverb, Superlative RP particle SYM Symbol TO UH interjection VB verb, base form VBD verb, past tense VBG verb, gerund or present participle VBN verb, past participle VBP verb, non-third person singular present tense VBZ verb, third person singular present tense WDT wh-determiner WP Wh-pronouns WP$ Possessive Wh-Pronouns WRB wh-adverb The density calculator 410 may then calculate the POS density for each token according to the POS density multiplier and the POS tag in operation 514. An exemplary POS density multiplier is shown in Table 2. Table 2: 3: Semantic expression is highly important (Example: POS tags NN, NNP, NNPS, NNS, VB, VBD, VBG, VBN, VBP, VBZ) 2: Medium importance of semantic expressions, such as adjectives and numbers (Example: POS tags JJ, JJR, JJS, RB, RBR, RBS) 1: Prepositions and other semantic expressions are less important (e.g. POS tags CC, CD, DT, EX, IN...) 0: Punctuation The density calculator 419 may then tag the token with the initial POS density in operation 516 .
[0052] The density calculator 410 then updates the initial ambiguity with a knowledge density coefficient for each token. In one embodiment, the knowledge density coefficient may be related to the number of definitions of each token normalized by the POS (e.g., compared to the average POS) in operations 522-524. This may include importing a list of domain-specific word vectors and aliases in operation 522, or defining a knowledge density framework, or both. Then, in operation 524, the density calculator 410 may calculate the knowledge density for each token weighted by the identified POS. An example of a knowledge density multiplier is shown in Table 3. Table 3: 0.3: Semantic expression is highly important for example, "Use": 6 definitions / average of 4 definitions per verb "Roller": Average of 5 definitions per definition / noun 0.2: Medium importance of semantic expression for example, "Fluffy": 1 definition / average of 3 definitions per adjective 0.1: Semantic expression is less important for example, "a": 1 definition / average of 2 definitions per determiner 0.0: Punctuation The density calculator 410 may then merge the calculated POS density with the calculated knowledge density to generate a weighted semantic density for each token in operation 530. For example, using the input phase of Example 1 above, the density calculator 410 may generate the following weighted density array: Example 4: TIFF0007784198000002.tif19166 Similarly, using the input phrase from Example 2 above, density calculator 410 can generate the following weighted density array: Example 5: In operation 540, the density calculator 410 may return the tagged POS, POS density, knowledge density, and weighted density for each token in the input text.
[0053] (semantic element adder) FIG. 6 is a flowchart 600 illustrating the operation of the semantic adder 420 to build a semantic list for a token by POS and knowledge density, consistent with some embodiments. These embodiments may be desirable because they can include more context for words with higher information density to improve accuracy. At operation 602, in some embodiments, the semantic adder 420 first lemmatizes each token (e.g., groups word variants together so they can be analyzed as a single item). The semantic adder 420 can then identify one or more semantic elements for each token, or tokens with a relatively high density, at operation 604. This may include querying a dictionary for semantic elements associated with a particular token, such as using a rule-based system. Continuing with illustrative examples 1 and 2 above, operation 604 may generate the semantic list of example 6 for the token "paint" of example 1 above. Example 6: TIFF0007784198000004.tif36122 Similarly, operation 604 can generate the semantic list of example 7 for the token "end" of example 2 above. Example 7: TIFF0007784198000005.tif67118
[0054] The semantic adder 420 can then integrate the domain-specific semantics with the word vectors in operations 612-616. This may include using cluster analysis on the semantic list (identified in operation 604) to identify similar tokens in operation 612. The semantic adder 420 can then use the similar token clusters to generate one or more meanings (e.g., semantic fields) corresponding to the semantic clusters in operation 614. The semantic adder 420 can then add the determined meanings to the tokens as new dimension vectors in operation 616.
[0055] The semantic adder 420 can then add semantics and the identified meanings to the token by POS and by knowledge density in operations 622-626. This may include selecting a semantic element by the token's POS in operation 622. The semantic adder 420 can then use the token's knowledge density to determine the length of the semantic element to add in operation 624. The semantic adder 420 can then add a semantic element list and meaning to the token in operation 626.
[0056] Continuing with the two illustrative examples above, the method of flowchart 600 may produce the following results. Example 8: TIFF0007784198000006.tif32158 Example 9: TIFF0007784198000007.tif23158Here, *texture, *tool, *material, *job, *name, and *group stand for fluffy, roller, paint, jobs, risk, and group, respectively.
[0057] (Context Translator) FIG. 7 is a flowchart 700 illustrating the operation of the context translator 430 for translating input text in generating and updating semantic context, consistent with some embodiments. At operations 712-718, the context translator 430 can generate subcontexts and update the context for stop words. This may include dividing sentences in the input text into smaller chunks at operation 712. These chunks may be segmented by stop words (e.g., conjunctions, prepositions) in the source text. The context translator 430 can then generate semantic contexts for the smaller chunks at operation 714 using the tagged POS, weighted density, and semantics. This may further include merging the identified meanings as additional vectors for the chunks. The semantic context may also be added to the identified chunks as headers to the context vector at operation 716.
[0058] The context translator 430 can then identify matching contexts by context similarity in operation 718. This includes identifying contexts by word usage (frequent successors / precursors), with greater attention paid to any nouns. Continuing with the specific example, the output of the context translator is: Example 10: TIFF0007784198000008.tif18170 Example 11: At operation 730, the context translator 430 can return translations for matching semantic elements in the target language.
[0059] (Computer Program Products) The present invention may be a system, method, or computer program product, or combination thereof, integrated at any possible level of technical detail. The computer program product may include a computer-readable storage medium having stored thereon computer-readable program instructions for causing a processor to carry out aspects of the present invention.
[0060] 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.
[0061] 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.
[0062] The computer-readable program instructions for carrying out the operations of the present invention may 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 may execute entirely on the user's computer as a stand-alone software package, or partially on the user's computer, or 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.
[0063] Aspects 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 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.
[0064] The computer-readable program instructions may be provided to a processor of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus to produce a machine, whereby the instructions, executed by the processor of such computer or other programmable data processing apparatus, create means for performing the functions / acts specified 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 that can instruct a computer, programmable data processing apparatus, or other device, or combination thereof, to function in a particular manner. The computer-readable storage medium having the instructions stored thereon thereby constitutes an article of manufacture including instructions for performing aspects of the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams.
[0065] 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.
[0066] (summary) Any particular program nomenclature used herein is merely for convenience, and thus the present invention should not be limited to use in any particular application specified and / or implied by such nomenclature. Thus, for example, routines executed to implement embodiments of the present invention may be referred to as a "program," an "application," a "server," or other meaningful nomenclature, whether implemented as part of an operating system or as part of a particular application, component, program, module, object, or sequence of instructions. Indeed, other alternative hardware and / or software environments may be used without departing from the scope of the present invention.
[0067] The presently described embodiments are therefore to be considered in all respects as illustrative and not restrictive, and reference should be made to the appended claims to determine the scope of the invention.
Claims
1. a density calculator, the density calculator comprising: Calculating part-of-speech (POS) density for a plurality of word tokens in the input text; calculating a knowledge density for the plurality of word tokens; calculating an information density for the plurality of word tokens using the POS density and the knowledge density; Machine translation system.
2. the density calculator is further configured to tokenize the input text into the plurality of word tokens. The machine translation system of claim 1 .
3. The density calculator is further configured to normalize the knowledge density by point of sale. The machine translation system of claim 1 .
4. the density calculator is further configured to return the information density for the plurality of word tokens. The machine translation system of claim 1 .
5. The semantic element adder further comprises: generating one or more corresponding semantics for one or more word tokens of the plurality of word tokens using the respective POS densities and knowledge densities; attaching said one or more corresponding semantics to said one or more word tokens; configured to: The machine translation system of claim 1 .
6. the semantic annotator is further configured to lemmatize the input text. The machine translation system according to claim 5.
7. the semantic adder is further configured to generate the one or more corresponding semantic elements under the POS; The machine translation system according to claim 5.
8. the semantic adder is further configured to return a semantic list for the plurality of word tokens. The machine translation system according to claim 5.
9. The context translator further comprises: Dividing the input text into a plurality of smaller chunks by stop words, the plurality of smaller chunks including one or more word tokens with one or more corresponding semantics attached; generating a semantic context for one or more of the smaller chunks using the one or more corresponding semantics; translating the input text using the semantic context; and configured to: The machine translation system of claim 1 .
10. the context translator is further configured to identify context by word usage; 10. The machine translation system of claim 9.
11. the context translator is further configured to return a translation matching semantic in a target language.
10. The machine translation system of claim 9.
12. The context translator further clustering the word tokens using the corresponding semantics; determining the meaning of the clustered word tokens; configured to:
10. The machine translation system of claim 9.
13. The context translator further merging the meaning with the corresponding semantic element to generate a semantic context for one of the chunks; translating the chunk using the semantic context; and configured to:
13. The machine translation system of claim 12.
14. further including a ChatOps system, the ChatOps system configured to receive the input text from an end user and generate commands from the input text. The machine translation system of claim 11.
15. a plurality of client devices; a machine translation system operatively connected to the plurality of client devices, the machine translation system comprising: A density calculator, the density calculator comprising: tokenizing the input text into a plurality of word tokens; calculating part-of-speech (POS) density for a plurality of word tokens in the input text; calculating a knowledge density for the plurality of word tokens, the knowledge density being normalized by POS; calculating an information density for the plurality of word tokens using the POS density and the knowledge density; and returning the information density for the plurality of word tokens. A semantic element adder, the semantic element adder comprising: lemmatizing the input text; generating one or more corresponding semantics under the POS for one or more word tokens of the plurality of word tokens using the respective POS densities and knowledge densities; attaching said one or more corresponding semantics to said one or more word tokens; and returning a semantic list for the plurality of word tokens. A context translator, the context translator comprising: Dividing the input text into a plurality of smaller chunks by stop words, the plurality of smaller chunks including one or more word tokens with one or more corresponding semantics attached; clustering the one or more word tokens using the corresponding semantics; determining the meaning of the clustered word tokens; merging the meaning with the corresponding semantic element to generate a semantic context for one of the chunks; translating the plurality of smaller chunks into a target language using the semantic context; and and returning the translation for the input text. ChatOps systems, including:
16. 1. A method for context-aware language machine identification, comprising: enabling a density calculator to determine information density of words by part of speech (POS) density and knowledge density; allowing a semantic adder to select a corresponding semantic list to add to said word using its POS density and knowledge density; enabling a context translator to divide the input text into smaller chunks by stop words and to translate the smaller chunks using semantic contexts associated with the corresponding semantic elements; A method comprising:
17. determining one or more meanings from the corresponding semantic list to represent a semantic context for the portion of the input text.
17. The method of claim 16.
18. adding a tag to the word, the tag including the POS density, the knowledge density, the corresponding semantic list, and the determined meaning of the word; using the added tags to compute a semantic context for at least some of the smaller chunks; 18. The method of claim 17, comprising:
19. 1. A computer program for a machine translation system, the computer program comprising program instructions executable by a processor, the program instructions causing the processor to: Calculating part-of-speech (POS) density for a plurality of word tokens in the input text; calculating a knowledge density for the plurality of word tokens; calculating an information density for the plurality of word tokens using the POS density and the knowledge density; A computer program that executes
20. generating one or more corresponding semantics for one or more of the plurality of word tokens using the respective POS densities and knowledge densities; adding the one or more corresponding semantics to the one or more of the plurality of word tokens; further comprising program instructions for performing 20. A computer program according to claim 19.
21. Dividing the input text into a plurality of smaller chunks by stop words, the plurality of smaller chunks including one or more word tokens with one or more corresponding semantics attached; generating a semantic context for one or more of the smaller chunks using the one or more corresponding semantics; translating the input text using the semantic context; and further comprising program instructions for performing 21. A computer program according to claim 20.
22. clustering the word tokens using the corresponding semantics; determining the meaning of the clustered word tokens; further comprising program instructions for performing 22. A computer program according to claim 21.
23. merging the meaning with the corresponding semantic element to generate a semantic context for one of the chunks; translating the chunk using the semantic context; and further comprising program instructions for performing 23. A computer program according to claim 22.
24. further comprising program instructions for creating a chat room for the ChatOps system; 24. A computer program according to claim 23.
Citation Information
Patent Citations
System and method for multiuser multilingual communication
JP2018097885A
Similarity metric for semantic profiling
US20070073745A1
Learning method, translation method, learning program, translation program, and information processing device
WO2020017006A1