Puede usar métodos tradicionales, como un SVM lineal, para construir un clasificador de texto, pero no espere una gran precisión. También puede intentar agrupar estos fragmentos, pero en general no esperaría grandes resultados porque fragmentos cortos de texto no comparten suficientes palabras para superponerse bien
Por lo general, debe expandir el texto y / o agregar metadatos para agregar información real que aumente la superposición entre los fragmentos. Puede pensar en esto como la aplicación de un kernel semántico … (obtendrá resultados más rápidos al agregar información y usar un SVM L1 lineal que un kernel de texto no lineal completo)
Tenga en cuenta que desea agregar información; si solo intenta agregar una etiqueta de sintaxis o etiqueta de categoría, eso puede funcionar mal porque hay muy poca información nueva agregada. Por lo tanto, agregar etiquetas de parte del discurso (POS), por ejemplo, probablemente no sea muy útil (* ver más abajo, sin embargo). Del mismo modo, bigrams y trigrams no agregarán mucho a menos que tenga MUCHOS datos (** a continuación), e incluso pueden empeorar las cosas.
- ¿Pueden los videojuegos ser 100% realistas, en términos de entornos dentro del juego?
- ¿Cuál es la diferencia y la relación entre un proceso de Markov y un proceso de martingala?
- ¿Cuáles son los libros que deben leer para los estudiantes de Ciencias de la Computación que desean trabajar en nuevas empresas web?
- Cómo configurar una computadora que básicamente se ejecuta fuera de una carpeta de red
- ¿Son las GPU modernas máquinas de Turing?
Una excepción es si puede aplicar un reconocedor de entidad para detectar personas, lugares y cosas, y simplemente reemplazar las palabras con estas etiquetas. Esto funciona un poco, pero es difícil detectar estas entidades en fragmentos de texto de dominio abierto.
Para agregar información, puede ejecutar el texto a través de un motor de búsqueda (tal vez el suyo o Google, Bing, etc.) e intente asociar el fragmento a algún otro fragmento. Por ejemplo, si está clasificando consultas, puede agregar consultas relacionadas. Si estuvieras agrupando preguntas de Quora, agregarías las respuestas. y así…
Otro enfoque es utilizar el análisis semántico latente y tratar la superposición entre fragmentos utilizando la medida del coseno LSA. Y, por supuesto, puede combinar los enfoques.
Un enfoque más simple y relacionado es simplemente agregar sinónimos al texto. Puede buscarlos en http://www.synonym.com/ (seguro que es más fácil que WordNet)
Descubrir qué información agregar es el verdadero truco … y depende mucho del dominio. Por ejemplo, si se trata de fragmentos de compras, agregue una etiqueta de marca.
A partir de 2014, hay algunos enfoques nuevos como word2vec y glove que pueden ser útiles
* También te meterás en problemas con problemas en la desambiguación del sentido de las palabras … una palabra puede tener diferentes significados en diferentes contextos. Por lo general, agregar un gran fragmento de texto ayudará a evitar esto, pero si puede hacerlo, podría verse obligado a despejar y usar las etiquetas POS o alguna otra técnica para lidiar con esto.
** si tiene MUCHO texto (como todos los Tweets conocidos), entonces puede obtener algo de jugo del análisis de bigram y trigram. Hay una charla de Google sobre esto (llamada Aprendizaje con Big Data o algo así) … Trataré de encontrarla y agregarla aquí más tarde.
Solo unas pocas ideas …