CH711033B1 - Relational search engine. - Google Patents

Relational search engine. Download PDF

Info

Publication number
CH711033B1
CH711033B1 CH00606/15A CH6062015A CH711033B1 CH 711033 B1 CH711033 B1 CH 711033B1 CH 00606/15 A CH00606/15 A CH 00606/15A CH 6062015 A CH6062015 A CH 6062015A CH 711033 B1 CH711033 B1 CH 711033B1
Authority
CH
Switzerland
Prior art keywords
tuples
documents
user
search
relationship
Prior art date
Application number
CH00606/15A
Other languages
French (fr)
Other versions
CH711033A2 (en
Inventor
Van Kommer Robert
Original Assignee
Kiodia Sarl
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 Kiodia Sarl filed Critical Kiodia Sarl
Priority to CH00606/15A priority Critical patent/CH711033B1/en
Publication of CH711033A2 publication Critical patent/CH711033A2/en
Publication of CH711033B1 publication Critical patent/CH711033B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2428Query predicate definition using graphical user interfaces, including menus and forms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

L'invention concerne un procédé de moteur de recherche relationnelle où les résultats cherchés (c) sont des n-uplets de documents extraits d'un espace de recherche (a) liés par au moins une relation. La relation recherchée est exprimée par l'utilisateur (b) à l'aide d'une interface homme-machine et d'un algorithme itératif d'apprentissage (e). Le procédé apprend à chaque interaction de l'utilisateur à mieux modéliser la ou les relations recherchées (c) et, avec l'aide de ce modèle enrichi, pilote l'interface homme-machine pour améliorer la pertinence des résultats affichés (d).The invention relates to a relational search engine method where the sought results (c) are n-tuples of documents extracted from a search space (a) linked by at least one relation. The relationship sought is expressed by the user (b) using a man-machine interface and an iterative learning algorithm (e). The method learns at each interaction of the user to better model the relationship(s) sought (c) and, with the help of this enriched model, controls the man-machine interface to improve the relevance of the results displayed (d).

Description

DOMAINE TECHNIQUETECHNICAL AREA

[0001] L'invention concerne un moteur de recherche relationnelle avec une interface homme-machine intelligente qui permet à un utilisateur de chercher des n-uplets composés de n documents liés par une ou plusieurs relations désirées. The invention relates to a relational search engine with an intelligent man-machine interface which allows a user to search for n-tuples composed of n documents linked by one or more desired relations.

ETAT DE LA TECHNIQUESTATE OF THE ART

[0002] Les systèmes d'information et en particulier les moteurs de recherche offrent la possibilité de chercher des concepts avec une séquence de mots-clés, avec des formulations en langage naturel (p. ex. une question) et parfois avec des exemples de documents (p. ex. une image). Ils permettent aussi de personnaliser la recherche en fonction de l'intérêt des utilisateurs. Ces moteurs de recherche indexent les données dans un premier temps et constituent un espace de recherche optimisé pour retrouver les documents avec p. ex. la méthode d'un index inversé. Les moteurs de recherche permettent de rechercher toutes les pages web ou d'autres types de documents qui contiennent les mots-clés ou qui possèdent une similarité avec les concepts de recherche définis par l'utilisateur. [0002] Information systems and in particular search engines offer the possibility of searching for concepts with a sequence of keywords, with formulations in natural language (for example a question) and sometimes with examples of documents (e.g. an image). They also make it possible to personalize the search according to the interest of the users. These search engines index the data first and constitute an optimized search space to find documents with p. ex. the method of an inverted index. Search engines can find all web pages or other types of documents that contain the keywords or that have a similarity with the search concepts defined by the user.

[0003] Les documents cherchés peuvent être de type texte, image ou d'un autre type. Certains moteurs offrent la possibilité de chercher une correspondance de similarité avec un exemple de document existant, il suffit alors d'indiquer le document comme étant la référence et le moteur recherchera d'autres documents qui possèdent une correspondance de similarité avec cette référence. [0003] The documents sought can be of the text, image or other type. Some engines offer the possibility of looking for a similarity match with an example of an existing document, then simply indicate the document as being the reference and the engine will search for other documents that have a similarity match with this reference.

[0004] Les moteurs de recherche offrent typiquement la possibilité d'effectuer une recherche par correspondance caractérisée par une métrique de similarité. Les caractéristiques de cette métrique interne sont définies par le moteur de recherche et l'utilisateur ne peut pas la redéfinir librement. Les résultats de la recherche sont ensuite listés et présentés par ordre de pertinence en fonction d'un ensemble d'autres métriques et d'options de filtrage. [0004] Search engines typically offer the possibility of carrying out a search by correspondence characterized by a similarity metric. The characteristics of this internal metric are defined by the search engine and the user cannot redefine it freely. The search results are then listed and presented in order of relevance based on a set of other metrics and filtering options.

[0005] De nombreuses solutions existent déjà dans l'état de la technique pour effectuer une recherche qui implique plusieurs documents à la fois. [0005] Numerous solutions already exist in the state of the art for carrying out a search which involves several documents at the same time.

[0006] US2011040749 décrit un moteur de recherche capable d'effectuer une recherche d'un document dans plusieurs domaines à la fois. Une liste de résultats est retournée avec des n-uplets de documents qui possèdent les meilleurs scores combinés. [0006] US2011040749 describes a search engine capable of performing a search for a document in several domains at the same time. A result list is returned with tuples of documents that have the highest combined scores.

[0007] US2014214711 décrit un moteur de recherche entre deux sets de documents : des offres d'emploi et des profils de candidature, dans lesquels une correspondance de similarité est cherchée et améliorée en modifiant la pondération et le set des mots-clés et, ceci, en fonction des données trouvées. [0007] US2014214711 describes a search engine between two sets of documents: job offers and candidate profiles, in which a similarity match is sought and improved by modifying the weighting and the set of keywords and, this , depending on the data found.

[0008] US2013024445 décrit un moteur de recherche universel capable de rechercher différents types de document, des textes, des images, etc. qui sont appelés des catégories, les documents trouvés correspondent à la recherche de l'utilisateur et possèdent donc une similarité de correspondance entre eux. [0008] US2013024445 describes a universal search engine capable of searching for different types of document, texts, images, etc. which are called categories, the documents found correspond to the search of the user and therefore have a similarity of correspondence between them.

[0009] US 20080147633 décrit un moteur de recherche qui associe un profil d'utilisateur avec les résultats de la recherche. Si l'on considère le profil d'un utilisateur comme un document et les résultats de la recherche comme une liste de documents, le système cherche une correspondance de similarité entre les deux sets de documents. [0009] US 20080147633 describes a search engine that associates a user profile with search results. Considering a user's profile as a document and the search results as a list of documents, the system looks for a similarity match between the two sets of documents.

[0010] La plupart de ces solutions connues se basent donc avant tout sur une recherche de correspondance de similarité prédéfinie ou adaptée par le système en fonction des données existantes. Un défaut de ces solutions connues est qu'elles n'offrent pas la possibilité de chercher une ou plusieurs relations désirées par l'utilisateur entre un n-uplet de documents avec une interface homme-machine intelligente. [0010] Most of these known solutions are therefore based above all on a search for similarity correspondence predefined or adapted by the system according to existing data. A defect of these known solutions is that they do not offer the possibility of searching for one or more relations desired by the user between a n-tuple of documents with an intelligent man-machine interface.

[0011] Un autre défaut des solutions connues est qu'il n'existe pas de moyen pratique pour trouver les n-uplets de documents liés par la ou les relations désirées lorsque les documents sont de types différents (p. ex. : un document de type texte et un document de type image). [0011] Another defect of the known solutions is that there is no practical way to find the n-tuples of documents linked by the desired relationship(s) when the documents are of different types (for example: a document text type and an image type document).

[0012] Il serait donc avantageux que l'utilisateur soit à même de définir en langage naturel la ou les relations qu'il désire avoir entre les n documents d'un n-uplet, ou entre les concepts sous-jacents de ceux-ci. Il serait avantageux également que l'utilisateur ait la possibilité de définir les différents types de documents qui composent les n-uplets. [0012] It would therefore be advantageous for the user to be able to define in natural language the relationship or relationships that he wishes to have between the n documents of an n-tuple, or between the underlying concepts of these . It would also be advantageous for the user to have the possibility of defining the different types of documents which make up the tuples.

[0013] Pour remédier aux inconvénients susmentionnés de l'art antérieur, tout en conservant le champ d'application le plus large possible, un certain nombre d'autres problèmes doivent également être résolus. En effet, il arrive fréquemment que les relations désirées ne soient pas faciles à exprimer avec des mots; p. ex., comment exprimer l'expressivité émotionnelle d'une relation entre une musique et une image ? De plus, comme il s'agit d'une relation perçue par un utilisateur particulier, cette relation subjective n'est à priori pas pertinente pour un autre utilisateur. [0013] To overcome the aforementioned disadvantages of the prior art, while maintaining the widest possible scope of application, a number of other problems must also be solved. Indeed, it often happens that the desired relationships are not easy to express in words; p. eg, how to express the emotional expressiveness of a relationship between music and an image? Moreover, since it is a relationship perceived by a particular user, this subjective relationship is a priori not relevant for another user.

[0014] Dans d'autres cas d'usage, les paramètres et les concepts qui caractérisent une relation sont présents dans des métadonnées additionnelles ou dans celles qui doivent être extraites des documents. Sans avoir accès à ces informations supplémentaires, le moteur de recherche ne peut pas produire de résultats pertinents. [0014] In other cases of use, the parameters and the concepts which characterize a relationship are present in additional metadata or in those which must be extracted from the documents. Without access to this additional information, the search engine cannot produce relevant results.

[0015] Dans d'autres cas, les concepts pertinents qui caractérisent une relation perçue ou de nature sémantique ne sont pas disponibles à priori dans l'espace de recherche, ceux-ci sont alors à découvrir par le moteur de recherche grâce aux interactions avec l'utilisateur. C'est typiquement le cas lorsqu'une relation est de nature subjective. [0015] In other cases, the relevant concepts which characterize a perceived relationship or of a semantic nature are not available a priori in the search space, these are then to be discovered by the search engine thanks to interactions with the user. This is typically the case when a relationship is subjective in nature.

[0016] Dans d'autres cas, une relation comporte des métriques relationnelles, p. ex. la spécification d'une date. [0016] In other cases, a relation comprises relational metrics, p. ex. specifying a date.

[0017] Dans d'autres cas d'usage, la relation désirée peut porter sur un sous-ensemble de concepts ou sur des sous-espaces structurels d'un document, comme par exemple, un ou plusieurs topics particuliers d'un texte, un ou plusieurs objets graphiques spécifiques d'une image, un ou plusieurs passages d'un morceau de musique. Dans l'état de la technologie actuel, les utilisateurs n'ont pas les moyens d'exprimer une recherche basée sur une relation désirée de ce type. De plus, l'expression des caractéristiques de cette relation doit nécessairement être exprimée par l'utilisateur pour pouvoir effectuer une telle recherche relationnelle, en effet, le moteur de recherche ne peut pas connaître cette information à priori. [0017] In other cases of use, the desired relationship may relate to a subset of concepts or to structural subspaces of a document, such as, for example, one or more particular topics of a text, one or more specific graphic objects of an image, one or more passages of a piece of music. In the current state of technology, users do not have the means to express a search based on a desired relationship of this type. Moreover, the expression of the characteristics of this relationship must necessarily be expressed by the user in order to be able to carry out such a relational search, in fact, the search engine cannot know this information a priori.

[0018] Dans l'état de la technologie, il n'existe pas de moteur de recherche relationnelle avec une interface homme-machine intelligente capable de chercher des n-uplets qui sont composés de n documents liés par une relation désirée par l'utilisateur. [0018] In the state of the art, there is no relational search engine with an intelligent human-machine interface capable of searching for n-tuples which are composed of n documents linked by a relationship desired by the user. .

[0019] Sans avoir la possibilité de chercher des n-uplets relationnels pertinents ou d'être automatiquement informé de leur existence, les utilisateurs finissent par être submergés par un flux continu d'information et, faute d'avoir les moyens adéquats à disposition, ils renoncent à toutes formes de recherches relationnelles. [0019] Without having the possibility of searching for relevant relational tuples or of being automatically informed of their existence, users end up being overwhelmed by a continuous flow of information and, for lack of adequate means at their disposal, they renounce all forms of relational research.

BREF RESUME DE L'INVENTIONBRIEF SUMMARY OF THE INVENTION

[0020] Un but de la présente invention est de remédier aux inconvénients de l'art antérieur qui viennent d'être mentionnés en fournissant un procédé de moteur de recherche relationnelle qui permet à un utilisateur de trouver ou d'être notifié de l'existence de n-uplets composés de n documents liés par au moins une relation désirée par l'utilisateur. La présente invention atteint ce but en fournissant d'une part un procédé itératif d'apprentissage supervisé ou semi-supervisé conforme à la revendication 1 annexée. An object of the present invention is to remedy the drawbacks of the prior art which have just been mentioned by providing a relational search engine method which allows a user to find or to be notified of the existence of n-tuples composed of n documents linked by at least one relation desired by the user. The present invention achieves this object by providing, on the one hand, an iterative method for supervised or semi-supervised learning in accordance with appended claim 1.

[0021] Définition : Le terme de document est utilisé ici de manière générique, l'expression „document“ désigne toute représentation numérique qu'un ordinateur peut stocker sous la forme de données. L'expression „document“ désigne notamment aussi un dossier composé d'un ensemble de fichiers ou une agrégation d'un ensemble quelconque d'autres documents. [0021] Definition: The term document is used here in a generic way, the expression "document" designates any digital representation that a computer can store in the form of data. The expression "document" also designates in particular a folder composed of a set of files or an aggregation of any set of other documents.

[0022] Définition : Un concept est une régularité mesurable ou perçue qui caractérise un ensemble d'entités ou d'abstractions. Un document est typiquement composé d'un ensemble de concepts et de concepts sous-jacents. [0022] Definition: A concept is a measurable or perceived regularity that characterizes a set of entities or abstractions. A document is typically composed of a set of concepts and underlying concepts.

[0023] Définition : Une relation entre un couple de documents et sa perception par un utilisateur particulier est caractérisée par un ensemble de correspondances de nature objective et subjective entre des concepts implicites ou explicites. Une relation peut parfaitement s'exprimer par rapport à la présence d'un concept mais aussi par rapport à son absence. Une relation peut aussi représenter une métrique quelconque entre des entités mesurables. [0023] Definition: A relationship between a pair of documents and its perception by a particular user is characterized by a set of correspondences of an objective and subjective nature between implicit or explicit concepts. A relation can perfectly be expressed in relation to the presence of a concept but also in relation to its absence. A relationship can also represent any metric between measurable entities.

[0024] Définition : Un n-uplet est un set ordré de n documents avec n plus grand ou égal à 2. Lorsque n = 2, on parle d'un couple de documents. Les n documents sont liés par une ou plusieurs relations et le n-uplet est associé à au moins autant d'étiquettes qu'il y a de relations. [0024] Definition: An n-tuple is an ordered set of n documents with n greater than or equal to 2. When n=2, we speak of a pair of documents. The n documents are linked by one or more relations and the tuple is associated with at least as many labels as there are relations.

[0025] Définition : une étiquette permet d'exprimer une appréciation de la pertinence d'un n-uplet, telle que perçue par l'utilisateur ou estimée par le système, du point de vue de la relation entre un couple de documents, ou d'une des relations, qui lie les documents du n-uplet. Dans certains cas d'utilisation, une relation peut être caractérisée par une pluralité d'étiquettes. [0025] Definition: a label makes it possible to express an appreciation of the relevance of an n-tuple, as perceived by the user or estimated by the system, from the point of view of the relationship between a pair of documents, or one of the relations, which links the documents of the tuple. In some use cases, a relationship can be characterized by multiple labels.

[0026] Définition : Une interface homme-machine intelligente (ou autoapprenante) est une interface homme-machine à l'aide de laquelle un utilisateur ou un ensemble d'utilisateurs peuvent faire apprendre à un système informatique (la machine) à mieux interagir, à mieux comprendre leurs intentions, voire même, à anticiper leurs requêtes tout en interagissant avec elle. Dans le contexte de l'invention, l'interface homme-machine intelligente regroupe typiquement, le traitement automatique du langage naturel de l'étape (b), les procédés itératifs d'apprentissage de l'étape (e), et des étapes (c, d, e) et l'apprentissage par rétro-pertinence de la sous-étape (d1). Le résultat des apprentissages est caractérisé par l'adaptation d'un modèle informatique composé d'entrées et de sorties, d'un graphe de fonctions, de données, d'opérateurs et de variables associées. [0026] Definition: An intelligent (or self-learning) man-machine interface is a man-machine interface using which a user or a set of users can teach a computer system (the machine) to interact better, to better understand their intentions, or even to anticipate their requests while interacting with it. In the context of the invention, the intelligent man-machine interface typically combines the automatic natural language processing of step (b), the iterative learning processes of step (e), and of steps ( c, d, e) and the retro-relevance learning of sub-step (d1). The learning result is characterized by the adaptation of a computer model composed of inputs and outputs, a graph of functions, data, operators and associated variables.

[0027] L'invention permet à l'utilisateur de faire apprendre au moteur de recherche les relations désirées au moyen d'une interface homme-machine intelligente. Lorsqu'une relation est bien apprise par le système, celui-ci peut alors efficacement chercher d'autres n-uplets correspondants et pertinents. The invention allows the user to make the search engine learn the desired relationships by means of an intelligent man-machine interface. When a relation is well learned by the system, it can then efficiently search for other corresponding and relevant n-tuples.

[0028] L'apprentissage d'une relation est réalisé par un ensemble d'algorithmes de traitement et d'apprentissage automatique. Durant une session d'utilisation, un procédé itératif d'apprentissage supervisé ou semi-supervisé est mis en oeuvre en fonction des résultats trouvés et des interactions de l'utilisateur. [0028] The learning of a relationship is carried out by a set of processing and automatic learning algorithms. During a session of use, an iterative method of supervised or semi-supervised learning is implemented according to the results found and the interactions of the user.

[0029] Conformément à un mode de mise en oeuvre avantageux du procédé de l'invention, certains modèles d'apprentissage automatique, la structure du dialogue et les stratégies de composition d'algorithmes sont optimisées par le système en exploitant les données statistiques des interactions sur un ensemble d'utilisateurs. According to an advantageous embodiment of the method of the invention, certain automatic learning models, the structure of the dialogue and the strategies of composition of algorithms are optimized by the system by exploiting the statistical data of the interactions on a set of users.

[0030] En outre, conformément à un autre mode de mise en oeuvre avantageux du procédé de l'invention, une fois qu'une relation est comprise et sauvegardée par le système, l'utilisateur pourra, s'il le désire, être spontanément informé de toutes nouvelles apparitions de documents qui sont liés par cette ou ces relations. Dans ce cas, le système prend de lui-même l'initiative d'informer l'utilisateur. Typiquement, si les documents d'un n-uplet sont liés par la ou les relations désirées, l'utilisateur est instantanément informé par un changement dans la visualisation durant une session d'interaction en cours ou simplement par la notification d'un message. [0030] Furthermore, in accordance with another advantageous embodiment of the method of the invention, once a relationship is understood and saved by the system, the user can, if he wishes, be spontaneously informed of any new appearances of documents that are bound by this relationship(s). In this case, the system itself takes the initiative to inform the user. Typically, if the documents of a tuple are linked by the desired relation or relations, the user is instantly informed by a change in the visualization during an interaction session in progress or simply by the notification of a message.

BREVE DESCRIPTION DES FIGURESBRIEF DESCRIPTION OF FIGURES

[0031] L'invention va être exposée de manière plus détaillée à l'aide de plusieurs exemples de réalisation présentés avec l'aide des dessins suivants: • La figure 1 représente un diagramme de flux illustrant un exemple du procédé de l'invention. • La figure 2 illustre l'exemple d'un couple de documents avec une relation entre les deux documents. • La figure 3 illustre un exemple d'un moteur de recherche relationnelle à apprentissage itératif.The invention will be explained in more detail with the aid of several embodiments presented with the aid of the following drawings: FIG. 1 represents a flow diagram illustrating an example of the method of the invention. • Figure 2 illustrates the example of a pair of documents with a relationship between the two documents. • Figure 3 illustrates an example of an iterative learning relational search engine.

DESCRIPTION DETAILLEE DE L'INVENTIONDETAILED DESCRIPTION OF THE INVENTION

[0032] Les caractéristiques décrites dans la revendication 1 permettent à un moteur de recherche relationnelle de trouver des n-uplets de n documents qui possèdent entre eux une ou plusieurs relations désirées par l'utilisateur. Une fois que la ou les relations sont exprimées et modélisées, des n-uplets correspondants peuvent être cherchés dans l'espace de recherche. [0032] The characteristics described in claim 1 allow a relational search engine to find n-tuples of n documents which have between them one or more relations desired by the user. Once the relation(s) are expressed and modeled, corresponding tuples can be searched in the search space.

[0033] L'invention comporte une première étape (a) de création de l'espace de recherche. Cette espace permet au moteur de recherche relationnelle d'effectuer le traitement, le stockage et la recherche des n-uplets. The invention includes a first step (a) of creating the search space. This space allows the relational search engine to perform the processing, storage and search of tuples.

[0034] Le moteur de recherche relationnelle a également un mode de réalisation où il traite l'espace de recherche des documents sous la forme d'un flux continu, en mode streaming. The relational search engine also has an embodiment where it processes the document search space in the form of a continuous flow, in streaming mode.

[0035] Dans certains cas d'usage, les documents sont stockés dans des systèmes informatiques qui nécessitent des droits d'accès particuliers, l'utilisateur peut fournir ces droits d'accès au système pour que celui-ci puisse accéder aux documents. Par exemple, certains des documents cherchés peuvent faire partie d'un site de partage de documents ou faire partie des données personnelles d'un utilisateur, dans ce cas, celui-ci peut, s'il le désire, accorder les droits d'accès au système de recherche. Ces connexions sont traitées par des connecteurs et ceux-ci existent pour les principaux systèmes existants. [0035] In certain cases of use, the documents are stored in computer systems which require particular access rights, the user can provide these access rights to the system so that the latter can access the documents. For example, some of the documents sought may be part of a document sharing site or be part of a user's personal data, in which case the user may, if desired, grant access rights to the search system. These connections are processed by connectors and these exist for the main existing systems.

[0036] En fonction des besoins, l'espace de recherche peut être partitionné en sets de documents. Lorsque les documents sont partitionnés en des sets différents, ceux-ci ne contiennent pas nécessairement un nombre identique de documents. Par exemple, Il est possible que dans un des sets de documents, il n'y ait qu'un document. [0036] Depending on the needs, the search space can be partitioned into sets of documents. When the documents are partitioned into different sets, these do not necessarily contain an identical number of documents. For example, it is possible that in one of the document sets, there is only one document.

[0037] Les documents ne définissent pas forcément des contenus informatiques ou des médias, ils représentent aussi des personnes ou la modélisation numérique d'une personne, comme par exemple : les types de musique qu'elle préfère. The documents do not necessarily define computer content or media, they also represent people or the digital modeling of a person, such as for example: the types of music that he prefers.

[0038] Dans certains cas d'usage, les sets de documents ne sont pas disponibles d'office dans l'espace de recherche, pour faciliter leur acquisition, l'Application programming interface (API) d'un moteur de recherche classique est utilisé. L'utilisateur doit alors définir les critères de recherche qui permettent de collecter les documents et, par la suite, le moteur de recherche classique fournit les Uniform Resource Locators (URL) des documents, ceux-ci et leur contenu sont alors ingérés automatiquement dans l'espace de recherche du système par l'usage de connecteurs logiciels spécifiques. [0038] In certain cases of use, the sets of documents are not automatically available in the search space, to facilitate their acquisition, the Application programming interface (API) of a classic search engine is used. . The user must then define the search criteria which make it possible to collect the documents and, subsequently, the classic search engine provides the Uniform Resource Locators (URLs) of the documents, these and their content are then automatically ingested into the system search space through the use of specific software connectors.

[0039] L'espace de recherche stocke ou traite les documents avec un format interne spécifique et optimisé pour la recherche. [0039] The search space stores or processes documents with a specific internal format optimized for search.

[0040] Les documents sont traités par l'ensemble des algorithmes ad hoc de prétraitement de l'information. Parfois, les documents sont produits dans une autre langue et doivent être traduits. The documents are processed by all the ad hoc information preprocessing algorithms. Sometimes documents are produced in another language and need to be translated.

[0041] Les documents qui composent un n-uplet peuvent avoir des types différents, comme dans les exemples de couples de documents suivants : une image - du texte ; une personne - un morceau de musique. Le système convertit tous les types de documents externes dans un format et des structures internes pour réaliser, entre autre, l'enrichissement sémantique du contenu, l'extraction de métadonnées et l'addition de métadonnées, la modélisation interne, et pour offrir plusieurs méthodes d'accès vectorisés et intra-media, etc. The documents that make up a n-tuple can have different types, as in the following examples of pairs of documents: an image-text; a person - a piece of music. The system converts all types of external documents into an internal format and structures to perform, among other things, semantic content enrichment, metadata extraction and metadata addition, internal modeling, and to offer several methods vectorized and intra-media access, etc.

[0042] Les accès intra-media permettent au moteur de recherche d'avoir un accès par introspection. Cette méthode est typiquement utilisée par le moteur de recherche pour accéder aux contenus internes des documents par leurs éléments ou par leurs structures internes. Dans certains cas, une description spécifique est utilisée, comme par exemple, le langage Synchronized Multimedia Integration Language (SMIL). [0042] Intra-media access allows the search engine to have access by introspection. This method is typically used by the search engine to access the internal contents of documents by their elements or by their internal structures. In some cases, a specific description is used, for example, Synchronized Multimedia Integration Language (SMIL).

[0043] La représentation interne des documents est typiquement extraite suivant les médias avec différents algorithmes, comme par exemple avec un algorithme de reconnaissance automatique de la parole, un algorithme de reconnaissance d'image, un algorithme de reconnaissance optique de caractères, ou avec une extraction automatique de graphes lorsque, par exemple, le document est une composition d'objets ou de topics. Pour l'extraction des métriques particulières, des algorithmes ad hoc sont utilisés. [0043] The internal representation of the documents is typically extracted according to the media with different algorithms, such as for example with an automatic speech recognition algorithm, an image recognition algorithm, an optical character recognition algorithm, or with a automatic extraction of graphs when, for example, the document is a composition of objects or topics. For the extraction of particular metrics, ad hoc algorithms are used.

[0044] De manière générale, les graphes permettent l'établissement de liens pour augmenter les connaissances de la représentation interne des documents. Des graphes de connaissances et des bases de connaissances sont typiquement utilisés pour enrichir les représentations internes des documents. Un exemple d'extraction et de représentation sous la forme de Resource Description Framework (RDF) est décrit dans l'article suivant : Knowledge Vault: A Web-Scale Approach to Probabilistic Knowledge Fusion, by Kevin Murphy et al. In KDD 2014). [0044] In general, the graphs allow the establishment of links to increase the knowledge of the internal representation of the documents. Knowledge graphs and knowledge bases are typically used to enrich the internal representations of documents. An example of extraction and representation as Resource Description Framework (RDF) is described in the following article: Knowledge Vault: A Web-Scale Approach to Probabilistic Knowledge Fusion, by Kevin Murphy et al. In KDD 2014).

[0045] La structure interne et les méthodes d'accès des documents sont déterminées, en partie, par les paramètres suivants: le type des documents recherchés, la taille de l'espace recherche résultant, la vitesse avec laquelle les documents évoluent, et le temps de réponse imposé par l'interface utilisateur. [0045] The internal structure and methods of accessing documents are determined, in part, by the following parameters: the type of documents sought, the size of the resulting search space, the speed with which the documents evolve, and the response time imposed by the user interface.

[0046] Lorsque la taille de l'espace de recherche est grande (> million de documents), une première approche, bien connue dans l'état de la technique, utilise des Bag-of-Words (BoW) comme représentation vectorielle enrichie avec un marquage sémantique extrait d'une source externe de connaissances. Finalement, les termes des BoW sont pondérés pour améliorer les performances. When the size of the search space is large (> million documents), a first approach, well known in the state of the art, uses Bag-of-Words (BoW) as a vector representation enriched with a semantic markup extracted from an external source of knowledge. Finally, the BoW terms are weighted to improve performance.

[0047] Dans un espace de documents vectorisés de type BoW, une recherche relationnelle s'effectue typiquement en deux phases. Pour chacun des documents de la relation cherchée, le moteur trouve d'abord les documents pertinents puis filtre les n-uplets en fonction de la pertinence de la relation ou des relations entre les documents. In a space of vectorized documents of the BoW type, a relational search is typically carried out in two phases. For each of the documents in the relationship sought, the engine first finds the relevant documents and then filters the tuples according to the relevance of the relationship or relationships between the documents.

[0048] Suivant les contextes, d'autres approches sont utilisées de préférence: • Une approche utilise des graphes, comme par exemple, l'algorithme Graph-based Semi-Supervised Learning. Cette approche s'applique bien à de grandes tailles d'espace de recherche. • L'approche suivante est utilisée de préférence lorsque la taille de l'espace de recherche est plus modeste ou est à construire à la volée. Elle consiste à créer un espace sémantique continu des documents par apprentissage automatique, cette technique est connue sous le nom de Paragraph Vector, (cf. Distributed Représentations of Sentences and Documents. Quoc Le and Tomas Mikolov, ICML Beijing 2014)[0048] Depending on the context, other approaches are preferably used: • One approach uses graphs, such as, for example, the Graph-based Semi-Supervised Learning algorithm. This approach applies well to large search space sizes. • The following approach is preferably used when the size of the search space is more modest or is to be built on the fly. It consists in creating a continuous semantic space of documents by machine learning, this technique is known as Paragraph Vector, (cf. Distributed Representations of Sentences and Documents. Quoc Le and Tomas Mikolov, ICML Beijing 2014)

[0049] Lorsque les documents représentent des médias ou sont de types différents, un apprentissage en profondeur est utilisé de préférence. Cette approche permet d'extraire une représentation interne de plusieurs types de documents différents, comme par exemple: du texte, un signal audio, des images, ou des signaux vidéo. [0049] When the documents represent media or are of different types, deep learning is preferably used. This approach makes it possible to extract an internal representation of several different types of documents, such as: text, an audio signal, images, or video signals.

[0050] Une fois que l'espace de recherche est disponible, l'étape (a) est réalisée, l'invention permet alors à l'utilisateur d'exprimer une relation désirée dans l'étape (b), et de faire comprendre cette relation au moteur de recherche avec l'aide d'un apprentissage itératif réalisé par la suite des étapes (c, d, e). [0050] Once the search space is available, step (a) is performed, the invention then allows the user to express a desired relationship in step (b), and to understand this relationship to the search engine with the help of an iterative learning carried out by following steps (c, d, e).

[0051] Une relation est représentée par le moteur de recherche relationnelle comme des métriques qui imposent des contraintes sur des valeurs mesurables et par des modélisations sémantiques entre les concepts. A relationship is represented by the relational search engine as metrics which impose constraints on measurable values and by semantic models between the concepts.

[0052] Les contraintes sont extraites par des algorithmes ad hoc et la représentation sémantique est typiquement extraite par un traitement automatique du langage naturel, Natural Language Processing (NLP). The constraints are extracted by ad hoc algorithms and the semantic representation is typically extracted by automatic natural language processing, Natural Language Processing (NLP).

[0053] Dans l'étape (b) du procédé, l'interface homme-machine permet à l'utilisateur d'exprimer en langage naturel une ou plusieurs relations entre des documents avec des types identiques ou différents. Comme par exemple „Cherche une image et un texte qui illustrent la deuxième guerre mondiale!“ In step (b) of the method, the man-machine interface allows the user to express in natural language one or more relationships between documents with identical or different types. Like for example „Look for an image and a text that illustrates the Second World War!“

[0054] Dans certains cas, l'utilisateur possède déjà un document ou un ensemble de documents qu'il désigne comme étant le premier document du n-uplet. Ensuite, par rapport à ce premier document, il décrit la relation désirée en langage naturel avec le deuxième document du n-uplet. Un exemple de scénario d'usage pourrait être le suivant : dans la sous-étape (b1), l'utilisateur désigne une image d'une maison de campagne, l'utilisateur exprime alors la relation désirée en langage naturel : „Cherche une maison identique mais avec un garage !“. L'objectif du moteur de recherche relationnelle est alors d'analyser, de comprendre la requête et ensuite de chercher des images de maison qui correspondent à l'exemple de la maison avec, en plus, un garage. In some cases, the user already has a document or a set of documents that he designates as being the first document of the tuple. Then, with respect to this first document, it describes the desired relationship in natural language with the second document of the tuple. An example of a usage scenario could be the following: in sub-step (b1), the user designates an image of a country house, the user then expresses the desired relation in natural language: „Looking for a house identical but with a garage!“. The objective of the relational search engine is then to analyze, to understand the request and then to look for images of houses which correspond to the example of the house with, in addition, a garage.

[0055] Les requêtes en langage naturel et les documents exemples sont traités par les mêmes algorithmes que ceux de l'espace de recherche, ceci pour avoir une structure et un format identique. [0055] The natural language queries and the example documents are processed by the same algorithms as those of the search space, in order to have an identical structure and format.

[0056] Dans d'autres cas d'usage, il est parfois fastidieux, voire impossible, de décrire en langage naturel une relation subjective perçue qui existe entre un couple de documents et l'utilisateur. Il est peut-être plus simple de donner un ou plusieurs exemples de n-uplets. La sous-étape (b1) permet précisément de donner un ou plusieurs exemples en les désignant ou en les glissant par drag & drop dans l'interface homme-machine du système. Celui-ci utilisera l'apprentissage itératif des étapes (c, d, e) pour comprendre de lui-même quelle est la relation qui lie le couple de documents tout en cherchant de nouveaux n-uplets pertinents. In other cases of use, it is sometimes tedious, or even impossible, to describe in natural language a perceived subjective relationship which exists between a pair of documents and the user. It is perhaps simpler to give one or more examples of tuples. The sub-step (b1) precisely makes it possible to give one or more examples by designating them or by dragging and dropping them in the man-machine interface of the system. This one will use the iterative learning of the steps (c, d, e) to understand by itself what is the relation which links the pair of documents while searching for new relevant n-tuples.

[0057] La flexibilité de l'interface langage naturel permet à l'utilisateur d'exprimer les relations de type métrique qui nécessitent des algorithmes ad hoc de prétraitement pour l'extraction des contraintes. Les métriques peuvent être d'une nature très différente, elles peuvent être par exemple de nature qualitative, quantitative, temporelle, géographique, financière, etc. Pour traiter une majorité de ces métriques, plus d'une centaine d'algorithmes ad hoc sont nécessaires. [0057] The flexibility of the natural language interface allows the user to express metric type relationships that require ad hoc pre-processing algorithms for the extraction of constraints. Metrics can be of a very different nature, for example they can be qualitative, quantitative, temporal, geographical, financial, etc. To process a majority of these metrics, more than a hundred ad hoc algorithms are needed.

[0058] L'interface homme-machine comporte un ensemble de contrôles qui permettent à l'utilisateur de réinitialiser une relation, d'associer deux ou plusieurs relations, de renommer une relation, de sauvegarder, de retrouver, ou de supprimer une relation. L'utilisateur peut également modifier l'étendue de la compréhension d'une relation, p. ex. en inversant la signification d'une relation, et dans ce cas, les n-uplets trouvés sont ceux qui correspondent le moins possible à la relation exprimée. [0058] The man-machine interface includes a set of controls that allow the user to reinitialize a relationship, to associate two or more relationships, to rename a relationship, to save, to find, or to delete a relationship. The user can also change the scope of understanding of a relationship, e.g. ex. by reversing the meaning of a relation, and in this case, the n-tuples found are those which correspond the least possible to the expressed relation.

[0059] L'utilisateur peut être automatiquement informé, s'il le désire, par une notification du système si une nouvelle relation pertinente est apparue dans l'espace de recherche, par exemple, lors de l'apparition d'un nouveau n-uplet de documents The user can be automatically informed, if desired, by a notification from the system if a new relevant relationship has appeared in the search space, for example, when a new n- tuple of documents

[0060] Par la suite, lorsqu'une première recherche est effectuée dans l'étape (c), le système affiche les n-uplets trouvés dans l'étape (d). Chaque n-uplet (10) est visualisé avec une première évaluation algorithmique de la pertinence de ses relations. Celles-ci sont typiquement visualisées d'une manière graphique avec les étiquettes suivantes p. ex. : „pertinent“ (14), „indéfini“ (15) et „non pertinent“ (16). Subsequently, when a first search is performed in step (c), the system displays the n-tuples found in step (d). Each n-tuple (10) is visualized with a first algorithmic evaluation of the relevance of its relations. These are typically visualized graphically with the following labels p. ex. : „relevant“ (14), „undefined“ (15) and „not relevant“ (16).

[0061] Durant cette même étape (d) d'affichage, une sous-étape (d1) d'un algorithmique de rétro-pertinence ajoute, si nécessaire, au moins un n-uplet aux n-uplets trouvés ou remplace un certain nombre de n-uplets trouvés avec des n-uplets choisis par lui-même. L'objectif étant que l'utilisateur attribue de préférence une étiquette d'évaluation à ce ou ces n-uplets. Cette approche d'apprentissage par rétro-pertinence est connue dans la littérature, voir p. ex : la référence (cf. On textbased mining with active learning and background knowledge using SVM, Catarina Silva and Bernardete Ribeiro, Published online, Springer-Verlag 2006). Elle permet d'augmenter la qualité de l'apprentissage supervisé ou semi-supervisé tout en réduisant le nombre d'itérations et d'interactions nécessaires. During this same step (d) of display, a sub-step (d1) of a retro-relevance algorithm adds, if necessary, at least one n-tuple to the n-tuples found or replaces a certain number of n-tuples found with n-tuples chosen by itself. The objective being that the user preferably assigns an evaluation label to this or these n-tuples. This retro-relevance learning approach is known in the literature, see p. ex: the reference (cf. On textbased mining with active learning and background knowledge using SVM, Catarina Silva and Bernardete Ribeiro, Published online, Springer-Verlag 2006). It increases the quality of supervised or semi-supervised learning while reducing the number of iterations and interactions required.

[0062] A la suite de l'étape (d), lorsque les premiers n-uplets sont affichés, l'utilisateur peut avec la boucle d'itération de l'étape (e) aider le système à perfectionner sa compréhension de la ou des relations en indiquant au système les relations les plus pertinents et celles qui ne le sont pas. Avec cette interaction, l'utilisateur adapte les étiquettes des relations des n-uplets. Par exemple, les relations étiquetées comme „pertinent“ (14) sont celles qui correspondent à une relation désirée et les relations étiquetées comme „non pertinent“ (16) ne correspondent pas à une relation cherchée et ceci du point de vue de l'utilisateur. [0062] Following step (d), when the first n-tuples are displayed, the user can use the iteration loop of step (e) to help the system improve its understanding of the relationships by indicating to the system which relationships are most relevant and which are not. With this interaction, the user adapts the labels of the relations of the tuples. For example, relations labeled as „relevant“ (14) are those which correspond to a desired relation and relations labeled as „irrelevant“ (16) do not correspond to a sought relation and this from the user's point of view. .

[0063] Pour chaque n-uplet, les étiquettes sont typiquement visualisées par des symboles : une étoile pleine (étiquette = pertinent) (14), une étoile hachurée (étiquette = indéfini) (15) et une étoile vide (étiquette = non-pertinent) (16). [0063] For each n-tuple, the labels are typically visualized by symbols: a solid star (label = relevant) (14), a hatched star (label = undefined) (15) and an empty star (label = not- relevant) (16).

[0064] Pour certaines applications, d'autres types d'étiquettes sont utilisées et parfois en plus grand nombre ; comme par exemple, un set de mots-clés, où l'appréciation de l'utilisateur s'effectue en sélectionnant un certain nombre de mots-clés pertinents et en désélectionnant d'autres mots-clés non-pertinents. Ces sélections ou désélections sont alors visualisées par une simple mise en évidence graphique de ces mots-clés. For some applications, other types of labels are used and sometimes in greater numbers; for example, a set of keywords, where the user's appreciation is made by selecting a certain number of relevant keywords and deselecting other irrelevant keywords. These selections or deselection are then visualized by a simple graphic highlighting of these keywords.

[0065] Les étiquettes peuvent être regroupées au niveau de chaque relation, comme dans la figure 2, elles peuvent également être intégrées dans la visualisation du contenu des documents. Suivant le type de document, les étiquettes peuvent être représentées par des phrases et par des mots qui sont mis en évidence dans un texte, avec des zones et des objets graphiques dans le cas d'une image, par des passages musicaux pour un morceau de musique, ou par des séquences vidéo pour un film. Pour identifier les n-uplets les plus pertinents, l'utilisateur sélectionne et désélectionne les étiquettes en interagissant directement avec le contenu des documents. The labels can be grouped at the level of each relation, as in figure 2, they can also be integrated into the visualization of the content of the documents. Depending on the type of document, labels can be represented by phrases and by words that are highlighted in a text, with areas and graphic objects in the case of an image, by musical passages for a piece of music, or by video sequences for a film. To identify the most relevant tuples, the user selects and deselects tags by interacting directly with the content of the documents.

[0066] L'utilisateur n'a pas l'obligation d'étiqueter tous les n-uplets, s'il ne le fait pas, il existe alors deux sets de relations, celles qui sont étiquetées par l'utilisateur et celles qui sont étiquetées par le système. A chaque interaction avec une étiquette, une boucle d'itération de l'étape (e) est réalisée : le système analyse les n-uplets modifiés dans l'étape (e1), il améliore la modélisation de la relation recherchée dans l'étape (e2) et il visualise les résultats dans l'étape (e3). Plus précisément, durant l'étape (e3) et avec le nouveau modèle enrichi, le système réévalue l'assignation de ses propres étiquettes sur l'ensemble des relations des n-uplets visualisés. Cette évaluation algorithmique des relations étiquetées permet à l'utilisateur d'apprécier et d'ajuster, si nécessaire, les étiquettes sur l'ensemble des relations des n-uplets visualisés. [0066] The user does not have the obligation to label all the n-tuples, if he does not do so, there are then two sets of relations, those which are labeled by the user and those which are labeled by the system. At each interaction with a label, an iteration loop of step (e) is carried out: the system analyzes the n-tuples modified in step (e1), it improves the modeling of the relationship sought in step (e2) and it visualizes the results in step (e3). More precisely, during step (e3) and with the new enriched model, the system re-evaluates the assignment of its own labels on the set of relations of the n-tuples displayed. This algorithmic evaluation of the labeled relations allows the user to appreciate and adjust, if necessary, the labels on all the relations of the n-tuples displayed.

[0067] Conformément à un mode de mise en oeuvre avantageux du procédé de l'invention, lorsque l'utilisateur le désire, il peut relancer une recherche qui tient compte du progrès de la modélisation des relations désirées. In accordance with an advantageous mode of implementation of the method of the invention, when the user so desires, he can relaunch a search which takes account of the progress in the modeling of the desired relationships.

[0068] Différents types d'algorithmes d'apprentissage supervisé ou semi-supervisé peuvent être utilisés. Les algorithmes supervisés permettent d'exploiter la connaissance des n-uplets étiquetés par l'utilisateur et les algorithmes semi-supervisé peuvent aussi exploiter les n-uplets non-étiquetés issus des recherches précédentes et même des n-uplets non-étiquetés présents dans l'espace de recherche. [0068] Different types of supervised or semi-supervised learning algorithms can be used. Supervised algorithms make it possible to exploit the knowledge of labeled n-tuples by the user and semi-supervised algorithms can also exploit unlabeled n-tuples from previous searches and even unlabeled n-tuples present in the search space.

[0069] Lorsque la quantité des données est suffisante, les algorithmes d'apprentissage semi-supervisé cf. Semi-Supervised Learning (SSL) sont utilisés de préférence. When the quantity of data is sufficient, the semi-supervised learning algorithms cf. Semi-Supervised Learning (SSL) are preferred.

[0070] Suivant le type de document et le contexte applicatif, certains algorithmes semi-supervisés donnent de meilleurs résultats, par exemple, dans le cas où les documents sont du texte, les Séparateurs à Vaste Marge à apprentissage Transductif (TSVM) sont utilisés et de préférence (cf. Transductive inference for text classification using support vector machines by Joachims T. ICML1999). Dans ce cas, les vecteurs nécessaires à l'apprentissage sont composés de la concaténation des représentations internes des documents du n-uplet avec une cible +1 lorsque le n-uplet est „pertinent“ de -1 si le n-uplet est „non pertinent“ ou 0 si l'étiquette du vecteur n'est pas connue. [0070] Depending on the type of document and the application context, certain semi-supervised algorithms give better results, for example, in the case where the documents are text, Transductive Learning Vast Margin Separators (TSVM) are used and preferably (cf. Transductive inference for text classification using support vector machines by Joachims T. ICML1999). In this case, the vectors necessary for learning are composed of the concatenation of the internal representations of the documents of the n-tuple with a target +1 when the n-tuple is „relevant“ of -1 if the n-tuple is „not relevant“ or 0 if the vector label is not known.

[0071] Lorsque l'algorithme a modélisé une relation pour l'utiliser dans une recherche de n-uplets, les vecteurs évalués par l'algorithme produisent le résultat +1 pour une relation avec une étiquette „pertinent“ et -1 pour une relation avec une étiquette „non-pertinent“. Dans le cas particulier de l'algorithme TSVM, aucune étiquette „indéfini“ n'est produite. [0071] When the algorithm has modeled a relation for use in a search for n-tuples, the vectors evaluated by the algorithm produce the result +1 for a relation with a "relevant" label and -1 for a relation with an „not relevant“ tag. In the particular case of the TSVM algorithm, no "undefined" label is produced.

[0072] Une réponse binaire n'est pas toujours souhaitable, comme par exemple dans le cas où il faut déterminer un ordre de pertinence des n-uplets. D'autres algorithmes existent qui fournissent aussi une mesure de confiance comme p. ex. l'algorithme d'apprentissage supervisé de type : Relevance Vector Machine (RVM). Celui-ci est à utiliser de préférence dans le cas où une évaluation plus riche est désirée pour une meilleure visualisation des résultats. A binary response is not always desirable, as for example in the case where it is necessary to determine an order of relevance of the n-tuples. Other algorithms exist which also provide a confidence measure such as p. ex. the supervised learning algorithm of the type: Relevance Vector Machine (RVM). This is to be used preferably in the case where a richer evaluation is desired for a better visualization of the results.

[0073] Dans d'autres cas, les données peuvent être analysées sous la forme de graphes, idéalement lorsqu'un graphe peut être automatiquement extrait sur la base des entités présentes dans d'autres contextes informatifs ; alors l'algorithme Graph-Based Semi-Supervised Learning sera utilisé de préférence (cf. voir la référence : Graph-based Semi-Supervised Learning, Amarnag Subramanya and Partha Pratim Talukdar, Morgan & Claypool Publishers). [0073] In other cases, the data can be analyzed in the form of graphs, ideally when a graph can be automatically extracted on the basis of the entities present in other informative contexts; then the Graph-Based Semi-Supervised Learning algorithm will preferably be used (cf. see the reference: Graph-based Semi-Supervised Learning, Amarnag Subramanya and Partha Pratim Talukdar, Morgan & Claypool Publishers).

[0074] Suivant le nombre de résultats trouvés par le moteur de recherche relationnelle, ceux-ci seront représentés de manière à mieux communiquer visuellement leur pertinence par rapport à la relation cherchée. Le choix du mode de visualisation est toujours motivé par la qualité de l'interaction proposée pour minimiser le nombre d'interactions nécessaires et par l'efficacité de l'apprentissage automatique de la relation cherchée. [0074] Depending on the number of results found by the relational search engine, these will be represented in such a way as to better visually communicate their relevance with respect to the relationship sought. The choice of the visualization mode is always motivated by the quality of the interaction proposed to minimize the number of necessary interactions and by the efficiency of the automatic learning of the relationship sought.

[0075] L'interface homme-machine permet aussi à l'utilisateur de fouiller à loisir les n-uplets trouvés et, individuellement, chaque set de documents qui entre dans la composition d'un n-uplet trouvé. The man-machine interface also allows the user to search at leisure for the n-tuples found and, individually, for each set of documents which enters into the composition of a n-tuple found.

[0076] La pertinence des n-uplets est typiquement visualisée par un ordre dans une liste, par une mise en évidence graphique dans une espace 2D, par une proximité dans un espace 3D. Dans certains cas, le système va offrir de préférence une interface immersive où l'utilisateur est immergé à l'intérieur de l'espace de visualisation des n-uplets correspondants à sa recherche. Dans ce mode de représentation, des accessoires additionnels sont nécessaires pour permettre cette navigation, comme par exemple un casque de réalité virtuelle ou une salle immersive. The relevance of the tuples is typically visualized by an order in a list, by a graphic highlighting in a 2D space, by a proximity in a 3D space. In some cases, the system will preferably offer an immersive interface where the user is immersed inside the space for viewing the n-tuples corresponding to his search. In this mode of representation, additional accessories are necessary to allow this navigation, such as for example a virtual reality headset or an immersive room.

[0077] Le procédé de visualisation comporte typiquement une étape algorithmique dans laquelle les n-uplets sont projetés dans un espace de dimension réduite pour améliorer l'expressivité de la visualisation. The visualization method typically includes an algorithmic step in which the n-tuples are projected into a space of reduced dimension to improve the expressiveness of the visualization.

[0078] La visualisation des n-uplets est avantageusement adaptée pour représenter au mieux leur pertinence. Par exemple, lorsqu'un document est commun à plusieurs n-uplets de résultats, ils peuvent être regroupés pour alléger la visualisation. Pour certains modes de réalisation, comme ceux qui traitent des données multimédias, une interface homme-machine adaptée est utilisée. The visualization of the n-tuples is advantageously adapted to best represent their relevance. For example, when a document is common to several n-tuples of results, they can be grouped together to simplify the visualization. For some embodiments, such as those that process multimedia data, a suitable man-machine interface is used.

[0079] La performance des cycles d'apprentissage itératif de la ou des relations est grandement augmentée par la qualité et la richesse de la visualisation, elle permet d'augmenter la qualité de l'interaction et donc d'accélérer la rapidité avec laquelle le moteur de recherche relationnelle comprend les intentions de l'utilisateur et lui délivre les résultats pertinents attendus. [0079] The performance of the iterative learning cycles of the relationship or relationships is greatly increased by the quality and richness of the visualization, it makes it possible to increase the quality of the interaction and therefore to accelerate the speed with which the relational search engine understands the intentions of the user and delivers the expected relevant results.

[0080] L'Homme du Métier comprendra que la portée de l'invention n'est pas limitée par à un type particulier d'espace de recherche ou par des structures internes des données particulières, ni par le choix d'un ensemble de métriques, ou par le choix d'un algorithme d'apprentissage particulier. [0080] Those skilled in the art will understand that the scope of the invention is not limited by a particular type of search space or by internal structures of the particular data, nor by the choice of a set of metrics , or by the choice of a particular learning algorithm.

EXEMPLES DE MODE DE REALISATION DE L'INVENTIONEXAMPLES OF EMBODIMENTS OF THE INVENTION

[0081] Des développements profitables découlent de la revendication indépendante dans tous les cas d'applications où les utilisateurs recherchent une relation désirée entre les documents d'un n-uplet. [0081] Profitable developments follow from the independent claim in all the cases of applications where the users seek a desired relation between the documents of a n-tuple.

[0082] Le service informatique d'un procédé de moteur de recherche relationnelle est de préférence mis à disposition des utilisateurs en même temps qu'un moteur de recherche classique ou d'un service de questions réponses de type générique. Avec l'aide d'une interface homme-machine de type langage naturel, l'utilisateur peut invoquer tout un ensemble de services d'information d'une manière transparente. Par exemple, une recherche classique d'un moteur de recherche avec une séquence de mots-clés „Restaurants italiens Lausanne“, une question factuelle, p. ex. : „Quelle est la deuxième plus grande ville des Pays-Bas ?“ ou un des modes de réalisation de l'invention p. ex. : „Trouve-moi une offre d'emploi qui correspond à mes compétences avec un salaire plus élevé !“. Le système d'information classifie alors les différentes demandes de l'utilisateur et active l'un des systèmes d'information correspondants au domaine applicatif. The computer service of a relational search engine method is preferably made available to users at the same time as a conventional search engine or a generic type question-and-answer service. With the help of a natural language-like human-machine interface, the user can invoke a whole set of information services in a transparent manner. For example, a classic search of a search engine with a sequence of keywords „Italian restaurants Lausanne“, a factual question, p. ex. : „What is the second largest city in the Netherlands?“ or one of the embodiments of the invention p. ex. : „Find me a job offer that matches my skills with a higher salary!“. The information system then classifies the various user requests and activates one of the information systems corresponding to the application domain.

[0083] Lorsque le service de recherche relationnelle est identifié et activé, la requête de l'utilisateur est d'abord classifiée dans un sous-ensemble de catégories de services qui sont spécifiques à un domaine particulier. Ces domaines peuvent être de type : recherche d'une offre d'emploi, recherche immobilière, recherche d'un partenaire, etc. [0083] When the relational search service is identified and activated, the user's query is first classified into a subset of service categories that are specific to a particular domain. These fields can be of the type: search for a job offer, real estate search, search for a partner, etc.

[0084] Dans le cas, où l'utilisateur formule une demande de type : „Cherche une image et un morceau de musique de Neil Young des années 70 !“. C'est le service de recherche relationnelle du domaine des médias qui est activé. L'analyse de la demande est poursuivie en cherchant un couple de documents composé d'une image et d'un morceau de musique. Le couple de documents possède une relation composée de deux liens celui du nom propre (Neil Young) et celui de la métrique temporelle (des années 70). [0084] In the case where the user formulates a request of the type: "Look for an image and a piece of music by Neil Young from the 70s!". The relational search service of the media domain is activated. The analysis of the request is continued by searching for a pair of documents consisting of an image and a piece of music. The pair of documents has a relationship made up of two links, that of the proper name (Neil Young) and that of the temporal metric (from the 1970s).

[0085] Certains modes de réalisation de l'invention exploitent les algorithmes d'apprentissage en profondeur pour pouvoir analyser des types de documents différents et pour extraire une description interne enrichie de ces documents. Des relations entre ces descriptions peuvent ensuite être cherchées efficacement, ce qui permet à l'invention d'être relativement indépendante par rapport aux types de documents à traiter. Certain embodiments of the invention exploit deep learning algorithms to be able to analyze different types of documents and to extract an enriched internal description of these documents. Relationships between these descriptions can then be searched efficiently, which allows the invention to be relatively independent with respect to the types of documents to be processed.

[0086] Un premier exemple de mode de réalisation permet de chercher une relation particulière entre un couple de documents de même type. Le contexte applicatif est celui d'une recherche d'emploi où un utilisateur désire être informé automatiquement par de nouvelles opportunités. Il peut alors exprimer sa recherche avec un document exemple : son curriculum vitae et exprimer la relation en langage naturel par rapport à ce premier document, p. ex. „Cherche un travail plus qualifié !“. Dans l'exemple de la figure 1, le système analyse la relation cherchée dans l'étape (b) et choisit une stratégie de traitement et d'apprentissage adaptée, au fil des cycles d'itérations de recherche et d'apprentissage (c, d, e), l'utilisateur apprend au système à mieux comprendre la relation cherchée. Avec l'aide des algorithmes d'apprentissage, le système modélise progressivement et de manière pondérée l'ensemble des critères de correspondances, le modèle est ensuite stocké par le système. Si par la suite, l'utilisateur veut être notifié automatiquement d'une nouvelle opportunité sur le marché de l'emploi, il peut alors activer les notifications sur la base de la relation apprise précédemment. A first exemplary embodiment makes it possible to search for a particular relationship between a pair of documents of the same type. The application context is that of a job search where a user wishes to be automatically informed of new opportunities. He can then express his research with an example document: his curriculum vitae and express the relationship in natural language with respect to this first document, p. ex. „Look for a more qualified job!“. In the example of Figure 1, the system analyzes the relationship sought in step (b) and chooses an appropriate processing and learning strategy, over the cycles of search and learning iterations (c, d, e), the user teaches the system to better understand the relationship sought. With the help of learning algorithms, the system gradually and weightedly models all the matching criteria, the model is then stored by the system. If later, the user wants to be automatically notified of a new opportunity on the job market, he can then activate notifications based on the previously learned relationship.

[0087] D'autres applications sont rendues possibles avec un mode de réalisation qui implique des recherches de relations subjectives et perceptives, typiquement : „j'aime“ ou „je n'aime pas“ un document, que ce soit pour exprimer des relations entre deux personnes dans un réseau social ou dans les domaines d'expressions et de créations artistiques. Dans ce mode de réalisation, le moteur de recherche relationnelle pourra avantageusement avoir accès et exploiter l'ensemble des données personnelles d'un utilisateur et l'historique de l'utilisation des fichiers (system log-files) pour mieux modéliser la personnalité et les préférences de la personne. [0087] Other applications are made possible with an embodiment which involves searches for subjective and perceptual relationships, typically: "I like" or "I don't like" a document, whether to express relationships between two people in a social network or in the fields of artistic expression and creation. In this embodiment, the relational search engine can advantageously have access to and exploit all of a user's personal data and the history of the use of files (system log-files) to better model the personality and person's preferences.

[0088] Un autre mode de réalisation est illustré avec l'aide de la figure 2, l'objectif est de trouver une relation émotionnelle entre des séquences musicales et des images qui l'accompagnent. Dans ce cas, la relation (13) cherchée est de nature subjective et entre un couple de documents (12) et l'utilisateur lui-même. Une interface adaptée permet à l'utilisateur d'étiqueter les couples „passage musical - image“ avec l'étiquette „j'aime“ (14) et ceux qui ne lui plaisent pas avec l'étiquette „je n'aime pas“ (16). Another embodiment is illustrated with the help of Figure 2, the objective is to find an emotional relationship between musical sequences and accompanying images. In this case, the relationship (13) sought is of a subjective nature and between a pair of documents (12) and the user himself. An adapted interface allows the user to label the pairs "musical passage - image" with the label "I like" (14) and those which do not please him with the label "I do not like" ( 16).

[0089] La stratégie d'apprentissage est typiquement basée sur un apprentissage en profondeur pour décrire au mieux le contenu des images. Pour la musique, des métadonnées sont extraites des bases de données disponibles et une extraction des paramètres musicaux est effectuée pour mieux adapter les images au rythme et aux caractéristiques de la musique. Pour identifier les structures internes de la musique une approche par apprentissage en profondeur est utilisée de préférence. Ensuite, par la concaténation de l'ensemble des informations extraites des deux types de document et des étiquettes, la relation est alors apprise par un algorithme d'apprentissage supervisé ou de préférence semi-supervisé. Il est à noter que l'utilisateur doit étiqueter un certain nombre de couples : passage musical - image, pour que l'algorithme puisse apprendre correctement la relation désirée. The learning strategy is typically based on deep learning to best describe the content of the images. For music, metadata is extracted from available databases and an extraction of musical parameters is performed to better adapt the images to the rhythm and characteristics of the music. To identify the internal structures of music a deep learning approach is preferably used. Then, by the concatenation of all the information extracted from the two types of document and from the labels, the relationship is then learned by a supervised or preferably semi-supervised learning algorithm. It should be noted that the user must label a certain number of pairs: musical passage - image, so that the algorithm can correctly learn the desired relationship.

[0090] Une approche avec un grand nombre d'utilisateurs est intéressante pour préfiltrer les correspondances les plus populaires (cf. par crowdsourcing), dans ce cas, les relations et apprentissages doivent être partagés avec la communauté d'utilisateurs. [0090] An approach with a large number of users is interesting for prefiltering the most popular correspondences (cf. by crowdsourcing), in this case, the relationships and learning must be shared with the community of users.

[0091] Avec l'aide des figures 1, 2 et 3, un autre mode de réalisation illustre la recherche d'une relation objective. Le système a été spécialement préparé et entraîné sur un grand nombre d'exemples d'utilisations spécifiques à ce domaine applicatif. Les représentations des données et l'analyse des requêtes sont également spécialement traitées et entrainées pour permettre de mieux répondre aux demandes. La relation et le domaine applicatif sont sélectionnés suite à l'analyse de la requête de l'utilisateur: „Cherche un couple étudiants qui aimeraient partir en vacances aux Maldives !“. Dans ce mode de réalisation, les documents liés par la relation cherchée sont d'une part des étudiants et d'autre part des étudiantes. Dans l'espace de recherche, les deux sets de documents sont déjà spécifiés par la liste de leur URL Facebook. Par l'analyse de la requête ci-dessus, le domaine applicatif est automatiquement reconnu et activé par le système. [0091] With the aid of Figures 1, 2 and 3, another embodiment illustrates the search for an objective relationship. The system has been specially prepared and trained on a large number of examples of uses specific to this application area. Data representations and query analysis are also specially processed and trained to better respond to requests. The relationship and the application domain are selected following the analysis of the user's request: „Looking for a student couple who would like to go on vacation to the Maldives!“. In this embodiment, the documents linked by the relationship sought are on the one hand male students and on the other hand female students. In the search space, the two sets of documents are already specified by the list of their Facebook URL. By analyzing the above request, the application domain is automatically recognized and activated by the system.

[0092] Dans l'exemple de la figure 2, le moteur de recherche relationnelle permet de trouver des n-uplets (10) avec la relation cherchée par l'utilisateur (13) dans l'espace de recherche des documents (12) qui représentent les données publiées sur le web. In the example of FIG. 2, the relational search engine makes it possible to find tuples (10) with the relation sought by the user (13) in the document search space (12) which represent data published on the web.

[0093] L'exemple de la figure 3 montre les différents modules logiciels et le matériel informatique nécessaire pour initialiser l'espace de recherche (213) et pour analyser les requêtes des utilisateurs (209). Plus précisément, dans le mode de réalisation décrit, l'ensemble des données spécifiques sont ingérées depuis le Web (300) par le module logiciel (211) pour constituer l'espace de recherche (213). Avec la liste des URL, deux sets de documents sont créés. Néanmoins, les données brutes ne sont pas directement exploitables sans le module logiciel d'enrichissement sémantique (212). Les modules logiciels (211) et (212) alimentent continuellement le contenu de l'espace de recherche (213) avec des données externes qui sont nouvelles ou récemment modifiées. Le module logiciel (211) typiquement consulte les pages web et le module logiciel (212) utilise typiquement les données et les ontologies dérivées des sources d'information disponibles. The example in FIG. 3 shows the various software modules and the computer hardware necessary to initialize the search space (213) and to analyze user requests (209). More specifically, in the embodiment described, all of the specific data is ingested from the Web (300) by the software module (211) to constitute the search space (213). With the list of URLs, two sets of documents are created. Nevertheless, the raw data cannot be directly exploited without the semantic enrichment software module (212). The software modules (211) and (212) continuously feed the content of the search space (213) with external data that is new or recently modified. The software module (211) typically consults web pages and the software module (212) typically uses data and ontologies derived from available information sources.

[0094] Dans l'exemple de figure 3, l'utilisateur d'une agence de voyages se connecte au système d'information (204) au travers d'une connexion Internet (300) et ceci avec une interface homme-machine (100) sur un ordinateur portable (101), un smartphone (102), une smartwatch ou tout autre appareil capable de dialoguer avec celui-ci, par exemple, en visualisant un contenu HTML ou en exécutant une application chargée localement en mémoire. Dans certains cas d'utilisation, le système peut être piloté par la voix ou par une interface multimodale (103) qui combine plusieurs modalités d'interactions comme par exemple : la voix, les gestes, etc. In the example of Figure 3, the user of a travel agency connects to the information system (204) through an Internet connection (300) and this with a man-machine interface (100 ) on a laptop computer (101), a smartphone (102), a smartwatch or any other device capable of communicating with it, for example, by viewing HTML content or by executing an application loaded locally in memory. In certain cases of use, the system can be controlled by voice or by a multimodal interface (103) which combines several modes of interaction such as for example: voice, gestures, etc.

[0095] Pour permettre la personnalisation et la sauvegarde des relations cherchées, l'utilisateur de l'agence de voyages doit être identifié dans la base de données des clients (205). Il doit donc s'être enregistré au préalable. Cette base de données détient aussi les droits d'accès aux données avec un accès protégé, comme par exemple, pour accéder aux données personnelles de l'agence de voyages ou à des sites d'offres de voyages en ligne. [0095] To allow personalization and saving of the relationships sought, the travel agency user must be identified in the customer database (205). He must therefore have registered beforehand. This database also holds the rights to access the data with protected access, such as, for example, to access the personal data of the travel agency or online travel offer sites.

[0096] L'utilisateur possède plusieurs façons d'exprimer une relation avec l'interface homme-machine (100). Il peut exprimer ladite relation en langage naturel dans le champ qui définit une des relations cherchées. Une deuxième façon est de sélectionner ou de glisser par drag & drop un ou plusieurs exemples de clients existants qui représentent au mieux la ou les relations cherchées. Une troisième façon est de définir plus précisément les documents du n-uplet par une expression qui permet à un moteur de recherche classique de trouver les différents étudiants des n-uplets cherchés. Une quatrième possibilité est de simplement reprendre une relation déjà cherchée et apprise par le système depuis la base de données (205). Cette base de données (205) sauve l'ensemble de l'historique des recherches et des relations cherchées par l'utilisateur en question. Finalement, l'utilisateur peut combiner plusieurs de ces approches précédemment décrites, s'il le désire. [0096] The user has several ways of expressing a relationship with the man-machine interface (100). He can express said relation in natural language in the field which defines one of the sought relations. A second way is to select or drag and drop one or more examples of existing customers that best represent the relationship(s) sought. A third way is to define more precisely the documents of the n-tuple by an expression which allows a classic search engine to find the different students of the sought n-tuples. A fourth possibility is to simply resume a relationship already sought and learned by the system from the database (205). This database (205) saves all of the history of searches and relationships sought by the user in question. Finally, the user can combine several of these previously described approaches, if desired.

[0097] Le module logiciel (206) met en forme la requête, analyse la ou les relations cherchées, sélectionne la stratégie de composition d'algorithmes. Finalement, il passe les informations au module logiciel (208) qui a pour objet d'exécuter la stratégie sélectionnée pour mieux comprendre le concept de la relation exprimée par l'utilisateur. Un exemple plus détaillé de ce processus est décrit avec le diagramme de flux de la figure 1. The software module (206) formats the query, analyzes the relationship or relationships sought, selects the algorithm composition strategy. Finally, it passes the information to the software module (208) which is intended to execute the selected strategy to better understand the concept of the relationship expressed by the user. A more detailed example of this process is depicted with the flowchart in Figure 1.

[0098] Dans l'exemple de la figure 3, dès qu'une requête est modélisée par les algorithmes du module logiciel (208), elle est prête à être exécutée par le module logiciel de recherche (210) des correspondances. La visualisation des résultats est effectuée dans le module (204). In the example of FIG. 3, as soon as a request is modeled by the algorithms of the software module (208), it is ready to be executed by the correspondence search software module (210). The visualization of the results is carried out in the module (204).

[0099] Pour la suite et en fonction des résultats, l'utilisateur de l'agence de voyages est engagé dans un processus d'apprentissage itératif avec le système pour améliorer la pertinence des résultats. [0099] Subsequently and depending on the results, the travel agency user is engaged in an iterative learning process with the system to improve the relevance of the results.

[0100] Pour informer l'utilisateur de l'agence de voyages, s'il le désire, le système va notifier ce dernier de toutes nouvelles réalisations d'une relation sauvegardée lorsque certains documents présents dans l'espace de recherche sont liés par la relation désirée. Dans l'exemple de la figure 3, c'est le module logiciel (207) qui émet les notifications en fonction des paramètres définis et de la pertinence calculée par le module logiciel de recherche des correspondances (210). Il est à noter que les stratégies de traitement et d'apprentissage dédiées aux notifications sont différentes de la recherche relationnelle. En effet, pour les notifications, les contraintes algorithmiques sont différentes et les attentes des utilisateurs aussi. [0100] To inform the user of the travel agency, if he wishes, the system will notify him of any new realizations of a saved relationship when certain documents present in the search space are linked by the desired relationship. In the example of FIG. 3, it is the software module (207) which sends the notifications according to the parameters defined and the relevance calculated by the correspondence search software module (210). It should be noted that the processing and learning strategies dedicated to notifications are different from relational research. Indeed, for notifications, the algorithmic constraints are different and so are the expectations of users.

[0101] Dans l'exemple de la figure 1, un diagramme de flux illustre les différentes étapes qui permettent la réalisation de l'invention dans le cas d'usage décrit dans la figure 3. In the example of Figure 1, a flowchart illustrates the different steps that allow the embodiment of the invention in the use case described in Figure 3.

[0102] Pour toutes nouvelles requêtes, l'utilisateur d'une agence de voyages définit les critères d'une recherche et, plus particulièrement, il définit quel est la relation qu'il veut trouver dans les n-uplets. Dans l'exemple de la figure 1, le contexte applicatif est celui d'une agence de voyages qui recherche deux étudiants pour une offre de vacances aux Maldives. Dans l'exemple de la figure 1, les options de recherches sont présentées par l'interface dans l'étape (b), à l'aide de cette interface, l'utilisateur définit ses paramètres de recherche et donne la commande pour lancer une première recherche, l'étape (c). Dans l'étape (b), la ou les relations sont analysées, catégorisées et les métriques sont identifiées et un premier modèle initial de la relation est créé. En fonction des résultats de l'analyse et pour les étapes suivantes, une stratégie de composition d'algorithmes est activée. Plus concrètement, avec la requête définie par l'utilisateur de l'agence de voyages, l'analyse extrait plusieurs concepts : dont deux entités (deux étudiants) qui définissent le couple de document, une destination géographique (aux Maldives). Une métrique est implicitement associée aux étudiants (un tarif préférentiel pour jeunes adultes), cette métrique induit une contrainte de recherche. Avec ce résultat d'analyse, une stratégie est sélectionnée qui détermine le choix d'un algorithme d'apprentissage semi-supervisé et un algorithme ad hoc pour le traitement de la contrainte sur les offres. [0102] For all new queries, the user of a travel agency defines the criteria of a search and, more particularly, he defines what relationship he wants to find in the n-tuples. In the example of figure 1, the application context is that of a travel agency which is looking for two students for a holiday offer in the Maldives. In the example of Figure 1, the search options are presented by the interface in step (b), using this interface, the user defines his search parameters and gives the command to launch a first search, step (c). In step (b), the relationship(s) are analyzed, categorized and metrics are identified and a first initial model of the relationship is created. Depending on the results of the analysis and for the following steps, an algorithm composition strategy is activated. More concretely, with the query defined by the user of the travel agency, the analysis extracts several concepts: including two entities (two students) that define the document couple, a geographical destination (in the Maldives). A metric is implicitly associated with students (a preferential rate for young adults), this metric induces a search constraint. With this analysis result, a strategy is selected which determines the choice of a semi-supervised learning algorithm and an ad hoc algorithm for the treatment of the constraint on the offers.

[0103] L'objectif de cette première recherche de l'étape (c) est d'avoir un „rappel“ suffisant pour permettre l'interaction avec l'utilisateur de l'agence de voyages. Le „rappel“ étant le rapport entre le nombre de n-uplets retournés par le système divisé par le nombre de n-uplets pertinents. Les n-uplets sont alors visualisés en mettant en évidence leur pertinence respective et avec leurs étiquettes qui sont évaluées par le système. [0103] The objective of this first search of step (c) is to have a sufficient "recall" to allow interaction with the user of the travel agency. The "recall" being the ratio between the number of n-tuples returned by the system divided by the number of relevant n-tuples. The n-tuples are then visualized by highlighting their respective relevance and with their labels which are evaluated by the system.

[0104] En décrivant la relation désirée „Cherche un couple étudiants qui aimeraient partir en vacances aux Maldives !“, l'utilisateur n'a que très partiellement défini la relation et l'intention qui motive sa recherche, avec l'interface homme-machine intelligente, il va pouvoir améliorer la modélisation que le système possède de cette relation. [0104] When describing the desired relationship “Looking for a student couple who would like to go on vacation to the Maldives!”, the user has only very partially defined the relationship and the intention behind his search, with the human- intelligent machine, it will be able to improve the modeling that the system has of this relationship.

[0105] L'utilisateur de l'agence de voyages peut interagir dans l'étape (e) avec les n-uplets en étiquetant les relations qui lui semblent pertinentes par rapport à la relation cherchée et celles qui ne le sont pas. En utilisant cette information et après l'analyse de l'étape (e1), l'algorithme itératif d'apprentissage semi-supervisé progresse dans la modélisation de la relation cherchée dans l'étape (e2), et adaptera l'évaluation et la visualisation des étiquettes dans l'étape (e3). Avec cette visualisation des étiquettes, l'utilisateur peut instantanément corriger des étiquettes erronées. Plus concrètement, un n-uplet est visualisé avec une étoile vide (étiquette = non pertinent) (16), mais si l'utilisateur estime que le n-uplet est pertinent, il lui suffit alors de sélectionner l'étoile pleine (étiquette = pertinent) (14) pour améliorer la modélisation. L'utilisateur peut répéter l'étape (e) et les sous-étapes (e1, e2, e3), jusqu'à ce que les étiquettes d'évaluation représentent au mieux la relation désirée entre les couples. Par exemple, ils partagent tous deux un intérêt marqué pour la plongée sous-marine. [0105] The user of the travel agency can interact in step (e) with the n-tuples by labeling the relations which seem relevant to him with respect to the relation sought and those which are not. Using this information and after the analysis of step (e1), the iterative semi-supervised learning algorithm progresses in modeling the relationship sought in step (e2), and will adapt the evaluation and the visualization of the labels in step (e3). With this label visualization, the user can instantly correct erroneous labels. More concretely, an n-tuple is displayed with an empty star (label = irrelevant) (16), but if the user considers that the n-tuple is relevant, he then just has to select the full star (label = relevant) (14) to improve the modelling. The user can repeat step (e) and the sub-steps (e1, e2, e3), until the rating labels best represent the desired relationship between the pairs. For example, they both share a strong interest in scuba diving.

[0106] Pour améliorer la pertinence des n-uplets trouvés, l'utilisateur peut relancer une nouvelle étape (c) de recherche qui exploitera cette fois-ci la modélisation enrichie de la relation cherchée. Par la suite, l'utilisateur pourra répéter à loisir les itérations d'apprentissage et de recherche (c, d, e). To improve the relevance of the tuples found, the user can restart a new search step (c) which this time will use the enriched modeling of the relationship sought. Subsequently, the user can repeat the learning and research iterations (c, d, e) at will.

[0107] La qualité du moteur de recherche relationnelle de la figure 1 dépend de la rapidité avec laquelle le système apprend à modéliser les relations désirées. Pour accélérer cet apprentissage, le système calcule les statistiques pour faire évoluer le choix des stratégies d'apprentissage en fonction d'un ensemble d'utilisateurs et d'utilisations. [0107] The quality of the relational search engine of FIG. 1 depends on the speed with which the system learns to model the desired relations. To accelerate this learning, the system calculates the statistics to evolve the choice of learning strategies according to a set of users and uses.

[0108] Dans l'étape (d) d'affichage des couples d'étudiants, et plus particulièrement dans la sous-étape (d1), un algorithme de rétro-pertinence peut soumettre à l'utilisateur sous la forme d'une demande d'étiquetage, un n-uplet que le système détermine de manière optimale pour accélérer l'apprentissage. [0108] In step (d) of displaying the pairs of students, and more particularly in sub-step (d1), a retro-relevance algorithm can submit to the user in the form of a request labeling, a n-tuple that the system determines in an optimal way to speed up learning.

[0109] L'architecture logicielle du moteur de recherche relationnelle est celle d'un système capable de traiter de grande quantité de données, elle est typiquement construite autour de l'écosystème des logiciels libres Apache™ et en particulier celui de Hadoop®. [0109] The software architecture of the relational search engine is that of a system capable of processing large quantities of data, it is typically built around the Apache™ open source software ecosystem and in particular that of Hadoop®.

[0110] Les modes de réalisation de l'invention nécessitent le traitement automatique du langage naturel. Une partie des traitements peut être typiquement réalisée avec les outils et librairies logicielles GATE https://gate.ac.uk/. (cf. Integrating NLP Using Linked Data, by Sebastian Hellmann et al. In ISWC 2013, Lecture Notes in Computer Science Volume 8219, 2013, pp 98-113) Embodiments of the invention require automatic natural language processing. Some of the processing can typically be done with GATE tools and software libraries https://gate.ac.uk/. (cf. Integrating NLP Using Linked Data, by Sebastian Hellmann et al. In ISWC 2013, Lecture Notes in Computer Science Volume 8219, 2013, pp 98-113)

Claims (5)

1. Procédé itératif d'apprentissage supervisé ou semi-supervisé d'une ou plusieurs relations désirées, et de recherche de n-uplets de documents liés entre eux par au moins une des dites une ou plusieurs relations désirées, le procédé étant mis en oeuvre à l'aide d'un système informatique comportant une interface homme-machine, et comprenant dans l'ordre les étapes de : a) doter le système informatique d'un accès à un espace de recherche contenant une représentation interne des documents ; b) exprimer en langage naturel à l'aide de l'interface homme-machine une formulation au moins approximative des dites une ou plusieurs relations désirées, pour fournir au système informatique un modèle initial des dites une ou plusieurs relations désirées; c) faire rechercher dans l'espace de recherche des n-uplets de documents liés entre eux par une ou plusieurs relations correspondant au dit modèle initial des dites une ou plusieurs relations désirées ; d) faire afficher par l'interface homme-machine un ensemble de n-uplets correspondants à la recherche de l'étape c), les n-uplets du dit ensemble de n-uplets étant accompagnés de leurs étiquettes, et les étiquettes étant, évaluées par un algorithme ; e) faire apprendre lesdites une ou plusieurs relations désirées au système informatique à l'aide d'un algorithme itératif d'apprentissage supervisé ou semi-supervisé en adaptant la valeur d'au moins une des étiquettes de l'étape d) à l'aide de l'interface homme-machine, et en enchaînant les itérations aussi longtemps que cela semble utile ; chaque itération comprenant, après l'adaptation de la valeur des dites au moins une étiquette, les trois sous-étapes de : e1) faire analyser le contenu des documents faisant partie du/des n-uplets dont la valeur d'au moins une étiquette a été adaptée ; e2) sur la base de l'analyse effectuée à l'étape e1), enrichir le modèle de la relation désirée ; e3) faire afficher par l'interface homme-machine des évaluations d'étiquetage d'une pluralité de relations de n-uplets de l'ensemble de n-uplets affiché le plus récemment par l'interface homme-machine, les évaluations d'étiquetage étant basées au moins partiellement sur le modèle enrichi à l'étape e2).1. Iterative method for supervised or semi-supervised learning of one or more desired relations, and for searching for n-tuples of documents linked together by at least one of said one or more desired relations, the method being implemented using a computer system comprising a man-machine interface, and comprising in order the steps of: a) providing the computer system with access to a search space containing an internal representation of the documents; b) expressing in natural language using the man-machine interface an at least approximate formulation of said one or more desired relationships, to provide the computer system with an initial model of said one or more desired relationships; c) searching in the search space for n-tuples of documents linked together by one or more relations corresponding to said initial model of said one or more desired relations; d) causing the man-machine interface to display a set of n-tuples corresponding to the search of step c), the n-tuples of said set of n-tuples being accompanied by their labels, and the labels being, evaluated by an algorithm; e) causing said one or more desired relations to be learned by the computer system using an iterative supervised or semi-supervised learning algorithm by adapting the value of at least one of the labels of step d) to the help of the man-machine interface, and by linking the iterations as long as it seems useful; each iteration comprising, after adapting the value of said at least one label, the three sub-steps of: e1) having the content of the documents forming part of the tuple(s) whose value of at least one label has been adapted, be analyzed; e2) on the basis of the analysis carried out in step e1), enriching the model with the desired relationship; e3) causing the human-machine interface to display labeling evaluations of a plurality of n-tuple relations of the set of n-tuples most recently displayed by the human-machine interface, the evaluations of labeling being based at least partially on the model enriched in step e2). 2. Procédé itératif d'apprentissage selon la revendication 1, dans lequel une nouvelle exécution de l'étape c), suivie d'une nouvelle exécution de l'étape d) sont substituées à l'exécution des sous-étapes de l'étape e) après au moins une itération des sous-étapes de l'étape e), lors d'une telle nouvelle exécution de l'étape c) de recherche des n-uplets, l'étape c) est exécutée sur la base du modèle enrichi le plus récent au lieu du modèle initial.2. Iterative learning method according to claim 1, in which a new execution of step c), followed by a new execution of step d) are substituted for the execution of the sub-steps of step e) after at least one iteration of the substeps of step e), during such a new execution of step c) of searching for the n-tuples, step c) is executed on the basis of the model enriched the most recent instead of the initial model. 3. Procédé itératif d'apprentissage selon la revendication 1 ou 2, dans lequel l'étape b) de fournir au système informatique un modèle initial des dites une ou plusieurs relations désirées comprend la sous-étape de : b1) désigner à l'aide de l'interface homme-machine au moins un premier document susceptible d'être lié à au moins un second document par lesdites une ou plusieurs relations désirées.3. Iterative learning method according to claim 1 or 2, wherein step b) of providing the computer system with an initial model of said one or more desired relationships comprises the sub-step of: b1) designating, using the man-machine interface, at least one first document capable of being linked to at least one second document by said one or more desired relationships. 4. Procédé itératif d'apprentissage selon la revendication 1 ou 2, dans lequel l'étape b) de fournir au système informatique un modèle initial des dites une ou plusieurs relations désirées comprend la sous-étape de : b1) entrer dans le système au moins un n-uplets de documents liés entre eux par lesdites une ou plusieurs relations désirées, de manière à fournir au moins un exemple au système.4. Iterative learning method according to claim 1 or 2, wherein step b) of providing the computer system with an initial model of said one or more desired relationships comprises the sub-step of: b1) entering into the system at least one n-tuples of documents linked together by said one or more desired relations, so as to provide at least one example to the system. 5. Procédé selon l'une des revendications précédentes, dans lequel l'étape d) comprend la sous-étape de : d1) déterminer au moins partiellement les n-uplets affichés en fonction d'un algorithme de rétro-pertinence.5. Method according to one of the preceding claims, in which step d) comprises the sub-step of: d1) determining at least partially the n-tuples displayed according to a retro-relevance algorithm.
CH00606/15A 2015-05-04 2015-05-04 Relational search engine. CH711033B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CH00606/15A CH711033B1 (en) 2015-05-04 2015-05-04 Relational search engine.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CH00606/15A CH711033B1 (en) 2015-05-04 2015-05-04 Relational search engine.

Publications (2)

Publication Number Publication Date
CH711033A2 CH711033A2 (en) 2016-11-15
CH711033B1 true CH711033B1 (en) 2022-07-15

Family

ID=57249994

Family Applications (1)

Application Number Title Priority Date Filing Date
CH00606/15A CH711033B1 (en) 2015-05-04 2015-05-04 Relational search engine.

Country Status (1)

Country Link
CH (1) CH711033B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110019751B (en) * 2018-01-10 2023-06-02 国际商业机器公司 Machine learning model modification and natural language processing

Also Published As

Publication number Publication date
CH711033A2 (en) 2016-11-15

Similar Documents

Publication Publication Date Title
JP6930041B1 (en) Predicting potentially relevant topics based on searched / created digital media files
US11164026B2 (en) Graphical user interface generation based on image analysis
AU2021231754A1 (en) Systems and methods for automating video editing
EP3238137B1 (en) Semantic representation of the content of an image
US20190361719A1 (en) Skill discovery for computerized personal assistant
EP2446378A1 (en) An assistant-adviser using the semantic analysis of community exchanges
JP7171911B2 (en) Generate interactive audio tracks from visual content
FR3043816B1 (en) METHOD FOR SUGGESTION OF CONTENT EXTRACTED FROM A SET OF INFORMATION SOURCES
US11776536B2 (en) Multi-modal interface in a voice-activated network
US20230237093A1 (en) Video recommender system by knowledge based multi-modal graph neural networks
de Souza Pereira Moreira CHAMELEON: a deep learning meta-architecture for news recommender systems
Su et al. Classification and interaction of new media instant music video based on deep learning under the background of artificial intelligence
US9747375B2 (en) Influence personal benefit from dynamic user modeling matching with natural language statements in reviews
CH711033B1 (en) Relational search engine.
US9940395B2 (en) Influence business benefit from user reviews and cognitive dissonance
US20240288995A1 (en) Contextual recommendations for digital content
US12106750B2 (en) Multi-modal interface in a voice-activated network
US20240185847A1 (en) Bit Vector-Based Content Matching for Third-Party Digital Assistant Actions
US20240220503A1 (en) Semantics Content Searching
CN118535790A (en) Contextual recommendation of digital content
Amanto et al. Recommender Systems and Social Networks: An application in Cultural Heritage. 8
EP2746960A1 (en) Method of structuring alphanumerical data

Legal Events

Date Code Title Description
PK Correction

Free format text: CHANGEMENT DE REGISTRE EXAMEN QUANT AU FOND