WO2007082948A1 - Procede et dispositif pour extraire des informations et les transformer en donnees qualitatives d'un document textuel - Google Patents
Procede et dispositif pour extraire des informations et les transformer en donnees qualitatives d'un document textuel Download PDFInfo
- Publication number
- WO2007082948A1 WO2007082948A1 PCT/EP2007/050569 EP2007050569W WO2007082948A1 WO 2007082948 A1 WO2007082948 A1 WO 2007082948A1 EP 2007050569 W EP2007050569 W EP 2007050569W WO 2007082948 A1 WO2007082948 A1 WO 2007082948A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- node
- dictionary
- transitions
- automaton
- grammars
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
Definitions
- the invention particularly relates to a method for extracting information and transforming qualitative data of a textual document.
- token designates the representation of a unit by a bit pattern and by “tokenizer” the device adapted to perform this conversion.
- match has the meaning of "identification” or "recognition”.
- the problem is to extract the relevant information while managing the complexity and ambiguities of the natural language.
- the object of the invention rests in particular on a new approach: a window size is chosen at the beginning of the process, the "tokens" are treated one by one, the tokens arriving in flow, one then applies the search dictionary and the grammars receiving the "tokens" one after the other, in the case where they are used in a sequential way.
- the object of the present invention relates to a method for extracting information from a data file comprising a first step where the data is transmitted to a device or "tokenizer" adapted to convert them during a first step in elementary units or “tokens", the elementary units being transmitted to a second dictionary search step and a third search step in grammars, characterized in that for the conversion step, a sliding window of given size is used, tokens are converted to data as they arrive in the tokenizer, and tokens are passed on as they are trained in the dictionaries search stage and then in the search stage. grammars.
- FIG. 1 a block diagram of the general operation of the processing chain of the field of document analysis
- FIG. 2 a block diagram of the treatments that can be carried out in a treatment chain
- FIG. 3 a block diagram of the method according to the invention making it possible to extract entities, relations between these entities, and to convert documents into digital data
- FIG. 4 an example of an automaton for converting a code (grammatical, inflectional, semantic or syntactic) in its entirety
- FIG. 5 an automaton for recognizing a sequence of integers representing the codes (grammatical, inflectional, semantic and syntactic) defined in FIG. 4,
- FIG. 6 a method of constructing an optimal sub-dictionary for a set of grammars from an original dictionary
- FIG. 7 a method of suppressing empty transitions in a transducer
- FIG. 8 an example of an automaton for illustrating the process of FIG. 7,
- FIG. 9 the output of the method of FIG. 7 applied to the automaton of FIG. 8,
- FIG. 12 the letter-type automaton of the inflected forms of FIG.
- FIG. 13 the steps of a method making it possible to calculate the successor nodes of a node of the automaton from an input
- FIG. 15 a method for detecting matches in an automaton
- FIG. 16 a method for updating potential matches, this method is used by the method of FIG. 15,
- FIG. 17 the management of the priority between two grammars G1 and G2 (G2 having priority over G1) via a method of scoring or selecting the "match" of highest priority when there is an overlap
- Figure 19 an example of application of the method according to the invention for a mail server.
- Fig. 1 shows a general processing chain for document analysis. In the majority of cases, this chain includes, for example:
- an indexing module block 1.4, for subsequent searches and uses.
- the process according to the invention is more particularly at the level of treatment block 1 .3.
- FIG. 2 examples of conventional treatments such as the document summary, 4 or the search for duplicate documents, 5 are illustrated.
- the method according to the invention has the particular function of carrying out the following treatments: • the extraction of entities 6: for example the extraction of people, facts, the gravity of a document, feelings, etc.
- the conversion 8 of a document into a set of digital data for further processing such as automatic classification, knowledge management, etc.
- the method according to the invention uses a sliding window of units, that is to say that it keeps only the last X "tokens" of the text (X being a rather large number since it determines the maximum number of units which can be rewritten by a grammar).
- the size of the sliding window is chosen at the beginning of the process.
- the tokenizer 3.1 converts the data as they are received before transmitting them as streams to the search step in a dictionary, 3.2.
- tokens are for example:
- alphanumeric a set of alphabetic characters (language dependent) and numbers
- the "tokenizer” 3.1 is provided, for example, with a processor adapted to convert a lowercase character uppercase and vise versa, since it depends on the language.
- Step 3.2 searching in dictionaries
- Dictionaries 3.2 consist of inputs composed in particular of the following elements:
- the dictionary 3.2 is, for example, a letter machine where each node has linguistic attributes and may be final or not. A node is final when the word is completely present in the dictionary.
- the "tokens" are transmitted to the dictionary search module 3.2 in the form of a stream, that is to say that they arrive one after the other and are treated in the same way one after the other by the module 3.2 .
- the module checks for each "token" whether or not it corresponds to a dictionary entry.
- the corresponding node of the automaton is an end node: in this case the dictionary entry is added in the "token” window, as well as the position of the "token” and the node of the automaton in a list so to identify a potential compound entity,
- the node is not an end node, in which case the position of the token is just an addition to identify a potential compound entity.
- a dictionary search option allows you to define that the lowercase characters in the dictionary can be either uppercase or lowercase characters in the text. However, an uppercase character in the dictionary can only match an uppercase character in the text. This option makes it possible to take into account poorly formatted documents such as, for example, text that is entirely in capital letters (we often find them in old databases).
- the method builds a subset of the dictionary during the compilation thereof.
- An example of implementation of steps is given in Figure 6.
- the process retrieves all the transitions of the grammars that refer to the dictionary (lemmas, grammatical tags ...) - All these transitions are compiled and we select all the dictionary entries that correspond to at least one of these transitions. Dictionary entries recognize at least one of the transactions.
- the process of compiling transitions into a single transition includes, for example, the following steps:
- the first step consists in extracting, from all the grammars used, all the grammatical, semantic, syntactic and inflectional codes contained in each of the transitions of the grammars, and
- Each set of codes is therefore made up of a set of integers ordered from the smallest to the largest and which is inserted into an automaton on an integer in order to determine whether or not this combination of code is present in the graphs.
- the grammars contain the codes ADV + Time and V, then we have the automaton that transforms the codes in integer of the figure 4.
- FIG. 6 illustrates the construction of an optimal sub-dictionary. It comprises for example the following steps: for each entry E of the dictionary D, 10, 12, one checks, 13, if E "matches" the automaton T representing the transitions or, 14, the automaton L containing the lemmas. If this is the case, we add, E, 15, in the sub-dictionary O. This process is repeated for all the entries in the dictionary D.
- the elements resulting from the dictionary search step are transmitted one by one and in the form of a stream to the grammar application step, an example of which is detailed below.
- Step 3.3 application of the grammars on the elements resulting from the step of searching the dictionaries.
- the method implements grammars that have been compiled.
- Figure 7 shows an example of a sequence of steps to remove empty transitions from a controller, 20.
- the automaton A 21
- the transitions T of the node N towards a node M. If the transition T is an empty transition and M is an end node, then we suppress T, 26, and we duplicate all the transitions that have M as starting nodes by putting N as the new starting node (we do not change the destination node). If the transition T is an empty transition and M is a non-final node, then we delete T and we duplicate, 27 all the transitions that have M as the destination node by putting N as the new destination node (we do not change the source node). We delete all the inaccessible nodes, 28, not accessible by the original node.
- Figures 8 and 9 show a replacement automaton on which is applied the method described in relation to Figure 7 and the result obtained.
- This modification of the PLC makes it possible to simplify the path since the empty transitions are always 'true' and must always be traversed.
- the second step consists in transforming the set of lemmas and the set of inflected forms, contained in the transitions of the automaton into two new automata on letters in order to accelerate the search for subsequent nodes.
- transitions from node 0 to 1 in Figure 10 contain a set of lemmas and inflected forms.
- a classical search should scan all these transitions to detect those that can match the input received.
- the second automaton contains only the inflected forms, ie "shape”, "inflected” and "test” as shown by the automaton of FIG. 12.
- a transition from one node to N other nodes is defined in particular by a set of three automata: • the lemma automaton,
- Each of these automata returns an integer. If there is an acknowledgment or "match", this integer is actually a table index in which is stored all the following nodes accessible by this state.
- Figure 13 shows different steps for calculating the successor nodes from an entry of the sliding window of "tokens".
- the method described in FIG. 13 comprises, for example, the steps described below.
- the goal is to calculate for a current node N, the set of new nodes reachable by an entry E of the sliding window.
- the entry E is an entry of the dictionary, 30, we search, 31, the nodes that can be reached by E in the automaton of the (grammatical, syntactic, semantic and inflectional) codes of the node N and, 32, in the N node lemma automaton We add all these nodes that can be reached to the list L.
- Local grammars break down, for example, in two ways: - extraction grammars only (represented by finite state machines) which are executed in parallel,
- Figure 14 illustrates the use of rewrite (or transformation) and retrieval grammars on token streams and dictionary entries.
- the extraction grammars 42i use the suite of tokens and entries of the dictionary 40 previously defined to detect a "match" in a PLC.
- This information can detect if a new token
- FIG. 15 An example of a sub-process for updating potential matches and detecting complete matches is depicted in Figure 15, which itself uses a sub-process to update the list of potential customers. whose steps are detailed in Figure 16.
- Figure 15 shows an example of steps to update potential matches and to detect complete matches.
- the updating method described in FIG. 16 notably comprises the following steps:
- N the list of nodes that can be reached
- the application of the dictionaries also makes it possible to detect compound entities consisting of several tokens. For this reason, the dictionary search module informs grammars that a position can no longer be reached and that it is now impossible to receive data at this position.
- the search module sends, for example, a message to the next module which in turn relays it to the sub module (when using sequential grammars).
- each element of the list of potential candidates P has a list of references to the transformations to be applied to the tokens.
- This implementation is used when applying an end-of-sentence recognition grammar.
- the biggest "match” can correspond to:
- grammars in parallel is allowed natively by the architecture. Indeed, it is enough to provide the flow of tokens coming out of a grammar to several other grammars at the same time to obtain a parallelism at the level of the extraction.
- the method implements priority rules or a statistical notation or "scoring" on the results of extraction grammars.
- the method consists in using the N grammars in a parallel or sequential manner to extract all the possible "matches” and keep only the "match” of highest priority when there is an intersection between two "matches”.
- FIG. 17 illustrates an example of management of the priority between two grammars G1, 70, and G2, 71, (G2 having priority over G1) via a scoring or selection method of the "match" of highest priority when there overlap.
- the method may also include a step including the function of removing the ambiguity "disambiguation". For this, we separate each extracting grammar into two parts:
- FIG. 19 shows an example of use of the method according to the invention in an e-mail server, whose contents of the incoming or incoming messages are analyzed, information is extracted from the message received by the method, 83, by executing the steps of the method detailed above, in order to determine the service of a company best able to process it (for example, marketing, accounting, technical) and transmit it, 84, to the adapted service to process it.
Abstract
Procédé pour extraire des informations à partir d'un fichier de données comprenant une première étape où les données sont transmises à un dispositif (3.1) ou « tokenizer » adapté à les convertir au cours d'une première étape en unités élémentaires ou « tokens », les unités élémentaires étant transmises à une deuxième étape de recherche des dictionnaires (3.2) et une troisième étape (3.3) de recherche dans des grammaires, caractérisé en ce que pour l'étape de conversion, on utilise une fenêtre glissante de taille donnée, on convertit en « tokens » les données au fur et à mesure de leur arrivée dans le tokenizer et on transmet les tokens au fur et à mesure de leur formation à l'étape de recherche dans des dictionnaires, (3.2), puis à l'étape de recherche des grammaires, (3.3).
Description
PROCEDE ET DISPOSITIF POUR EXTRAIRE DES INFORMATIONS ET LES TRANSFORMER EN DONNEES QUALITATIVES D'UN DOCUMENT TEXTUEL
L'invention concerne notamment un procédé d'extraction d'informations et de transformation en données qualitatives d'un document textuel.
Elle est utilisée notamment dans le domaine de l'analyse et de la compréhension de documents textuels.
Dans la description, on désigne sous le mot « token » la représentation d'une unité par un motif de bits et par « tokenizer » le dispositif adapté à effectuer cette conversion. De même, le terme « match » a pour sens l'« identification » ou la « reconnaissance ».
En présence de documents non structurés, par exemple de textes, le problème posé est d'extraire l'information pertinente tout en gérant la complexité et les ambiguïtés de la langue naturelle.
Aujourd'hui, les flux d'informations sont de plus en plus présents et leur analyse est nécessaire si l'on veut améliorer la productivité et la rapidité de lecture des textes.
Plusieurs méthodes d'extraction sont connues de l'art antérieur. Par exemple, la méthode utilisée par AT&T dont un exemple est accessible par le lien internet http://www.research.att.com/sw/tools/fsm/, la méthode développée par Xerox illustrée sur le lien Internet http://www.xrce.xerox.com/competencies/content- analysis/fst/home.en.html et la méthode utilisée par Intex/Unitex/Nooj illustrée sur le lien http://www-igm.univ-mlv.fr/~unitex/.
Toutes ces techniques ont toutefois comme inconvénients, de ne pas être suffisamment flexibles et performantes, car l'accent a été donné sur l'aspect linguistique et sur la puissance d'expression, plutôt que sur l'aspect industriel. Elles ne permettent pas de traiter des flux importants en temps raisonnable tout en conservant la qualité d'analyse.
L'objet de l'invention repose notamment sur une nouvelle approche : on choisit une taille de fenêtre en début de procédé, on traite les « tokens » un par un,
les tokens arrivant en flux, on applique ensuite la recherche dictionnaire et les grammaires recevant les « tokens » les uns à la suite des autres, dans le cas où elles sont utilisées de manière séquentielle.
L'objet de la présente invention concerne un procédé pour extraire des informations à partir d'un fichier de données comprenant une première étape où les données sont transmises à un dispositif ou « tokenizer » adapté à les convertir au cours d'une première étape en unités élémentaires ou « tokens », les unités élémentaires étant transmises à une deuxième étape de recherche des dictionnaires et une troisième étape de recherche dans des grammaires, caractérisé en ce que pour l'étape de conversion, on utilise une fenêtre glissante de taille donnée, on convertit en « tokens » les données au fur et à mesure de leur arrivée dans le tokenizer et on transmet les tokens au fur et à mesure de leur formation à l'étape de recherche dans des dictionnaires, puis à l'étape de recherche des grammaires.
L'objet de la présente invention offre notamment les avantages suivants :
• l'architecture permet d'éviter la duplication des données et d'utiliser plusieurs grammaires en parallèle ou en série sans résultat intermédiaire,
• du fait de la rapidité de la méthode mise en œuvre, on peut appliquer une multitude de grammaires complexes et donc extraire une grande quantité d'informations des documents sans dégrader les modèles linguistiques,
• l'architecture gère nativement la priorité des grammaires ce qui permet de définir des "modèles à échelles".
D'autres caractéristiques et avantages de la présente invention apparaîtront mieux à la lecture de la description qui suit d'un exemple donné à titre illustratif et nullement limitatif annexé des figures qui représentent :
• La figure 1 , un schéma fonctionnel du fonctionnement général de la chaîne de traitement du domaine de l'analyse de documents,
• La figure 2, un schéma fonctionnel des traitements qui peuvent être effectués dans une chaîne de traitement,
• La figure 3, un schéma fonctionnel du procédé selon l'invention permettant d'extraire des entités, des relations entre ces entités, et de convertir des documents en données numériques,
• La figure 4, un exemple d'automate de conversion d'un code (grammatical, flexionnel, sémantique ou syntaxique) en entier,
• La figure 5, un automate permettant de reconnaître une suite d'entiers représentant les codes (grammaticaux, flexionnels, sémantiques et syntaxiques) définis en figure 4,
• La figure 6, un procédé de construction d'un sous dictionnaire optimal pour un ensemble de grammaires à partir d'un dictionnaire d'origine,
• La figure 7, un procédé de suppression des transitions vide dans un transducteur,
« La figure 8, un exemple d'automate pour illustrer le procédé de la figure 7,
• La figure 9, la sortie du procédé de la figure 7 appliqué à l'automate de la figure 8,
• La figure 10, un ensemble de lemmes et de formes fléchies avant la séparation en deux automates,
• La figure 1 1 , l'automate sur lettre des lemmes de la figure 10,
• La figure 12, l'automate sur lettre des formes fléchies de la figure 10,
• La figure 13, les étapes d'un procédé permettant de calculer les nœuds successeurs d'un nœud de l'automate à partir d'une entrée,
• La figure 14, une utilisation des grammaires de réécriture et d'extraction,
• La figure 15, un procédé de détection des «matches» dans un automate,
• La figure 16, un procédé de mise à jour des «matches» potentiels, ce procédé est utilisé par le procédé de la figure 15,
• La figure 17, la gestion de la priorité entre deux grammaires G1 et G2 (G2 étant prioritaire sur G1 ) via une méthode de scoring ou de sélection du «matche» de plus haute priorité lorsqu'il y a chevauchement,
• La figure 18, la gestion de la désambiguïsation quand il y a un chevauchement entre une grammaire d'extraction et une grammaire de désambiguïsation, et
• La Figure 19 un exemple d'application du procédé selon l'invention pour un serveur de messagerie.
La figure 1 représente une chaîne de traitement général d'analyse de documents. Dans la majorité des cas, cette chaîne comporte, par exemple :
- un élément chargé de convertir n'importe quel format en entrée vers un format texte, bloc 1 .1 ,
- un module d'extraction de méta-données comme la date, l'auteur, la source, ...bloc 1.2,
- un module de traitement sur ces documents bloc 1.3,
- un module d'indexation, bloc 1.4, pour des recherches et des utilisations ultérieures.
Le procédé selon l'invention se situe plus particulièrement au niveau du bloc de traitement 1 .3.
Sur la figure 2, on a illustré des exemples de traitements classiques comme le résumé de documents, 4 ou la recherche de documents doublons, 5.
Le procédé selon l'invention a notamment pour fonction d'effectuer les traitements suivants :
• l'extraction d'entités 6 : par exemple l'extraction de personnes, de faits, de la gravité d'un document, des sentiments, etc.
• l'extraction de relations 7 entre les entités : par exemple, les relations entre les dates et les faits, entre les personnes et les faits, etc.
« la conversion 8 d'un document en un ensemble de données numériques pour un traitement ultérieur comme de la classification automatique, de la gestion de connaissance, etc.
Pour effectuer ces traitements, on utilise, par exemple, un ensemble de documents sous forme de fichiers ou de zones mémoire en ASCII ou Unicode. On applique ensuite le procédé de transformation d'un texte décrit à la figure 3 qui se décompose notamment en 3 grandes étapes :
1 ) le découpage d'un document source en un ensemble d'unités élémentaires ou « tokens », par un dispositif ou « Tokenizer», 3.1 , adapté à convertir un document en éléments,
2) la reconnaissance des unités simples et composées, 3.2, présentes dans les dictionnaires,
3) les applications de grammaires, 3.3.
Etape 3.1
Le procédé selon l'invention utilise une fenêtre glissante d'unités, c'est à dire qu'il conserve uniquement les X derniers « tokens » du texte (X étant un nombre assez grand puisqu'il détermine le nombre maximal d'unités qui pourront être réécrites par une grammaire). La taille de la fenêtre glissante est choisie au début du procédé.
Lors de l'étape de conversion des données en « tokens », le tokenizer 3.1 convertit les données au fur et à mesure qu'elles sont reçues avant de les transmettre sous forme de flux à l'étape de recherche dans un dictionnaire, 3.2.
Les types de « tokens » sont par exemple :
• espace : retour chariot, fabulation, ...
• séparateur : slash ; parenthèses ; crochets ; ...
• ponctuation : virgule, point-virgule, point d'interrogation, point d'exclamation,...
• nombre uniquement : de 0 à 9,
• alphanumérique : ensemble de caractères alphabétiques (dépendant de la langue) et des nombres,
• fin de document.
Le « tokenizer » 3.1 est pourvu, par exemple, d'un processeur adapté à convertir un caractère minuscule en majuscule et vise versa, puisque cela dépend de la langue.
En sortie de « tokenizer », 3.1 , les « tokens » sont transmis au fur et à mesure, à l'étape de recherche dans les dictionnaires, 3.2.
Etape 3.2, la recherche dans les dictionnaires
Les dictionnaires 3.2 sont constitués d'entrées composées notamment des éléments suivants :
• une forme fléchie,
• un lemme,
• une étiquette ou « tag » grammaticale,
• un ensemble de codes flexionnels,
• un ensemble de codes sémantiques,
• un ensemble de codes syntaxiques.
Le dictionnaire 3.2 est, par exemple, un automate sur lettre dont chaque nœud possède des attributs linguistiques et peut être final ou non. Un nœud est final lorsque le mot est complètement présent dans le dictionnaire.
Les « tokens » sont transmis au module de recherche des dictionnaires 3.2 sous forme de flux, c'est-à-dire qu'ils arrivent les uns après les autres et sont traités de la même façon les uns après les autres par le module 3.2. Le module vérifie pour chaque « token » s'il correspond ou non à une entrée dictionnaire.
Dans le cas où un « token » correspond à une entrée dictionnaire, alors le procédé traite les deux cas suivants :
• soit le nœud correspondant de l'automate est un nœud final: dans ce cas l'entrée dictionnaire est ajoutée dans la fenêtre de « token », ainsi que la position du « token » et du nœud de l'automate dans une liste afin d'identifier une potentielle entité composée,
• soit le nœud n'est pas un nœud final, dans ce cas, la position du « token » est juste un ajout pour identifier une potentielle entité composée.
Dans le deuxième cas, on ne sait pas encore si l'entrée est une entitée composée du dictionnaire ou pas, car elle correspond uniquement au début (par exemple on reçoit « pomme » qui correspond partiellement à l'entité composée « pomme de terre »). Si plus tard on reçoit la suite, « de terre », on a alors détecté l'entité composée, autrement on supprime l'entité potentielle puisqu'elle n'est pas présente.
Une option de la recherche dans les dictionnaires, permet de définir que les caractères en minuscules dans le dictionnaire peuvent correspondre à un caractère en majuscule ou en minuscule dans le texte. Par contre, un caractère en majuscule dans le dictionnaire ne peut correspondre qu'à un caractère en majuscule dans le texte. Cette option permet notamment de prendre en compte des documents mal formatés comme, par exemple, un texte entièrement en majuscules (on en rencontre souvent dans des bases de données anciennes).
Selon une variante de réalisation du procédé et dans le but d'optimiser les temps de recherche, le procédé construit un sous-ensemble du dictionnaire pendant la compilation de celui-ci. Un exemple de mise en œuvre d'étapes est donné à la figure 6.
Le procédé récupère toutes les transitions des grammaires qui font référence au dictionnaire (lemmes, tags grammaticaux ...)- Toutes ces transitions sont compilées et on sélectionne toutes les entrées dictionnaire qui correspondent au moins à l'une de ces transitions. Les entrées dictionnaire reconnaissent au moins l'une des transactions.
Par exemple, si une grammaire contient uniquement les transitions <ADV(adverbe)+Temps> et <V> comme faisant référence au dictionnaire, on va extraire uniquement les entrées du dictionnaire qui sont des verbes ou des adverbes avec Time ou temps comme code sémantique.
Le processus de compilation des transitions en une transition unique comprend par exemple les étapes suivantes :
• la première étape consiste à extraire, de toutes les grammaires utilisées, l'ensemble des codes grammaticaux, sémantiques, syntaxiques et flexionnels contenus dans chacune des transitions des grammaires, et
• lors d'une deuxième étape, on construit un automate sur lettre qui associe à chaque code un entier unique.
Chaque ensemble de codes est donc constitué d'un ensemble d'entiers que l'on ordonne du plus petit au plus grand et que l'on insère dans un automate sur entier afin de déterminer si oui ou non cette combinaison de code est présente dans les graphes.
Si, par exemple, les grammaires contiennent les codes ADV+Temps et V, alors on a l'automate qui transforme les codes en entier de la figure 4.
Cet automate convertit :
• la chaîne de caractères «ADV» en valeur entière : 1
• la chaîne de caractères «V» en valeur entière : 2
• la chaîne de caractères «Temps» en valeur entière : 3
Une fois l'automate convertissant les codes en entier construit, le deuxième automate représentant les transitions est construit (figure 5). Sur cet
automate, la transition ADV+Temps est représentée par le nœud 2 et la transition V par le nœud 3.
De façon similaire, un automate sur texte est construit pour l'ensemble des lemmes utilisés dans les grammaires. Les lemmes étant du texte, il est facile d'imaginer la conversion en automate sur texte.
De manière détaillée, le schéma de la figure 6 illustre la construction d'un sous dictionnaire optimal. Il comporte par exemple les étapes suivantes : pour chaque entrée E du dictionnaire D, 10, 12, on vérifie, 13, si E «matche» l'automate T représentant les transitions ou, 14, l'automate L contenant les lemmes. Si c'est le cas, on ajoute, E, 15, dans le sous dictionnaire O. Ce processus se répète pour toutes les entrées du dictionnaire D.
Par cet élagage de dictionnaire, on construit le dictionnaire le plus petit possible pour une application donnée, ce qui permet de gagner en performance sur la plupart des grammaires.
Les éléments issus de l'étape de recherche de dictionnaire sont transmis un par un et sous forme de flux à l'étape d'application des grammaires dont un exemple est détaillé ci-après.
Etape 3.3, application des grammaires sur les éléments issus de l'étape de recherche des dictionnaires.
Avantageusement, le procédé met en œuvre des grammaires qui ont été compilées.
Compilation des grammaires
Avant même de pouvoir utiliser les grammaires dans le procédé selon l'invention, on effectue une compilation qui peut se décomposer en deux étapes :
- La suppression des transitions vides,
- La décomposition des transitions en automate sur lettre.
La figure 7 décrit un exemple de suite d'étapes permettant de supprimer les transitions vides d'un automate, 20.
Pour tous les nœuds N de l'automate A, 21 , pour toutes les transitions T du nœud N vers un nœud M. Si la transition T est une transition vide et que M est un nœud final, alors on supprime T, 26, et on duplique, toutes les transitions qui ont M comme nœuds de départ en mettant N comme nouveau nœud de départ (on ne change pas le nœud de destination). Si la transition T est une transition vide et que M est un nœud non final, alors on supprime T et on duplique, 27 toutes les transitions qui ont M comme nœud de destination en mettant N comme nouveau nœud de destination (on ne change pas le nœud source). On supprime tous les nœuds inaccessibles, 28, non accessibles par le nœud d'origine.
Les figures 8 et 9 schématisent un automate de remplacement sur lequel est appliqué le procédé décrit en relation avec la figure 7 et le résultat obtenu. Cette modification de l'automate permet d'en simplifier le parcours puisque les transitions vides sont toujours 'vrai' et doivent toujours être parcourues. La deuxième étape consiste à transformer l'ensemble des lemmes et l'ensemble des formes fléchies, contenus dans les transitions de l'automate en deux nouveaux automates sur lettres afin d'accélérer les recherches de nœuds suivants.
Par exemple, les transitions du nœud 0 vers 1 dans la figure 10 contiennent un ensemble de lemmes et de formes fléchies.
Une recherche classique devrait donc balayer l'ensemble de ces transitions pour détecter celles qui peuvent correspondre à l'entrée reçue.
La transformation de cet ensemble de lemmes et de forme fléchie donne deux automates :
• le premier automate contient uniquement les lemmes, c'est à dire «lemme», «autre» et «test» comme le montre la figure 1 1 ,
• le deuxième automate contient uniquement les formes fléchies, c'est à dire «forme», «fléchi» et «test» comme le montre l'automate de la figure 12.
Dans le procédé selon l'invention, une transition d'un nœud vers N autres nœuds est définie notamment par un ensemble de trois automates :
• l'automate des lemmes,
• l'automate des formes fléchies,
• l'automate des codes grammaticaux, syntaxiques, sémantiques et flexionnels.
Chacun de ces automates renvoie un entier. S'il y a une reconnaissance ou « matche », cet entier est en fait un indice de tableau dans lequel est stocké l'ensemble des nœuds suivants accessibles par cet état.
La figure 13 représente différentes étapes permettant de calculer les nœuds successeurs à partir d'une entrée de la fenêtre glissante de « tokens ».
Le procédé décrit à la figure 13 comporte, par exemple, les étapes décrites ci-après. Lorsqu'un token arrive il y a deux possibilités :
1 ) le token est une entrée du dictionnaire, il est alors reconnu par le dictionnaire,
2) le token n'est pas reconnu par le dictionnaire.
Le but est de calculer pour un nœud actuel N, l'ensemble des nouveaux nœuds atteignables par une entrée E de la fenêtre glissante.
Si l'entrée E est une entrée du dictionnaire, 30, on recherche, 31 , les nœuds qui peuvent être atteints par E dans l'automate des codes (grammaticaux, syntaxiques, sémantiques et flexionnels) du nœud N et, 32, dans l'automate des lemmes du nœud N. On ajoute tous ces nœuds qui peuvent être atteints, à la liste L.
Si l'entrée E n'est pas une entrée du dictionnaire, on recherche, 33, les nœuds pouvant être atteints par E dans l'automate des formes fléchies du nœud N et on les ajoute dans la liste L.
Application des grammaires sur la fenêtre glissante de tokens
Les grammaires locales se décomposent, par exemple, de deux manières :
- les grammaires d'extraction uniquement (représentées par des automates à états finis) qui sont exécutées en parallèle,
- les grammaires de réécriture (représentées par des transducteurs) qui sont appliquées de manière séquentielle.
Le schéma 14 illustre l'utilisation des grammaires de réécriture (ou transformation) et d'extraction sur des flux de tokens et les entrées dictionnaires.
Grammaire d'extraction
Les grammaires d'extraction 42i utilisent la suite de tokens et d'entrées du dictionnaire 40 définie auparavant pour détecter un «matche» dans un automate.
Pour cela, on utilise une liste de candidats potentiels d'extraction notée
P qui contient les éléments suivants :
- l'indice du prochain nœud à tester,
- la position du prochain token attendu,
- la position d'origine de ce candidat.
Ces informations permettent de détecter si un nouveau token
«complète» un «matche» potentiel ou non en regardant si sa position est celle qui est attendue et s'il valide une ou plusieurs transitions.
Un exemple de sous-procédé permettant de mettre à jour les «matches» potentiels et de détecter les «matches» complet est décrit dans la figure 15, qui utilise lui-même un sous-procédé de mise à jour de la liste de clients potentiels dont les étapes sont détaillées à la figure 16.
La figure 15 représente un exemple d'étapes permettant de mettre à jour les «matches» potentiels et de détecter les «matches» complet.
Soit P la liste des candidats potentiels d'extraction et Q une liste vide, A un transducteur ou grammaire d'extraction et T une entité.
Pour tous les candidats potentiels d'extraction N de la liste P, on cherche les nœuds accessibles depuis le nœud P en utilisant l'entrée T par le
procédé de recherche des nœuds successeurs décrits à la figure 13. On ajoute ensuite tous les nœuds accessibles à la liste Q en utilisant le procédé de mise à jour de la liste décrit ci-dessous, 51 , 52, 53.
Une fois que la liste P est entièrement parcourue, on recherche les nœuds accessibles depuis le nœud original de la grammaire en utilisant l'entrée T par le procédé de recherche des nœuds successeurs, figure 13. On ajoute ensuite, 54, 55 tous les nœuds accessibles à la liste Q en utilisant le procédé de mise à jour de la liste décrit en relation à la figure 16. On ajoute les éléments de la liste Q dans la liste P.
Le procédé de mise à jour décrit à la figure 16 comprend notamment les étapes suivantes :
- soit P la liste des candidats potentiels d'extraction, N la liste des nœuds pouvant être atteints,
- pour tous les nœuds I identifiés comme étant accessibles par le procédé précédant, 61 , 62, si I est un nœud final (ou terminal) de la grammaire, 63, alors il s'agit d'une occurrence de la grammaire d'extraction (« matche »). Si I possède des transitions vers d'autres nœuds, 64, on ajoute I attendant la prochaine entrée à la liste P, 65.
L'application des dictionnaires permet en outre de détecter les entités composées constituées de plusieurs tokens. C'est pour cette raison que le module de recherche dans les dictionnaires informe les grammaires qu'une position ne peut plus être atteinte et qu'il est dorénavant impossible de recevoir des données à cette position. Le module de recherche envoie, par exemple, un message au module suivant qui le relaie à son tour au sous module (lorsqu'on utilise des grammaires séquentielles).
On a donc réussi à récupérer l'ensemble des «matches» possibles avec une approche permettant de rapidement rajouter/enlever des candidats potentiels.
La sélection du « matche » le plus long ou en utilisant un autre critère tel que la priorité d'une grammaire sur une autre nécessite uniquement un passage linéaire sur les « matches » identifiés.
Grammaire de réécriture
Le fonctionnement des grammaires de réécriture est le même que celui des grammaires d'extractions, excepté que chaque « matche » nécessite une modification partielle ou totale des tokens mis en jeu.
La méthode de fonctionnement, selon l'invention, pour ce type de grammaire consiste notamment à stocker le résultat directement dans la fenêtre de tokens. Chaque grammaire de réécriture a sa propre fenêtre qui sera transmise aux grammaires suivantes dans la chaîne de traitement, tel que schématisé à la figure 14.
II y a deux types d'exécution possible pour ces grammaires :
• la réécriture en conservant le plus grand «matche», c'est typiquement le cas d'une grammaire de reconnaissance des phrases qui ajoute un token à la fin de chaque phrase,
• l'identification de tous les «matches» pour le remplissage d'une base de données par exemple (conversion de texte en données numériques).
Identification de tous les «matches» pour la transformation en données structurées
Dans ce cas, chaque élément de la liste des candidats potentiels P est doté d'une liste de références vers les transformations à appliquer sur les tokens.
Nous pouvons ensuite appliquer une transformation par un automate sur lettres sur chaque variable pour revenir à des données qualitatives et ainsi transformer le texte en données structurées.
Réécriture en conservant le plus grand «matche»
Cette mise en œuvre est utilisée lors de l'application d'une grammaire de reconnaissance de fin de phrase.
Le plus grand « matche » peut correspondre :
- soit à une fin de phrase (on ajoute ainsi le token fin de phrase),
- soit à une désambiguïsation (par exemple «M. Exemple» ne correspond pas à une fin de phrase).
Le résultat de cette réécriture est utilisé par d'autres grammaires. Il est donc nécessaire d'être capable de faire des modifications sur un flux de tokens. Pour ce faire, nous décidons de stocker les résultats des «matches» dans la fenêtre de tokens, cela permet de :
- rendre cette réécriture transparente pour les grammaires suivantes,
- sélectionner le plus grand «matche» facilement: il suffit de regarder les remplacements existants et de conserver le plus grand.
Application des grammaires en parallèle
L'utilisation de grammaires en parallèle est permise nativement par l'architecture. En effet, il suffit de fournir le flux de tokens sortant d'une grammaire à plusieurs autres grammaires en même temps pour obtenir un parallélisme au niveau de l'extraction.
En prenant le cas de l'extraction d'entités nommées, nous appliquons une grammaire d'identification des phrases puis nous fournissons ce résultat aux différentes grammaires d'extraction (par exemple le lieu, la date, l'organisation ...). Le même parallélisme que celui décrit dans la figure 14 est ainsi obtenu.
Priorités des grammaires
Selon une variante de mise en œuvre de l'invention, le procédé met en œuvre des règles de priorité ou une notation statistique ou « scoring » sur les résultats des grammaires d'extraction.
Ainsi, si nous avons N grammaires, sachant que la grammaire Gi (i appartient à 1..N) est prioritaire sur les grammaires GL. G(i - 1 ), la méthode consiste à utiliser de manière parallèle ou séquentielle les N grammaires pour extraire l'ensemble des «matches» possibles et conserver uniquement le «matche» de priorité la plus élevée quand il y a une intersection entre deux «matches».
Suivant les applications, on va pouvoir sélectionner :
- le « matche » de priorité la plus élevée pour chaque phrase,
- un ou plusieurs « matches » par phrase sachant qu'il n'y a pas d'intersection entre eux,
- un score par phrase, le score étant défini par l'ensemble des «matches».
La figure 17 illustre un exemple de gestion de la priorité entre deux grammaires G1 , 70, et G2, 71 , (G2 étant prioritaire sur G1 ) via une méthode de scoring ou de sélection du «matche» de plus haute priorité lorsqu'il y a chevauchement.
Désambiguïsation
Le procédé peut aussi comporter une étape ayant notamment pour fonction de lever l'ambiguïté « désambiguïsation ». Pour cela, on sépare chaque grammaire d'extraction en deux parties :
- la grammaire d'extraction, 72, en tant que telle,
- une ou plusieurs grammaires permettant de lever une « ambiguïté », 73, et permettant de définir les «contre exemples».
Il suffit ensuite d'extraire simplement tous les «matches» de ces grammaires en parallèle et de supprimer les «matches» lorsqu'il y a une intersection entre une grammaire d'extraction et une grammaire pour lever l'ambiguïté, comme le montre le schéma de la figure 18.
La figure 19 représente un exemple d'utilisation du procédé selon l'invention dans un serveur de messagerie e-mail, dont le contenu des messages arrivant ou entrant est analysé, on extrait des informations du message reçu par le procédé, 83, en exécutant les étapes du procédé détaillées ci-avant, afin de déterminer le service d'une entreprise le plus apte à le traiter (par exemple, marketing, comptabilité, technique) et le transmet, 84, au service adapté pour le traiter.
Claims
REVENDICATIONS
1 - Procédé pour extraire des informations à partir d'un fichier de données comprenant une première étape où les données sont transmises à un dispositif (3.1 ) ou « tokenizer » adapté à les convertir au cours d'une première étape en unités élémentaires ou « tokens », les unités élémentaires étant transmises à une deuxième étape de recherche des dictionnaires (3.2) et une troisième étape (3.3) de recherche dans des grammaires, caractérisé en ce que pour l'étape de conversion, on utilise une fenêtre glissante de taille donnée, on convertit en « tokens » les données au fur et à mesure de leur arrivée dans le tokenizer et on transmet les tokens au fur et à mesure de leur formation à l'étape de recherche dans des dictionnaires, (3.2), puis à l'étape de recherche des grammaires, (3.3).
2 - Procédé selon la revendication 1 , caractérisé en ce qu'il comprend une étape de génération d'un sous-ensemble du dictionnaire comprenant les étapes suivantes :
• récupérer toutes les transitions des grammaires qui font référence au dictionnaire (lemmes, tags grammaticaux ...),
• compiler toutes les transitions, et
• sélectionner les entrées dictionnaire qui correspondent au moins à l'une de ces transitions.
3 - Procédé selon la revendication 2, caractérisé en ce que l'étape de compilation des transitions en une transition unique comprend les étapes suivantes :
• la première étape consiste à extraire, de toutes les grammaires utilisées, l'ensemble des codes grammaticaux, sémantiques, syntaxiques et flexionnels contenus dans chacune des transitions des grammaires, puis,
• la deuxième étape à construire un automate sur lettre qui associe à chaque code un entier unique.
4 - Procédé selon la revendication 1 , caractérisé en ce qu'il comporte une étape de construction d'un sous-dictionnaire optimal comprenant au moins les étapes suivantes : pour chaque entrée E d'un dictionnaire D, on vérifie si l'entrée E reconnaît au moins une des transitions ou au moins un lemme des grammaires qui font référence au dictionnaire.
5 - Procédé selon la revendication 1 , caractérisé en ce que l'on utilise une grammaire locale sur la fenêtre glissante des tokens, la grammaire comprenant une grammaire d'extraction et une grammaire de réécriture.
6 - Procédé selon la revendication 1 , caractérisé en ce qu'il utilise des grammaires compilées, une grammaire étant définie par un automate à états finis, l'étape de compilation comprenant :
• la suppression des transitions vides,
• la décomposition des transitions en automate sur lettre.
7 - Procédé selon la revendication 6, caractérisé en ce l'étape de suppression des transitions vides d'un automate A composé de plusieurs nœuds comprend les étapes suivantes : pour tous les nœuds N (21 ) de l'automate A, pour toutes les transitions T du nœud N vers un nœud M,
- si la transition T est une transition vide, et si M est un nœud final, alors on supprime la transition T et on duplique (26) toutes les transitions qui ont M comme nœud de départ en mettant N comme nouveau nœud de départ,
- si la transition T est une transition vide et que M est un nœud final, alors on supprime T on duplique (27) toutes les transitions qui ont M comme nœud de destination en mettant N comme nouveau nœud de destination.
8 - Procédé selon la revendication 7, caractérisé en ce qu'une transition d'un nœud vers N autres nœuds est définie par un ensemble de trois automates : l'automate des lemmes, l'automate des formes fléchies, l'automate des codes grammaticaux, syntaxiques, sémantiques et flexionnels.
9 - Procédé selon la revendication 7, caractérisé en ce que le calcul pour un nœud actuel de l'ensemble des nouveaux nœuds pouvant être atteint par une entrée E de la fenêtre glissante de « tokens » comporte les étapes suivantes :
• si l'entrée E est une entrée du dictionnaire (30), on recherche (31 ), les nœuds qui peuvent être atteints par E dans l'automate des codes (32) du nœud N et dans l'automate des lemmes du nœud N et on ajoute les nœuds pouvant être atteints à une liste L,
• si l'entrée E n 'est pas une entrée du dictionnaire, on recherche (33) les nœuds pouvant être atteints par E dans l'automate des formes fléchies du nœud N et on les ajoute à la liste L.
10 - Procédé selon la revendication 1 , caractérisé en ce qu'une grammaire d'extraction (42) utilise la suite de tokens et d'entrées du dictionnaire (40) pour détecter les « identifications » dans un automate, et en ce qu'on utilise une liste de candidats potentiels d'extraction P contenant les éléments suivants : l'indice du prochain nœud à tester, la position du prochain « token » attendu, la position d'origine de ce candidat.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP07704037A EP1977343A1 (fr) | 2006-01-20 | 2007-01-19 | Procede et dispositif pour extraire des informations et les transformer en donnees qualitatives d'un document textuel |
US12/161,600 US20100023318A1 (en) | 2006-01-20 | 2007-01-19 | Method and device for retrieving data and transforming same into qualitative data of a text-based document |
US13/226,225 US20110320493A1 (en) | 2006-01-20 | 2011-09-06 | Method and device for retrieving data and transforming same into qualitative data of a text-based document |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0600537 | 2006-01-20 | ||
FR0600537A FR2896603B1 (fr) | 2006-01-20 | 2006-01-20 | Procede et dispositif pour extraire des informations et les transformer en donnees qualitatives d'un document textuel |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/226,225 Continuation-In-Part US20110320493A1 (en) | 2006-01-20 | 2011-09-06 | Method and device for retrieving data and transforming same into qualitative data of a text-based document |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2007082948A1 true WO2007082948A1 (fr) | 2007-07-26 |
Family
ID=37311367
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/EP2007/050569 WO2007082948A1 (fr) | 2006-01-20 | 2007-01-19 | Procede et dispositif pour extraire des informations et les transformer en donnees qualitatives d'un document textuel |
Country Status (4)
Country | Link |
---|---|
US (1) | US20100023318A1 (fr) |
EP (1) | EP1977343A1 (fr) |
FR (1) | FR2896603B1 (fr) |
WO (1) | WO2007082948A1 (fr) |
Families Citing this family (185)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8645137B2 (en) | 2000-03-16 | 2014-02-04 | Apple Inc. | Fast, language-independent method for user authentication by voice |
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 |
US8074172B2 (en) | 2007-01-05 | 2011-12-06 | Apple Inc. | Method, system, and graphical user interface for providing word recommendations |
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 |
US8232973B2 (en) | 2008-01-09 | 2012-07-31 | Apple Inc. | Method, device, and graphical user interface providing word recommendations for text input |
US8996376B2 (en) | 2008-04-05 | 2015-03-31 | Apple Inc. | Intelligent text-to-speech conversion |
US10496753B2 (en) | 2010-01-18 | 2019-12-03 | Apple Inc. | Automatically adapting user interfaces for hands-free interaction |
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 |
US9959870B2 (en) | 2008-12-11 | 2018-05-01 | Apple Inc. | Speech recognition involving a mobile device |
US20100235780A1 (en) * | 2009-03-16 | 2010-09-16 | Westerman Wayne C | System and Method for Identifying Words Based on a Sequence of Keyboard Events |
US8423353B2 (en) * | 2009-03-25 | 2013-04-16 | Microsoft Corporation | Sharable distributed dictionary for applications |
US10241752B2 (en) | 2011-09-30 | 2019-03-26 | Apple Inc. | Interface for a virtual digital assistant |
US20120311585A1 (en) | 2011-06-03 | 2012-12-06 | Apple Inc. | Organizing task items that represent tasks to perform |
US9858925B2 (en) | 2009-06-05 | 2018-01-02 | Apple Inc. | Using context information to facilitate processing of commands in a virtual assistant |
US10241644B2 (en) | 2011-06-03 | 2019-03-26 | Apple Inc. | Actionable reminder entries |
US9431006B2 (en) | 2009-07-02 | 2016-08-30 | Apple Inc. | Methods and apparatuses for automatic speech recognition |
US8731901B2 (en) * | 2009-12-02 | 2014-05-20 | Content Savvy, Inc. | Context aware back-transliteration and translation of names and common phrases using web resources |
US10705794B2 (en) | 2010-01-18 | 2020-07-07 | Apple Inc. | Automatically adapting user interfaces for hands-free interaction |
US10553209B2 (en) | 2010-01-18 | 2020-02-04 | Apple Inc. | Systems and methods for hands-free notification summaries |
US10276170B2 (en) | 2010-01-18 | 2019-04-30 | Apple Inc. | Intelligent automated assistant |
US10679605B2 (en) | 2010-01-18 | 2020-06-09 | Apple Inc. | Hands-free list-reading by intelligent automated assistant |
US8682667B2 (en) | 2010-02-25 | 2014-03-25 | Apple Inc. | User profiling for selecting user specific voice input processing information |
US10762293B2 (en) | 2010-12-22 | 2020-09-01 | Apple Inc. | Using parts-of-speech tagging and named entity recognition for spelling correction |
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 |
US8994660B2 (en) | 2011-08-29 | 2015-03-31 | Apple Inc. | Text correction processing |
US10134385B2 (en) | 2012-03-02 | 2018-11-20 | Apple Inc. | Systems and methods for name pronunciation |
US9483461B2 (en) | 2012-03-06 | 2016-11-01 | Apple Inc. | Handling speech synthesis of content for multiple languages |
US9280610B2 (en) | 2012-05-14 | 2016-03-08 | Apple Inc. | Crowd sourcing information to fulfill user requests |
US10417037B2 (en) | 2012-05-15 | 2019-09-17 | Apple Inc. | Systems and methods for integrating third party services with a digital assistant |
US9721563B2 (en) | 2012-06-08 | 2017-08-01 | Apple Inc. | Name recognition system |
CN103514210B (zh) * | 2012-06-28 | 2017-06-27 | 华为技术有限公司 | 小文件处理方法及装置 |
US9495129B2 (en) | 2012-06-29 | 2016-11-15 | Apple Inc. | Device, method, and user interface for voice-activated navigation and browsing of a document |
US9576574B2 (en) | 2012-09-10 | 2017-02-21 | Apple Inc. | Context-sensitive handling of interruptions by intelligent digital assistant |
US9547647B2 (en) | 2012-09-19 | 2017-01-17 | Apple Inc. | Voice-based media searching |
IL224482B (en) * | 2013-01-29 | 2018-08-30 | Verint Systems Ltd | System and method for keyword spotting using representative dictionary |
US10199051B2 (en) | 2013-02-07 | 2019-02-05 | Apple Inc. | Voice trigger for a digital assistant |
US9368114B2 (en) | 2013-03-14 | 2016-06-14 | Apple Inc. | Context-sensitive handling of interruptions |
US10652394B2 (en) | 2013-03-14 | 2020-05-12 | Apple Inc. | System and method for processing voicemail |
WO2014144579A1 (fr) | 2013-03-15 | 2014-09-18 | Apple Inc. | Système et procédé pour mettre à jour un modèle de reconnaissance de parole adaptatif |
US10748529B1 (en) | 2013-03-15 | 2020-08-18 | Apple Inc. | Voice activated device for use with a voice-based digital assistant |
CN105027197B (zh) | 2013-03-15 | 2018-12-14 | 苹果公司 | 训练至少部分语音命令系统 |
WO2014197334A2 (fr) | 2013-06-07 | 2014-12-11 | Apple Inc. | Système et procédé destinés à une prononciation de mots spécifiée par l'utilisateur dans la synthèse et la reconnaissance de la parole |
US9582608B2 (en) | 2013-06-07 | 2017-02-28 | Apple Inc. | Unified ranking with entropy-weighted information for phrase-based semantic auto-completion |
WO2014197336A1 (fr) | 2013-06-07 | 2014-12-11 | Apple Inc. | Système et procédé pour détecter des erreurs dans des interactions avec un assistant numérique utilisant la voix |
WO2014197335A1 (fr) | 2013-06-08 | 2014-12-11 | Apple Inc. | Interprétation et action sur des commandes qui impliquent un partage d'informations avec des dispositifs distants |
US10176167B2 (en) | 2013-06-09 | 2019-01-08 | Apple Inc. | System and method for inferring user intent from speech inputs |
CN110442699A (zh) | 2013-06-09 | 2019-11-12 | 苹果公司 | 操作数字助理的方法、计算机可读介质、电子设备和系统 |
KR101809808B1 (ko) | 2013-06-13 | 2017-12-15 | 애플 인크. | 음성 명령에 의해 개시되는 긴급 전화를 걸기 위한 시스템 및 방법 |
DE112014003653B4 (de) | 2013-08-06 | 2024-04-18 | Apple Inc. | Automatisch aktivierende intelligente Antworten auf der Grundlage von Aktivitäten von entfernt angeordneten Vorrichtungen |
US10296160B2 (en) | 2013-12-06 | 2019-05-21 | Apple Inc. | Method for extracting salient dialog usage from live data |
US9620105B2 (en) | 2014-05-15 | 2017-04-11 | Apple Inc. | Analyzing audio input for efficient speech and music recognition |
US10592095B2 (en) | 2014-05-23 | 2020-03-17 | Apple Inc. | Instantaneous speaking of content on touch devices |
US9502031B2 (en) | 2014-05-27 | 2016-11-22 | Apple Inc. | Method for supporting dynamic grammars in WFST-based ASR |
EP3480811A1 (fr) | 2014-05-30 | 2019-05-08 | Apple Inc. | Procédé d'entrée à simple énoncé multi-commande |
US10289433B2 (en) | 2014-05-30 | 2019-05-14 | Apple Inc. | Domain specific language for encoding assistant dialog |
US9760559B2 (en) | 2014-05-30 | 2017-09-12 | Apple Inc. | Predictive text input |
US10078631B2 (en) | 2014-05-30 | 2018-09-18 | Apple Inc. | Entropy-guided text prediction using combined word and character n-gram language models |
US9633004B2 (en) | 2014-05-30 | 2017-04-25 | Apple Inc. | Better resolution when referencing to concepts |
US9430463B2 (en) | 2014-05-30 | 2016-08-30 | Apple Inc. | Exemplar-based natural language processing |
US9842101B2 (en) | 2014-05-30 | 2017-12-12 | Apple Inc. | Predictive conversion of language input |
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 |
US9785630B2 (en) | 2014-05-30 | 2017-10-10 | Apple Inc. | Text prediction using combined word N-gram and unigram language models |
US9734193B2 (en) | 2014-05-30 | 2017-08-15 | Apple Inc. | Determining domain salience ranking from ambiguous words in natural speech |
US10659851B2 (en) | 2014-06-30 | 2020-05-19 | Apple Inc. | Real-time digital assistant knowledge updates |
US9338493B2 (en) | 2014-06-30 | 2016-05-10 | Apple Inc. | Intelligent automated assistant for TV user interactions |
US10446141B2 (en) | 2014-08-28 | 2019-10-15 | Apple Inc. | Automatic speech recognition based on user feedback |
US9818400B2 (en) | 2014-09-11 | 2017-11-14 | Apple Inc. | Method and apparatus for discovering trending terms in speech requests |
US10789041B2 (en) | 2014-09-12 | 2020-09-29 | Apple Inc. | Dynamic thresholds for always listening speech trigger |
US9606986B2 (en) | 2014-09-29 | 2017-03-28 | Apple Inc. | Integrated word N-gram and class M-gram language models |
US10127911B2 (en) | 2014-09-30 | 2018-11-13 | Apple Inc. | Speaker identification and unsupervised speaker adaptation techniques |
US9886432B2 (en) | 2014-09-30 | 2018-02-06 | Apple Inc. | Parsimonious handling of word inflection via categorical stem + suffix N-gram language models |
US9668121B2 (en) | 2014-09-30 | 2017-05-30 | Apple Inc. | Social reminders |
US10074360B2 (en) | 2014-09-30 | 2018-09-11 | Apple Inc. | Providing an indication of the suitability of speech recognition |
US9646609B2 (en) | 2014-09-30 | 2017-05-09 | Apple Inc. | Caching apparatus for serving phonetic pronunciations |
US10552013B2 (en) | 2014-12-02 | 2020-02-04 | Apple Inc. | Data detection |
US9711141B2 (en) | 2014-12-09 | 2017-07-18 | Apple Inc. | Disambiguating heteronyms in speech synthesis |
US10152299B2 (en) | 2015-03-06 | 2018-12-11 | Apple Inc. | Reducing response latency of intelligent automated assistants |
US9865280B2 (en) | 2015-03-06 | 2018-01-09 | Apple Inc. | Structured dictation using intelligent automated assistants |
US9886953B2 (en) | 2015-03-08 | 2018-02-06 | Apple Inc. | Virtual assistant activation |
US10567477B2 (en) | 2015-03-08 | 2020-02-18 | Apple Inc. | Virtual assistant continuity |
US9721566B2 (en) | 2015-03-08 | 2017-08-01 | Apple Inc. | Competing devices responding to voice triggers |
US9899019B2 (en) | 2015-03-18 | 2018-02-20 | Apple Inc. | Systems and methods for structured stem and suffix language models |
US9842105B2 (en) | 2015-04-16 | 2017-12-12 | Apple Inc. | Parsimonious continuous-space phrase representations for natural language processing |
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 |
US10127220B2 (en) | 2015-06-04 | 2018-11-13 | Apple Inc. | Language identification from short strings |
US10101822B2 (en) | 2015-06-05 | 2018-10-16 | Apple Inc. | Language input correction |
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 |
US10255907B2 (en) | 2015-06-07 | 2019-04-09 | Apple Inc. | Automatic accent detection using acoustic models |
US10186254B2 (en) | 2015-06-07 | 2019-01-22 | Apple Inc. | Context-based endpoint detection |
US20160378747A1 (en) | 2015-06-29 | 2016-12-29 | Apple Inc. | Virtual assistant for media playback |
US10671428B2 (en) | 2015-09-08 | 2020-06-02 | Apple Inc. | Distributed personal assistant |
US10747498B2 (en) | 2015-09-08 | 2020-08-18 | Apple Inc. | Zero latency digital assistant |
US9697820B2 (en) | 2015-09-24 | 2017-07-04 | Apple Inc. | Unit-selection text-to-speech synthesis using concatenation-sensitive neural networks |
US11010550B2 (en) | 2015-09-29 | 2021-05-18 | Apple Inc. | Unified language modeling framework for word prediction, auto-completion and auto-correction |
US10366158B2 (en) | 2015-09-29 | 2019-07-30 | Apple Inc. | Efficient word encoding for recurrent neural network language models |
US11587559B2 (en) | 2015-09-30 | 2023-02-21 | Apple Inc. | Intelligent device identification |
IL242218B (en) | 2015-10-22 | 2020-11-30 | Verint Systems Ltd | A system and method for maintaining a dynamic dictionary |
IL242219B (en) | 2015-10-22 | 2020-11-30 | Verint Systems Ltd | System and method for keyword searching using both static and dynamic dictionaries |
US10691473B2 (en) | 2015-11-06 | 2020-06-23 | Apple Inc. | Intelligent automated assistant in a messaging environment |
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 |
US10446143B2 (en) | 2016-03-14 | 2019-10-15 | Apple Inc. | Identification of voice inputs providing credentials |
US9934775B2 (en) | 2016-05-26 | 2018-04-03 | Apple Inc. | Unit-selection text-to-speech synthesis based on predicted concatenation parameters |
US9972304B2 (en) | 2016-06-03 | 2018-05-15 | Apple Inc. | Privacy preserving distributed evaluation framework for embedded personalized systems |
US11227589B2 (en) | 2016-06-06 | 2022-01-18 | Apple Inc. | Intelligent list reading |
US10249300B2 (en) | 2016-06-06 | 2019-04-02 | Apple Inc. | Intelligent list reading |
US10049663B2 (en) | 2016-06-08 | 2018-08-14 | Apple, Inc. | Intelligent automated assistant for media exploration |
DK179309B1 (en) | 2016-06-09 | 2018-04-23 | Apple Inc | Intelligent automated assistant in a home environment |
US10067938B2 (en) | 2016-06-10 | 2018-09-04 | Apple Inc. | Multilingual word prediction |
US10509862B2 (en) | 2016-06-10 | 2019-12-17 | Apple Inc. | Dynamic phrase expansion of language input |
US10192552B2 (en) | 2016-06-10 | 2019-01-29 | Apple Inc. | Digital assistant providing whispered speech |
US10490187B2 (en) | 2016-06-10 | 2019-11-26 | Apple Inc. | Digital assistant providing automated status report |
US10586535B2 (en) | 2016-06-10 | 2020-03-10 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
DK201670540A1 (en) | 2016-06-11 | 2018-01-08 | Apple Inc | Application integration with a digital assistant |
DK179343B1 (en) | 2016-06-11 | 2018-05-14 | Apple Inc | Intelligent task discovery |
DK179415B1 (en) | 2016-06-11 | 2018-06-14 | Apple Inc | Intelligent device arbitration and control |
DK179049B1 (en) | 2016-06-11 | 2017-09-18 | Apple Inc | Data driven natural language event detection and classification |
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 |
US11281993B2 (en) | 2016-12-05 | 2022-03-22 | Apple Inc. | Model and ensemble compression for metric learning |
US10593346B2 (en) | 2016-12-22 | 2020-03-17 | Apple Inc. | Rank-reduced token representation for automatic speech recognition |
US11204787B2 (en) | 2017-01-09 | 2021-12-21 | Apple Inc. | Application integration with a digital assistant |
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 |
US10395654B2 (en) | 2017-05-11 | 2019-08-27 | Apple Inc. | Text normalization based on a data-driven learning network |
DK201770439A1 (en) | 2017-05-11 | 2018-12-13 | Apple Inc. | Offline personal assistant |
US10726832B2 (en) | 2017-05-11 | 2020-07-28 | Apple Inc. | Maintaining privacy of personal information |
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 |
DK201770428A1 (en) | 2017-05-12 | 2019-02-18 | Apple Inc. | LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT |
DK201770431A1 (en) | 2017-05-15 | 2018-12-20 | Apple Inc. | Optimizing dialogue policy decisions for digital assistants using implicit feedback |
DK201770432A1 (en) | 2017-05-15 | 2018-12-21 | Apple Inc. | Hierarchical belief states for digital assistants |
US10403278B2 (en) | 2017-05-16 | 2019-09-03 | Apple Inc. | Methods and systems for phonetic matching in digital assistant services |
US10311144B2 (en) | 2017-05-16 | 2019-06-04 | Apple Inc. | Emoji word sense disambiguation |
US20180336892A1 (en) | 2017-05-16 | 2018-11-22 | Apple Inc. | Detecting a trigger of a digital assistant |
DK179549B1 (en) | 2017-05-16 | 2019-02-12 | Apple Inc. | FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES |
US20180336275A1 (en) | 2017-05-16 | 2018-11-22 | Apple Inc. | Intelligent automated assistant for media exploration |
US10657328B2 (en) | 2017-06-02 | 2020-05-19 | Apple Inc. | Multi-task recurrent neural network architecture for efficient morphology handling in neural language modeling |
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 |
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 |
US10733375B2 (en) | 2018-01-31 | 2020-08-04 | Apple Inc. | Knowledge-based framework for improving natural language understanding |
US10789959B2 (en) | 2018-03-02 | 2020-09-29 | Apple Inc. | Training speaker recognition models for digital assistants |
US10592604B2 (en) | 2018-03-12 | 2020-03-17 | Apple Inc. | Inverse text normalization for automatic speech recognition |
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 |
US11386266B2 (en) | 2018-06-01 | 2022-07-12 | Apple Inc. | Text correction |
DK201870355A1 (en) | 2018-06-01 | 2019-12-16 | Apple Inc. | VIRTUAL ASSISTANT OPERATION IN MULTI-DEVICE ENVIRONMENTS |
DK180639B1 (en) | 2018-06-01 | 2021-11-04 | Apple Inc | DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT |
US10892996B2 (en) | 2018-06-01 | 2021-01-12 | Apple Inc. | Variable latency device coordination |
DK179822B1 (da) | 2018-06-01 | 2019-07-12 | Apple Inc. | Voice interaction at a primary device to access call functionality of a companion device |
US11076039B2 (en) | 2018-06-03 | 2021-07-27 | Apple Inc. | Accelerated task performance |
US11010561B2 (en) | 2018-09-27 | 2021-05-18 | Apple Inc. | Sentiment prediction from textual data |
US11462215B2 (en) | 2018-09-28 | 2022-10-04 | Apple Inc. | Multi-modal inputs for voice commands |
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 |
US11475898B2 (en) | 2018-10-26 | 2022-10-18 | Apple Inc. | Low-latency multi-speaker speech recognition |
US11638059B2 (en) | 2019-01-04 | 2023-04-25 | Apple Inc. | Content playback on multiple devices |
US11348573B2 (en) | 2019-03-18 | 2022-05-31 | Apple Inc. | Multimodality in digital assistant systems |
US11423908B2 (en) | 2019-05-06 | 2022-08-23 | Apple Inc. | Interpreting spoken requests |
US11475884B2 (en) | 2019-05-06 | 2022-10-18 | Apple Inc. | Reducing digital assistant latency when a language is incorrectly determined |
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 |
US11140099B2 (en) | 2019-05-21 | 2021-10-05 | Apple Inc. | Providing message response suggestions |
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 |
US11496600B2 (en) | 2019-05-31 | 2022-11-08 | Apple Inc. | Remote execution of machine-learned models |
US11360641B2 (en) | 2019-06-01 | 2022-06-14 | Apple Inc. | Increasing the relevance of new available information |
WO2021056255A1 (fr) | 2019-09-25 | 2021-04-01 | Apple Inc. | Détection de texte à l'aide d'estimateurs de géométrie globale |
US11727077B2 (en) | 2021-02-05 | 2023-08-15 | Microsoft Technology Licensing, Llc | Inferring information about a webpage based upon a uniform resource locator of the webpage |
US20220284190A1 (en) * | 2021-03-02 | 2022-09-08 | Microsoft Technology Licensing, Llc | Tokenizing alphanumeric text through use of finite state machines |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001029697A1 (fr) * | 1999-10-18 | 2001-04-26 | Sony Electronics, Inc. | Procede et systeme de reduction d'ambiguite lexicale |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5095432A (en) * | 1989-07-10 | 1992-03-10 | Harris Corporation | Data processing system implemented process and compiling technique for performing context-free parsing algorithm based on register vector grammar |
US6098034A (en) * | 1996-03-18 | 2000-08-01 | Expert Ease Development, Ltd. | Method for standardizing phrasing in a document |
US6035268A (en) * | 1996-08-22 | 2000-03-07 | Lernout & Hauspie Speech Products N.V. | Method and apparatus for breaking words in a stream of text |
US6076051A (en) * | 1997-03-07 | 2000-06-13 | Microsoft Corporation | Information retrieval utilizing semantic representation of text |
GB9727322D0 (en) * | 1997-12-29 | 1998-02-25 | Xerox Corp | Multilingual information retrieval |
US6101492A (en) * | 1998-07-02 | 2000-08-08 | Lucent Technologies Inc. | Methods and apparatus for information indexing and retrieval as well as query expansion using morpho-syntactic analysis |
US6915254B1 (en) * | 1998-07-30 | 2005-07-05 | A-Life Medical, Inc. | Automatically assigning medical codes using natural language processing |
US6665666B1 (en) * | 1999-10-26 | 2003-12-16 | International Business Machines Corporation | System, method and program product for answering questions using a search engine |
US6944588B2 (en) * | 2000-04-03 | 2005-09-13 | Xerox Corporation | Method and apparatus for factoring unambiguous finite state transducers |
US6952666B1 (en) * | 2000-07-20 | 2005-10-04 | Microsoft Corporation | Ranking parser for a natural language processing system |
US7165023B2 (en) * | 2000-12-15 | 2007-01-16 | Arizona Board Of Regents | Method for mining, mapping and managing organizational knowledge from text and conversation |
US6714939B2 (en) * | 2001-01-08 | 2004-03-30 | Softface, Inc. | Creation of structured data from plain text |
TWI256562B (en) * | 2002-05-03 | 2006-06-11 | Ind Tech Res Inst | Method for named-entity recognition and verification |
US7249019B2 (en) * | 2002-08-06 | 2007-07-24 | Sri International | Method and apparatus for providing an integrated speech recognition and natural language understanding for a dialog system |
CN1512406A (zh) * | 2002-12-30 | 2004-07-14 | 国际商业机器公司 | 面向用户的电子词典、电子词典系统及其生成方法 |
US20040162724A1 (en) * | 2003-02-11 | 2004-08-19 | Jeffrey Hill | Management of conversations |
US7444403B1 (en) * | 2003-11-25 | 2008-10-28 | Microsoft Corporation | Detecting sexually predatory content in an electronic communication |
GB2415518A (en) * | 2004-06-24 | 2005-12-28 | Sharp Kk | Method and apparatus for translation based on a repository of existing translations |
US8478589B2 (en) * | 2005-01-05 | 2013-07-02 | At&T Intellectual Property Ii, L.P. | Library of existing spoken dialog data for use in generating new natural language spoken dialog systems |
US8909713B2 (en) * | 2007-02-21 | 2014-12-09 | Vibes Media Llc | Method and system for filtering text messages |
US7991609B2 (en) * | 2007-02-28 | 2011-08-02 | Microsoft Corporation | Web-based proofing and usage guidance |
US8000956B2 (en) * | 2008-02-08 | 2011-08-16 | Xerox Corporation | Semantic compatibility checking for automatic correction and discovery of named entities |
-
2006
- 2006-01-20 FR FR0600537A patent/FR2896603B1/fr active Active
-
2007
- 2007-01-19 EP EP07704037A patent/EP1977343A1/fr not_active Withdrawn
- 2007-01-19 WO PCT/EP2007/050569 patent/WO2007082948A1/fr active Application Filing
- 2007-01-19 US US12/161,600 patent/US20100023318A1/en not_active Abandoned
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001029697A1 (fr) * | 1999-10-18 | 2001-04-26 | Sony Electronics, Inc. | Procede et systeme de reduction d'ambiguite lexicale |
Non-Patent Citations (3)
Title |
---|
ARNAUD ADANT: "Study and implementation of a weighted finine-state library - application to speech synthesis", 2000, TCTS LABS, FACULTÉ POLYTECHNIQUE DE MONS, XP002407725 * |
E. ROCHE: "Parsing with Finite-State Transducers", November 1996, MITSUBISHI ELECTRIC RESEARCH LABORATORIES, MERL TECHNICAL REPORT TR-96-30, CAMBRIDGE, MA, USA, XP002407727 * |
S. KANTHAK, H. NEY: "FSA: An Efficient and Flexible C++ Toolkit for Finite State Automata Using On-Demand Computation", July 2004, ACL, PROCEEDINGS OF THE 42ND ANNUAL MEETING OF THE ASSOCIATION FOR COMPUTATIONAL LINGUISTICS (ACL 2004), BARCELONA, SPAIN, XP002407726 * |
Also Published As
Publication number | Publication date |
---|---|
US20100023318A1 (en) | 2010-01-28 |
FR2896603A1 (fr) | 2007-07-27 |
FR2896603B1 (fr) | 2008-05-02 |
EP1977343A1 (fr) | 2008-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2007082948A1 (fr) | Procede et dispositif pour extraire des informations et les transformer en donnees qualitatives d'un document textuel | |
EP1364316A2 (fr) | Dispositif d'extraction d'informations d'un texte a base de connaissances | |
EP1836651B1 (fr) | Procédé de recherche, reconnaissance et localisation d'un terme dans l'encre, dispositif, programme d'ordinateur correspondants | |
FR2848688A1 (fr) | Identification de langue d'un texte | |
FR2694984A1 (fr) | Procédé d'identification, de récupération et de classement de documents. | |
FR2975201A1 (fr) | Analyse de texte utilisant des proprietes de listes linguistiques et non-linguistiques | |
CA2621451A1 (fr) | Reconnaissance des mots en utilisant des ontologies | |
FR2906049A1 (fr) | Procede, mis en oeuvre par ordinateur, de developpement d'une ontologie a partir d'un texte en langage naturel | |
FR2933793A1 (fr) | Procedes de codage et de decodage, par referencement, de valeurs dans un document structure, et systemes associes. | |
WO2004010324A2 (fr) | Systeme d'extraction d'informations dans un texte en langage naturel | |
CN110321549B (zh) | 基于序列化学习、关系挖掘、时序分析的新概念挖掘方法 | |
FR3038996A1 (fr) | Procede d'extraction de mots cles, dispositif et programme d'ordinateur correspondant | |
Beleveslis et al. | A hybrid method for sentiment analysis of election related tweets | |
Mulki et al. | Modern trends in Arabic sentiment analysis: A survey | |
EP3248111A1 (fr) | Procédé de lemmatisation, dispositif et programme correspondant | |
EP1285435B1 (fr) | Analyse syntaxique et semantique de commandes vocales | |
US20110320493A1 (en) | Method and device for retrieving data and transforming same into qualitative data of a text-based document | |
FR2880708A1 (fr) | Procede de recherche dans l'encre par conversion dynamique de requete. | |
WO2013117872A1 (fr) | Procede d'identification d'un ensemble de phrases d'un document numerique, procede de generation d'un document numerique, dispositif associe | |
FR2970795A1 (fr) | Procede de filtrage de synonymes. | |
FR3066630A1 (fr) | Procede d'analyse de textes sur un reseau de communication | |
Khan et al. | Knowledge Base Entity Lookup using Named Entity Recognition: a case study on YAGO | |
Turbin | Comparing Natural Language Models for Software Category Classification | |
CN114741508A (zh) | 概念挖掘方法及装置、电子设备及可读存储介质 | |
EP4300326A1 (fr) | Procédé d'appariement d'un ensemble à évaluer et d'une liste de référence, moteur d'appariement et programme d'ordinateur correspondants |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2007704037 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 4302/CHENP/2008 Country of ref document: IN |
|
WWE | Wipo information: entry into national phase |
Ref document number: 12161600 Country of ref document: US |