這段時(shí)間一直在接觸學(xué)習(xí)hadoop方面的知識,所以說對自然語言處理技術(shù)也是做了一些了解。網(wǎng)絡(luò)上關(guān)于自然語言處理技術(shù)的分享文章很多,今天就給大家分享一下HanLP方面的內(nèi)容。
自然語言處理技術(shù)其實(shí)是所有與自然語言的計(jì)算機(jī)處理相關(guān)聯(lián)的技術(shù)的統(tǒng)稱,自然語言處理技術(shù)應(yīng)用的目的是為了能夠讓計(jì)算機(jī)理解和接收我們用自然語言輸入的指令,實(shí)現(xiàn)從將我們?nèi)祟惖恼Z言翻譯成計(jì)算機(jī)能夠理解的并且不會產(chǎn)生歧義的一種語言。接合目前的大數(shù)據(jù)以及人工智能,自然語言處理技術(shù)的快速發(fā)展能夠很好的助力人工智能的發(fā)展。
(大快DKhadoop一體化開發(fā)框架)
這里要分享的HanLP是我在學(xué)習(xí)使用大快DKhadoop大數(shù)據(jù)一體化平臺時(shí)使用到的自然語言處理技術(shù),使用這個(gè)組建可以很高效的進(jìn)行自然語言的處理工作,比如進(jìn)行文章摘要,語義判別以及提高內(nèi)容檢索的精確度和有效性等。
本想找個(gè)通俗的案例來介紹一下HanLP,一時(shí)間也沒想到什么好的案例,索性就從HanLp數(shù)據(jù)結(jié)構(gòu)HE 分詞簡單介紹下吧。
首先我們來看了解下HanLP的數(shù)據(jù)結(jié)構(gòu):
二分tire樹:Tire樹是一種前綴壓縮結(jié)構(gòu),可以壓縮存大量字符串,并提供速度高于Map的get操作。HanLP中的trie樹采用有序數(shù)組儲存子節(jié)點(diǎn),通過二分搜索算法檢索,可以提供比TreeMap更快的查詢速度。
不同于父節(jié)點(diǎn)儲存子節(jié)點(diǎn)引用的普通trie樹,雙數(shù)組trie樹將節(jié)點(diǎn)的從屬關(guān)系轉(zhuǎn)化為字符內(nèi)碼的加法與校驗(yàn)操作
對于一個(gè)接收字符c從狀態(tài)s移動到t的轉(zhuǎn)移,需滿足條件是:
base[s] + c = t
check[t] = s比如:base[一號] + 店 = 一號店
check[一號店] = 一號
相較于trie樹的前綴壓縮(success表),AC自動機(jī)還實(shí)現(xiàn)了后綴壓縮(output表)
在匹配失敗時(shí),AC自動機(jī)會跳轉(zhuǎn)到最可能成功的狀態(tài)(fail指針)
關(guān)于HanLP分詞
1、詞典分詞
基于雙數(shù)組trie樹或ACDAT的詞典最長分詞(即從詞典中找出所有可能的詞,順序選擇最長的詞語)
輸出:[HanLP/名詞, 是不是/null, 特別/副詞, 方便/形容詞, ?/null]
2、NGram分詞
統(tǒng)計(jì)語料庫中的BiGram,根據(jù)轉(zhuǎn)移概率,選出最可能的句子,達(dá)到排除歧義的目的
3、HMM2分詞
這是一種由字構(gòu)詞的生成式模型,由二階隱馬模型提供序列標(biāo)注
創(chuàng)新互聯(lián)公司專注于湟中企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,成都做商城網(wǎng)站。湟中網(wǎng)站建設(shè)公司,為湟中等地區(qū)提供建站服務(wù)。全流程按需規(guī)劃網(wǎng)站,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)
被稱為TnT Tagger,特點(diǎn)是利用低階事件平滑高階事件,彌補(bǔ)高階模型的數(shù)據(jù)稀疏問題
4、CRF分詞
這是一種由字構(gòu)詞的生成式模型,由CRF提供序列標(biāo)注
相較于HMM,CRF的優(yōu)點(diǎn)是能夠利用更多特征、對OOV分詞效果好,缺點(diǎn)是占內(nèi)存大、解碼慢。