Я пытаюсь взять набор обзоров и преобразовать их в формат ARFF для использования с WEKA. К сожалению, либо я совершенно не понимаю, как работает формат, либо мне придется иметь атрибут для ВСЕХ возможных слов, а затем индикатор присутствия. Кто-нибудь знает лучший способ или в идеале есть образец файла ARFF?
ARFF для обработки естественного языка
Ответы (2)
Если вы храните отзывы в текстовых файлах и разных папках (в вашем случае положительные и отрицательные), вы можете использовать TextDirectoryLoader.
Вы найдете это в приложении KnowledgeFlow в Weka или в командной строке. Подробнее здесь: http://weka.wikispaces.com/ARFF+files+from+Text+Collections
person
zdepablo
schedule
29.05.2011
Является ли формат файлов одним экземпляром, скажем, обзором, на строку в файлах txt?
- person Dean Barnes; 30.05.2011
Потребовалось время, чтобы разобраться, но с этим 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
И эта команда:
java -classpath "C:\\Program Files\\Weka-3-6\\weka.jar" weka.filters.unsupervised.attribute.StringToWordVector -i input.arff -o output.arff
Производится следующее:
@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}
person
Dean Barnes
schedule
28.05.2011
Знаете ли вы, что представляют кортежи типа
0 1
, разделенные запятыми в {0 1,2 1,4 1,6 1,7 1}
? Я думаю, что это отличается от обычного формата .arff. Удалось ли вам получить значимые результаты с WEKA?
- person Zhubarb; 05.03.2014
Это довольно старый пост, но насколько я помню, первая цифра в кортеже — это номер @атрибута, а вторая цифра — количество вхождений в строке. Я думаю, что в определенной степени это может означать то, что вы хотите, если вы понимаете, что означают результаты.
- person Dean Barnes; 05.03.2014