sbosio / rla-es

Recursos lingüísticos abiertos del español
Other
217 stars 48 forks source link

Revisar topónimos de España #40

Closed RickieES closed 8 years ago

RickieES commented 8 years ago

En el issue #1 comento que he visto algún error en los topónimos de España. Ahora no recuerdo cuáles son, pero debemos revisar la lista, ya que a partir de ahora va a incluirse en el diccionario.

RickieES commented 8 years ago

Tengo que decir que la lista de topónimos es enorme y, al mismo tiempo, inútil tal como está. Resulta que contiene los nombres de los 8.000 municipios de España que, como podéis imaginar, en muchos casos están compuestos de más de una palabra, por lo que no sirven. El otro día comencé a revisar la lista y, tras una hora, solo llevaba 300 líneas, que además contendrán términos duplicados.

Yo me inclinó por hacerlo al revés: comenzar con una lista corta (las 17 comunidades autónomas más las dos ciudades autónomas y las 50 capitales de provincias) y luego añadir nombres de ciudades que pasen de cierto número de habitantes, para terminar añadiendo algunos nombres de municipios que tengan cierta relevancia a pesar de ser pequeños.

Voy a dejar un par de días y, si nadie dice nada, voy a implementar mi idea.

eksperimental commented 8 years ago

Puedo colaborar con un script q separen en palabras, ordene alfabeticamente las palabras por linea eliminando duplicados

RickieES commented 8 years ago

La cuestión es si realmente queremos añadir, digamos, 3.000 palabras para identificar municipios que muchos usuarios del diccionario es_ES apenas usarán un par de veces en su vida. Hay que recordar que el diccionario ortográfico tampoco aspira a contener absolutamente todas las palabras válidas, sino las más útiles (y seguro que ya tenemos una gran colección).

Por eso yo me inclino más por una lista corta de topónimos (digamos 200 o así) que cubra lo más usual.

Almorca commented 8 years ago

En Wikipedia hay un listado de municipios ordenados por población en https://es.wikipedia.org/wiki/Anexo:Municipios_de_Espa%C3%B1a_por_poblaci%C3%B3n Yo usaría esa lista y metería los municipios de más de 30.000 habitantes. Con esto nos daría unos 250 municipios.

eksperimental commented 8 years ago

@RickieES podria tener acceso a dicha lista?

@Almorca he tomado la lista completa de los 398 municipios que son los que poseen mas de 20.000 habitantes, y al separalas por palabras unicas eliminando las palabras que no son nombres propios, queda una lista de 465 nombres propios, y filtrandolas con las que ya estan en el diccionario (es_ES) quedan 307.

# Guardar la primera columna de la lista en un archivo "municipios.txt" # https://es.wikipedia.org/wiki/Anexo:Municipios_de_Espa%C3%B1a_por_poblaci%C3%B3n#Municipios_con_m.C3.A1s_de_20.000_habitantes
cat municipios.txt | sed -e 's/[-\.]/ /g'  -e 's/[ \t ]\+/\n/g' | grep -vP '^[a-z]' | sort -u > municipios.cleaned.txt

# descomprimir el archivo es_ES.oxt en ~/dic/es/
cat municipios.cleaned.txt | hunspell -d ~/dic/es/es_ES -L > municipios.cleaned.not_found.txt

los resultados: https://gist.github.com/eksperimental/c8f935810e159d45acad

De todos modos, creo que la lista deberia contener todos los municipios sin importar si esos nombres ya se encuentran en el diccionario, para evitar que si algun nombre se elimina de otro archivo este nombre se pierda. pero nos da una idea que la lista se reduce en un tercio (siendo de los 465 nombres, solo 307 nuevos)

RickieES commented 8 years ago

@eksperimental , imagino que te refieres a la lista de los ocho mil municipios. Está en el repositorio, of course: :smile:

https://github.com/sbosio/rla-es/tree/master/ortograf/palabras/toponimos/l10n/es_ES

Yo de mayor quiero saber escribir expresiones regulares como tú. :+1:

Almorca commented 8 years ago

Yo dejaría la lista con todos los nombres ya que los duplicados se quitan al generar el diccionario (si no me equivoco)

sbosio commented 8 years ago

Sí y no, se quitan únicamente si están escritos igual, es decir que se mantiene la capitalización. Por ejemplo si hay un topónimo que contenga el lema "Villa", se incluiría aún cuando exista el lema "villa". Y pensando a futuro, no estaría mal, ya que uno formaría parte de un nombre propio compuesto, y el otro es un nombre común. Semánticamente tienen un uso diferente.

Saludos,

Santiago

2015-11-17 19:47 GMT-03:00 Almorca notifications@github.com:

Yo dejaría la lista con todos los nombres ya que los duplicados se quitan al generar el diccionario (si no me equivoco)

— Reply to this email directly or view it on GitHub https://github.com/sbosio/rla-es/issues/40#issuecomment-157534648.

RickieES commented 8 years ago

Todavía no sé mucho de GitHub, pero creo entender que un Gist no es más que una pizarra y bastaría con que guarde el contenido a un archivo sin más (es decir, no hay un procedimiento similar a los pull request).

De los archivos contenidos en el Gist, entiendo que el que queremos es municipios.cleaned.txt. A ese habría que añadir los nombres de comunidades autónomas.

Si he entendido todo bien, y no me decís nada en contra, mañana procuro aplicar el cambio. Con el fichero actual de entidades-territoriales.txt ¿queréis que hagamos algo? Aunque da pena perder tanto contenido, creo que no va a resultarnos útil a corto plazo y, como se ve en la página que citó Alejandro de la Wikipedia, hay escisiones de municipios con cierta frecuencia.

eksperimental commented 8 years ago

@RickieES un gist es un archivo de texto como uno de los famosos pastebin, que puede incluir varias revisiones, la diferencia es que puedes hacer un fork como en un project github. y puedes agregarle comentarios.

eksperimental commented 8 years ago

creo que una mejor forma de hacer esto es crear dos archivos, uno original, que contendría la lista limpia, (en este caso seria https://gist.github.com/eksperimental/c8f935810e159d45acad#file-municipios-txt) y otro que es el que va a ser utilizado por el projecto, conteniendo la lista de palabras (una por linea), ordenadas y sin duplicados (https://gist.github.com/eksperimental/c8f935810e159d45acad#file-municipios-cleaned-txt)

en el primero, incluiría como comentario las fuentes de donde se obtuvo (en este caso : # https://es.wikipedia.org/wiki/Anexo:Municipios_de_Espa%C3%B1a_por_poblaci%C3%B3n#Municipios_con_m.C3.A1s_de_20.000_habitantes ) y en el segundo, el comando que se utilizo para generar el mismo archivo.

# $ cat municipios.txt | sed -e 's/[-\.]/ /g'  -e 's/[ \t ]\+/\n/g' | grep -vP '^[a-z]' | sort -u > municipios.cleaned.txt

(habría que agregar un filtro para eliminar las lineas que comienzan com #) de este modo se puede actualizar a futuro esta lista (municipios.txt) y corriendo el comando, se actualiza el segundo archivo. De otro modo va a ser muy dificil ir actualizando la lista.

pero otra propuesta seria... Mirando al los archivos de enteidades territoriales. dentro del directorio l10n, creo que lo mejor seria separar por grupos estas entidades territoriales. por ejemplo:

luego un script se encarga de ejecutar los comandos que ejecuto en municipios.txt (separar una palabra por linea, eliminar palabras que comienzen con minuscula, eliminar duplicados, ordenar alfabeticamente)

puedo colaborar con los scripts. lo que habria que pensar es en como organizar los directorios/archivos

eksperimental commented 8 years ago

algo similar deberia hacerce con los nombres de personas. tener diferentes listas para

RickieES commented 8 years ago

Las ideas son buenas, pero creo que tenemos que esforzarnos por tener publicada la 0.9 / 2.0 el 30 de noviembre. Hay que tener en cuenta que la solución debería servir para todas las variantes idiomáticas, tengan o no archivos dentro de su subdirectorio. Me refiero a que el script de creación del diccionario contiene instrucciones que no son específicas de la localización es_ES:

# Issue #39 - Incluir topónimos de la localización (pendiente de definir condiciones de inclusión)
cat ../palabras/toponimos/l10n/$LOCALIZACION/entidades-territoriales.txt | \
    ./remover_comentarios.sh \
    >> $TMPWLIST

por lo que los nombres que pongamos tendrían que ser para todas las variantes. Si vamos a poner más archivos en los subdirectorios que no deben incluirse en la lista, necesitamos un prefijo de nombre de archivo que permita sustituir el entidades-territoriales.txt del script por un prefijo-*.txt. Por ejemplo, "toponimos-".

Voy a reabrir el issue #39 para añadir el prefijo y voy a guardar municipios.cleaned.txt como toponimos-municipios.txt, y creo otros dos archivos, uno para las comunidades autónomas y otro para las provincias.

RickieES commented 8 years ago

Ya lo he hecho en local y parece que funciona bien. Un detalle interesante: si en los ficheros hay alguna línea que contiene un espacio tras la palabra de esa línea, la palabra luego se marca como incorrecta en LibreOffice.

Espero hasta mañana para subir los cambios, por si queréis hacer algún comentario aquí o en el issue #39.

eksperimental commented 8 years ago

la propuesta no tiene que entrar en la proxima version. de hecho yo no voy a poder contribuir durante unas semanas, asi que si cuentan con que me encargue del script. deberia ser para la otra version.

volviendo al tema. no creo que haya que utliziar ni prefijos ni siquiera nombres fijos (y hasta me animaría a decir ni siquiera extensiones). lo que necesitamos es leer dentro del directrio l10n todos los archivos, separarlos una palabra por linea. los nombres que tengan no importan, si al final van a terminar todos en un mismo archivo. el script buscaria todos los archivos en este directorio con una extension determinada (.txt por ejemplo) y extraer las palabras ordenadas alfabeticamente y con los duplicados eliminados. que les parece la idea??

la unico que tenemos que acordar es que nombre va a tener este archivo. de hecho tendriamos que estandarizar la forma de nombrar archivos. algunos usar CamerCase, otros-guiones. puedo crear un issue especifico para este punto.

Almorca commented 8 years ago

Yo crearía otro fichero con las comunidades autónomas y junto al de municipios es lo que meteria en la próximz versión del diccionario. Posteriormente ya veremos como nos organizamis para la proxima versión.

RickieES commented 8 years ago

@eksperimental, lo de los prefijos es porque, si se acaban generando algunos archivos de manera automática a partir de un script, no podemos poner en ellos comentarios y, por tanto, cualquier aclaración sobre la organización de los directorios de topónimos (que puede ser diferente para cada país) se perdería si no los guardamos en otros archivos de instrucciones cuyo contenido, por supuesto, no queremos que se incluya en el diccionario.

Sobre lo de usar o no extensiones, mientras en Windows sea necesario, creo que no nos cuesta nada incluirlas. Aunque la mayoría de los colaboradores actuales no usemos Windows, como este proyecto no está muy orientado a la programación, es fácil que aparezcan otras personas interesadas en ayudar que usen Windows.

@Almorca, a los dos archivos que comentas tú yo he añadido otro para las provincias (como sabes, no todas las capitales de provincia se llaman igual que la provincia). Hay muchas palabras redundantes, pero así no tenemos que estar pendientes de ellas.

Intentaré subir los cambios hoy (ahora estoy en otro ordenador).

eksperimental commented 8 years ago

@RickieES creo que no me expresé muy bien con lo de las extensiones. hacia referencia a que incluso no seria necesario incluir una extension determinada y el script podria leer todos los archivos del directorio. pero en la practica me parece mejor utilizar una extension determinada (ya sea .txt o .list)

respecto a los prefijos creo que es mejor utilizar una extensión determinada (puede ser .list por ejemplo), para no tener el problema de si queres agregar archivos con instrucciones.. pero como ya nos encontramos dentro de la carpeta toponimos, creo que el directorio no seria necesario un prefijo.

RickieES commented 8 years ago

Cierro con los cambios en los topónimos de España y un renombrado de archivo en los de Argentina, para ajustarse al prefijo usado en el script de creación del diccionario, con el fin de que podamos añadir archivos de documentación en los directorios de topónimos.