<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      自然語言處理之jieba分詞

      英文分詞可以使用空格,中文就不同了,一些分詞的原理后面再來說,先說下python中常用的jieba這個(gè)工具。

      首先要注意自己在做練習(xí)時(shí)不要使用jieba.Py命名文件,否則會(huì)出現(xiàn)

      jieba has no attribute named cut …等這些,如果刪除了自己創(chuàng)建的jieba.py還有錯(cuò)誤是因?yàn)闆]有刪除jieba.pyc文件。

      (1)基本分詞函數(shù)和用法

        首先介紹下分詞的三種模式:

        精確模式:適合將句子最精確的分開,適合文本分析;

        全模式:把句子中所有可以成詞的詞語都掃描出來,速度快,但是不能解決歧義;

        搜索引擎模式:在精確模式的基礎(chǔ)上,對(duì)長詞再次進(jìn)行切分,提高召回率,適用于搜索引擎分詞;

       jieba.cut 以及 jieba.cut_for_search 返回的結(jié)構(gòu)都是一個(gè)可迭代的 generator,可以使用 for 循環(huán)來獲得分詞后得到的每一個(gè)詞語

        jieba.cut 方法接受三個(gè)輸入?yún)?shù):

      • 需要分詞的字符串
      • cut_all 參數(shù)用來控制是否采用全模式
      • HMM 參數(shù)用來控制是否使用 HMM 模型

        jieba.cut_for_search 方法接受兩個(gè)參數(shù)

      • 需要分詞的字符串
      • 是否使用 HMM 模型。

        

       1 import jieba 
       2 seg_list = jieba.cut("我愛學(xué)習(xí)自然語言處理", cut_all=True)
       3 print("Full Mode: " + "/ ".join(seg_list))  # 全模式
       4 
       5 seg_list = jieba.cut("我愛自然語言處理", cut_all=False)
       6 print("Default Mode: " + "/ ".join(seg_list))  # 精確模式
       7 
       8 seg_list = jieba.cut("他畢業(yè)于上海交通大學(xué),在百度深度學(xué)習(xí)研究院進(jìn)行研究")  # 默認(rèn)是精確模式
       9 print(", ".join(seg_list))
      10 
      11 seg_list = jieba.cut_for_search("小明碩士畢業(yè)于中國科學(xué)院計(jì)算所,后在哈佛大學(xué)深造")  # 搜索引擎模式
      12 print(", ".join(seg_list))
      View Code

       

      jieba.lcut以及jieba.lcut_for_search直接返回 list

      1 import jieba 
      2 result_lcut = jieba.lcut("小明碩士畢業(yè)于中國科學(xué)院計(jì)算所,后在哈佛大學(xué)深造")
      3 result_lcut_for_search = jieba.lcut("小明碩士畢業(yè)于中國科學(xué)院計(jì)算所,后在哈佛大學(xué)深造",cut_all=True)
      4 print ('result_lcut:',result_lcut)
      5 print ('result_lcut_for_search:',result_lcut_for_search)
      6 
      7 print (" ".join(result_lcut))
      8 print (" ".join(result_lcut_for_search))
      View Code

        添加用戶自定義字典:

        很多時(shí)候我們需要針對(duì)自己的場(chǎng)景進(jìn)行分詞,會(huì)有一些領(lǐng)域內(nèi)的專有詞匯。

      • 1.可以用jieba.load_userdict(file_name)加載用戶字典
      • 2.少量的詞匯可以自己用下面方法手動(dòng)添加:
        • 用 add_word(word, freq=None, tag=None) 和 del_word(word) 在程序中動(dòng)態(tài)修改詞典
        • 用 suggest_freq(segment, tune=True) 可調(diào)節(jié)單個(gè)詞語的詞頻,使其能(或不能)被分出來。
      1 import jieba
      2 result_cut=jieba.cut('如果放到舊字典中將出錯(cuò)。', HMM=False)
      3 print('/'.join(result_cut))
      4 jieba.suggest_freq(('', ''), True)
      5 result_cut=jieba.cut('如果放到舊字典中將出錯(cuò)。', HMM=False)
      6 print('/'.join(result_cut))
      View Code

      (2)關(guān)鍵詞提取

      基于TF-IDF的關(guān)鍵詞抽取

      import jieba.analyse

      • jieba.analyse.extract_tags(sentence, topK=20, withWeight=False, allowPOS=())
        • sentence 為待提取的文本
        • topK 為返回幾個(gè) TF/IDF 權(quán)重最大的關(guān)鍵詞,默認(rèn)值為 20
        • withWeight 為是否一并返回關(guān)鍵詞權(quán)重值,默認(rèn)值為 False
        • allowPOS 僅包括指定詞性的詞,默認(rèn)值為空,即不篩選

       

      1 import jieba.analyse as analyse
      2 import codecs
      3 
      4 lines_NBA = codecs.open('NBA.txt',encoding='utf-8').read()
      5 print ("  ".join(analyse.extract_tags(lines_NBA, topK=20, withWeight=False, allowPOS=())))
      View Code

      另:

          關(guān)鍵詞提取所使用逆向文件頻率(IDF)文本語料庫可以切換成自定義語料庫的路徑:jieba.analyse.set_idf_path(file_name) # file_name為自定義語料庫的路徑

          關(guān)鍵詞提取所使用停止詞(Stop Words)文本語料庫可以切換成自定義語料庫的路徑:jieba.analyse.set_stop_words(file_name) # file_name為自定義語料庫的路徑

      基于TextRank的關(guān)鍵詞提取

       

      1 import jieba.analyse as analyse
      2 import codecs
      3 
      4 lines_NBA = codecs.open('NBA.txt',encoding='utf-8').read()
      5 print("  ".join(analyse.textrank(lines_NBA, topK=20, withWeight=False, allowPOS=('ns', 'n', 'vn','v'))))
      View Code

      (3)詞性標(biāo)注

      jieba.posseg.POSTokenizer(tokenizer=None) 新建自定義分詞器,tokenizer 參數(shù)可指定內(nèi)部使用的 jieba.Tokenizer 分詞器。

      jieba.posseg.dt 為默認(rèn)詞性標(biāo)注分詞器。

      1 import jieba.posseg as pseg
      2 words = pseg.cut("我愛自然語言處理")
      3 for word, flag in words:
      4     print('%s %s' % (word, flag))

      (4)并行分詞

      原理:將目標(biāo)文本按行分隔后,把各行文本分配到多個(gè) Python 進(jìn)程并行分詞,然后歸并結(jié)果,從而獲得分詞速度的可觀提升 基于 python 自帶的 multiprocessing 模塊,目前暫不支持 Windows

      用法:

      jieba.enable_parallel(4) # 開啟并行分詞模式,參數(shù)為并行進(jìn)程數(shù)
      jieba.disable_parallel() # 關(guān)閉并行分詞模式

      實(shí)驗(yàn)結(jié)果:在 4 核 3.4GHz Linux 機(jī)器上,對(duì)金庸全集進(jìn)行精確分詞,獲得了 1MB/s 的速度,是單進(jìn)程版的 3.3 倍。

      注意:并行分詞僅支持默認(rèn)分詞器 jieba.dt 和 jieba.posseg.dt。

       

       --------------------------------我是結(jié)束分割線 --------------------------------

       注:本文參考寒小陽自然語言處理

       

      posted @ 2018-02-24 16:47  知其然,知其所以然。  閱讀(6634)  評(píng)論(0)    收藏  舉報(bào)
      主站蜘蛛池模板: 无码午夜福利片| 大屁股肥熟女流白浆| 欧美激情一区二区久久久| japanese无码中文字幕| 国产AV无码专区亚洲AV漫画| 国产成人欧美一区二区三区| 亚洲熟妇无码av另类vr影视| 亚洲精品一二三区在线看| 国产在线精品福利91香蕉| 亚洲熟妇色自偷自拍另类| 日本一区二区三区东京热| 东京热一精品无码av| 白嫩少妇无套内谢视频| 国产午夜福利精品久久不卡| 99RE8这里有精品热视频| 不卡免费一区二区日韩av| 中文字幕国产精品二区| 性欧美三级在线观看| 加勒比中文字幕无码一区| 精品中文字幕人妻一二| 疏勒县| 中文字幕无码成人免费视频| 扒开双腿猛进入喷水高潮叫声| 艳妇臀荡乳欲伦交换在线播放| 精品熟女少妇免费久久| 国产91成人亚洲综合在线| 国产成人精品aa毛片| 亚洲第一无码专区天堂| 日韩一区日韩二区日韩三区| 亚洲 制服 丝袜 无码| 欲色欲色天天天www| 亚洲精品福利一区二区三区蜜桃| 欧美怡春院一区二区三区| 超清无码一区二区三区| 久久久久人妻一区精品| 又黄又刺激又黄又舒服| 国产精品白浆在线观看免费| 麻豆一区二区三区香蕉视频 | 国产精品美女免费无遮挡| 最新亚洲av日韩av二区| 日本少妇被黑人xxxxx|