ES2993023T3 - Systems and methods for neural language modeling - Google Patents

Systems and methods for neural language modeling Download PDF

Info

Publication number
ES2993023T3
ES2993023T3 ES16753087T ES16753087T ES2993023T3 ES 2993023 T3 ES2993023 T3 ES 2993023T3 ES 16753087 T ES16753087 T ES 16753087T ES 16753087 T ES16753087 T ES 16753087T ES 2993023 T3 ES2993023 T3 ES 2993023T3
Authority
ES
Spain
Prior art keywords
linguistic
neural
input
embedding
node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES16753087T
Other languages
Spanish (es)
Inventor
Andrew Trask
David Gilmore
Matthew Russell
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Digital Reasoning Systems Inc
Original Assignee
Digital Reasoning Systems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Digital Reasoning Systems Inc filed Critical Digital Reasoning Systems Inc
Application granted granted Critical
Publication of ES2993023T3 publication Critical patent/ES2993023T3/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/216Parsing using statistical methods
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0499Feedforward networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/09Supervised learning
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/096Transfer learning
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/098Distributed learning, e.g. federated learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Machine Translation (AREA)

Abstract

En algunos aspectos, la presente divulgación se relaciona con el modelado neuronal del lenguaje. En una realización, una red neuronal implementada por computadora incluye una pluralidad de nodos neuronales, donde cada uno de los nodos neuronales tiene una pluralidad de pesos de entrada correspondientes a un vector de números reales. La red neuronal también incluye un nodo neuronal de entrada correspondiente a una unidad lingüística seleccionada de una lista ordenada de una pluralidad de unidades lingüísticas, y una capa de incrustación con una pluralidad de particiones de nodo de incrustación. Cada partición de nodo de incrustación incluye uno o más nodos neuronales. Cada una de las particiones de nodo de incrustación corresponde a una posición en la lista ordenada en relación con un término de enfoque, está configurada para recibir una entrada de un nodo de entrada y está configurada para generar una salida. La red neuronal también incluye una capa clasificadora con una pluralidad de nodos neuronales, cada uno configurado para recibir las salidas de incrustación de la capa de incrustación y configurada para generar una salida correspondiente a una probabilidad de que una unidad lingüística particular sea el término de enfoque. (Traducción automática con Google Translate, sin valor legal)In some aspects, the present disclosure relates to neural modeling of language. In one embodiment, a computer-implemented neural network includes a plurality of neural nodes, each of which has a plurality of input weights corresponding to a vector of real numbers. The neural network also includes an input neural node corresponding to a linguistic unit selected from an ordered list of a plurality of linguistic units, and an embedding layer with a plurality of embedding node partitions. Each embedding node partition includes one or more neural nodes. Each of the embedding node partitions corresponds to a position in the ordered list relative to a focus term, is configured to receive an input from an input node, and is configured to generate an output. The neural network also includes a classifier layer with a plurality of neural nodes, each configured to receive the embedding outputs from the embedding layer and configured to generate an output corresponding to a probability that a particular linguistic unit is the target term. (Machine translation with Google Translate, no legal value)

Description

DESCRIPCIÓNDESCRIPTION

Sistemas y métodos para modelado de lenguaje neuronal Systems and methods for neural language modeling

Antecedentes Background

Los sistemas de procesamiento de lenguaje natural (NLP) buscan automatizar la extracción de información útil a partir de secuencias de símbolos en el lenguaje humano. Algunos sistemas de NLP pueden encontrar dificultades debido a la complejidad y escasez de información en lenguaje natural. Los modelos de lenguaje de red neuronal (NNLM) pueden superar las limitaciones del rendimiento de los sistemas tradicionales. Un NNLM puede aprender representaciones distribuidas de palabras y puede incorporar un vocabulario en un espacio lineal dimensional más pequeño que modela una función de probabilidad para secuencias de palabras, expresada en términos de estas representaciones. Natural language processing (NLP) systems seek to automate the extraction of useful information from sequences of symbols in human language. Some NLP systems may encounter difficulties due to the complexity and sparsity of information in natural language. Neural network language models (NNLMs) can overcome the performance limitations of traditional systems. An NNLM can learn distributed representations of words and can incorporate a vocabulary into a smaller dimensional linear space that models a likelihood function for sequences of words, expressed in terms of these representations.

Los NNLM pueden generar incrustaciones de palabras al entrenar una tarea de predicción de símbolos en una ventana de contexto local en movimiento. El conjunto ordenado de pesos asociados con cada palabra se convierte en la incrustación vectorial densa de esa palabra. El resultado es un modelo de espacio vectorial que codifica relaciones semánticas y sintácticas. Un NNLM puede predecir una palabra dado su contexto circundante. Estas representaciones distribuidas codifican matices de significado a través de sus dimensiones, lo que permite que dos palabras tengan múltiples relaciones de valor real codificadas en una sola representación. Esta característica se deriva de la hipótesis distributiva: las palabras que aparecen en contextos similares tienen un significado similar. Las palabras que aparecen en contextos similares experimentarán ejemplos de entrenamiento similares, resultados de entrenamiento, y convergerán con pesos similares. NNLMs can generate word embeddings by training a symbol prediction task on a moving local context window. The ordered set of weights associated with each word becomes the dense vector embedding of that word. The result is a vector space model that encodes semantic and syntactic relationships. An NNLM can predict a word given its surrounding context. These distributed representations encode nuances of meaning across their dimensions, allowing two words to have multiple real-valued relationships encoded in a single representation. This feature follows from the distributional hypothesis: words that appear in similar contexts have similar meaning. Words that appear in similar contexts will experience similar training examples, training results, and converge to similar weights.

Una vez calculadas, las incrustaciones de palabras con base en analogías de palabras pueden permitir operaciones vectoriales entre palabras que reflejan sus relaciones semánticas y sintácticas. La analogía "el rey es a la reina como el hombre es a la mujer" se puede codificar en el espacio vectorial mediante la ecuación rey - reina = hombre - mujer. Once computed, word embeddings based on word analogies can allow vector operations between words that reflect their semantic and syntactic relationships. The analogy "the king is to the queen as the man is to the woman" can be encoded in the vector space by the equation king - queen = man - woman.

Los NNLM convencionales pueden no tener en cuenta la morfología y la forma de las palabras. Sin embargo, la información sobre la estructura de las palabras en las representaciones de palabras puede ser valiosa para parte del análisis del habla, la similitud de palabras, y la extracción de información. Es con respecto a estas y otras consideraciones que se presentan aspectos de la presente divulgación en la presente. Quoc Le et al: "Distributed Representations of Sentences and Documents", 16 May 2014 (2014-05-16), propone Paragraph Vector, un algoritmo no supervisado que aprende representaciones de características de longitud fija a partir de fragmentos de texto de longitud variable, tal como oraciones, párrafos, y documentos. Conventional NNLMs may not take into account word morphology and form. However, information about word structure in word representations can be valuable for some speech analysis, word similarity, and information extraction. It is with respect to these and other considerations that aspects of the present disclosure are presented herein. Quoc Le et al: "Distributed Representations of Sentences and Documents", 16 May 2014 (2014-05-16), proposes Paragraph Vector, an unsupervised algorithm that learns fixed-length feature representations from variable-length text fragments, such as sentences, paragraphs, and documents.

Sumario Summary

La invención se define en las reivindicaciones independientes anexas. Las reivindicaciones dependientes adjuntas definen realizaciones preferidas. The invention is defined in the appended independent claims. The appended dependent claims define preferred embodiments.

Breve descripción de las figuras Brief description of the figures

Ahora se hará referencia a las figuras anexas, que no necesariamente se dibujan a escala. Reference will now be made to the attached figures, which are not necessarily drawn to scale.

La figura 1 representa un nodo neuronal de acuerdo con una realización. Figure 1 depicts a neural node according to one embodiment.

La figura 2 representa una red neuronal de acuerdo con una realización. Figure 2 depicts a neural network according to one embodiment.

La figura 3 representa un modelo de lenguaje de red neuronal sin partición, utilizando una bolsa continua de arquitectura de palabras. Figure 3 depicts a partition-free neural network language model, using a continuous bag of words architecture.

La figura 4 representa un modelo de lenguaje de red neuronal particionada con ventanas de acuerdo con una realización. Figure 4 depicts a windowed partitioned neural network language model according to one embodiment.

La figura 5 representa un modelo de lenguaje de red neuronal particionada direccional de acuerdo con una realización. Figure 5 depicts a directional partitioned neural network language model according to one embodiment.

La figura 6 representa la exactitud relativa de cada partición en un modelo de PENN a juzgar por las puntuaciones de analogía de palabras relativas a filas. Figure 6 depicts the relative accuracy of each partition in a PENN model as judged by the row-relative word analogy scores.

La figura 7 es un diagrama de arquitectura informática de un sistema informático capaz de implementar aspectos de la presente divulgación de acuerdo con una o más realizaciones. Figure 7 is a computer architecture diagram of a computer system capable of implementing aspects of the present disclosure in accordance with one or more embodiments.

Descripción detallada Detailed description

Aunque se explican en detalle realizaciones de ejemplo de la presente divulgación, se va a entender que se contemplan otras realizaciones. Por consiguiente, no se propone que el alcance de la divulgación se limite a los detalles de construcción y arreglo de componentes expuestos en la siguiente descripción o ilustrados en las figuras. La divulgación es capaz de otras realizaciones y de practicarse o llevarse a cabo de diversas maneras. Although exemplary embodiments of the present disclosure are explained in detail, it is to be understood that other embodiments are contemplated. Accordingly, it is not intended that the scope of the disclosure be limited to the details of construction and arrangement of components set forth in the following description or illustrated in the figures. The disclosure is capable of other embodiments and of being practiced or carried out in various ways.

También se debe observar que, como se utiliza en la especificación y las reclamaciones anexas, las formas singulares "uno", "una", “el” y “ la” incluyen referencias plurales salvo que el contexto dicte claramente lo contrario. Se propone que las referencias a una composición que contiene "un" constituyente incluyan otros constituyentes además del mencionado. It should also be noted that, as used in the specification and the accompanying claims, the singular forms "a", "an", "the" and "the" include plural references unless the context clearly dictates otherwise. References to a composition containing "a" constituent are intended to include constituents other than the one mentioned.

Además, al describir las realizaciones de ejemplo, se recurrirá a la terminología por el bien de la claridad. Se propone que cada término contemple su significado más amplio como se entiende por aquellos expertos en la técnica e incluye todos los equivalentes técnicos que operan de una manera similar para lograr un propósito similar. Furthermore, in describing example embodiments, terminology will be resorted to for the sake of clarity. Each term is intended to be given its broadest meaning as understood by those skilled in the art and includes all technical equivalents that operate in a similar manner to achieve a similar purpose.

Los intervalos se pueden expresar en la presente como de "alrededor de" o "aproximadamente" o "sustancialmente" un valor en particular y/o a "alrededor de" o "aproximadamente" o "sustancialmente" otro valor particular. Cuando se expresa este intervalo, otras realizaciones de ejemplo incluyen desde el valor particular y/o hasta el otro valor particular. Ranges may be expressed herein as from "about" or "approximately" or "substantially" to a particular value and/or to "about" or "approximately" or "substantially" another particular value. When this range is expressed, other example embodiments include from the particular value and/or to the other particular value.

En la presente, el uso de términos como "que tiene", "tiene", "que incluye" o "incluye" son abiertos y pretenden tener el mismo significado que los términos como "que comprende" o "comprende" y no excluyen la presencia de otra estructura, material, o actos. De manera similar, aunque el uso de términos como "puede" o "puede" pretende ser abierto y reflejar que la estructura, el material o los actos no son necesarios, la falta de uso de dichos términos no se propone que refleje que la estructura, el material o los actos son esenciales. En la medida en que la estructura, el material o los actos se consideren actualmente esenciales, se identifican como tales. Herein, the use of terms such as "having", "has", "including" or "includes" are open-ended and intended to have the same meaning as terms such as "comprising" or "comprises" and do not exclude the presence of other structure, material, or acts. Similarly, although the use of terms such as "may" or "can" is intended to be open-ended and to reflect that the structure, material, or acts are not necessary, the lack of use of such terms is not intended to reflect that the structure, material, or acts are essential. To the extent that the structure, material, or acts are currently considered essential, they are identified as such.

Se va a entender también que la mención de uno o más pasos de método no excluye la presencia de pasos de método adicionales o pasos de método intermedios entre aquellos pasos expresamente identificados. Además, aunque el término "etapa" se puede usar en la presente para connotar diferentes aspectos de los métodos empleados, el término no se debe interpretar como que implica ningún orden particular entre los diversos pasos descritos en la presente, salvo y excepto cuando el orden de los pasos individuales se requiera explícitamente. It is also to be understood that the mention of one or more method steps does not exclude the presence of additional method steps or intermediate method steps between those steps expressly identified. Furthermore, although the term "step" may be used herein to connote different aspects of the methods employed, the term should not be construed as implying any particular order among the various steps described herein, save and except where the order of the individual steps is explicitly required.

Se propone que los componentes descritos en lo sucesivo que constituyen diversos elementos de la presente divulgación sean ilustrativos y no restrictivos. Se propone que muchos componentes adecuados que realizarían las mismas o similares funciones que los componentes descritos en la presente se abarquen dentro del alcance de la presente divulgación. Estos otros componentes no descritos en la presente pueden incluir, pero no se limitan a, por ejemplo, componentes similares que se desarrollan después del desarrollo de la presente materia divulgada en la presente. The components described hereinafter that constitute various elements of this disclosure are intended to be illustrative and not restrictive. Many suitable components that would perform the same or similar functions as the components described herein are intended to be encompassed within the scope of this disclosure. Such other components not described herein may include, but are not limited to, for example, similar components that are developed after the development of the subject matter disclosed herein.

Para facilitar la comprensión de los principios y características de la presente divulgación, a continuación, se explican varias realizaciones ilustrativas. En particular, la presente materia actualmente descrita se describe en el contexto de NNLM. La presente divulgación, sin embargo, no está tan limitada, y puede ser aplicable en otros contextos. Por ejemplo, y sin limitación, algunas realizaciones de la presente divulgación pueden mejorar otras técnicas de reconocimiento de secuencias y similares. Estas realizaciones se contemplan dentro del alcance de la presente divulgación. Por consiguiente, cuando la presente divulgación se describe en el contexto de NNLM, se entenderá que otras realizaciones pueden tomar el lugar de aquellas a las que se hace referencia. To facilitate understanding of the principles and features of the present disclosure, several illustrative embodiments are explained below. In particular, the presently disclosed subject matter is described in the context of NNLM. The present disclosure, however, is not so limited, and may be applicable in other contexts. For example, and without limitation, some embodiments of the present disclosure may enhance other sequence recognition techniques and the like. These embodiments are contemplated within the scope of the present disclosure. Accordingly, when the present disclosure is described in the context of NNLM, it will be understood that other embodiments may take the place of those referenced.

Una red neuronal puede comprender una pluralidad de capas de nodos neuronales (es decir, "neuronas"). En algunas realizaciones, una red neuronal comprende una capa de entrada, una capa oculta, y una capa de salida. Para facilitar la explicación, a continuación, se explicará el funcionamiento básico de un nodo neuronal de acuerdo con una realización. Sin embargo, como se entendería por un experto en la técnica, se podrían utilizar otros tipos de neuronas. A neural network may comprise a plurality of layers of neural nodes (i.e., "neurons"). In some embodiments, a neural network comprises an input layer, a hidden layer, and an output layer. For ease of explanation, the basic operation of a neural node according to one embodiment will now be explained. However, as would be understood by one skilled in the art, other types of neurons could be used.

Las redes neuronales se implementan por computadora. La pluralidad de capas y nodos puede residir en módulos de programa ejecutables (por ejemplo, módulos de programa 714 en la figura 7) u otras construcciones de software, o en componentes de hardware programados dedicados. Las capas y nodos, y otros componentes funcionales descritos en la presente de acuerdo con diversas realizaciones para realizar aspectos de modelado de lenguaje neuronal se pueden almacenar en dispositivos de memoria (por ejemplo, memoria 704 o almacenamiento masivo 712) y ejecutables por procesadores (por ejemplo, unidad de procesamiento 702) de una o más computadoras, tal como la computadora 700 mostrada en la figura 7. El análisis, procesamiento de datos y otras funciones asociadas con la operación de las capas y nodos y la realización de las diversas funciones de modelado de lenguaje neuronal descritas en la presente, se pueden provocar por la ejecución de instrucciones por uno o más de estos procesadores. Las funciones de entrenamiento, tal como los procesos de entrenamiento modelo como se describen en la presente, se pueden realizar junto con las interacciones de uno o más usuarios con una o más computadoras, tal como la computadora 700 de la figura 7, y se puede operar y configurar tal que los modelos entrenables se puedan mejorar con base en la interacción de los usuarios con los datos de entrenamiento y los modelos anteriores, y se pueden implementar en varios datos de acuerdo con el aprendizaje automático que se puede supervisar y/o autónomo. Neural networks are implemented by computer. The plurality of layers and nodes may reside in executable program modules (e.g., program modules 714 in FIG. 7) or other software constructs, or in dedicated programmed hardware components. The layers and nodes, and other functional components described herein in accordance with various embodiments for performing aspects of neural language modeling may be stored in memory devices (e.g., memory 704 or mass storage 712) and executable by processors (e.g., processing unit 702) of one or more computers, such as computer 700 shown in FIG. 7. Analysis, data processing, and other functions associated with the operation of the layers and nodes and the performance of the various neural language modeling functions described herein may be triggered by the execution of instructions by one or more of these processors. Training functions, such as model training processes as described herein, may be performed in conjunction with interactions of one or more users with one or more computers, such as computer 700 of Figure 7, and may be operated and configured such that trainable models may be improved based on the users' interaction with the training data and prior models, and may be implemented on various data in accordance with supervised and/or autonomous machine learning.

La figura 1 ilustra un nodo neuronal 100 de acuerdo con una realización. En algunas realizaciones, cada nodo 100 puede tener una pluralidad de entradas 110, cada una con un peso 120, y una salida individual 130. La salida de un nodo se calcula como: Figure 1 illustrates a neural node 100 according to one embodiment. In some embodiments, each node 100 may have a plurality of inputs 110, each with a weight 120, and a single output 130. The output of a node is calculated as:

donde la salida y del nodo kenésimo se calcula como a suma e cada entrada x del nodo multiplicado por un peso correspondiente wkj para esa entrada. El resultado de la suma se transforma por una función de transferencia. En algunas realizaciones, la función de transferencia(ppuede ser una función sigmoidea, representada por: where the output y of the kenth node is calculated as the sum of each input x of the node multiplied by a corresponding weight wkj for that input. The result of the sum is transformed by a transfer function. In some embodiments, the transfer function (p) may be a sigmoid function, represented by:

<>>5(9<=>T+F<<>>5(9<=>T+F<

En algunas realizaciones, cada entrada puede aceptar un valor entre cero y uno, aunque se pueden utilizar otros valores. Colectivamente, las entradas se pueden representar por el vector de entrada x: In some embodiments, each input may accept a value between zero and one, although other values may be used. Collectively, the inputs may be represented by the input vector x:

X = [ x QX1 ... Xn]X = [ x QX1 ... Xn]

Cada entrada también tiene un peso asociado con ella, con el conjunto colectivo de pesos de entrada que comprende el vector: Each input also has a weight associated with it, with the collective set of input weights comprising the vector:

La figura 2 representa una red neuronal generalizada. Esta red comprende una capa de entrada 210 con tres nodos, una capa oculta 220 con cuatro nodos y una capa de salida 230 con tres nodos. Los nodos en la capa de entrada 210 emiten un valor, pero no calculan un valor por sí mismos. En una realización, la salida puede ser un número entre cero y uno. Cada nodo en la capa oculta 220 recibe salidas de cada nodo de la capa de entrada 210,yk = ¥ .1. ^ ) Figure 2 depicts a generalized neural network. This network comprises an input layer 210 with three nodes, a hidden layer 220 with four nodes, and an output layer 230 with three nodes. Nodes in the input layer 210 output a value, but do not calculate a value themselves. In one embodiment, the output may be a number between zero and one. Each node in the hidden layer 220 receives outputs from every node in the input layer 210, and k = ¥ .1. ^ )

y emite el resultado de la ecuación 10 expuesta anteriormente. La salida de la capa oculta 220 se alimenta entonces hacia adelante a la capa de salida 230. Cada nodo en la capa de salida calcula su salida como el resultado >í = lP(X'¥i) and outputs the result of equation 10 given above. The output of the hidden layer 220 is then fed forward to the output layer 230. Each node in the output layer computes its output as the result >í = lP(X'¥i)

de la ecuación J 0 , que corresponde a la salida de la red. Esta representación de una red neuronal se propone que ayude con la comprensión de las redes neuronales y no limita la tecnología divulgada. Es decir, una red neuronal puede constar de cientos, miles, millones o más nodos en cada una de las capas de entrada, oculta, y de salida. Además, las redes neuronales pueden tener una capa oculta individual (como se representa), o pueden tener múltiples capas ocultas. from the equation J 0 , which corresponds to the output of the network. This representation of a neural network is intended to aid in understanding neural networks and does not limit the disclosed technology. That is, a neural network may consist of hundreds, thousands, millions, or more nodes in each of the input, hidden, and output layers. Furthermore, neural networks may have a single hidden layer (as depicted), or they may have multiple hidden layers.

Los pesos para una capa de nodos se pueden representar además por la matriz: The weights for a layer of nodes can be further represented by the matrix:

w = [w0>0 w0>1 ■■w0jw 1)0 WU ; :WKo -wkJ ]w = [w0>0 w0>1 ■■w0jw 1)0 WU ; :WKo -wkJ ]

por lo tanto, la salida para el grupo de nodos se puede calcular como: Therefore, the output for the node group can be calculated as:

y = (p(w*x)y = (p(w*x)

Se puede utilizar una red neuronal de acuerdo con algunas realizaciones para analizar una lista ordenada de unidades lingüísticas. Una unidad lingüística como se define en la presente se puede referir a una frase, palabra, letra, u otro carácter o caracteres utilizados en el idioma. La red neuronal se configura para tomar la lista ordenada de unidades lingüísticas, con una unidad lingüística omitida, y predecir la unidad lingüística omitida. Esta unidad lingüística omitida se conoce como un "término de enfoque". Por ejemplo, la figura 3 representa una red neuronal de una realización, que no está cubierta por la presente materia de las reivindicaciones y en la que la red neuronal está analizando la frase "SEE SPOT RUN". Los nodos de entrada para "SEE" y "RUN" están activados, para predecir el término de enfoque "SPOT". Entonces, la red neuronal predice adecuadamente que la palabra que falta es "SPOT" al retornar un 100% en el nodo de salida "SPOT". A neural network may be used according to some embodiments to analyze an ordered list of linguistic units. A linguistic unit as defined herein may refer to a phrase, word, letter, or other character or characters used in the language. The neural network is configured to take the ordered list of linguistic units, with one linguistic unit omitted, and predict the omitted linguistic unit. This omitted linguistic unit is referred to as a "focus term." For example, Figure 3 depicts a neural network of one embodiment, which is not covered by the present subject matter of the claims and in which the neural network is analyzing the phrase "SEE SPOT RUN." The input nodes for "SEE" and "RUN" are turned on, to predict the focus term "SPOT." The neural network then properly predicts that the missing word is "SPOT" by returning 100% at the output node "SPOT."

La red neuronal 200 tiene una capa de entrada 210 de nodos que codifica esta entrada usando codificación "onehot". Es decir, existe un nodo de entrada para cada unidad lingüística en un diccionario de unidades lingüísticas que se podrían utilizar. El diccionario no necesita ser un diccionario completo, tal como un diccionario de inglés completo, pero puede existir como un subconjunto de caracteres, palabras, o frases utilizadas en el idioma. Por ejemplo, si la lista ordenada de unidades lingüísticas es una palabra en el idioma inglés, el diccionario puede ser la lista de letras A-Z, todas las letras mayúsculas (A-Z) y minúsculas (a-z) y signos de puntuación, o algún subconjunto de las mismas. Si la lista ordenada de unidades lingüísticas es una frase en inglés, el diccionario puede incluir todas o algunas palabras en el idioma inglés. Por ejemplo, si el sistema se va a entrenar en un libro o corpus de texto específico, se pueden omitir las palabras en inglés que no se usan en el libro o corpus. En algunas realizaciones, los diccionarios pueden incluir además términos compuestos que incluyen más de una palabra, tal como “San Francisco”,“hot dog”, etc. The neural network 200 has an input layer 210 of nodes that encodes this input using "onehot" encoding. That is, there exists an input node for each linguistic unit in a dictionary of linguistic units that could be used. The dictionary need not be a complete dictionary, such as a complete English dictionary, but may exist as a subset of characters, words, or phrases used in the language. For example, if the ordered list of linguistic units is a word in the English language, the dictionary may be the list of letters A-Z, all uppercase (A-Z) and lowercase (a-z) letters, and punctuation marks, or some subset thereof. If the ordered list of linguistic units is an English sentence, the dictionary may include all or some words in the English language. For example, if the system is to be trained on a specific book or corpus of text, English words that are not used in the book or corpus may be omitted. In some embodiments, dictionaries may further include compound terms that include more than one word, such as “San Francisco,” “hot dog,” etc.

La red neuronal tiene una capa de nodos ocultos 220. Esta capa de nodos ocultos 220 se divide en particiones. Cuando una capa de nodos ocultos se divide en particiones, se conoce como una red neuronal de incrustación particionada (PENN). Cada partición se relaciona con una posición en una frase (una palabra antes del término de enfoque, una palabra después del término de enfoque, etc.). Esto se puede conocer como incrustación con ventanas. La figura 4 representa una realización particionada con ventanas que tiene dos particiones, una para la palabra inmediatamente anterior al término de enfoque (p=+1) y otra para la palabra inmediatamente posterior al término de enfoque (p=-1). La red se muestra aquí, analizando la frase "SEE SPOT RUN", donde el término de enfoque es "SPOT". Aquí, se utilizan tres nodos ocultos para la partición p=+1, y tres nodos ocultos para la partición p=-1. De nuevo, como resultado de ingresar "SEE" a la partición p=+1, y "RUN" a la partición p=-1, la red predice que el término de enfoque es "SPOT". The neural network has a layer of hidden nodes 220. This layer of hidden nodes 220 is divided into partitions. When a layer of hidden nodes is divided into partitions, it is known as a partitioned embedding neural network (PENN). Each partition is related to a position in a sentence (a word before the focus term, a word after the focus term, etc.). This can be known as windowed embedding. Figure 4 depicts a windowed partitioned implementation that has two partitions, one for the word immediately before the focus term (p=+1) and one for the word immediately after the focus term (p=-1). The network is shown here, analyzing the sentence "SEE SPOT RUN", where the focus term is "SPOT". Here, three hidden nodes are used for the partition p=+1, and three hidden nodes for the partition p=-1. Again, as a result of inputting "SEE" to partition p=+1, and "RUN" to partition p=-1, the network predicts that the focus term is "SPOT".

En algunas realizaciones, cada partición puede referirse a una dirección en la frase (todas las palabras antes del término de enfoque, todas las palabras después del término de enfoque, etc.). Esto se puede conocer como incrustación direccional. Como se reconocería por un experto en la técnica, los enfoques se pueden combinar en numerosas permutaciones, tal como una realización que tiene una partición para la unidad lingüística dos ventanas antes del término de enfoque, y una partición para todas las unidades lingüísticas después del término de enfoque, y otras permutaciones. La figura 5 representa una realización con partición direccional que tiene una partición para todas las palabras antes del término de enfoque (P > 0), y una partición para todas las palabras después del término de enfoque (P < 0). Aquí, la red neuronal está analizando la frase "SEE SPOT RUN FAST" donde el término de enfoque es "SPOT". Como se muestra, la palabra "SEE" se ingresa en la partición P > 0, y las palabras "FAST" y "RUN" se ingresan en la partición P < 0. Entonces, la red neuronal retorna el término de enfoque "SPOT". In some embodiments, each partition may refer to a direction in the sentence (all words before the focus term, all words after the focus term, etc.). This may be referred to as directional embedding. As would be recognized by one skilled in the art, the approaches may be combined in numerous permutations, such as an embodiment having a partition for the linguistic unit two windows before the focus term, and a partition for all linguistic units after the focus term, and other permutations. Figure 5 depicts an embodiment with directional partitioning having a partition for all words before the focus term (P > 0), and a partition for all words after the focus term (P < 0). Here, the neural network is analyzing the sentence "SEE SPOT RUN FAST" where the focus term is "SPOT". As shown, the word "SEE" is input into the partition P > 0, and the words "FAST" and "RUN" are input into the partition P < 0. Then, the neural network returns the focus term "SPOT".

Cuando se utilizan particiones, se utiliza un conjunto separado de nodos de entrada para cada partición. De manera alternativa, en una realización que no se cubre por la presente materia de las reivindicaciones, el conjunto de nodos de entrada se puede modelar como nodos especializados capaces de emitir una salida separada a cada partición. Ambos son matemáticamente equivalentes. Para simplificar la comprensión, la presente descripción se refiere a conjuntos de nodos de entrada para cada partición separada, pero en cada caso en el que se utilizan nodos de entrada separados para cada partición, se podría utilizar un conjunto individual de nodos de entrada que alimentan valores diferentes a diferentes particiones en realizaciones que no están cubiertas por la presente materia de las reivindicaciones. When partitions are used, a separate set of input nodes is used for each partition. Alternatively, in an embodiment not covered by the present subject matter of the claims, the set of input nodes can be modeled as specialized nodes capable of issuing a separate output to each partition. Both are mathematically equivalent. For ease of understanding, the present disclosure refers to sets of input nodes for each separate partition, but in each case where separate input nodes are used for each partition, a separate set of input nodes feeding different values to different partitions could be used in embodiments not covered by the present subject matter of the claims.

Como se analiza anteriormente, cada nodo en cada partición de la capa oculta tendrá un conjunto de pesos asociados con el mismo, representados por un vector x. En algunas realizaciones, el vector x tendrá tantos elementos como nodos de entrada asociados con la partición. En algunas realizaciones, algunos nodos de capa oculta en una partición determinada pueden alimentarse desde menos de todos los nodos de entrada asociados con esa partición. Esto se puede modelar ya sea como un vector x que tiene menos elementos que el número de nodos de entrada asociados con esa partición, o un vector de longitud equivalente con los pesos de términos omitidos establecidos en cero. Cada nodo oculto puede tener además un término de sesgo, un peso asociado con un nodo de entrada, que ya sea no se multiplica por nada o se multiplica por 1 y se adiciona al resultado. Los pesos para todos los nodos ocultos en una partición de la capa oculta se pueden representar por una matriz formada al concatenar los vectores para cada nodo en la capa oculta de nodos. Esta matriz se puede conocer como una matriz de "sinapsis". Debido a que es el primer conjunto de nodos de la capa de entrada, se conoce como sinapsis 0 (synO). Además, esta matriz se puede conocer como una "matriz de incrustación". As discussed above, each node in each hidden layer partition will have a set of weights associated with it, represented by a vector x. In some embodiments, the vector x will have as many elements as there are input nodes associated with the partition. In some embodiments, some hidden layer nodes in a given partition may be fed from fewer than all of the input nodes associated with that partition. This can be modeled either as a vector x that has fewer elements than the number of input nodes associated with that partition, or a vector of equivalent length with the omitted term weights set to zero. Each hidden node may also have a bias term, a weight associated with an input node, that is either not multiplied by anything or multiplied by 1 and added to the result. The weights for all of the hidden nodes in a hidden layer partition can be represented by a matrix formed by concatenating the vectors for each node in the hidden layer of nodes. This matrix may be referred to as a "synapse" matrix. Because it is the first set of nodes in the input layer, it is known as synapse 0 (synO). This matrix can also be referred to as an "embedding matrix".

syn0 = [w l ... w k ] =[w<0)0>w<0>1>-w0Jw<1>0>wu : ;wK<0>-wkJ] syn0 = [w l ... w k ] =[w<0)0>w<0>1>-w0Jw<1>0>wu : ;wK<0>-wkJ]

En algunas realizaciones, sólo hay una capa oculta individual, aunque en algunas realizaciones puede haber dos o más capas ocultas. En realizaciones que tienen múltiples capas ocultas, puede haber el mismo número de particiones que la capa anterior, más o menos. En algunas realizaciones, una capa oculta adicional puede no tener particiones en absoluto. In some embodiments, there is only a single hidden layer, although in some embodiments there may be two or more hidden layers. In embodiments that have multiple hidden layers, there may be the same number of partitions as the previous layer, more or less. In some embodiments, an additional hidden layer may have no partitions at all.

La última capa oculta es seguida por una capa de salida. En algunas realizaciones, la capa de salida puede tener una neurona de salida asociada con cada unidad lingüística en un diccionario de unidades lingüísticas. En algunas realizaciones, hay menos conjuntos de nodos de salida que particiones en la capa oculta anterior, que toma como entradas las salidas de más de una partición en la última capa oculta de nodos. En algunas realizaciones, hay un conjunto individual de nodos de salida, cada nodo recibe como entrada la salida de todos los nodos en la capa anterior. En algunas realizaciones, hay un conjunto separado de nodos de salida asociados con cada partición en la última capa oculta de nodos. The last hidden layer is followed by an output layer. In some embodiments, the output layer may have an output neuron associated with each language unit in a dictionary of language units. In some embodiments, there are fewer sets of output nodes than there are partitions in the previous hidden layer, which takes as inputs the outputs of more than one partition in the last hidden layer of nodes. In some embodiments, there is a single set of output nodes, each node receiving as input the output of all nodes in the previous layer. In some embodiments, there is a separate set of output nodes associated with each partition in the last hidden layer of nodes.

CLOWCLOW

En algunas realizaciones, una red neuronal de la presente divulgación se puede entrenar utilizando un estilo de entrenamiento de lista continua de palabras (CLOW). El estilo de entrenamiento de CLOW bajo el marco de PENN optimiza la siguiente función de objetivo: In some embodiments, a neural network of the present disclosure may be trained using a continuous word list (CLOW) training style. The CLOW training style under the PENN framework optimizes the following objective function:

arg max¿(w,ÜC) ed -c< j U< c j^0 P(d,Q)( arg max¿(w,ÜC) ed -c< j U< c j^0 P(d,Q)(

C1 C1

dondeJes la representación específica de ubicación (particiónj)para la palabra en la posición de ventanajcon relación a la palabra de enfoquew.whereJ is the location-specific representation (partitionj) for the word at window positionj relative to the focus wordw.

En este estilo de entrenamiento, la capa de salida se configura como un conjunto individual (o una partición individual) de nodos que reciben entradas de cada nodo en la capa oculta anterior. La red neuronal se entrena entonces en un corpus lingüístico, que es una o más secuencias de una pluralidad de unidades lingüísticas. Se ejecutan uno o más ejemplos de entrenamiento, donde para cada ejemplo de entrenamiento, las palabras que circundan el término de enfoque se ingresan en sus respectivos nodos de entrada que corresponden a las particiones apropiadas. Por ejemplo, si el corpus lingüístico incluye la frase "SEE SPOT RUN FAST", y "SPOT" es el término de enfoque, los nodos de entrada, asociados con la posición uno en adelante del término de enfoque, se activarían de acuerdo con el término "SEE", y la posición uno detrás del término de enfoque se activaría de acuerdo con el término "RUN". Esas entradas se propagan a través de la red neuronal para producir una salida. La salida de la red neuronal, que se correlaciona con el porcentaje de probabilidad de que la palabra de salida sea el término de enfoque, se compara entonces con una salida preferida donde el término de enfoque ("SPOT") es 100% (o un valor de salida máximo correspondiente) y la salida para todas las demás unidades lingüísticas es 0% (o un valor de salida mínimo correspondiente). La salida real se compara a la salida preferida, y entonces se propaga hacia atrás a través de la red neuronal para actualizar las matrices de sinapsis de acuerdo con uno o más algoritmos de propagación hacia atrás de errores conocidos. Este proceso se puede repetir en secuencias adicionales en el corpus lingüístico, hasta que la red sea lo suficientemente exacta. In this style of training, the output layer is configured as a single set (or a single partition) of nodes that receive inputs from each node in the hidden layer above. The neural network is then trained on a language corpus, which is one or more sequences of a plurality of language units. One or more training examples are run, where for each training example, words surrounding the focus term are input into their respective input nodes that correspond to the appropriate partitions. For example, if the language corpus includes the phrase "SEE SPOT RUN FAST", and "SPOT" is the focus term, the input nodes, associated with position one ahead of the focus term, would be activated according to the term "SEE", and position one behind the focus term would be activated according to the term "RUN". Those inputs are propagated through the neural network to produce an output. The output of the neural network, which is correlated with the percentage probability that the output word is the focus term, is then compared to a preferred output where the focus term ("SPOT") is 100% (or a corresponding maximum output value) and the output for all other language units is 0% (or a corresponding minimum output value). The actual output is compared to the preferred output, and then backpropagated through the neural network to update the synapse matrices according to one or more known error backpropagation algorithms. This process can be repeated on additional sequences in the language corpus, until the network is sufficiently accurate.

En algunas realizaciones, la implementación de CLOW direccional con tamaños de ventana muy pequeños (en la imagen con un tamaño de ventana de 1) se puede utilizar para lograr un rendimiento aceptable. CLOW direccional es capaz de lograr una puntuación de paridad utilizando un tamaño de ventana de 1, en contraste con word2vec que utiliza un tamaño de ventana de 10 cuando todos los demás parámetros son iguales. En algunas realizaciones, esta optimización puede reducir la cantidad de ejemplos de entrenamiento y el tiempo de entrenamiento general en un factor de 10. In some embodiments, implementing directional CLOW with very small window sizes (pictured with a window size of 1) can be used to achieve acceptable performance. Directional CLOW is able to achieve a parity score using a window size of 1, in contrast to word2vec which uses a window size of 10 when all other parameters are equal. In some embodiments, this optimization can reduce the number of training examples and overall training time by a factor of 10.

SKIP-GRAMSKIP-GRAM

En algunas realizaciones, una red neuronal de la presente divulgación se puede entrenar utilizando un estilo de entrenamiento de "skip-gram". El estilo de entrenamiento de skip-gram optimiza la siguiente función objetivo: In some embodiments, a neural network of the present disclosure may be trained using a "skip-gram" training style. The skip-gram training style optimizes the following objective function:

arg maxe((w, ICT)^d ~c< Uj<cj^0 p(c¡;Q)(w,C I)T^d’-c< j<üc j^0p(wj =O|d;<0>)) arg maxe((w, ICT)^d ~c< Uj<cj^0 p(c¡;Q)(w,C I)T^d'-c< j<üc j^0p(wj =O|d; <0>))

ci

dondeJ .es la representación especifica de ubicación (particiónJ)para la palabra en la posición de ventanajcon relación a la palabra de enfoquew.where J is the location-specific representation (partition J) for the word at window position j relative to the focus word w.

En este estilo de entrenamiento, se configura una red que tiene particiones de salida separadas para cada partición de capa oculta. Por lo tanto, en el ejemplo listado anteriormente, la red neuronal constaría de dos redes neuronales, una que modela la probabilidad de que el término de enfoque sea un valor determinado con base en la palabra en la posición uno por delante del término de enfoque, y otra que modela la probabilidad de que el término de enfoque sea un valor determinado con base en la palabra en la posición uno después del término de enfoque. En otras palabras, si el corpus lingüístico incluye la frase "SEE SPOT RUN FAST", y "SPOT" es el término de enfoque, una partición recibirá como entrada "SEE", y una partición recibirá como entrada "RUN". Los nodos de salida correspondientes entonces generarán una salida. Esta salida real se compara con una salida preferida donde el término de enfoque ("SPOT") es 100% (o un valor de salida máximo correspondiente) y la salida para todas las demás unidades lingüísticas es 0% (o un valor de salida mínimo correspondiente). La salida real se compara a la salida preferida, y entonces se propaga hacia atrás a través de la red neuronal para actualizar las matrices de sinapsis de acuerdo con cualquier algoritmo de propagación hacia atrás de errores, como se conoce en la técnica de las redes neuronales. Este proceso se puede repetir en secuencias adicionales en el corpus lingüístico, hasta que la red sea lo suficientemente exacta. Después del entrenamiento, para llegar a un resultado final, los resultados de las diversas particiones de salida se pueden sumar o combinar de otra manera para producir una probabilidad final del término de enfoque. In this style of training, a network is set up that has separate output partitions for each hidden layer partition. Thus, in the example listed above, the neural network would consist of two neural networks, one that models the probability of the focus term being a given value based on the word at position one ahead of the focus term, and one that models the probability of the focus term being a given value based on the word at position one after the focus term. In other words, if the language corpus includes the phrase "SEE SPOT RUN FAST", and "SPOT" is the focus term, one partition will receive as input "SEE", and one partition will receive as input "RUN". The corresponding output nodes will then generate an output. This actual output is compared to a preferred output where the focus term ("SPOT") is 100% (or a corresponding maximum output value) and the output for all other language units is 0% (or a corresponding minimum output value). The actual output is compared to the preferred output, and then propagated back through the neural network to update the synapse matrices according to any error backpropagation algorithm, as known in the art of neural networks. This process can be repeated on additional sequences in the language corpus, until the network is sufficiently accurate. After training, to arrive at a final result, the results of the various output partitions can be summed or otherwise combined to produce a final probability of the focus term.

En algunas realizaciones, el estilo de entrenamiento de omisión de diagrama se puede utilizar para entrenar una red neuronal en paralelo. Es decir, cada partición separada de nodos ocultos, y partición de nodos de salida se puede entrenar independientemente de otras particiones de nodos ocultos y nodos de salida. Por lo tanto, esas realizaciones podrían entrenarse usando múltiples subprocesos en un procesador de computadora individual, o en múltiples computadoras que operan en paralelo. In some embodiments, the skip-the-diagram training style can be used to train a neural network in parallel. That is, each separate hidden node partition and output node partition can be trained independently of other hidden node partitions and output nodes. Therefore, those embodiments could be trained using multiple threads on a single computer processor, or on multiple computers operating in parallel.

En algunas realizaciones, cuando el diagrama de salto se utiliza para modelar conjuntos ordenados de palabras bajo el marco de PENN, cada partición de clasificador y sus particiones de incrustación asociadas se pueden entrenar en paralelo completo para alcanzar el mismo estado que si no estuvieran distribuidas. En algunas realizaciones, el entrenamiento se puede lograr por múltiples computadoras sin intercomunicación en absoluto. En algunas realizaciones, la configuración de incrustación con ventanas puede entrenar todas las posiciones de ventana en paralelo completo y concatenar incrustaciones y clasificadores al final del entrenamiento. Dada la máquina / se optimiza la siguiente función objetivo: In some embodiments, when the jump diagram is used to model ordered sets of words under the PENN framework, each classifier partition and its associated embedding partitions can be trained in full parallel to achieve the same state as if they were not distributed. In some embodiments, training can be achieved by multiple computers with no intercommunication at all. In some embodiments, the windowed embedding setup can train all window positions in full parallel and concatenate embeddings and classifiers at the end of training. Given the machine/s, the following objective function is optimized:

arg maxe(ITp(cj;Q)T Ip(cj;Q))arg max(ITp(cj;Q)T Ip(cj;Q))

(w,Q<Bd (w,Q<Ec/(w,Q<Bd (w,Q<Ec/

donde<c>j<;>es la representación específica de la ubicación (particiónj)para la palabra en la posición de la ventanajcon relación a la palabra de enfoquew.where <c>j<;> is the location-specific representation (partition j) for the word at window position j relative to the focus word w.

La concatenación de las matrices de pesosynoysyniluego incorpora la suma sobrejde nuevo en la función objetivo del diagrama de salto de PENN durante el proceso de propagación hacia adelante, produciendo resultados de entrenamiento idénticos a los de una red entrenada de una manera de skip-gram de PENN de un solo subproceso y un solo modelo. Este estilo de entrenamiento logra resultados de entrenamiento de paridad con los métodos actuales de vanguardia en tanto que se entrena en paralelo en tantasjmáquinas separadas como sea posible. The concatenation of the weight matrices s and s and s then incorporates the sum over j back into the PENN skip-gram objective function during the forward propagation process, yielding training results identical to a network trained in a single-threaded, single-model PENN skip-gram manner. This style of training achieves parity in training results with current state-of-the-art methods as long as it is trained in parallel on as many separate machines as possible.

DIEMDIEM

En algunas realizaciones, las tareas sintácticas se pueden realizar por un proceso llamado incrustación por interpolación densa (DIEM). En esta técnica, los vectores característicos para unidades lingüísticas compuestas más grandes (tal como las palabras) se pueden calcular a partir de incrustaciones generadas en unidades lingüísticas más pequeñas (tal como las letras). Debido a que la estructura de palabras o frases se correlaciona más con la sintaxis que con el significado semántico, esta técnica funciona mejor en las tareas de analogía sintáctica. Para realizar este método, los vectores característicos se calculan primero para las unidades lingüísticas más pequeñas utilizando una red neuronal de acuerdo con una realización. Un vector característico para una unidad lingüística más grande se puede calcular al interpolar las incrustaciones para la unidad lingüística más pequeña sobre la unidad lingüística más grande. Por ejemplo, donde la unidad lingüística más pequeña es una letra, y la unidad lingüística más grande es una palabra, los vectores característicos para las palabras se pueden generar de acuerdo con el siguiente pseudocódigo: In some embodiments, syntactic tasks may be performed by a process called dense interpolation embedding (DIEM). In this technique, feature vectors for larger compound linguistic units (such as words) may be computed from embeddings generated on smaller linguistic units (such as letters). Because the structure of words or phrases correlates more with syntax than with semantic meaning, this technique works best on syntactic analogy tasks. To perform this method, feature vectors are first computed for the smaller linguistic units using a neural network according to one embodiment. A feature vector for a larger linguistic unit may be computed by interpolating the embeddings for the smaller linguistic unit onto the larger linguistic unit. For example, where the smallest linguistic unit is a letter, and the largest linguistic unit is a word, feature vectors for words may be generated according to the following pseudocode:

ENTRADA: longitud de palabraI,listar incrustaciones de carácter (por ejemplo, la palabra)chart,múltiploM,dimensionalidad de carácterC,vectorvm.INPUT: word lengthI, list character embeddings (e.g. word)chart, multipleM, character dimensionalityC, vectorvm.

El tamaño de incrustación final se puede seleccionar como un múltiploMde la dimensionalidad de incrustación de carácterC,tal que la incrustación final contengaMsector de longitudC.Dentro de cada sector de la incrustación final, la incrustación de cada carácter se suma de acuerdo con un promedio ponderado. Este promedio ponderado se determina por la variabledanterior. Esta variable compara la distancia porcentual al cuadrado entre la posición del carácterien la palabra de longitudIy la posición del sectormen la secuencia deMsectores. Esto se calcula tal que el carácter del extremo izquierdo esté a una distancia aproximada del 0% del sector de extremo izquierdo, y el carácter del extremo derecho esté a una distancia aproximada del 100% del sector de extremo derecho. 1 menos esta distancia, al cuadrado, se utiliza entonces para ponderar la incrustación de cada respectivo carácter en cada respectivo sector. Por ejemplo, el porcentaje de distancia a través de una palabra de longitud 4 es 0%, 33%, 66% y 100% (de izquierda a derecha a través de la palabra). La distancia porcentual a través de una secuencia de sectores de longitud 3 es 0%, 50% y 100%. Por lo tanto, la distancia entre el carácter 1 y el sector 3 es (0% -100%). Al cuadrado, esto equivale al 100%. Uno menos este cuadrado es 0%. Por lo tanto, el carácter 1 en el sector 3 tendría un peso de 0% (nada). Lo contrario sería cierto para el carácter 4 y el sector 3, ya que ambos yacen en la posición extrema derecha en sus respectivas secuencias. The final embedding size can be selected as a multipleMof the character embedding dimensionalityC, such that the final embedding containsMslices of lengthC. Within each slice of the final embedding, the embedding of each character is summed according to a weighted average. This weighted average is determined by the variabled above. This variable compares the squared percentage distance between the character positioni in the word of lengthI and the slice positionm in the sequence ofMslices. This is calculated such that the leftmost character is at a distance of approximately 0% from the leftmost slice, and the rightmost character is at a distance of approximately 100% from the rightmost slice. 1 minus this distance, squared, is then used to weight the embedding of each respective character in each respective slice. For example, the percentage distance across a word of length 4 is 0%, 33%, 66%, and 100% (from left to right across the word). The percentage distance across a sequence of slices of length 3 is 0%, 50%, and 100%. Therefore, the distance between character 1 and slice 3 is (0% -100%). Squared, this equals 100%. One minus this square is 0%. Therefore, character 1 in slice 3 would have a weight of 0% (nothing). The opposite would be true for character 4 and slice 3, since they both lie in the rightmost position in their respective sequences.

Para cada carácter de una palabra, su índiceise escala primero linealmente con el tamaño de la incrustación "sintáctica" final tal que s =M * i/I. Entonces, para cada posiciónCde longitudm(deMposiciones/sectores) en la incrustación de la palabra finalvm,se calcula una distancia al cuadrado con relación al índice escalado tal que la distanciad =pow(1- (abs(s - j)) / M,2). El vector de carácter para el carácter en la posiciónien la palabra entonces se escala pordy se adiciona por elementos en la posiciónjdel vectorv.For each character in a word, its index i is first scaled linearly with the size of the final "syntactic" embedding such that s = M * i/I. Then, for each position C of length m (of M positions/sectors) in the final word embedding vm, a squared distance relative to the scaled index is computed such that distance d = pow(1 - (abs(s - j)) / M,2). The character vector for the character at position i in the word is then scaled by d and added element-wise at position j of the vector v.

En algunas realizaciones, un método de incrustación de interpolación densa se puede lograr de manera más eficiente al almacenar en memoria intermedia un conjunto de matrices de transformación, que son valores almacenados en memoria intermedia dedijpara palabras de tamaño variable. Estas matrices se pueden utilizar para transformar vectores de caracteres concatenados de longitud variable en incrustaciones de palabras de longitud fija mediante multiplicación vector-matriz. In some embodiments, a dense interpolation embedding method may be more efficiently achieved by buffering a set of transformation matrices, which are buffered values of dij for variable-sized words. These matrices may be used to transform variable-length concatenated character vectors into fixed-length word embeddings via vector-matrix multiplication.

Los vectores sintácticos de acuerdo con algunas realizaciones también proporcionan ventajas de escalamiento y generalización significativas sobre los vectores semánticos. Por ejemplo, se pueden generar fácilmente nuevos vectores sintácticos para palabras nunca antes vistas, dando una generalización sin pérdidas a cualquier palabra del entrenamiento inicial de caracteres, asumiendo sólo que la palabra se compone de caracteres que se han visto. Las incrustaciones sintácticas se pueden generar de una manera completamente distribuida y sólo requieren una concatenación vectorial pequeña y una multiplicación vector-matriz por palabra. Además, en algunas realizaciones, los vectores de caracteres (habitualmente longitud 32) y las matrices de transformación (como mucho 20 o más de ellos) se pueden almacenar de manera muy eficiente con relación a los vocabularios semánticos, que pueden ser varios millones de vectores de dimensionalidad 1000 o más. En algunas realizaciones, DIEM funciona de manera óptima usando más de 6 órdenes de magnitud menos de espacio de almacenamiento, y más de 5 órdenes de magnitud menos de ejemplos de entrenamiento que las incrustaciones semánticas a nivel de palabra. Syntactic vectors according to some embodiments also provide significant scaling and generalization advantages over semantic vectors. For example, new syntactic vectors can be easily generated for previously unseen words, giving lossless generalization to any word from the initial character training, assuming only that the word is composed of characters that have been seen. Syntactic embeddings can be generated in a completely distributed manner and only require a small vector concatenation and vector-matrix multiplication per word. Furthermore, in some embodiments, character vectors (typically length 32) and transformation matrices (at most 20 or more of them) can be stored very efficiently relative to semantic vocabularies, which may be several million vectors of dimensionality 1000 or more. In some embodiments, DIEM performs optimally using over 6 orders of magnitude less storage space, and over 5 orders of magnitude fewer training examples than word-level semantic embeddings.

El marco de PENN modela la probabilidad de que se presente una palabra dadas las palabras que la circundan. Cambiar la estrategia de partición modifica esta distribución de probabilidad al capturar (o ignorar) varias sinergias. El modelado de cada permutación de la posición de la ventana alrededor de una palabra de enfoque se aproxima a la distribución completa, o la probabilidad condicional completa de que la palabra de enfoque se presente dada la posición y el valor de todas y cada una de las palabras en el contexto que la circunda. The PENN framework models the probability that a word will occur given the words surrounding it. Changing the partitioning strategy modifies this probability distribution by capturing (or ignoring) various synergies. Modeling each permutation of the window position around a focus word approximates the full distribution, or the full conditional probability that the focus word will occur given the position and value of each and every word in the surrounding context.

El modelado de cada distribución permite que se capturen todas las sinergias potenciales en la incrustación combinada. El número de permutaciones posibles en esta estrategia de partición puede exceder fácilmente varios cientos dado un tamaño de ventana de 10 o más con cada modelo entrenado que contiene miles de millones de parámetros. Sin embargo, las estrategias de partición de palabras similares producen incrustaciones de palabras similares y, por extensión, una calidad de analogía de palabras similar en cada subtarea. Por lo tanto, algunas realizaciones pueden aproximarse a las perspectivas variables generadas utilizando la distribución de co ocurrencia completa con menos modelos entrenados entrenando modelos suficientemente diferentes y concatenándolos. Este método utiliza diferentes distribuciones de probabilidad para generar incrustaciones de palabras que modelan diferentes perspectivas en cada palabra del vocabulario. Los vectores derivados de caracteres también incorporan una perspectiva única al capturar información de los caracteres de una palabra en lugar de los contextos en los que se presenta una palabra. Debido a que la incrustación representa relaciones sintácticas entre palabras desde una perspectiva única, el método de concatenación de acuerdo con las realizaciones descritas anteriormente se puede generalizar para incluir los vectores de DIEM. Modeling each distribution allows all potential synergies to be captured in the combined embedding. The number of possible permutations in this partitioning strategy can easily exceed several hundred given a window size of 10 or more with each trained model containing billions of parameters. However, similar word partitioning strategies yield similar word embeddings, and by extension, similar word analogy quality in each subtask. Therefore, some realizations can approximate the varying perspectives generated using the full co-occurrence distribution with fewer trained models by training sufficiently different models and concatenating them. This method uses different probability distributions to generate word embeddings that model different perspectives on each word in the vocabulary. Character-derived vectors also incorporate a unique perspective by capturing information from the characters of a word rather than the contexts in which a word occurs. Because the embedding represents syntactic relationships between words from a unique perspective, the concatenation method according to the embodiments described above can be generalized to include DIEM vectors.

Tareas de analogíaAnalogy tasks

Un aspecto relacionado de las redes neuronales de acuerdo con algunas realizaciones es que la matriz de incrustación Syn0 se puede usar para tareas de analogía. De la misma manera que cada fila puede representar todas las entradas a una neurona específica, cada fila representa la "incrustación" característica de una palabra específica en la red neuronal. La incrustación de una palabra puede ser un vector que corresponde a todos o un subconjunto de los pesos de sinapsis para una partición individual, o todos o un subconjunto de todas las particiones, o variaciones de las mismas. A related aspect of neural networks according to some embodiments is that the embedding matrix Syn0 can be used for analogy tasks. In the same way that each row can represent all the inputs to a specific neuron, each row represents the characteristic "embedding" of a specific word in the neural network. The embedding of a word can be a vector corresponding to all or a subset of the synapse weights for an individual partition, or all or a subset of all partitions, or variations thereof.

Estas incrustaciones de palabras características se pueden utilizar para realizar tareas de analogía. Por ejemplo, la analogía "rey es a la reina como el hombre es a la mujer" se puede codificar como rey - reina = hombre - mujer. Es decir, cada palabra se puede representar como un vector característico de incrustaciones, y cada relación como una diferencia entre los dos vectores característicos. Usando el ejemplo de rey/reina, una red neuronal de acuerdo con una realización se puede utilizar para derivar la respuesta "mujer" a la pregunta "rey es a la reina como el hombre es a qué?" (rey - reina = hombre - ?). El problema se puede resolver por la redisposición de las operaciones al hombre - rey reina = ?. Esto da por resultado un vector de solución que entonces puede convertirse en una palabra de respuesta al comparar el vector de solución con el vector de incrustación para cada palabra en el diccionario usando similitud de coseno. Es decir: These feature word embeddings can be used to perform analogy tasks. For example, the analogy "king is to queen as man is to woman" can be encoded as king - queen = man - woman. That is, each word can be represented as a feature vector of embeddings, and each relation as a difference between the two feature vectors. Using the king/queen example, a neural network according to one embodiment can be used to derive the answer "woman" to the question "king is to queen as man is to what?" (king - queen = man - ?). The problem can be solved by rearranging the operations to man - king queen = ?. This results in a solution vector which can then be converted into an answer word by comparing the solution vector to the embedding vector for each word in the dictionary using cosine similarity. That is:

Al buscar los vectores característicos de las palabras en el diccionario, y encontrar una palabra con la distancia de coseno más pequeña (y, por lo tanto, el más alto grado de similitud), usualmente dará por resultado encontrar la respuesta "mujer". Dependiendo de la estructura de la red, el grado de entrenamiento, se pueden presentar otros resultados, como "niña" o "mujer", sin embargo, "mujer" casi siempre se encuentra entre las palabras más similares. Looking up the eigenvectors of words in the dictionary, and finding a word with the smallest cosine distance (and therefore the highest degree of similarity), will usually result in finding the answer "woman". Depending on the network structure, the degree of training, other results may be presented, such as "girl" or "woman", however, "woman" is almost always among the most similar words.

El ejemplo anterior dado es una tarea semántica, sin embargo, también se pueden realizar analogías sintácticas. Por ejemplo, la pregunta "¿correr es a correr como la poda es a?" se puede realizar de manera similar con una realización de la divulgación. Entre los mejores resultados habrá "poda", que comparte una sintaxis común, aunque con un significado semántico muy diferente. The example given above is a semantic task, however syntactical analogies can also be made. For example, the question “running is to running as pruning is to?” can be similarly performed with a disclosure realization. Among the top results will be “pruning”, which shares a common syntax, albeit with a very different semantic meaning.

En algunas realizaciones, las incrustaciones de palabras aprendidas a través de modelos de lenguaje neuronal pueden compartir recursos entre múltiples idiomas. Mediante el entrenamiento previo en ambos idiomas, las relaciones semánticas entre los idiomas se pueden codificar en las incrustaciones. En algunas realizaciones, por ejemplo, la aritmética vectorial simple de palabras de parada entre inglés y español puede aproximarse a la traducción automática: In some embodiments, word embeddings learned through neural language models can share resources across multiple languages. By pre-training in both languages, semantic relationships between the languages can be encoded in the embeddings. In some embodiments, for example, simple vector arithmetic of stop words between English and Spanish can approximate machine translation:

(“film”) - (“ is”) (“es”) = (“película”) (“film”) - (“ is”) (“es”) = (“película”)

Esta operación vectorial resta una palabra de parada en inglés ("is") de un sustantivo en inglés y adiciona la palabra de parada en español equivalente ("es") a la incrustación. La ecuación retorna la palabra española para película (“película”). Esto sugiere que el entrenamiento previo de lenguaje neuronal mapea las palabras en el espacio vectorial tal que el idioma se convierta en otra dimensión que el modelo de representaciones distribuidas. En algunas realizaciones, esta propiedad de las incrustaciones permite que un modelo de sentimiento entrenado en un idioma prediga en otro. En algunas realizaciones, un sentimiento entrenado en un idioma predecirá mejor en otro donde hay un vocabulario compartido entre idiomas. En algunas realizaciones, durante el entrenamiento previo, los modelos de lenguaje neuronal pueden construir una capa oculta usando neuronas muestreadas de acuerdo con las frecuencias de vocabulario. De esta manera, la construcción de capa oculta para cada idioma será similar a pesar de tener representaciones de capa de entrada completamente diferentes. La consistencia en la capa oculta puede permitir la alineación de conceptos semánticos en el espacio vectorial. Esta alineación puede permitir la predicción de sentimientos en todos los idiomas. This vector operation subtracts an English stop word ("is") from an English noun and adds the equivalent Spanish stop word ("es") to the embedding. The equation returns the Spanish word for movie ("película"). This suggests that neural language pre-training maps words into the vector space such that language becomes another dimension to the distributed representations model. In some embodiments, this property of embeddings allows a sentiment model trained in one language to predict in another. In some embodiments, a sentiment trained in one language will better predict in another where there is a shared vocabulary between languages. In some embodiments, during pre-training, neural language models may build a hidden layer using neurons sampled according to vocabulary frequencies. In this way, the hidden layer construction for each language will be similar despite having completely different input layer representations. Consistency in the hidden layer may allow for alignment of semantic concepts in the vector space. This alignment may allow for sentiment prediction across languages.

Implementaciones y resultadosImplementations and results

A continuación, se describen implementaciones de diversos aspectos de la divulgación y los resultados correspondientes. Algunos datos experimentales se presentan en la presente con propósitos de ilustración y no se deben interpretar como que limitan el alcance de la presente divulgación de ninguna manera o que excluyen cualquier realización alternativa o adicional. Implementations of various aspects of the disclosure and the corresponding results are described below. Some experimental data is presented herein for purposes of illustration and should not be construed as limiting the scope of the present disclosure in any way or excluding any alternative or additional embodiments.

Los presentes inventores realizaron experimentos en tareas de analogía de palabras compuestas de una variedad de tareas de similitud de palabras. En concreto, se utilizó el conjunto de datos de analogía de Google, que contiene 19.544 preguntas, divididas en secciones semánticas y sintácticas. Ambas secciones se dividen adicionalmente en subcategorías con base en el tipo de analogía. Cada tarea de analogía se expresa como una pregunta "¿A es a B como C es a ?". The present inventors performed experiments on word analogy tasks composed of a variety of word similarity tasks. Specifically, the Google Analogy Dataset was used, which contains 19,544 questions, divided into semantic and syntactic sections. Both sections are further divided into subcategories based on the analogy type. Each analogy task is expressed as a question “Is A to B as C is to ?”.

Todo el entrenamiento se realizó sobre el conjunto de datos disponible en el sitio web de Google word2vec (https://code.google.com/p/word2vec), utilizando la secuencia de comandos de evaluación de analogía de palabras empaquetada. El conjunto de datos contiene aproximadamente 8 mil millones de palabras recopiladas de English News Crawl, 1-Billion-Word Benchmark, UMBc Webbase y English Wikipedia. El conjunto de datos utilizado aprovecha la normalización data-phrase2.txt predeterminada en todo el entrenamiento, que incluye tanto tokens individuales como frases. Salvo que se especifique lo contrario, todos los parámetros para el entrenamiento y la evaluación son idénticos a los parámetros predeterminados especificados en el modelo grande predeterminado de word2vec. All training was performed on the dataset available on the Google word2vec website (https://code.google.com/p/word2vec), using the packaged word analogy evaluation script. The dataset contains approximately 8 billion words collected from English News Crawl, 1-Billion-Word Benchmark, UMBc Webbase, and English Wikipedia. The dataset used leverages the default data-phrase2.txt normalization throughout training, which includes both individual tokens and phrases. Unless otherwise specified, all parameters for training and evaluation are identical to the default parameters specified in the default large word2vec model.

La figura 6 muestra la exactitud relativa de cada partición en un modelo de PENN a juzgar por las puntuaciones de analogía de palabras relativas a filas. Otros experimentos indicaron que el patrón presente en el mapa de calor es consistente a través de los ajustes de parámetros. Hay una clara diferencia de calidad entre las posiciones de las ventanas que predicen hacia adelante (lado izquierdo de la figura) y las posiciones de las ventanas que predicen hacia atrás (lado derecho de la figura). "Moneda" logra la mayor parte de su poder predictivo en predicciones de corto alcance, en tanto que "países comunes de capital" es un gradiente mucho más suave sobre la ventana. Figure 6 shows the relative accuracy of each partition in a PENN model as judged by the row-relative word analogy scores. Further experiments indicated that the pattern present in the heatmap is consistent across parameter settings. There is a clear difference in quality between the positions of the forward-predicting windows (left side of the figure) and the positions of the backward-predicting windows (right side of the figure). “Currency” achieves most of its predictive power in short-range predictions, whereas “common capital countries” is a much smoother gradient over the window.

Estos patrones respaldan la intuición de que las diferentes posiciones de las ventanas desempeñan diferentes funciones en diferentes tareas. These patterns support the intuition that different window positions perform different functions in different tasks.

Tabla A Table A

La tabla A muestra el rendimiento de la implementación de CBOW predeterminada de word2vec con relación a la configuración direccional. Lo más destacado es que PENN supera la implementación de word2vec utilizando sólo un tamaño de ventana de 1, en tanto que word2vec se parametrizó con el valor predeterminado de 10. Además, se puede observar que el incremento de la dimensionalidad de word2vec de CBOW de punto de referencia pasado 500 logra un rendimiento subóptimo. Por lo tanto, una comparación justa de dos modelos debe estar entre la parametrización óptima (en lugar de igual) para cada modelo. Esto es especialmente importante puesto que los modelos de PENN están modelando una distribución de probabilidad mucho más rica, puesto que se está conservando el orden. Por lo tanto, los ajustes óptimos de los parámetros a menudo requieren una mayor dimensionalidad. Adicionalmente, en esta tabla, se puede observar que, a diferencia del word2vec de CBO<w>original, un tamaño de ventana más grande no siempre es mejor. Las ventanas más grandes tienden a crear incrustaciones un poco más semánticas, en tanto que los tamaños de ventana más pequeños tienden a crear incrustaciones un poco más sintácticas. Esto sigue la intuición de que la sintaxis desempeña una función importante en la gramática, que está dictada por reglas sobre qué palabras tienen sentido que se presenten inmediatamente una al lado de la otra. Las palabras que están separadas por 5 palabras se agrupan con base en la presente materia y la semántica en lugar de la gramática. Con respecto al tamaño de ventana y la calidad general, debido a que las particiones dividen el vector global para una palabra, el aumento del tamaño de ventana disminuye el tamaño de cada partición en la ventana si el tamaño de vector global permanece constante. Puesto que cada incrustación está intentando modelar una distribución de probabilidad muy compleja (cientos de miles de palabras), el tamaño de la partición en cada partición debe permanecer lo suficientemente alto para modelar esta distribución. Por lo tanto, el modelado de ventanas grandes para incrustaciones semánticas es óptimo cuando se utiliza el modelo de incrustación direccional, que tiene un tamaño de partición fijo de 2, o un tamaño de vector global grande. El modelo direccional con parámetros óptimos tiene una calidad ligeramente menor que el modelo de ventana con parámetros óptimos debido a que el promedio vectorial se presenta en cada panel de ventana. Table A shows the performance of the default CBOW implementation of word2vec relative to the directional configuration. Most notably, PENN outperforms the word2vec implementation using only a window size of 1, whereas word2vec was parameterized with the default value of 10. Furthermore, it can be seen that increasing the dimensionality of the CBOW word2vec from benchmark 500 achieves suboptimal performance. Therefore, a fair comparison of two models should be between the optimal (rather than equal) parameterization for each model. This is especially important since PENN models are modeling a much richer probability distribution, since order is being preserved. Therefore, optimal parameter settings often require higher dimensionality. Additionally, from this table, it can be seen that, unlike the original CBO word2vec, a larger window size is not always better. Larger windows tend to create slightly more semantic embeddings, while smaller window sizes tend to create slightly more syntactic embeddings. This follows the intuition that syntax plays an important role in grammar, which is dictated by rules about which words make sense to occur immediately next to each other. Words that are 5 words apart are grouped based on subject matter and semantics rather than grammar. With respect to window size and overall quality, because partitions divide the global vector for a word, increasing the window size decreases the size of each partition in the window if the global vector size remains constant. Since each embedding is attempting to model a very complex probability distribution (hundreds of thousands of words), the partition size in each partition must remain high enough to model this distribution. Therefore, large window modeling for semantic embeddings is optimal when using the directional embedding model, which has a fixed partition size of 2, or a large global vector size. The optimally parameterized directional model has slightly lower quality than the optimally parameterized window model because the vector average is presented in each window pane.

Tabla B Table B

La tabla B documenta el cambio en la calidad de la consulta de analogía sintáctica como resultado de los vectores de DIEM interpolados. Para el experimento de DIEM, cada consultade analogía se realizó primero ejecutando la consulta en CLOW y DIEM de manera independiente, y seleccionando las mil principales similitudes de coseno de CLOW. Los presentes inventores sumaron la similitud de coseno al cuadrado de cada uno de estos mil principales con cada similitud de coseno asociada retornada por la DIEM, y recurrieron. Se encontró que esta era una estimación eficiente de la concatenación que no reducía la calidad. Table B documents the change in syntactic analogy query quality as a result of the interpolated DIEM vectors. For the DIEM experiment, each analogy query was performed by first running the query in CLOW and DIEM independently, and selecting the top thousand cosine similarities from CLOW. We summed the squared cosine similarity of each of these top thousand with each associated cosine similarity returned by DIEM, and recursed. This was found to be an efficient estimate of concatenation that did not reduce quality.

Los resultados finales muestran un aumento en la calidad y el tamaño con respecto a los modelos anteriores, con un aumento sintáctico del 40% con respecto a otros resultados. Dentro de los modelos de PENN, existe una compensación entre la velocidad y el rendimiento entre SG-DIEM y CLOW-DIEM. A diferencia de word2vec, donde SG fue más lento y de mayor calidad, CLOW es el modelo más lento y logra una puntuación más alta. En este caso, los presentes inventores logran un nivel 20x de paralelismo en SG-DIEM con relación a CLOW, con cada partición de entrenamiento de modelo de 250 dimensiones (250 * 20 = 5000 dimensionalidad final). Una red de parámetros de 160 mil millones también se entrenó durante la noche en 3 CPU de múltiples núcleos, sin embargo, produjo vectores dimensionales de 20000 para cada palabra y posteriormente sobreajustó los datos de entrenamiento. Esto es debido a que un conjunto de datos de 8 mil millones de tokens con un parámetro de muestreo negativo de 10 tiene 80 mil millones de ejemplos de entrenamiento. Tener más parámetros que ejemplos de entrenamiento sobreajusta un conjunto de datos, mientras que 40 mil millones se desempeñan a la par con el estado actual de la técnica. The final results show an increase in quality and size over previous models, with a 40% syntactic increase over other results. Within the PENN models, there is a speed-performance trade-off between SG-DIEM and CLOW-DIEM. Unlike word2vec, where SG was slower and of higher quality, CLOW is the slower model and achieves a higher score. In this case, the present inventors achieve a 20x level of parallelism in SG-DIEM relative to CLOW, with each model training partition being 250-dimensional (250*20 = 5000 final dimensionality). A 160 billion parameter network was also trained overnight on 3 multi-core CPUs, however it produced 20000 dimensional vectors for each word and subsequently overfitted the training data. This is because a dataset of 8 billion tokens with a negative sampling parameter of 10 has 80 billion training examples. Having more parameters than training examples overfits a dataset, while 40 billion performs on par with the current state of the art.

La figura 6 muestra la exactitud relativa de cada partición en un modelo de PENN a juzgar por las puntuaciones de analogía de palabras relativas a filas. Otros experimentos indicaron que el patrón presente en el mapa de calor es consistente a través de los ajustes de parámetros. Hay una clara diferencia de calidad entre las posiciones de las ventanas que predicen hacia adelante (lado izquierdo de la figura) y las posiciones de las ventanas que predicen hacia atrás (lado derecho de la figura). "Moneda" logra la mayor parte de su poder predictivo en predicciones de corto alcance, en tanto que "países comunes de capital" es un gradiente mucho más suave sobre la ventana. Estos patrones respaldan la intuición de que las diferentes posiciones de las ventanas desempeñan diferentes funciones en diferentes tareas. Figure 6 shows the relative accuracy of each partition in a PENN model as judged by the row-relative word analogy scores. Further experiments indicated that the pattern present in the heatmap is consistent across parameter settings. There is a clear difference in quality between the positions of the forward-predicting windows (left side of the figure) and the positions of the backward-predicting windows (right side of the figure). “Currency” achieves most of its predictive power in short-range predictions, whereas “common capital countries” is a much smoother gradient over the window. These patterns support the intuition that different window positions play different roles in different tasks.

Tabla C Table C

Tabla D Table D

Las tablas C y D muestran el rendimiento de la implementación de CBOW predeterminada de word2vec con relación a la configuración direccional. Lo más destacado es que PENN supera la implementación de word2vec utilizando sólo un tamaño de ventana de 1, en tanto que word2vec se parametrizó con el valor predeterminado de 10. Además, se puede observar que el incremento de la dimensionalidad de word2vec de CBOW de punto de referencia pasado 500 logra un rendimiento subóptimo. Por lo tanto, una comparación justa de dos modelos debe estar entre la parametrización óptima (en lugar de igual) para cada modelo. Esto es especialmente importante puesto que los modelos de PENN están modelando una distribución de probabilidad mucho más rica, puesto que se está conservando el orden. Por lo tanto, los ajustes óptimos de los parámetros a menudo requieren una mayor dimensionalidad. Adicionalmente, en esta tabla, se puede observar que, a diferencia del word2vec de CBOw original, un tamaño de ventana más grande no siempre es mejor. Las ventanas más grandes tienden a crear incrustaciones un poco más semánticas, en tanto que los tamaños de ventana más pequeños tienden a crear incrustaciones un poco más sintácticas. Esto sigue la intuición de que la sintaxis desempeña una función importante en la gramática, que está dictada por reglas sobre qué palabras tiene sentido que se presenten inmediatamente una al lado de la otra. Las palabras que están separadas por 5 palabras se agrupan con base en la presente materia y la semántica en lugar de la gramática. Con respecto al tamaño de ventana y la calidad general, debido a que las particiones dividen el vector global para una palabra, el aumento del tamaño de ventana disminuye el tamaño de cada partición en la ventana si el tamaño de vector global permanece constante. Puesto que cada incrustación está intentando modelar una distribución de probabilidad muy compleja (cientos de miles de palabras), el tamaño de la partición en cada partición debe permanecer lo suficientemente alto para modelar esta distribución. Por lo tanto, el modelado de ventanas grandes para incrustaciones semánticas es óptimo cuando se utiliza el modelo de incrustación direccional, que tiene un tamaño de partición fijo de 2, o un tamaño de vector global grande. El modelo direccional con parámetros óptimos tiene una calidad ligeramente menor que el modelo de ventana con parámetros óptimos debido a que el promedio vectorial se presenta en cada panel de ventana. Tables C and D show the performance of the default CBOW implementation of word2vec relative to the directional configuration. Most notably, PENN outperforms the word2vec implementation using only a window size of 1, whereas word2vec was parameterized with the default value of 10. Furthermore, it can be seen that increasing the dimensionality of the CBOW word2vec benchmark past 500 achieves suboptimal performance. Therefore, a fair comparison of two models should be between the optimal (rather than equal) parameterization for each model. This is especially important since PENN models are modeling a much richer probability distribution, since order is being preserved. Therefore, optimal parameter settings often require higher dimensionality. Additionally, from this table, it can be seen that, unlike the original CBOW word2vec, a larger window size is not always better. Larger windows tend to create slightly more semantic embeddings, while smaller window sizes tend to create slightly more syntactic embeddings. This follows the intuition that syntax plays an important role in grammar, which is dictated by rules about which words make sense to occur immediately next to each other. Words that are 5 words apart are grouped based on subject matter and semantics rather than grammar. With respect to window size and overall quality, because partitions divide the global vector for a word, increasing the window size decreases the size of each partition in the window if the global vector size remains constant. Since each embedding is attempting to model a very complex probability distribution (hundreds of thousands of words), the partition size in each partition must remain high enough to model this distribution. Therefore, large window modeling for semantic embeddings is optimal when using the directional embedding model, which has a fixed partition size of 2, or a large global vector size. The optimally parameterized directional model has slightly lower quality than the optimally parameterized window model because the vector average is presented in each window pane.

La tabla B documenta el cambio en la calidad de la consulta de analogía sintáctica como resultado de los vectores de DIEM interpolados. Para el experimento de DIEM, cada consulta de analogía se realizó primero al ejecutar la consulta en CLOW y DIEM de manera independiente, y seleccionando las mil principales similitudes de coseno de CLOW. Los presentes inventores sumaron la similitud de coseno al cuadrado de cada uno de estos mil principales con cada similitud de coseno asociada retornada por la DIEM, y recurrieron. Se encontró que esta era una estimación eficiente de la concatenación que no reducía la calidad. Los resultados finales muestran un aumento en la calidad y el tamaño con respecto a los modelos anteriores con un aumento sintáctico del 40% sobre el mejor resultado publicado. Dentro de los modelos de PENN, existe una compensación entre la velocidad y el rendimiento entre SG-DIEM y CLOW-DIEM. A diferencia de word2vec, donde SG fue más lento y de mayor calidad, CLOW es el modelo más lento y logra una puntuación más alta. En este caso, los presentes inventores lograron un nivel 20x de paralelismo en SG-DIEM con relación a CLOW, con cada partición de entrenamiento de modelo de 250 dimensiones (250 * 20 = 5000 dimensionalidad final). Una red de parámetros de 160 mil millones también se entrenó durante la noche en 3 CPU de múltiples núcleos, sin embargo, produjo vectores dimensionales de 20000 para cada palabra y posteriormente sobreajustó los datos de entrenamiento. Esto es debido a que un conjunto de datos de 8 mil millones de tokens con un parámetro de muestreo negativo de 10 tiene 80 mil millones de ejemplos de entrenamiento. Tener más parámetros que ejemplos de entrenamiento sobreajusta un conjunto de datos, en tanto que 40 mil millones se desempeñan a la par con el estado actual de la técnica, como se muestra en la tabla E. Table B documents the change in syntactic analogy query quality as a result of the interpolated DIEM vectors. For the DIEM experiment, each analogy query was performed by first running the query on CLOW and DIEM independently, and selecting the top thousand cosine similarities from CLOW. The present inventors summed the squared cosine similarity of each of these top thousand with each associated cosine similarity returned by DIEM, and recursed. This was found to be an efficient estimate of concatenation that did not reduce quality. The final results show an increase in quality and size over previous models with a syntactic increase of 40% over the best published result. Within the PENN models, there is a speed-performance trade-off between SG-DIEM and CLOW-DIEM. Unlike word2vec, where SG was slower and of higher quality, CLOW is the slower model and achieves a higher score. In this case, the present inventors achieved 20x level of parallelism in SG-DIEM relative to CLOW, with each model training partition being 250 dimensions (250*20 = 5000 final dimensionality). A 160 billion parameter network was also trained overnight on 3 multi-core CPUs, however it produced 20000 dimensional vectors for each word and subsequently overfitted the training data. This is because an 8 billion token dataset with a negative sampling parameter of 10 has 80 billion training examples. Having more parameters than training examples overfits a dataset, while 40 billion performs on par with the current state of the art, as shown in Table E.

Tabla E Table E

Los presentes inventores realizaron experimentos adicionales para aproximar la distribución condicional completa de incrustaciones de palabras. Estos experimentos también se realizaron en tareas de analogía de palabras en el conjunto de datos de analogía de Google. Este conjunto de datos contiene 19.544 preguntas que preguntan "¿a es a b como c es a ?" y se divide en 14 subcategorías, 5 semánticas y 9 sintácticas. The present inventors performed additional experiments to approximate the full conditional distribution of word embeddings. These experiments were also performed on word analogy tasks in the Google Analogy dataset. This dataset contains 19,544 questions asking “is a to b as c is a?” and is divided into 14 subcategories, 5 semantic and 9 syntactic.

El entrenamiento se realiza sobre el conjunto de datos 'data-phrase2.txt' disponible en el sitio web de Google word2vec utilizando la secuencia de comandos de evaluación de analogía de palabras empaquetada para consultar cada modelo individual. Debido a que consultar cada modelo semántico requiere hasta 128 GB de RAM, se utilizó una aproximación de concatenación normalizada similar a esa de los experimentos descritos anteriormente. Cada analogía se consultó contra cada modelo semántico en paralelo, y se guardaron los 1000 mejores resultados. La puntuación de cada palabra se sumó en los diversos modelos para crear una puntuación global para cada palabra. La palabra con el valor máximo se seleccionó como la predicción del conjunto. En los experimentos de los presentes inventores, cada puntuación en cada modelo semántico (modelo de PENN) se elevó a la potencia de 0,1 antes de sumarse. Se encontró que esto normalizaba los modelos a intervalos de confianza similares. Training is performed on the 'data-phrase2.txt' dataset available on the Google word2vec website using the packaged word analogy evaluation script to query each individual model. Because querying each semantic model requires up to 128 GB of RAM, a normalized concatenation approach similar to that in the experiments described above was used. Each analogy was queried against each semantic model in parallel, and the top 1000 results were saved. The score for each word was summed across the various models to create an overall score for each word. The word with the maximum value was selected as the ensemble prediction. In our experiments, each score in each semantic model (PENN model) was raised to the power of 0.1 before being summed. This was found to normalize the models to similar confidence intervals.

Para las consultas de analogía sintáctica, las 100 palabras principales del paso semántico se seleccionaron para crear incrustaciones sintácticas. La consulta de analogía se realizó utilizando las incrustaciones sintácticas tal que se generaran puntuaciones de distancia de coseno basadas en incrustaciones sintácticas. Estas puntuaciones se sumaron por elementos con puntuaciones semánticas en las 100 palabras principales originales. Entonces se seleccionó la palabra principal como la respuesta de analogía final. Este paso se omitió por analogías provenientes de categorías semánticas. Las puntuaciones sintácticas se normalizaron al elevarlas a la potencia de 10. For syntactic analogy queries, the top 100 words from the semantic step were selected to create syntactic embeddings. The analogy query was performed using the syntactic embeddings such that cosine distance scores were generated based on syntactic embeddings. These scores were summed for items with semantic scores in the original top 100 words. The top word was then selected as the final analogy response. This step was skipped for analogies coming from semantic categories. Syntactic scores were normalized by raising them to the power of 10.

El experimento descrito a continuación se aproxima a la distribución condicional completa al concatenar incrustaciones de una variedad de configuraciones. Estas configuraciones se muestran en la tabla F a continuación: The experiment described below approximates the full conditional distribution by concatenating embeddings from a variety of configurations. These configurations are shown in Table F below:

Tabla F Table F

Los resultados de estos experimentos se muestran en la tabla G: The results of these experiments are shown in Table G:

Tabla G Table G

Se debe observar que adicionar modelos adicionales al conjunto incrementó la puntuación general, incluso cuando el modelo que se agregó ya tenía una puntuación más baja que el conjunto. A nivel granular, esto es el resultado de la singularidad del modelo que se adiciona. Las fallas de analogía de palabras que produce el modelo son significativamente diferentes de las fallas que produce el conjunto, tal que su combinación logre una puntuación más alta que cualquiera de las dos. It should be noted that adding additional models to the ensemble increased the overall score, even when the model that was added already had a lower score than the ensemble. At a granular level, this is a result of the uniqueness of the model being added. The word analogy failures produced by the model are significantly different from the failures produced by the ensemble, such that their combination achieves a higher score than either one.

Los resultados finales muestran un aumento en la calidad con respecto a los modelos anteriores, con una reducción de errores del 59,2% en las puntuaciones sintácticas y una reducción general de errores del 40,2% con relación a word2vec. La entrenamiento en incrustaciones semánticas de palabras con base en distribuciones de probabilidad variables, normalización y concatenación es beneficiosa para las tareas de analogía de palabras, logrando un rendimiento de vanguardia en categorías semánticas y sintácticas por un margen significativo. Estos resultados son con base en la intuición de que diferentes distribuciones modelan diferentes perspectivas sobre la misma palabra, el agregado del cual es más expresivo que cada incrustación individualmente. The final results show an increase in quality over previous models, with a 59.2% error reduction in syntactic scores and a 40.2% overall error reduction relative to word2vec. Training on semantic word embeddings based on varying probability distributions, normalization, and concatenation is beneficial for word analogy tasks, achieving state-of-the-art performance in semantic and syntactic categories by a significant margin. These results are based on the intuition that different distributions model different perspectives on the same word, the aggregate of which is more expressive than each embedding individually.

Los experimentos se realizaron adicionalmente utilizando realizaciones para realizar el modelado del lenguaje neuronal en diferentes idiomas, todos realizados con el corpus de revisión de películas de IMDB. El corpus consta de 100.000 revisiones de películas que están etiquetadas para la polaridad del sentimiento (positivo / negativo). Las revisiones se dividen en secciones de entrenamiento, pruebas y desarrollo. Los conjuntos de entrenamiento y pruebas tienen 25.000 revisiones cada uno con 12.500 revisiones positivas y 12.500 negativas. Los 50.000 documentos restantes comprenden el conjunto de desarrollo. Experiments were further conducted using realizations to perform neural language modeling in different languages, all performed on the IMDB movie review corpus. The corpus consists of 100,000 movie reviews that are labeled for sentiment polarity (positive/negative). The reviews are divided into training, testing, and development sections. The training and testing sets have 25,000 reviews each with 12,500 positive and 12,500 negative reviews. The remaining 50,000 documents comprise the development set.

Los presentes inventores utilizaron la API de Google Translate para seleccionar un corpus de revisión de películas en español. Los sistemas tal como la API de traducción de Google se han evaluado por la investigación en la literatura de NLP y en general se aceptan como un mecanismo con el cual curar conjuntos de datos etiquetados en nuevos idiomas [1][2][3]. Para cada revisión en el corpus original de IMDB en inglés, se realizó una solicitud de API a la API de Google Translate para traducir el texto completo de la revisión al español. Las traducciones a nivel de párrafo resultantes mantuvieron la misma etiqueta de polaridad, así como el ID, a fin de mantener comparaciones individuales entre los corpus de español e inglés. The present inventors used the Google Translate API to curate a corpus of Spanish language movie reviews. Systems such as the Google Translate API have been evaluated by research in the NLP literature and are generally accepted as a mechanism with which to curate labeled datasets in new languages [1][2][3]. For each review in the original English IMDB corpus, an API request was made to the Google Translate API to translate the full text of the review into Spanish. The resulting paragraph-level translations maintained the same polarity label as well as ID in order to maintain individual comparisons between the Spanish and English corpora.

Los presentes inventores utilizaron la arquitectura de omisión de word2vec para aprender 100 representaciones de características dimensionales para palabras en el corpus por el uso de softmax jerárquico y muestreo negativo (con 10 muestras) para las representaciones de palabras de enfoque. El preprocesamiento consta de minúsculas, separar las palabras de la puntuación, y remover las etiquetas HTML. Después de aprender las representaciones de palabras, las palabras de parada se filtran utilizando el corpus de palabras de parada de NLTK [4] y las representaciones a nivel de revisión se crean al promediar las características de cada palabra restante en la revisión. The present inventors used the word2vec skip-word architecture to learn 100 dimensional feature representations for words in the corpus by using hierarchical softmax and negative sampling (with 10 samples) for the focus word representations. Preprocessing consists of lowercasing, separating words from punctuation, and removing HTML tags. After learning the word representations, stop words are filtered using the NLTK stop word corpus [4] and review-level representations are created by averaging the features of each remaining word in the review.

Los presentes inventores utilizaron la configuración de bolsa de palabras distribuida (dbow) de Paragraph Vector para aprender 100 representaciones de características dimensionales para revisiones por el uso de muestreo jerárquico softmax y negativo (con 10 muestras) para las representaciones de palabras de enfoque. El preprocesamiento consta de minúsculas, separar las palabras de la puntuación, y remover las etiquetas HTML. Las palabras de parada se conservan en las revisiones. The present inventors used Paragraph Vector's distributed bag-of-words (dbow) configuration to learn 100-dimensional feature representations for reviews by using softmax and negative hierarchical sampling (with 10 samples) for the focus word representations. Preprocessing consists of lower-casing, separating words from punctuation, and removing HTML tags. Stop words are preserved in the reviews.

Los presentes inventores utilizaron la arquitectura de skip-gram de PENN para aprender 100 representaciones de características dimensionales para palabras en el corpus mediante el uso de muestreo negativo (con 10 muestras) y sin softmax jerárquico para las representaciones de enfoque. Se utilizaron particiones de posiciones de ventana -9 a -4. Los pasos de preprocesamiento y promediado son idénticos al proceso descrito en la sección de configuración de word2vec. The present inventors used PENN's skip-gram architecture to learn 100 dimensional feature representations for words in the corpus by using negative sampling (with 10 samples) and no hierarchical softmax for the focus representations. Window position partitions -9 to -4 were used. The preprocessing and averaging steps are identical to the process described in the word2vec setup section.

El ensamblaje del modelo se realizó utilizando una implementación aumentada del trabajo reciente de [5]. Para cada corpus (inglés y español) se capacitó un modelo de palabras de validación y un modelo de palabras completo. Los modelos de palabras de validación (word2vec y PEN<n>) se entrenan en 20.000 revisiones de los conjuntos de entrenamiento (10.000 positivas, 10.000 negativas) y 50.000 revisiones en los conjuntos de desarrollo. Las 5000 revisiones restantes en los conjuntos de entrenamiento se utilizan como conjuntos de validación. Los modelos de palabras completas se entrenan en todos los conjuntos de entrenamiento y conjuntos de desarrollo. Las representaciones vectoriales de párrafos se aprenden utilizando una entrenamiento previa no supervisada en todo el corpus (entrenamiento, desarrollo y pruebas) utilizando la implementación proporcionada con [5], Model assembly was performed using an augmented implementation of the recent work of [5]. For each corpus (English and Spanish) a validation word model and a full word model were trained. The validation word models (word2vec and PEN<n>) are trained on 20,000 reviews in the training sets (10,000 positive, 10,000 negative) and 50,000 reviews in the development sets. The remaining 5000 reviews in the training sets are used as validation sets. The full word models are trained on all training sets and development sets. Paragraph vector representations are learned using unsupervised pre-training on the entire corpus (training, development, and testing) using the implementation provided with [5].

Modelos de un solo lenguaje entrenan previamente modelos de palabras en inglés y español de manera independiente entre sí. Las representaciones de las características en inglés y español se aprenden en modelos separados no supervisados. Sus evaluaciones actúan como un punto de referencia con el que interpretar los modelos multilingües en experimentos posteriores. Las representaciones a nivel de revisión se utilizan como características en una máquina de vector de soporte (SVM). Se utilizó un clasificador separado para cada idioma. Los modelos no supervisados para inglés y español nunca interactúan. Los modelos en español se evaluaron contra el conjunto de pruebas en español y los modelos en inglés contra el conjunto de pruebas en inglés. Las puntuaciones resultantes para estos modelos se proporcionan en la tabla H. Single-language models pre-train English and Spanish word models independently of each other. The English and Spanish feature representations are learned in separate unsupervised models. Their evaluations act as a benchmark against which to interpret the multilingual models in subsequent experiments. The revision-level representations are used as features in a support vector machine (SVM). A separate classifier was used for each language. The unsupervised models for English and Spanish never interact. The Spanish models were evaluated against the Spanish test set and the English models against the English test set. The resulting scores for these models are provided in Table H.

Tabla H Table H

Entrenamiento previo Formación Idioma de destino Modelo<Porcentaje de>exactitudWord2Vec 88,42 Pre-training Training Target Language Model<Percentage of>AccuracyWord2Vec 88.42

Inglés Inglés Inglés<Paragraph Vector 88,55>English English English<Paragraph Vector 88,55>

PENN 87,90Conjunto 89,22 Word2Vec 87,31 PENN 87.90Set 89.22 Word2Vec 87.31

Español Español Español<Paragraph Vector 85,3>Spanish Spanish Spanish<Paragraph Vector 85,3>

PENN 82,25Conjunto 86,63 PENN 82.25 Set 86.63

Los modelos multilingües entrenan previamente utilizando inglés y español para aprender representaciones. Las representaciones de las características en inglés y español se aprenden en el mismo modelo no supervisado. Las representaciones a nivel de revisión se utilizan como características en un SVM. El clasificador está entrenado en ejemplos en inglés. No se realiza ningún entrenamiento sobre el corpus de español. Las funciones aprendidas en el entrenamiento previo multilingüe permiten que los recursos de funciones se compartan entre tanto español como inglés. Los modelos resultantes se evalúan en el corpus de español. Las puntuaciones para estos modelos se proporcionan en la tabla I. The multilingual models are pre-trained using English and Spanish to learn representations. The English and Spanish feature representations are learned in the same unsupervised model. The revision-level representations are used as features in an SVM. The classifier is trained on English examples. No training is performed on the Spanish corpus. The features learned in the multilingual pre-training allow feature resources to be shared between both Spanish and English. The resulting models are evaluated on the Spanish corpus. The scores for these models are provided in Table I.

Tabla I Table I

Entrenamiento previo Formación Idioma de destino Modelo<Porcentaje de>exactitudWord2Vec 77,54 Pre-training Training Target Language Model<Percentage of>AccuracyWord2Vec 77.54

Inglés Español Inglés Inglés<Paragraph Vector 86,02>English Spanish English English<Paragraph Vector 86,02>

PENN 78,33Conjunto 85,11 Word2Vec 80,08 PENN 78.33Set 85.11 Word2Vec 80.08

Inglés Español Inglés Español<Paragraph Vector 78,86>English Spanish English Spanish<Paragraph Vector 78,86>

PENN 77,54Conjunto 85,51 PENN 77.54 Set 85.51

Los modelos de características bilingües ensamblan modelos de un solo lenguaje con modelos multilingües, los presentes inventores aprovechan las asignaciones de ID entre los corpus de inglés y español para ensamblar cada combinación de rutinas de entrenamiento previo y entrenamiento mencionadas en la sección anterior. Además, se incorporaron modelos de n-gramas (sin entrenamiento previo) que están entrenados en inglés. El primer modelo de n-gramas es un Perceptrón Promediado con características de n-gramas de alta afinidad (elegido a través de Person's como se propone en [6]). El segundo modelo de n-gramas es una SVM de Naive Bayes como se propone en [7]. Mantener ID entre los idiomas permite obtener múltiples predicciones para cada revisión: algunos modelos predicen en la traducción al inglés de la revisión, otros modelos predicen en la traducción al español de la revisión, creando una puntuación de sentimiento de revisión ensamblada. Este ensamblaje excede el estado de la técnica para la clasificación de polaridad de IMDB. Estas puntuaciones se proporcionan en la tabla J a continuación: Tabla J Bilingual feature models assemble single-language models with multilingual models, the present inventors leverage ID mappings between English and Spanish corpora to assemble each combination of pre-training and training routines mentioned in the previous section. Additionally, n-gram models (without pre-training) were incorporated that are trained on English. The first n-gram model is an Averaged Perceptron with high affinity n-gram features (chosen via Person's as proposed in [6]). The second n-gram model is a Naive Bayes SVM as proposed in [7]. Maintaining IDs across languages allows to obtain multiple predictions for each review: some models predict on the English translation of the review, other models predict on the Spanish translation of the review, creating an assembled review sentiment score. This assembly exceeds the state of the art for IMDB polarity classification. These scores are provided in table J below: Table J

Los experimentos de los presentes inventores demuestran la eficacia del modelado de lenguaje neuronal para la clasificación de sentimientos multilingüe. Los modelos de lenguaje neuronal codifican relaciones significativas entre palabras al mapearlas al espacio vectorial, y esta propiedad de sus incrustaciones ayuda a explicar por qué los modelos multilingües pueden predecir de manera efectiva en idiomas en los que no se han entrenado. Los presentes inventores emplean tres técnicas diferentes para el entrenamiento previo no supervisado y muestran que cada técnica es capaz de codificar relaciones semánticas entre idiomas. Los presentes inventores entrenaron modelos de un solo lenguaje de punto de referencia con los que comparar las predicciones multilingüe (tabla H). La puntuación de referencia más alta para el español es del 87,31% (word2vec) y la puntuación de conjunto es del 86,63%. Usando las puntuaciones de referencia para la comparación, los presentes inventores evalúan modelos multilingües en el corpus de español. Sin entrenamiento en español, los modelos son capaces de clasificar la polaridad con un 80% de exactitud, y cuando estos mismos modelos se ensamblan juntos clasifican la polaridad con una exactitud del 85,51% (Tabla I). Por lo tanto, los presentes inventores logran un margen de 2% entre el punto de referencia, los modelos de un solo lenguaje y los modelos multilingües. La exactitud general de los modelos multilingües incrementa en un 5% cuando se ensamblan. Este comportamiento sugiere que el entrenamiento previo para cada idioma captura patrones y estructuras ligeramente diferentes que, en última instancia, ayudan al clasificador a predecir exactamente las etiquetas para aquellos ejemplos cerca del límite de decisión. The present inventors' experiments demonstrate the effectiveness of neural language modeling for multilingual sentiment classification. Neural language models encode meaningful relationships between words by mapping them to vector space, and this property of their embeddings helps explain why multilingual models can effectively predict in languages they have not been trained on. The present inventors employ three different techniques for unsupervised pre-training and show that each technique is capable of encoding semantic relationships across languages. The present inventors trained single-language benchmark models to compare multilingual predictions against (Table H). The highest benchmark score for Spanish is 87.31% (word2vec) and the ensemble score is 86.63%. Using the benchmark scores for comparison, the present inventors evaluate multilingual models on the Spanish corpus. Without training in Spanish, the models are able to classify polarity with 80% accuracy, and when these same models are assembled together they classify polarity with 85.51% accuracy (Table I). Thus, the present inventors achieve a 2% margin between the baseline, the single-language models, and the multilingual models. The overall accuracy of the multilingual models increases by 5% when assembled. This behavior suggests that the pre-training for each language captures slightly different patterns and structures that ultimately help the classifier accurately predict labels for those examples near the decision boundary.

Además de los ejemplos descritos anteriormente para implementar diversos aspectos de la presente divulgación en diversos campos de aplicación, los aspectos de la presente divulgación se pueden implementar en numerosos otros campos, que incluyen, pero no se limitan a, atención médica, por ejemplo, en monitoreo clínico en tiempo real y generación de reportes históricos sobre poblaciones de pacientes. Algunas realizaciones descritas en la presente se pueden aplicar en apoyo de decisiones clínicas y otras tareas que requieren resúmenes de texto no estructurado. En un caso de uso de ejemplo, los aspectos de la presente divulgación se pueden utilizar para modelar la probabilidad de que un paciente desarrolle una infección, que incluye una infección sistémica de cuerpo completo. En términos más generales, los aspectos de la presente divulgación se pueden utilizar para predecir si un paciente desarrollará o no una condición de salud particular. Los registros de salud electrónicos (EHR) para varios pacientes se pueden usar con aspectos de la presente divulgación como se describe anteriormente para aprender representaciones de las posiciones de los ganglios y usar incrustaciones para predecir si un paciente desarrollara una infección. Las ubicaciones de grupos particulares en el espacio vectorial pueden ser representativas de estas probabilidades de desarrollar ciertas condiciones. In addition to the examples described above for implementing various aspects of the present disclosure in various fields of application, aspects of the present disclosure may be implemented in numerous other fields, including, but not limited to, healthcare, for example, in real-time clinical monitoring and historical reporting on patient populations. Some embodiments described herein may be applied in clinical decision support and other tasks requiring unstructured text summaries. In an example use case, aspects of the present disclosure may be used to model the likelihood of a patient developing an infection, including a full-body systemic infection. More generally, aspects of the present disclosure may be used to predict whether or not a patient will develop a particular health condition. Electronic health records (EHRs) for multiple patients may be used with aspects of the present disclosure as described above to learn representations of node positions and use embeddings to predict whether a patient will develop an infection. The locations of particular clusters in the vector space may be representative of these probabilities of developing certain conditions.

La figura 7 es un diagrama de arquitectura informática de un sistema informático. El sistema informático incluye una computadora 700 que se puede configurar para realizar una o más funciones asociadas con la presente tecnología divulgada. La computadora 700 incluye una unidad de procesamiento 702, una memoria de sistema 704, y un bus de sistema 706 que acopla la memoria 704 a la unidad de procesamiento 702. La computadora 700 incluye además un dispositivo de almacenamiento masivo 712 para almacenar módulos de programa 714. Los módulos de programa 714 pueden incluir módulos ejecutables por computadora para realizar la una o más funciones asociadas con las figuras 1-6. El dispositivo de almacenamiento masivo 712 incluye además un almacén de datos 716. El dispositivo de almacenamiento masivo 712 se conecta a la unidad de procesamiento 702 a través de un controlador de almacenamiento masivo (no mostrado) conectado al bus 706. El dispositivo de almacenamiento masivo 712 y sus medios de almacenamiento de computadora asociados proporcionan almacenamiento no volátil para la computadora 700. Aunque la descripción de medios de almacenamiento leíbles por computadora contenidos en la presente se refiere a un dispositivo de almacenamiento masivo, tal como un disco duro o unidad de CD-ROM, se debe apreciar por aquellos expertos en la técnica que los medios de almacenamiento leíbles por computadora pueden ser cualquier medio de almacenamiento leíble por computadora disponible al que se puede acceder y leer por la computadora 700. 7 is a computer architecture diagram of a computer system. The computer system includes a computer 700 that can be configured to perform one or more functions associated with the present disclosed technology. The computer 700 includes a processing unit 702, a system memory 704, and a system bus 706 coupling the memory 704 to the processing unit 702. The computer 700 further includes a mass storage device 712 for storing program modules 714. The program modules 714 may include computer-executable modules for performing the one or more functions associated with FIGS. The mass storage device 712 further includes a data store 716. The mass storage device 712 is connected to the processing unit 702 through a mass storage controller (not shown) connected to the bus 706. The mass storage device 712 and its associated computer storage media provide non-volatile storage for the computer 700. Although the description of computer-readable storage media contained herein refers to a mass storage device, such as a hard disk or CD-ROM drive, it should be appreciated by those skilled in the art that the computer-readable storage media can be any available computer-readable storage media that can be accessed and read by the computer 700.

A manera de ejemplo, y sin limitación, los medios de almacenamiento leíbles por computadora pueden incluir medios volátiles y no volátiles, removibles y no removibles implementados en cualquier método o tecnología para el almacenamiento de información tal como instrucciones de almacenamiento de computadora, estructuras de datos, módulos de programa, u otros datos. Por ejemplo, los medios de almacenamiento leíbles por computadora incluyen, pero no se limitan a, RAM, ROM, EPRO<m>, EEPROM, memoria flash u otra tecnología de memoria de estado sólido, CD-ROM, discos versátiles digitales (“DVD”), HD-DVD, BLU-RAY u otro almacenamiento óptico, casetes magnéticos, cinta magnética, almacenamiento de disco magnético u otros dispositivos de almacenamiento magnético, o cualquier otro medio que se pueda utilizar para almacenar la información deseada y al que se pueda acceder por la computadora 700. Los medios de almacenamiento leíbles por computadora como se describen en la presente no incluyen señales transitorias. By way of example, and not limitation, computer-readable storage media may include volatile and nonvolatile, removable and nonremovable media implemented in any method or technology for storing information such as computer storage instructions, data structures, program modules, or other data. For example, computer-readable storage media include, but are not limited to, RAM, ROM, EPRO<m>, EEPROM, flash memory or other solid state memory technology, CD-ROM, digital versatile disks (“DVD”), HD-DVD, BLU-RAY or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other media that can be used to store the desired information and that can be accessed by computer 700. Computer-readable storage media as described herein do not include transient signals.

La computadora 700 puede operar en un entorno en red utilizando conexiones lógicas a computadoras remotas a través de una red 718. La computadora 700 se puede conectar a la red 718 a través de una unidad de interfaz de red 710 conectada al bus 706. Se debe apreciar que la unidad de interfaz de red 710 también se puede utilizar para conectarse a otros tipos de redes y sistemas de computadora remotos. La computadora 700 también puede incluir un controlador de entrada/salida 708 para recibir y procesar la entrada de una cantidad de dispositivos de entrada. Los dispositivos de entrada pueden incluir, pero no se limitan a, teclados, ratones, lápiz óptico, pantallas táctiles, micrófonos, dispositivos de captura de audio, o dispositivos de captura de imagen/vídeo. Un usuario final puede utilizar estos dispositivos de entrada para interactuar con una interfaz de usuario tal como una interfaz gráfica de usuario para gestionar diversas funciones realizadas por la computadora 700. El bus 706 puede permitir que la unidad de procesamiento 702 lea código y/o datos hacia/desde el dispositivo de almacenamiento masivo 712 u otros medios de almacenamiento de computadora. Los medios de almacenamiento leíbles por computadora pueden representar aparatos en forma de elementos de almacenamiento que se implementan usando cualquier tecnología adecuada, incluyendo, pero no limitado a semiconductores, materiales magnéticos, óptica, o similares. Los módulos de programa 714 incluyen instrucciones de software que, cuando se cargan en la unidad de procesamiento 702 y se ejecutan, provocan que la computadora 700 proporcione funciones para el modelado de lenguaje neuronal de acuerdo con aspectos de la presente divulgación descritos en la presente con referencia a realizaciones de ejemplo. Computer 700 may operate in a networked environment using logical connections to remote computers via a network 718. Computer 700 may be connected to network 718 via a network interface unit 710 connected to bus 706. It should be appreciated that network interface unit 710 may also be used to connect to other types of remote computer networks and systems. Computer 700 may also include an input/output controller 708 for receiving and processing input from a number of input devices. Input devices may include, but are not limited to, keyboards, mice, styli, touch screens, microphones, audio capture devices, or image/video capture devices. An end user may use these input devices to interact with a user interface such as a graphical user interface to manage various functions performed by the computer 700. The bus 706 may allow the processing unit 702 to read code and/or data to/from the mass storage device 712 or other computer storage media. The computer-readable storage media may represent apparatus in the form of storage elements that are implemented using any suitable technology, including, but not limited to semiconductors, magnetic materials, optics, or the like. The program modules 714 include software instructions that, when loaded into the processing unit 702 and executed, cause the computer 700 to provide functions for neural language modeling in accordance with aspects of the present disclosure described herein with reference to example embodiments.

Los módulos de programa 714 también pueden proporcionar diversas herramientas o técnicas por las cuales la computadora 700 puede participar dentro de los sistemas generales o entornos operativos utilizando los componentes, flujos, y estructuras de datos analizados de principio a fin de esta descripción. En general, los módulos de programa 714 pueden, cuando se cargan en la unidad de procesamiento 702 y se ejecutan, transformar la unidad de procesamiento 702 y la computadora general 700 de un sistema informático de propósito general en un sistema informático de propósito especial. La unidad de procesamiento 702 se puede construir a partir de cualquier cantidad de transistores u otros elementos de circuito discretos, que pueden asumir individual o colectivamente cualquier cantidad de estados. Más específicamente, la unidad de procesamiento 702 puede funcionar como una máquina de estado finito, en respuesta a instrucciones ejecutables contenidas dentro de los módulos de programa 714. Estas instrucciones ejecutables por computadora pueden transformar la unidad de procesamiento 702 al especificar cómo la unidad de procesamiento 702 transita entre estados, transformando de esta manera los transistores u otros elementos de hardware discretos que constituyen la unidad de procesamiento 702. The program modules 714 may also provide various tools or techniques by which the computer 700 may participate within general systems or operating environments using the components, flows, and data structures discussed throughout this disclosure. In general, the program modules 714 may, when loaded into the processing unit 702 and executed, transform the processing unit 702 and the general purpose computer 700 from a general purpose computing system into a special purpose computing system. The processing unit 702 may be constructed from any number of transistors or other discrete circuit elements, which may individually or collectively assume any number of states. More specifically, the processing unit 702 may operate as a finite state machine, in response to executable instructions contained within the program modules 714. These computer-executable instructions may transform the processing unit 702 by specifying how the processing unit 702 transitions between states, thereby transforming the transistors or other discrete hardware elements that constitute the processing unit 702.

La codificación de los módulos de programa 714 también puede transformar la estructura física de los medios de almacenamiento de computadora. La transformación específica de la estructura física puede depender de varios factores, en diferentes implementaciones de esta descripción. Los ejemplos de estos factores pueden incluir, pero no se limitan a: la tecnología utilizada para implementar los medios de almacenamiento de computadora, si los medios de almacenamiento de computadora se caracterizan como almacenamiento primario o secundario, y similares. Por ejemplo, si los medios de almacenamiento de computadora se implementan como memoria basada en semiconductores, el módulo de programa 714 puede transformar el estado físico de la memoria de semiconductores, cuando el software se codifica en el mismo. Por ejemplo, los módulos de programa 714 pueden transformar el estado de transistores, condensadores, u otros elementos de circuito discretos que constituyen la memoria de semiconductor. The coding of the program modules 714 may also transform the physical structure of the computer storage media. The specific transformation of the physical structure may depend on various factors, in different implementations of this disclosure. Examples of these factors may include, but are not limited to: the technology used to implement the computer storage media, whether the computer storage media is characterized as primary or secondary storage, and the like. For example, if the computer storage media is implemented as semiconductor-based memory, the program module 714 may transform the physical state of the semiconductor memory, when software is coded thereon. For example, the program modules 714 may transform the state of transistors, capacitors, or other discrete circuit elements that make up the semiconductor memory.

Como otro ejemplo, el medio de almacenamiento leíble por computadora se puede implementar utilizando tecnología magnética u óptica. En estas implementaciones, los módulos de programa 714 pueden transformar el estado físico de los medios magnéticos u ópticos, cuando el software se codifica en los mismos. Estas transformaciones pueden incluir alterar las características magnéticas de ubicaciones particulares dentro de medios magnéticos determinados. Estas transformaciones también pueden incluir la alteración de las características físicas o características de ubicaciones particulares dentro de medios ópticos determinados, para cambiar las características ópticas de aquellas ubicaciones. Se debe apreciar que otras transformaciones de medios físicos son posibles sin desviarse del alcance de la presente divulgación. As another example, the computer-readable storage medium may be implemented using magnetic or optical technology. In these implementations, program modules 714 may transform the physical state of the magnetic or optical media, when software is encoded thereon. These transformations may include altering the magnetic characteristics of particular locations within given magnetic media. These transformations may also include altering the physical characteristics or features of particular locations within given optical media, to change the optical characteristics of those locations. It should be appreciated that other physical media transformations are possible without departing from the scope of the present disclosure.

Referencias References

[1] Balahur, Alexandra, y Marco Turchi. “ Improving Sentiment Analysis in Twitter Using Multilingual Machine Translated Data.” RANLP 2013. [1] Balahur, Alexandra, and Marco Turchi. “Improving Sentiment Analysis in Twitter Using Multilingual Machine Translated Data.” RANLP 2013.

[2] Balahur, Alexandra, y Marco Turchi. ''Multilingual sentiment analysis using machine translation?.” Proceedings of the 3rd Workshop in Computational Approaches to Subjectivity and Sentiment Analysis. Association for Computational Linguistics, 2012. [2] Balahur, Alexandra, and Marco Turchi. ''Multilingual sentiment analysis using machine translation?.” Proceedings of the 3rd Workshop in Computational Approaches to Subjectivity and Sentiment Analysis. Association for Computational Linguistics, 2012.

[3] Wan, Xiaojun. “Using bilingual knowledge and ensemble techniques for unsupervised Chinese sentiment analysis.” Proceedings of the Conference on Empirical Methods in Natural Language Processing. Association for Computational Linguistics, 2008. [3] Wan, Xiaojun. “Using bilingual knowledge and ensemble techniques for unsupervised Chinese sentiment analysis.” Proceedings of the Conference on Empirical Methods in Natural Language Processing. Association for Computational Linguistics, 2008.

[4] Bird, Steven. ”NLTK: the natural language toolkit.” Proceedings of the COLING/ACL on Interactive presentation sessions. Association for Computational Linguistics, 2006. [4] Bird, Steven. ”NLTK: the natural language toolkit.” Proceedings of the COLING/ACL on Interactive presentation sessions. Association for Computational Linguistics, 2006.

[5] Mesnil, Gr'egoire, et al. “Ensemble of Generative and Discriminative Techniques for Sentiment Analysis of Movie Reviews.” arXiv preprint arXiv: 1412.5335 (2014). [5] Mesnil, Gr'egoire, et al. “Ensemble of Generative and Discriminative Techniques for Sentiment Analysis of Movie Reviews.” arXiv preprint arXiv:1412.5335 (2014).

[6] Manning, Christopher D. y Schutze, Hinrich. ''Foundations of Statistical Natural Language Processing.” 1999. [6] Manning, Christopher D. and Schutze, Hinrich. ''Foundations of Statistical Natural Language Processing.” 1999.

[7] Wang, Sida, y Christopher D. Manning. ''Baselines and bigrams: Simple, good sentiment and topic classification.” Proceedings of the 50th Annual Meeting of the Association for Computational Linguistics: Short Papers-Volume 2. Association for Computational Linguistics, 2012. [7] Wang, Sida, and Christopher D. Manning. ''Baselines and bigrams: Simple, good sentiment and topic classification.” Proceedings of the 50th Annual Meeting of the Association for Computational Linguistics: Short Papers-Volume 2. Association for Computational Linguistics, 2012.

Claims (11)

REIVINDICACIONES 1. Un método implementado por computadora, que comprende:1. A computer-implemented method, comprising: recibir, en una pluralidad de nodos neuronales de entrada de una red neuronal implementada por computadora, una entrada que comprende una lista ordenada de una pluralidad de unidades lingüísticas con una unidad lingüística omitida, en donde cada uno de los nodos neuronales de entrada corresponde a una unidad lingüística seleccionada de la lista ordenada de una pluralidad de unidades lingüísticas y las unidades lingüísticas comprenden frases, palabras, letras u otros caracteres utilizados en el idioma;receiving, at a plurality of input neural nodes of a computer-implemented neural network, an input comprising an ordered list of a plurality of linguistic units with one linguistic unit omitted, wherein each of the input neural nodes corresponds to a linguistic unit selected from the ordered list of a plurality of linguistic units and the linguistic units comprise phrases, words, letters or other characters used in the language; codificar tipoone-hot,en la pluralidad de nodos neuronales de entrada, la entrada recibida por los nodos neuronales de entrada;one-hot encoding, in the plurality of input neural nodes, the input received by the input neural nodes; recibir, en una pluralidad de nodos neuronales en cada una de una pluralidad de particiones de nodo de incrustación en una capa de incrustación de la red neuronal implementada por computadora, una entrada de un conjunto separado de los nodos neuronales de entrada, y generar una salida al multiplicar al menos la entrada de cada nodo neuronal de entrada por uno de una pluralidad de pesos de entrada, en donde cada una de las particiones de nodo de incrustación corresponde a una posición en la lista ordenada con respecto a un término de enfoque y comprende una pluralidad de nodos neuronales, en donde el término de enfoque es una unidad lingüística omitida de la lista ordenada de la pluralidad de unidades lingüísticas; yreceiving, at a plurality of neural nodes in each of a plurality of embedding node partitions in an embedding layer of the computer-implemented neural network, an input from a separate set of the input neural nodes, and generating an output by multiplying at least the input of each input neural node by one of a plurality of input weights, wherein each of the embedding node partitions corresponds to a position in the ordered list with respect to a focus term and comprises a plurality of neural nodes, wherein the focus term is a linguistic unit omitted from the ordered list of the plurality of linguistic units; and recibir, en cada nodo neuronal en una capa clasificadora de la red neuronal implementada por computadora, la salida de cada uno de los nodos neuronales de la capa de incrustación, para generar una salida al multiplicar al menos la salida de cada nodo neuronal de la capa de incrustación por uno de una pluralidad de pesos de entrada, y en donde la salida corresponde a una probabilidad de que una unidad lingüística particular sea el término de enfoque;receiving, at each neural node in a classifier layer of the computer-implemented neural network, the output of each of the neural nodes of the embedding layer, to generate an output by multiplying at least the output of each neural node of the embedding layer by one of a plurality of input weights, and wherein the output corresponds to a probability that a particular linguistic unit is the focus term; en donde cada nodo neuronal de una partición de la capa de incrustación se entrena independientemente de otras particiones; ywhere each neural node of a partition of the embedding layer is trained independently of other partitions; and en donde la pluralidad de nodos neuronales de entrada, la capa de incrustación, al menos una capa oculta y la capa clasificadora forman la red neuronal y el método comprende además entrenar la red neuronal al:wherein the plurality of input neural nodes, the embedding layer, at least one hidden layer and the classifier layer form the neural network and the method further comprises training the neural network by: entrenar una primera partición de las particiones de nodo de incrustación al:train a first partition of the embedding node partitions by: remover el término de enfoque de la lista ordenada de unidades lingüísticas;remove the focus term from the ordered list of linguistic units; seleccionar una partición de las incrustaciones de cada unidad lingüística restante con base en la posición de esa respectiva unidad lingüística con relación al término de enfoque; yselect a partition of the embeddings of each remaining linguistic unit based on the position of that respective linguistic unit relative to the focus term; and actualizar los pesos para cada nodo neuronal en la capa clasificadora y la capa de incrustación tal que la probabilidad de la presencia del término de enfoque sea de aproximadamente el 100% y otras unidades lingüísticas muestreadas aleatoriamente sean del 0%; y entrenar una segunda partición al:update the weights for each neural node in the classifier layer and the embedding layer such that the probability of the focus term's presence is approximately 100% and other randomly sampled linguistic units are 0%; and train a second partition by: remover el término de enfoque de la lista ordenada de unidades lingüísticas;remove the focus term from the ordered list of linguistic units; seleccionar una partición de la incrustación de cada unidad lingüística restante con base en la posición de esa unidad lingüística con relación al término de enfoque; yselect a partition of the embedding for each remaining linguistic unit based on the position of that linguistic unit relative to the focus term; and actualizar los pesos para modelar la probabilidad de la presencia del término de enfoque es de aproximadamente el 100% y otras unidades lingüísticas muestreadas aleatoriamente son del 0%,update the weights to model the probability of the presence of the focus term is approximately 100% and other randomly sampled linguistic units are 0%, en donde los pasos de entrenar una primera partición y entrenar una segunda partición se realizan en paralelo en dos computadoras diferentes.where the steps of training a first partition and training a second partition are performed in parallel on two different computers. 2. El método implementado por computadora de la reivindicación 1, donde la unidad lingüística es un carácter o una palabra.2. The computer-implemented method of claim 1, wherein the linguistic unit is a character or a word. 3. El método implementado por computadora de la reivindicación 1, donde las posiciones con relación a un término de enfoque de las particiones de nodo de incrustación son posiciones de ventana con relación al término de enfoque o direcciones con relación al término de enfoque.3. The computer-implemented method of claim 1, wherein the positions relative to a focus term of the embedding node partitions are window positions relative to the focus term or addresses relative to the focus term. 4. El método implementado por computadora de la reivindicación 1, donde el método comprende además entrenar la red neuronal al realizar funciones que comprenden:4. The computer-implemented method of claim 1, wherein the method further comprises training the neural network by performing functions comprising: remover el término de enfoque de la lista ordenada de unidades lingüísticas;remove the focus term from the ordered list of linguistic units; seleccionar una partición de las incrustaciones de cada unidad lingüística restante con base en la posición de esa unidad lingüística con relación al término de enfoque;select a partition of the embeddings of each remaining language unit based on the position of that language unit relative to the focus term; concatenar las particiones;concatenate the partitions; propagar las particiones a través de la capa clasificadora; ypropagate the partitions through the classifier layer; and actualizar los pesos para uno o más nodos neuronales en la capa clasificadora y la capa de incrustación tal que la probabilidad de la presencia del término de enfoque sea de aproximadamente el 100% y otras unidades lingüísticas muestreadas aleatoriamente sean de aproximadamente el 0%.update the weights for one or more neural nodes in the classifier layer and the embedding layer such that the probability of the presence of the focus term is approximately 100% and other randomly sampled linguistic units is approximately 0%. 5. El método implementado por computadora de la reivindicación 1, donde las unidades lingüísticas particulares se seleccionan de la lista ordenada de la pluralidad de unidades lingüísticas y múltiples dominios lingüísticos asociados con las unidades lingüísticas particulares seleccionadas se modelan en un espacio vectorial común, en donde cada uno de los múltiples dominios lingüísticos corresponde a un idioma diferente.5. The computer-implemented method of claim 1, wherein the particular linguistic units are selected from the ordered list of the plurality of linguistic units and multiple linguistic domains associated with the selected particular linguistic units are modeled in a common vector space, wherein each of the multiple linguistic domains corresponds to a different language. 6. El método implementado por computadora de la reivindicación 1, donde los pesos de entrada para cada partición de nodo de incrustación se entrenan independientemente de las otras particiones de nodo de incrustación.6. The computer-implemented method of claim 1, wherein the input weights for each embedding node partition are trained independently of the other embedding node partitions. 7. Un sistema que tiene dos computadoras configuradas para implementar:7. A system that has two computers configured to implement: una pluralidad de nodos neuronales de entrada, en donde la pluralidad de nodos neuronales de entrada se configura para:a plurality of input neural nodes, wherein the plurality of input neural nodes is configured to: recibir una entrada que comprende una lista ordenada de una pluralidad de unidades lingüísticas con una unidad lingüística omitida, en donde cada nodo neuronal de entrada de la pluralidad de nodos neuronales de entrada corresponde a una unidad lingüística seleccionada de la lista ordenada de una pluralidad de unidades lingüísticas y las unidades lingüísticas comprenden frases, palabras, letras u otros caracteres utilizados en el idioma; y codificar tipoone-hotla entrada recibida por los nodos neuronales de entrada;receiving an input comprising an ordered list of a plurality of linguistic units with one linguistic unit omitted, wherein each input neural node of the plurality of input neural nodes corresponds to a linguistic unit selected from the ordered list of a plurality of linguistic units and the linguistic units comprise phrases, words, letters or other characters used in the language; and one-hot encoding the input received by the input neural nodes; una capa de incrustación que comprende una pluralidad de particiones de nodo de incrustación, en donde cada una de las particiones de nodo de incrustación corresponde a una posición en la lista ordenada con relación a un término de enfoque y comprende una pluralidad de nodos neuronales, en donde el término de enfoque es una unidad lingüística omitida de la lista ordenada de la pluralidad de unidades lingüísticas, la pluralidad de nodos neuronales de cada una de las particiones de nodo de incrustación configurada para:an embedding layer comprising a plurality of embedding node partitions, wherein each of the embedding node partitions corresponds to a position in the ordered list relative to a focus term and comprises a plurality of neural nodes, wherein the focus term is a linguistic unit omitted from the ordered list of the plurality of linguistic units, the plurality of neural nodes of each of the embedding node partitions configured to: recibir una entrada de un conjunto separado de los nodos neuronales de entrada; yreceive an input from a separate set of input neural nodes; and calcular una salida multiplicando al menos la entrada de cada nodo neuronal de entrada por uno de una pluralidad de pesos de entrada; ycalculating an output by multiplying at least the input of each input neural node by one of a plurality of input weights; and una capa clasificadora que comprende una pluralidad de nodos neuronales, cada nodo neuronal en la capa clasificadora configurada para:a classifier layer comprising a plurality of neural nodes, each neural node in the classifier layer configured to: recibir la salida de cada nodo neuronal de la capa de incrustación; yreceive the output of each neural node of the embedding layer; and generar una salida al multiplicar al menos la salida de cada nodo neuronal de la capa de incrustación por uno de una pluralidad de pesos de entrada, y en donde la salida corresponde a una probabilidad de que una unidad lingüística particular sea el término de enfoque;generating an output by multiplying at least the output of each neural node of the embedding layer by one of a plurality of input weights, and wherein the output corresponds to a probability that a particular linguistic unit is the focus term; en donde cada nodo neuronal de una partición de la capa de incrustación se entrena independientemente de otras particiones; ywhere each neural node of a partition of the embedding layer is trained independently of other partitions; and en donde la pluralidad de nodos neuronales de entrada, la capa de incrustación, al menos una capa oculta y el clasificador forman una red neuronal, la red neuronal entrenada al:wherein the plurality of input neural nodes, the embedding layer, at least one hidden layer and the classifier form a neural network, the neural network trained by: entrenar una primera partición de las particiones de nodo de incrustación al:train a first partition of the embedding node partitions by: remover el término de enfoque de la lista ordenada de unidades lingüísticas;remove the focus term from the ordered list of linguistic units; seleccionar una partición de las incrustaciones de cada unidad lingüística restante con base en la posición de esa respectiva unidad lingüística con relación al término de enfoque; yselect a partition of the embeddings of each remaining linguistic unit based on the position of that respective linguistic unit relative to the focus term; and actualizar los pesos para cada nodo neuronal en la capa clasificadora y la capa de incrustación tal que la probabilidad de la presencia del término de enfoque sea de aproximadamente el 100% y otras unidades lingüísticas muestreadas aleatoriamente sean del 0%; yupdate the weights for each neural node in the classifier layer and the embedding layer such that the probability of the presence of the focus term is approximately 100% and other randomly sampled linguistic units are 0%; and entrenar una segunda partición al:train a second partition by: remover el término de enfoque de la lista ordenada de unidades lingüísticas;remove the focus term from the ordered list of linguistic units; seleccionar una partición de la incrustación de cada unidad lingüística restante con base en la posición de esa unidad lingüística con relación al término de enfoque; yselect a partition of the embedding for each remaining linguistic unit based on the position of that linguistic unit relative to the focus term; and actualizar los pesos para modelar la probabilidad de la presencia del término de enfoque es de aproximadamente el 100% y otras unidades lingüísticas muestreadas aleatoriamente son del 0%,update the weights to model the probability of the presence of the focus term is approximately 100% and other randomly sampled linguistic units are 0%, en donde los pasos de entrenar una primera partición y entrenar una segunda partición se realizan en paralelo en las dos computadoras.where the steps of training a first partition and training a second partition are performed in parallel on the two computers. 8. El sistema de la reivindicación 7, donde la unidad lingüística es un carácter o una palabra.8. The system of claim 7, wherein the linguistic unit is a character or a word. 9. El sistema de la reivindicación 7, donde las posiciones con relación a un término de enfoque de las particiones de nodo de incrustación son posiciones de ventana con relación al término de enfoque o direcciones con relación al término de enfoque.9. The system of claim 7, wherein the positions relative to a focus term of the embedding node partitions are window positions relative to the focus term or addresses relative to the focus term. 10. El sistema de la reivindicación 7, donde las unidades lingüísticas particulares se seleccionan de la lista ordenada de la pluralidad de unidades lingüísticas y múltiples dominios lingüísticos asociados con las unidades lingüísticas particulares seleccionadas se modelan en un espacio vectorial común, en donde cada uno de los múltiples dominios lingüísticos corresponde a un idioma diferente.10. The system of claim 7, wherein the particular linguistic units are selected from the ordered list of the plurality of linguistic units and multiple linguistic domains associated with the selected particular linguistic units are modeled in a common vector space, wherein each of the multiple linguistic domains corresponds to a different language. 11. El sistema de la reivindicación 7, donde los pesos de entrada para cada partición de nodo de incrustación se entrenan independientemente de las otras particiones de nodo de incrustación.11. The system of claim 7, wherein the input weights for each embedding node partition are trained independently of the other embedding node partitions.
ES16753087T 2015-02-19 2016-02-18 Systems and methods for neural language modeling Active ES2993023T3 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201562118200P 2015-02-19 2015-02-19
US201562128915P 2015-03-05 2015-03-05
PCT/US2016/018536 WO2016134183A1 (en) 2015-02-19 2016-02-18 Systems and methods for neural language modeling

Publications (1)

Publication Number Publication Date
ES2993023T3 true ES2993023T3 (en) 2024-12-20

Family

ID=56689176

Family Applications (1)

Application Number Title Priority Date Filing Date
ES16753087T Active ES2993023T3 (en) 2015-02-19 2016-02-18 Systems and methods for neural language modeling

Country Status (4)

Country Link
US (1) US10339440B2 (en)
EP (1) EP3259688B1 (en)
ES (1) ES2993023T3 (en)
WO (1) WO2016134183A1 (en)

Families Citing this family (197)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US10002189B2 (en) 2007-12-20 2018-06-19 Apple Inc. Method and apparatus for searching using an active ontology
US9330720B2 (en) 2008-01-03 2016-05-03 Apple Inc. Methods and apparatus for altering audio output signals
US20100030549A1 (en) 2008-07-31 2010-02-04 Lee Michael M Mobile device having human language translation capability with positional feedback
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US10255566B2 (en) 2011-06-03 2019-04-09 Apple Inc. Generating and processing task items that represent tasks to perform
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US8682667B2 (en) 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
US9262612B2 (en) 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
US10057736B2 (en) 2011-06-03 2018-08-21 Apple Inc. Active transport based notifications
US10134385B2 (en) 2012-03-02 2018-11-20 Apple Inc. Systems and methods for name pronunciation
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
DE112014000709B4 (en) 2013-02-07 2021-12-30 Apple Inc. METHOD AND DEVICE FOR OPERATING A VOICE TRIGGER FOR A DIGITAL ASSISTANT
US10652394B2 (en) 2013-03-14 2020-05-12 Apple Inc. System and method for processing voicemail
US10748529B1 (en) 2013-03-15 2020-08-18 Apple Inc. Voice activated device for use with a voice-based digital assistant
WO2014197335A1 (en) 2013-06-08 2014-12-11 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices
KR101959188B1 (en) 2013-06-09 2019-07-02 애플 인크. Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
KR101749009B1 (en) 2013-08-06 2017-06-19 애플 인크. Auto-activating smart responses based on activities from remote devices
US10296160B2 (en) 2013-12-06 2019-05-21 Apple Inc. Method for extracting salient dialog usage from live data
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
US9633004B2 (en) 2014-05-30 2017-04-25 Apple Inc. Better resolution when referencing to concepts
WO2015184186A1 (en) 2014-05-30 2015-12-03 Apple Inc. Multi-command single utterance input method
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US9818400B2 (en) 2014-09-11 2017-11-14 Apple Inc. Method and apparatus for discovering trending terms in speech requests
US10074360B2 (en) 2014-09-30 2018-09-11 Apple Inc. Providing an indication of the suitability of speech recognition
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US10152299B2 (en) 2015-03-06 2018-12-11 Apple Inc. Reducing response latency of intelligent automated assistants
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US10460227B2 (en) 2015-05-15 2019-10-29 Apple Inc. Virtual assistant in a communication session
US10083688B2 (en) 2015-05-27 2018-09-25 Apple Inc. Device voice control for selecting a displayed affordance
US10200824B2 (en) 2015-05-27 2019-02-05 Apple Inc. Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device
US9595002B2 (en) 2015-05-29 2017-03-14 Sas Institute Inc. Normalizing electronic communications using a vector having a repeating substring as input for a neural network
US9704097B2 (en) 2015-05-29 2017-07-11 Sas Institute Inc. Automatically constructing training sets for electronic sentiment analysis
US9552547B2 (en) * 2015-05-29 2017-01-24 Sas Institute Inc. Normalizing electronic communications using a neural-network normalizer and a neural-network flagger
US9578173B2 (en) 2015-06-05 2017-02-21 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US11025565B2 (en) 2015-06-07 2021-06-01 Apple Inc. Personalized prediction of responses for instant messaging
US20160378747A1 (en) 2015-06-29 2016-12-29 Apple Inc. Virtual assistant for media playback
US10331312B2 (en) 2015-09-08 2019-06-25 Apple Inc. Intelligent automated assistant in a media environment
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10740384B2 (en) 2015-09-08 2020-08-11 Apple Inc. Intelligent automated assistant for media search and playback
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
KR102437689B1 (en) * 2015-09-16 2022-08-30 삼성전자주식회사 Voice recognition sever and control method thereof
US11587559B2 (en) 2015-09-30 2023-02-21 Apple Inc. Intelligent device identification
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10956666B2 (en) 2015-11-09 2021-03-23 Apple Inc. Unconventional virtual assistant interactions
US10049668B2 (en) 2015-12-02 2018-08-14 Apple Inc. Applying neural network language models to weighted finite state transducers for automatic speech recognition
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
JP6400037B2 (en) * 2016-03-17 2018-10-03 ヤフー株式会社 Determination apparatus and determination method
US11227589B2 (en) 2016-06-06 2022-01-18 Apple Inc. Intelligent list reading
US10049663B2 (en) 2016-06-08 2018-08-14 Apple, Inc. Intelligent automated assistant for media exploration
US12223282B2 (en) 2016-06-09 2025-02-11 Apple Inc. Intelligent automated assistant in a home environment
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
US12197817B2 (en) 2016-06-11 2025-01-14 Apple Inc. Intelligent device arbitration and control
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
DK179049B1 (en) * 2016-06-11 2017-09-18 Apple Inc Data driven natural language event detection and classification
US10984318B2 (en) * 2016-06-15 2021-04-20 University Of Ulsan Foundation For Industry Cooperation Word semantic embedding apparatus and method using lexical semantic network and homograph disambiguating apparatus and method using lexical semantic network and word embedding
US10740374B2 (en) 2016-06-30 2020-08-11 International Business Machines Corporation Log-aided automatic query expansion based on model mapping
US10614798B2 (en) * 2016-07-29 2020-04-07 Arizona Board Of Regents On Behalf Of Arizona State University Memory compression in a deep neural network
CN107785016A (en) * 2016-08-31 2018-03-09 株式会社东芝 Train the method and apparatus and audio recognition method and device of neural network aiding model
US10474753B2 (en) 2016-09-07 2019-11-12 Apple Inc. Language identification using recurrent neural networks
US10043516B2 (en) 2016-09-23 2018-08-07 Apple Inc. Intelligent automated assistant
US10664722B1 (en) * 2016-10-05 2020-05-26 Digimarc Corporation Image processing arrangements
US11222253B2 (en) * 2016-11-03 2022-01-11 Salesforce.Com, Inc. Deep neural network model for processing data through multiple linguistic task hierarchies
GB201619724D0 (en) * 2016-11-22 2017-01-04 Microsoft Technology Licensing Llc Trained data input system
GB201620232D0 (en) 2016-11-29 2017-01-11 Microsoft Technology Licensing Llc Data input system with online learning
DE102016125162B4 (en) * 2016-12-05 2018-07-26 Ernst-Moritz-Arndt-Universität Greifswald Method and device for the automatic processing of texts
US11281993B2 (en) 2016-12-05 2022-03-22 Apple Inc. Model and ensemble compression for metric learning
US11068658B2 (en) * 2016-12-07 2021-07-20 Disney Enterprises, Inc. Dynamic word embeddings
US11204787B2 (en) 2017-01-09 2021-12-21 Apple Inc. Application integration with a digital assistant
US12411880B2 (en) * 2017-02-16 2025-09-09 Globality, Inc. Intelligent matching system with ontology-aided relation extraction
CN108287858B (en) * 2017-03-02 2021-08-10 腾讯科技(深圳)有限公司 Semantic extraction method and device for natural language
JP6705763B2 (en) * 2017-03-16 2020-06-03 ヤフー株式会社 Generation device, generation method, and generation program
US11640617B2 (en) * 2017-03-21 2023-05-02 Adobe Inc. Metric forecasting employing a similarity determination in a digital medium environment
US10755174B2 (en) * 2017-04-11 2020-08-25 Sap Se Unsupervised neural attention model for aspect extraction
EP3563302A1 (en) * 2017-04-20 2019-11-06 Google LLC Processing sequential data using recurrent neural networks
US10963501B1 (en) * 2017-04-29 2021-03-30 Veritas Technologies Llc Systems and methods for generating a topic tree for digital information
US10417266B2 (en) 2017-05-09 2019-09-17 Apple Inc. Context-aware ranking of intelligent response suggestions
DK201770383A1 (en) 2017-05-09 2018-12-14 Apple Inc. User interface for correcting recognition errors
US10726832B2 (en) 2017-05-11 2020-07-28 Apple Inc. Maintaining privacy of personal information
DK180048B1 (en) 2017-05-11 2020-02-04 Apple Inc. MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION
US10395654B2 (en) 2017-05-11 2019-08-27 Apple Inc. Text normalization based on a data-driven learning network
DK201770428A1 (en) 2017-05-12 2019-02-18 Apple Inc. Low-latency intelligent automated assistant
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
US11301477B2 (en) 2017-05-12 2022-04-12 Apple Inc. Feedback analysis of a digital assistant
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK201770411A1 (en) 2017-05-15 2018-12-20 Apple Inc. MULTI-MODAL INTERFACES
US20180336892A1 (en) 2017-05-16 2018-11-22 Apple Inc. Detecting a trigger of a digital assistant
DK179560B1 (en) 2017-05-16 2019-02-18 Apple Inc. Far-field extension for digital assistant services
US10303715B2 (en) 2017-05-16 2019-05-28 Apple Inc. Intelligent automated assistant for media exploration
US10311144B2 (en) 2017-05-16 2019-06-04 Apple Inc. Emoji word sense disambiguation
US10403278B2 (en) 2017-05-16 2019-09-03 Apple Inc. Methods and systems for phonetic matching in digital assistant services
US10447635B2 (en) 2017-05-17 2019-10-15 Slice Technologies, Inc. Filtering electronic messages
US11005864B2 (en) 2017-05-19 2021-05-11 Salesforce.Com, Inc. Feature-agnostic behavior profile based anomaly detection
US10817650B2 (en) * 2017-05-19 2020-10-27 Salesforce.Com, Inc. Natural language processing using context specific word vectors
US10810472B2 (en) * 2017-05-26 2020-10-20 Oracle International Corporation Techniques for sentiment analysis of data using a convolutional neural network and a co-occurrence network
US10958422B2 (en) * 2017-06-01 2021-03-23 Cotiviti, Inc. Methods for disseminating reasoning supporting insights without disclosing uniquely identifiable data, and systems for the same
US10657328B2 (en) 2017-06-02 2020-05-19 Apple Inc. Multi-task recurrent neural network architecture for efficient morphology handling in neural language modeling
CN107330513B (en) * 2017-06-28 2020-07-31 深圳爱拼信息科技有限公司 Method for extracting hidden node semantics in deep belief network
WO2019000051A1 (en) * 2017-06-30 2019-01-03 Xref (Au) Pty Ltd Data analysis method and learning system
CN110019770A (en) * 2017-07-24 2019-07-16 华为技术有限公司 The method and apparatus of train classification models
CN107436942A (en) * 2017-07-28 2017-12-05 广州市香港科大霍英东研究院 Word embedding grammar, system, terminal device and storage medium based on social media
US11531859B2 (en) 2017-08-08 2022-12-20 Samsung Electronics Co., Ltd. System and method for hashed compressed weighting matrix in neural networks
US20190066843A1 (en) * 2017-08-22 2019-02-28 Koninklijke Philips N.V. Collapsing clinical event data into meaningful states of patient care
WO2019053898A1 (en) * 2017-09-15 2019-03-21 Nec Corporation Pattern recognition apparatus, pattern recognition method, and storage medium
US10445429B2 (en) 2017-09-21 2019-10-15 Apple Inc. Natural language understanding using vocabularies with compressed serialized tries
US10755051B2 (en) 2017-09-29 2020-08-25 Apple Inc. Rule-based natural language processing
US10915707B2 (en) * 2017-10-20 2021-02-09 MachineVantage, Inc. Word replaceability through word vectors
EP3625699A1 (en) 2017-10-25 2020-03-25 Google LLC Natural language processing with an n-gram machine
US11335460B2 (en) * 2017-11-09 2022-05-17 International Business Machines Corporation Neural network based selection of representative patients
US11030997B2 (en) * 2017-11-22 2021-06-08 Baidu Usa Llc Slim embedding layers for recurrent neural language models
US10636424B2 (en) 2017-11-30 2020-04-28 Apple Inc. Multi-turn canned dialog
US10733982B2 (en) 2018-01-08 2020-08-04 Apple Inc. Multi-directional dialog
CN108287820B (en) * 2018-01-12 2021-06-11 鼎富智能科技有限公司 Text representation generation method and device
US10891943B2 (en) * 2018-01-18 2021-01-12 Citrix Systems, Inc. Intelligent short text information retrieve based on deep learning
US11803883B2 (en) 2018-01-29 2023-10-31 Nielsen Consumer Llc Quality assurance for labeled training data
US10733375B2 (en) 2018-01-31 2020-08-04 Apple Inc. Knowledge-based framework for improving natural language understanding
US11334790B1 (en) * 2018-03-02 2022-05-17 Supplypike, Llc System and method for recurrent neural networks for forecasting of consumer goods' sales and inventory
US10789959B2 (en) 2018-03-02 2020-09-29 Apple Inc. Training speaker recognition models for digital assistants
JP6973192B2 (en) * 2018-03-08 2021-11-24 日本電信電話株式会社 Devices, methods and programs that utilize the language model
US10592604B2 (en) 2018-03-12 2020-03-17 Apple Inc. Inverse text normalization for automatic speech recognition
US10885082B2 (en) 2018-03-22 2021-01-05 International Business Machines Corporation Implicit relation induction via purposeful overfitting of a word embedding model on a subset of a document corpus
US10818288B2 (en) 2018-03-26 2020-10-27 Apple Inc. Natural assistant interaction
US10909331B2 (en) 2018-03-30 2021-02-02 Apple Inc. Implicit identification of translation payload with neural machine translation
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US10984780B2 (en) * 2018-05-21 2021-04-20 Apple Inc. Global semantic word embeddings using bi-directional recurrent neural networks
US10678830B2 (en) * 2018-05-31 2020-06-09 Fmr Llc Automated computer text classification and routing using artificial intelligence transfer learning
US11386266B2 (en) 2018-06-01 2022-07-12 Apple Inc. Text correction
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
DK179822B1 (en) 2018-06-01 2019-07-12 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
US10892996B2 (en) 2018-06-01 2021-01-12 Apple Inc. Variable latency device coordination
DK201870355A1 (en) 2018-06-01 2019-12-16 Apple Inc. Virtual assistant operation in multi-device environments
US10504518B1 (en) 2018-06-03 2019-12-10 Apple Inc. Accelerated task performance
US10395169B1 (en) * 2018-07-06 2019-08-27 Global Elmeast Inc. Self learning neural knowledge artifactory for autonomous decision making
US10311058B1 (en) 2018-07-06 2019-06-04 Global Elmeast Inc. Techniques for processing neural queries
US11610107B2 (en) 2018-07-06 2023-03-21 Global Elmeast Inc. Methodology to automatically incorporate feedback to enable self learning in neural learning artifactories
WO2020056199A1 (en) * 2018-09-14 2020-03-19 Jpmorgan Chase Bank, N.A. Systems and methods for automated document graphing
US11449676B2 (en) 2018-09-14 2022-09-20 Jpmorgan Chase Bank, N.A. Systems and methods for automated document graphing
US10812449B1 (en) * 2018-09-19 2020-10-20 Verisign Method for generating a domain name using a learned information-rich latent space
US11010561B2 (en) 2018-09-27 2021-05-18 Apple Inc. Sentiment prediction from textual data
US11170166B2 (en) 2018-09-28 2021-11-09 Apple Inc. Neural typographical error modeling via generative adversarial networks
US10839159B2 (en) 2018-09-28 2020-11-17 Apple Inc. Named entity normalization in a spoken dialog system
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US11475898B2 (en) 2018-10-26 2022-10-18 Apple Inc. Low-latency multi-speaker speech recognition
US10915711B2 (en) 2018-12-09 2021-02-09 International Business Machines Corporation Numerical representation in natural language processing techniques
CN110033091B (en) * 2018-12-13 2020-09-01 阿里巴巴集团控股有限公司 Model-based prediction method and device
US11638059B2 (en) 2019-01-04 2023-04-25 Apple Inc. Content playback on multiple devices
CN109740164B (en) * 2019-01-09 2023-08-15 国网浙江省电力有限公司舟山供电公司 Electric power defect grade identification method based on depth semantic matching
CN109858031B (en) * 2019-02-14 2023-05-23 北京小米智能科技有限公司 Neural network model training, context prediction method and device
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
US11113469B2 (en) * 2019-03-27 2021-09-07 International Business Machines Corporation Natural language processing matrices
US11144735B2 (en) * 2019-04-09 2021-10-12 International Business Machines Corporation Semantic concept scorer based on an ensemble of language translation models for question answer system
US11423908B2 (en) 2019-05-06 2022-08-23 Apple Inc. Interpreting spoken requests
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
DK201970509A1 (en) 2019-05-06 2021-01-15 Apple Inc Spoken notifications
US11475884B2 (en) 2019-05-06 2022-10-18 Apple Inc. Reducing digital assistant latency when a language is incorrectly determined
WO2020227970A1 (en) * 2019-05-15 2020-11-19 Beijing Didi Infinity Technology And Development Co., Ltd. Systems and methods for generating abstractive text summarization
US11140099B2 (en) 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
US11386276B2 (en) * 2019-05-24 2022-07-12 International Business Machines Corporation Method and system for language and domain acceleration with embedding alignment
US11496600B2 (en) 2019-05-31 2022-11-08 Apple Inc. Remote execution of machine-learned models
DK201970510A1 (en) 2019-05-31 2021-02-11 Apple Inc Voice identification in digital assistant systems
US11289073B2 (en) 2019-05-31 2022-03-29 Apple Inc. Device text to speech
DK180129B1 (en) 2019-05-31 2020-06-02 Apple Inc. USER ACTIVITY SHORTCUT SUGGESTIONS
US11227599B2 (en) 2019-06-01 2022-01-18 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
US11360641B2 (en) 2019-06-01 2022-06-14 Apple Inc. Increasing the relevance of new available information
US11915701B2 (en) 2019-06-05 2024-02-27 Refinitiv Us Organization Llc Automatic summarization of financial earnings call transcripts
CN110196979B (en) * 2019-06-05 2023-07-25 深圳市思迪信息技术股份有限公司 Intent recognition method and device based on distributed system
US11907672B2 (en) * 2019-06-05 2024-02-20 Refinitiv Us Organization Llc Machine-learning natural language processing classifier for content classification
US10685286B1 (en) * 2019-07-30 2020-06-16 SparkCognition, Inc. Automated neural network generation using fitness estimation
US11488406B2 (en) 2019-09-25 2022-11-01 Apple Inc. Text detection using global geometry estimators
US11408746B2 (en) 2019-12-04 2022-08-09 Toyota Connected North America, Inc. Systems and methods for generating attributes-based recommendations
US11875116B2 (en) * 2019-12-20 2024-01-16 Intuit Inc. Machine learning models with improved semantic awareness
CN111625276B (en) * 2020-05-09 2023-04-21 山东师范大学 Method and system for code summary generation based on fusion of semantic and grammatical information
US11061543B1 (en) 2020-05-11 2021-07-13 Apple Inc. Providing relevant data items based on context
US12301635B2 (en) 2020-05-11 2025-05-13 Apple Inc. Digital assistant hardware abstraction
US11183193B1 (en) 2020-05-11 2021-11-23 Apple Inc. Digital assistant hardware abstraction
US11657332B2 (en) * 2020-06-12 2023-05-23 Baidu Usa Llc Method for AI model transferring with layer randomization
CN111813934B (en) * 2020-06-22 2024-04-30 贵州大学 A multi-source text topic model clustering method based on DMA model and feature partitioning
EP3937170A1 (en) * 2020-07-10 2022-01-12 Novoic Ltd. Speech analysis for monitoring or diagnosis of a health condition
US11490204B2 (en) 2020-07-20 2022-11-01 Apple Inc. Multi-device audio adjustment coordination
US11438683B2 (en) 2020-07-21 2022-09-06 Apple Inc. User identification using headphones
US12518156B2 (en) * 2020-10-23 2026-01-06 Mitsubishi Electric Research Laboratories, Inc. Training a neural network using graph-based temporal classification
US20220284485A1 (en) * 2021-03-02 2022-09-08 International Business Machines Corporation Stratified social review recommendation
CN113032559B (en) * 2021-03-15 2023-04-28 新疆大学 Language model fine tuning method for low-resource adhesive language text classification
US12321428B2 (en) * 2021-07-08 2025-06-03 Nippon Telegraph And Telephone Corporation User authentication device, user authentication method, and user authentication computer program
US12423507B2 (en) * 2021-07-12 2025-09-23 International Business Machines Corporation Elucidated natural language artifact recombination with contextual awareness
CN114091453B (en) * 2021-11-29 2025-07-25 桂林电子科技大学 Latin strong language vector representation and calculation method
US12346665B2 (en) 2022-02-14 2025-07-01 International Business Machines Corporation Neural architecture search of language models using knowledge distillation
US12321957B2 (en) * 2022-08-31 2025-06-03 Accenture Global Solutions Limited System and method for assigning agents to critical/high priority supply chain risk use cases

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AUPQ138199A0 (en) 1999-07-02 1999-07-29 Telstra R & D Management Pty Ltd A search system
US8165870B2 (en) 2005-02-10 2012-04-24 Microsoft Corporation Classification filter for processing data for creating a language model
US8219406B2 (en) 2007-03-15 2012-07-10 Microsoft Corporation Speech-centric multimodal user interface design in mobile technology
US8473430B2 (en) 2010-01-29 2013-06-25 Microsoft Corporation Deep-structured conditional random fields for sequential labeling and classification
US8825648B2 (en) * 2010-04-15 2014-09-02 Microsoft Corporation Mining multilingual topics
US8972253B2 (en) 2010-09-15 2015-03-03 Microsoft Technology Licensing, Llc Deep belief network for large vocabulary continuous speech recognition
US9031844B2 (en) 2010-09-21 2015-05-12 Microsoft Technology Licensing, Llc Full-sequence training of deep structures for speech recognition
US8489529B2 (en) 2011-03-31 2013-07-16 Microsoft Corporation Deep convex network with joint use of nonlinear random projection, Restricted Boltzmann Machine and batch-based parallelizable optimization
US8918352B2 (en) 2011-05-23 2014-12-23 Microsoft Corporation Learning processes for single hidden layer neural networks with linear output units
US10078620B2 (en) 2011-05-27 2018-09-18 New York University Runtime reconfigurable dataflow processor with multi-port memory access module
US8831358B1 (en) 2011-11-21 2014-09-09 Google Inc. Evaluating image similarity
US9235799B2 (en) 2011-11-26 2016-01-12 Microsoft Technology Licensing, Llc Discriminative pretraining of deep neural networks
US8700552B2 (en) 2011-11-28 2014-04-15 Microsoft Corporation Exploiting sparseness in training deep neural networks
US8626684B2 (en) * 2011-12-14 2014-01-07 International Business Machines Corporation Multi-modal neural network for universal, online learning
US9165243B2 (en) 2012-02-15 2015-10-20 Microsoft Technology Licensing, Llc Tensor deep stacked neural network
US9292789B2 (en) 2012-03-02 2016-03-22 California Institute Of Technology Continuous-weight neural networks
US9704068B2 (en) 2012-06-22 2017-07-11 Google Inc. System and method for labelling aerial images
US9292787B2 (en) 2012-08-29 2016-03-22 Microsoft Technology Licensing, Llc Computer-implemented deep tensor neural network
CA2884096C (en) 2012-09-05 2021-01-26 Element, Inc. System and method for biometric authentication in connection with camera-equipped devices
US9477925B2 (en) 2012-11-20 2016-10-25 Microsoft Technology Licensing, Llc Deep neural networks training for speech and pattern recognition
US9251437B2 (en) 2012-12-24 2016-02-02 Google Inc. System and method for generating training cases for image classification
US9811775B2 (en) 2012-12-24 2017-11-07 Google Inc. Parallelizing neural networks during training
US9406017B2 (en) 2012-12-24 2016-08-02 Google Inc. System and method for addressing overfitting in a neural network
US9037464B1 (en) 2013-01-15 2015-05-19 Google Inc. Computing numeric representations of words in a high-dimensional space
US9519858B2 (en) 2013-02-10 2016-12-13 Microsoft Technology Licensing, Llc Feature-augmented neural networks and applications of same
US20140249799A1 (en) 2013-03-04 2014-09-04 Microsoft Corporation Relational similarity measurement
US9177550B2 (en) 2013-03-06 2015-11-03 Microsoft Technology Licensing, Llc Conservatively adapting a deep neural network in a recognition system
US9454958B2 (en) 2013-03-07 2016-09-27 Microsoft Technology Licensing, Llc Exploiting heterogeneous data in deep neural network-based speech recognition systems
US9842585B2 (en) 2013-03-11 2017-12-12 Microsoft Technology Licensing, Llc Multilingual deep neural network
US9141906B2 (en) * 2013-03-13 2015-09-22 Google Inc. Scoring concept terms using a deep network
US9099083B2 (en) 2013-03-13 2015-08-04 Microsoft Technology Licensing, Llc Kernel deep convex networks and end-to-end learning
US20150379571A1 (en) * 2014-06-30 2015-12-31 Yahoo! Inc. Systems and methods for search retargeting using directed distributed query word representations

Also Published As

Publication number Publication date
EP3259688A4 (en) 2018-12-12
WO2016134183A1 (en) 2016-08-25
EP3259688C0 (en) 2024-09-25
US10339440B2 (en) 2019-07-02
EP3259688A1 (en) 2017-12-27
EP3259688B1 (en) 2024-09-25
US20160247061A1 (en) 2016-08-25

Similar Documents

Publication Publication Date Title
ES2993023T3 (en) Systems and methods for neural language modeling
US11132512B2 (en) Multi-perspective, multi-task neural network model for matching text to program code
US12050882B2 (en) Fused acoustic and text encoding for multimodal bilingual pretraining and speech translation
Yan et al. A semantic and emotion‐based dual latent variable generation model for a dialogue system
CN111291181B (en) Representation learning for input classification via topic sparse autoencoders and entity embeddings
Badjatiya et al. Attention-based neural text segmentation
Lai et al. Recurrent convolutional neural networks for text classification
Lee et al. Learning recurrent span representations for extractive question answering
Ameur et al. Arabic machine transliteration using an attention-based encoder-decoder model
CN110569511A (en) Feature extraction method of electronic medical record based on hybrid neural network
CN114936266A (en) Multi-modal fusion rumor early detection method and system based on gating mechanism
Deng et al. Model criticism for long-form text generation
Fenghour et al. An effective conversion of visemes to words for high-performance automatic lipreading
Amrutha et al. Effortless and beneficial processing of natural languages using transformers
Deng et al. Global context-dependent recurrent neural network language model with sparse feature learning
Guo et al. An integrated neural model for sentence classification
Joty et al. Modeling speech acts in asynchronous conversations: A neural-CRF approach
Wang et al. An integrated deep generative model for text classification and generation
Alexander et al. Semantic Text Analysis Using Artificial Neural Networks Based On Neural-Like Elements With Temporal Signal Summation
Naghshnejad et al. Recent trends in the use of deep learning models for grammar error handling
Wang et al. Multi-perspective context aggregation for semi-supervised cloze-style reading comprehension
Padia et al. UMBC at SemEval-2018 Task 8: Understanding text about malware
Lv et al. Extract, attend, predict: Aspect-based sentiment analysis with deep self-attention network
Alqaraleh Novel turkish sentiment analysis system using ConvNet.
Nijila et al. Extraction of relationship between characters in narrative summaries