婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > python自然語言處理之字典樹知識總結

python自然語言處理之字典樹知識總結

熱門標簽:上海機器人外呼系統哪家好 蓋州市地圖標注 浙江電銷卡外呼系統好用嗎 315電話機器人廣告 地圖制圖標注位置改變是移位嗎 地圖標注微信發送位置不顯示 地圖標注的意義點 房產電銷外呼系統 南京銷售外呼系統軟件

一、什么是字典樹

在自然語言處理中,字符串集合常用字典樹存儲,這是一種字符串上的樹形數據結構。字典樹中每條邊都對應一個字,從根節點往下的路徑構成一個個字符串。

字典樹并不直接在節點上存儲字符串,而是將詞語視作根節點到某節點之間的一條路徑,并在終點節點上做個標記(表明到該節點就結束了)。

要查詢一個單詞,指需要順著這條路徑從根節點往下走。如果能走到標記的節點,則說明該字符串在集合中,否則說明不在。下圖為字典樹結構示例:

如上圖所示,每條路徑都是一個詞匯,且沒有子節點就可以判定該條路徑結尾了。具體可以映射為下標所示:

詞語 路徑
歡迎 0-1-2
北大 0-3-8
北京城 0-3-4-5
北京大學 0-3-4-6-7

至于字典樹的實現,相信只要認真學過數據結構的讀者,都能手到擒來,這里不在贅述。因為HanLP庫已經提供了多種字典樹。

二、DoubleArrayTrieSegment

認識DoubleArrayTrieSegment類之前,我們需要了解雙數組字典書的概念。

我們都知道,在樹中遍歷查找之時,我們一般用二分查找,假如某一個樹的節點有N個節點,那么其復雜度就為O(logN),這樣查找起來一條一條樹的遍歷會非常的慢,所以就誕生了雙數組字典樹的概念。

雙數組字典樹(DAT)是一種狀態轉移復雜度為常數的數據結構。那么什么是狀態呢?從確定有限狀態自動機(DFA)的角度來講,每個節點都是一個狀態,狀態表示當前已查詢到的前綴。

從父節點到子節點的移動過程可以看作一次狀態轉移。在按照某個字符進行狀態轉移前,我們會向父節點詢問該字符與子節點的映射關系(也就是一條路徑一條邊)。如果父節點有滿足條件的邊,則狀態轉移到子節點;否則立即失敗,查詢不到。當成功完成了全部轉移時,我們就拿到了最后一個狀態,詢問該狀態是否時最終狀態。如果是,就查詢到該詞匯,否則該單詞不存在于字典中。

比如我們查詢首圖的“北京大學”,狀態開始為0,查詢到北時狀態為3,查詢到京時狀態為4,查詢到大時狀態為6,查詢到學時狀態為7,最后判斷7是否還有子節點,如果沒有匹配該詞匯,如果有該詞匯不在字典中。比如查詢“北京大”就不在詞匯中。

而雙數組字典由base與check兩個數組組成,其中base數組即節點,也是狀態,分為空閑狀態與占用狀態,check數組為每個元素表示某個狀態的前驅狀態。具體公式如下:

base[s] + c = t
check[t] =  s

base樹組中的s代表當前狀態的下標,t代表轉移狀態的下標,c代表輸入字符的數值

base[s] + c = t //表示一次狀態轉移

由于轉移后狀態下標為t,且父子關系是唯一的,所以可通過檢驗當前元素的前驅狀態確定轉移是否成功

check[t] = s //檢驗狀態轉移是否成功

這種算法相對于傳統的Trie樹二分查找的優點是,只需要一個加法一次比較即可完成一次狀態轉移,只花費了常數時間,下面給出了雙數組Tree樹的原理圖(注意觀察狀態轉移的過程)

了解了雙數組字典樹的原理,我們就可以來學習DoubleArrayTrieSegment,DoubleArrayTrieSegment分詞器是對DAT(雙數組字典樹)最長匹配的封裝,默認加載hanlp.properites中CoreDictionaryPath指定的詞典。

對應的python代碼如下:

if __name__ == "__main__":
    HanLP.Config.ShowTermNature=False#分詞結果不顯示詞性
    segment=DoubleArrayTrieSegment()
    print(segment.seg("在來到這個世界之前,一起都很Happy"))

運行之后,得到如下圖所示的結果:

當然,這是HanLP提供給我們的默認詞典,如果想加載自己的詞典,或者前文提到的其他開源的詞典庫,可以替換代碼如下所示:

DoubleArrayTrieSegment(["詞典1","詞典2"])

但是不知道讀者注意到了沒有,上面的英文happy,它給我們拆成了單個的字母,但其實這是一個整體,如果這里替換成數字,也是一個一個數字,那么如何不讓其拆開呢?

我們來看一段代碼:

if __name__ == "__main__":
    HanLP.Config.ShowTermNature=True
    segment=DoubleArrayTrieSegment()
    segment.enablePartOfSpeechTagging(True)
    print(segment.seg("在來到這個世界之前,一起都很Happy"))

enablePartOfSpeechTagging函數的意思是激活數字與英文識別,同時我們把ShowTermNature改為True,觀察其輸出的結果:

這里與我們前面自己寫的算法輸出一模一樣,有分開的詞匯以及詞匯的標記屬性。

三、AhoCorasickDoubleArrayTrieSegment

雖然雙數組字典樹能遍歷大量的數據,但是如果數據比較長的,這些長的詞匯又比較多的話,比如“受命于天,既壽永昌”算一個詞匯,那么其處理起來時間復雜度依舊非常耗時。所以,我們就需要使用ACDAT進行遍歷。

這里博主不講解其原理,因為太長篇幅有限,感興趣的可以專門學習樹結構的處理。讀者只需要知道其原理,什么時候用雙數組遍歷,什么時候用ACDAT遍歷就行。而HanLP封裝的ACDAT的實現類是AhoCorasickDoubleArrayTrieSegment。

下面,我們來實現AhoCorasickDoubleArrayTrieSegment,代碼如下:

if __name__ == "__main__":
    HanLP.Config.ShowTermNature = False
    segment = JClass("com.hankcs.hanlp.seg.Other.AhoCorasickDoubleArrayTrieSegment")()
    print(segment.seg("在來到這個世界之前,一起都很井然有序"))

運行之后,效果如下:

需要注意的是,python的HanLP雖然提供了AhoCorasickDoubleArrayTrieSegment類,但是讀者可以試試,替換后運行會報錯,控制臺會提示該類沒有seg函數。而HanLP庫又是基于Java開發的,所以在實際的項目中,盡量使用JClass加載Java類進行實戰,因為python的HanLP庫運行速度比Java慢一倍,但python的好處是相對簡單,可以調用其他程序的類,所以速度這方面只要python引用Java類進行調用,其實速度一樣。

到此這篇關于python自然語言處理之字典樹知識總結的文章就介紹到這了,更多相關python字典樹內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Python自然語言處理之切分算法詳解
  • Python自然語言處理 NLTK 庫用法入門教程【經典】
  • Python自然語言處理之詞干,詞形與最大匹配算法代碼詳解
  • Python編程使用NLTK進行自然語言處理詳解
  • 用Python進行一些簡單的自然語言處理的教程
  • python第三方庫visdom的使用入門教程
  • Python自動安裝第三方庫的小技巧(pip使用詳解)
  • Python文件名的匹配之clob庫
  • Python的文本常量與字符串模板之string庫
  • python爬蟲請求庫httpx和parsel解析庫的使用測評
  • 能讓你輕松的實現自然語言處理的5個Python庫

標簽:臨汾 金華 日照 陽泉 赤峰 貴州 雙鴨山 克拉瑪依

巨人網絡通訊聲明:本文標題《python自然語言處理之字典樹知識總結》,本文關鍵詞  python,自然語言,處理,之,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《python自然語言處理之字典樹知識總結》相關的同類信息!
  • 本頁收集關于python自然語言處理之字典樹知識總結的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    成人aaaa免费全部观看| 7777精品伊人久久久大香线蕉超级流畅| jlzzjlzz亚洲日本少妇| 99精品热视频| 精品国产乱码久久久久久久| 亚洲图片激情小说| 日韩电影在线一区二区| 欧美精品自拍偷拍| 国产精品自产自拍| 亚洲综合一二三区| 欧洲一区二区三区免费视频| 综合久久给合久久狠狠狠97色 | 欧美xxxxxxxx| 国产酒店精品激情| 国产精品免费免费| 精品国产乱码久久久久久影片| 中文字幕第一区第二区| 一二三区精品福利视频| 激情综合亚洲精品| 欧美bbbbb| 精品一二线国产| 久久aⅴ国产欧美74aaa| 欧美乱妇20p| 国产精品乱码人人做人人爱| 懂色av噜噜一区二区三区av| 国产日韩欧美电影| 亚洲精品福利视频网站| 色综合欧美在线| 一区二区三区毛片| 6080国产精品一区二区| 丝袜美腿亚洲一区二区图片| 欧美性xxxxxx少妇| 国产综合久久久久久鬼色| 18欧美乱大交hd1984| 7777女厕盗摄久久久| 日韩一区精品视频| 亚洲综合免费观看高清完整版 | 精品免费国产一区二区三区四区| 日本视频免费一区| 99精品偷自拍| 日韩和欧美一区二区三区| 国产精品久久久久久久久快鸭| 国产91富婆露脸刺激对白| 天堂一区二区在线| 亚洲精品国产精品乱码不99| 国产精品全国免费观看高清| 欧美成人高清电影在线| 日韩美女一区二区三区| 亚洲国产精品久久艾草纯爱| 日韩电影一区二区三区四区| 国产精品久久三| 国产在线精品免费| 日本欧美一区二区三区乱码| 国产精品少妇自拍| 麻豆精品视频在线观看免费| 色综合久久六月婷婷中文字幕| 欧美人妖巨大在线| 夜夜爽夜夜爽精品视频| 色综合婷婷久久| 尤物视频一区二区| 欧美日韩午夜精品| 亚洲手机成人高清视频| 91美女在线看| 午夜伦欧美伦电影理论片| 欧美精品123区| 久久er精品视频| 国产精品毛片久久久久久久| av不卡一区二区三区| 亚洲电影一级黄| 久久久国产午夜精品| 成人一道本在线| 亚洲一二三级电影| 国产调教视频一区| 在线亚洲人成电影网站色www| 国产欧美一区二区精品婷婷| 91在线视频免费观看| 日韩二区在线观看| 中文一区二区在线观看| 91麻豆国产福利在线观看| 亚洲精选一二三| 久久久蜜桃精品| 在线亚洲人成电影网站色www| 午夜视频一区二区三区| 欧美精品一区二区三区蜜桃| 99re在线精品| 国产一区二区在线观看免费| 亚洲男人的天堂网| 日韩一级成人av| 91亚洲精品一区二区乱码| 亚洲自拍偷拍网站| 久久久久高清精品| 欧美日韩一区不卡| 高清在线不卡av| 日一区二区三区| 亚洲欧美日韩国产综合在线| 亚洲精品一线二线三线无人区| 国产在线不卡一卡二卡三卡四卡| 国产色综合久久| 欧美精品一区二区三区四区| 91激情在线视频| 国内精品久久久久影院一蜜桃| 欧美一级高清片在线观看| 国产一区亚洲一区| 久久av中文字幕片| 国内精品伊人久久久久影院对白| 蜜臀av性久久久久蜜臀av麻豆| 一区二区三区免费在线观看| 久久视频一区二区| 久久久www成人免费无遮挡大片| 色天使色偷偷av一区二区| 丁香啪啪综合成人亚洲小说| 国产一区欧美二区| 韩国精品久久久| 不卡的av电影在线观看| 91久久一区二区| 欧美日韩免费电影| 在线综合亚洲欧美在线视频| 在线一区二区视频| 欧美一区二区视频观看视频| 67194成人在线观看| 欧美伊人久久大香线蕉综合69| gogo大胆日本视频一区| 不卡的av电影| 91精品一区二区三区在线观看| 不卡av在线免费观看| 在线一区二区三区四区| 717成人午夜免费福利电影| 日韩一区二区三区高清免费看看| 久久se精品一区二区| 成人激情开心网| 国产成人三级在线观看| 欧美日本一区二区在线观看| 亚洲免费视频成人| 91国偷自产一区二区开放时间| 国产精品久久久久久福利一牛影视 | 免费观看30秒视频久久| 日韩一区二区中文字幕| 国产精品久久久久久久久免费丝袜| 亚洲免费av在线| 色婷婷综合久久久久中文一区二区| 91精品国产综合久久久久久漫画| 久久久久国产成人精品亚洲午夜| 亚洲特黄一级片| 国产.欧美.日韩| 久久精品视频在线免费观看 | 日韩精品午夜视频| 欧美一卡二卡在线观看| 久久综合九色综合欧美就去吻| 国产精品九色蝌蚪自拍| 日本乱人伦aⅴ精品| 五月天一区二区三区| 欧美一级电影网站| 波多野结衣中文一区| 日韩电影在线观看电影| 亚洲私人影院在线观看| 一本久道久久综合中文字幕| 美美哒免费高清在线观看视频一区二区| 日韩国产一二三区| 亚洲精品老司机| 亚洲精品成人天堂一二三| av日韩在线网站| 精品中文字幕一区二区| 久久丁香综合五月国产三级网站| 樱花草国产18久久久久| 亚洲精品国产高清久久伦理二区| 亚洲综合男人的天堂| 91年精品国产| 欧美色综合影院| 国产三区在线成人av| 日本午夜精品视频在线观看 | 成人激情免费电影网址| 亚洲色图.com| 91精品国产色综合久久不卡蜜臀| 国产精品羞羞答答xxdd| 亚洲精品视频在线观看免费| 91精品久久久久久久久99蜜臂| 国产成人亚洲精品青草天美| 亚洲欧洲美洲综合色网| 欧美一级在线观看| 日av在线不卡| 精品乱人伦小说| www.性欧美| 免费成人你懂的| 国产精品久久久久毛片软件| 欧美在线综合视频| 国产精品一二三四| 婷婷成人激情在线网| 国产精品久久一卡二卡| 日韩欧美aaaaaa| 欧美日韩一区二区三区不卡| 国产另类ts人妖一区二区| 午夜一区二区三区视频| 亚洲天堂免费看| 国产欧美一区二区精品性色| 日韩一本二本av| 91麻豆精品国产91久久久使用方法 | 欧美美女一区二区| 成人aaaa免费全部观看| 国产精品一区在线| 蜜臀久久99精品久久久久宅男|