Sto provando a prendere una serie di recensioni e convertirle nel formato ARFF da utilizzare con WEKA. Sfortunatamente o ho completamente frainteso come funziona il formato, o dovrò avere un attributo per TUTTE le parole possibili, quindi un indicatore di presenza. Qualcuno conosce un modo migliore, o idealmente ha un file ARFF di esempio?ARFF per l'elaborazione del linguaggio naturale
risposta
voluto un po 'per capire, ma con questo 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
E questo comando:
java -classpath "C:\\Program Files\\Weka-3-6\\weka.jar" weka.filters.unsupervised.attribute.StringToWordVector -i input.arff -o output.arff
Di seguito è prodotta:
@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}
Se memorizzare le recensioni in file di testo semplice e cartelle diverse (positive e negative nel tuo caso) è possibile utilizzare TextDirectoryLoader.
Lo si trova nell'applicazione KnowledgeFlow in Weka o dalla riga di comando. Maggiori informazioni qui: http://weka.wikispaces.com/ARFF+files+from+Text+Collections
Il formato dei file è un'istanza, ad esempio una revisione, per riga nei file txt? –
no, è possibile avere più righe per txt – zdepablo
Sai cosa rappresentano le tuple come '0 1', separate da virgole in' {0 1,2 1,4 1,6 1,7 1} '? Penso che questo sia diverso dal convenzionale formato .arff. Hai avuto fortuna a ottenere risultati significativi con WEKA? – Rhubarb
Questo è piuttosto un vecchio post, ma da quello che ricordo la prima cifra nella tupla è il numero @attribute, e il secondo numero è il conteggio delle occorrenze nella stringa. Penso che in una certa misura può significare ciò che vuoi, purché tu capisca cosa significano i risultati. –