0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

FoolNLTK:简单好用的中文NLP工具包

科技绿洲 来源:Python实用宝典 作者:Python实用宝典 2023-10-30 09:40 次阅读

FoolNLTK — 作者号称“可能不是最快的开源中文分词,但很可能是最准的开源中文分词”。

这个开源工具包基于BiLSTM模型训练而成,功能包含分词,词性标注,实体识别。并支持用户自定义词典,可训练自己的模型及批量处理文本。

1.准备

开始之前,你要确保Pythonpip已经成功安装在电脑上,如果没有,可以访问这篇文章:超详细Python安装指南 进行安装。

如果你用Python的目的是数据分析,可以直接安装Anaconda:Python数据分析与挖掘好帮手—Anaconda,它内置了Python和pip.

此外,推荐大家用VSCode编辑器,它有许多的优点:Python 编程的最好搭档—VSCode 详细指南

请选择以下任一种方式输入命令安装依赖

  1. Windows 环境 打开 Cmd (开始-运行-CMD)。
  2. MacOS 环境 打开 Terminal (command+空格输入Terminal)。
  3. 如果你用的是 VSCode编辑器 或 Pycharm,可以直接使用界面下方的Terminal.
pip install foolnltk

2.使用说明

2.1 分词功能

通过 fool.cut 函数,能够实现分词功能:

import fool

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

命令行针对文件进行分词操作:

python -m fool [filename]

2.2 用户自定义词典

词典格式格式如下,词的权重越高,词的长度越长就越越可能出现,权重值请大于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 函数,生成的数组结果中,第一个维度是对应字符串的识别结果。第二个维度是分词后的每个词语及对应的词性。

import fool

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

2.4 实体识别

实体识别的结果元素中,第一二个元素是关键词的起始坐标和结束坐标,第三个元素是实体类别,最后一个元素是实体关键词。

import fool

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

3.定制自己的模型

你可以在 linuxPython3 环境定制自己的模型。

git clone https://github.com/rockyzhengwu/FoolNLTK.git
cd FoolNLTK/train
  1. 训练。 模型训练 data_dir 存放训练数据格式如 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
  1. 导出模型 。模型导出 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
  1. 预测 。在 bert_predict.py 中指定下面三个参数就能加载训练好的模型完成预测:
VOCAB_FILE = './pretrainmodel/vocab.txt'
LABEL_FILE = './output/label2id.pkl'
EXPORT_PATH = './export_models/1581318324'
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据分析
    +关注

    关注

    2

    文章

    1449

    浏览量

    34060
  • python
    +关注

    关注

    56

    文章

    4797

    浏览量

    84695
  • 工具包
    +关注

    关注

    0

    文章

    46

    浏览量

    9537
  • nlp
    nlp
    +关注

    关注

    1

    文章

    488

    浏览量

    22038
收藏 人收藏

    评论

    相关推荐

    PIC 语言工具包问题

    大家好,PIC 我是新手,有个简单的问题请教一下,就是我导入一个mcp的,mplab会报语言工具包不对,这个要如何处理,因我导的是网上下下来的,所以不知道之前用的是什么语言
    发表于 04-19 14:00

    Labview 处理图片的工具包

    现在需要对图片进行识别和处理,比如将bmp图像化成二位数组进行处理,用数组处理起来非常慢,有没有好用工具包
    发表于 11-13 11:50

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

    跪求sound and vibration工具包中文手册。
    发表于 09-24 10:46

    LabView 2018中文版32位,以及2018工具包大全,DSC2018工具包,VISION2018视觉工具包附下载地址

    ://url.elecfans.com/u/78643b3008LabView 2018中文版32位,以及2018工具包大全,DSC2018工具包,VISION2018视觉工具包。La
    发表于 05-09 15:19

    并口开发调试工具包 (推荐)

    并口开发调试工具包 (推荐):
    发表于 05-27 10:15 35次下载
    并口开发调试<b class='flag-5'>工具包</b> (推荐)

    固件工具包

    固件工具包 修改工具包 高兴向大家公布这个信息! 首先介绍一下这个工具地用途: 1、修改固件 - 通过此工具能够修改固件中绝大多数地信息及配置。 2、...
    发表于 03-16 14:49 71次下载

    Labview2013各工具包的功能简介

    Labview2013各工具包的功能简介Labview2013各工具包的功能简介
    发表于 11-20 11:20 0次下载

    WEBENCH 设计工具包综合概述

    WEBENCH 设计工具包综合概述
    发表于 09-15 09:28 6次下载
    WEBENCH 设计<b class='flag-5'>工具包</b>综合概述

    Microchip苹果配件开发工具包

    这一讲是Microchip苹果配件开发工具包苹果配件开发工具包
    的头像 发表于 06-06 13:45 2300次阅读

    数字电源入门工具包的详细中文资料概述

    本用户指南提供数字电源入门工具包的概述。 现代电源的发展趋势是外形更小巧,效率更高,灵活性更强,成本更低。在开关电源(Switch Mode Power Supply,SMPS)设计中采用数字信号
    发表于 06-11 11:28 34次下载
    数字电源入门<b class='flag-5'>工具包</b>的详细<b class='flag-5'>中文</b>资料概述

    PIC32以太网入门工具包中文介绍和使用的详细概述

    本文档介绍了如何使用PIC32以太网入门工具包II(也称为“入门工具包”)开发工具在目标板上仿真和调试固件。 PIC32以太网入门工具包II该开发板为Microchip 的32位单片
    发表于 06-07 17:28 19次下载

    低成本mTouch评估工具包的详细中文资料概述

    本文档介绍了如何将低成本mTouch评估工具包用作开发工具来评估mTouch 1D解决方案,以及如何基于该工具包来开发电容传感应用。
    发表于 06-06 10:29 9次下载

    造林辅助工具包:更简单有效的造林

    电子发烧友网站提供《造林辅助工具包:更简单有效的造林.zip》资料免费下载
    发表于 11-14 10:17 0次下载
    造林辅助<b class='flag-5'>工具包</b>:更<b class='flag-5'>简单</b>有效的造林

    SM2246XT工具包

    SM2246XT工具包免费下载。
    发表于 04-23 09:35 24次下载

    OneInstall工具包

    电子发烧友网站提供《OneInstall工具包.exe》资料免费下载
    发表于 08-18 14:54 0次下载
    OneInstall<b class='flag-5'>工具包</b>