99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
首頁精彩閱讀R語言文本挖掘之中文分詞包—Rwordseg包(原理、功能、詳解)
R語言文本挖掘之中文分詞包—Rwordseg包(原理、功能、詳解)
2017-04-20
收藏

R語言文本挖掘之中文分詞包—Rwordseg包(原理、功能、詳解)

與前面的RsowballC分詞不同的地方在于這是一個(gè)中文的分詞包,簡(jiǎn)單易懂,分詞是一個(gè)非常重要的步驟,可以通過一些字典,進(jìn)行特定分詞。大致分析步驟如下:

數(shù)據(jù)導(dǎo)入——選擇分詞字典——分詞

但是下載步驟比較繁瑣,可參考之前的博客: R語言·文本挖掘︱Rwordseg/rJava兩包的安裝(安到吐血)

——————————————————————————————————

Rwordseg與jiebaR分詞之間的區(qū)別

中文分詞比較有名的包非`Rwordseg`和`jieba`莫屬,他們采用的算法大同小異,這里不再贅述,我主要講一講他們的另外一個(gè)小的不同:

`Rwordseg`在分詞之前會(huì)去掉文本中所有的符號(hào),這樣就會(huì)造成原本分開的句子前后相連,本來是分開的兩個(gè)字也許連在一起就是一個(gè)詞了,

而`jieba`分詞包不會(huì)去掉任何符號(hào),而且返回的結(jié)果里面也會(huì)有符號(hào)。

所以在小文本準(zhǔn)確性上可能`Rwordseg`就會(huì)有“可以忽視”的誤差,但是文本挖掘都是大規(guī)模的文本處理,由此造成的差異又能掀起多大的漣漪,與其分詞后要整理去除各種符號(hào),倒不如提前把符號(hào)去掉了,所以我們才選擇了`Rwordseg`。

來看一下這篇論文一些中文分詞工具的性能比較《開源中文分詞器的比較研究_黃翼彪,2013》

8款中文分詞器的綜合性能排名:
Paoding(準(zhǔn)確率、分詞速度、新詞識(shí)別等,最棒)
mmseg4j(切分速度、準(zhǔn)確率較高)
IKAnalyzer
Imdict-chinese-analyzer
Ansj
盤古分詞
Httpcws
jieba

——————————————————————————————————

Rwordseg分詞原理以及功能詳情

Rwordseg 是一個(gè)R環(huán)境下的中文分詞工具,使用 rJava 調(diào)用 Java 分詞工具 Ansj。

Ansj 也是一個(gè)開源的 Java 中文分詞工具,基于中科院的 ictclas 中文分詞算法, 采用隱馬爾科夫模型(Hidden Markov Model, HMM)。作者孫健重寫了一個(gè)Java版本, 并且全部開源,使得 Ansi 可用于人名識(shí)別、地名識(shí)別、組織機(jī)構(gòu)名識(shí)別、多級(jí)詞性標(biāo)注、 關(guān)鍵詞提取、指紋提取等領(lǐng)域,支持行業(yè)詞典、 用戶自定義詞典。

1、分詞原理

n-Gram+CRF+HMM的中文分詞的java實(shí)現(xiàn).

分詞速度達(dá)到每秒鐘大約200萬字左右(mac air下測(cè)試),準(zhǔn)確率能達(dá)到96%以上

目前實(shí)現(xiàn)了.中文分詞. 中文姓名識(shí)別 . 用戶自定義詞典,關(guān)鍵字提取,自動(dòng)摘要,關(guān)鍵字標(biāo)記等功能

可以應(yīng)用到自然語言處理等方面,適用于對(duì)分詞效果要求高的各種項(xiàng)目.

該算法實(shí)現(xiàn)分詞有以下幾個(gè)步驟:

1、全切分,原子切分;

2、 N最短路徑的粗切分,根據(jù)隱馬爾科夫模型和viterbi算法,達(dá)到最優(yōu)路徑的規(guī)劃;

3、人名識(shí)別;

4、 系統(tǒng)詞典補(bǔ)充;
5、 用戶自定義詞典的補(bǔ)充;
6、 詞性標(biāo)注(可選) 

2、Ansj分詞的準(zhǔn)確率

這是我采用人民日?qǐng)?bào)1998年1月語料庫的一個(gè)測(cè)試結(jié)果,首先要說明的是這份人工標(biāo)注的語料庫本身就有錯(cuò)誤。
    P(準(zhǔn)確率):0.984887218571267

  R(召回率):0.9626488103178712

    F(綜合指標(biāo)F值):0.9736410471396494

3、歧義詞、未登錄詞的表現(xiàn)

歧異方面的處理方式自我感覺還可以,基于“最佳實(shí)踐規(guī)則+統(tǒng)計(jì)”的方式,雖然還有一部分歧異無法識(shí)別,但是已經(jīng)完全能滿足工程應(yīng)用了。

至于未登錄詞的識(shí)別,目前重點(diǎn)做了中文人名的識(shí)別,效果還算滿意,識(shí)別方式用的“字體+前后監(jiān)督”的方式,也算是目前我所知道的效果最好的一種識(shí)別方式了。

4、算法效率

在我的測(cè)試中,Ansj的效率已經(jīng)遠(yuǎn)超ictclas的其他開源實(shí)現(xiàn)版本。
核心詞典利用雙數(shù)組規(guī)劃,每秒鐘能達(dá)到千萬級(jí)別的粗分。在我的MacBookAir上面,分詞速度大約在300w/字/秒,在酷睿i5+4G內(nèi)存組裝機(jī)器上,更是達(dá)到了400w+/字/秒的速度。數(shù)據(jù)分析師培訓(xùn)


數(shù)據(jù)分析咨詢請(qǐng)掃描二維碼

若不方便掃碼,搜微信號(hào):CDAshujufenxi

數(shù)據(jù)分析師資訊
更多

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機(jī)數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進(jìn)行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個(gè)參數(shù)驗(yàn)證碼對(duì)象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個(gè)配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺(tái)檢測(cè)極驗(yàn)服務(wù)器是否宕機(jī) new_captcha: data.new_captcha, // 用于宕機(jī)時(shí)表示是新驗(yàn)證碼的宕機(jī) product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說明請(qǐng)參見:http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計(jì)時(shí)完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請(qǐng)輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請(qǐng)輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }