WO2004013766A1 - Générateur d'un corpus spécifique à un domaine - Google Patents

Générateur d'un corpus spécifique à un domaine Download PDF

Info

Publication number
WO2004013766A1
WO2004013766A1 PCT/EP2003/050315 EP0350315W WO2004013766A1 WO 2004013766 A1 WO2004013766 A1 WO 2004013766A1 EP 0350315 W EP0350315 W EP 0350315W WO 2004013766 A1 WO2004013766 A1 WO 2004013766A1
Authority
WO
WIPO (PCT)
Prior art keywords
rank
distance
word
words
sentence
Prior art date
Application number
PCT/EP2003/050315
Other languages
English (en)
Inventor
Camal Tazine
Célestin SEDOGBO
Original Assignee
Thales
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 Thales filed Critical Thales
Priority to AU2003262524A priority Critical patent/AU2003262524A1/en
Priority to EP03766404A priority patent/EP1540512A1/fr
Publication of WO2004013766A1 publication Critical patent/WO2004013766A1/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/253Grammatical analysis; Style critique

Definitions

  • the present invention belongs to the field of automatic natural language processing. More particularly, it addresses the problem of generating a set of texts specific to a specific field of application or corpus.
  • Specific corpora are necessary, in particular in computerized speech recognition systems to reach an acceptable recognition rate for the user. This is particularly necessary for systems with a large vocabulary (typically 20,000 words).
  • the generation of a specific corpus is a processing which still requires, in the state of the art, long progressive learning operations based on a selection of the texts of a corpus of a given field from the sentences entered by the 'user.
  • This method has the disadvantage of requiring long and costly user interactions.
  • the present invention overcomes this drawback by allowing the user to formulate a specification of the specific corpus in the form of a grammar, or set of syntax rules, specific to the application domain, the generation of the specific corpus being then automatic.
  • the invention thus significantly reduces the time required to collect the specific corpus.
  • the invention provides a product / program and a method of collecting a set of texts specific to a field of application from a set of texts not specific, characterized in that it comprises a command module by a grammar of the field of application.
  • Figure 1 Diagram showing the modules of the product / program according to the invention.
  • Figure 2 Diagram showing an example of generation of n-grams of a specific grammar of an application domain.
  • Figure 3 Diagram explaining an algorithm for calculating the distances between words according to the invention.
  • Figure 4 Example of calculating the distances between words according to the invention.
  • Figure 6 Graph showing the distribution of n-grams as a function of the distance to words of the grammar vocabulary.
  • Figure 1 shows the sequence of modules and treatments according to the invention. The definitions in the figure are as follows:
  • the general corpus 10 is a set of texts, commercially available, not specific to a field, which can contain several million texts.
  • n-gram [V C oRPUs] 13 is a set of sequences of ordered words extracted from the general corpus or n-tuples, said words being present in the vocabulary. The manner in which these n-grams are made up is described below.
  • the vocabulary of this corpus VCORPU S 1 1 is the set of words most frequently encountered in this corpus or set of monograms. Vocabulary is generally limited to 20,000 words.
  • the AEF generator 20 is a module which makes it possible to generate the n-grams of a grammar of the domain ⁇ from said grammar, in a manner also explained in the following description.
  • a set n- grams [Vc FG ( ⁇ )] 33 is generated from the grammar CFG ( ⁇ ) 30 in a manner explained in the following description.
  • the specific corpus of ⁇ , CORPUS ( ⁇ ) 40 is initialized with the n-grams V C F G ( ⁇ ) 33.
  • CORPUS ( ⁇ ) 40 we add the n-grams of VCORPUS 1 which fulfill the condition:
  • is the distance threshold which must be adjusted so as to optimize the constitution of CORPUS ( ⁇ ) 40 for specific recognition applications in the ⁇ domain.
  • n-grams of VCORPUS13 will be bi-grams or tri-grams.
  • a biogram is a set of two words which belong to the vocabulary V CORPUS I 1 with which are associated their probabilities of occurrence in the general corpus 10.
  • Tri-grams are sets of three words in the order in which they appear in general corpus 10 with which their probabilities of occurrence are associated in general corpus 10.
  • V C oRPus To generate n-grams [V C oRPus] one can use commercial tools generally designated under the generic name of tools for generating statistical language models. We can for example use the one developed by Carnegie Mellon University described by Philippe Clarkson and Ronald Rosenfeld in a University publication [Rosenfeld 95] Rosenfeld R., The CMU Statistical Language Modeling Toolkit and its use, ARPA Spoken Language Technology Workshop , Austin Texas (USA) pp 45-50, 1995. This article is incorporated by reference into the present description. Most statistical language models, and in particular the one described in the article under reference, correct the lowest occurrence probabilities so as to eliminate them. the bias which is classic in this type of statistical analysis. The least observed n-grams have a probability of occurrence biased downwards and the most observed a probability of occurrence biased upwards.
  • the grammar CFG ( ⁇ ) 30 is a context-independent grammar, which means that variations in the context do not modify the grammar itself. This grammar is, in the state of the art, created manually.
  • the n-grams [V C FG ( ⁇ )] 33 will typically be tri-grams or quadri-grams. They are created by the AEF generator 20, an example of which is described in FIG. 2. The generation of the n-grams of CFG ( ⁇ ) 30 takes place as follows,
  • GRAMMAR unit (alpha OR bravo) (join OR (go to) unit
  • V C FG (unit, alpha, bravo, join, go to, unit).
  • VCGF I 6
  • the uni-grams are: unit, alpha, bravo, join, go to, unity (we fall back on VCFG) - Bigrams are: alpha unit, bravo unit, alpha join, alpha go to, bravo join, bravo go to , join the unit, go to the unit, the alpha unit, the bravo unit.
  • the vocabulary VCF G ( ⁇ ) 31 is the set of uni-grams.
  • FIG. 3 illustrates the operation of the algorithm for calculating the distance between two words of a dictionary. In the application we use the three dictionaries 10, 12 and 32 of Figure 1.
  • the dico-VcoRP U s 12 and dico-VcFG ( ⁇ ) 32 dictionaries are dictionaries extracted from a general dictionary 10a which is a commercially available component.
  • This general dictionary provides information on inflected forms of words, such as pronunciation, the root of the word.
  • semantic information which can be represented in the form of a graph or conceptual vectors. This algorithm has three steps:
  • the editing distance returns the minimum number of editing operations necessary to transform the word a into word b.
  • These editing operations are generally the insertion of a letter, the deletion of a letter and the substitution of a letter.
  • D (a, b) be the function which returns the editing distance (Levenstein) which makes it possible to transform a into b.
  • D ⁇ m a x be the maximum distance between any two words.
  • a ⁇ VCFG ( ⁇ ) and be VCORPUS be the two words whose distance we want to measure.
  • Any distance calculation function between a and b can be used. It is however preferable that the function D is continuous in pieces and increasing as a function of DQ.
  • An example of the algorithm for calculating the distance between words is given below.
  • Vcorpus defined by VCORPUS ⁇ , "show”, "horse” ⁇
  • the shortest distance is that for the couple (display, show). It is indeed easier to insert than to delete: deletion leads to the loss of information, while insertion adds noise to the information.
  • semantic calculation is made from semantic dictionaries.
  • semantic dictionaries There are several forms of semantic dictionaries, two of which in particular: those based on graphs, and those based on vectors. On the example of colors, if the semantic dictionary is a graph, we can obtain the diagram of figure 5;
  • the distance between colors and red is 2.
  • the distance between red and green is 1.
  • the distances are integer values, which makes it easier to build analysis tables that will allow you to choose the threshold.
  • M (i, j) min M (i, j - 1) + D ( ⁇ , yj)
  • the distance between two n-grams uses the distance of
  • M 5 advance The distance between these two sentences is equal to the distance between the sequences M 1 M 2 M 3 M 4 and M 1 M2M 3 M 5 , given the unit distance matrix D (Mj, M j ) calculated previously .
  • the implementation of the invention is possible on a commercial computer, of any type provided with conventional interfaces for input and restitution of data (keyboard, mouse, screen, printer). Integration with a voice recognition system is possible on a common configuration.
  • the computer system also has a microphone, speakers, a specialized signal processing card and specialized voice recognition software.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Machine Translation (AREA)

Abstract

Le produit/programme et le procédé selon l'invention permettent de générer un corpus de textes spécifiques d'un domaine d'application à partir d'un corpus général et d'une grammaire du domaine. Ainsi un corpus spécifique peut être créé de manière automatique sans interaction avec l'utilisateur.

Description

Générateur d'un corpus spécifique à un domaine.
La présente invention appartient au domaine des traitements automatiques du langage naturel. Plus particulièrement, elle adresse le problème de la génération d'un ensemble de textes spécifique d'un domaine d'application ou corpus spécifique. Les corpus spécifiques sont nécessaires, notamment dans les systèmes informatiques de reconnaissance de la parole pour atteindre un taux de reconnaissance acceptable pour l'utilisateur. C'est particulièrement nécessaire pour les systèmes à large vocabulaire (typiquement 20 000 mots). La génération d'un corpus spécifique est un traitement qui nécessite encore dans l'état de l'art de longues opérations d'apprentissage progressif basées sur une sélection des textes d'un corpus d'un domaine donné à partir des phrases entrées par l'utilisateur.
Une méthode de sélection basée sur un modèle probabiliste a été divulguée notamment dans le brevet US 5,444,617.
Cette méthode présente l'inconvénient de nécessiter des interactions avec l'utilisateur longues et coûteuses.
La présente invention surmonte cet inconvénient en permettant à l'utilisateur de formuler une spécification du corpus spécifique sous la forme d'une grammaire, ou ensemble de règles de syntaxe, propre au domaine d'application, la génération du corpus spécifique du domaine étant ensuite automatique.
L'invention réduit ainsi de manière importante le temps nécessaire à la collecte du corpus spécifique. A cet effet, l'invention propose un produit/programme et un procédé de collecte d'un ensemble de textes spécifiques d'un domaine d'application à partir d'un ensemble de textes non spécifique, caractérisé en ce qu'il comprend un module de commande par une grammaire du domaine d'application. L'invention sera mieux comprise à l'examen des figures suivantes dont le contenu est explicité dans le corps de la description :
Figure 1 : Schéma montrant les modules du produit/programme selon l'invention. Figure 2 : Schéma montrant un exemple de génération des n- grammes d'une grammaire spécifique d'un domaine d'application.
Figure 3 : Schéma explicitant un algorithme de calcul des distances entre mots selon l'invention. Figure 4 : Exemple de calcul des distances entre mots selon l'invention.
Figure 5 : Exemple de calcul sémantique.
Figure 6 : Graphique montrant la répartition des n-grammes en fonction de la distance aux mots du vocabulaire de la grammaire. La figure 1 montre l'enchaînement des modules et des traitements selon l'invention. Les définitions de la figure sont les suivantes :
Le corpus général 10 est un ensemble de textes, disponible dans le commerce, non spécifique d'un domaine, qui peut comporter plusieurs millions de textes. n-gram[VCoRPUs] 13 est un ensemble de suites de mots ordonnés extraites du corpus général ou n-uplets, lesdits mots étant présents dans le vocabulaire. La manière dont ces n-grammes sont constitués est décrite plus loin. Le vocabulaire de ce corpus VCORPUS 1 1 est l'ensemble des mots les plus fréquemment rencontrés dans ce corpus ou ensemble des uni- grammes. On limite généralement le vocabulaire à 20 000 mots. Le générateur AEF 20 est un module qui permet de générer les n-grammes d'une grammaire du domaine Δ à partir de ladite grammaire, d'une manière également explicitée dans la suite de la description. Un ensemble n- grammes[VcFG( Δ)] 33 est généré à partir de la grammaire CFG(Δ) 30 d'une manière explicitée dans la suite de la description. Le corpus spécifique de Δ , CORPUS( Δ) 40 est initialisé avec les n-grammes VCFG( Δ ) 33. On rajoute par récurrence à CORPUS(Δ ) 40 les n-grammes de VCORPUS 1 qui remplissent la condition :
3 n-gram[VCFG( Δ)] : D (n-gram [VCORPUS], n-gram [VCFG( Δ )]) < δ .
Plusieurs fonctions de distance D sont utilisables comme expliqué dans la suite de la description, δ est le seuil de distance qui doit être réglé de manière à optimiser la constitution de CORPUS( Δ) 40 pour les applications de reconnaissance spécifiques du domaine Δ . Typiquement les n-grammes de VCORPUS13 seront des bi-grammes ou des tri-grammes. Un bi- gramme est un ensemble de deux mots qui appartiennent au vocabulaire VCORPUSI 1 auquel sont associées leurs probabilités d'occurrence dans le corpus général 10. Les tri-grammes sont des ensembles de trois mots dans l'ordre dans lequel ils se présentent dans le corpus général 10 auquel sont associées leurs probabilités d'occurrence dans le corpus général 10.
Pour générer n-grammes[VCoRPus] on peut utiliser des outils du commerce généralement désignés sous l'appellation générique d'outils de génération de modèle statistique de langage. On peut par exemple utiliser celui développé par l'Université Carnegie Mellon décrit par Philippe Clarkson et Ronald Rosenfeld dans une publication de l'Université [Rosenfeld 95] Rosenfeld R., The CMU Statistical Language Modeling Toolkit and its use, ARPA Spoken Language Technology Workshop, Austin Texas (USA) pp 45- 50, 1995. Cet article est incorporé par référence à la présente description. La plupart des modèles statistiques de langage, et notamment celui décrit dans l'article sous référence, corrigent les probabilités d'occurrences les plus faibles de manière à supprimer . le biais qui est classique dans ce type d'analyse statistique. Les n-grammes les moins observés ont en effet une probabilité d'occurrence biaisée vers le bas et les plus observés une probabilité d'occurrence biaisée vers le haut.
La grammaire CFG (Δ) 30 est une grammaire indépendante du contexte, ce qui veut dire que des variations du contexte ne modifient pas la grammaire elle-même. Cette grammaire est, dans l'état de l'art, constituée manuellement.
Les n-gram[VCFG(Δ )] 33 seront typiquement des tri-grammes ou des quadri-grammes. Ils sont créés par le générateur AEF 20 dont un exemple est décrit à la figure 2. La génération des n-grammes de CFG( Δ) 30 se déroule comme suit,
- création de l'automate déterministe correspondant (on ne tient pas compte des probabilités). (Sommet = état, Transition = symbole terminal) ;
- on sélectionne tous les n-arcs consécutifs appartenant à cet automate, soit la CFG suivante :
GRAMMAIRE = unité (alpha OU bravo) (rejoignez OU (allez vers) l'unité
(alpha OU bravo)
Le vocabulaire est donc VCFG = (unité, alpha, bravo, rejoignez, allez vers, l'unité). On remarque que | VCGF I = 6
On obtient l'automate fini déterministe représenté à la figure 2.
Les uni-grammes sont : unité, alpha, bravo, rejoignez, allez vers, l'unité (on retombe sur VCFG)- Les bigrammes sont : unité alpha, unité bravo, alpha rejoignez, alpha allez vers, bravo rejoignez, bravo allez vers, rejoignez l'unité, allez vers l'unité, l'unité alpha, l'unité bravo.
Il y en a 10, c'est-à-dire beaucoup moins que | VCGF 1 2 = 36 Les trigrammes sont : unité alpha rejoignez, unité alpha allez vers, unité bravo rejoignez, unité bravo allez vers, alpha rejoignez l'unité, alpha allez vers l'unité, bravo rejoignez l'unité, bravo allez vers l'unité, rejoignez l'unité alpha, rejoignez l'unité bravo, allez vers l'unité alpha, allez vers l'unité bravo. II y en a 12, c'est-à-dire beaucoup moins que I VCGF l 3 = 216
Bien qu'en théorie, le nombre de n-grammes puisse atteindre | VCGF I Π, il est n réalité bien plus petit que cela (quelques milliers de n- grammes pour une grammaire dont le vocabulaire atteint 200 mots).
Le vocabulaire VCFG( Δ ) 31 est l'ensemble des uni-grammes. La figure 3 illustre le fonctionnement de l'algorithme de calcul de distance entre deux mots d'un dictionnaire. Dans l'application on utilise les trois dictionnaires 10, 12 et 32 de la figure 1.
Les dictionnaires dico-VcoRPUs 12 et dico-VcFG(Δ) 32 sont des dictionnaires extraits d'un dictionnaire général 10a qui est un composant que l'on trouve dans le commerce.
Ce dictionnaire général apporte des informations aux formes fléchies des mots, telle que la prononciation, la racine du mot. On peut aussi y ajouter des informations sémantiques qui peuvent être représentées sous forme de graphe ou de vecteurs conceptuels. Cet algorithme comprend trois étapes :
- Le calcul de distance lettre à lettre, qui utilise l'algorithme de distance d'édition et les paramètres ins-del-sub ;
- Le calcul de distance entre deux mots quelconques, qui va pondérer suivant la longueur du mot transformé ; - Le calcul de distance entre deux mots du dictionnaire qui va prendre en compte le type et le sens des mots. Les notations sont les suivantes : I a I nombre de lettres de a ε mot vide
Div opérateur de division entière
Une des méthodes de calcul des distances entre deux mots est décrite dans les ouvrages accessibles à l'homme de métier sous le nom de distance d'édition (ou de Levenstein ou de Wagner-Fisher) [Wagner & Fisher, 1974] Wagner, R. A. & Fisher, M.J. (1974). The string-to-st ng correction problem. Journal of the Association for Computing Machiner/, 21 (1 ), 168-173. [Amengual & Vidal, 1998] Amengual, J.-C. & Vidal, E. Efficient error-correcting viterbi parsing. IEEE Transactions on Pattern Analysis and Machine Intelligence, 20(10), 1109-1116, 1998. Ces articles sont incorporés par référence dans la présente demande.
Etant donnés deux mots a et b, la distance d'édition renvoie le nombre minimal d'opérations d'édition nécessaires pour transformer le mot a en mot b. Ces opérations d'édition sont en général l'insertion d'une lettre, la suppression d'une lettre et la substitution d'une lettre. On peut affecter un poids à chacune de ces opérations. Dans ce cas, la distance d'édition renverra le poids total minimal qui transforme le mot a en mot b.
Soit D (a,b) la fonction qui renvoie la distance d'édition (Levenstein) qui permet de transformer a en b. D|_ admet pour paramètres les entiers piπs, Pdei, Psub (les distances unitaires pour chaque insertion/suppression/substitution). Le choix de ces paramètres est arbitraire dans un premier temps, c'est en fonction des résultats que l'on pourra les affiner, mais par exemple on peut prendre : p eι = 2, pins = 3 et ρSUb = 4.
Pour notre application, la distance DQ entre deux mots quelconques doit mettre en évidence la dénaturation du mot d'origine : l'importance de la transformation effectuée peut se mesurer par rapport à la taille du mot d'origine. Etant donné un mot a de longueur n, si k opérations d'édition ont été effectuées, alors la dénaturation du mot d'origine peut s'estimer à k/n. Dans le cas particulier où a est vide (a = ε ) on effectue le calcul comme si la longueur du mot vide était de 1. Les vocabulaires VCFG et VCORPUS étant finis, la longueur du mot le plus long est donnée par la formule :
DQ (a,b) = ( K*DL (a,b) ) div I a I si a ! ≠ 0 et DQ (a,b) = Dι_ (ε ,b) si a ! = 0 où
K = max ( { I a I / a Σ VCFG } , { I b I / b Σ VCORPUS } )
Il est maintenant souhaitable pour calculer la distance D entre deux mots du dictionnaire de corriger la distance d'édition d'un facteur tenant compte de leur distance étymologique et sémantique. Pour ne pas dégrader la vitesse d'exécution du traitement, on choisit avantageusement un indicateur simplifié de cette proximité constitué comme il est dit ci-dessous :
Soit Dαmax la distance maxi entre deux mots quelconques Soient a <≡ VCFG ( Δ ) et b e VCORPUS les deux mots dont on veut mesurer la distance.
D (a,b) = Do + DQ (a,b)
Si a et b ont la même racine, Do = 0
Si a et b ont le même sens, D0 = DQmax Si a et b appartiennent au vocabulaire de la CFG, D0 = 2* DQmax
Sinon, D0 = 3* DQmax
Toute fonction de calcul de distance entre a et b est utilisable. Il est cependant préférable que la fonction D soit continue par morceaux et croissante en fonction de DQ. On donne ci-dessous un exemple d'exécution de l'algorithme de calcul de la distance entre mots.
Prenons Pins=Pdei=Psub=1 Soit VCFG défini par : VCFG = {ε, « unité », « afficher » }
Soit Vcorpus défini par VCORPUS = { ε, « montrer », « cheval »}
K=8 longueur du mot le plus long : « afficher » Donc l'expression de la distance entre deux mots du dictionnaire devient
DQ(a,b) = 8*DL(a,b) div | a | si a !=0
8*DL(ε, b) sinon
DQmax = 8*1 = 8
D(ε, ε)=0
D(ε, « montrer »)= Do = 24
Do,(ε, « unité »)= 7
D(ε, « unité »)= 24+7=31
D(ε, « cheval »)= D0 = 24
DQ(S, « cheval »)= 6
D(ε, « cheval »)= 24+6=30
D(« unité », ε)= Do = 24
DQ(« unité », ε)= (5*8) div 5 = 8 D(« unité »,s)=24+8=32
D(« unité », « montrer »)= Do = 3*DQmax = 24
DQ (« unité », «montrer ») = (6*8) div 5 = 9 car (« unité »-> « munité »- « monité »- « monté »-> « montré »-> « montre » -> « montrer » = 6)
D(« unité », « montrer »)= 24+9 = 33
D(« unité », « cheval »)=
Do = 3*DQmax = 24
DQ (« unité », «cheval ») = (6*8) div 5 = 9 car (« unité »-> « cnité »- « chité »- « cheté »-> « chevé »-> « cheva » -> « cheval » = 6 ) δ
D (« unité », « cheval »)= 24+9 = 33
D(« afficher », ε) = Do = 24 DQ(« afficher »,ε)= (8*8) div 8 = 8
D(« afficher »,ε) =24+8= 32
D(« afficher », « montrer »)=
Do = DQmax = 8 DQ(« afficher », « montrer »)= (6*8) div 8 = 6
Car(«afficher»- «mfficher »->«moficher »->«monicher »-> «montcher»-> «montrher»- «montrer»=6) D(« afficher », « montrer »)= 8 + 6 = 14
D(« afficher », « cheval »)=
Do = 3*DQmax = 24
DQ (« afficher », «cheval ») = (7*8) div 8 = 7 car (« afficher »- « fficher »- « ficher »-> « icher »- « cher »- « chev » -> « cheva »- « cheval » = 7 ) D (« afficher », « cheval »)= 24+7 = 31
Le tableau des distances unitaires résultant des calculs est donné figure 4.
On remarque que la distance la plus faible (hormis les mots vides) est celui pour le couple (afficher, montrer). Il est en effet plus facile d'insérer que de supprimer : la suppression conduit à la perte d'information, tandis que l'insertion ajoute du bruit dans l'information.
Dans une variante de réalisation, Il est possible d'avoir un découpage plus fin au niveau du sens en considérant plusieurs niveaux de sémantiques différentes (par le biais d'une classification). Par exemple : couleur, rouge, et vert sont voisins, mais rouge et vert sont plus proches entre eux qu'avec couleur.
Le calcul sémantique est fait à partir de dictionnaires sémantiques. Il existe plusieurs formes de dictionnaires sémantiques dont deux en particulier : ceux à base de graphes, et ceux à base de vecteurs. Sur l'exemple des couleurs, si le dictionnaire sémantique est un graphe, on peut obtenir le schéma de la figure 5 ;
Pour calculer la distance, on peut utiliser la convention suivante :
- deux frères ont une distance de 1 - un père et un fils ont une distance de 2
Par exemple, la distance entre couleurs et rouge est de 2. Celle entre rouge et vert est de 1.
Par contre la distance entre rouge et chien est de 5, comme illustré figure 5b. Lorsqu'il s'agit de vecteurs conceptuels, la distance se résume à un produit scalaire. Dans la mesure où ce qui nous intéresse, ce sont les distances très proches entre les mots (à partir d'une certaine distance, on n'est plus intéressé par la valeur). Par conséquent, dans l'invention on considérera la distance sémantique comme étant binaire (deux mots sont proches sémantiquement ou ne le sont pas).
Les distances sont des valeurs entières, ce qui permet de constituer plus facilement des tableaux d'analyse qui permettront de choisir le seuil.
A l'aide de cet algorithme de calcul des distances entre mots (ou distances unitaires), il est possible de calculer D (a,b) pour tout mot a et tout mot b appartenant respectivement à VCORPUS et à VCFG( Δ )-
II s'agit maintenant de déduire de cette première matrice une deuxième matrice des distances entre les n-grammes (x, )!1 de VCORPUS et les m-grammes (y^"1 de VCFG( Δ )- On utilisera avantageusement pour ce faire un algorithme connu de l'homme du métier décrit dans l'ouvrage [Chodorowski, 2001] Chodorowski, J. Inférence grammaticale pour l'apprentissage de la syntaxe en reconnaissance de la parole et dialogue oral. Thèse, Université de Rennes I, 2001 , page 50 qui est incorporé par référence dans la présente description. On cherche à calculer l'élément M (n, m) de cette deuxième matrice qui est la distance entre le n-gramme (x;)" et le m-gramme (y^)"1 .
L'algorithme décrit dans la référence ci-dessus calcule M (n, m) par une récurrence de programmation dynamique définie de la manière suivante :
M (0,0) = 0
M (i,0) = Jj^ D (Xk, ε) pour 1 < i < m, xk étant le kième mot du i-gram (i,0) = ∑;;:; D (5 , yk) pour 1< j < n
M (i - 1 , j) + D (Xi, ε )
M (i, j) = min M (i, j - 1) + D (ε , yj)
Figure imgf000012_0001
La distance entre deux n-grammes utilise la distance de
Levenstein entre deux séquences, mais cette fois-ci au niveau phrase. Le travail est exactement le même : la distance entre deux mots quelconques étant connue, on applique cette mesure de distance comme si les mots étaient des simples symboles.
Exemple :
Distance entre « unité alpha allez vers » et « unité alpha avancez vers » . Mι=unité
M2=alpha
M3=allez
M =vers
M5=avancez La distance entre ces deux phrases est égale à la distance entre les séquences M1M2M3M4 et M1M2M3M5, étant donnée la matrice de distance unitaire D(Mj,Mj) calculée précédemment.
Le nombre de calculs pour chaque élément M (n, m) est donc de l'ordre de n x m, soit de 12 dans le cas d'un mode privilégié de réalisation où n = 3 et m = 4. On notera que les calculs de rang inférieur dans la récurrence permettent de remplir d'autres cases de la matrice des distances entre n-grammes et m-grammes.
Cependant bien entendu, d'autres algorithmes de calcul des distances entre n-grammes et m-grammes pourront être choisis. Le seuil δ de distance au-dessous duquel les n-grammes du corpus général dont la distance à des m-grammes de VCFG( Δ) sont rajoutés à CORPUS (Δ), celui-ci étant initialisé au départ par VCFG( Δ)-
L'analyse numérique de la matrice des M (n, m) permet de tracer un graphe des fréquences de n-grammes en fonction de la distance aux mots et VCFG( Δ) (figure 6).
Quelques itérations seront utiles pour régler δ . La mise en œuvre de l'invention est possible sur un ordinateur du commerce, de type quelconque pourvu des interfaces classiques d'entrée et de restitution de données (clavier, souris, écran, imprimante). L'intégration avec un système de reconnaissance vocale est possible sur une configuration commune. Dans ce cas, le système informatique dispose en outre d'un microphone, de haut-parleurs, d'une carte spécialisée de traitement de signal et d'un logiciel spécialisé de reconnaissance vocale.

Claims

REVENDICATIONS
1. Produit/programme de collecte d'un ensemble de textes (40) spécifique d'un domaine d'application ( Δ) à partir d'un ensemble de textes non spécifique (10), caractérisé en ce qu'il comprend un module de commande par une grammaire (30) du domaine d'application (Δ).
2. Produit/programme selon la revendication 1, caractérisé en ce que le module de commande comporte un module de mesure de distance D entre des phrases de l'ensemble de textes non spécifique et des phrases de la grammaire du domaine d'application.
3. Produit/programme selon la revendication 2, caractérisé en ce que le module de commande comporte une valeur ajustable δ de seuil de distance entre phrases.
4. Produit/programme selon l'une des revendications 2 ou 3, caractérisé en ce que le module de mesure de distance calcule la distance D entre une phrase de n mots et une phrase de m mots de manière récurrente à partir d'une mesure de la distance entre les mots.
5. Produit/programme selon la revendication 4, caractérisé en ce que pour i et j, variant respectivement de 1 à n et 1 à m, un élément de rang (i, j) dans la récurrence est le minimum de la somme de l'élément de rang (i - 1, j) et de la distance entre le mot de rang i de la première phrase et le mot « espace », de la somme de l'élément de rang (i, j - 1) et de la distance entre le mot « espace » et le mot de rang j de la deuxième phrase et de la somme de l'élément de rang (i - 1 , j - 1 ) et de la distance entre le mot de rang i de la première phrase et le mot de rang j de la deuxième phrase.
6. Produit/programme selon la revendication 4, caractérisé en ce que, pour i et j variant respectivement de 1 à n et de 1 à m, des éléments de rang (i, o) ou (o, j) dans la récurrence sont chacun la somme pour k variant de 1 à i des distances entre le mot de rang k et le mot « espace ».
7. Produit/programme selon la revendication 4, caractérisé en ce que, l'élément de rang (o, o) dans la récurrence est égal à o.
8. Produit/programme selon l'une des revendications 4 à 7, caractérisé en ce que la distance entre mots est une fonction décroissante de leur proximité étymologique et sémantique et croissante d'une mesure du coût de transformation lettre à lettre d'un des deux mots en l'autre.
9. Produit/programme selon l'une des revendications 1 à 8, caractérisé en ce que les n-grammes de la grammaire spécifique du domaine d'application (33) sont générés par un module (20) où l'utilisateur paramètre un automate à états finis déterministe.
10. Système de reconnaissance de la parole comprenant un produit/programme selon l'une des revendications 1 à 9.
1 1. Système de traitement de l'information comprenant un module 0 selon l'une des revendications 1 à 10.
12. Procédé de collecte d'un ensemble de textes spécifique d'un domaine d'application Δ à partir d'un ensemble de textes non spécifique (10), caractérisé en ce que la collecte est commandée par une grammaire du domaine d'application D (30). 5
13. Procédé selon la revendication 12, caractérisé en ce que la commande comporte une mesure de distance D entre des phrases de l'ensemble de textes non spécifique et des phrases de la grammaire du domaine d'application.
14. Procédé selon la revendication 13, caractérisé en ce que la O commande comporte une valeur ajustable δ du seuil de distance entre phrases.
15. Procédé selon l'une des revendications 13 ou 14, caractérisé en ce que la mesure de distance entre une phrase de n mots et une phrase de m mots se calcule de manière récurrente à partir d'une mesure de la 5 distance entre les mots.
16. Procédé selon la revendication 15, caractérisé en ce que pour i et j, variant respectivement de 1 à n et 1 à m, un élément de rang (i, j) dans la récurrence est le minimum de la somme de l'élément de rang (i - 1 , j) et de la distance entre le mot de rang i de la première phrase et le mot « espace », 0 de la somme de l'élément de rang (i, j - 1) et de la distance entre le mot « espace » et le mot de rang j de la deuxième phrase et de la somme de l'élément de rang (i - 1 , j - 1) et de la distance entre le mot de rang i de la première phrase et le mot de rang j de la deuxième phrase.
17. Procédé selon la revendication 15, caractérisé en ce que, pour 5 i et j variant respectivement de 1 à n et de 1 à m des éléments de rang (i, o) ou (o, j) dans la récurrence sont chacun la somme pour k variant de 1 à i des distances entre le mot de rang k et le mot « espace ».
18. Procédé selon la revendication 15, caractérisé en ce que, l'élément de rang (o, o) dans la récurrence est égal à o.
19. Procédé selon l'une des revendications 15 à 18, caractérisé en ce que la distance entre mots est une fonction décroissante de leur proximité étymologique et sémantique et croissante d'une mesure du coût de transformation lettre à lettre d'un des deux mots en l'autre.
20. Procédé selon l'une des revendications 12 à 19, caractérisé en ce que les n-grammes de la grammaire spécifique du domaine d'application
(33) sont générés par un module (20) où l'utilisateur paramètre un automate à états finis déterministe.
21. Procédé de reconnaissance de la parole mettant en œuvre un procédé selon l'une des revendications 12 à 20.
22. Procédé de traitement de l'information mettant en œuvre un procédé selon l'une des revendications 12 à 21.
PCT/EP2003/050315 2002-07-26 2003-07-16 Générateur d'un corpus spécifique à un domaine WO2004013766A1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
AU2003262524A AU2003262524A1 (en) 2002-07-26 2003-07-16 Generator of a corpus specific to a field
EP03766404A EP1540512A1 (fr) 2002-07-26 2003-07-16 Generateur d'un corpus specifique a un domaine

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0209531 2002-07-26
FR0209531A FR2842923B1 (fr) 2002-07-26 2002-07-26 Generateur d'un corpus specifique a un domaine

Publications (1)

Publication Number Publication Date
WO2004013766A1 true WO2004013766A1 (fr) 2004-02-12

Family

ID=30011528

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2003/050315 WO2004013766A1 (fr) 2002-07-26 2003-07-16 Générateur d'un corpus spécifique à un domaine

Country Status (4)

Country Link
EP (1) EP1540512A1 (fr)
AU (1) AU2003262524A1 (fr)
FR (1) FR2842923B1 (fr)
WO (1) WO2004013766A1 (fr)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5444617A (en) * 1992-12-17 1995-08-22 International Business Machines Corporation Method and apparatus for adaptively generating field of application dependent language models for use in intelligent systems
US5995918A (en) * 1997-09-17 1999-11-30 Unisys Corporation System and method for creating a language grammar using a spreadsheet or table interface
EP1100075A1 (fr) * 1999-11-11 2001-05-16 Deutsche Thomson-Brandt Gmbh Procédé de construction d'un dispositif de reconnaissance de la parole

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5444617A (en) * 1992-12-17 1995-08-22 International Business Machines Corporation Method and apparatus for adaptively generating field of application dependent language models for use in intelligent systems
US5995918A (en) * 1997-09-17 1999-11-30 Unisys Corporation System and method for creating a language grammar using a spreadsheet or table interface
EP1100075A1 (fr) * 1999-11-11 2001-05-16 Deutsche Thomson-Brandt Gmbh Procédé de construction d'un dispositif de reconnaissance de la parole

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
TAZINE, C.: "Création automatique de modèle de langage n-grammes depuis Internet par un mesure de distance", TALN, CORPUS ET WEB 2002, XP002238230, Retrieved from the Internet <URL:http://www-lli.univ-paris13.fr/colloques/tcw2002/node16.html> [retrieved on 20030414] *

Also Published As

Publication number Publication date
FR2842923B1 (fr) 2004-09-24
FR2842923A1 (fr) 2004-01-30
EP1540512A1 (fr) 2005-06-15
AU2003262524A1 (en) 2004-02-23

Similar Documents

Publication Publication Date Title
US10665226B2 (en) System and method for data-driven socially customized models for language generation
US9886432B2 (en) Parsimonious handling of word inflection via categorical stem + suffix N-gram language models
EP1836651B1 (fr) Procédé de recherche, reconnaissance et localisation d&#39;un terme dans l&#39;encre, dispositif, programme d&#39;ordinateur correspondants
US10176168B2 (en) Statistical machine translation based search query spelling correction
WO2016045465A1 (fr) Procédé de présentation d&#39;informations sur la base d&#39;une entrée et système associé au procédé d&#39;entrée
FR2896603A1 (fr) Procede et dispositif pour extraire des informations et les transformer en donnees qualitatives d&#39;un document textuel
FR2963841A1 (fr) Systeme de traduction combinant des modeles hierarchiques et bases sur des phases
WO2017161899A1 (fr) Procédé, dispositif et appareil informatique de traitement de texte
WO2002067142A2 (fr) Dispositif d&#39;extraction d&#39;informations d&#39;un texte a base de connaissances
CN112256822A (zh) 文本搜索方法、装置、计算机设备和存储介质
FR3007164A1 (fr) Procede de classification thematique automatique d&#39;un fichier de texte numerique
WO2022183923A1 (fr) Procédé et appareil de génération d&#39;expressions, et support de stockage lisible par ordinateur
US20120239382A1 (en) Recommendation method and recommender computer system using dynamic language model
US8069032B2 (en) Lightweight windowing method for screening harvested data for novelty
Beaufays et al. Language model capitalization
EP1540512A1 (fr) Generateur d&#39;un corpus specifique a un domaine
FR3031823A1 (fr) Lemmatisateur semantique base sur des dictionnaires ontologiques.
FR3030809A1 (fr) Procede d&#39;analyse automatique de la qualite litteraire d&#39;un texte
WO2013117872A1 (fr) Procede d&#39;identification d&#39;un ensemble de phrases d&#39;un document numerique, procede de generation d&#39;un document numerique, dispositif associe
FR2880708A1 (fr) Procede de recherche dans l&#39;encre par conversion dynamique de requete.
Dwivedi et al. Neural Machine Translation and Detailed Analysis of Impact of Pre-Processing Techniques
FR3116355A1 (fr) Détection d’au moins un thème partagé par une pluralité de documents textuels
Djerrad Analyse des sentiments des tweets liés au Hirak
EP4155967A1 (fr) Procédé d&#39;échanges d&#39;informations sur un objet d&#39;intérêt entre une première et une deuxième entités, dispositif électronique d&#39;échange d&#39;informations et produit programme d&#39;ordinateur associés
FR3077148A1 (fr) Procede et dispositif electronique de selection d&#39;au moins un message parmi un ensemble de plusieurs messages, programme d&#39;ordinateur associe

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
REEP Request for entry into the european phase

Ref document number: 2003766404

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2003766404

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2003766404

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Ref document number: JP