online lematizar lematizacion c# nlp lemmatization

c# - lematizacion - lematizar online



Analizar texto(lematizaciĆ³n, editar distancia) (2)

Necesito analizar el texto para que exista en las palabras prohibidas. Supongamos que la lista negra es la palabra: "Prohibir". La palabra tiene muchas formas. En el texto, la palabra puede ser, por ejemplo: "prohibido", "prohibido", "prohibido". Para llevar la palabra a la forma inicial, utilizo una lematización de proceso. ¿Tus sugerencias?

¿Qué hay de los errores tipográficos?
Por ejemplo: "F0rb1d". Creo que use damerau-Levenshtein u otro. Usted sugerencias?

Y qué pasa si el texto está escrito de la siguiente manera :
"ForbiddenInformation.Privatecorrespondence de la compañía". O "F0rb1dden1nformation.Privatecorresp0ndenceofthec0mpany". (sí, sin espacios en blanco)

¿Cómo resolver este problema?
Algoritmo preferiblemente rápido, porque el texto se procesa en tiempo real.
Y tal vez, ¿cuáles son algunos consejos para mejorar el rendimiento (cómo almacenar, etc.)?

Lo siento por mi ingles. Gracias.


hay dos posibles soluciones por lo que sé de algoritmos.

Podría tratar de usar la programación dinámica, LCS (subsecuencia común más larga). Buscará texto original para la palabra deseada como patrón, creo que es O (mn):

http://en.wikipedia.org/wiki/Longest_common_subsequence_problem http://www.ics.uci.edu/~eppstein/161/960229.html

Aunque lo más fácil sería usar el algoritmo de búsqueda de texto. Lo mejor que sé es KMP y es O (n). Para la comparación de caracteres, puedes agruparlos en conjuntos como {i I l (L) 1}, {o O 0} y así sucesivamente. Sin embargo, puede modificar esto para que no coincida con todas las letras (prohibir -> forbad).

http://en.wikipedia.org/wiki/Knuth-Morris-Pratt_algorithm

Entonces, ahora puedes comparar los beneficios de estos dos y tu sugerencia.