SPB Git forge

spb/wp14_uqo

Public
3commits 1branches 1releases
1.5 MBsize
maindefault branch
34 min agolast push
Python 52.4% TeX 47.6%
6.4 KB · 121 lines latex
Raw Blame History
1% ============================================================================2% Appendix3% ============================================================================4\newpage5\begin{appendices}67\renewcommand{\thetable}{A\arabic{table}}8\renewcommand{\thefigure}{A\arabic{figure}}9\setcounter{table}{0}10\setcounter{figure}{0}1112\section{Machine-Generated Feature Definitions}13\label{app:features}1415Table~\ref{tab:app_features} lists the fields extracted by the language and16vision models under their respective strict JSON schemas, with the value domains as17specified in the extraction scripts (the enumerations are in French in the schema;18they are translated here). All fields use closed enumerations, integers, or19booleans; absent information is coded as \texttt{false}, \texttt{unknown}, or an20empty list. The mapping from fields to regressors is described in21Section~\ref{subsec:vision}.2223\begin{table}[htbp]24  \centering25  \begin{threeparttable}26    \caption{Fields Extracted by the AI Models}27    \label{tab:app_features}28    \small29    \begin{tabular}{@{}p{3.1cm}p{4.3cm}p{6.2cm}@{}}30      \toprule31      Layer & Field & Domain \\32      \midrule33      \multicolumn{3}{@{}l}{\textit{Panel A: Text (LLM, \texttt{gpt-4o-mini}; 20 fields, 18 regressors)}} \\[3pt]34      Condition & \texttt{condition} & to renovate / original / good / renovated / like-new / new / unknown \\35      Turnkey; recently renovated & \texttt{turnkey}, \texttt{recently\_renovated} & boolean \\36      Renovated kitchen / bathroom & \texttt{renovated\_kitchen}, \texttt{renovated\_bathroom} & boolean \\37      Flooring (multi-valued) & \texttt{flooring} & hardwood / ceramic / floating / carpet / vinyl / concrete / other \\38      Countertop & \texttt{countertop} & granite / quartz / marble / laminate / wood / other / unknown \\39      Heating (multi-valued) & \texttt{heating} & electric / baseboards / heat pump / wood / gas / oil / radiant / geothermal / other \\40      View & \texttt{view} & water / mountain / city / none / unknown \\41      Amenities & \texttt{garage}, \texttt{pool}, \texttt{waterfront}, \texttt{finished\_basement}, \texttt{fireplace}, \texttt{central\_ac} & boolean \\42      New construction; income property & \texttt{new\_construction}, \texttt{income\_property} & boolean \\43      Large lot; quiet area & \texttt{large\_lot}, \texttt{quiet\_area} & boolean \\44      Highlights & \texttt{highlights} & 3--6 free-text keywords (not used in the regressions) \\[6pt]45      \multicolumn{3}{@{}l}{\textit{Panel B: Vision (\texttt{claude-haiku-4-5}, façade; 12 fields, 21 regressors)}} \\[3pt]46      Exterior shot & \texttt{is\_exterior} & boolean \\47      Building type (visual) & \texttt{building\_type\_visual} & detached / semi-detached / row / condo building / cottage / land / other \\48      Condition score & \texttt{condition\_score} & integer 1--10 \\49      Curb appeal & \texttt{curb\_appeal} & integer 1--10 \\50      Renovation level & \texttt{renovation\_level} & to renovate / dated / standard / renovated / high-end / unknown \\51      Exterior materials (multi-valued) & \texttt{exterior\_materials} & brick / stone / vinyl / wood / aluminum / stucco / roughcast / concrete / other \\52      Landscaping & \texttt{landscaping} & none / minimal / maintained / manicured \\53      Garage visible & \texttt{has\_garage\_visible} & boolean \\54      Storeys (visual) & \texttt{storeys\_visual} & 1 / 1.5 / 2 / 3+ / unknown \\55      Setting & \texttt{setting} & dense urban / suburban / rural / waterfront / wooded / unknown \\56      Photo quality & \texttt{photo\_quality} & integer 1--10 \\57      Luxury indicator & \texttt{curb\_luxury} & boolean \\58      \bottomrule59    \end{tabular}60    \begin{tablenotes}[flushleft]61      \footnotesize62      \item \textit{Notes:} Both extractions use schema-constrained decoding with63      closed enumerations, required fields, and \texttt{additionalProperties:false}.64      The text layer reads the free-text description (truncated at 4{,}000 characters)65      at temperature zero; the vision layer analyzes one façade photograph per listing66      at the API's default temperature. Model identifiers are the API aliases current in67      July 2026. Fields are mapped to numeric regressors (booleans to $0/1$, ordinal68      scales to integers, multi-valued fields and categories to indicators); the text69      condition scale is coded $0$--$5$ with ``unknown'' at~2, the visual renovation70      level $0$--$4$ with ``unknown'' at~2, and landscaping $0$--$3$.71    \end{tablenotes}72  \end{threeparttable}73\end{table}7475\section{Sample Construction Flow}76\label{app:flow}7778\begin{table}[htbp]79  \centering80  \begin{threeparttable}81    \caption{From Raw Records to Estimation Sample}82    \label{tab:app_flow}83    \begin{tabular}{@{}lr@{}}84      \toprule85      Step & Records \\86      \midrule87      Realtor.ca raw & 27{,}302 \\88      DuProprio raw & 7{,}693 \\89      Houses (single-family + townhouse) with price & 19{,}273 \\90      After outlier cleaning (price bounds, price-per-ft$^2$ trim) & 19{,}123 \\91      \quad of which Realtor.ca / DuProprio & 15{,}356 / 3{,}767 \\92      \quad of which with measured living area (Model~A) & 9{,}446 \\93      \quad of which with a detected exterior photograph & 18{,}314 \\94      \bottomrule95    \end{tabular}96    \begin{tablenotes}[flushleft]97      \footnotesize98      \item \textit{Notes:} See Section~\ref{sec:data}. ``Measured living area'' means99      reported area or area reconstructed from room-level dimensions. Both AI layers100      cover all 19{,}123 cleaned listings.101    \end{tablenotes}102  \end{threeparttable}103\end{table}104105\section{Language Classification}106\label{app:language}107108Each description is classified from the counts $e$ and $f$ of English and French109stop words it contains (articles, prepositions, pronouns, and auxiliaries such as110\textit{the, and, with, is} and \textit{le, la, les, et, avec, est}). A description is111``English'' if $e\ge1.5f$, ``French'' if $f\ge1.5e$, and ``mixed'' otherwise or when112neither count is positive. On Realtor.ca the mixed class is small (2.6\%) and113consists mostly of very short descriptions; on DuProprio it is large (51.7\%)114because the crawler returns the automated English translation followed by the115original French comments. Table~\ref{tab:rob_language_source} reports the gains from116the AI layers within each class, and Table~\ref{tab:rob_ai_coefs} the effect of117adding the language indicators to the hedonic regression. The language variable is118produced by \texttt{scripts/18\_revision\_language\_leakage\_spatial.py}.119120\end{appendices}121