小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Weka開發(fā)[48]——用Weka文本分類

 lzqkean 2013-07-22

譯自:http://weka./Text categorization with WEKA< xmlnamespace prefix ="o" ns ="urn:schemas-microsoft-com:office:office" />

導(dǎo)入

    進(jìn)行任何分類任務(wù),數(shù)據(jù)都必須是ARFF或是XRFF格式。

目錄

    你可以用下面的工具將文本文件轉(zhuǎn)換成ARFF格式:

1. TextDirectoryToArff工具

    它將一個(gè)包含文本文件的目錄轉(zhuǎn)換成一個(gè)ARFF文件。

2. TextDirectoryLoader 轉(zhuǎn)換器

    這個(gè)轉(zhuǎn)換器基于TextDirectoryToArff工具實(shí)現(xiàn),它在weka.core.converters包中。

要使用TextDirectoryLoader,你要將目錄處理成下面這種結(jié)構(gòu)(譯注:簡(jiǎn)單的說就是將每個(gè)類別的文本文件放到一個(gè)目錄中,并將這個(gè)目錄名命令為類別名,如果你還不明白,在下面的例子節(jié),你可以去下載)(tree命令可以看你的目錄結(jié)構(gòu),linuxwindows都可以)

...

 |

  - text_example

    |

    - class1

    |  |

    |  file1.txt

    |  |

    |  file2.txt

    |  |

    |  ...

    |

    - class2

    |  |

    |  another_file1.txt

    |  |

    |  another_file2.txt

    |  |

    |  ...

    上面的目錄結(jié)構(gòu)可以用下面的命令轉(zhuǎn)換成一個(gè)ARFF文件:

java weka.core.converters.TextDirectoryLoader -dir text_example > text_example.arff

CSV 文件

CSV文件可以很容易地通過Weka Explorer或是通過命令行用CSVLoader導(dǎo)入:

java weka.core.converters.CSVLoader file.csv > file.arff

    默認(rèn)情況下,非數(shù)值型屬性會(huì)以NOMINAL(離散型)屬性方式導(dǎo)入,這對(duì)于文本型數(shù)據(jù)是不太合適的,特別是有人想在后面使用StringToWordVector過濾器時(shí),要將屬性指定為STRING類型,可以對(duì)數(shù)據(jù)運(yùn)行NominalToString過濾器(weka.filters.unsupervised.attribute包中),并指定屬性下標(biāo)或指定要轉(zhuǎn)換的范圍(注意,這個(gè)過濾器會(huì)將類別屬性也進(jìn)行轉(zhuǎn)換)。為了保留屬性類型,你需要將文件保存為ARFF或是XRFF格式(或是以一種壓縮格式版本進(jìn)行保存)。

第三方工具

    TagHelper工具,它可以將文本轉(zhuǎn)換成切詞或是非切詞的unigrams,bigrams,part-of-speech bigrams,和一些用戶定義的特性,然后保存成ARFF格式,現(xiàn)在支持的語言有英文,德文,中文。西班牙文和葡萄牙語的處理工作正在進(jìn)行。

處理文本數(shù)據(jù)

轉(zhuǎn)換

    Weka中的大多數(shù)分類器不能處理String類型的屬性,所以如果你要學(xué)習(xí)一個(gè)分類器,應(yīng)該將String類型先轉(zhuǎn)換成合適的格式,比如,StringToWordVector過濾器可以進(jìn)行TF/IDF 轉(zhuǎn)換。

    StringToWordVector過濾器將類別屬性放在輸出文件的開始,如果你喜歡它還是在最后的位置,你可以用如下設(shè)置使用Recorder過濾器:

weka.filters.unsupervised.attribute.Reorder -R 2-last,first

    另外,你可以用MultiFilter你可以將兩個(gè)過濾器一次運(yùn)行,這樣在比如Explorer方式下就簡(jiǎn)單點(diǎn)。

停詞

    StringToWordVector過濾器可以使用不同的停詞表,它自身也有一個(gè)內(nèi)嵌的停詞表(基于Rainbow系統(tǒng))。你可以用-stopwords選擇來加載外部的停詞文件,停詞文件的格式就是一行一個(gè)停詞,如果前面有’#’就會(huì)被認(rèn)為是注釋被忽略。

UTF-8

    如果你要處理的文本文件是non-ASCII碼文件,比如阿拉伯文,你也許會(huì)在Windows下遇到一些顯示上的問題,Java是支持顯示UTF-8的,所以也包括阿拉伯語,默認(rèn)情況下,JavaWindows下使用code page 1252,它會(huì)使顯示其它問題時(shí)有問題。為了修正這個(gè)錯(cuò)誤,你需要在啟動(dòng)Weka時(shí)修改java命令行。

java -Dfile.encoding=utf-8 -classpath ...

    -Dfile.encoding=utf-8是告訴Java使用UTF-8編碼而不是默認(rèn)的CP1252。

    如果你想通過啟動(dòng)目錄方式啟動(dòng)weka,你可以在RunWeka.ini的修改fileEncoding值為UTF-8。

例子

text_example.zip 含一個(gè)作為示例的目錄和文件,它可以被TextDirectoryLoader轉(zhuǎn)換器載入。

text_example.zip 它使用TextDirectoryLoader轉(zhuǎn)換器將一個(gè)目錄轉(zhuǎn)換成一個(gè)數(shù)據(jù)集,并用StringToWordVector過濾,再用過濾過的數(shù)據(jù)建立一個(gè)分類器。

 

 

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多