2011-05-07 17 views
5

Existe una biblioteca Java simple de usar que puede tomar una Cadena y devolver un conjunto de Cadenas que son las palabras clave/frases clave.java keyword extraction

No tiene que ser particularmente inteligente, solo use palabras de finalización y derivadas para hacer coincidir palabras clave.

Estoy mirando el paquete de KEA http://code.google.com/p/kea-algorithm/ pero no entiendo cómo usar su código.

Idealmente algo simple que tiene un pequeño ejemplo de documentación sería bueno. ¡Mientras tanto, me pondré a escribir esto yo mismo!

EDIT: cuando digo que no puedo ver cómo averiguar cómo usar su código, quiero decir que no puedo ver de una manera simple. Las clases individuales por sí mismas tienen métodos útiles que harán gran parte del trabajo.

+1

¿Qué quiere decir keyword/keyphrases? como una expresión regular dentro de la cadena o algo así? –

+0

no .... palabras clave que un motor de búsqueda reconocería, quiero extraer palabras clave de artículos de noticias y obtener una lista de artículos similares de diferentes sitios de noticias (sé que hay muchos servicios existentes que hacen eso ... es solo un poco de diversión y aprendizaje para mí). – Ankur

+0

Agradable, me encanta esa idea. Debe buscar/escribir un algoritmo que calcule las frecuencias de palabras/frases –

Respuesta

1

Puede probar el algoritmo Porter Stemming: la versión java está en http://tartarus.org/~martin/PorterStemmer/java.txt y la página principal está en http://tartarus.org/~martin/PorterStemmer/. Es viejo, pero no hace un mal trabajo.

+0

Gracias, pero por alguna razón da resultados bastante pobres. La biblioteca de KEA incluye una implementación. De hecho, he decidido ignorar la derivación por el momento. – Ankur

+0

Todo bien: me alegra ayudar. Avísame si vuelves a ella: me gustaría saber qué terminas usando. – Femi

2

Esta es una pregunta bastante antigua y probablemente el OP ya ha resuelto su problema, pero poniéndolo aquí para otros que puedan tropezar con la pregunta buscando cómo usar KEA.

Para KEA, necesitará un conjunto de capacitación: algunos de sus documentos necesitarán tener ya definidas las palabras clave. Los datos de capacitación constan de un directorio de documentos (archivos .txt) y archivos de palabras clave correspondientes (archivos .key), con una palabra clave por línea. Entrene KEA en este conjunto, luego use el modelo para extraer palabras clave en el resto de sus documentos, que se encuentran en otro directorio de archivos .txt. KEA escribirá los archivos .key correspondientes en este directorio.

Para obtener más información, echar un vistazo a uno o más de los siguientes:

1) La distribución de la fuente KEA tiene una clase TestKEA.java que muestra cómo extraer palabras clave de un pequeño corpus de prueba. El archivo README contiene detalles sobre el formato de directorio requerido.

2) Esta publicación de blog tiene instrucciones (algo imprecisas de la OMI) sobre cómo usar KEA.

http://kea-pranay.blogspot.com/2010/02/kea-key-extraction-algorithm.html

3) Mi entrada en el blog que escribí hasta la semana pasada al tratar de aprender a generar palabras clave a partir de un corpus que tenía (que ya fueron anotados manualmente con palabras clave). Tiene el código de Python para preprocesar los datos de la manera en que KEA lo espera, Scala (KEA proporciona una API de Java) para entrenar y ejecutar el extractor, y el código de Python para analizar y visualizar las palabras clave generadas.

http://sujitpal.blogspot.com/2014/08/keyword-extraction-with-kea.html