0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

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

科技綠洲 ? 來源:Python實(shí)用寶典 ? 作者:Python實(shí)用寶典 ? 2023-10-30 09:40 ? 次閱讀

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

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

1.準(zhǔn)備

開始之前,你要確保Pythonpip已經(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 = "一個(gè)傻子在北京"
print(fool.cut(text))
# ['一個(gè)', '傻子', '在', '北京']

命令行針對文件進(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é)果中,第一個(gè)維度是對應(yīng)字符串的識別結(jié)果。第二個(gè)維度是分詞后的每個(gè)詞語及對應(yīng)的詞性。

import fool

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

2.4 實(shí)體識別

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

import fool

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

3.定制自己的模型

你可以在 linuxPython3 環(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
  1. 導(dǎo)出模型 。模型導(dǎo)出 predict 同時(shí)指定 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
  1. 預(yù)測 。在 bert_predict.py 中指定下面三個(gè)參數(shù)就能加載訓(xùn)練好的模型完成預(yù)測:
VOCAB_FILE = './pretrainmodel/vocab.txt'
LABEL_FILE = './output/label2id.pkl'
EXPORT_PATH = './export_models/1581318324'
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 數(shù)據(jù)分析
    +關(guān)注

    關(guān)注

    2

    文章

    1449

    瀏覽量

    34060
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4797

    瀏覽量

    84694
  • 工具包
    +關(guān)注

    關(guān)注

    0

    文章

    46

    瀏覽量

    9537
  • nlp
    nlp
    +關(guān)注

    關(guān)注

    1

    文章

    488

    瀏覽量

    22038
收藏 人收藏

    評論

    相關(guān)推薦

    PIC 語言工具包問題

    大家好,PIC 我是新手,有個(gè)簡單的問題請教一下,就是我導(dǎo)入一個(gè)mcp的,mplab會(huì)報(bào)語言工具包不對,這個(gè)要如何處理,因我導(dǎo)的是網(wǎng)上下下來的,所以不知道之前用的是什么語言
    發(fā)表于 04-19 14:00

    Labview 處理圖片的工具包?

    現(xiàn)在需要對圖片進(jìn)行識別和處理,比如將bmp圖像化成二位數(shù)組進(jìn)行處理,用數(shù)組處理起來非常慢,有沒有好用工具包
    發(fā)表于 11-13 11:50

    跪求sound and vibration工具包中文手冊。

    跪求sound and vibration工具包中文手冊。
    發(fā)表于 09-24 10:46

    LabView 2018中文版32位,以及2018工具包大全,DSC2018工具包,VISION2018視覺工具包附下載地址

    ://url.elecfans.com/u/78643b3008LabView 2018中文版32位,以及2018工具包大全,DSC2018工具包,VISION2018視覺工具包。La
    發(fā)表于 05-09 15:19

    并口開發(fā)調(diào)試工具包 (推薦)

    并口開發(fā)調(diào)試工具包 (推薦):
    發(fā)表于 05-27 10:15 ?35次下載
    并口開發(fā)調(diào)試<b class='flag-5'>工具包</b> (推薦)

    固件工具包

    固件工具包 修改工具包 高興向大家公布這個(gè)信息! 首先介紹一下這個(gè)工具地用途: 1、修改固件 - 通過此工具能夠修改固件中絕大多數(shù)地信息及配置。 2、...
    發(fā)表于 03-16 14:49 ?71次下載

    Labview2013各工具包的功能簡介

    Labview2013各工具包的功能簡介Labview2013各工具包的功能簡介
    發(fā)表于 11-20 11:20 ?0次下載

    WEBENCH 設(shè)計(jì)工具包綜合概述

    WEBENCH 設(shè)計(jì)工具包綜合概述
    發(fā)表于 09-15 09:28 ?6次下載
    WEBENCH 設(shè)計(jì)<b class='flag-5'>工具包</b>綜合概述

    Microchip蘋果配件開發(fā)工具包

    這一講是Microchip蘋果配件開發(fā)工具包蘋果配件開發(fā)工具包
    的頭像 發(fā)表于 06-06 13:45 ?2300次閱讀

    數(shù)字電源入門工具包的詳細(xì)中文資料概述

    本用戶指南提供數(shù)字電源入門工具包的概述。 現(xiàn)代電源的發(fā)展趨勢是外形更小巧,效率更高,靈活性更強(qiáng),成本更低。在開關(guān)電源(Switch Mode Power Supply,SMPS)設(shè)計(jì)中采用數(shù)字信號
    發(fā)表于 06-11 11:28 ?34次下載
    數(shù)字電源入門<b class='flag-5'>工具包</b>的詳細(xì)<b class='flag-5'>中文</b>資料概述

    PIC32以太網(wǎng)入門工具包中文介紹和使用的詳細(xì)概述

    本文檔介紹了如何使用PIC32以太網(wǎng)入門工具包II(也稱為“入門工具包”)開發(fā)工具在目標(biāo)板上仿真和調(diào)試固件。 PIC32以太網(wǎng)入門工具包II該開發(fā)板為Microchip 的32位單片
    發(fā)表于 06-07 17:28 ?19次下載

    低成本mTouch評估工具包的詳細(xì)中文資料概述

    本文檔介紹了如何將低成本mTouch評估工具包用作開發(fā)工具來評估m(xù)Touch 1D解決方案,以及如何基于該工具包來開發(fā)電容傳感應(yīng)用。
    發(fā)表于 06-06 10:29 ?9次下載

    造林輔助工具包:更簡單有效的造林

    電子發(fā)燒友網(wǎng)站提供《造林輔助工具包:更簡單有效的造林.zip》資料免費(fèi)下載
    發(fā)表于 11-14 10:17 ?0次下載
    造林輔助<b class='flag-5'>工具包</b>:更<b class='flag-5'>簡單</b>有效的造林

    SM2246XT工具包

    SM2246XT工具包免費(fèi)下載。
    發(fā)表于 04-23 09:35 ?24次下載

    OneInstall工具包

    電子發(fā)燒友網(wǎng)站提供《OneInstall工具包.exe》資料免費(fèi)下載
    發(fā)表于 08-18 14:54 ?0次下載
    OneInstall<b class='flag-5'>工具包</b>