¿Cuáles son los pasos básicos del procesamiento de texto en el procesamiento del lenguaje natural para la similitud de texto?

Aunque la comparación de la PNL y la minería de texto no es correcta si se realiza de la misma manera, ya que no son lo mismo, están casi correlacionadas, tratan con el mismo tipo de datos sin procesar y tienen cierto cruce en sus usos. Analicemos los pasos a seguir, tome un sorbo para abordar ahora:

Textos Minería / PNL:

El procesamiento del lenguaje natural (PNL) se refiere a la interacción entre los lenguajes humanos naturales y los dispositivos informáticos. La PNL es un aspecto importante de la lingüística computacional, y también cae dentro de los ámbitos de la informática y la inteligencia artificial.

La minería de texto existe en un ámbito similar al PNL, ya que se ocupa de identificar patrones interesantes y no triviales en los datos textuales.

Así que tómate un descanso y tenlo de manera simple:

Si el texto sin formato son datos , la minería de texto es información y PNL es conocimiento.

Ahora piense en lo que estamos buscando, por supuesto, el conocimiento aquí …!

Entonces, lo que necesitamos hacer con los datos para que conduzca a una mejor información, estos son:

  • Tokenización: gran parte de texto en pequeño
  • Normalización: convertir todo el texto al mismo caso (superior o inferior), eliminar la puntuación, expandir las contracciones, convertir números a sus equivalentes de palabras, etc.
  • Stemming Stemming es el proceso de eliminación de afijos (sufijos, prefijos, infijos, circunfijos) de una palabra para obtener el origen de una palabra.

corriendo → correr

  • Lematización: la lematización está relacionada con la derivación, que difiere en que la lematización es capaz de capturar formas canónicas basadas en una palabra.
  • Cuerpo:
  • Para las palabras
  • Etiquetado de partes de voz (POS)
  • Bolsa de palabras: la bolsa de palabras es un modelo de representación particular utilizado para simplificar el contenido de una selección de texto.
  • Expresiones regulares: las expresiones regulares, a menudo abreviadas regexp o regexp , son un método probado y verdadero para describir concisamente patrones de texto.
  • Medidas de similitud

Podemos decir que estos son los pasos principales de una tarea genérica basada en texto, que se encuentra en la minería de texto o PNL.

  1. Recolección de datos o ensamblaje
  2. Preprocesamiento de datos
  3. Exploración y visualización de datos
  4. Construcción del modelo
  5. Evaluación modelo

Espero que tengas lo que estás buscando o sigas siguiendo toda la información en los textos, solo trata de tener un mejor apetito.

Más allá de las expresiones regulares, aquí hay algunas características importantes:

  • Generadores, consulte Trucos de generador para programadores de sistemas de David Beazley para obtener muchos ejemplos excelentes para canalizar cantidades ilimitadas de texto a través de generadores.

Para herramientas, recomiendo mirar lo siguiente:

  • Whoosh, un motor de búsqueda de Python puro que le dará algunos ejemplos agradables de la vida real de análisis de texto utilizando pyparsing y procesamiento de texto en Python en general.
  • Las buenas reseñas de Ned Batcheldor de varias herramientas de análisis de Python.
  • mxTextTools
  • Código fuente de Docutils para un procesamiento de texto más avanzado en Python, incluida una máquina de estado sofisticada.

re: orden de tokenización de oración versus palabra: depende del objetivo. Por simple similitud, un enfoque de “bolsa de palabras” puede ser suficiente. En ese caso, las oraciones no importan. Las medidas de similitud más complejas basadas en conceptos y en el significado del contenido pueden requerir el análisis de la estructura de los documentos y el análisis de las oraciones. Por ejemplo, ponderar el primer y último N párrafos de manera diferente que otro contenido. Estos métodos requieren información sobre el orden de las oraciones, los párrafos y otros tipos de contenido del documento, por lo que se debe realizar la tokenización o etiquetado de las oraciones / párrafos, pero el orden es más difícil ya que, según las reglas de tokenización, es posible que pueda hacer tokenización de palabras y oraciones en un pase único Si las reglas son simples (por ejemplo, las oraciones se rompen en un pequeño conjunto predefinido de caracteres y al final del texto), una sola pasada produce fácilmente estructuras de palabras, oraciones y párrafos. Una forma de hacerlo sin cargar todo el documento utiliza un enfoque de máquina de estado para un conjunto de reglas de palabras y oraciones; Esto también permite el manejo de citas, escapes de caracteres y una variedad de otros casos especiales. Este enfoque funcionará para muchos propósitos que no requieren un análisis semántico de contenido complejo. Es perfecto, pero a menudo es lo suficientemente bueno para el contenido común en inglés.

Para tareas de similitud de oraciones … Otro enfoque diferente:

  1. Cree un modelo Doc2vec o word2vec.
  2. Obtenga un vector de oración de oración (Si word2vec, haga el promedio de las palabras para obtener el vector de oración)
  3. Encuentra la similitud de coseno entre vectores.
  4. Clasifíquelos de mayor a menor. Uno con la mayor similitud de coseno será más similar con la oración fuente, y así sucesivamente.

Obtendrá todo aquí: RaRe-Technologies / gensim

La similitud de texto no es una tarea bien definida, puede referirse a la similitud de corpus, oraciones o incluso métricas entre corpus para similitud. Dicho esto, hay una idea básica que ha enumerado allí, y nada cambia mucho en cuerpos de texto más grandes, aunque puede hacer cosas como usar incrustaciones de palabras y etiquetado POS / análisis de dependencia (básicamente si es Stanford CoreNLP, debería considerarlo jajaja) y en situaciones específicas de dominio, es posible que tenga la capacidad de hacer una ingeniería de características más avanzada.

More Interesting

¿Por qué el algoritmo AdaBoost es sensible a datos ruidosos y valores atípicos? ¿Y cómo?

¿Por qué utilizamos el agrupamiento en el análisis estadístico? ¿Puedes dar una explicación intuitiva o ejemplos intuitivos?

¿Cuáles son algunas buenas ideas de proyectos o ejemplos para un proyecto de curso de Visión de Computadora basado en Aprendizaje Automático?

¿Es mejor hacer una competencia de ciencia de datos en Kaggle o crear un algoritmo comercial en Quantopian para encontrar un trabajo en finanzas cuantitativas?

¿Qué significan las redes bayesianas en Machine Learning?

¿Por qué todavía necesitamos aprender Minería de datos cuando tenemos Mahout?

¿Los humanos son actualizadores bayesianos?

¿Cómo genera el modelo generativo muestras de ruidos?

¿Por qué la precisión del entrenamiento de la red CNN aumenta rápidamente cuando elijo un tamaño de lote relativamente más pequeño?

¿Cuál es la diferencia entre bootstrapping y validación cruzada?

¿Dónde puedo aprender el aprendizaje automático desde cero en C ++?

¿Has utilizado Google Translate recientemente? ¿Cómo es la calidad de la traducción con su nueva traducción automática neuronal? ¿Cómo es para cualquier par de idiomas?

Algunas cosas "fueron modeladas como procesos de Poisson". ¿Qué quieren decir con eso?

¿Cuál es el mejor lenguaje de programación para el aprendizaje automático? ¿Qué idioma es mejor para programar microcontroladores y otras partes de hardware?

Cómo lidiar con un trabajo de investigación cuando contiene muchos materiales de fondo que no has estudiado