最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python基礎(chǔ)之停用詞過濾詳解

 更新時間:2021年04月20日 15:55:19   作者:一無所知的程序員  
這篇文章主要介紹了python基礎(chǔ)之停用詞過濾詳解,文中有非常詳細的代碼示例,對正在學習python基礎(chǔ)的小伙伴們有很好地幫助,需要的朋友可以參考下

一、什么是停用詞

在漢語中,有一類沒有多少意義的詞語,比如組詞“的”,連詞“以及”、副詞“甚至”,語氣詞“吧”,被稱為停用詞。一個句子去掉這些停用詞,并不影響理解。所以,進行自然語言處理時,我們一般將停用詞過濾掉。

而HanLP庫提供了一個小巧的停用詞字典,它位于Lib\site-packages\pyhanlp\static\data\dictionary目錄中,名字為:stopwords.txt。該文本收錄了常見的中英文無意義的詞匯,每行一個詞語。示例如下:

示例

我們在進行自然語言處理時,可以用BinTrie、DoubleArrayTrie和AhoCorasickDoubleArrayTrie中的任意一個來存儲詞典??紤]到該詞典中都是短語且比較多,用雙數(shù)組字典樹更劃算,處理時間更快。

二、加載停用詞字典

通過前文的介紹,我們知道了使用雙數(shù)組字典樹加載停用詞字典更劃算。下面,我們來加載其停用詞,并返回鍵值對結(jié)構(gòu)。代碼如下:

def load_dictionary(path):
    map=JClass('java.util.TreeMap')()
    with open(path,encoding='utf-8') as src:
        for word in src:
            word=word.strip()
            map[word]=word
    return JClass('com.hankcs.hanlp.collection.trie.DoubleArrayTrie')(map)

三、刪除停用詞

通過上面的停用詞加載,我們獲取了DoubleArrayTrie樹結(jié)構(gòu)的詞匯。如果要刪除停用詞,可以直接使用分詞后的結(jié)果剔除停用詞即可。剔除的方法如下:

def remove_stopwords(termlist,trie):
    return [term.word for term in termlist if not trie.containsKey(term.word)]

四、分詞以及刪除停用詞

在前面的博文中,我們已經(jīng)學會了如何分詞,現(xiàn)在我們又學會了如何剔除停用詞。這里,我們將兩者結(jié)合起來,實現(xiàn)分詞效果。代碼如下:

if __name__ == "__main__":
    HanLP.Config.ShowTermNature=False
    trie=load_dictionary(HanLP.Config.CoreStopWordDictionaryPath)
    text="今天就這樣吧!明天我們在說可以嗎?"
    segment=DoubleArrayTrieSegment()
    termlist=segment.seg(text)
    print("分詞結(jié)果",termlist)
    print("去掉停用詞",remove_stopwords(termlist,trie))

運行之后,得到如下結(jié)果:

結(jié)果

五、直接刪除停用詞(不分詞)

對應(yīng)上面的結(jié)果,我們先分詞在刪除停用詞。但是,有時候我們也喜歡先刪除停用詞在進行分詞。下面,我們來實現(xiàn)直接刪除停用詞。

代碼如下:

#直接過濾方法
def direct_remove_stopwords(text,replacement,trie):
    JString=JClass('java.lang.String')
    searcher=trie.getLongestSearcher(JString(text),0)
    offset=0
    result=''
    while searcher.next():
        begin=searcher.begin
        end=begin+searcher.length
        if begin>offset:
            result+=text[offset:begin]
            result+=replacement
            offset=end
    if offset<len(text):
        result+=text[offset:]
    return result


if __name__ == "__main__":
    HanLP.Config.ShowTermNature = False
    trie = load_dictionary(HanLP.Config.CoreStopWordDictionaryPath)
    text = "今天就這樣吧!明天我們在說可以嗎?"
    segment = DoubleArrayTrieSegment()
    termlist = segment.seg(text)
    print("分詞結(jié)果", termlist)
    print("去掉停用詞", remove_stopwords(termlist, trie))
    print("不分詞去掉停用詞", direct_remove_stopwords(text, "**", trie))

運行之后,效果如下:

運行結(jié)果

到此這篇關(guān)于python基礎(chǔ)之停用詞過濾詳解的文章就介紹到這了,更多相關(guān)python停用詞過濾內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 淺談Python中函數(shù)的定義及其調(diào)用方法

    淺談Python中函數(shù)的定義及其調(diào)用方法

    今天小編就為大家分享一篇淺談Python中函數(shù)的定義及其調(diào)用方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • 神經(jīng)網(wǎng)絡(luò)訓練采用gpu設(shè)置的方式

    神經(jīng)網(wǎng)絡(luò)訓練采用gpu設(shè)置的方式

    這篇文章主要介紹了神經(jīng)網(wǎng)絡(luò)訓練采用gpu設(shè)置的方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • 使用PyTorch實現(xiàn)手寫數(shù)字識別功能

    使用PyTorch實現(xiàn)手寫數(shù)字識別功能

    在人工智能的世界里,計算機視覺是最具魅力的領(lǐng)域之一,通過PyTorch這一強大的深度學習框架,我們將在經(jīng)典的MNIST數(shù)據(jù)集上,見證一個神經(jīng)網(wǎng)絡(luò)從零開始學會識別數(shù)字的全過程,本文給大家介紹了如何使用PyTorch實現(xiàn)手寫數(shù)字識別,需要的朋友可以參考下
    2025-03-03
  • django中related_name的用法說明

    django中related_name的用法說明

    這篇文章主要介紹了django中related_name的用法說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • Python使用Kubernetes API訪問集群

    Python使用Kubernetes API訪問集群

    本文主要介紹了Python使用Kubernetes API訪問集群,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-05-05
  • Python 3.7新功能之dataclass裝飾器詳解

    Python 3.7新功能之dataclass裝飾器詳解

    這篇文章主要給大家介紹了關(guān)于Python 3.7新功能之dataclass裝飾器的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。
    2018-04-04
  • django中賬號密碼驗證登陸功能的實現(xiàn)方法

    django中賬號密碼驗證登陸功能的實現(xiàn)方法

    這篇文章主要介紹了django中賬號密碼驗證登陸功能的實現(xiàn)方法,本文圖文并茂給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-07-07
  • 解決Jupyter-notebook不彈出默認瀏覽器的問題

    解決Jupyter-notebook不彈出默認瀏覽器的問題

    這篇文章主要介紹了解決Jupyter-notebook不彈出默認瀏覽器的問題,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • Python實現(xiàn)迭代時使用索引的方法示例

    Python實現(xiàn)迭代時使用索引的方法示例

    這篇文章主要介紹了Python實現(xiàn)迭代時使用索引的方法,結(jié)合實例形式較為詳細的分析了Python使用enumerate()函數(shù)以及zip()函數(shù)獲取元素索引的相關(guān)操作技巧,需要的朋友可以參考下
    2018-06-06
  • 一篇文章帶你詳細了解python中一些好用的庫

    一篇文章帶你詳細了解python中一些好用的庫

    這篇文章主要推薦了一些好用的Python庫,都有這不錯的群眾基礎(chǔ),非常好用,也都很實用,推薦給大家,希望能夠給你帶來幫助
    2021-09-09

最新評論

天祝| 乡城县| 南漳县| 南陵县| 孟村| 岫岩| 牟定县| 冀州市| 道真| 全州县| 呈贡县| 治县。| 嘉善县| 海林市| 安塞县| 南部县| 宜兴市| 深水埗区| 开化县| 乌兰县| 凌云县| 庄河市| 洪雅县| 张北县| 原阳县| 澜沧| 莱州市| 武邑县| 昌乐县| 汝城县| 阿合奇县| 上虞市| 长葛市| 扶绥县| 静宁县| 兴城市| 平阴县| 东兰县| 眉山市| 乌兰县| 高雄县|