Professional Documents
Culture Documents
2 INTIA, Facultad de Ciencias Exactas, UNCPBA, Universidad del Centro de la Provincia de Buenos Aires,
Campus Universitario, Paraje Arroyo Seco (B7000) Tandil, Prov. de Buenos Aires, Argentina.
Comparando las matrices de frecuencias d-es Ponderando las frecuencias de “diletras” con la
d-de nos hallamos con una zona en donde hay frecuencia de aparición de las letras individuales
letras que se dan en ambos idiomas y otras que sobre un corpus de cada lenguaje, se obtiene un
son exclusivas del español, como la “eñe” y otras refuerzo en la selectividad del mecanismo,
del alemán, como la “ä”. Igualmente se da la constituyendo un índice adicional para el caso de
situación para el inglés que carece de acentos determinación del idioma.
escritos. Conjuntamente, se halló que hay Este mecanismo no resulta necesario para
secuencias de letras que nunca se dan en español, determinar si una palabra está mal escrita, ya que
otras que nunca se dan en ingles pero si en dentro de la creación del vector de frecuencias,
español, otras son únicas del alemán y así se prevé una opción que detecta la ausencia o
sucesivamente. caída bajo un determinado umbral de frecuencia
de alguna letra o secuencia, resultando en un
Esto permite crear un estimador que determine el inmediato rechazo de la misma.
idioma más probable al que pertenezca esa
palabra y si es gramatical o no. Si la palabra Resultados
desconocida contiene diletras imposibles para El algoritmo desarrollado, y sus variantes,
todos los idiomas considerados, puede ser finalmente permiten con apenas 30-40 sumas,
etiquetada como no gramatical, ahorrando un comparaciones y multiplicaciones enteras más
importante proceso de búsqueda inútil en una de punto flotante, el obtener un valor que
diccionarios o reconstrucción morfológica indica la posibilidad de que la palabra sea
posterior. También es importante utilizar como española, alemana o inglesa y/o ninguna de ellas,
significativo el caso de que ciertas letras nunca pasando a ser candidata a un trato no gramatical.
están presentes en ciertos idiomas, como las El algoritmo entrega un valor extra, que indica el
acentuadas en el inglés. grado de significación de la muestra, basado en
su diferenciación estadística.
Desarrollo del Algoritmo
El funcionamiento del algoritmo, toma las Este algoritmo se incorporó como componente a
palabras de entrada determinando el total de un librería C#, utilizada por nosotros para
pares de letras y confeccionando un vector de numerosos procesos de NLP y fue bautizado
frecuencias. Para esto solamente utiliza adición PreSpell por su aplicación temprana al análisis
de enteros de 32 bits, por utilizar ortográfico.
plataforma .NET (C#, MSIL), esto no genera
errores de redondeo, para longitudes de frase de Trabajos Similares
entrada de hasta varios cientos de palabras. Luego de revisar numerosa literatura, no se han
hallado documentos que indican la utilización de
Se realiza el producto interno con los vectores este tipo de algoritmos para la reducción del uso
característicos de cada idioma, normalizándolo de recursos para procesamiento tanto de texto
luego, en punto flotante. como de lenguaje natural.
Hay trabajos4 del área los cuales no responden a
Finalmente se obtienen los valores de punto las técnicas empleadas en el presente trabajo
flotante (uno para cada idioma) en donde el pero sirven como referencia para el estado del
mayor corresponde al del idioma más probable, arte de estas técnicas.
el que le sigue al siguiente y así sucesivamente. Los principales trabajos están inmersos en la
problemática de trascripción de voz en texto
Se han incorporado algunas variantes en el (reconocimiento de voz) 5,6,7.
algoritmo a fin de poder determinar en forma
temprana la discordancia de palabras basado en Se han hallado algunas referencias2 a uso de
un “umbral” de frecuencias mínimo, haciendo un “vectores” para detectar e indexar palabras, pero
con un uso y resultados diferentes a los Resulta imprescindible poseer los derechos del
presentados en el presente trabajo. uso de estos corpus, puesto que mucho de ellos
son de carácter restringido y no son de libre
Conclusiones acceso.
El sistema propuesto ha resultado de suma
utilidad ya que a pesar de que la selección Estimamos que se puede mejorar el desempeño
realizada no es perfecta y posee los errores del algoritmo principal, utilizando las frecuencias
clásicos de toda estadística, las etapas posteriores de diletras pesadas por la frecuencia de aparición
de procesamiento, (en nuestro caso NLP), al de ellas en un corpus general del idioma y no en
tener en cuenta el etiquetado previo producido un diccionario, o tal vez pesando cada conjunto
por el sistema, pueden tomar las decisiones más de palabras por la frecuencia de aparición de la
apropiadas. Tal es el caso de las abreviaturas que misma en textos generales, esto es candidato a
suelen ser detectadas como no gramaticales, una continuación del presente trabajo.
pudiendo en este caso tratárselas de manera
acorde, limitando la búsqueda a un diccionario
especial y acotado para tales fines, ahorrando Comentarios
numerosos recursos. Hay claras evidencias de donde estos algoritmos
son necesarios, tal es el caso de procesadores de
El sistema trabaja con caracteres unicode. Se textos populares como el MS-Word®, el cual
trabajó en especial con el subset Latin-1 (ISO cada vez que se edita texto o cambia algo, suele
8851-1) por hallarse los idiomas utilizados pasar un importante tiempo consumiendo hasta el
completamente representados con este 100% de cpu, marcando (subrayando) errores de
subconjunto de caracteres. gramática y ortografía e identificando idiomas de
las palabras sus algoritmos internos, tornando
El hecho de trabajar en C# y .NET hace que el lento y poco responsivo al sistema. Esto empeora
sistema sea extremadamente flexible y utilizable significativamente, para documentos largos o si
desde múltiples lenguajes de computación de la en él, abundan palabras y siglas desconocidas o
plataforma .NET, y posiblemente permita la no gramaticales, reiniciándose cada vez que hay
portación de la misma a GNU MONO para un cambio o inserción.
unix/linux.