1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        FoolNLTK — 簡單好用的中文NLP工具包

        共 3681字,需瀏覽 8分鐘

         ·

        2021-03-31 20:36

        FoolNLTK — 作者號稱“可能不是最快的開源中文分詞,但很可能是最準(zhǔn)的開源中文分詞”。

        這個開源工具包基于BiLSTM模型訓(xùn)練而成,功能包含分詞,詞性標(biāo)注,實(shí)體識別。并支持用戶自定義詞典,可訓(xùn)練自己的模型及批量處理文本。

        1.準(zhǔn)備



        開始之前,你要確保Python和pip已經(jīng)成功安裝在電腦上,如果沒有,可以訪問這篇文章:超詳細(xì)Python安裝指南 進(jìn)行安裝。

        如果你用Python的目的是數(shù)據(jù)分析,可以直接安裝Anaconda:Python數(shù)據(jù)分析與挖掘好幫手—Anaconda,它內(nèi)置了Python和pip.

        此外,推薦大家用VSCode編輯器,它有許多的優(yōu)點(diǎn):Python 編程的最好搭檔—VSCode 詳細(xì)指南

        請選擇以下任一種方式輸入命令安裝依賴
        1. Windows 環(huán)境 打開 Cmd (開始-運(yùn)行-CMD)。
        2. MacOS 環(huán)境 打開 Terminal (command+空格輸入Terminal)。
        3. 如果你用的是 VSCode編輯器 或 Pycharm,可以直接使用界面下方的Terminal.

        pip install foolnltk

        2.使用說明



        2.1 分詞功能


        通過 fool.cut 函數(shù),能夠?qū)崿F(xiàn)分詞功能:

        import fool

        text = "一個傻子在北京"
        print(fool.cut(text))
        # ['一個', '傻子', '在', '北京']


        命令行針對文件進(jìn)行分詞操作:

        python -m fool [filename]

        2.2 用戶自定義詞典

        詞典格式格式如下,詞的權(quán)重越高,詞的長度越長就越越可能出現(xiàn),權(quán)重值請大于1:

        難受香菇 10
        什么鬼 10
        分詞工具 10
        北京 10
        北京天安門 10


        加載詞典:


        import fool
        fool.load_userdict(path) # path 為詞典路徑
        text = ["我在北京天安門看你難受香菇", "我在北京曬太陽你在非洲看雪"]
        print(fool.cut(text))
        #[['我', '在', '北京', '天安門', '看', '你', '難受', '香菇'],
        # ['我', '在', '北京', '曬太陽', '你', '在', '非洲', '看', '雪']]


        刪除詞典:


        fool.delete_userdict()

        2.3 詞性標(biāo)注

        詞性標(biāo)注只需要使用 pos_cut 函數(shù),生成的數(shù)組結(jié)果中,第一個維度是對應(yīng)字符串的識別結(jié)果。第二個維度是分詞后的每個詞語及對應(yīng)的詞性。

        import fool

        text = ["一個傻子在北京"]
        print(fool.pos_cut(text))
        #[[('一個', 'm'), ('傻子', 'n'), ('在', 'p'), ('北京', 'ns')]]

        2.4 實(shí)體識別

        實(shí)體識別的結(jié)果元素中,第一二個元素是關(guān)鍵詞的起始坐標(biāo)和結(jié)束坐標(biāo),第三個元素是實(shí)體類別,最后一個元素是實(shí)體關(guān)鍵詞。

        import fool 

        text = ["一個傻子在北京","你好啊"]
        words, ners = fool.analysis(text)
        print(ners)
        #[[(5, 8, 'location', '北京')]]

        3.定制自己的模型



        你可以在 linux 的 Python3 環(huán)境定制自己的模型。

        git clone https://github.com/rockyzhengwu/FoolNLTK.git
        cd FoolNLTK/train


        1.訓(xùn)練。模型訓(xùn)練 data_dir 存放訓(xùn)練數(shù)據(jù)格式如 datasets/demo 下。下載與訓(xùn)練的模型,我這里是將下載的模型軟鏈接到 pretrainmodel 下


        python ./train_bert_ner.py --data_dir=data/bid_train_data \
          --bert_config_file=./pretrainmodel/bert_config.json \
          --init_checkpoint=./pretrainmodel/bert_model.ckpt \
          --vocab_file=./pretrainmodel/vocab.txt \
          --output_dir=./output/all_bid_result_dir/ --do_train


        2.導(dǎo)出模型。模型導(dǎo)出 predict 同時指定 do_export 就能導(dǎo)出 pb 格式的模型,用于部署:

        python ./train_bert_ner.py --data_dir=data/bid_train_data \
          --bert_config_file=./pretrainmodel/bert_config.json \
          --init_checkpoint=./pretrainmodel/bert_model.ckpt \
          --vocab_file=vocab.txt \
          --output_dir=./output/all_bid_result_dir/ --do_predict --do_export


        3.預(yù)測。在 bert_predict.py 中指定下面三個參數(shù)就能加載訓(xùn)練好的模型完成預(yù)測:

        VOCAB_FILE = './pretrainmodel/vocab.txt'
        LABEL_FILE = './output/label2id.pkl'
        EXPORT_PATH = './export_models/1581318324'


        如果你有興趣構(gòu)建自己的模型,并且還有一些構(gòu)建的疑惑,你可以在這里看到詳細(xì)的說明文檔:
        https://github.com/rockyzhengwu/FoolNLTK/blob/master/train/README.md


        我們的文章到此就結(jié)束啦,如果你喜歡今天的Python 實(shí)戰(zhàn)教程,請持續(xù)關(guān)注Python實(shí)用寶典。

        有任何問題,可以在公眾號后臺回復(fù):加群,回答相應(yīng)紅字驗(yàn)證信息,進(jìn)入互助群詢問。

        原創(chuàng)不易,希望你能在下面點(diǎn)個贊和在看支持我繼續(xù)創(chuàng)作,謝謝!

        點(diǎn)擊下方閱讀原文可獲得更好的閱讀體驗(yàn)

        Python實(shí)用寶典 (pythondict.com)
        不只是一個寶典
        歡迎關(guān)注公眾號:Python實(shí)用寶典

        瀏覽 60
        點(diǎn)贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點(diǎn)贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            性交123网站 | 日本19禁综艺直接啪啪 | 日韩少妇激情 | 绿帽娇妻3p粗大单男在线视频 | 嗯~啊~被强h男室友 | 俺去俺来也在线WWW色官方 | 满嘴含精大口吞精在线视频 | 亚洲精品午夜精品 | 在线观看成人无码片 | 免费国产羞羞网站视频 |