====== ¿Cómo se anuncian los pisos? Un análisis de las palabras usadas ======
**Dificultad**: //MEDIA//
===== METODOLOGÍA =====
==== Nube de palabras con timdream ====
- Seleccionar la columna NAME del listing pertinente
- Crear un fichero de texto con el texto copiado
- Ir a https://timdream.org/wordcloud
- Seleccionar FILE y subir el fichero de texto
- Una vez generada la nube de palabras, pulsar sobre EDIT LIST y limpiar los datos (quitar palabras como "y", "el", "la"... o unir palabras con y sin tilde, etc.)
- Modificar el tema y la disposición de palabras al gusto
==== Porcentaje y número de palabras (R) ====
Si se desea ver numéricamente la frecuencia de las palabras, se puede usar el siguiente script de R:
avisos<- scan("INPUT.txt", what="character", sep="\n")`
avisos1 <- tolower(avisos)
avisos2 <- strsplit(avisos1, "\\W")
avisos3 <- unlist(avisos2)
freq<-table(avisos3)
freq1<-sort(freq, decreasing=TRUE)
percent<- round(100*(freq1/length(avisos)),3)
temple.sorted.table<-paste(names(freq1), freq1, percent, sep="\t")
cat("Word\tFREQ\tPERCENT", temple.sorted.table, file="OUTPUT.txt", sep="\n")
Aquí se verá la frecuencia absoluta de cada palabra y el porcentaje.
==== Número de palabras, bigramas y trigamas (Databasic.io) ====
Sube o copia-pega un archivo con todos los títulos de los anuncios (selecciona y copia esa columna en una hoja de cálculo) a la herramienta Wordcounter de Databasic.io
https://databasic.io/en/wordcounter
==== Número de palabras con línea de comandos ====
Como se describe en este ejercicio: https://www.datascienceatthecommandline.com/chapter-4-creating-reusable-command-line-tools.html#converting-one-liners-into-shell-scripts
Selecciona la columna 5 (que incluye los nombres de los anuncios):
awk -F, '{OFS=",";print $5}' listings_donostia_simple.csv > names.csv
Ahora calcula las palabras más usadas:
cat names.csv | tr '[:upper:]' '[:lower:]' | grep -oE '\w+' | sort | uniq -c | sort -nr | head -n 10
145 in
144 en
129 room
125 beach
122 the
114 apartment
110 san
100 la
95 wifi
91 de
88 habitación
81 con
80 playa
79 old
77 apartamento
69 a
67 sebastian
64 town
62 parking
58 by
56 piso
53 with
53 center
52 rentals
51 y
51 feelfree
50 zurriola
49 concha
48 centro
46 to
==== Análisis espacial ====
{{:airbnb:pregunta:playa-centro-mapa-barrios-titulo.png?400|}}
En este script de R https://code.montera34.com/airbnb/valencia/blob/master/analysis/palabras.R se muestra cómo generar mapas de presencia de palabras en barrios y distritos para el caso de Valencia:
- Se traducen a un mismo idioma los títulos y descripciones. En google spreadsheets: la fórmula =DETECTLANGUAGE(E2)
permite detectar el idioma usado en la celda E2. Luego puedes traducir con =GOOGLETRANSLATE(E2;T2;"es")
que traduce el contenido de la celda E2 del idioma definido en la celda T2 al español.
- Se cuantifica con tablas dinámicas o con R el número de anuncios por distrito o barrio para calcular su porcentaje (o fecuencia relativa).
- Se dibujan los mapas usando QGIS o R (se usó la librería tmap de R)
===== Resultado =====
Puedes ver un ejemplo en el informde de Efecto Airbnb Donostia (julio 2017) https://lab.montera34.com/airbnb/donostia/#palabras