Estoy tratando de tomar un conjunto de revisiones y convertirlas al formato ARFF para usar con WEKA. Lamentablemente, no entiendo completamente cómo funciona el formato, o tendré que tener un atributo para TODAS las palabras posibles, luego un indicador de presencia. ¿Alguien conoce una mejor manera, o idealmente tiene un archivo ARFF de muestra?ARFF para el procesamiento del lenguaje natural
Respuesta
tomó un tiempo para hacer ejercicio, pero con este input.arff:
@relation text_files
@attribute review string
@attribute sentiment {0, 1}
@data
"this is some text", 1
"this is some more text", 1
"different stuff", 0
Y este comando:
java -classpath "C:\\Program Files\\Weka-3-6\\weka.jar" weka.filters.unsupervised.attribute.StringToWordVector -i input.arff -o output.arff
La siguiente se produce:
@relation 'text_files-weka.filters.unsupervised.attribute.StringToWordVector-R1-W1000-prune-rate-1.0-N0-stemmerweka.core.stemmers.NullStemmer-M1-tokenizerweka.core.tokenizers.WordTokenizer -delimiters \" \\r\\n\\t.,;:\\\'\\\"()?!\"'
@attribute sentiment {0,1}
@attribute different numeric
@attribute is numeric
@attribute more numeric
@attribute some numeric
@attribute stuff numeric
@attribute text numeric
@attribute this numeric
@data
{0 1,2 1,4 1,6 1,7 1}
{0 1,2 1,3 1,4 1,6 1,7 1}
{1 1,5 1}
Si almacene las revisiones en archivos de texto plano y diferentes carpetas (positivas y negativas en su caso) puede usar TextDirectoryLoader.
Lo encuentra en la aplicación KnowledgeFlow en Weka o desde la línea de comandos. Más información aquí: http://weka.wikispaces.com/ARFF+files+from+Text+Collections
¿El formato de los archivos es una instancia, por ejemplo una revisión, por línea en los archivos txt? –
no, puede tener varias líneas por txt – zdepablo
- 1. El mejor camino para ingresar al procesamiento del lenguaje natural
- 2. Procesamiento del lenguaje natural en PHP
- 3. Procesamiento del lenguaje natural - Ideas para proyectos para principiantes
- 4. Binarización en procesamiento de lenguaje natural
- 5. Procesamiento de lenguaje natural en Ruby
- 6. Paquete de procesamiento de lenguaje natural
- 7. API para procesamiento de lenguaje natural en Android
- 8. corrección de procesamiento de lenguaje natural para palabras combinadas
- 9. Kit de herramientas de procesamiento de lenguaje natural para .NET
- 10. Python vs Java para procesamiento de lenguaje natural
- 11. Biblioteca de procesamiento de lenguaje natural para etiquetado automático (.NET)
- 12. Últimos buenos lenguajes y libros para el procesamiento del lenguaje natural, los conceptos básicos
- 13. Procesamiento del Lenguaje Natural Algoritmo para el estado de ánimo de un correo electrónico
- 14. Procesamiento de lenguaje natural: ¿encuentra obscenidades en inglés?
- 15. ¿Qué es un chunker en Procesamiento de lenguaje natural?
- 16. ¿Hay una buena biblioteca de procesamiento de lenguaje natural?
- 17. Solución de procesamiento de lenguaje natural en Java?
- 18. En el procesamiento del lenguaje natural, ¿cuál es el propósito de la fragmentación?
- 19. Representación del lenguaje natural como RDF
- 20. Gramática del lenguaje natural y nombres ingresados por el usuario
- 21. Palabras en lenguaje natural en inglés
- 22. Lista de herramientas de procesamiento del lenguaje natural en cuanto a Sentiment Analysis - ¿Cuál te recomiendas
- 23. fecha y la hora del Lenguaje Natural analizador para Java
- 24. ¿Hay algún tipo de biblioteca estadística de procesamiento de lenguaje natural para Haskell?
- 25. Lenguaje de comandos de lenguaje natural
- 26. Generador de lenguaje natural para fechas (Java)
- 27. Subtipos para los tipos de lenguaje natural
- 28. ¿Qué es una buena biblioteca de lenguaje natural para parafrasear?
- 29. DLL .NET para el lenguaje natural a SQL/SPARQL
- 30. Detección y/o identificación de falacia lógica con procesamiento de lenguaje natural
¿Sabes lo que las tuplas como '0 1', separadas por comas en' {0 1,2 1,4 1,6 1,7 1} 'representan? Creo que esto es diferente del formato convencional .arff. ¿Has tenido suerte al obtener resultados significativos con WEKA? – Rhubarb
Esta es una publicación bastante antigua, pero por lo que recuerdo, el primer dígito en la tupla es el número @attribute, y el segundo número es el recuento de ocurrencias en la cadena. Creo que, hasta cierto punto, puede significar lo que quieras, siempre que entiendas lo que significan los resultados. –