algorithm - Algoritmos de etiquetado automático no supervisados?
machine-learning nlp (4)
El modelo de aprendizaje automático no supervisado más común para este tipo de tarea es la asignación latente de Dirichlet (LDA). Este modelo deduce automáticamente una colección de temas sobre un corpus de documentos basado en las palabras en esos documentos. Ejecutar LDA en su conjunto de documentos asignaría palabras con probabilidad a ciertos temas cuando las busque, y luego podría recuperar los documentos con las mayores probabilidades de ser relevantes para esa palabra.
También ha habido algunas extensiones de imágenes y música, consulte http://cseweb.ucsd.edu/~dhu/docs/research_exam09.pdf .
LDA tiene varias implementaciones eficientes en varios idiomas:
- muchas implementaciones de los investigadores originales
- http://mallet.cs.umass.edu/ , escrito en Java y recomendado por otros en SO
- PLDA : una implementación rápida y paralela de C ++
Quiero crear una aplicación web que permita a los usuarios subir documentos , videos , imágenes y música , y luego darles la posibilidad de buscarlos. Piénsalo como Dropbox + Búsqueda semántica.
Cuando el usuario carga un nuevo archivo, por ejemplo, Document1.docx , ¿cómo podría generar automáticamente etiquetas basadas en el contenido del archivo? En otras palabras, no se necesita la intervención del usuario para determinar de qué se trata el archivo. Si suponemos que Document1.docx es un trabajo de investigación sobre minería de datos, cuando el usuario busque minería de datos o papel de investigación o documento1 , ese archivo debería devolverse en los resultados de búsqueda, ya que el minería de datos y el trabajo de investigación probablemente serán automáticos potenciales. etiquetas generadas para ese documento dado.
1. ¿Qué algoritmos recomendarías para este problema?
2. ¿Existe una biblioteca de lenguaje natural que pueda hacer esto por mí?
3. ¿Qué técnicas de aprendizaje automático debo considerar para mejorar la precisión del marcado?
4. ¿Cómo podría extender esto al etiquetado automático de videos e imágenes?
¡Gracias por adelantado!
Los documentos de texto se pueden etiquetar utilizando este algoritmo / paquete de extracción de frase clave. http://www.nzdl.org/Kea/ Actualmente admite tipos de documentos limitados (Agrícola y médico, supongo) pero puede entrenarlo de acuerdo con sus requisitos.
No estoy seguro de cómo funcionaría la parte de imagen / video, a menos que esté haciendo una detección de objetos muy precisa (que tiene sus propias deficiencias). ¿Cómo planeas hacerlo?
Estos muchachos proponen una alternativa a LDA.
Algoritmos de recomendación automática de etiquetas para sistemas de recomendación social http://research.microsoft.com/pubs/79896/tagging.pdf
No he leído todo el documento, pero tienen dos algoritmos:
- Versión de aprendizaje supervisado. Esto no es tan malo. Puedes usar Wikipedia para entrenar el algoritmo
- Versión "prototipo". No he tenido la oportunidad de pasar por esto, pero esto es lo que recomiendan
ACTUALIZACIÓN: He investigado esto un poco más y he encontrado otro enfoque. Básicamente, es un enfoque en dos etapas que es muy simple de entender e implementar. Aunque es demasiado lento para 100.000 de documentos, (probablemente) tiene un buen rendimiento para miles de documentos (por lo que es perfecto para etiquetar los documentos de un solo usuario). Voy a probar este enfoque e informaré sobre el rendimiento / usabilidad.
Mientras tanto, este es el enfoque:
- Use TextRank según http://qr.ae/36RAP para generar una lista de etiquetas para un solo documento. Esto genera una lista de etiquetas para un único documento independiente de otros documentos .
- Utilice el algoritmo de "Uso del aprendizaje automático para respaldar el desarrollo continuo de ontologías" ( http://wortschatz.uni-leipzig.de/~fwitschel/papers/ekaw10.pdf ) para integrar la lista de etiquetas (del paso 1) en la etiqueta existente lista.
Publiqué un artículo de blog hoy para responder a su pregunta.
http://scottge.net/2015/06/30/automatic-image-and-video-tagging/
Básicamente, hay dos enfoques para extraer automáticamente palabras clave de imágenes y videos.
- Aprendizaje de instancias múltiples (MIL)
- Redes neuronales profundas (DNN), redes neuronales recurrentes (RNN) y las variantes
En el artículo de blog anterior, enumero los últimos artículos de investigación para ilustrar las soluciones. Algunos de ellos incluso incluyen el sitio de demostración y el código fuente.
Gracias, Scott