2012-03-12 16 views
6

Quiero resolver el problema de división de palabras (palabras de análisis de cadena larga sin espacios). Por ejemplo, queremos extraer palabras de somelongword a [some, long, word].Enfoque estadístico de división de palabras

Podemos lograr esto mediante un enfoque dinámico con el diccionario, pero otro problema que encontramos es analizar la ambigüedad. Es decir. orcore =>or core o orc ore (No tomamos en cuenta el significado de la frase o parte del discurso). Entonces pienso en el uso de algún enfoque estadístico o ML.

Descubrí que el algoritmo Naive Bayes y Viterbi con el conjunto de trenes se puede usar para resolver esto. ¿Puede indicarme alguna información sobre la aplicación de estos algoritmos al problema de división de palabras?

UPD: He aplicado este método en Clojure, el uso de algunos consejos de Peter Norvig de code

Respuesta

4

Creo que slideshow por Peter Norvig y Sebastian Thurn es un buen punto de partida. Presenta el trabajo del mundo real hecho por google.

+0

Gracias, buen punto de partida. Encontré muchos fragmentos de código útiles en el sitio de Peter Norvig. – mishadoff

+3

La presentación de diapositivas se ha eliminado por alguna razón. –

3

Este problema es completamente análogo a la segmentación de palabras en muchos idiomas asiáticos que no codifican explícitamente límites de palabras (por ejemplo, chino, tailandés). Si desea información general sobre el enfoque del problema, le recomiendo que busque en Google Scholar los enfoques actuales de segmentación de palabras chinas.

Puede comenzar mirando algunos enfoques anteriores: Sproat, Richard y Thomas Emerson. 2003. La primera palabra china internacional segmentación bakeoff (http://www.sighan.org/bakeoff2003/paper.pdf)

Si quieres una solución preparada, recomiendo el tutorial de LingPipe (http: // alias-i.com/lingpipe/demos/tutorial/chineseTokens/read-me.html). Lo he usado en texto en inglés no segmentado con buenos resultados. Entrené el modelo de lenguaje de caracteres subyacente en un par de millones de palabras de texto de noticias, pero sospecho que para esta tarea obtendrás un rendimiento razonable utilizando cualquier corpus de texto en inglés relativamente normal.

Utilizaron un sistema ortográfico para recomendar las "correcciones" candidatas (donde las correcciones candidatas son idénticas a la entrada pero con espacios insertados). Su corrector de ortografía se basa en la distancia de edición de Levenshtein; simplemente no permiten la sustitución y la transposición, y restringen las inserciones permitidas a un solo espacio.

Cuestiones relacionadas