1 Procédé et dispositif de transformation automatique d'une phrase en langage naturel DOMAINE TECHNIQUE DE L'INVENTION [0001] L'invention a pour objet un procédé de transformation automatique d'une phrase en langage naturel en une forme sémantiquement équivalente utilisable par un moteur de recherche standard. [0002] On entendra par langage naturel un langage utilisé dans les communications humaines. Un langage naturel s'oppose à un langage formel tel qu'un langage informatique. [0003] Le domaine de l'invention est celui du Traitement Automatique du Langage. ETAT DE LA TECHNIQUE ANTERIEURE [0004] Actuellement le traitement automatique du langage est basé sur des approches toutes conçues dans un paradigme introduit par Noam Chomsky. Ces approches se basent sur l'exploitation de grammaires qui doivent permettre l'interprétation de phrases en langage naturel. Ces grammaires sont, par exemple, exprimées sous forme BNF. [0005] Il s'agit donc de tentative d'adapter des outils propres aux langages formels à un langage naturel. Cette démarche présente une certaine cohérence puisque l'on peut prétendre que le but d'une analyse automatique d'un langage naturel est la formalisation de ce langage. [0006] Cependant l'absence d'avancée significative au vu des efforts consentis 25 depuis les années 1950 dans le domaine du traitement automatique du langage, conduit à se demander si cette approche est la bonne. [0007] On connaît également des approches statistiques mais celles-ci requièrent le prétraitement de corpus de données souvent importants donc coûteux. L'efficacité de l'analyse est dans cette approche dépendante du corpus.FIELD OF THE INVENTION [0001] The subject of the invention is a method of automatically transforming a sentence into a semantically equivalent natural language that can be used by an engine. standard search. By natural language is meant a language used in human communications. A natural language is opposed to a formal language such as a computer language. The field of the invention is that of the Automatic Language Processing. STATE OF THE ART [0004] Currently, automatic language processing is based on approaches all conceived in a paradigm introduced by Noam Chomsky. These approaches are based on the exploitation of grammars that must allow the interpretation of sentences in natural language. These grammars are, for example, expressed in BNF form. It is therefore an attempt to adapt tools specific to formal languages to a natural language. This approach has a certain coherence since it can be argued that the purpose of an automatic analysis of a natural language is the formalization of this language. [0006] However, the lack of significant progress in view of the efforts made since the 1950s in the field of automatic language processing, leads to wonder whether this approach is the right one. [0007] Statistical approaches are also known, but these require the pre-processing of data corpuses that are often important and therefore expensive. The effectiveness of the analysis is in this corpus-dependent approach.
30 Si une phrase traitée est étrangère au domaine du corpus, alors le résultat de l'analyse est inexploitable. Par exemple si on utilise un corpus relatif à la téléphonie mobile, il est inutile d'utiliser le résultat du traitement d'un tel corpus 3030078 2 dans le domaine des services par exemple. En effet « Ce téléphone est léger » est une forme laudative, alors que « ce service est léger » est une forme déplétive. [0008] Ainsi on voit que pour des applications ayant pour but d'analyser de manière automatique des avis produits, les approches habituelles échouent. Ainsi 5 dans l'état de la technique il est impossible d'analyser un ensemble de textes pour y détecter des avis positifs ou négatifs sans avoir à mettre en oeuvre des moyens de détection hautement spécialisés. [0009] Ces constatations sont également valables pour la détection d'événement, comme par exemple le rachat d'une société par une autre. 10 [0010] Le domaine de la gestion documentaire reste celui dans lequel les outils ont le plus profité des travaux sur le traitement automatique du langage. Au prix d'un affaiblissement de la fonction (on traite le document dans son ensemble et non la phrase), les méthodes de recherche et de catégorisation s'appuyant sur un modèle matriciel donnant la présence des mots dans les documents ont donné 15 des résultats opérationnels. Mais ces techniques ne suffisent plus, ni aux besoins qualitatifs de traitement de l'information contenue (et non du document), ni aux besoins quantitatifs de sélection sur de très grands corpus. EXPOSE DE L'INVENTION 20 [0011] L'invention vise à remédier à tout ou partie des inconvénients de l'état de la technique identifiés ci-dessus, et notamment à proposer des moyens pour permettre d'effectuer rapidement des recherches produisant des résultats pertinents et exploitables. Par exploitable on entend en particulier suffisamment limités en nombre de résultats pour pouvoir parcourir ces résultats. [0012] Dans ce dessein, un aspect de l'invention se rapporte à un procédé de transformation automatique d'une phrase en langage naturel en une forme transformée utilisable par un algorithme de comparaison terme à terme caractérisé en ce qu'il comporte les étapes suivantes : - acquisition d'une phrase en langage naturel ; - identification automatique de groupes syntaxiques dans la phrase en langage naturel, - pour chaque groupe syntaxique identifié, substitution automatique par au moins un groupe syntaxique marqué produit par l'association une 3030078 3 forme normalisée du groupe syntaxique, à un premier marqueur de rôle dépendant du rôle syntaxique du groupe syntaxique identifié dans la phrase en langage naturel, - production automatique d'une forme transformée à partir des groupes 5 syntaxiques marqués la forme transformée étant un ensemble des groupes syntaxiques marqués produits. [0013] Outre les caractéristiques principales qui viennent d'être mentionnées dans le paragraphe précédent, le procédé/dispositif selon l'invention peut présenter une ou plusieurs caractéristiques complémentaires parmi les suivantes, 10 considérées individuellement ou selon les combinaisons techniquement possibles : les rôles syntaxiques sont dans le groupe formé de : - sujet, - verbe, 15 - objet, - qualificatif ; - les rôles syntaxiques sont dans le groupe formé de : - sujet, - verbe, 20 - objet, - qualificatif, - objet indirect ; - le premier marqueur est constitué d'au moins un code correspondant à au moins un rôle syntaxique, chaque rôle syntaxique étant associé à un 25 code spécifique ; - le premier marqueur est relatif, cette relativité étant matérialisée par une concaténation de codes, chaque code de la concaténation correspondant à un rôle syntaxique ; - un code est composé d'un caractère unique ; 30 - pour chaque groupe syntaxique marqué, on effectue les étapes suivantes : application d'une fonction de calcul d'un deuxième marqueur au groupe syntaxique marqué ; 3030078 4 - si la fonction de calcul produit un marqueur alors production d'un nouveau groupe syntaxique marqué produit par l'association du premier marqueur, de la forme normalisée et du deuxième marqueur ; 5 - la fonction de calcul du deuxième marqueur est une fonction de détermination d'une fonction syntaxique, une fonction syntaxique étant dans le groupe formé d'au moins : - factualité ; - incertitude ; 10 - prédiction ; - passé ; - présent ; - négation ; - interrogation ; 15 - le procédé comporte : - une étape de détection automatique d'entités nommées parmi les groupes syntaxiques identifiés ; - pour chaque entité nommée détectée production d'au moins un groupe syntaxique marqué la forme normalisée utilisée 20 pour ledit groupe syntaxique marqué étant la catégorie de l'entité nommée ; - le procédé comporte une étape d'expansion lexicale automatique qui ajoute à la forme transformée de la phrase des groupes syntaxiques marqués en fonction des groupes syntaxiques initiaux issus de l'étape 25 de substitution et d'un dictionnaire associant des formes normalisées ; - pour une recherche, la forme transformée est considérée comme un ensemble de groupes syntaxiques marqués, une phrase comparée correspondant à la forme transformée si elle contient au moins tous les groupes marqués, la phrase comparée ayant été préalablement 30 transformée selon le procédé de transformation ; - la phrase comparée est transformée avec une étape d'expansion lexicale. 3030078 5 [0014] L'invention se rapporte également à un dispositif de stockage numérique comportant un fichier comportant des codes instructions pour la mise en oeuvre du procédé selon l'une des revendications précédentes. [0015] L'invention se rapporte aussi à un dispositif mettant en oeuvre un 5 procédé selon une combinaison possible des caractéristiques de procédé précédentes. BREVE DESCRIPTION DES FIGURES [0016] D'autres caractéristiques et avantages de l'invention ressortiront à la 10 lecture de la description qui suit, en référence aux figures annexées, qui illustrent : - la figure 1 : une illustration de moyen permettant la mise en oeuvre du procédé selon l'invention ; - la figure 2: une illustration d'étapes du procédé selon l'invention. [0017] Pour plus de clarté, les éléments identiques ou similaires sont repérés 15 par des signes de référence identiques sur l'ensemble des figures. [0018] L'invention sera mieux comprise la lecture de la description qui suit et à l'examen des figures qui l'accompagnent. Celles-ci sont présentées à titre indicatif et nullement limitatif de l'invention.If a treated sentence is foreign to the domain of the corpus, then the result of the analysis is unusable. For example if one uses a corpus relating to the mobile telephony, it is useless to use the result of the treatment of such a corpus 3030078 2 in the field of services for example. Indeed "This phone is light" is a formative laudative, while "this service is light" is a form depletive. Thus we see that for applications to automatically analyze product reviews, the usual approaches fail. Thus in the state of the art it is impossible to analyze a set of texts to detect positive or negative opinions without having to implement highly specialized detection means. These findings are also valid for event detection, such as the redemption of a company by another. [0010] The field of document management remains the one in which the tools have benefited the most from the work on automatic language processing. At the cost of a weakening of the function (we treat the document as a whole and not the sentence), the search and categorization methods based on a matrix model giving the presence of the words in the documents gave results. operational. But these techniques are no longer sufficient, neither for the qualitative needs of the processing of the information contained (and not of the document), nor for the quantitative needs of selection on very large corpora. SUMMARY OF THE INVENTION [0011] The invention aims to remedy all or some of the disadvantages of the state of the art identified above, and in particular to propose means to enable rapid research producing results. relevant and exploitable. In exploitable we mean in particular sufficiently limited in number of results to be able to browse these results. For this purpose, one aspect of the invention relates to a method for automatically transforming a natural language sentence into a transformed form that can be used by a term-to-term comparison algorithm, characterized in that it comprises the steps following: - acquisition of a sentence in natural language; - automatic identification of syntactic groups in the natural language sentence, - for each syntactic group identified, automatic substitution by at least one marked syntactic group produced by the association a standardized form of the syntactic group, to a first dependent role marker of the syntactical role of the syntactic group identified in the natural language sentence, - automatic production of a transformed form from the marked syntactical groups, the transformed form being a set of the marked syntactic groups produced. In addition to the main features which have just been mentioned in the preceding paragraph, the method / device according to the invention may have one or more additional characteristics among the following, considered individually or according to the technically possible combinations: the syntactical roles are in the group formed of: - subject, - verb, 15 - object, - qualifier; - the syntactic roles are in the group consisting of: - subject, - verb, 20 - object, - qualifier, - indirect object; the first marker consists of at least one code corresponding to at least one syntactic role, each syntactic role being associated with a specific code; the first marker is relative, this relativity being materialized by a concatenation of codes, each code of the concatenation corresponding to a syntactic role; - a code is composed of a unique character; For each marked syntactic group, the following steps are performed: application of a calculation function of a second marker to the marked syntactic group; If the calculation function produces a marker then producing a new labeled syntactic group produced by the association of the first marker, the normalized form and the second marker; The function of calculating the second marker is a function of determining a syntactic function, a syntactic function being in the group formed by at least: factuality; - uncertainty; 10 - prediction; - past ; - present; - negation; - interrogation; The method comprises: a step of automatic detection of named entities among the identified syntactic groups; for each named entity detected generating at least one marked syntactic group the normalized form used for said marked syntactic group being the category of the named entity; the method comprises an automatic lexical expansion step which adds to the transformed form of the sentence marked syntactic groups as a function of the initial syntactic groups resulting from the substitution step and of a dictionary associating standardized forms; for a search, the transformed form is considered as a set of marked syntactic groups, a compared sentence corresponding to the transformed form if it contains at least all the labeled groups, the compared sentence having been previously transformed according to the transformation method; the compared sentence is transformed with a lexical expansion step. The invention also relates to a digital storage device comprising a file comprising instruction codes for implementing the method according to one of the preceding claims. [0015] The invention also relates to a device implementing a method according to a possible combination of the preceding process characteristics. BRIEF DESCRIPTION OF THE FIGURES [0016] Other features and advantages of the invention will emerge from a reading of the description which follows, with reference to the appended figures, which illustrate: FIG. 1: an illustration of means allowing the implementation of FIG. process of the invention; FIG. 2: an illustration of steps of the method according to the invention. For the sake of clarity, identical or similar elements are marked with identical reference signs throughout the figures. The invention will be better understood by reading the following description and examining the figures that accompany it. These are presented as an indication and in no way limitative of the invention.
20 DESCRIPTION DETAILLEE D'UN MODE DE REALISATION [0019] La figure 1 montre un dispositif 100 de traitement automatisé. Le dispositif de traitement comporte : - un microprocesseur 110; - des moyens de stockage 120, par exemple un disque dur qu'il soit local 25 ou distant, qu'il soit simple ou en grille (par exemple RAID) ; - une interface 130 de communication, par exemple une carte de communication selon le protocole Ethernet. D'autres protocoles sont envisageables comme « Fibre Channel » ou InfiniBand. [0020] Le microprocesseur 110 du dispositif de traitement, les moyens 120 de 30 stockage du dispositif de traitement et l'interface 130 de communication du dispositif de traitement sont interconnectés par un bus 150. [0021] Lorsque l'on prête une action à un dispositif celle-ci est en fait effectuée par un microprocesseur du dispositif commandé par des codes instructions 3030078 6 enregistrés dans une mémoire du dispositif. Si l'on prête une action à une application, celle-ci est en fait effectuée par un microprocesseur du dispositif dans une mémoire duquel les codes instructions correspondant à l'application sont enregistrés. Lorsqu'un dispositif, ou une application émet un message, ce 5 message est émis via une interface de communication dudit dispositif ou de la dite application. Lorsque l'on qualifie une action d'automatique cela signifie qu'elle est mise en oeuvre par un dispositif. [0022] La figure 1 montre que les moyens 120 de stockage du dispositif 100 de traitement comportent : 10 - une zone 120.1 comportant des codes instructions correspondant à la mise en oeuvre du procédé selon l'invention ; - dans une variante de l'invention, une zone 120.2 dictionnaire de normalisation comportant des associations entre un groupe syntaxique et une forme normalisé. Un groupe syntaxique étant, entre autre, une 15 chaîne de caractère on peut, via un dictionnaire, lui associer une autre chaîne de caractères ; - dans une variante de l'invention, une zone 120.3 dictionnaire d'entités nommées comportant des associations entre un groupe syntaxique et au moins une catégorie d'entités nommées. Une catégorie d'entité 20 nommée est, par exemple : - organisation (organization en anglais) : cela correspond à une société commerciale dont le nom est connue ; - président (president en anglais) : pour une personne clairement identifiée comme étant ou ayant été un président ; 25 - bâtiment (construction en anglais) ; - événement (event en anglais) ; - lieu (site en anglais) ; - ... la liste n'est pas exhaustive ; - dans une variante de l'invention, une zone 120.4 dictionnaire lexicale 30 comportant des associations entre un groupe syntaxique et au moins une implication lexicale. Par exemple : - berline implique voiture ; - 4x4 implique voiture ; 3030078 7 - voiture implique véhicule ; - ... la liste n'est pas exhaustive. [0023] La figure 2 montre une étape 1000 d'acquisition d'une phrase en langage naturel. 5 [0024] Il y a au moins deux manières d'acquérir une telle phrase : - en la saisissant, ou - en l'extrayant d'un texte. [0025] Dans ce document une phrase est une séquence de mots délimités par un signe de ponctuation, ou une séquence de mots ne comportant pas le signe de 10 ponctuation délimiteur. Usuellement un tel signe de ponctuation délimiteur est le point. Un tel signe peut aussi être le point-virgule. Dans la pratique ce signe délimiteur dépend de la langue de la phrase et du niveau de langage. [0026] Dans ce document un texte est une séquence de phrases. [0027] La manière d'acquérir la phrase dépend d'un mode de mise en oeuvre 15 de l'invention selon qu'elle est utilisée pour : - transformer une question, ou - alimenter un index. [0028] Dans ce document, sauf stipulation locale contraire, question signifie une phrase que l'on souhaite rechercher dans un corpus de textes indexés par le 20 procédé selon l'invention. Cette recherche se faisant terme à terme, chaque groupe syntaxique marqué est considéré comme un terme. [0029] De l'étape 1000 d'acquisition d'une phrase on passe à une étape 1010 d'identification automatique de groupes syntaxiques dans la phrase acquise. Cette étape est classique dans le domaine du Traitement Automatique du Langage et 25 elle permet d'obtenir une séquence de groupes syntaxiques couvrant la totalité de la phrase. Cette identification des groupes syntaxiques est aussi appelé « chunking ». [0030] De l'étape 1020 d'identification de groupes syntaxiques on passe à une étape 1030 de substitution. L'étape 1030 est répétée pour chaque groupe 30 syntaxique identifié à l'étape précédente. L'étape 1030 de substitution comporte une sous étape 1040 d'attribution d'un rôle syntaxique au groupe syntaxique. Parmi les rôles syntaxiques possibles on ne retient, dans l'invention, que les rôles suivants : 3030078 8 - sujet ; - verbe ; - objet ; - qualificatif. 5 [0031] Dans ce cas on utilise un modèle syntaxique à quatre rôles, l'objet de l'identification étant de catégoriser les éléments d'une phrase selon ce modèle. Dans la pratique tous les systèmes de rôles syntaxiques sont des conventions à posteriori de description d'énoncés du langage. Dans l'invention on utilise un modèle particulièrement simple. En effet dans l'invention on ignore les 10 déterminants, et tous les opérateurs grammaticaux en général, Il s'agit d'une grosse simplification. [0032] Dans une variante de l'invention on ne retient que les rôles suivants : - sujet ; - verbe ; 15 - objet ; - qualificatif ; - objet indirect. [0033] Dans cette variante on utilise un modèle syntaxique à cinq rôles. [0034] A chaque rôle on associe un code par exemple un caractère unique et 20 distinctif. Au regard du nombre de rôles possible cela est suffisant et dans le cas d'une indexation cela évite d'utiliser trop de place. A titre d'exemple pour la présente description on utilise les codes suivants : S pour sujet, V pour verbe, O pour objet, Q pour qualificatif et I pour objet indirect. [0035] Ces choix de lettres sont conventionnels. C'est dire que l'on aurait pu 25 choisir d'autres lettres, par exemple G pour le sujet et D pour l'objet, ceci en référence à une analyse positionnelle. En effet la plus part du temps, pour les langues utilisant un alphabet latin, le sujet est à gauche du verbe, l'objet étant à droite, ceci à la forme passive près. On aurait aussi pu choisir A et B. Il s'agit d'une convention prédéterminée : on choisit un modèle syntaxique et à chaque 30 rôle de ce modèle on attribue un code, c'est-à-dire par exemple une lettre. [0036] De la sous étape 1040 on passe à une sous étape 1050 de détermination d'une forme normalisée pour le groupe syntaxique. Une telle forme normalisée est, par exemple un lemme qui est issue d'une étape de lemmatisation 3030078 9 effectuée lors de l'étape d'identification automatique des groupes syntaxiques. C'est le cas le plus courant. Dans une variante de l'invention on utilise également un dictionnaire de normalisation, pour déterminer une forme normalisée pour les groupes syntaxiques n'ayant pas pu être normalisés. 5 [0037] De la sous étape 1050 de détermination d'une forme normalisée on passe à une sous étape 1060 de production d'un groupe syntaxique marqué. Un tel groupe est obtenu, par exemples : - En juxtaposant le code du rôle syntaxique attribué à la forme normalisée 10 - En juxtaposant, via un séparateur, le code du rôle syntaxique attribué à la forme normalisée - Le séparateur est un caractère, par exemple l'espace ou le [0038] La juxtaposition peut se faire soit avec le code devant, soit avec le code 15 derrière, mais toujours dans le même ordre une fois un ordre choisi. [0039] Une fois la juxtaposition effectuée, dans une variante, le résultat est encadré par des caractères de balisage, par exemple [ et ], ou < et > ou { et }, ou </ et >, ou [/ et ]. [0040] Le procéder selon l'invention est adapté pour traiter plusieurs langues.DETAILED DESCRIPTION OF AN EMBODIMENT [0019] FIG. 1 shows an automated processing device 100. The processing device comprises: - a microprocessor 110; storage means 120, for example a hard disk whether local or remote, whether simple or in a grid (for example RAID); a communication interface 130, for example a communication card according to the Ethernet protocol. Other protocols are conceivable as "Fiber Channel" or InfiniBand. The microprocessor 110 of the processing device, the storage means 120 of the processing device and the communication interface 130 of the processing device are interconnected by a bus 150. When one lends an action to a device is in fact carried out by a microprocessor of the device controlled by instruction codes 3030078 6 recorded in a memory of the device. If an action is taken to an application, it is actually performed by a microprocessor of the device in a memory of which the instruction codes corresponding to the application are recorded. When a device or an application transmits a message, this message is sent via a communication interface of said device or said application. When one qualifies an automatic action it means that it is implemented by a device. FIG. 1 shows that the storage means 120 of the processing device 100 comprise: a zone 120.1 comprising instruction codes corresponding to the implementation of the method according to the invention; in a variant of the invention, a 120.2 standardization dictionary zone comprising associations between a syntactic group and a standardized form. A syntactic group being, among other things, a string of characters one can, via a dictionary, associate with it another string of characters; in a variant of the invention, a 120.3 named entity dictionary zone comprising associations between a syntactic group and at least one category of named entities. A category of named entity 20 is, for example: - organization (organization in English): this corresponds to a commercial company whose name is known; - president (president in English): for a person clearly identified as being or having been a president; 25 - building (construction in English); - event (event in English); - place (website in English); - ... The list is not exhaustive ; in a variant of the invention, a lexical dictionary zone 120.4 comprising associations between a syntactic group and at least one lexical implication. For example: - sedan involves car; - 4x4 involves car; 3030078 7 - car implies vehicle; - ... The list is not exhaustive. Figure 2 shows a step 1000 of acquisition of a sentence in natural language. [0024] There are at least two ways to acquire such a sentence: - by grabbing it, or - by extracting it from a text. In this document, a sentence is a sequence of words delimited by a punctuation mark, or a sequence of words that does not include the punctuation punctuation sign. Usually such a delimiting punctuation mark is the point. Such a sign can also be the semicolon. In practice this delimiter sign depends on the language of the sentence and the level of language. In this document a text is a sequence of sentences. The manner of acquiring the sentence depends on an embodiment of the invention according to whether it is used for: transforming a question, or feeding an index. In this document, unless otherwise stipulated locally, question means a sentence that one wishes to search in a corpus of texts indexed by the method according to the invention. Since this search is done in the long run, each marked syntactic group is considered a term. From the step 1000 of acquisition of a sentence we go to a step 1010 of automatic identification of syntactic groups in the acquired sentence. This step is conventional in the field of Automatic Language Processing and it provides a sequence of syntactic groups covering the entire sentence. This identification of syntactic groups is also called chunking. From step 1020 identifying syntactic groups we go to a step 1030 of substitution. Step 1030 is repeated for each syntactic group identified in the previous step. Substitution step 1030 includes a substep 1040 of assigning a syntactical role to the syntactic group. Among the possible syntactic roles, only the following roles are retained in the invention: 3030078 8 - subject; - verb; - object; - qualifier. In this case, a four-role syntax model is used, the object of the identification being to categorize the elements of a sentence according to this model. In practice, all syntactic role systems are posterior conventions of description of language utterances. In the invention, a particularly simple model is used. Indeed in the invention we ignore the 10 determinants, and all grammatical operators in general, This is a big simplification. In a variant of the invention, only the following roles are retained: - subject; - verb; 15 - object; - qualifier; - indirect object. In this variant, a five-role syntax model is used. For each role, a code is associated, for example, with a unique and distinctive character. Given the number of possible roles this is sufficient and in the case of indexing it avoids using too much space. By way of example for the present description, the following codes are used: S for subject, V for verb, O for object, Q for qualifier and I for indirect object. These letter choices are conventional. That is, one could have chosen other letters, for example G for the subject and D for the object, this with reference to a positional analysis. Indeed most of the time, for the languages using a Latin alphabet, the subject is on the left of the verb, the object being on the right, this with the passive form near. We could also have chosen A and B. This is a predetermined convention: we choose a syntactic model and each role of this model we assign a code, that is to say for example a letter. Sub-step 1040 goes to a sub-step 1050 of determining a standardized form for the syntactic group. Such a standardized form is, for example, a lemma which is derived from a lemmatisation step performed during the step of automatically identifying the syntactic groups. This is the most common case. In one variant of the invention, a normalization dictionary is also used to determine a standardized form for syntactic groups that could not be normalized. Sub-step 1050 of determining a normalized form proceeds to a sub-step 1060 of producing a tagged syntactic group. Such a group is obtained, for example: - By juxtaposing the code of the syntactic role assigned to the standardized form 10 - By juxtaposing, via a separator, the code of the syntactic role assigned to the normalized form - The separator is a character, for example the space or the [0038] The juxtaposition can be done with the code before or with the code 15 behind, but always in the same order once a chosen order. Once the juxtaposition is carried out, in a variant, the result is framed by markup characters, for example [and], or <and> or {and}, or </ and>, or [/ and]. The procedure according to the invention is suitable for processing several languages.
20 Nous prenons ici un exemple de phrase en langue anglaise : Name1 buys Name2. (Cela signifie Name1 achète Name2). [0041] Dans cette phrase il y a trois groupes syntaxiques : - Name1 qui est le sujet ; - Name2 qui est l'objet, 25 - buys qui est le verbe. [0042] A l'issue de l'étape 1030 de substitution, selon un mode de réalisation de l'invention ces groupes syntaxiques sont devenus les groupes syntaxiques marqués suivant : - Name1 devient </S_Name1> 30 - Name2 devient </O_Name2> - buys devient <N_buy>, on note ici la forme lemmatisée du verbe. 3030078 10 [0043] Dans une variante de l'invention les rôles sont relatifs. C'est-à-dire que chaque rôle est rapporté à l'élément, c'est-à-dire le groupe syntaxique, dont il dépend. [0044] On obtient ainsi : 5 Name1 devient </VS_Name1>, Name1 est le sujet du verbe ; Name2 devient <NO_Name2>, Name2 est l'objet du verbe ; buys devient </V_buy> [0045] Cette variante est intéressante avec les phrases plus longue comme : Name1 buys a company that works in telecoms. (Name1 achète une société qui 10 travaille dans les télécoms.). Dans cet exemple on obtient les groupes syntaxiques marqués suivants : - Name1 devient <A/S_Name1> - buys devient <N_buy> - company devient <NO_company> 15 - « that works in telecom » est un qualificatif qui se décompose : - works devient <N0Q/V_work> - in telecom devient <N0Q/VQ_telecom> [0046] On note ici en remarque que, dans l'invention, les formes « that works » et « working » produisent le même ensemble de groupes syntaxiques marqués. 20 [0047] On obtient ainsi cinq groupes syntaxiques marqués, chaque groupe syntaxique étant pleinement qualifié par rapport à son rôle dans la phrase. On remarque donc que non seulement un groupe syntaxique est relatif par rapport à un groupe syntaxique mais une phrase, ou une partie de phrase, peut aussi être relative par rapport à un groupe syntaxique. Cet aspect est renforcé par l'utilisation 25 d'un séparateur, ici le caractère 'I' d'identification de phrase. Tous les rôles concaténés commencent par ce caractère qui signale la phrase de rattachement des rôles, Chaque occurrence supplémentaire dans une concaténation de rôle indique un niveau supplémentaire de subordination. Cette subordination est, par exemple, relative, complétive, circonstancielle ou tout autre usage syntaxique 30 autorisé par la langue considérée. [0048] Dans une variante de l'invention l'étape 1030 de substitution comporte une sous étape 1070 de marquage selon une fonction de calcul. Cette fonction de 3030078 11 calcul, appliqué à un groupe syntaxique marqué, produit un deuxième marqueur qui est ajouté audit groupe syntaxique marqué. Cet ajout se fait par concaténation. [0049] Une fonction de calcul est, par exemple, une fonction de détermination d'une fonction syntaxique. Une telle fonction syntaxique prend comme paramètre 5 au moins : - le rôle du groupe marqué, celui-ci étant disponible au moins via le premier marquage, - les traits morphosyntaxiques du groupe syntaxique correspondant au group syntaxique marqué. Les traits morphosyntaxique sont, par 10 exemple : - le temps : passé, présent, futur... ; - le mode : indicatif, conditionnel, impératif,... - La modalité : pouvoir, vouloir, devoir,... ; - L'auxiliaire : être ou avoir ; 15 - Le support : finir de, accepter de,... ; - la voix : active ou passive ; - la négation, l'interrogation, ... ; - le genre : masculin ou féminin ; - le nombre : singulier ou pluriel ; 20 - l'intensification : très bon,... ; - la comparaison : moins bon que,... ; - ... la liste n'est pas limitative. [0050] Une fonction syntaxique est, par exemple : - factualité : exprime le fait que la phrase analysée exprime un fait 25 certain ; - incertitude : exprime le fait que la phrase analysée exprime une hypothèse, un fait incertain ; - prédiction : exprime le fait que la phrase analysée exprime un évènement à venir ; 30 - passé : exprime le fait que la phrase analysée exprime un fait situé dans le passé; - présent : exprime le fait que la phrase analysée exprime un fait situé dans le présent; 3030078 12 - négation : exprime le fait que la phrase analysée a une forme négative; - interrogation : exprime le fait que la phrase analysée a une forme interrogative ; [0051] On peut citer d'autres fonctions syntaxiques, par exemple : masculin, 5 féminin, singulier, pluriel, actif, passif, transitif, intransitif... la liste n'est pas exhaustive. [0052] Dans cette variante la transformation de la phrase Namel buys Name2 produira les groupes syntaxiques suivants : - Namel devient <NS_Namel >, Namel est le sujet du verbe ; 10 - Name2 devient <NO_Name2>, Name2 est l'objet du verbe ; - buys devient </y_buy_MDCertain> [0053] On voit ici que le traitement du groupe syntaxique « buys » donne un groupe syntaxique marqué comportant un marqueur de fonction syntaxique « MDCertain » indiquant la factualité de la phrase : ce verbe correspond à un fait 15 certain. [0054 ] La concaténation se fait de préférence à l'opposé du premier marqueur. Mais l'invention reste valable si on envisage des marqueurs séparés par un séparateur de marqueur, par exemple un caractère prédéterminé. [0055] A chaque fonction syntaxique correspond un code prédéterminé. Il est 20 possible que la fonction de calcul ne renvoie aucun marqueur, dans ce cas le groupe syntaxique marqué traité reste inchangé. [0056] Dans une variante, en particulier pour le cas où la phrase est transformée pour une indexation, la fonction de calcul ne modifie pas un groupe syntaxique marqué mais en ajoute un. Dans cette variante on obtiendrait 25 l'ensemble de groupes syntaxiques marqués suivant : - Namel devient </VS_Namel > ; - Name2 devient <NO_Name2> ; - buys devient <N_buy> ; - buys devient <N_buy_MDCertain>. 30 [0057] Le groupe syntaxique « buys » est donc transformé en deux groupes syntaxiques marqués. Cette variante permet d'effectuer des recherches en prenant en compte les fonctions syntaxiques des groupes syntaxiques. Dans une variante ou la fonction de calcul produirait plusieurs marqueurs, on produirait 3030078 13 autant de groupes syntaxiques marqués supplémentaires que de marqueurs produit par la fonction de calcul. [0058] Dans une variante de l'invention l'étape 1030 de substitution comporte une sous étape 1080 de détection automatique d'entités nommées. Cette sous 5 étapes de traitement des entités nommées est un autre cas de fonction de calcul. Dans ce cas la fonction de calcul retourne une ou plusieurs catégories. On ajoute à la forme transformée autant de groupez syntaxiques marqués que de catégories retournées par la fonction de calcul, dans chaque groupe syntaxique ajouté on remplace la forme normalisé par la catégorie. 10 [0059] Dans cette variante la transformation de la phrase Name1 buys Name2 produira les groupes syntaxiques suivants : - Name1 devient <NS_Name1> ; - Name1 devient <NS_organization> ; - Name2 devient <NO_Name2> ; 15 - Name2 devient <NO_organization> ; - buys devient <N_buy_MDCertain> ; - buys devient <N_buy>. [0060] Dans une variante de l'invention l'étape 130 de substitution comporte une sous étape 1090 d'expansion lexicale. Cette sous étape d'expansion lexicale 20 utilise un dictionnaire d'implication lexicale pour augmenter le nombre de groupes syntaxiques marqués sur le même principe que la détection d'entités nommées, mais en utilisant un dictionnaire différent. Un exemple d'une entrée d'un dictionnaire d'implication : chat => félin => mammifère => animal 25 [0061] Avec cet exemple, la phrase « le chat dort » produit l'ensemble de groupes syntaxiques marqués suivant : - <NS_chat> - <NSfélin> - <NS_mamm ifère> 30 - <NS_animal> - <N_dorm ir>. [0062] L'étape 1030 de substitution est suivie d'une étape 1100 de production automatique d'une forme transformée de la phrase acquise. Une forme 3030078 14 transformée est un ensemble de groupes syntaxiques marqués. Ici ensemble s'oppose à séquence en ce sens que dans un ensemble l'ordre n'a pas d'importance. La forme transformée est enregistrée dans une mémoire. [0063] Dans une variante de l'invention le groupe syntaxique identifié 5 correspond à un sous arbre de la phrase. Par exemple dans la phrase suivante, « the black cat eats the mouse » (le chat noir mange la souris), le groupe syntaxique sujet « black cat » (chat noir) peut encore se décomposer pour donner : - </VS_cat> 10 - <NS Q_b lack> [0064] Ainsi un groupe syntaxique identifié peut donner une pluralité, ici 2, de groupes syntaxiques marqués. [0065] Il vient d'être illustré une variante de l'invention correspondant à un 15 mode de transformation d'indexation. Les modes de transformation possibles sont : - question : la phrase est transformée en vue de servir de question ; - indexation : la phrase est transformée pour être insérée dans un index. [0066] Dans le mode indexation, les formes transformées sont enregistrées 20 dans un moteur de recherche, par exemple Soir de la fondation Apache, et associé à une phrase et à un texte d'origine. [0067] Dans un mode question toutes les sous-étapes précédentes ne sont pas présentes. En particulier dans un mode de question on ne met pas en oeuvre les sous-étapes : 25 - sous-étape de détection d'entités nommées ; - sous-étape d'expansion lexicale. [0068] Une fois un corpus de textes indexé on transforme la phrase recherchée « Namel buys Name2 » selon un mode question et on recherche le résultat de la transformation selon une comparaison terme à terme. La recherche 30 fera ressortir toutes les phrases dont la transformation en mode indexation a produit une forme transformée comportant tous les groupes syntaxiques marqués de la transformation de la phrase recherchée selon un mode question. 3030078 15 [0069] Une transformation en mode question donnera les groupes syntaxiques marqués : - Namel devient </VS_Namel > ; - Name2 devient <NO_Name2> ; 5 - buys devient </y_buy_MDCertain>. [0070] Ainsi on trouvera les textes comportant : - Namel devient </VS_Namel > ; - Namel devient <NS_organization> ; - Name2 devient <NO_Name2> ; 10 - Name2 devient <NO_organization> ; - buys devient </V_buy_MDCertain> ; - buys devient <N_buy>. [0071] On note que le même texte sera trouvé si on fait une recherche sur « Namel buys an organization » (Namel achète une société) ou « An 15 organization buys an organization » (Une société achète une société). [0072] Dans une variante de l'invention la transformation d'une phrase en mode question comporte une sous-étape de substitution appelée sous-étape d'expansion lexicale par disjonction. Il s'agit d'une forme d'expansion lexicale. Cela permet de palier à un défaut d'indexation, et notamment à un défaut 20 d'expansion lexicale en mode indexation. Une expansion par disjonction produit, à partir d'une phrase, plusieurs formes transformées. Le résultat de la recherche d'une telle transformation correspond à toutes les phrases comportant au moins l'un des ensembles obtenus par disjonction. Pour la disjonction on utilise un dictionnaire de disjonction. Le dictionnaire de disjonction est construit sur le même 25 principe qu'un dictionnaire d'expansion lexicale. [0073] Considérons la phrase suivante dans un document indexé : « Noml vend des 4x4 » et considérons que 4x4 n'ait pas été associé à voiture dans le dictionnaire d'expansion lexicale. On veut éviter d'obliger un utilisateur à énumérer tous les types de voiture dans sa requête. Alors on enregistre dans une zone des 30 moyens de stockage du dispositif de traitement un dictionnaire de disjonction associant 4x4 à voiture. Alors, dans une transformation en modes question avec disjonction on obtiendra, à partir de que question « Noml vend des voitures », les formes transformées suivantes : 3030078 16 - Première forme : - <NS_N oml > - </S_vendre> - <NO_voiture> 5 - Seconde forme par expansion de voiture en 4x4 : - <NS_N oml > - </S_vendre> - <N0_4x4> [0074] Dans ce cas un texte comportant la phrase « Nom 1 vend des 4x4 » 10 sera trouvé à partir de la phrase question « Noml vend des voitures ». [0075] L'invention a été illustrée par une mise en oeuvre permettant l'utilisation d'un moteur de recherche connu et réputé : Solr qui est lui-même une mise en oeuvre de Lucene (marque déposée). On alimente donc Solr avec des textes transformés en mode indexation, et on effectue des recherches sur des phrases 15 transformées en mode question. A cette fin les rôles sont enregistrés sous forme d'une chaîne de caractères associée à une forme normalisée d'un groupe syntaxique. Les termes produits peuvent être utilisés par un moteur d'indexation (ici Solr) dans sa version standard. [0076] Il est évident que ces rôles, en particulier dans la variante ou ils sont 20 relatifs, peuvent être analysés comme une mise en relation hiérarchisée des groupe syntaxiques, chaque relation représentant alors un ou plusieurs rôles syntaxiques. [0077] Dès lors l'invention peut également être mise en oeuvre en utilisant des technologies adaptées aux stockages et à l'exploitation de relations, en particulier 25 par des technologies exploitant des graphes. On pense en particulier à des technologies dîtes « NoSQL » comme par exemple « Neo4j » qui est une base de données associative ou base de données de graphes. Dans une telle mise en oeuvre une forme normalisée est un noeud, et des relations permettent de stocker les rôles syntaxiques. Ainsi les rôles syntaxiques sont matérialisés par 30 l'enregistrement d'une relation entre deux noeuds. La recherche s'effectue alors toujours terme à terme, les termes se répartissant entre les noeuds et les relations.20 Here we take an example sentence in English: Name1 buys Name2. (This means Name1 buys Name2). In this sentence there are three syntactic groups: - Name1 which is the subject; - Name2 which is the object, 25 - buys which is the verb. At the end of the substitution step 1030, according to one embodiment of the invention these syntactic groups have become the syntactic groups marked as follows: - Name1 becomes </ S_Name1> 30 - Name2 becomes </ O_Name2> - buys becomes <N_buy>, we note here the lemmatized form of the verb. In a variant of the invention, the roles are relative. That is to say that each role is related to the element, that is to say the syntactic group, on which it depends. We obtain as follows: 5 Name1 becomes </ VS_Name1>, Name1 is the subject of the verb; Name2 becomes <NO_Name2>, Name2 is the verb object; buys becomes </ V_buy> [0045] This variant is interesting with longer sentences like: Name1 buys a company that works in telecoms. (Name1 buys a company that works in telecoms.) In this example we obtain the following marked syntactic groups: - Name1 becomes <A/S_Name1> - buys becomes <N_buy> - company becomes <NO_company> 15 - "that works in telecom" is a qualifier that breaks down: - works becomes < N0Q / V_work> - in telecom becomes <N0Q / VQ_telecom> [0046] Note here that in the invention, the forms "that works" and "working" produce the same set of marked syntactic groups. Thus, five marked syntactic groups are obtained, each syntactic group being fully qualified with respect to its role in the sentence. Note that not only is a syntactic group relative to a syntactic group, but a sentence, or part of a sentence, can also be relative to a syntactic group. This aspect is reinforced by the use of a separator, here the character 'I' of sentence identification. All concatenated roles begin with this character that signals the role-attaching phrase, Each additional occurrence in a role concatenation indicates an additional level of subordination. This subordination is, for example, relative, completive, circumstantial or any other syntactic use permitted by the language in question. In a variant of the invention, the substitution step 1030 comprises a marking sub-step 1070 according to a calculation function. This calculation function, applied to a tagged syntactic group, produces a second tag that is added to said tagged syntactic group. This addition is done by concatenation. A calculation function is, for example, a function for determining a syntactic function. Such a syntactic function takes as parameter at least: the role of the marked group, the latter being available at least via the first marking, the morphosyntactic traits of the syntactic group corresponding to the marked syntactic group. The morphosyntactic traits are, for example: time: past, present, future ...; - the mode: indicative, conditional, imperative, ... - The modality: power, will, duty, ...; - The auxiliary: to be or to have; 15 - The support: to finish, to accept, ...; - the voice: active or passive; - negation, interrogation, ...; - the gender: masculine or feminine; - the number: singular or plural; 20 - Intensification: very good, ...; - comparison: less good than, ...; - ... the list is not exhaustive. A syntactic function is, for example: factuality: expresses the fact that the analyzed sentence expresses a certain fact; - uncertainty: expresses the fact that the analyzed sentence expresses a hypothesis, an uncertain fact; - prediction: expresses the fact that the analyzed sentence expresses an event to come; Past: expresses the fact that the analyzed sentence expresses a fact situated in the past; - present: expresses the fact that the analyzed sentence expresses a fact situated in the present; - negation: expresses the fact that the sentence analyzed has a negative form; - interrogation: expresses the fact that the analyzed sentence has an interrogative form; Other syntactic functions may be mentioned, for example: masculine, feminine, singular, plural, active, passive, transitive, intransitive ... the list is not exhaustive. In this variant the transformation of the sentence Namel buys Name2 will produce the following syntactic groups: - Namel becomes <NS_Namel>, Namel is the subject of the verb; 10 - Name2 becomes <NO_Name2>, Name2 is the object of the verb; - buys becomes </ y_buy_MDCertain> [0053] We see here that the treatment of the syntactic group "buys" gives a marked syntactic group with a syntactic function marker "MDCertain" indicating the factuality of the sentence: this verb corresponds to a fact 15 certain. The concatenation is preferably opposite to the first marker. But the invention remains valid if one considers markers separated by a marker separator, for example a predetermined character. Each syntactic function corresponds to a predetermined code. It is possible that the calculation function does not return any markers, in which case the marked syntactic group treated remains unchanged. In a variant, in particular for the case where the sentence is transformed for an indexing, the calculation function does not modify a marked syntactic group but adds one. In this variant we would obtain the set of syntactic groups marked as follows: Namel becomes </ VS_Namel>; - Name2 becomes <NO_Name2>; - buys becomes <N_buy>; - buys becomes <N_buy_MDCertain>. [0057] The syntactic group "buys" is thus transformed into two marked syntactic groups. This variant makes it possible to carry out searches taking into account the syntactic functions of the syntactic groups. In a variant where the calculation function would produce several markers, one would produce as many additional marked syntactic groups as markers produced by the computation function. In a variant of the invention, the step 1030 of substitution comprises a sub-step 1080 of automatic detection of named entities. This 5-step process of named entity processing is another case of calculation function. In this case the calculation function returns one or more categories. We add to the transformed form as many marked syntactic groups as categories returned by the calculation function, in each added syntactic group we replace the normalized form by the category. In this variant, the transformation of the Name1 buys Name2 sentence will produce the following syntactic groups: - Name1 becomes <NS_Name1>; - Name1 becomes <NS_organization>; - Name2 becomes <NO_Name2>; 15 - Name2 becomes <NO_organization>; - buys becomes <N_buy_MDCertain>; - buys becomes <N_buy>. In a variant of the invention, the step 130 of substitution comprises a sub-step 1090 of lexical expansion. This lexical expansion substep uses a dictionary of lexical implication to increase the number of syntactic groups marked on the same principle as the detection of named entities, but using a different dictionary. An example of an entry of an implication dictionary: cat => feline => mammal => animal [0061] With this example, the phrase "the cat sleeps" produces the set of syntactic groups marked as follows: <NS_chat> - <NSfelin> - <NS_mamm ifere> 30 - <NS_animal> - <N_dorm ir>. The step 1030 of substitution is followed by a step 1100 of automatic production of a transformed form of the acquired sentence. A transformed form 3030078 is a set of marked syntactic groups. Here together is opposed to sequence in that in a set the order does not matter. The transformed form is saved in a memory. In a variant of the invention the identified syntactic group 5 corresponds to a sub-tree of the sentence. For example, in the following sentence, "black cat eats the mouse", the syntactic group subject "black cat" can still break down to give: - </ VS_cat> 10 - <NS Q_b lack> [0064] Thus, an identified syntactic group can give a plurality, here 2, of marked syntactic groups. [0065] A variant of the invention corresponding to an indexing transformation mode has just been illustrated. The possible modes of transformation are: - question: the sentence is transformed in order to serve as a question; - indexing: the sentence is transformed to be inserted in an index. In the indexing mode, the transformed forms are recorded in a search engine, for example, Evening of the Apache foundation, and associated with a sentence and an original text. In a question mode all previous substeps are not present. In particular in a question mode, the sub-steps are not implemented: sub-step of detection of named entities; - sub-step of lexical expansion. Once an indexed text corpus is transformed the phrase searched "Namel buys Name2" according to a question mode and we search the result of the transformation according to a term-to-term comparison. The search 30 will bring out all the sentences whose transformation in indexing mode has produced a transformed form including all the marked syntactic groups of the transformation of the searched phrase into a question mode. A question mode transformation will give the marked syntactic groups: Namel becomes </ VS_Namel>; - Name2 becomes <NO_Name2>; 5 - buys becomes </ y_buy_MDCertain>. Thus one will find the texts including: - Namel becomes </ VS_Namel>; - Namel becomes <NS_organization>; - Name2 becomes <NO_Name2>; 10 - Name2 becomes <NO_organization>; - buys becomes </ V_buy_MDCertain>; - buys becomes <N_buy>. We note that the same text will be found if we do a search on "Namel buys an organization" (A company buys a company) or "An 15 organization buys organization" (A company buys a company). In a variant of the invention, the transformation of a sentence into a question mode comprises a substep of substitution called sub-step of lexical expansion by disjunction. This is a form of lexical expansion. This makes it possible to compensate for an indexing fault, and in particular for a lexical expansion defect in indexing mode. An expansion by disjunction produces, from a sentence, several transformed forms. The result of the search for such a transformation corresponds to all the sentences comprising at least one of the sets obtained by disjunction. For the disjunction we use a dictionary of disjunction. The disjunction dictionary is built on the same principle as a dictionary of lexical expansion. Consider the following sentence in an indexed document: "Noml sells 4x4" and consider that 4x4 has not been associated with car in the lexical expansion dictionary. We want to avoid forcing a user to list all car types in his request. Then, in a zone of the storage means of the processing device, a disjunction dictionary associating 4x4 to car is recorded. Then, in a transformation into question modes with disjunction we will obtain, from that question "Noml sells cars", the following transformed forms: 3030078 16 - First form: - <NS_N oml> - </ S_sale> - <NO_car> 5 - Second form by car expansion in 4x4: - <NS_N oml> - </ S_sale> - <N0_4x4> [0074] In this case a text containing the phrase "Name 1 sells 4x4" 10 will be found from the phrase question "Noml sells cars". The invention has been illustrated by an implementation allowing the use of a known and reputable search engine: Solr which is itself an implementation of Lucene (registered trademark). Solr is thus fed with texts transformed into indexing mode, and searches are made on sentences transformed into question mode. For this purpose the roles are recorded as a character string associated with a standardized form of a syntactic group. The terms produced can be used by an indexing engine (here Solr) in its standard version. It is obvious that these roles, in particular in the variant where they are relative, can be analyzed as a hierarchical linking of the syntactic groups, each relation then representing one or more syntactical roles. Consequently, the invention can also be implemented by using technologies adapted to storage and the exploitation of relationships, in particular by technologies exploiting graphs. We think in particular of technologies say "NoSQL" as for example "Neo4j" which is an associative database or database of graphs. In such an implementation, a normalized form is a node, and relationships make it possible to store the syntactical roles. Thus the syntactical roles are materialized by the recording of a relation between two nodes. The search is always carried out term by term, the terms being distributed between the nodes and the relations.