FR2880708A1 - Term e.g. typed character, searching method for digital handwritten document, involves converting handwritten data into intermediate data, in intermediate format, in form of segmentation graph, and searching terms on intermediate data - Google Patents

Term e.g. typed character, searching method for digital handwritten document, involves converting handwritten data into intermediate data, in intermediate format, in form of segmentation graph, and searching terms on intermediate data Download PDF

Info

Publication number
FR2880708A1
FR2880708A1 FR0500282A FR0500282A FR2880708A1 FR 2880708 A1 FR2880708 A1 FR 2880708A1 FR 0500282 A FR0500282 A FR 0500282A FR 0500282 A FR0500282 A FR 0500282A FR 2880708 A1 FR2880708 A1 FR 2880708A1
Authority
FR
France
Prior art keywords
search
data
ink
request
graph
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
FR0500282A
Other languages
French (fr)
Inventor
Pierre Michel Lallican
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MyScript SAS
Original Assignee
MyScript SAS
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 MyScript SAS filed Critical MyScript SAS
Priority to FR0500282A priority Critical patent/FR2880708A1/en
Priority to FR0501799A priority patent/FR2880709B1/en
Priority to US11/813,680 priority patent/US9875254B2/en
Priority to PCT/EP2006/050136 priority patent/WO2006075001A1/en
Priority to EP06700742.7A priority patent/EP1836651B1/en
Priority to CNB2006800021181A priority patent/CN100562885C/en
Publication of FR2880708A1 publication Critical patent/FR2880708A1/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/22Character recognition characterised by the type of writing
    • G06V30/226Character recognition characterised by the type of writing of cursive writing
    • G06V30/2268Character recognition characterised by the type of writing of cursive writing using stroke segmentation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Character Discrimination (AREA)

Abstract

The method involves converting handwritten data (101) into an intermediate data, in an intermediate format, in the form of a segmentation graph. Each node of the graph has a handwritten segment associated with a correspondence hypothesis with a recognition unit. Terms are searched on the intermediate data. The conversion is carried out during storage of a set of data and the search is carried out at any moment. Independent claims are also included for the following: (A) a computer program comprising program code instructions for executing steps of a method of searching a term in a set of raw data stored in sequential language (B) a device to search a term, formed with a character, in a set of handwritten data (C) a device for converting handwritten data to search a term, formed with a character, in a set of handwritten data (D) a regular expression language for the formulation of a search request for a set of handwritten documents stored in an intermediate data format.

Description

Procédé de recherche d'un terme, effectuée dans un format intermédiaire,Method of finding a term, carried out in an intermediate format,

dispositif, programme et langage correspondants.  device, program and language.

1. Domaine de l'invention Le domaine de l'invention est celui de la recherche et de la reconnaissance 5 de termes, dans des documents stockés sous forme numérique.  FIELD OF THE INVENTION The field of the invention is that of search and recognition of terms in documents stored in digital form.

Notamment, l'invention concerne la recherche d'information à l'intérieur de documents, dits documents d'encre, c'est-à-dire rédigés avec une écriture manuscrite et préalablement mémorisés directement sous cette forme, dans un système d'information documentaire, par exemple. L'invention peut également s'appliquer à d'autres types de documents, et par exemple des documents dictés.  In particular, the invention relates to the search for information inside documents, so-called ink documents, that is to say, written with a handwriting and previously stored directly in this form, in an information system. documentary, for example. The invention can also be applied to other types of documents, for example dictated documents.

Grâce à l'accroissement important des capacités de calcul et/ou de sauvegarde des ordinateurs de bureau, mais également de tous autres types de terminaux, pour la plupart mobiles, du type assistants personnels numériques (ou PDA pour Personal Digital Assistant en anglais), ardoises numériques, téléphones mobiles, etc., il est devenu possible de pouvoir acquérir et mémoriser des données et/ou des documents directement dans leur forme originelle manuscrite, sans conversion préalable dans un format informatique quelconque standardisé.  Thanks to the significant increase in computation and / or backup capabilities of desktop computers, but also all other types of terminals, most of them mobile, of the PDA type (or PDA for Personal Digital Assistant), digital slates, mobile phones, etc., it has become possible to acquire and memorize data and / or documents directly in their original handwritten form, without prior conversion into any standardized computer format.

Cependant, une fois de tels documents d'encre acquis et mémorisés, l'exploitation des données et/ou des informations manuscrites qu'ils contiennent nécessite la mise en oeuvre d'outils spécifiques et complexes. Ces outils permettent le plus souvent une conversion des données ou informations mémorisées en des éléments appartenant à un lexique, et une recherche à l'intérieur du ou des documents d'encre, des mots, des phrases ou des annotations convertis.  However, once such ink documents acquired and stored, the exploitation of the data and / or the handwritten information they contain requires the implementation of specific and complex tools. These tools most often allow a conversion of the stored data or information into elements belonging to a lexicon, and a search within the ink document or documents, converted words, sentences or annotations.

2. Solutions de l'art antérieur On connaît ainsi des systèmes permettant de convertir un langage séquentiel, typiquement la voix ou de l'écriture manuscrite, en une chaîne d'éléments compréhensibles par un système informatique, lesquels sont encodés dans un format du type ASCII, EBCDIC, ISO-Latin-1 ou UNICODE.  2. Solutions of the Prior Art Thus systems are known for converting a sequential language, typically voice or handwriting, into a chain of elements understandable by a computer system, which are encoded in a format of the type ASCII, EBCDIC, ISO-Latin-1 or UNICODE.

On connaît également parmi les systèmes de l'art antérieur, des systèmes autorisant la sauvegarde directe, par exemple sur un disque dur d'ordinateur, de documents d'encre saisie dans leur format manuscrit originel.  Also known from the systems of the prior art, systems allowing direct backup, for example on a computer hard drive, ink documents entered in their original handwritten format.

La recherche de données et/ou d'informations dans un ou plusieurs des documents d'encre mémorisés nécessite de pouvoir comparer les données à rechercher contenues dans la requête avec les données des documents d'encre stockées. Dans ce sens, plusieurs solutions ont été envisagées: comparer les données d'encre stockées avec le contenu de la requête lorsque ce dernier est également saisi de façon manuscrite; comparer les données d'encre stockées avec le contenu d'une requête saisie dans un format texte (ASCII par exemple,) mais convertie en un écrit manuscrit; comparer les données d'encre stockée, mais converties dans un format texte (ASCII par exemple) avec le contenu d'une requête elle-même au format 15 texte.  The search for data and / or information in one or more of the stored ink documents requires that the data to be searched for contained in the request can be compared with the data of the stored ink documents. In this sense, several solutions have been envisaged: comparing the stored ink data with the content of the query when the latter is also entered in a handwritten manner; compare the stored ink data with the content of a query entered in a text format (ASCII for example) but converted into a handwritten text; compare the stored ink data, but converted in a text format (ASCII for example) with the content of a query itself in text format.

Les deux premières approches sont bien sûr lourdes et consommatrices en termes de sollicitation du processeur (CPU) et de mémoire. Elles ne permettent pas un traitement efficace dans un temps raisonnable. La troisième suppose une conversion préalable en caractères, généralement à l'aide d'un lexique. Elle introduit donc un biais, puisque la conversion est limitée à une langue, et aux termes effectivement présents dans le lexique.  The first two approaches are of course heavy and consuming in terms of CPU solicitation and memory. They do not allow effective treatment in a reasonable time. The third assumes a prior conversion into characters, usually using a lexicon. It introduces a bias, since the conversion is limited to one language, and the terms actually present in the lexicon.

Une difficulté des processus de recherche réside principalement dans le fait que les données qui sont recherchées dans les documents mémorisés ne sont pas toujours de la même nature que celles utilisées dans le langage 25 d'interrogation.  A difficulty of the search processes lies mainly in the fact that the data that is searched for in the stored documents are not always of the same nature as those used in the query language.

Aussi est-il important que la technique utilisée permette de faire le lien entre ces données hétérogènes, ce qui implique d'associer à la fonction de recherche, une fonction de reconnaissance des données recherchées parmi tout ou partie des documents d'encre mémorisés.  It is therefore important that the technique used makes it possible to link these heterogeneous data, which implies associating with the search function a function for recognizing the searched data among all or part of the stored ink documents.

On connaît de tels systèmes de reconnaissance, qui s'appuient le plus souvent sur un traitement informatisé complexe nécessitant en contrepartie des capacités de traitement importantes, fortement consommatrices en termes de sollicitation du processeur (CPU) et de mémoire.  Such recognition systems are known, which most often rely on a complex computerized processing requiring, in return, significant processing capacities, which consume a lot of CPU and memory.

La plupart des systèmes de reconnaissance de l'art antérieur mettent donc en oeuvre plusieurs processus, parmi lesquels: une conversion des données d'encre vers un format au niveau caractère (ASCII ou autres), directement interprétable par un terminal d'ordinateur; une comparaison entre les données formatées en caractères et un modèle de 10 données prenant le plus souvent la forme d'un lexique.  Most recognition systems of the prior art therefore implement several processes, among which: a conversion of the ink data to a format at the character level (ASCII or others), directly interpretable by a computer terminal; a comparison between the data formatted in characters and a data model most often taking the form of a lexicon.

Un premier inconvénient de ces systèmes de reconnaissance de l'art antérieur concerne donc la nécessité d'utilisation d'un lexique au contenu souvent figé et limité en termes de quantité et de signification des mots qu'il contient.  A first disadvantage of these recognition systems of the prior art therefore concerns the need to use a lexicon content often frozen and limited in terms of quantity and meaning of the words it contains.

De plus l'utilisation d'un tel lexique implique une limitation importante en termes de qualité du résultat de la recherche, ce résultat dépendant forcément de la langue du lexique, de la richesse et de l'étendue de celui-ci. Pour cette raison, les techniques de reconnaissance de l'art antérieur renvoient, au moins dans certains cas, des résultats médiocres, et ne permettent pas non plus d'effectuer une recherche sur des noms propres, sur des noms d'entreprise, ou sur toute autre chaîne de caractères ou de symboles ayant pu être écrits dans les documents d'encre considérés pour la recherche, mais non présents dans le lexique.  Moreover, the use of such a lexicon implies a significant limitation in terms of the quality of the result of the research, this result necessarily depending on the language of the lexicon, the richness and the extent of it. For this reason, the recognition techniques of the prior art return, at least in some cases, poor results, and also do not allow to search on proper names, on company names, or on any other string of characters or symbols that may have been written in the ink documents considered for the search, but not present in the lexicon.

En outre, l'utilisation d'un lexique dans la phase de reconnaissance engendre le plus souvent des temps de réponse relativement longs dans le traitement de la requête et le rendu des résultats de la recherche à l'utilisateur.  In addition, the use of a lexicon in the recognition phase usually gives rise to relatively long response times in the processing of the request and the rendering of the results of the search to the user.

Pour pallier l'inconvénient précité, certaines autres techniques de l'art antérieur s'appuient sur la mise en oeuvre de procédés d'indexation dont le rôle principal est l'organisation préalable des données et/ou informations contenues dans les documents d'encre à l'intérieur desquels la recherche doit être appliquée. La mise en oeuvre d'un procédé d'indexation dans un contexte de recherche impose cependant en contrepartie que le contenu des documents d'encre ait préalablement fait l'objet d'une reconnaissance au moins partielle.  To overcome the aforementioned drawback, certain other techniques of the prior art rely on the implementation of indexing methods, the main role of which is the prior organization of the data and / or information contained in the ink documents. within which the research is to be applied. The implementation of an indexing method in a search context, however, requires that the content of the ink documents has previously been the subject of at least partial recognition.

Dans cet objectif, et pour réduire la durée globale de la recherche, certaines techniques proposent d'effectuer une reconnaissance préalable du contenu des documents d'encre mémorisés, puis de stocker le résultat de cette reconnaissance, par exemple sur un disque dur d'un ordinateur ou d'un serveur, et enfin, de lancer la recherche, non plus sur le contenu originel des documents d'encre mémorisés, mais sur le résultat de la reconnaissance préalablement effectuée, comme dans le document de brevet américain n : US 2003/ 101163.  For this purpose, and to reduce the overall duration of the search, some techniques propose to perform a prior recognition of the contents of the stored ink documents, and then store the result of this recognition, for example on a hard disk of a computer. computer or a server, and finally, to start the search, either on the original content of the stored ink documents, but on the result of the recognition previously carried out, as in the US patent document n: US 2003 / 101163.

Dans ces techniques connues, l'indexation se fait exclusivement au niveau du mot, et un score de confiance est affecté à chaque mot pour évaluer la probabilité qu'un mot recherché corresponde ou non à un des mots indexés.  In these known techniques, the indexation is done exclusively at the level of the word, and a confidence score is assigned to each word to evaluate the probability that a searched word corresponds or not to one of the indexed words.

Bien qu'améliorant les temps de réponse du traitement de la recherche et/ou du processus de reconnaissance, ces techniques de l'art antérieur s'avèrent relativement décevantes en termes de qualité de la reconnaissance. Elles sont en outre extrêmement limitées en termes de capacités de recherche. A titre d'exemple, il est en effet impossible avec ces techniques de rechercher des mots qui ne seraient pas renseignés dans le lexique ayant servi à la reconnaissance des documents préalablement mémorisés. Il en est de même pour la recherche des acronymes, des marques, des noms propres et de toutes autres abréviations ou chaînes de caractères et/ou de symboles non préalablement définis dans le lexique.  Although improving the response times of the search processing and / or the recognition process, these prior art techniques are relatively disappointing in terms of the quality of the recognition. They are also extremely limited in terms of research capabilities. By way of example, it is indeed impossible with these techniques to search for words that are not indicated in the lexicon used to recognize previously stored documents. It is the same for the search for acronyms, marks, proper names and any other abbreviations or strings of characters and / or symbols not previously defined in the lexicon.

L'intérêt de ces techniques connues de l'art antérieur est donc fortement limité à la recherche dans des documents préalablement mémorisés et lexicographiés, ce qui va à l'encontre d'une utilisation naturelle et étendue des systèmes de recherche et de reconnaissance dans des documents d'encre, par exemple dans le cadre de l'interrogation d'une base de données de documents d'entreprise, d'un système documentaire, etc. Enfin, un autre inconvénient de ces systèmes de recherche et de reconnaissance concerne leur incapacité, du fait de l'approche lexicale qu'ils imposent, à pallier une altération du contenu d'un document qui aurait pu survenir au moment de la mémorisation de celui-ci, ou bien encore à palier une erreur et/ou une approximation de la saisie de la requête effectuée par un utilisateur. En effet, dès lors qu'un utilisateur saisira dans sa requête un mot présentant une erreur d'orthographe, ou une erreur de frappe, le système de recherche et de reconnaissance ne renverra aucun résultat, alors qu'il pourrait retourner un résultat proche.  The interest of these known techniques of the prior art is therefore strongly limited to the search in previously stored and lexicographed documents, which goes against a natural and extensive use of search and recognition systems in ink documents, for example in the context of interrogating a database of business documents, a documentary system, etc. Finally, another disadvantage of these search and recognition systems concerns their incapacity, because of the lexical approach they impose, to mitigate an alteration of the content of a document that could have occurred at the moment of the memorization of the document. or else to overcome an error and / or an approximation of the input of the request made by a user. Indeed, as soon as a user enters in his request a word with a spelling error, or a typing error, the search and recognition system will not return any results, while it could return a close result.

De façon résumée, les techniques de recherche et/ou de reconnaissance connues de l'art antérieur présentent essentiellement cinq types d'inconvénients: 1. des problèmes liés à la segmentation des documents d'encre mémorisés sous la forme d'un fichier contenant un résultat d'indexation (que l'on nommera dans la suite: fichier d'indexation), dont l'utilisation est susceptible de provoquer des erreurs dans la reconnaissance; 2. des problèmes liés au manque de richesse du fichier d'indexation pouvant provoquer des situations dans lesquelles une requête de recherche d'un utilisateur ne puisse être reconnue par comparaison avec le lexique, par exemple en raison d'erreur d'orthographe ou de frappe, en raison d'une saisie de noms propres ou d'entreprises, ou d'acronymes; 3. des problèmes propres à la reconnaissance elle-même, lorsque l'étape de prétraitement et/ou de mémorisation des documents d'encre a été mal réalisée, 20 avec pour conséquence la création d'un fichier d'indexation, mais figé, sur lequel s'effectuera la recherche; 4. des problèmes liés à la requête de l'utilisateur, qui ne permet pas de s'affranchir de la contrainte linguistique, mais qui au contraire, doit être saisie dans la même langue que celle du lexique. De ce fait, toute recherche lancée sur la base d'une requête utilisateur ne respectant pas les mêmes contraintes linguistiques que celles du fichier d'indexation ne pourra pas être traitée par le système de reconnaissance. Ce dernier problème constitue probablement l'une des principales entraves à une utilisation plus naturelle et étendue des systèmes de recherche et de reconnaissance dans des documents d'encre; 5. des problèmes liés à l'impossibilité de pouvoir réaliser des recherches avancées sur la base d'une requête saisie dans un langage de plus haut niveau, du type expression régulière, par exemple, dans le but de formaliser plus amplement le contenu de la requête à partir de laquelle le traitement de la recherche pourra s'effectuer plus rapidement, tout en délivrant à l'utilisateur une plus grande qualité au niveau des résultats retournés.  In summary, the search and / or recognition techniques known from the prior art have essentially five types of disadvantages: 1. Problems related to the segmentation of the ink documents stored in the form of a file containing a document. indexing result (which will be named in the following: indexing file), whose use is likely to cause errors in the recognition; 2. Problems related to the lack of richness of the indexing file which can cause situations in which a search query of a user can not be recognized by comparison with the lexicon, for example due to misspelling or typing, due to an entry of own names or companies, or acronyms; 3. Problems specific to the recognition itself, when the step of pretreatment and / or storage of the ink documents was poorly performed, resulting in the creation of an indexing file, but fixed, on which the search will take place; 4. problems related to the request of the user, which does not allow to overcome the linguistic constraint, but which on the contrary, must be entered in the same language as that of the lexicon. As a result, any search launched on the basis of a user request that does not respect the same linguistic constraints as those of the indexing file can not be processed by the recognition system. This last problem is probably one of the main obstacles to a more natural and extensive use of search and recognition systems in ink documents; 5. Problems related to the impossibility of carrying out advanced searches on the basis of a query entered in a higher level language, such as the regular expression type, for example, in order to further formalize the content of the query from which the processing of the search can be done more quickly, while delivering the user a higher quality in the returned results.

Par ailleurs, il est à noter que les inconvénients listés ci- dessus s'appliquent pour la plupart de façon similaire à la reconnaissance vocale. Dans ce dernier cas, un terme peut également correspondre à un son, une syllabe...  Furthermore, it should be noted that the disadvantages listed above apply for the most part similarly to speech recognition. In this last case, a term can also correspond to a sound, a syllable ...

3. Définitions préliminaires Dans la suite de ce document, la terminologie suivante devra être considérée avec le sens défini ci- dessous: Caractère: par caractère, on entend un signe d'écriture unitaire (au sens d'un caractère ou symbole ASCII, par exemple).  3. Preliminary Definitions In the remainder of this document, the following terminology shall be considered with the meaning defined below: Character: by character, a unit sign (in the sense of an ASCII character or symbol) example).

Terme: par terme on entend n'importe quelle suite ou chaîne contenant au moins un caractère et/ou symbole manuscrit ou de texte dactylographié, pourvu ou dépourvu d'un sens particulier.  Term: term means any suite or string containing at least one character and / or handwritten symbol or typewritten text, provided or devoid of a particular meaning.

Segment d'encre: on définit par segment d'encre une partie du tracé d'un caractère délimitée par deux points de segmentation voisins consécutifs 20 disposés sur le tracé dudit caractère.  Ink Segment: A segment of ink is defined as a segment of a character delimited by two consecutive adjacent segmentation points 20 disposed on the path of said character.

Unité de reconnaissance: on la définit comme l'élément de plus bas niveau sur lequel pourra s'effectuer une recherche. Dans le cadre de la présente invention, l'unité de reconnaissance est le caractère.  Recognition Unit: This is defined as the lowest level element on which to search. In the context of the present invention, the recognition unit is the character.

Candidat de caractère: caractère reconnu comme ayant la plus grande 25 probabilité d'être le caractère recherché ; Hypothèse de correspondance: on la définit comme étant un candidat de caractère.  Candidate of Character: Character recognized as having the greatest probability of being the desired character; Matching Hypothesis: it is defined as a character candidate.

Graphe de segmentation: graphe formé d'une pluralité de noeuds contenant chacun au moins un segment d'encre susceptible d'appartenir à 30 un caractère donné. Chaque noeud du graphe peut être relié en amont et/ou en aval à d'autres noeuds du graphe de segmentation, de façon que soient établies les éventuelles relation d'ascendance et/ou de descendance entre les segments d'encre contenus dans chacun des noeuds reliés entre eux. Hypothèse de caractère: on la définit comme l'ensemble des segments d'encre associés à un noeud du graphe de segmentation; Modèle de langage: Modèle de requête: 4. Objectifs de l'invention L'invention a notamment pour objectif de pallier ces inconvénients de l'art 10 antérieur.  Segmentation graph: a graph formed of a plurality of nodes each containing at least one ink segment likely to belong to a given character. Each node of the graph can be connected upstream and / or downstream to other nodes of the segmentation graph, so that any possible ascending and / or descending relationships between the ink segments contained in each of the nodes connected to each other. Hypothesis of character: it is defined as the set of ink segments associated with a node of the segmentation graph; Language model: Request model: 4. Objectives of the invention The objective of the invention is notably to overcome these disadvantages of the prior art.

Plus précisément, un objectif de l'invention est de fournir une technique de recherche et de reconnaissance de termes, notamment mais non exclusivement, à l'intérieur de documents d'encre, qui soit rapide en temps d'exécution sur un ordinateur et/ou sur tout autre terminal fixe ou mobile.  More specifically, an object of the invention is to provide a search and recognition of terms, including but not limited to, within ink documents, which is fast in execution time on a computer and / or or on any other fixed or mobile terminal.

Un autre objectif de l'invention est de fournir une telle technique qui permette d'accroître sensiblement les possibilités de recherche et de reconnaissance de toute suite de termes, selon la définition précédente, que celle-ci soit pourvue ou dépourvue de sens.  Another object of the invention is to provide such a technique that substantially increases the possibilities of search and recognition of any series of terms, according to the previous definition, that it is provided or meaningless.

Un objectif supplémentaire de l'invention est de fournir une telle technique qui permette de s'affranchir de l'utilisation d'un lexique au contenu limité.  A further object of the invention is to provide such a technique that makes it possible to overcome the use of a lexicon with limited content.

Un autre objectif de l'invention est de fournir une telle technique qui soit indépendante de toute contrainte linguistique.  Another object of the invention is to provide such a technique that is independent of any linguistic constraint.

Encore un autre objectif de l'invention est, bien sûr, de fournir une telle technique qui assure de très bons résultats de recherche et/ou de reconnaissance, même en présence d'erreurs potentielles à l'intérieur des documents d'encre mémorisés, ou bien lors de la saisie du contenu de la requête de recherche par un utilisateur.  Yet another object of the invention is, of course, to provide such a technique which ensures very good search and / or recognition results, even in the presence of potential errors within the stored ink documents. or when entering the contents of the search query by a user.

L'invention a également pour objectif de fournir une telle technique qui soit simple et de coût raisonnable en termes d'implémentation.  The invention also aims to provide such a technique that is simple and reasonable cost in terms of implementation.

5. Caractéristiques essentielles de l'invention Ces objectifs, ainsi que d'autres qui apparaîtront par la suite, sont atteints à l'aide d'un procédé de recherche d'au moins un terme, formé d'au moins un caractère, dans au moins un ensemble de données d'encre. Selon l'invention, un tel procédé comprend avantageusement une opération de conversion des données d'encre en des données intermédiaires, dans un format intermédiaire, sous la forme d'au moins un graphe de segmentation, chaque noeud d'un des graphes comprenant au moins un segment d'encre associé à au moins une hypothèse de correspondance avec une unité de reconnaissance, et une opération de recherche du ou des termes, effectuée sur les données intermédiaires, l'opération de conversion étant effectuée une fois pour toute lors du stockage d'un des ensembles de données et l'opération de recherche pouvant être effectuée à tout moment.  5. ESSENTIAL CHARACTERISTICS OF THE INVENTION These objectives, as well as others which will appear subsequently, are achieved by means of a method of searching for at least one term, formed of at least one character, in at least one set of ink data. According to the invention, such a method advantageously comprises an operation of converting the ink data into intermediate data, in an intermediate format, in the form of at least one segmentation graph, each node of one of the graphs comprising at least one at least one ink segment associated with at least one matching hypothesis with a recognition unit, and a search operation of the one or more terms performed on the intermediate data, the conversion operation being carried out once and for all during the storage one of the data sets and the search operation can be performed at any time.

Avantageusement, l'opération de conversion comprend les étapes suivantes: découpage de l'ensemble en au moins un segment d'encre, chacun des segments étant délimité par deux points de segmentation voisins consécutifs; construction d'un graphe de segmentation formé de noeuds reliés par des branches, chaque noeud du graphe comprenant au moins un des segments d'encre et chaque branche du graphe reliant un premier noeud à un deuxième noeud pour définir une relation d'adjacence entre au moins un segment contenu dans le premier noeud et au moins un segment contenu dans le deuxième noeud; association à chacun des noeuds d'au moins une hypothèse de correspondance avec une unité de reconnaissance prédéterminée; association d'au moins un score de confiance à chacune des hypothèses de correspondance avec une unité de reconnaissance; classification des hypothèses de correspondance avec une unité de reconnaissance en fonction des scores de confiance.  Advantageously, the conversion operation comprises the following steps: cutting the assembly into at least one ink segment, each of the segments being delimited by two consecutive neighboring segmentation points; constructing a segmentation graph formed of nodes connected by branches, each node of the graph comprising at least one of the ink segments and each branch of the graph connecting a first node to a second node to define an adjacency relation between at least one segment contained in the first node and at least one segment contained in the second node; associating with each of the nodes at least one matching hypothesis with a predetermined recognition unit; associating at least one confidence score with each of the matching hypotheses with a recognition unit; classification of correspondence hypotheses with a recognition unit according to the confidence scores.

Préférentiellement, l'opération de recherche comprend les étapes suivantes: obtention d'une requête d'entrée comprenant le terme à rechercher; conversion du contenu de la requête d'entrée en au moins un automate de requête adapté au format intermédiaire; - recherche d'au moins une correspondance entre ledit terme et au moins un élément desdites données intermédiaires; - présentation et/ou transmission d'au moins un résultat de la recherche.  Preferably, the search operation comprises the following steps: obtaining an input request comprising the term to be searched; converting the content of the input request into at least one adapted query automaton in the intermediate format; searching for at least one correspondence between said term and at least one element of said intermediate data; - presentation and / or transmission of at least one result of the search.

De façon préférentielle, le score de confiance associé à une hypothèses de 5 correspondance avec une unité de reconnaissance est mémorisé dans ledit noeud correspondant dudit graphe.  Preferably, the confidence score associated with a hypothesis of correspondence with a recognition unit is stored in said corresponding node of said graph.

De façon également préférentielle, l'opération de conversion comprend une opération préalable de normalisation du tracé des caractères formant les données d'encre brutes, par contrôle et/ou correction d'au moins un des paramètres appartenant au groupe comprenant: une valeur d'inclinaison, relativement à au moins une direction de référence; un coefficient de rotation, relativement à au moins un axe donné; une épaisseur du trait; une hauteur et/ou une largeur du caractère relativement à au moins deux lignes 15 de référence, de façon à fournir un ensemble de données d'encre normalisé.  Also preferentially, the conversion operation comprises a prior operation for normalizing the plot of the characters forming the raw ink data, by checking and / or correcting at least one of the parameters belonging to the group comprising: a value of inclination relative to at least one reference direction; a coefficient of rotation, relative to at least one given axis; a thickness of the line; a height and / or width of the character relative to at least two reference lines, so as to provide a standard ink data set.

Avantageusement, l'étape de conversion comprend une étape d'élagage des branches du graphe de segmentation dont les noeuds contiennent les hypothèses de correspondance avec une unité de reconnaissance possédant un score de confiance faible.  Advantageously, the conversion step comprises a step of pruning the branches of the segmentation graph whose nodes contain the hypotheses of correspondence with a recognition unit having a low confidence score.

De façon également avantageuse, l'étape de classification présente, pour chaque noeud du graphe de segmentation, une liste des hypothèses de correspondance du noeud avec une unité de reconnaissance prédéterminée par ordre de score de confiance décroissant.  Also advantageously, the classification step presents, for each node of the segmentation graph, a list of hypotheses of correspondence of the node with a predetermined recognition unit in descending order of confidence score.

Préférentiellement, l'étape de classification met en oeuvre un filtrage des hypothèses de correspondance les plus probables, par comparaison des scores de confiance avec un seuil de valeur prédéterminé.  Preferably, the classification step implements a filtering of the most probable correspondence hypotheses, by comparison of the confidence scores with a predetermined value threshold.

De façon préférentielle, l'opération de classification s'appuie sur au moins une des techniques suivantes d'apprentissage, à base de: - réseaux de neurones de Kohonen; machine à vecteurs de support; méthodes à noyau; systèmes de logique floue; modèles de Markov caché; réseaux de neurones.  Preferably, the classification operation is based on at least one of the following learning techniques, based on: Kohonen neural networks; support vector machine; kernel methods; fuzzy logic systems; hidden Markov models; neural networks.

Avantageusement, l'opération de conversion comprend une étape de mémorisation et assure le stockage d'au moins certaines des informations suivantes: un ensemble des noeuds; une liste des hypothèses de correspondance de chacun des noeuds avec au moins une unité de reconnaissance; une localisation de chacun des noeuds dans l'ensemble de données d'encre brutes stockées, la localisation étant définie par au moins un point de segmentation; des informations relatives au fait qu'un noeud est adjacent à un espace séparant deux segments d'encre.  Advantageously, the conversion operation comprises a storage step and stores at least some of the following information: a set of nodes; a list of matching hypotheses of each of the nodes with at least one recognition unit; a location of each of the nodes in the stored raw ink data set, the location being defined by at least one segmentation point; information that a node is adjacent to a space separating two ink segments.

Préférentiellement, les points de segmentation sont déterminés suivants au moins un des critères appartenant au groupe comprenant: un extrema et/ou un minima déterminé relativement à des lignes de références; 20 un point d'inflexion; un début de pente croissante; un début de pente décroissante; un point d'arrêt dû à une surélévation du moyen d'écriture; un point d'apposition du moyen d'écriture; des croisements de traits De façon également avantageuse, le terme recherché appartient au groupe comprenant au moins un caractère dactylographié ou de texte manuscrit.  Preferably, the segmentation points are determined according to at least one of the criteria belonging to the group comprising: a determined extrema and / or minima relative to reference lines; 20 a point of inflection; a beginning of increasing slope; a beginning of decreasing slope; a stopping point due to an elevation of the writing means; a point of affixation of the writing means; Also advantageously, the search term belongs to the group comprising at least one typed character or handwritten text.

Préférentiellement, l'automate de requête est du type appartenant au groupe comprenant au moins un automate à états finis.  Preferably, the request automaton is of the type belonging to the group comprising at least one finite state machine.

De façon avantageuse, l'étape de conversion en au moins un automate comprend au moins: - une étape de découpage du contenu de la requête en unités de reconnaissance appartenant au groupe comprenant au moins: les lettres; les signes de ponctuation; les symboles; les espaces; les syllabes; les phonèmes; les graphèmes; une étape de mémorisation de chacune des unités de reconnaissance dans un état de l'automate de requête, Chaque état de l'automate de requête contient alors un unité de reconnaissance de la requête d'entrée et chaque branche de l'automate de requête relie un premier état avec un deuxième état définissant une relation d'ascendance/descendance entre les unités de reconnaissance contenues dans les premier et deuxième états.  Advantageously, the conversion step into at least one automaton comprises at least: a step of cutting the content of the request into recognition units belonging to the group comprising at least: the letters; punctuation marks; the symbols; the spaces; the syllables; the phonemes; graphemes; a step of storing each of the recognition units in a state of the request automaton, each state of the request automaton then contains a recognition unit of the input request and each branch of the request automaton connects a first state with a second state defining an ascending / descending relationship between the recognition units contained in the first and second states.

Avantageusement, l'opération de recherche comprend une mise en correspondance de chacune des unités de reconnaissance contenues dans chacun des états de l'automate de requête avec au moins un noeud du graphe, de façon à identifier les noeuds du graphe possédant la plus forte probabilité de correspondance avec l'unité de reconnaissance.  Advantageously, the search operation comprises a mapping of each of the recognition units contained in each of the states of the request automaton with at least one node of the graph, so as to identify the nodes of the graph having the highest probability. correspondence with the recognition unit.

De façon également avantageuse, durant l'opération de recherche, on progresse simultanément dans le graphe et dans l'automate de requête, de façon que lorsqu'une mise en correspondance entre un premier noeud du graphe de segmentation et une première unité de reconnaissance contenue dans un premier état de l'automate de requête a pu être réalisée, on sélectionne un deuxième état descendant directement du premier état de l'automate de requête et on détermine dans le graphe un noeud descendant directement du premier noeud et possédant la plus forte probabilité de correspondance avec la deuxième unité de reconnaissance.  Also advantageously, during the search operation, one progresses simultaneously in the graph and in the request automaton, so that when a mapping between a first node of the segmentation graph and a first recognition unit contained in a first state of the request automaton could be realized, one selects a second state directly descending from the first state of the request automaton and one determines in the graph a node descendant directly of the first node and having the highest probability correspondence with the second reconnaissance unit.

Préférentiellement, la mise en correspondance entre le graphe de segmentation et l'automate de requête utilise un treillis à maximum de vraisemblance, comprenant en abscisse le graphe à partir des segments d'encre, et en ordonnée l'automate de requête.  Preferably, the mapping between the segmentation graph and the request automaton uses a maximum likelihood lattice, comprising on the abscissa the graph from the ink segments, and on the ordinate the request automaton.

On détermine ainsi de façon avantageuse, le coût d'un chemin du graphe et de l'automate à états en calculant la somme des scores de confiance affectés aux noeuds du graphe ou aux arcs de transition entre les états de l'automate.  The cost of a path of the graph and of the state machine is thus advantageously determined by calculating the sum of the confidence scores assigned to the nodes of the graph or to the transition arcs between the states of the automaton.

De façon préférentielle, l'étape de présentation et/ou de transmission d'au moins un résultat de la recherche retourne en outre une information de localisation de chacune des occurrences reconnues à l'intérieur d'un des ensembles de données d'encre et/ou une information d'identification de l'ensemble de données d'encre.  Preferably, the step of presenting and / or transmitting at least one result of the search furthermore returns location information for each of the recognized occurrences within one of the ink data sets and / or identification information of the ink data set.

L'invention concerne également de façon avantageuse un programme d'ordinateur comprenant des instructions de code de programme pour l'exécution des étapes du procédé de recherche précité d'au moins un terme dans un ensemble de données brutes stockées en langage séquentiel, le terme se présentant sous la forme d'un signal d'entrée d'une requête saisie par un utilisateur, lorsque le programme est exécuté sur un ordinateur.  The invention also advantageously relates to a computer program comprising program code instructions for carrying out the steps of the aforementioned search method of at least one term in a set of raw data stored in sequential language, the term in the form of an input signal of a request entered by a user, when the program is executed on a computer.

L'invention concerne également de façon préférentielle, un dispositif de recherche d'au moins un terme, formé d'au moins un caractère, dans au moins un ensemble de données d'encre. Un tel dispositif selon l'invention comprend avantageusement des moyens de recherche du ou des termes, effectuée sur des données intermédiaires, préalablement stockées dans des moyens de stockage par des moyens de conversion des données d'encre en des données intermédiaires, dans un format intermédiaire, sous la forme d'au moins un graphe de segmentation, chaque noeud d'un des graphes comprenant au moins un segment d'encre associé à au moins une hypothèse de correspondance avec une unité de reconnaissance.  The invention also preferably relates to a device for searching for at least one term, formed of at least one character, in at least one set of ink data. Such a device according to the invention advantageously comprises search means of the term or terms, carried out on intermediate data, previously stored in storage means by means of converting ink data into intermediate data, in an intermediate format. in the form of at least one segmentation graph, each node of one of the graphs comprising at least one ink segment associated with at least one hypothesis of correspondence with a recognition unit.

De façon encore avantageuse, le dispositif selon l'invention appartient au groupe comprenant au moins: - un ordinateur de bureau ou portable; un assistant digital numérique; une ardoise électronique; un terminal de télécommunication mobile; une borne multimédia; un stylo numérique.  Still advantageously, the device according to the invention belongs to the group comprising at least: a desktop or laptop computer; a digital digital assistant; an electronic slate; a mobile telecommunication terminal; a multimedia terminal; a digital pen.

L'invention concerne également un dispositif de conversion de données d'encre en vue de recherches d'au moins un terme, formé d'au moins un caractère, dans au moins un ensemble de données d'encre. Selon l'invention, un tel dispositif de conversion comprend préférentiellement des moyens de conversion des données d'encre en des données intermédiaires, dans un format intermédiaire, sous la forme d'au moins un graphe de segmentation, chaque noeud d'un des graphes comprenant au moins un segment d'encre associé à au moins une hypothèse de correspondance avec une unité de reconnaissance, de façon que les recherches du ou des termes soient effectuées sur les données intermédiaires. La conversion est effectuée une fois pour toute lors du stockage d'un des ensembles de données et la recherche peut être effectuée à tout moment.  The invention also relates to an ink data converting device for searching at least one term, consisting of at least one character, in at least one set of ink data. According to the invention, such a conversion device preferably comprises means for converting the ink data into intermediate data, in an intermediate format, in the form of at least one segmentation graph, each node of one of the graphs. comprising at least one ink segment associated with at least one matching hypothesis with a recognition unit, so that searches for the one or more terms are performed on the intermediate data. The conversion is done once and for all when storing one of the data sets and the search can be performed at any time.

L'invention concerne enfin et de façon avantageuse, un langage d'expression régulière pour la formulation d'une requête de recherche parmi un ensemble de documents d'encre mémorisés dans un format de données intermédiaire. Selon l'invention, un tel langage est convertible sous la forme d'un automate de requête pouvant être directement exploité durant l'exécution des étapes du procédé de recherche d'au moins un terme dans un ensemble de données brutes stockées en langage séquentiel, selon les étapes du procédé précité, lorsque le programme est exécuté sur un ordinateur.  The invention finally and advantageously relates to a regular expression language for formulating a search query among a set of ink documents stored in an intermediate data format. According to the invention, such a language is convertible in the form of a request automaton that can be directly exploited during the execution of the steps of the method of searching for at least one term in a set of raw data stored in sequential language, according to the steps of the aforementioned method, when the program is run on a computer.

6. Liste des figures D'autres caractéristiques et avantages de l'invention apparaîtront plus clairement à la lecture de la description suivante d'un mode de réalisation préférentiel, donné à titre de simple exemple illustratif et non limitatif, et des dessins annexés, parmi lesquels: - la figure 1 donne un organigramme des différentes étapes du procédé de recherche selon l'invention, et précise en outre au niveau de quels composants du dispositif correspondant ces différentes étapes sont exécutées; - la figure 2 illustre les différentes étapes mises en oeuvre par l'opération de 10 conversion desdites données d'encre en des données intermédiaires, dans un format intermédiaire; la figure 3 décrit le principe du treillis à maximum de vraisemblance utilisé par l'automate de requête lors de la mise en correspondance entre le graphe de segmentation et l'automate de la requête; la figure 4 présente un organigramme du mécanisme de requêtage selon l'invention; - la figure 5 donne un exemple de représentation de l'automate obtenu pour une requête du type CALIFORNIA et SAN FRANCISCO .  6. List of Figures Other features and advantages of the invention will appear more clearly on reading the following description of a preferred embodiment, given as a simple illustrative and nonlimiting example, and the accompanying drawings, among others. which: - Figure 1 gives a flow chart of the different steps of the search method according to the invention, and further specifies at which components of the corresponding device these different steps are performed; FIG. 2 illustrates the various steps implemented by the operation of converting said ink data into intermediate data, in an intermediate format; FIG. 3 describes the principle of the maximum-likelihood trellis used by the request automaton during the mapping between the segmentation graph and the request automaton; Figure 4 shows a flowchart of the querying mechanism according to the invention; FIG. 5 gives an example of representation of the automaton obtained for a request of the type CALIFORNIA and SAN FRANCISCO.

7. Description d'un mode de réalisation de l'invention Le mode de réalisation décrit ci-après concerne la recherche de termes dans des documents d'encre.  7. DESCRIPTION OF AN EMBODIMENT OF THE INVENTION The embodiment described hereinafter relates to the search for terms in ink documents.

Le principe de l'invention repose donc sur une approche nouvelle et inventive de la recherche et/ou la reconnaissance d'écriture (et plus généralement de termes), laquelle utilise une opération de conversion des données d'encre dans lesquelles doit s'effectuer la recherche en des données intermédiaires, dans un format intermédiaire, sous la forme d'au moins un graphe de segmentation.  The principle of the invention is therefore based on a new and inventive approach to searching and / or writing recognition (and more generally to terms), which uses a conversion operation of the ink data in which to perform the search in intermediate data, in an intermediate format, in the form of at least one segmentation graph.

Chaque noeud d'un des graphes comprend au moins un segment d'encre extrait des données d'encre associé à au moins une hypothèse de correspondance avec une unité de reconnaissance. Selon l'invention, l'opération de recherche et/ou de reconnaissance du ou des termes ne s'effectue plus sur les données d'origine, mais dynamiquement à partir des données intermédiaires. L'opération de conversion est effectuée une fois pour toute au moment du stockage d'un des ensembles de données et l'opération de recherche peut ainsi s'effectuer à tout moment. Bien sûr, si le document est modifié, une nouvelle conversion (et un nouveau stockage) doit être effectuée.  Each node of one of the graphs comprises at least one ink segment extracted from the ink data associated with at least one correspondence hypothesis with a recognition unit. According to the invention, the search operation and / or recognition of the term or terms is no longer performed on the original data, but dynamically from the intermediate data. The conversion operation is carried out once and for all at the time of storage of one of the data sets and the search operation can thus be carried out at any time. Of course, if the document is changed, a new conversion (and a new storage) must be performed.

Comme illustré sur la figure 1, le procédé de recherche et/ou de reconnaissance selon l'invention comprend, dans ce mode de réalisation préféré, les étapes suivantes: A. une fois pour toutes: une conversion (100) préalable des documents ou données d'encre (101) dans lesquels devront s'effectuer la recherche et la reconnaissance d'écriture, dans un format intermédiaire mémorisé (102), par exemple dans un système de basede données. La conversion prend en entrée (112) les documents ou données originelles (101) pour les traiter et les convertir (113) dans le fichier de format intermédiaire (102) ; et le stockage du fichier de format intermédiaire; B. pour chaque recherche et/ou reconnaissance: la saisie d'une requête utilisateur (103) à partir d'une interface (104) de saisie; la conversion (105) de cette requête utilisateur sous la forme d'un automate de requête directement exploité (111) pour l'exécution de l'étape (106) de recherche et/ou de reconnaissance (114) à l'intérieur des documents et/ou des données d'encre converties et mémorisées (102) ; la mise en forme (107) du résultat de la recherche et/ou de la reconnaissance, ce dernier étant directement influencé ou orienté (108) par le contenu de la requête convertie (105) ; la présentation (110) du ou des résultats (109) à l'utilisateur, soit directement sous la forme d'une liste de termes recherchés et reconnus dans les documents d'encre mémorisés, soit sous la forme d'une localisation et d'une mise en évidence d'une ou plusieurs occurrences des termes recherchés.  As illustrated in FIG. 1, the search and / or recognition method according to the invention comprises, in this preferred embodiment, the following steps: A. once and for all: a prior (100) conversion of the documents or data ink (101) in which the search and write recognition will take place, in a stored intermediate format (102), for example in a database system. The conversion takes as input (112) the original documents or data (101) for processing and converting them (113) into the intermediate format file (102); and storing the intermediate format file; B. for each search and / or recognition: the entry of a user request (103) from an input interface (104); the conversion (105) of this user request in the form of a directly exploited query automaton (111) for the execution of the search and / or recognition step (106) (114) within the documents and / or converted and stored ink data (102); formatting (107) the result of the search and / or recognition, the latter being directly influenced or oriented (108) by the content of the converted request (105); presenting (110) the result (s) (109) to the user, either directly in the form of a list of searched and recognized terms in the stored ink documents, or in the form of a location and highlighting one or more occurrences of the searched terms.

Ces différentes étapes peuvent être mise en oeuvre et/ou exécutées par un programme d'ordinateur (115) intégrant pour son fonctionnement un moteur de recherche et/ou de reconnaissance dont le rôle consiste principalement, mais non exclusivement d'une part en l'exécution de l'étape de conversion (105) de la requête saisie par l'utilisateur sous la forme d'un automate de requête, et d'autre part en l'exécution de l'étape (106) de recherche et/ou de reconnaissance (114) à l'intérieur des documents et/ou des données d'encre converties et mémorisées (102).  These various steps can be implemented and / or executed by a computer program (115) integrating for its operation a search engine and / or recognition whose role consists mainly, but not exclusively on the one hand in the executing the conversion step (105) of the request entered by the user in the form of a request automaton, and on the other hand executing the search step (106) and / or recognizing (114) within the documents and / or converted and stored ink data (102).

C'est également au niveau du moteur de recherche (116) que pourra s'exécuter le traitement (107) des résultats (109) obtenus pour la recherche et/ou la reconnaissance d'écriture, avant que ces derniers ne soient présentés à l'utilisateur via l'interface utilisateur (104).  It is also at the level of the search engine (116) that the processing (107) of the results (109) obtained for the search and / or the write recognition can be executed before they are presented to the search engine. user via the user interface (104).

Dans ce mode de réalisation préféré de l'invention, l'étape (100) de conversion des documents d'encre (101) dans un format intermédiaire (102), mémorisés sous la forme d'au moins un graphe de segmentation comprend elle-même un ensemble prédéterminé d'opérations à exécuter, comme illustré sur la figure 2: le découpage (202) de l'ensemble des données d'encre en au moins un segment d'encre (203, 204) d'encre dans ledit ensemble de données d'encre (200), chacun desdits segments (203, 204) étant délimité par deux points (205, 206) de segmentation voisins consécutifs; la construction (207) d'un graphe (208) de segmentation formé de noeuds (209) reliés par des branches (210). Chaque noeud (209) du graphe (208) comprend au moins un des segments (203, 204) d'encre produits et chacune de ses branches (210) reliant un premier noeud (209) à un deuxième noeud (209) définit une relation d'adjacence entre au moins un segment contenu dans le premier noeud et au moins un segment contenu dans le deuxième noeud, de façon à former au moins une séquence (208) de segments. On rappelle, conformément à la définition du paragraphe ici que dans un mode de réalisation préférée de l'invention une hypothèse de caractère définit un ensemble de segments d'encre associés à un noeud du graphe de segmentation; l'association (211) à chacun des noeuds (205, 206) d'au moins une hypothèse de correspondance avec une unité de reconnaissance (212) prédéterminée et d'au moins un score (213) de confiance à chacune desdites hypothèses (205, 206). En outre, on précise qu'en pratique, un score de confiance au sens de l'invention indique une probabilité qu'un segment d'encre, ou que la combinaison de plusieurs segments d'encre, corresponde effectivement à un caractère prédéterminé.  In this preferred embodiment of the invention, the step (100) of converting the ink documents (101) into an intermediate format (102) stored in the form of at least one segmentation graph itself comprises even a predetermined set of operations to be performed, as illustrated in FIG. 2: the cutting (202) of the set of ink data into at least one ink segment (203, 204) of ink in said set ink data (200), each of said segments (203, 204) being delimited by two consecutive neighboring segmentation points (205, 206); the construction (207) of a segmentation graph (208) formed of nodes (209) connected by branches (210). Each node (209) of the graph (208) comprises at least one of the produced ink segments (203, 204) and each of its branches (210) connecting a first node (209) to a second node (209) defines a relationship of adjacency between at least one segment contained in the first node and at least one segment contained in the second node, so as to form at least one sequence (208) of segments. It will be recalled, in accordance with the definition of the paragraph herein, that in a preferred embodiment of the invention a character hypothesis defines a set of ink segments associated with a node of the segmentation graph; associating (211) with each of the nodes (205, 206) at least one matching hypothesis with a predetermined recognition unit (212) and at least one confidence score (213) with each of said hypotheses (205). , 206). In addition, it is specified that in practice, a confidence score in the sense of the invention indicates a probability that an ink segment, or the combination of several ink segments, actually corresponds to a predetermined character.

On rappelle également ici que dans ce mode de réalisation préférée de l'invention, une unité de reconnaissance correspond à un caractère, et l'hypothèse de correspondance avec un caractère correspond à un candidat de caractère (Cf. définitions au paragraphe 3).  It is also recalled here that in this preferred embodiment of the invention, a recognition unit corresponds to a character, and the matching hypothesis with a character corresponds to a character candidate (see definitions in paragraph 3).

la classification (214) des hypothèses de correspondance (205, 206) en fonction des scores (213) de confiance associés.  classifying (214) matching hypotheses (205, 206) based on associated confidence scores (213).

Cette étape de conversion détaillée sur la figure 2 aboutit donc à la génération d'un fichier ou d'une base de données (215) contenant l'ensemble des graphes de segmentation sur lesquels pourra s'appuyer la recherche.  This conversion step detailed in FIG. 2 thus leads to the generation of a file or a database (215) containing all the segmentation graphs on which the search can be based.

L'un des principaux intérêts de cette étape de conversion des données ou des documents d'encre consiste à permettre l'enrichissement de ces dernières avec des informations issues de leur traitement préalable, basé sur un processus de reconnaissance de l'écriture.  One of the main interests of this step of converting data or ink documents is to allow the enrichment of the latter with information from their prior processing, based on a process of recognition of writing.

Un autre avantage de cette approche selon l'invention concerne la possibilité qu'elle offre de n'avoir à effectuer qu'une reconnaissance partielle sur les documents d'encre convertis. Cette reconnaissance partielle s'oppose à une reconnaissance complète qui doit prendre en compte des éléments linguistiques (lexique, modèle de langage) pour la reconnaissance des caractères, en appréciant la vraisemblance d'un caractère au regard du contexte (autres caractères et/ou mots voisins). Au contraire, l'approche proposée dans le cadre de la présente invention permet de s'affranchir complètement de toute contrainte lexicale et linguistique. Elle permet en outre de réaliser un maximum de traitements en amont de la phase de recherche et de reconnaissance, dans l'objectif de gagner en temps de calcul lors de la recherche et donc en temps de réponse pour le rendu des résultats de la recherche à l'utilisateur, celui-ci devant être le plus faible possible, c'est-à-dire de l'ordre de quelques centaines de millisecondes à deux ou trois secondes au maximum.  Another advantage of this approach according to the invention relates to the possibility that it offers to have to perform only a partial recognition on the converted ink documents. This partial recognition is opposed to a complete recognition which must take into account linguistic elements (lexicon, language model) for the recognition of the characters, by appreciating the likelihood of a character with regard to the context (other characters and / or words neighbors). On the contrary, the approach proposed in the context of the present invention makes it possible to overcome completely any lexical and linguistic constraints. It also makes it possible to perform a maximum of treatments upstream of the research and recognition phase, in order to save computing time during the search and therefore in response time for the rendering of the results of the research to the user, it must be as low as possible, that is to say of the order of a few hundred milliseconds to two or three seconds at most.

Cette approche permet enfin de favoriser une recherche rapide même sur des données ou des documents non encore préalablement reconnus et/ou 10 mémorisés.  This approach finally makes it possible to promote a fast search even on data or documents not yet recognized and / or memorized.

Pour réaliser cette étape de conversion des données ou documents d'encre originels (101), une première opération de découpage (202) en une pluralité de segments pour chacun des caractères contenus dans ces données ou documents est réalisée.  To perform this conversion step of the original ink data or documents (101), a first cutting operation (202) into a plurality of segments for each of the characters contained in these data or documents is performed.

Une telle étape de découpage peut s'effectuer à différents niveaux: par exemple une phrase en mots, un mot en caractères et un caractère en segments d'encre. Il peut également différer en fonction du style de l'écriture à analyser (écriture cursive, majuscule ou caractère isolé).  Such a cutting step can be performed at different levels: for example a sentence in words, a word in characters and a character in ink segments. It can also differ depending on the style of the script to be parsed (cursive, uppercase, or single character).

Dans un mode de réalisation préféré de la présente invention, le découpage s'effectue au niveau des caractères. Il s'agit alors d'effectuer une segmentation directement au niveau des caractères, de façon à déterminer pour chaque caractère, au moins deux segments indépendants. Il est important de souligner cependant que cela ne signifie pas pour autant que la segmentation sera nécessairement sur les caractères considérés de façon unitaire, ce qui imposerait, bien qu'il existe des techniques pour cela, une étape supplémentaire et coûteuse de détection préalable dans l'écriture texte ou manuscrite de caractères indépendant.  In a preferred embodiment of the present invention, the division is performed at the character level. It is then a matter of segmentation directly at the level of the characters, so as to determine for each character, at least two independent segments. It is important to emphasize, however, that this does not mean that segmentation will necessarily be on the characters considered unitarily, which would require, although there are techniques for this, an additional and costly step of prior detection in the field. text or handwriting of independent characters.

Au contraire, dans l'approche préconisée ici, la segmentation pourra s'effectuer aussi bien sur les caractères, que sur une partie des caractères, ou bien encore sur tout ou partie d'un ensemble de caractères reliés entre eux. Ce qui importe, c'est que le moteur (116) de recherche et/ou de reconnaissance puisse définir un certain nombre de points de segmentation ( segmentation cuts en anglais), lesquels doivent servir de base pour former des hypothèses de caractères sur les segments ou les combinaisons des segments ainsi déterminés.  On the contrary, in the approach advocated here, the segmentation can be carried out as well on the characters, as on a part of the characters, or on all or part of a set of characters connected to each other. What is important is that the search and / or recognition engine (116) can define a certain number of segmentation points (segmentation cuts in English), which must serve as a basis for forming character hypotheses on the segments. or the combinations of the segments thus determined.

Pour réaliser cette étape (202) de découpage ou segmentation des données ou documents (101) d'encre sur lesquels la recherche et la reconnaissance devra s'appuyer, plusieurs types de critères peuvent être considérés. On cite à titre d'exemple illustratif et non limitatif les critères suivants: détermination d'extrema et de minima dans l'écriture manuscrite, relativement à un axe vertical; détection de points de forte courbure ou de points d'inflexion au niveau des caractères ou ensembles de caractères manuscrits; détection d'un début de pente croissante; détection d'un début de pente décroissante; détection d'un point d'arrêt dû à une surélévation du moyen d'écriture; 15 détection d'un point d'apposition du moyen d'écriture; détection de croisement(s).  To perform this step (202) of cutting or segmentation of data or ink documents (101) on which research and recognition will have to rely, several types of criteria can be considered. The following criteria are cited as illustrative and nonlimiting examples: determination of extrema and minima in handwriting, relative to a vertical axis; detection of points of strong curvature or inflection points at the level of characters or sets of handwritten characters; detection of a beginning of increasing slope; detecting a beginning of decreasing slope; detecting a breakpoint due to an elevation of the writing means; Detecting a point of affixation of the writing means; crossing detection (s).

Le résultat de cette première opération de découpage conduit à la génération d'un ensemble de segments d'encre qui seront utilisés pour la détermination des hypothèses de caractères, chaque segment d'encre ainsi déterminé étant délimité par deux points de segmentation voisins consécutifs.  The result of this first cutting operation leads to the generation of a set of ink segments that will be used for the determination of the character hypotheses, each ink segment thus determined being delimited by two consecutive neighboring segmentation points.

Si nécessaire, dans une variante du mode de réalisation préféré de l'invention, et suivant le niveau de qualité requis pour le résultat de la recherche et de la reconnaissance, un pré-traitement (201) pourra être appliqué à l'encre de façon à la normaliser et ainsi la rendre invariable et indépendante du style d'écriture initial.  If necessary, in a variant of the preferred embodiment of the invention, and depending on the level of quality required for the result of the search and recognition, a pre-treatment (201) may be applied to the ink to normalize it and thus make it invariable and independent of the initial writing style.

Cette normalisation (201) peut s'effectuer aussi bien en jouant sur l'inclinaison du tracé de l'écriture manuscrite ( slant correction en anglais) relativement à un référentiel sensiblement vertical, sur la rotation de l'écriture relativement à un axe de rotation, sur la hauteur de l'écriture, celle-ci pouvant être ramenée entre des lignes (216) de référence séparées d'une distance prédéterminée. Il est clair que cette étape (201) de normalisation pourra s'appuyer sur tous autres critères de normalisation non listé ici.  This normalization (201) can be performed as well by playing on the inclination of the trace of the handwriting (slant correction in English) relative to a substantially vertical reference, on the rotation of the writing relative to an axis of rotation on the height of the writing, which can be reduced between reference lines (216) separated by a predetermined distance. It is clear that this normalization step (201) can rely on any other normalization criteria not listed here.

De plus, l'étape (207) de construction du graphe de segmentation, aura pour rôle principal d'associer ou de regrouper les segments d'encre, sous la forme de séquences (208) de segments d'encre, dans le but de déterminer des hypothèses de caractère correspondantes.  In addition, the step (207) of constructing the segmentation graph, the main role will be to associate or group the ink segments, in the form of sequences (208) of ink segments, for the purpose of to determine corresponding hypotheses of character.

Dans l'exécution de cette étape (207), on fera une estimation de la probabilité (213) pour qu'un segment puisse former une hypothèse de caractère (212). Puis on répétera l'opération pour ce même segment en lui associant le segment qui le succède directement, dans le but d'optimiser le ou les chemins à investiguer à l'intérieur du graphe de segmentation. . On définit ainsi une relation d'ascendance/descendance entre les segments d'une même séquence de caractères ainsi déterminée. On rappelle également ici et conformément aux définitions du paragraphe 3, qu'une hypothèse de caractère est constituées de un à N>0 segments d'encre consécutifs.  In performing this step (207), an estimate of the probability (213) will be made for a segment to form a character hypothesis (212). Then we will repeat the operation for the same segment by associating it with the segment that directly succeeds it, in order to optimize the path (s) to be investigated within the segmentation graph. . An ascending / descending relationship is thus defined between the segments of the same sequence of characters thus determined. It is also recalled here and in accordance with the definitions in paragraph 3 that a character hypothesis consists of one to N> 0 consecutive ink segments.

Dans le même sens, il est possible au cours de l'exécution de l'étape de création du graphe de segmentation, d'envisager un traitement supplémentaire consistant à élaguer au fur et à mesure, ou bien après les création complète du graphe de segmentation, les branches de celui-ci correspondant à des hypothèse de très faible probabilité. L'intérêt d'une telle étape supplémentaire est notamment l'optimisation de la recherche et de la reconnaissance dans l'encre puisque le nombres des hypothèses de caractères à tester sera moins important, avec pour autre conséquence positive, une diminution sensible du temps de réponse global permettant la fourniture d'un résultat à l'utilisateur.  In the same way, it is possible during the execution of the step of creation of the segmentation graph, to envisage an additional processing consisting of pruning as and when, or after the complete creation of the segmentation graph , the branches of it corresponding to hypotheses of very low probability. The interest of such an additional step is notably the optimization of the search and the recognition in the ink since the number of the hypotheses of characters to be tested will be less important, with for other positive consequence, a significant decrease of the time of global response for providing a result to the user.

Ce graphe (208) de segmentation fait ensuite l'objet d'un traitement à travers l'étape (214) de classification de caractères qui, au moyen d'un procédé (211) d'extraction des caractéristiques, va calculer pour chaque hypothèse (213) de correspondance avec une hypothèse de caractère (212), correspondant à chaque noeud (209) du graphe de segmentation (208), un ensemble de scores (213) indiquant la probabilité qu'une hypothèse soit effectivement un caractère plutôt qu'un autre.  This segmentation graph (208) is then processed through the character classification step (214) which, by means of a feature extraction method (211), will compute for each hypothesis. (213) correspondence with a character hypothesis (212), corresponding to each node (209) of the segmentation graph (208), a set of scores (213) indicating the probability that a hypothesis is actually a character rather than a another.

Cette étape (214) de classification pourra s'appuyer, à titre d'exemple illustratif et non limitatif, sur l'un au moins des moyens suivants: réseaux de neurones de Kohonen; machine à vecteurs de support; méthodes à noyau; systèmes de logique floue; modèles de Markov caché; réseaux de neurones.  This classification step (214) may be based, as an illustrative and nonlimiting example, on at least one of the following means: Kohonen neural networks; support vector machine; kernel methods; fuzzy logic systems; hidden Markov models; neural networks.

Le résultat de cette classification de chaque hypothèse de caractère correspondant à chaque noeud peut être représenté sous la forme d'une liste des meilleurs candidats caractères (212) (ou top-list en anglais), ordonnés par scores de confiance (213) décroissants, chaque candidat étant en effet affecté d'un score de confiance.  The result of this classification of each character hypothesis corresponding to each node can be represented in the form of a list of the best candidate characters (212) (or top-list in English), ordered by decreasing confidence scores (213), each candidate is indeed assigned a confidence score.

Après cette étape de reconnaissance au niveau des caractères, le système de reconnaissance présente différents candidats pour chaque hypothèse de caractère. À ce stade, certains de ces candidats peuvent être rejetés ou validés, dès lors qu'ils ont un score de confiance inférieur, ou bien au contraire supérieurs à un seuil prédéterminé. Il est bien entendu que ce seuil permettant de retenir ou bien de rejeter un candidat pourra être configuré par l'utilisateur, par exemple en fonction du niveau de pertinence de la recherche et/ou de la reconnaissance qu'il souhaite obtenir en termes de résultat à sa requête.  After this recognition step at the character level, the recognition system presents different candidates for each character hypothesis. At this stage, some of these candidates may be rejected or validated, if they have a lower confidence score, or on the contrary exceed a predetermined threshold. It is understood that this threshold for retaining or rejecting a candidate may be configured by the user, for example depending on the level of relevance of the search and / or the recognition that he wishes to obtain in terms of the result at his request.

Le résultat issu de l'exécution de ces différentes opérations (201, 202, 207, 211, 214) est stocké dans un format intermédiaire, par exemple à l'intérieur d'une base de données (215). L'intérêt majeur de la mémorisation de tout ou partie des résultats d'exécution de l'étape (100, 113) de conversion des données d'encre originelles, concerne la possibilité de pouvoir conserver un maximum d'informations sur les données d'origine, de façon à pouvoir effectuer une reconnaissance optimale en termes de qualité, avec un minimum d'erreur. A titre d'exemple non limitatif, les informations suivantes seront stockées pour chque segment déterminé dans la bases de données ou dans le fichier (215), à l'issue de l'étape (100, 113) de conversion des documents ou données d'encre: un ensemble desdits noeuds; une liste desdites hypothèses de correspondance de chacun desdits noeuds avec 5 au moins une unité de reconnaissance; une localisation de chacun desdits noeuds dans ledit ensemble de données d'encre brutes stockées, ladite localisation étant définie par au moins un point de segmentation; des informations relatives au fait qu'un noeud est adjacent à un espace séparant 10 deux segments d'encre.  The result resulting from the execution of these various operations (201, 202, 207, 211, 214) is stored in an intermediate format, for example within a database (215). The major advantage of memorizing all or part of the execution results of the step (100, 113) of conversion of the original ink data concerns the possibility of being able to keep a maximum of information on the data of origin, so that it can perform an optimal recognition in terms of quality, with a minimum of error. By way of nonlimiting example, the following information will be stored for each determined segment in the database or in the file (215), at the end of the step (100, 113) of converting the documents or data of ink: a set of said nodes; a list of said matching hypotheses of each of said nodes with at least one recognition unit; locating each of said nodes in said set of stored raw ink data, said location being defined by at least one segmentation point; information that a node is adjacent to a space separating two ink segments.

C'est donc sur la base de ce graphe d'hypothèses de caractère que l'étape de recherche et de reconnaissance proprement dite sera réalisée, de façon à déterminer de façon optimale quelles sont les parties de l'encre qui correspondent au mot, à l'expression ou au terme recherché. On rappellera ici que par terme, on entend n'importe qu'elle suite ou chaîne de caractères, de symboles, éléments de ponctuations, etc., qu'elle soit ou non pourvue d'un sens particulier.  It is therefore on the basis of this graph of hypotheses of character that the actual search and recognition step will be performed, in order to determine optimally which parts of the ink correspond to the word, the expression or the term sought. It will be recalled here that by term we mean any sequence or chain of characters, symbols, punctuation elements, etc., whether or not it has a particular meaning.

Une fois réalisée l'étape préalable (100, 113) de conversion des données ou documents d'encre dans lesquels devront s'effectuer les recherches, les requêtes utilisateur de recherche à l'intérieur de ces données ou documents d'encre peuvent être mises en oeuvre.  Once the preliminary step (100, 113) for converting the data or ink documents in which the searches will have to be carried out, the search user queries inside these data or ink documents can be put implemented.

Il est à souligner à nouveau que l'étape de conversion est réalisée une fois pour toute au moment du stockage dans le fichier ou la base de données (215). A chaque fois qu'une modification sur ces données d'encre, ou un ajout de nouvelles données d'encre est effectué, l'étape préalable de conversion (100, 113) sera reconduite, de façon que la recherche puisse également tenir compte des données ajoutées et/ou modifiées.  It should be emphasized again that the conversion step is performed once and for all at the time of storage in the file or database (215). Whenever a change on these ink data, or an addition of new ink data is made, the prior conversion step (100, 113) will be repeated, so that the search can also take into account data added and / or modified.

Un processus d'encodage de la requête de l'utilisateur est mis en oeuvre dans le cadre de la présente invention et vise à la conversion de la requête de recherche dans un format plus facilement exploitable par le procédé selon l'invention.  An encoding process of the user's request is implemented in the context of the present invention and aims at the conversion of the search query into a format more easily exploitable by the method according to the invention.

Dans la description du présent mode de réalisation de l'invention, nous considérerons que la requête est saisie dans un format texte (ASCII par exemple).  In the description of the present embodiment of the invention, we will consider that the request is entered in a text format (ASCII for example).

Comme précédemment mentionné, la présente invention propose de décomposer le processus de reconnaissance en deux parties: une première partie consistant en la conversion des données d'encre dans un format intermédiaire se présentant sous la forme d'une graphe de segmentation, et une deuxième partie correspondant à la recherche proprement dite.  As previously mentioned, the present invention proposes to break down the recognition process into two parts: a first part consisting of the conversion of the ink data into an intermediate format in the form of a segmentation graph, and a second part corresponding to the research itself.

Ces deux étapes sont volontairement séparées, contrairement aux systèmes connus de l'art antérieur, dans le but de préparer en amont toutes les opérations qui seront nécessaires et communes à toutes les éventuelles requêtes ultérieures d'un utilisateur.  These two steps are deliberately separate, unlike the known systems of the prior art, for the purpose of preparing in advance all the operations that will be necessary and common to all subsequent possible requests from a user.

En effet, à chaque fois qu'une requête (103) est formée par un utilisateur, un automate de requête correspondant est généré (105). Cet automate de requête (105) à états finis jouera le rôle de modèle de langage pouvant influencer les probabilités de reconnaissance lors de la recherche.  Indeed, each time a request (103) is formed by a user, a corresponding request automaton is generated (105). This finite state query automaton (105) will act as a language model that can influence the recognition probabilities during the search.

Les informations concernant l'encre retenues lors de l'étape de conversion (112, 113) ne contenant que des hypothèses de caractères, avec leurs candidats caractères et leurs scores respectifs, l'automate de requête généré (105) servira à orienter le résultat (109) de la recherche au moment de la reconnaissance.  The information concerning the ink retained during the conversion step (112, 113) containing only hypotheses of characters, with their candidate characters and their respective scores, the generated query automaton (105) will be used to guide the result. (109) from the search at the moment of recognition.

La recherche et la reconnaissance au sens de l'invention est donc fortement orientée par la requête (103), les hypothèses de caractères étant réinterprétées selon des contraintes visant à trouver explicitement les portions d'encre répondant à la requête, à l'intérieur du fichiers des données ou des documents d'encre convertis.  The search and recognition in the sense of the invention is therefore strongly oriented by the request (103), the character assumptions being reinterpreted according to constraints to explicitly find the portions of ink responding to the request, within the data files or converted ink documents.

La formulation de la requête sous forme d'automate de requête, permet non seulement de s'affranchir des contraintes linguistiques imposées par les lexiques classiques, mais également d'effectuer des recherches beaucoup plus avancées. Parmi les exemples d'utilisations d'automates pour effectuer des recherches avancées, on peut mentionner: - la recherche de n'importe quelle suite de caractères (nom propre, nom d'une entreprise, un acronyme...), etc.; la prise en compte de la casse (majuscule/minuscule); l'utilisation des opérateurs logiques (booléens [and, or, not...] ou autres) ; la recherche d'expressions régulières; la recherche avec l'opérateur OU: il existe deux techniques alternatives pour créer un modèle de langage ayant pour objectif de trouver les occurrences d'une requête composée d'au moins deux chaînes de caractère: - la première est de créer une requête propre à chaque suite de caractères; la seconde est de créer une requête unique qui intégrera toutes les composantes de la requête; la recherche d'expressions régulières; la recherche avec l'opérateur ET: la complexité de l'automate dépend évidemment de la complexité de la requête initiale formulée par l'utilisateur.  The formulation of the request in the form of a query automaton makes it possible not only to overcome the linguistic constraints imposed by classical lexicons, but also to carry out much more advanced research. Examples of uses of automata to carry out advanced research include: - searching for any sequence of characters (proper name, company name, acronym ...), etc .; case sensitivity (upper / lower case); the use of logical operators (booleans [and, or, not ...] or others); searching for regular expressions search with the OR operator: There are two alternative techniques for creating a language model whose objective is to find the occurrences of a query composed of at least two strings of character: - the first is to create a query specific to each sequence of characters; the second is to create a single query that will integrate all the components of the query; searching for regular expressions the search with the AND operator: the complexity of the automaton obviously depends on the complexity of the initial request formulated by the user.

Pour la plupart des requêtes de l'utilisateur, il ne s'agira pour l'automate de requête que de retrouver les portions d'encre répondant aux critères liés aux caractères et à la segmentation correspondant à la requête.  For most of the user's requests, the request automaton will only have to find the ink portions that meet the criteria related to the characters and the segmentation corresponding to the request.

Pour les requêtes mettant en oeuvre des opérateurs, par exemple, ce sont les occurrences retenues qui seront ensuite triées en fonction de ces opérations logiques.  For the queries using operators, for example, it is the selected occurrences that will then be sorted according to these logical operations.

Dans ce cas, l'encodage de la requête de l'utilisateur visera également à définir des filtres et des règles de classement des résultats de la recherche, lequels pourront être activés à l'étape de compilation des résultats de la recherche, entre la fin de la recherche et la transmission des résultats à l'utilisateur.  In this case, the encoding of the user's request will also be aimed at defining filters and rules for classifying the search results, which can be activated at the stage of compiling the search results, between the end and the end of the search. research and transmission of results to the user.

Comme illustré également sur la figure 5, l'invention prévoit la possibilité 25 de prendre en compte un modèle de langage spécifiquement développée pour orienter de façon optimale la recherche.  As also illustrated in FIG. 5, the invention provides the possibility of taking into account a language model specifically developed to optimally orient the search.

Ce modèle de langage de la recherche est créé pendant la phase de d'encodage de la requête sous la forme d'un automate ou graphe de requête. Il consiste à reconnaître la requête parmi du texte.  This search language model is created during the encoding phase of the query in the form of a query automaton or graph. It consists in recognizing the request among text.

La figure 5 illustre l'automate de requête permettant de représenter un tel langage. Dans l'optique de réaliser une recherche rapide le résultat de la reconnaissance du texte autour de la requête n'est pas pris en compte. Le modèle de langage du texte autour de la requête est approximé par la possibilité de reconnaître n'importe quelle suite de caractère (* en ?) avant et après la requête formulée par l'utilisateur. Une telle approche permet de façon nouvelle et inventive d'améliorer sensiblement le temps de traitement et la qualité du ou des résultats rendus à l'utilisateur, comparativement à une reconnaissance classique selon les techniques connues de l'art antérieur qui s'appuient ou utilisent un lexique, souvent figé et/ou peu évolutif.  Figure 5 illustrates the query automaton for representing such a language. In order to perform a quick search the result of the recognition of the text around the query is not taken into account. The language model of the text around the query is approximated by the ability to recognize any sequence of characters (* in?) Before and after the request made by the user. Such an approach allows a new and inventive way to significantly improve the processing time and the quality of the result (s) delivered to the user, compared to conventional recognition according to known prior art techniques which rely or use a lexicon, often frozen and / or little evolutionary.

Un bonus doit être inséré à l'entrée de la requête de l'utilisateur pour inciter le reconnaisseur à emprunter la sous partie de l'automate correspondant à la requête plutôt que celle correspondant au texte (*). En effet, le modèle texte permettant de reconnaître n'importe quelle suite de caractère, pourrait le cas échéant reconnaître le terme de la requête.  A bonus must be inserted at the entry of the request of the user to incite the recognizer to borrow the subpart of the automaton corresponding to the request rather than that corresponding to the text (*). Indeed, the text model allowing to recognize any sequence of character, could if necessary recognize the term of the request.

En ajoutant ce bonus, on augmente artificiellement la probabilité de reconnaître un caractère dans le modèle de requête par rapport à la probabilité de reconnaissance dans le modèle de requête par rapport au modèle texte. Ce bonus peut être paramétré par l'utilisateur et représenté sous la forme d'un seuil de sensibilité de la détection. Plus le bonus est élevé, plus la détection de la requête sera facile, plus la qualité de la reconnaissance sera en revanche diminuée.  Adding this bonus artificially increases the likelihood of recognizing a character in the query model against the probability of recognition in the query model relative to the text model. This bonus can be set by the user and represented as a detection sensitivity threshold. The higher the bonus, the easier the detection of the request, the lower the quality of recognition.

En outre, l'étape de recherche intègre elle-même l'opération de reconnaissance en s'appuyant sur les données d'encre préalablement converties. Cette reconnaissance prend le nom de recherche puisqu'elle est orientée par le modèle de langage créé au moment de l'encodage de la requête de l'utilisateur.  In addition, the search step itself incorporates the recognition operation based on the previously converted ink data. This recognition takes the name of search since it is oriented by the language model created at the time of the encoding of the request of the user.

De ce fait, le moteur (116) de recherche n'a pas pour objectif de reconnaître tous les éléments d'un document d'encre. Il va se limiter à rechercher les instances pour lesquelles les probabilités retenues durant la phase de conversion des données d'encre sous la forme d'un graphe de segmentation sont les plus fortes pour l'objet cherché.  As a result, the search engine (116) is not intended to recognize all elements of an ink document. It will limit itself to looking for the instances for which the probabilities retained during the phase of conversion of the data of ink in the form of a graph of segmentation are the strongest for the sought object.

Pour faciliter l'implémentation d'une telle approche, la programmation dynamique (DP pour dynamic programming en anglais) est utilisée. Elle permet d'effectuer dynamiquement une comparaison entre les noeuds du graphe de segmentation et ceux de l'automate de requête.  To facilitate the implementation of such an approach, dynamic programming (DP for dynamic programming in English) is used. It makes it possible to dynamically perform a comparison between the nodes of the segmentation graph and those of the query automaton.

Cette comparaison dynamique consiste à rechercher le meilleur chemin à la fois dans le graphe de segmentation et dans l'automate de requête. Une représentation communément utilisée pour représenter un tel appareillement est un treillis à maximum de vraisemblance, comme illustré sur la figure 3.  This dynamic comparison consists in finding the best path in both the segmentation graph and the query automaton. A representation commonly used to represent such an apparatus is a maximum likelihood lattice, as illustrated in FIG.

Le meilleur chemin est défini comme étant le chemin ayant le coût minimal. Le coût d'un chemin est égal à la somme des coûts des noeuds qui lui sont associés dans le graphe d'indexation et éventuellement des coûts des arcs dans l'automate. Si le système de reconnaissance fournit des probabilités, on peut convertir ces probabilités en coûts par la fonction (- log).  The best path is defined as the path with the minimum cost. The cost of a path is equal to the sum of the costs of the nodes associated with it in the indexing graph and possibly the costs of the arcs in the PLC. If the recognition system provides probabilities, these probabilities can be converted into costs by the (- log) function.

Le meilleur chemin est affiché sur le treillis et montre à quelle partie de l'encre correspond telle partie du modèle de langage. En particulier, on est désormais capable de localiser dans l'encre stockée les occurrences du ou des termes formulés par l'utilisateur dans sa requête.  The best path is displayed on the lattice and shows which part of the ink corresponds to that part of the language model. In particular, we are now able to locate in the stored ink the occurrences of the word or words formulated by the user in his request.

Comme illustré sur la figure 3, le treillis reçoit en abscisse le graphe de segmentation avec les informations complémentaires ajoutées lors de l'étape de conversion, et en ordonnée, l'automate de requête créé lors de l'étape d'encodage de cette dernière.  As illustrated in FIG. 3, the lattice receives on the abscissa the segmentation graph with the additional information added during the conversion step, and on the ordinate, the request automaton created during the encoding step of the latter .

Un compilateur (107) de résultat peut également être mis en oeuvre au niveau du moteur (116) de recherche. Il a pour fonction de trier et de filtrer les résultats issus de la reconnaissance et de la recherche en fonction des informations saisies dans la requête de l'utilisateur.  A result compiler (107) may also be implemented at the search engine (116). Its function is to sort and filter the results from the recognition and search according to the information entered in the request of the user.

A ce stade du processus, la partie recherche (ou reconnaissance d'écriture dans l'encre) est achevée. Le module de recherche (106) va fournir en sortie la localisation dans l'encre des occurrences du terme recherché ainsi qu'un score de confiance associé pour chacune de ces occurrences.  At this stage of the process, the search part (or write recognition in the ink) is completed. The search module (106) will output the location in the ink of occurrences of the search term and an associated confidence score for each of these occurrences.

Dans l'hypothèse ou la requête de l'utilisateur est composée de plusieurs 30 termes à rechercher, par exemple San Franscisco et Californie , la recherche s'effectuera au moyen d'un seul et unique automate de requête prenant en compte les deux termes San Franscisco et Californie de la requête.  In the event that the request of the user is composed of several terms to be searched, for example San Franscisco and California, the search will be carried out using a single request automaton taking into account the two terms San Franscisco and California request.

Le compilateur (107) de résultat va recevoir les données de résultat et effectuer un tri à l'aide d'un seuillage sur les scores au- delà duquel les données ne seront pas retenues. Il est également possible de faire ressortir l'ensemble des résultats en établissant un classement en fonction du score obtenu.  The result compiler (107) will receive the result data and sort using a threshold on the scores beyond which the data will not be retained. It is also possible to bring out all the results by ranking according to the score obtained.

Plusieurs séries de scores seront fournies et combinées par le compilateur (106) de résultats dont la fonction consistera alors à faire ressortir les réponses correspondante effectivement à la requête initiale de l'utilisateur: San Franscisco et Californie , par exemple.  Several series of scores will be provided and combined by the compiler (106) of results whose function will then be to highlight the responses corresponding to the initial request of the user: San Franscisco and California, for example.

Il est bien évident que le procédé et le dispositif selon l'invention permettent de réaliser des recherches dans l'encre d'un ou plusieurs documents manuscrits.  It is obvious that the method and the device according to the invention make it possible to carry out searches in the ink of one or more handwritten documents.

Lorsque la recherche s'effectue sur un seul document d'encre, le résultat de la recherche est retourné à l'utilisateur sous la forme d'une localisation des occurrences des termes recherchés sur une seule page de document. Ici la recherche est orientée sur l'objet de la requête, l'utilisateur cherchant à retrouver l'emplacement de l'encre dans un document. Un score de confiance est donc affecté à chaque occurrence.  When searching on a single ink document, the search result is returned to the user as a location of the occurrences of the searched terms on a single document page. Here the search is oriented on the object of the request, the user seeking to find the location of the ink in a document. A confidence score is therefore assigned to each occurrence.

Lorsque la recherche s'effectue sur plusieurs documents d'encre, le résultat de la recherche est retourné à l'utilisateur sous la forme d'une liste ordonnée des documents contenant le terme recherché. Ici la recherche est orientée sur le(s) document(s) dans lequel se trouve le terme recherché, avec son score. Un score de confiance est donc affecté à chaque document.  When searching multiple ink documents, the search result is returned to the user as an ordered list of documents containing the search term. Here the search is oriented on the document (s) in which the term is found, with its score. A trust score is therefore assigned to each document.

Dans tous les cas il sera possible de donner la localisation de l'objet de la recherche, en la faisant apparaître de façon significative.  In all cases it will be possible to give the location of the object of the research, making it appear significantly.

En d'autres termes et de façon avantageuse, l'invention permet d'une part de résoudre les problèmes habituellement rencontrés en termes de segmentation préliminaire à la mémorisation des documents d'encre dans lesquels doivent s'effectuer les recherches à partir de la reconnaissance.  In other words and advantageously, the invention makes it possible on the one hand to solve the problems usually encountered in terms of preliminary segmentation to the storage of the ink documents in which the searches must be carried out starting from the recognition .

L'invention permet également une segmentation dynamique des documents d'encre mémorisés, au fur et à mesure de l'exécution de chaque processus ou 5 requête de recherche exécuté.  The invention also enables dynamic segmentation of stored ink documents as each executed search process or query is executed.

Une telle approche nouvelle et innovante autorise en outre de façon avantageuse et contrairement aux solutions existantes de l'art antérieur la recherche de mots non forcément reconnus, et plus généralement de toute chaîne ou séquence de caractères et/ou de symboles dépourvues ou pourvues de sens, y compris par extension, la recherche de tout type de caractères ou symboles d'écritures non latines (chinoise ou japonaise, par exemple). Ce résultat extrêmement intéressant est obtenu de part un découpage spécifique des termes contenus dans les documents d'encre mémorisés, non pas à un niveau phrase, mots ou caractères, mais uniquement à un niveau plus bas sur une partie d'au moins un caractère.  Such a new and innovative approach also advantageously makes it possible, contrary to the existing solutions of the prior art, to search for words that are not necessarily recognized, and more generally for any string or sequence of characters and / or symbols that are devoid of meaning or meaningless. , including by extension, the search for any type of characters or symbols of non-Latin scripts (Chinese or Japanese, for example). This extremely interesting result is obtained from a specific division of the terms contained in the stored ink documents, not at a sentence level, words or characters, but only at a lower level on a part of at least one character.

Cette approche permet en outre de s'affranchir de toute contrainte linguistique.  This approach also makes it possible to overcome any linguistic constraint.

Cette approche selon l'invention mettant en oeuvre une segmentation dynamique des documents d'encre mémorisés peut être facilement implémentée par programmation dynamique. Elle permet en outre le prise en compte de requêtes de recherche dans les documents d'encre mémorisés qui soient beaucoup plus complexes et beaucoup plus riche, sans aucune contrainte d'utilisation d'un lexique prédéterminé, figé et non adaptatif et/ou évolutif.  This approach according to the invention implementing a dynamic segmentation of the stored ink documents can be easily implemented by dynamic programming. It also makes it possible to take into account search queries in memorized ink documents which are much more complex and much richer, without any constraint of using a predetermined, frozen and non-adaptive and / or evolving lexicon.

Elle permet dans ce sens de s'affranchir des contraintes habituellement 25liées à la nécessité de pouvoir distinguer entre caractères majuscules ou minuscules.  In this way, it makes it possible to overcome the constraints usually associated with the need to be able to distinguish between upper and lower case characters.

Un avantage supplémentaire concerne la possibilité de pouvoir utiliser un modèle de langage formalisé autorisant une optimisation dans la saisie et la prise en compte du contenu de la requête utilisateur, mais aussi et en contrepartie positive, une optimisation du résultat rendu, lequel s'avère souvent beaucoup plus riche et de meilleure qualité.  An additional advantage concerns the possibility of being able to use a formalized language model allowing optimization in the input and taking into account of the content of the user request, but also and as a positive counterpart, an optimization of the result rendered, which is often much richer and better.

Il est également important de souligner qu'une telle approche selon l'invention permet de limiter considérablement les erreurs liées à la reconnaissance dans l'encre, puisque cette dernière est directement orientée par le contenu de la requête à rechercher. Cette approche est donc nouvelle et inventive en ce sens qu'elle va directement à l'encontre des techniques basiques connues de l'art antérieur pour lesquelles la recherche s'effectue indépendamment du contenu de la requête.  It is also important to emphasize that such an approach according to the invention makes it possible to considerably limit the errors related to the recognition in the ink, since the latter is directly oriented by the content of the request to be searched. This approach is new and inventive in the sense that it goes directly against the basic techniques known from the prior art for which the search is carried out independently of the content of the request.

Avantageusement, l'approche retenue dans la présente invention favorise d'une part la qualité de la reconnaissance, mais aussi la possibilité supplémentaire de pouvoir solliciter une localisation précise et efficace des termes, mots ou phrases recherchées à l'intérieur des documents d'encre mémorisés. Cette localisation peut s'effectuer par le surlignage, les transformation en lien hypertexte ou par toute autre méthode permettant d'apposer un focus sur les termes recherchés et effectivement reconnus, directement sur le contenu des documents d'encre stockés. Plusieurs focus peuvent être ainsi apposés sur le texte lorsqu'une pluralité d'instances du terme recherché a été détectée dans un ou plusieurs des documents d'encres stockés.  Advantageously, the approach adopted in the present invention promotes, on the one hand, the quality of the recognition, but also the additional possibility of being able to request a precise and efficient localization of the terms, words or sentences sought inside the ink documents. stored. This location can be done by highlighting, hyperlinked transformation or by any other method allowing to put a focus on the terms sought and actually recognized, directly on the content of the stored ink documents. Several focus can thus be affixed to the text when a plurality of instances of the search term has been detected in one or more of the stored ink documents.

Une telle approche selon l'invention favorise également et sensiblement la réduction du temps de traitement d'une requête de recherche, l'étape de reconnaissance s'effectuant désormais dans un temps très limité, non gênant pour l'utilisateur.  Such an approach according to the invention also and substantially promotes the reduction of the processing time of a search request, the recognition step is now performed in a very limited time, not inconvenient for the user.

On peut par ailleurs noter que la recherche étant disjointe du prétraitement, ces deux opérations peuvent dans certains cas être réalisés par des appareils distincts, et éventuellement distincts. Notamment, le prétraitement et le stockage peuvent être assurés sur des serveurs distants, accessibles via à un réseau local ou internet. Les requêtes sont alors formées sur un terminal (ordinateur, PDA...), et traités par le serveur.  It may furthermore be noted that since research is disjoint from preprocessing, these two operations may in certain cases be carried out by separate, and possibly distinct, apparatuses. In particular, preprocessing and storage can be provided on remote servers, accessible via a local network or the Internet. The requests are then formed on a terminal (computer, PDA ...), and processed by the server.

Comme déjà mentionné, l'invention ne se limite pas au mode de réalisation présenté, mais trouve des applications pour d'autres formats de données source, et notamment des données vocales, qui peuvent de la même façon être transformées dans un format intermédiaire sous la forme de graphes d'hypothèses. Le traitement est ensuite similaire. e9  As already mentioned, the invention is not limited to the embodiment presented, but finds applications for other source data formats, including voice data, which can similarly be transformed into an intermediate format under the form of graphs of hypotheses. The treatment is then similar. e9

Claims (23)

REVENDICATIONS 1. Procédé de recherche d'au moins un terme, formé d'au moins un caractère, dans au moins un ensemble (101) de données d'encre, caractérisé en ce qu'il comprend une opération de conversion (112, 113) desdites données (101) d'encre en des données intermédiaires (102), dans un format intermédiaire, sous la forme d'au moins un graphe de segmentation, chaque noeud d'un desdits graphes comprenant au moins un segment d'encre associé à au moins une hypothèse de correspondance avec une unité de reconnaissance, et une opération (106) de recherche du ou desdits termes, effectuée sur lesdites données intermédiaires, ladite opération de conversion étant effectuée une fois pour toute lors du stockage d'un desdits ensembles de données et ladite opération (106) de recherche pouvant être effectuée à tout moment.  A method of searching for at least one term, consisting of at least one character, in at least one set (101) of ink data, characterized in that it comprises a conversion operation (112, 113) said data (101) of ink into intermediate data (102), in an intermediate format, in the form of at least one segmentation graph, each node of one of said graphs comprising at least one ink segment associated with at least one matching hypothesis with a recognition unit, and an operation (106) for searching for said one or more terms, performed on said intermediate data, said conversion operation being performed once and for all during the storage of one of said sets of data and said search operation (106) can be performed at any time. 2. Procédé de recherche selon la revendication 1, caractérisé en ce que ladite 15 opération de conversion comprend les étapes suivantes: découpage dudit ensemble en au moins un segment d'encre, chacun desdits segments étant délimité par deux points de segmentation voisins consécutifs; construction d'un graphe de segmentation formé de noeuds reliés par des branches, chaque noeud dudit graphe comprenant au moins un desdits segments d'encre et chaque branche dudit graphe reliant un premier noeud à un deuxième noeud pour définir une relation d'adjacence entre au moins un segment contenu dans ledit premier noeud et au moins un segment contenu dans ledit deuxième noeud; association à chacun desdits noeuds d'au moins une hypothèse de correspondance avec une unité de reconnaissance prédéterminée; association d'au moins un score de confiance à chacune desdites hypothèses de correspondance avec une unité de reconnaissance; classification desdites hypothèses de correspondance avec une unité de reconnaissance en fonction desdits scores de confiance.  2. The search method as claimed in claim 1, characterized in that said conversion operation comprises the following steps: cutting said assembly into at least one ink segment, each of said segments being delimited by two consecutive adjacent segmentation points; constructing a segmentation graph formed of nodes connected by branches, each node of said graph comprising at least one of said ink segments and each branch of said graph connecting a first node to a second node to define an adjacency relation between at least one segment contained in said first node and at least one segment contained in said second node; associating with each of said nodes at least one matching hypothesis with a predetermined recognition unit; associating at least one confidence score with each of said matching hypotheses with a recognition unit; classifying said matching hypotheses with a recognition unit according to said confidence scores. 3. Procédé de recherche selon l'une quelconque des revendications 1 et 2, caractérisé en ce que ladite opération de recherche comprend les étapes suivantes: obtention d'une requête d'entrée comprenant ledit terme à rechercher; conversion du contenu de ladite requête d'entrée en au moins un automate de requête adapté audit format intermédiaire; recherche d'au moins une correspondance entre ledit terme et au moins un élément desdites données intermédiaires; présentation et/ou transmission d'au moins un résultat de la recherche.  3. Search method according to any one of claims 1 and 2, characterized in that said search operation comprises the following steps: obtaining an input request comprising said search term; converting the content of said input request into at least one adapted request controller in said intermediate format; searching for at least one correspondence between said term and at least one element of said intermediate data; presentation and / or transmission of at least one result of the search. 4. Procédé de recherche selon la revendication 3, caractérisé en ce que ledit score de confiance associé à une hypothèses de correspondance avec une unité de reconnaissance est mémorisé dans ledit noeud correspondant dudit graphe.  4. Search method according to claim 3, characterized in that said confidence score associated with a matching hypothesis with a recognition unit is stored in said corresponding node of said graph. 5. Procédé de recherche selon l'une quelconque des revendications 1 à 4, caractérisé en ce que ladite opération de conversion comprend une opération préalable de normalisation du tracé desdits caractères formant lesdites données d'encre brutes, par contrôle et/ou correction d'au moins un des paramètres appartenant au groupe comprenant: une valeur d'inclinaison, relativement à au moins une direction de référence; un coefficient de rotation, relativement à au moins un axe donné; une épaisseur du trait; une hauteur et/ou une largeur du caractère relativement à au moins deux lignes de référence, de façon à fournir un ensemble de données d'encre normalisé.  5. Search method according to any one of claims 1 to 4, characterized in that said converting operation comprises a prior operation of normalizing the plot of said characters forming said raw ink data, by control and / or correction of at least one of the parameters belonging to the group comprising: a tilt value, relative to at least one reference direction; a coefficient of rotation, relative to at least one given axis; a thickness of the line; a height and / or width of the character relative to at least two reference lines, so as to provide a standardized ink data set. 9. Procédé de recherche selon l'une quelconque des revendications 1 à 5 caractérisé en ce que ladite étape de conversion comprend une étape d'élagage des branches dudit graphe de segmentation dont les noeuds contiennent les hypothèses de correspondance avec une unité de reconnaissance possédant un score de confiance faible.  9. Search method according to any one of claims 1 to 5 characterized in that said converting step comprises a step of pruning the branches of said segmentation graph whose nodes contain the hypotheses of correspondence with a recognition unit having a low confidence score. 10. Procédé de recherche selon l'une quelconque des revendications 2 à 6, 30 caractérisé en ce que ladite étape de classification présente, pour chaque noeud 2880708 33 dudit graphe de segmentation, une liste desdites hypothèses de correspondance dudit noeud avec une unité de reconnaissance prédéterminée par ordre de score de confiance décroissant.  10. A search method according to any one of claims 2 to 6, characterized in that said classification step has, for each node 2880708 33 of said segmentation graph, a list of said hypotheses of correspondence of said node with a recognition unit. predetermined in descending order of confidence score. 8. Procédé de recherche selon la revendication 7, caractérisé en ce que ladite étape de classification met en oeuvre un filtrage desdites hypothèses de correspondance les plus probables, par comparaison desdits scores de confiance avec un seuil de valeur prédéterminé.  8. Search method according to claim 7, characterized in that said classification step implements a filtering of said most probable correspondence hypotheses, by comparison of said confidence scores with a predetermined value threshold. 9. Procédé de recherche selon l'une quelconque des revendications 2 à 8, caractérisé en que ladite opération de classification s'appuie sur au moins une des 10 techniques suivantes de classification, à base de: réseaux de neurones de Kohonen; machine à vecteurs de support; méthodes à noyau; systèmes de logique floue; modèles de Markov caché; réseaux de neurones.  9. Search method according to any one of claims 2 to 8, characterized in that said classification operation relies on at least one of the following 10 classification techniques, based on: Kohonen neural networks; support vector machine; kernel methods; fuzzy logic systems; hidden Markov models; neural networks. 10. Procédé de recherche selon l'une quelconque des revendications 1 à 9, caractérisé en ce que ladite opération de conversion comprend une étape de mémorisation et assure le stockage d'au moins certaines des informations suivantes: un ensemble desdits noeuds; une liste desdites hypothèses de correspondance de chacun desdits noeuds avec au moins une unité de reconnaissance; un score de confiance pour chacune desdites hypothèse de correspondance avec une unité de reconnaissance, correspondant à chacun desdits noeuds; une localisation de chacun desdits noeuds dans ledit ensemble de données d'encre brutes stockées, ladite localisation étant définie par au moins un point de segmentation; des informations relatives au fait qu'un noeud est adjacent à un espace 30 séparant deux segments d'encre.  10. Search method according to any one of claims 1 to 9, characterized in that said conversion operation comprises a storage step and ensures the storage of at least some of the following information: a set of said nodes; a list of said hypotheses of correspondence of each of said nodes with at least one recognition unit; a confidence score for each of said matching hypotheses with a recognition unit, corresponding to each of said nodes; locating each of said nodes in said set of stored raw ink data, said location being defined by at least one segmentation point; information that a node is adjacent to a space separating two ink segments. 11. Procédé de recherche selon l'une quelconque des revendications 2 à 10, caractérisé en ce que lesdits points de segmentation sont déterminés suivants au moins un des critères appartenant au groupe comprenant: un extrema et/ou un minima déterminé relativement à des lignes de références; un point d'inflexion; un début de pente croissante; un début de pente décroissante; un point d'arrêt dû à une surélévation du moyen d'écriture; un point d'apposition du moyen d'écriture; - des croisements de traits 12. Procédé de recherche selon l'une quelconque des revendications 1 à 11 caractérisé en ce que ledit terme recherché appartient au groupe comprenant au moins un caractère dactylographié ou de texte manuscrit.  11. Search method according to any one of claims 2 to 10, characterized in that said segmentation points are determined following at least one of the criteria belonging to the group comprising: a determined extrema and / or minima relative to lines of references; a point of inflection; a beginning of increasing slope; a beginning of decreasing slope; a stopping point due to an elevation of the writing means; a point of affixation of the writing means; - Crossing strokes 12. Search method according to any one of claims 1 to 11 characterized in that said searched term belongs to the group comprising at least one typewritten character or handwritten text. 13. Procédé de recherche selon l'une quelconque des revendications 3 à 12 caractérisé en ce que ledit automate de requête est du type appartenant au groupe comprenant au moins un automate à états finis.  13. Search method according to any one of claims 3 to 12 characterized in that said request automaton is of the type belonging to the group comprising at least one finite state machine. 14. Procédé de recherche selon l'une quelconque des revendications 3 à 12 caractérisé en ce que la dite étape de conversion en au moins un automate 20 comprend au moins: une étape de découpage du contenu de la requête en unités de reconnaissance appartenant au groupe comprenant au moins: les syllabes; - les phonèmes; les graphèmes; - les caractères; une étape de mémorisation de chacune desdites unités de reconnaissance dans un état dudit automate de requête, de façon que chaque état dudit automate de requête contienne une unité de 30 reconnaissance de ladite requête d'entrée et que chaque branche dudit automate de 2880708 3s requête reliant un premier état avec un deuxième état définisse une relation d'ascendance/descendance entre lesdites unités de reconnaissance contenues dans lesdits premier et deuxième états.  14. Search method according to any one of claims 3 to 12 characterized in that said step of converting to at least one controller 20 comprises at least: a step of cutting the content of the request in recognition units belonging to the group including at least: syllables; - the phonemes; graphemes; - the characters; a step of storing each of said recognition units in a state of said request automaton, so that each state of said request automaton contains a recognition unit of said input request and each branch of said 2880708 3s automaton matching request a first state with a second state defines an ascending / descending relationship between said recognition units contained in said first and second states. 15. Procédé de recherche selon la revendication 14, caractérisé en ce que ladite opération de recherche comprend une mise en correspondance de chacune desdites unités de reconnaissance contenues dans chacun desdits états dudit automate de requête avec au moins un noeud dudit graphe, de façon à identifier les noeuds dudit graphe possédant la plus forte probabilité de correspondance avec ladite unité de reconnaissance.  15. Search method according to claim 14, characterized in that said search operation comprises a mapping of each of said recognition units contained in each of said states of said request automaton with at least one node of said graph, so as to identify the nodes of said graph having the highest probability of correspondence with said recognition unit. 16. Procédé de recherche selon les revendications 14 et 15, caractérisé en ce que durant ladite opération de recherche, on progresse simultanément dans ledit graphe et dans ledit automate de requête, de façon que lorsqu'une mise en correspondance entre un premier noeud dudit graphe de segmentation et une première unité de reconnaissance contenue dans un premier état dudit automate de requête a pu être réalisée, on sélectionne un deuxième état descendant directement dudit premier état dudit automate de requête et on détermine dans ledit graphe un noeud descendant directement dudit premier noeud et possédant la plus forte probabilité de correspondance avec ladite deuxième unité de reconnaissance.  16. Search method according to claims 14 and 15, characterized in that during said search operation, it progresses simultaneously in said graph and in said request automaton, so that when a mapping between a first node of said graph of segmentation and a first recognition unit contained in a first state of said request automaton could be realized, a second descendant state is selected directly from said first state of said request automaton and a node descendant of said first node is determined in said graph and having the highest probability of correspondence with said second recognition unit. 17. Procédé de recherche selon la revendication 16, caractérisé en ce que ladite mise en correspondance entre ledit graphe de segmentation et ledit automate de requête utilise un treillis à maximum de vraisemblance, comprenant en abscisse ledit graphe à partir desdits segments d'encre, et en ordonnée ledit automate de requête.  17. The search method as claimed in claim 16, characterized in that said mapping between said segmentation graph and said query automaton uses a maximum likelihood lattice, comprising on the abscissa said graph from said ink segments, and ordinate said query automaton. 18. Procédé de recherche selon l'une quelconque des revendications 16 et 17, caractérisé en ce qu'on détermine le chemin dudit graphe et dudit automate à états à coût minimum, en calculant la somme des scores de confiance affectés auxdits noeuds dudit graphe et aux arcs de transition entre lesdits états dudit automate.  18. Search method according to any one of claims 16 and 17, characterized in that the path of said graph and said state machine at minimum cost is determined by calculating the sum of the confidence scores assigned to said nodes of said graph and transition arcs between said states of said automaton. 19. Procédé de recherche selon l'une quelconque des revendications 1 à 18, caractérisé en ce que ladite étape de présentation et/ou transmission d'au moins un résultat de la recherche retourne en outre une information de localisation de chacune des occurrences reconnues à l'intérieur d'un desdits ensembles de données d'encre et/ou une information d'identification dudit ensemble de données d'encre.  19. Search method according to any one of claims 1 to 18, characterized in that said step of presenting and / or transmitting at least one search result further returns a location information of each of the recognized occurrences to within one of said ink data sets and / or identification information of said ink data set. 20. Programme d'ordinateur comprenant des instructions de code de programme pour l'exécution des étapes du procédé de recherche d'au moins un terme dans un ensemble de données brutes stockées en langage séquentiel, ledit terme se présentant sous la forme d'un signal d'entrée d'une requête saisie par un utilisateur, selon l'une quelconque des revendications 1 à 19 lorsque ledit programme est exécuté sur un ordinateur.  A computer program comprising program code instructions for performing the steps of the method of searching for at least one term in a set of raw data stored in sequential language, said term being in the form of a input signal of a request entered by a user, according to any one of claims 1 to 19 when said program is executed on a computer. 21. Dispositif de recherche d'au moins un terme, formé d'au moins un caractère, dans au moins un ensemble de données d'encre, caractérisé en ce qu'il comprend des moyens de recherche du ou desdits termes, effectuée sur des données intermédiaires, préalablement stockées dans des moyens de stockage par des moyens de conversion desdites données d'encre en des données intermédiaires, dans un format intermédiaire, sous la forme d'au moins un graphe de segmentation, chaque noeud d'un desdits graphes comprenant au moins un segment d'encre associé à au moins une hypothèse de correspondance avec une unité de reconnaissance.  21. Device for searching at least one term, formed of at least one character, in at least one set of ink data, characterized in that it comprises search means for said term or terms, performed on intermediate data, previously stored in storage means by means of converting said ink data into intermediate data, in an intermediate format, in the form of at least one segmentation graph, each node of one of said graphs comprising at least one ink segment associated with at least one matching hypothesis with a recognition unit. 22. Dispositif de recherche selon la revendication 21, caractérisé en ce qu'il appartient au groupe comprenant au moins: un ordinateur de bureau ou portable; un assistant digital numérique; une ardoise électronique; un terminal de télécommunication mobile; une borne multimédia; un stylo numérique.  22. Search device according to claim 21, characterized in that it belongs to the group comprising at least: a desktop or portable computer; a digital digital assistant; an electronic slate; a mobile telecommunication terminal; a multimedia terminal; a digital pen. 23. Dispositif de conversion de données d'encre en vue de recherches d'au moins un terme, formé d'au moins un caractère, dans au moins un ensemble de 30 données d'encre, caractérisé en ce qu'il comprend des moyens de conversion desdites données d'encre en des données intermédiaires, dans un format intermédiaire, sous la forme d'au moins un graphe de segmentation, chaque noeud d'un desdits graphes comprenant au moins un segment d'encre associé à au moins une hypothèse de correspondance avec une unité de reconnaissance, de façon que lesdites recherches du ou desdits termes soient effectuées sur lesdites données intermédiaires, ladite conversion étant effectuée une fois pour toute lors du stockage d'un desdits ensembles de données et ladite recherche pouvant être effectuée à tout moment.  23. A device for converting ink data for searching at least one term, formed of at least one character, in at least one set of ink data, characterized in that it comprises means converting said ink data into intermediate data, in an intermediate format, in the form of at least one segmentation graph, each node of one of said graphs comprising at least one ink segment associated with at least one hypothesis correspondence with a recognition unit, so that said searches of said one or more terms are performed on said intermediate data, said conversion being performed once and for all during the storage of one of said data sets and said search can be carried out at any moment. 24. Langage d'expression régulière pour la formulation d'une requête de recherche pour un ensemble de documents d'encre mémorisés dans un format de données intermédiaires, caractérisé en ce que ledit langage comprend des instructions de conversion de ladite requête sous la forme d'un automate de requête pouvant être directement exploité durant l'exécution des étapes du procédé de recherche d'au moins un terme dans un ensemble de données d'encre brutes, selon l'une quelconque des revendications 1 à 19, lorsque ledit procédé est exécuté sur un ordinateur.  24. Regular expression language for formulating a search query for a set of ink documents stored in an intermediate data format, characterized in that said language includes instructions for converting said request into the form of a request automaton that can be directly exploited during the execution of the steps of the method of searching for at least one term in a set of raw ink data, according to any one of claims 1 to 19, when said method is run on a computer.
FR0500282A 2005-01-11 2005-01-11 Term e.g. typed character, searching method for digital handwritten document, involves converting handwritten data into intermediate data, in intermediate format, in form of segmentation graph, and searching terms on intermediate data Pending FR2880708A1 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
FR0500282A FR2880708A1 (en) 2005-01-11 2005-01-11 Term e.g. typed character, searching method for digital handwritten document, involves converting handwritten data into intermediate data, in intermediate format, in form of segmentation graph, and searching terms on intermediate data
FR0501799A FR2880709B1 (en) 2005-01-11 2005-02-22 METHOD OF SEARCHING, RECOGNIZING AND LOCATING INK, DEVICE, PROGRAM AND LANGUAGE CORRESPONDING
US11/813,680 US9875254B2 (en) 2005-01-11 2006-01-10 Method for searching for, recognizing and locating a term in ink, and a corresponding device, program and language
PCT/EP2006/050136 WO2006075001A1 (en) 2005-01-11 2006-01-10 Method for searching, recognizing and locating a term in ink, and a corresponding device, program and language
EP06700742.7A EP1836651B1 (en) 2005-01-11 2006-01-10 Method for searching, recognizing and locating a term in ink, and a corresponding device and computer program
CNB2006800021181A CN100562885C (en) 2005-01-11 2006-01-10 Method, the device of the term in search, identification and the location ink

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0500282A FR2880708A1 (en) 2005-01-11 2005-01-11 Term e.g. typed character, searching method for digital handwritten document, involves converting handwritten data into intermediate data, in intermediate format, in form of segmentation graph, and searching terms on intermediate data

Publications (1)

Publication Number Publication Date
FR2880708A1 true FR2880708A1 (en) 2006-07-14

Family

ID=34955529

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0500282A Pending FR2880708A1 (en) 2005-01-11 2005-01-11 Term e.g. typed character, searching method for digital handwritten document, involves converting handwritten data into intermediate data, in intermediate format, in form of segmentation graph, and searching terms on intermediate data

Country Status (2)

Country Link
CN (1) CN100562885C (en)
FR (1) FR2880708A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102240279B1 (en) * 2014-04-21 2021-04-14 삼성전자주식회사 Content processing method and electronic device thereof
US10410316B2 (en) * 2015-12-08 2019-09-10 Myscript System and method for beautifying digital ink

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5265242A (en) * 1985-08-23 1993-11-23 Hiromichi Fujisawa Document retrieval system for displaying document image data with inputted bibliographic items and character string selected from multiple character candidates
WO2002017166A2 (en) * 2000-08-24 2002-02-28 Olive Software Inc. System and method for automatic preparation and searching of scanned documents

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5982933A (en) * 1996-01-12 1999-11-09 Canon Kabushiki Kaisha Information processing method, information processing apparatus, and storage medium
EP1055182A2 (en) * 1998-02-13 2000-11-29 Microsoft Corporation Segmentation of chinese text into words

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5265242A (en) * 1985-08-23 1993-11-23 Hiromichi Fujisawa Document retrieval system for displaying document image data with inputted bibliographic items and character string selected from multiple character candidates
WO2002017166A2 (en) * 2000-08-24 2002-02-28 Olive Software Inc. System and method for automatic preparation and searching of scanned documents

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SENDA S ET AL: "Document image retrieval system using character candidates generated by character recognition process", DOCUMENT ANALYSIS AND RECOGNITION, 1993., PROCEEDINGS OF THE SECOND INTERNATIONAL CONFERENCE ON TSUKUBA SCIENCE CITY, JAPAN 20-22 OCT. 1993, LOS ALAMITOS, CA, USA,IEEE COMPUT. SOC, 20 October 1993 (1993-10-20), pages 541 - 546, XP010135721, ISBN: 0-8186-4960-7 *

Also Published As

Publication number Publication date
CN100562885C (en) 2009-11-25
CN101103363A (en) 2008-01-09

Similar Documents

Publication Publication Date Title
EP1836651B1 (en) Method for searching, recognizing and locating a term in ink, and a corresponding device and computer program
EP1364316A2 (en) Device for retrieving data from a knowledge-based text
US20070112754A1 (en) Method and apparatus for identifying data of interest in a database
BE1024194A9 (en) Method for identifying a character in a digital image
EP1977343A1 (en) Method and device for retrieving data and transforming same into qualitative data of a text-based document
US9436681B1 (en) Natural language translation techniques
FR2982388A1 (en) SYSTEM AND METHOD FOR PRODUCTIVE GENERATION OF COMPOUND WORDS IN AUTOMATIC STATISTIC TRANSLATION
CN109828981B (en) Data processing method and computing device
FR2911201A1 (en) Written text editing method for correcting spelling error, involves calculating difference between apparition frequency of one n-gram in text and in language using n-gram by n-gram technique
FR2694984A1 (en) Method for identifying, recovering and classifying documents.
EP1669886A1 (en) Construction of an automaton compiling grapheme/phoneme transcription rules for a phonetiser
FR2927712A1 (en) METHOD AND DEVICE FOR ACCESSING PRODUCTION OF A GRAMMAR FOR PROCESSING A HIERARCHISED DATA DOCUMENT.
CN111414735B (en) Text data generation method and device
US20070112747A1 (en) Method and apparatus for identifying data of interest in a database
Abadie et al. A Benchmark of Named Entity Recognition Approaches in Historical Documents Application to 19 th Century French Directories
FR2899708A1 (en) METHOD FOR RAPID DE-QUILLLING OF A SET OF DOCUMENTS OR A SET OF DATA CONTAINED IN A FILE
US11755958B1 (en) Systems and methods for detecting cryptocurrency wallet artifacts in a file system
FR2880708A1 (en) Term e.g. typed character, searching method for digital handwritten document, involves converting handwritten data into intermediate data, in intermediate format, in form of segmentation graph, and searching terms on intermediate data
EP3248111A1 (en) Lemmatisation method, and corresponding device and program
US11574629B1 (en) Systems and methods for parsing and correlating solicitation video content
FR2986882A1 (en) METHOD FOR IDENTIFYING A SET OF PHRASES OF A DIGITAL DOCUMENT, METHOD FOR GENERATING A DIGITAL DOCUMENT, ASSOCIATED DEVICE
Directories et al. A Benchmark of Named Entity Recognition Approaches in Historical Documents Application to 19th Century
WO2024146958A1 (en) Method for improving the processing of data shared by a plurality of users
EP4300326A1 (en) Method for matching an assembly to be analysed and a reference list, corresponding matching engine and computer program
FR3142587A1 (en) NEURAL NETWORK-BASED HANDWRITING RECOGNITION SYSTEM.