<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

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

          共 3681字,需瀏覽 8分鐘

           ·

          2021-03-31 20:36

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

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

          1.準備



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

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

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

          請選擇以下任一種方式輸入命令安裝依賴
          1. Windows 環(huán)境 打開 Cmd (開始-運行-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))
          # ['一個', '傻子', '在', '北京']


          命令行針對文件進行分詞操作:

          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 詞性標注

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

          import fool

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

          2.4 實體識別

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

          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.訓練。模型訓練 data_dir 存放訓練數(shù)據(jù)格式如 datasets/demo 下。下載與訓練的模型,我這里是將下載的模型軟鏈接到 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.導出模型。模型導出 predict 同時指定 do_export 就能導出 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.預測。在 bert_predict.py 中指定下面三個參數(shù)就能加載訓練好的模型完成預測:

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


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


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

          有任何問題,可以在公眾號后臺回復:加群,回答相應紅字驗證信息,進入互助群詢問。

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

          點擊下方閱讀原文可獲得更好的閱讀體驗

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

          瀏覽 60
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  91丨国产丨白浆秘 在线 | 大香蕉伊人免费看 | 无码在线免费一区 | 青青草视频成人动漫视频 | 免费黄色视频。 |