FR 3108195 A1 20210917 FR 2002579 A 20200316 L’invention définit un procédé et un dispositif implémentant le procédé, permettant d’apprendre puis reconnaître les annonces immobilières de location et d’achat qui proposent le même bien physique. Le procédé possède 2 phases. Pendant sa phase d’entraînement, le procédé extrait les caractéristiques des annonces, regroupe les annonces en paires d’annonces, puis classe les paires d’annonces en fonction d’une liste de critères satisfaits et des indications fournis par l’utilisateur sur la similarité des annonces. Pendant sa phase de traitement, le procédé reçoit plusieurs annonces, les regroupe en paires d’annonces, puis identifie les critères identiques entre chaque paire d’annonces. Le système par la suite calcule la probabilité pour chaque paire d’annonces qu’elle soit identique, puis la probabilité qu’elle ne le soit pas, sachant que les critères préalablement identifiés sont satisfaits. C’est la plus grande des deux probabilités qui permet de conclure. Le procédé fusionne enfin les paires identiques qui représentent le même bien physique. Ce procédé a été implémenté sur ordinateur au sein d’une application intelligente d’aide à la recherche de biens immobiliers. Procédé de classification d’annonces immobilières à l’aide d’apprentissage machine Domaine de l’invention L’invention se situe dans le domaine de la classification d’annonces, plus précisément dans la classification d’annonces immobilières retrouvées sur le web, à travers un algorithme d’apprentissage de type Bayésien. L’invention définit un procédé permettant d’apprendre puis de reconnaître des annonces immobilières (de location ou d’achat) qui proposent le même bien immobilier physique. Problème technique Dans le domaine de la recherche de biens immobiliers, plusieurs annonces peuvent représenter le même bien alors qu’elles ont des descriptions différentes. Par exemple dans l’annonce 1, la superficie est « 29.6 m 2 », dans l’annonce 2 la superficie est « environ 30 m 2 » alors que l’annonce 1 et l’annonce 2 décrivent le même bien physique. On peut également avoir pour une annonce 3, une distance par rapport au transport de « 8 mn », dans l’annonce 4 « environ 10 minutes », dans l’annonce 5 : « proche transport », pourtant il s’agit du même bien immobilier physique. Comme différence, nous pouvons aussi avoir l’annonce 6 qui dispose uniquement de la photo de la façade, pendant que l’annonce 7 présente les photos du salon et d’une chambre, et l’annonce 8 ne présente aucune photo. Ces différences de descriptions viennent du fait que le même bien a été renseignées par des personnes différentes (agences immobilières différentes, particulier) sur les différentes plateformes d’annonces immobilières. Ceci représente un véritable casse-tête pour celui qui recherche un bien immobilier, car ce dernier perd énormément de temps allant d’une annonce à une autre, ne sachant plus s’il s’agit du même bien, et ne sachant pas finalement quels sont les caractéristiques du bien immobilier et si ce bien correspond à ses critères de recherche (ceci est aussi dû au fait que certaines caractéristiques du même bien sont parfois sur une annonce, et ne sont pas sur l’autre). En résumé, le problème technique est le suivant : Etant donné plusieurs annonces immobilières, peu importe la provenance des annonces (annonces provenant de sites web d’annonces immobilières différents, annonces provenant du même site web, ou provenant de sites web d’agences immobilières), comment pouvons-nous déterminer automatiquement à l’aide d’un ordinateur si un groupe d’annonces représente le même bien immobilier physique? Etat de l’art L’apprentissage par le modèle bayésien a longtemps été utilisé pour effectuer de la classification de texte [1] [2]. La classification consiste en général, à déterminer à partir d’un texte, la catégorie dans laquelle le texte appartient. L’application du modèle bayésien naïf revient donc à trouver la probabilité que ce texte appartient à une catégorie étant donné certaines caractéristiques du texte. Cette formule est obtenue en partant du théorème de Bayes et en considérant une indépendance entre les différentes caractéristiques ( caracteristique 1 , ··· ,caracteristique n ) Un des cas utilisations les plus courant aujourd’hui est la détection de spam dans les mails. La technique utilisée consiste à calculer, étant donné le sujet et le corps d’un mail, la probabilité que ce mail soit un spam, puis la probabilité qu’il ne soit pas un spam, enfin c’est la probabilité la plus grande qui permet de conclure [3]. Dans le cadre des annonces immobilières, l’hypothèse d’indépendance entre les caractéristiques des annonces caractérisant le même bien n’est pas acceptable. Ceci est vérifié car en prenant en compte cette hypothèse et en calculant les probabilités suivant la formule présentée au-dessus, on trouve des probabilités largement supérieures à 1. Ce qui est impossible. De plus la classification d’annonce immobilière que nous voulons réaliser consiste à retrouver les annonces similaires autrement dit nous devons trouver un moyen de prendre en compte en entrée plusieurs annonces en même temps. En effet pris unitairement une annonce n’a pas de valeur par rapport à notre besoin, elle n’a de sens qu’en comparaison avec d’autres. On ne peut pas également prédire le nombre n d’annonces qu’il y’aura dans un groupe d’annonces similaires. Ceci est différent du modèle utilisé dans la classification de mail car dans ce modèle on a pour chaque entrée un mail à classifier et on s’appuie sur son contenu pour effectuer la prédiction. En termes de brevet autour de la classification d’annonce immobilière, nous avons [4], qui porte sur le placement d’annonces immobilières en fonction de leur disponibilité. Ce qui clairement ne correspond pas à notre problème car nous cherchons à identifier les annonces identiques sur une liste d’annonces. Dans [5] il s’agit de l’application d’un ensemble de règles pour classer les annonces papiers par domaines. Aujourd’hui, pour reconnaître les annonces identiques, l’utilisateur fait un rapprochement manuel entre les annonces en se basant sur le texte ou sur les photos des annonces. Ceci est sujet à erreur, prends beaucoup de temps et est devenu difficile avec la multiplicité des sources d’annonces (annonces provenant du même site web, de sites web différents, annonces venant de sites web d’agence immobilière). Le besoin existe également d’identifier les annonces similaires pour d’autres applications, comme par exemple : - identifier, pour une agence immobilière, les annonces entrées en double dans sa base de données, afin d’éviter les doublons et de libérer de l’espace mémoire, - recenser l’ensemble des biens en vente sur le marché à des fins statistiques, sans biais, - déclarer de manière centralisée la vente d’un bien à plusieurs sociétés ou sites internet ayant mis en vente le bien, de manière à retirer le bien de la vente sur l’ensemble de ces sites en une seule action, - supprimer, par un site de petites annonces immobilières, toutes les annonces en lien avec un bien vendu, afin de mettre le site à jour et de libérer de l’espace mémoire sur le serveur, - réduire les temps de calcul, par exemple pour un site de petites annonces immobilières affichant un taux de rentabilité par annonce, par exemple dans le cadre d’un investissement locatif où une mensualité de crédit est calculée, en évitant de calculer plusieurs fois le taux de rentabilité pour des annonces identiques, - identifier sans doublons les biens à la location, pour une commune, afin de prélever les taxes de séjour. En définitive le problème technique que cherche à résoudre l’invention est le suivant: étant donné une liste d’annonces immobilières comment pouvons-nous à l’aide d’un système automatique regrouper les annonces immobilières décrivant le même bien? L’invention permet de répondre à cette question par un procédé de classification d’annonces immobilières mise en œuvre par ordinateur. Le procédé selon l’invention comprend au moins: - une phase d’entraînement comprenant: * la récupération d’annonces par l’intermédiaire d’un logiciel robot, leur identification par un numéro unique, l’extraction de leurs caractéristiques, et le stockage des annonces et de leurs caractéristiques, * l’identification, par un utilisateur, d’annonces similaires, * la génération d’un tableau décrivant pour chaque caractéristique, la liste de paires d’annonces similaires possédant les valeurs égales et la liste des paires d’annonces non similaires possédant des valeurs égales. * Le total des paires d’annonces similaires, puis non similaires sont calculés * La probabilité d’obtenir une paire d’ annonces similaires , la probabilité d’obtenir une paire d’annonces non similaires sont calculés * Les probabilités d’avoir n critères égaux entre deux paires d’annonces sont calculés * Les probabilités d’avoir n critères égaux entre deux paires d’annonces sachant que les deux annonces sont similaires sont calculés * Les probabilités d’avoir n critères égaux entre deux paires d’annonces sachant que les deux annonces ne sont pas similaires sont calculés - une phase de traitement comprenant: * la récupération d’un ensemble de M annonces à traiter, * le regroupement des M annonces en M2 couples d’annonces, puis pour chaque couple d’annonce: @ la détermination des critères communs aux deux annonces, @ la détermination d’une probabilité pour que les deux annonces soient similaires, à partir des critères communs aux deux annonces et des probabilités calculées lors de la phase d’entrainement . @ la détermination d’une probabilité pour que les deux annonces soient différentes, à partir des critères communs aux deux annonces et des probabilités calculées lors de la phase d’entrainement . @ la prise d’une décision sur le fait que les deux annonces désignent un bien identique, en comparant la probabilité pour que les deux annonces du couple soient similaires et la probabilité pour que les deux annonces du couple soient différentes, * la génération d’une liste de biens identiques, à partir des décisions prises sur les couples d’annonces. Selon un mode de réalisation, l’étape de détermination d’une probabilité pour que les deux annonces soient similaires comprend le calcul de la probabilité avec crit1, crit2, ..., critn, un ensemble de critères communs aux deux annonces du couple d’annonces, et ce calcul utilise * la probabilité d’avoir cet ensemble de critères communs sachant que les annonces sont similaires calculée pendant la phase d’entrainement de la manière suivante * la probabilité d’avoir cet ensemble de critères communs calculé durant la phase d’entrainement de la façon suivante * la probabilité d’obtenir un couple d’annonces similaires; calculé pendant la phase d’entrainement de la façon suivante et dans lequel: est calculé en sommant les paires d’annonces similaires vérifiant crit1 et crit2 … et critn, correspond à la somme de toutes les paires d’annonces similaires et est la somme de toutes les paires d’annonces. Selon un mode de réalisation, l’étape de détermination d’une probabilité pour que les deux annonces soient différentes comprend le calcul de la probabilité avec crit1, crit2, ..., critn, un ensemble de critères communs aux deux annonces du couple d’annonces, et ce calcul utilise * la probabilité d’avoir cet ensemble de critères communs sachant que les annonces sont différentes calculée pendant la phase d’entrainement de la manière suivante: * la probabilité d’obtenir un couple d’annonces non similaires; calculé pendant la phase d’entrainement de la façon suivante et dans lequel: - est calculé en sommant les paires d’annonces non similaires vérifiant crit1 et crit2 … et critn, - correspond à la somme de toutes les paires d’annonces non similaires. Selon un mode de réalisation, il est décidé que deux annonces désignent un bien identique lorsque la probabilité qu’elles soit similaire est supérieure à la probabilité qu’elles soient différentes, et inversement. Selon un mode de réalisation, pendant la phase d’entraînement les données sont stockées dans une base de données ou dans des fichiers au format JSON. Selon un mode de réalisation, pendant la phase d’entraînement les annonces similaires sont indiquées par l’utilisateur dans un fichier au format csv. Dispositif configuré pour implémenter au moins un parmi une phase d’entrainement et une phase de traitement d’un procédé de classification d’annonces immobilières tel que décrit précédemment. La figure 1 décrit le procédé mis en œuvre sur 2 ordinateurs. Le logiciel robot récupère les annonces sur plusieurs sites d’annonces immobilières, ces annonces sont ensuite fournies à la phase d’entrainement implémenté sur l’ordinateur1. La phase de traitement est implémentée sur l’ordinateur2. Ainsi l’ordinateur2 reçoit un groupe d’annonces et renvoie des couples correspondant aux annonces similaires. La figure 2 est un exemple de fichier JSON après récupération automatique sur des sites d’annonces immobilières. La figure 3 est un exemple de fichier csv fourni par un utilisateur durant la phase d’entrainement. Spécification de l’invention Le procédé de classification d’annonces immobilières selon l’invention comprend tout d’abord une phase d’entraînement. Pendant cette phase les annonces sont récupérées par l’intermédiaire d’un logiciel robot. Le procédé attribue un numéro unique à chaque annonce et les caractéristiques de chacune d’elles sont extraites. Il s’agit pour chaque annonce de: le prix du bien la superficie du bien l’année de construction la distance par rapport aux transports en commun le nombre de chambres la ville où se situe le bien le type de bien le nombre de pièces le type de chauffage le nombre de caves l’étage où se situe le bien le nombre de parkings la superficie du terrain la présence d’un balcon la présence d’une terrasse le type de cuisine La liste n’est pas exhaustive, d’autres caractéristiques peuvent être ajoutées. Ces informations sont stockées dans une base de données, ou sous forme de fichiers au format JSON (Figure 2). Un utilisateur identifie les annonces similaires. Les annonces similaires renseignées par l’utilisateur durant cette phase sont transmises au procédé sous forme de fichier au format csv (Figure 3). Le procédé utilise ces informations pour calculer des probabilités intermédiaires caractérisant deux annonces similaires et deux annonces non similaires. Pour ce faire il génère d’abord un tableau de paires d’annonces avec toutes les annonces récupérées lors de la phase d’entrainement. Un exemple de tableau généré est le suivant: critères annonces similaires annonces non similaires Prix égaux (1;2) (3;4) Superficies égales (1;2) (10;12) (4;5) Nombre de pièces égal (1;2) (10;12) (3;5) ... ... ... ... ... ... Total 300 700 La première colonne correspond aux caractéristiques extraits du jeu d’annonces d’entrainement, la deuxième colonne correspond aux paires d’annonces similaires, et la troisième colonne aux paires d’annonces non similaires. Par exemple, l’annonce 1 et 2 sont similaires et ont des prix égaux, des superficies égales, un nombre de pièces égal etc. En revanche l’annonce 3 et 4 ne sont pas similaires bien qu’elles aient des prix égaux. La dernière ligne du tableau correspond à la somme de toutes les paires d’annonces similaires et non similaires. Ainsi la probabilité d’obtenir des annonces similaires est calculée de la manière suivante Avec Correspondant à la somme de toutes les paires d’annonces similaires et est la somme de toutes les paires d’annonces De même la probabilité d’obtenir des annonces non similaires est calculée et dans lequel: correspond à la somme de toutes les paires d’annonces non similaires. Les probabilités d’avoir n critères égaux entre deux paires d’annonces sont calculés de la manière suivante et dans lequel: est calculé en sommant les paires d’annonces similaires vérifiant crit1 et crit2 … et critn, Les probabilités d’avoir n critères égaux entre deux paires d’annonces sachant que les deux annonces sont similaires sont calculés ainsi Les probabilités d’avoir n critères égaux entre deux paires d’annonces sachant que les deux annonces ne sont pas similaires sont calculés et dans lequel: est calculé en sommant les paires d’annonces non similaires vérifiant crit1 et crit2 … et critn, - correspond à la somme de toutes les paires d’annonces non similaires. Le procédé de classification d’annonces immobilières selon l’invention comprend ensuite une phase de traitement. La phase de traitement opère comme suit: pour une liste comprenant M annonces, le système les regroupe d’abord en paire d’annonces, puis détermine pour chacune des paires, la probabilité que les deux annonces soient similaires. Pour cela le système calcule les critères de ressemblance entre les deux annonces, puis il calcule la probabilité que la paire d’annonces soient similaires de la manière suivante: Avec , et déterminés à partir des calculs effectués durant la phase d’entrainement. De même le système calcule la probabilité que chacune des paires d’annonces ne soient pas similaires sachant que crit 1 , crit 2 , crit 3 , ··· , crit n sont satisfait. Ceci de la manière suivante Avec et et déterminés à partir des calculs effectués durant la phase d’entrainement. Le système dira qu’une paire d’annonces est similaire si est supérieure à dans le cas contraire, le système dira que le couple d’annonces n’est pas similaire. Une fois que chaque paire d’annonces est identifiée comme étant une annonce similaire ou non, le système regroupe les paires d’annonces représentant le même bien. Par exemple, pour la liste suivante de paires d’annonces similaires: (1;2) (2;3) (4;10) (11; 12) (12;16) , le système renverra (1; 2; 3), (4;10) ( 11, 12, 16) pour ainsi indiquer au final que les annonces 1, 2 et 3 désignent le même bien, les annonces 4 et 10 désignent le même bien, les annonces 11, 12 et 16 désignent le même bien. Dans le cas où le système commence à produire des réponses inexactes, le système peut repasser par la phase d’entrainement. Le procédé peut être mis en œuvre sur un serveur, un ordinateur. Les phases d’entrainement et traitement peuvent être sur le même ordinateur ou sur des ordinateurs différents. Typiquement, la phase d’entrainement pourrait être implémenté sur un ordinateur performant en puissance de calcul pour le calcul de l’ensemble des probabilités intermédiaires (comme décrit sur la Figure 1). Ces valeurs de probabilités peuvent être stockés dans un fichier puis transmis à un autre ordinateur qui met en œuvre la phase de traitement. Ainsi plusieurs ordinateurs différents peuvent exécuter chacun une instance de la phase de traitement, permettant ainsi de traiter plusieurs demandes de classification en parallèle. Le procédé mis en œuvre dans un serveur peut être utilisé dans un site web moteur de recherche de biens immobiliers. Il permet au moteur de recherche de regrouper les annonces identiques afin qu’un utilisateur obtienne rapidement toutes les informations d’un même bien à vendre. [1] Stuart Russel and Peter Norvig. Intelligence Artificielle . Pearson, 3eme edition, 2010. [2] Eibe Frank and Remco R. Bouckaert. Naive bayes for text classification with unbalanced classes. In proceedings of 10th European conference on Principle and Practice of Knowledge Discovery in Databases , Berlin (Germany), september 2006. [3] Mehran Sahami, Susan Dumais, David Heckerman, and Eric Horvitz. A bayesian approach to filtering junk e-mail. In proceedings of AAI-98 Workshop on Learning for Text Categorization , 1998. [4] Cohen Omar J. Management system and method for placing property announcements, WO 2013005124, 2012. [5] Gabriel-Antoine Brouze, Didier Durand, Didier Rey, Maurice Sarrasin, and Jean-Luc Vuattoux. Procédé et système pour le traitement des petites annonces, EP 1361524, 2003. Procédé de classification d’annonces immobilières mise en œuvre par ordinateur comprenant au moins: - une phase d’entraînement comprenant: * la récupération des annonces, leur identification par un numéro unique, l’extraction de leurs caractéristiques, et le stockage des annonces et de leurs caractéristiques, * l’identification et le dénombrement, par un utilisateur, des paires d’annonces similaires et des paires d’annonces non similaires, * la génération d’un tableau décrivant pour chaque caractéristique, la liste de paires d’annonces similaires possédant les valeurs égales et la liste des paires d’annonces non similaires possédant des valeurs égales. * Le calcul du total des paires d’annonces similaires puis non similaires * Le calcul de la probabilité que deux annonces soient similaires et la probabilité que deux annonces soient non similaires , * Le calcul de la probabilité d’avoir n critères égaux entre deux paires d’annonces , * Le calcul de la probabilité d’avoir n critères égaux entre deux paires d’annonces sachant que les deux annonces sont similaires , * Le calcul de la probabilité d’avoir n critères égaux entre deux paires d’annonces sachant que les deux annonces ne sont pas similaires , - une phase de traitement comprenant: * la récupération d’un ensemble de M annonces à traiter, * le regroupement des M annonces en M 2 paires d’annonces, puis pour chaque paire d’annonce: @ la détermination des critères communs aux deux annonces, @ la détermination d’une probabilité pour que les deux annonces soient similaires, à partir des critères communs aux deux annonces et des probabilités calculées lors de la phase d’entrainement . @ la détermination d’une probabilité pour que les deux annonces soient différentes, à partir des critères communs aux deux annonces et des probabilités calculées lors de la phase d’entrainement . @ la prise d’une décision sur le fait que les deux annonces désignent un bien identique, en comparant la probabilité pour que les deux annonces du couple soient similaires et la probabilité pour que les deux annonces du couple soient différentes, * la génération d’une liste de biens identiques, à partir des décisions prises sur les couples d’annonces. Procédé de classification d’annonces immobilières selon la revendication 1, dans lequel l’étape de détermination d’une probabilité pour que les deux annonces soient similaires comprend le calcul de la probabilité avec - , un ensemble de critères communs aux deux annonces du couple d’annonces, avec - la probabilité d’avoir un ensemble de critères communs sachant que les annonces sont similaires, calculée pendant la phase d’entrainement, - la probabilité d’avoir un ensemble de critères communs, calculé durant la phase d’entrainement, - la probabilité d’obtenir un couple d’annonces similaires, calculé pendant la phase d’entrainement, - est calculé en sommant les paires d’annonces similaires vérifiant crit1 et crit2 … et critn, - correspond à la somme de toutes les paires d’annonces similaires et - est la somme de toutes les paires d’annonces. Procédé de classification d’annonces immobilières selon l’une des revendications précédentes, dans lequel l’étape de détermination d’une probabilité pour que les deux annonces soient différentes sachant un ensembe de ciritères communs comprend le calcul de la probabilité avec crit1, crit2, ..., critn, un ensemble de critères communs aux deux annonces du couple d’annonces, et ce calcul utilise * la probabilité d’avoir cet ensemble de critères communs sachant que les annonces sont différentes calculée pendant la phase d’entrainement de la manière suivante * la probabilité d’obtenir un couple d’annonces non similaires; calculé pendant la phase d’entrainement de la façon suivante et dans lequel: est calculé en sommant les paires d’annonces non similaires vérifiant crit1 et crit2 … et critn, - correspond à la somme de toutes les paires d’annonces non similaires. Procédé de classification d’annonces immobilières selon l’une des revendications précédentes, dans lequel il est décidé que deux annonces désignent un bien identique lorsque la probabilité qu’elles soit similaire est supérieure à la probabilité qu’elles soient différentes, et inversement. Procédé de classification d’annonces immobilières selon l’une des revendications précédentes, où pendant la phase d’entraînement les données sont stockées dans une base de données ou dans des fichiers au format JSON. Procédé de classification d’annonces immobilières selon l’une des revendications précédentes où pendant la phase d’entraînement les annonces similaires sont indiquées par l’utilisateur dans un fichier au format csv. Procédé de classification d’annonces immobilières selon l’une des revendications précédentes où pendant la phase d’entraînement les annonces sont récupéres par l’intermédiaire d’un logiciel robot. Dispositif configuré pour implémenter au moins un parmi une phase d’entrainement et une phase de traitement d’un procédé de classification d’annonces immobilières selon l’une des revendications précédentes.