THULAC:一個高效的中文詞法分析工具包 | 您所在的位置:網(wǎng)站首頁 › 年輕母親5免費完整高清電視劇在線看榮耀x5鬧鐘在哪里 › THULAC:一個高效的中文詞法分析工具包 |
THULAC(THU Lexical Analyzer for Chinese)由清華大學自然語言處理與社會人文計算實驗室研制推出的一套中文詞法分析工具包,具有中文分詞和詞性標注功能。THULAC具有如下幾個特點:能力強。利用我們集成的目前世界上規(guī)模最大的人工分詞和詞性標注中文語料庫(約含5800萬字)訓練而成,模型標注能力強大。準確率高。該工具包在標準數(shù)據(jù)集Chinese Treebank(CTB5)上分詞的F1值可達97.3%,詞性標注的F1值可達到92.9%,與該數(shù)據(jù)集上最好方法效果相當。速度較快。同時進行分詞和詞性標注速度為300KB/s,每秒可處理約15萬字。只進行分詞速度可達到1.3MB/s。THULAC在線演示平臺thulac.thunlp.org/demo編譯和安裝 1.C++版本 在當前路徑下運行make會在當前目錄下得到thulac和train_c(thulac需要模型的支持,需要將下載的模型放到當前目錄下)2.java版 可直接按照分詞程序命令格式運行可執(zhí)行的jar包自行編譯需要安裝Gradle, 然后在項目根目錄執(zhí)行g(shù)radle build, 生成文件在build/libs下(thulac需要模型的支持,需要將下載的模型放到當前目錄下)3.Python版(兼容python2.x和python3.x) 源代碼下載將thulac文件放到目錄下,通過 import thulac 來引用thulac需要模型的支持,需要將下載的模型放到thulac目錄下。pip下載sudo pip install thulac通過 import thulac 來引用使用方法1.分詞和詞性標注程序1.1 命令格式C++版(接口調(diào)用參見1.5)./thulac [-t2s] [-seg_only] [-deli delimeter] [-user userword.txt] 從命令行輸入輸出./thulac [-t2s] [-seg_only] [-deli delimeter] [-user userword.txt] outputfile 利用重定向從文本文件輸入輸出(注意均為UTF8文本)java版java -jar THULAC_lite_java_run.jar [-t2s] [-seg_only] [-deli delimeter] [-user userword.txt] 從命令行輸入輸出java -jar THULAC_lite_java_run.jar [-t2s] [-seg_only] [-deli delimeter] [-user userword.txt] -input input_file -output output_file 從文本文件輸入輸出(注意均為UTF8文本)python版(兼容python2.x和python3.x)通過python程序import thulac,新建thulac.thulac(args)類,其中args為程序的參數(shù)。之后可以通過調(diào)用thulac.cut()進行單句分詞。具體接口參數(shù)可查看python版接口參數(shù)(http://thulac.thunlp.org/#jiekou)代碼示例1.2.通用參數(shù)(C++版、Java版)t2s------------------將句子從繁體轉(zhuǎn)化為簡體seg_only-------------只進行分詞,不進行詞性標注deli delimeter-------設(shè)置詞與詞性間的分隔符,默認為下劃線_filter---------------使用過濾器去除一些沒有意義的詞語,例如“可以”user userword.txt----設(shè)置用戶詞典,用戶詞典中的詞會被打上uw標簽。詞典中每一個詞一行,UTF8編碼(python版暫無)model_dir dir--------設(shè)置模型文件所在文件夾,默認為models/1.3.Java版特有的參數(shù)input input_file-----設(shè)置從文件讀入,默認為命令行輸入output output_file---設(shè)置輸出到文件中,默認為命令行輸出1.4.python版接口參數(shù)user_path------------設(shè)置用戶詞典,用戶詞典中的詞會被打上uw標簽。詞典中每一個詞一行,UTF8編碼t2s------------------默認False, 是否將句子從繁體轉(zhuǎn)化為簡體just_seg-------------默認False, 時候只進行分詞,不進行詞性標注ufilter--------------默認False, 是否使用過濾器去除一些沒有意義的詞語,例如“可以”model_path-----------設(shè)置模型文件所在文件夾,默認為models/separator------------默認為‘_’, 設(shè)置詞與詞性之間的分隔符1.5.C++版接口參數(shù)(需include "include/thulac.h")首先需要實例化THULAC類,然后可以調(diào)用以下接口:int init(const char* model_path = NULL, const char* user_path = NULL, int just_seg = 0, int t2s = 0, int ufilter = 0, char separator = '_');初始化程序,進行自定義設(shè)置user_path------------設(shè)置用戶詞典,用戶詞典中的詞會被打上uw標簽。詞典中每一個詞一行,UTF8編碼t2s------------------默認False, 是否將句子從繁體轉(zhuǎn)化為簡體just_seg-------------默認False, 時候只進行分詞,不進行詞性標注ufilter--------------默認False, 是否使用過濾器去除一些沒有意義的詞語,例如“可以”。model_path-----------設(shè)置模型文件所在文件夾,默認為models/separator------------默認為‘_’, 設(shè)置詞與詞性之間的分隔符2.模型訓練程序THULAC工具包提供模型訓練程序train_c,用戶可以使用train_c訓練獲得THULAC的所需的模型。2.1.命令格式/train_c [-s separator] [-b bigram_threshold] [-i iteration] training_filename model_filename使用training_filename為訓練集,訓練出來的模型名字為model_filename2.2.參數(shù)意義-s 設(shè)置詞與詞性間的分隔符,默認為斜線/-b 設(shè)置二字串的閾值,默認為1-i 設(shè)置訓練迭代的輪數(shù),默認為152.3.訓練集格式我們使用默認的分隔符(斜線/)作為例子,訓練集內(nèi)容應(yīng)為我/r 愛/vm 北京/ns 天安門/ns類似的已經(jīng)進行詞性標注的句子。若要訓練出只分詞的模型,使用默認的分隔符(斜線/)作為例子,訓練集內(nèi)容應(yīng)為我/ 愛/ 北京/ 天安門/類似的句子。2.4.使用訓練出的模型將訓練出來的模型覆蓋原來models中的對應(yīng)模型,之后執(zhí)行分詞程序即可使用訓練出來的模型。與代表性分詞軟件的性能對比我們選擇LTP-3.2.0 、ICTCLAS(2015版) 、jieba(C++版)等國內(nèi)具代表性的分詞軟件與THULAC做性能比較。我們選擇Windows作為測試環(huán)境,根據(jù)第二屆國際漢語分詞測評(The Second International Chinese Word Segmentation Bakeoff)發(fā)布的國際中文分詞測評標準,對不同軟件進行了速度和準確率測試。在第二屆國際漢語分詞測評中,共有四家單位提供的測試語料(Academia Sinica、 City University 、Peking University 、Microsoft Research), 在評測提供的資源icwb2-data中包含了來自這四家單位的訓練集(training)、測試集(testing), 以及根據(jù)各自分詞標準而提供的相應(yīng)測試集的標準答案(icwb2-data/scripts/gold).在icwb2-data/scripts目錄下含有對分詞進行自動評分的perl腳本score。我們在統(tǒng)一測試環(huán)境下,對上述流行分詞軟件和THULAC進行了測試,使用的模型為各分詞軟件自帶模型。THULAC使用的是隨軟件提供的簡單模型Model_1。評測環(huán)境為 Intel Core i5 2.4 GHz 評測結(jié)果如下:msr_test(560KB)pku_test(510KB)除了以上在標準測試集上的評測,我們也對各個分詞工具在大數(shù)據(jù)上的速度進行了評測,結(jié)果如下:CNKI_journal.txt(51 MB)詞性標記集1.通用標記集(適用于所有版本)2.特殊標記集(適用于lite_v1_2版) 為了方便在分詞和詞性標注后的過濾,在v1_2版本,我們增加了兩種詞性,如果需要可以下載使用。vm/能愿動詞vd/趨向動詞THULAC的不同配置我們隨THULAC源代碼附帶了簡單的分詞模型Model_1,僅支持分詞功能。該模型由人民日報分詞語料庫訓練得到。我們隨THULAC源代碼附帶了分詞和詞性標注聯(lián)合模型Model_2,支持同時分詞和詞性標注功能。該模型由人民日報分詞和詞性標注語料庫訓練得到。我們還提供更復雜、完善和精確的分詞和詞性標注聯(lián)合模型Model_3和分詞詞表。該模型是由多語料聯(lián)合訓練訓練得到(語料包括來自多文體的標注文本和人民日報標注文本等)。由于模型較大,如有機構(gòu)或個人需要,請?zhí)顚憽百Y源申請表.doc”(http://thulac.thunlp.org/source/shenqingbiao.docx),并發(fā)送至 [email protected] ,通過審核后我們會將相關(guān)資源發(fā)送給聯(lián)系人。開源協(xié)議THULAC面向國內(nèi)外大學、研究所、企業(yè)以及個人用于研究目的免費開放源代碼。如有機構(gòu)或個人擬將THULAC用于商業(yè)目的,請發(fā)郵件至[email protected]洽談技術(shù)許可協(xié)議。歡迎對該工具包提出任何寶貴意見和建議。請發(fā)郵件至[email protected]。如果您在THULAC基礎(chǔ)上發(fā)表論文或取得科研成果,請您在發(fā)表論文和申報成果時聲明“使用了清華大學THULAC”,并按如下格式引用:中文: 孫茂松, 陳新雄, 張開旭, 郭志芃, 劉知遠. THULAC:一個高效的中文詞法分析工具包. 2016.英文: Maosong Sun, Xinxiong Chen, Kaixu Zhang, Zhipeng Guo, Zhiyuan Liu. THULAC: An Efficient Lexical Analyzer for Chinese. 2016.指導老師孫茂松,清華大學計算機系教授,https://nlp.csai.tsinghua.edu.cn/staff/sms/劉知遠,清華大學計算機系副教授,http://nlp.csai.tsinghua.edu.cn/~lzy/開發(fā)團隊陳新雄,清華大學計算機系博士生張開旭,清華大學計算機系碩士生郭志芃,清華大學計算機系碩士生馬駿驊,訪問學生相關(guān)論文Zhongguo Li, Maosong Sun. Punctuation as Implicit Annotations for Chinese Word Segmentation.?Computational Linguistics, vol. 35, no. 4, pp. 505-512, 2009. |
CopyRight 2018-2019 實驗室設(shè)備網(wǎng) 版權(quán)所有 |