SPB Git

spb/wp2_uqo Public

UQO Working Paper No. 2 — Decoding Real Estate Descriptions: text-based hedonic analysis of housing listings.

TeX 73.8% Python 26%
6.5 KB · 150 lines python
Raw Blame History
1# Author: Simon-Pierre Boucher — contact@spboucher.ai2#3"""The 20 reference descriptions defining the semantic dimensions.45Each reference is a short French archetype description that "embodies" one6qualitative dimension of a property listing. Cosine similarity between a7listing's embedding and each reference embedding yields the 20 semantic8features used in the hedonic models.910Keys are the slugs used for data columns (``sim_<slug>``); ENGLISH_LABELS maps11slugs to the display names used in figures and in the paper.12"""1314from collections import OrderedDict1516REFERENCES = OrderedDict([17    ("luxe", (18        "Propriété de prestige haut de gamme avec finitions luxueuses, "19        "matériaux nobles, planchers de bois franc, comptoirs de quartz et granit, "20        "cuisine gastronomique, salle de bain spa avec douche en verre, "21        "domotique et système audio intégré. Résidence d'exception."22    )),23    ("entree_de_gamme", (24        "Propriété abordable idéale pour premier acheteur, bon prix, "25        "petit budget, opportunité d'investissement, starter home, "26        "parfait pour débuter, prix compétitif, aubaine."27    )),28    ("renove", (29        "Entièrement rénové, remis à neuf, nouvelles fenêtres, "30        "nouvelle toiture, plomberie et électricité refaites, "31        "cuisine et salle de bain rénovées, modernisé, mise à jour complète, "32        "rien à faire, clé en main, prêt à emménager."33    )),34    ("a_renover", (35        "À rénover, à rafraîchir, nécessite des travaux, bon potentiel, "36        "vendu tel quel sans garantie, handyman special, "37        "besoin de rénovation, fixer-upper, à mettre à son goût."38    )),39    ("lumineux_spacieux", (40        "Très lumineux, fenestration abondante, aires ouvertes, "41        "grands espaces, plafonds hauts, cathédrale, mezzanine, "42        "vaste salon, pièces spacieuses, beaucoup de rangement, walk-in."43    )),44    ("terrain_nature", (45        "Grand terrain boisé, mature, aménagement paysager, "46        "piscine creusée, spa, terrasse, patio, cour arrière privée, "47        "jardin, haie de cèdres, intime, sans voisin arrière, "48        "vue sur la nature, bord de l'eau, accès au lac, rivière."49    )),50    ("vue_panoramique", (51        "Vue imprenable, vue panoramique, vue sur le fleuve, "52        "vue sur la montagne, vue sur la ville, skyline de Montréal, "53        "vue dégagée, vue spectaculaire, penthouse avec vue."54    )),55    ("localisation_premium", (56        "Emplacement de choix, quartier recherché, proche de tout, "57        "à distance de marche des commerces, restaurants, cafés, "58        "accès rapide au transport en commun, métro, autoroute, "59        "près des écoles, des parcs, quartier familial sécuritaire."60    )),61    ("tranquillite", (62        "Rue tranquille, cul-de-sac, quartier paisible, résidentiel, "63        "calme, intimité, retiré, campagne, nature, boisé, "64        "loin du bruit, environnement serein."65    )),66    ("revenu_investissement", (67        "Excellent investissement, revenu locatif, plex rentable, "68        "baux en cours, bon rendement, cash flow positif, "69        "logements loués, duplex triplex avec revenus, rapport qualité-prix."70    )),71    ("garage_stationnement", (72        "Garage double, garage chauffé, stationnement intérieur, "73        "entrée de garage pavée, abri d'auto, grand garage, "74        "atelier dans le garage, espace de rangement au garage."75    )),76    ("sous_sol_amenage", (77        "Sous-sol entièrement aménagé, salle familiale au sous-sol, "78        "chambre supplémentaire, salle de cinéma, bureau, "79        "possibilité de logement au sous-sol, entrée indépendante, "80        "sous-sol avec salle de bain complète."81    )),82    ("moderne_contemporain", (83        "Design moderne, contemporain, architecture épurée, "84        "lignes droites, minimaliste, construction neuve, "85        "maison intelligente, écoénergétique, LEED, "86        "fenêtres panoramiques, toit plat."87    )),88    ("cachet_patrimonial", (89        "Cachet d'époque, maison ancestrale, patrimoine, "90        "boiseries d'origine, moulures, foyer d'origine, "91        "plafonds de 10 pieds, charme victorien, pierre, brique."92    )),93    ("ecoefficace", (94        "Écoénergétique, thermopompe, géothermie, panneaux solaires, "95        "isolation supérieure, fenêtres Energy Star, "96        "chauffage radiant, faible consommation, certifié Novoclimat, "97        "réservoir d'eau chaude récent, coûts énergétiques bas."98    )),99    ("urgence_motivation", (100        "Vendeur motivé, vente rapide, prix réduit, réduction de prix, "101        "succession, relocalisation, doit vendre, reprise de finance, "102        "offres multiples bienvenues, ne manquez pas cette occasion."103    )),104    ("familial", (105        "Maison familiale, quartier familial, parc pour enfants, "106        "cour clôturée, école à proximité, garderie, aire de jeux, "107        "voisinage sécuritaire, idéal pour famille avec enfants."108    )),109    ("bord_eau", (110        "Bord de l'eau, accès au lac, vue sur le fleuve, rivière, "111        "quai privé, droits nautiques, plage, navigable, "112        "chalet au bord du lac, waterfront, pieds dans l'eau."113    )),114    ("neuf_construction", (115        "Construction neuve, maison neuve, jamais habitée, "116        "modèle de démonstration, garantie GCR, livraison prochaine, "117        "choix de finitions, plans personnalisables, nouveau développement."118    )),119    ("piscine_amenagement", (120        "Piscine creusée chauffée, piscine hors terre, spa, "121        "cuisine extérieure, terrasse en composite, pergola, "122        "aménagement paysager professionnel, pavé uni, foyer extérieur."123    )),124])125126ENGLISH_LABELS = {127    "luxe": "Luxury",128    "entree_de_gamme": "Entry-Level",129    "renove": "Renovated",130    "a_renover": "Needs Renovation",131    "lumineux_spacieux": "Bright & Spacious",132    "terrain_nature": "Land & Nature",133    "vue_panoramique": "Panoramic View",134    "localisation_premium": "Premium Location",135    "tranquillite": "Quiet & Peaceful",136    "revenu_investissement": "Income/Investment",137    "garage_stationnement": "Garage & Parking",138    "sous_sol_amenage": "Finished Basement",139    "moderne_contemporain": "Modern/Contemporary",140    "cachet_patrimonial": "Heritage/Character",141    "ecoefficace": "Energy Efficient",142    "urgence_motivation": "Motivated Seller",143    "familial": "Family-Friendly",144    "bord_eau": "Waterfront",145    "neuf_construction": "New Construction",146    "piscine_amenagement": "Pool & Landscaping",147}148149SIM_COLS = [f"sim_{slug}" for slug in REFERENCES]150