JioNLP:一款实用的中文NLP预处理工具包

一、什么是 JioNLP?

JioNLP是一个面向NLP开发者的工具包,提供了常见的中文文本预处理、解析等功能,使用简单、高效准确、无需配置,可极大加快NLP项目的开发进度。

主要特点包括:

  • 代码开源,使用MIT协议
  • 功能丰富,涵盖多个NLP预处理需求
  • 使用简单,无需复杂配置即可调用
  • 准确高效,算法经过精心设计和性能优化
  • 文档完善,提供详细使用说明

二、JioNLP功能

文本预处理

  • 关键短语抽取
  • 文本摘要
  • 停用词过滤
  • 分句
  • 文本清洗(去除异常字符、HTML标签等)

命名实体识别

  • 地址解析(省市县区乡村)
  • 新闻地名识别
  • 手机号/座机号归属地查询
  • 车牌号解析
  • 身份证号解析
  • 时间语义解析

正则抽取和替换

  • 抽取Email/URL/电话号码/IP等
  • 替换/删除上述实体字符串
  • 抽取括号/金额/QQ等信息

词典加载

  • 中国省市县地名词典
  • 世界国家城市词典
  • 成语/歇后语词典
  • 新华字/词典

语料处理

  • 按行读写文件
  • 分词/命名实体语料处理辅助
  • 情感分析词典

数据增强

  • 同音字替换
  • 实体替换
  • 邻近字符换位
  • 回译

可见,JioNLP囊括了NLP预处理中常见的需求,且还在不断完善和扩充功能中。

三、使用示例

Python安装

pip install jionlp

地址解析

import jionlp as jio

text = "我现在的位置是四川省成都市武侯区红牌楼街19号"
res = jio.parse_location(text, town_village=True)
print(res)

输出:

{'province': '四川省', 'city': '成都市', 'county': '武侯区', 'town': '红牌楼街道','village': None, 'detail': '红牌楼街道19号','full_location': '四川省成都市武侯区红牌楼街道19号','orig_location': '武侯区红牌楼街19号'}

可以看到,JioNLP准确解析出了文本中的省市区县街道等地址信息,并以字典形式返回,非常方便。

货币金额抽取

import json
import jionlp as jio
text = '张三赔偿李大花人民币车费601,293.11元,工厂费大约一万二千三百四十五元,利息9佰日元,打印费十块钱。'
res = jio.ner.extract_money(text, with_parsing=False)
print(json.dumps(res, ensure_ascii=False, indent=4, separators=(',', ':')))

输出:

[{'text': '601,293.11元', 'offset': [12, 23], 'type': 'money'},
 {'text': '大约一万二千三百四十五元', 'offset': [27, 39], 'type': 'money'},
{'text': '9佰日元', 'offset': [42, 46], 'type': 'money'},
{'text': '人民币十块钱', 'offset': [50, 56], 'type': 'money'}]

四、总结

JioNLP为NLP开发者提供了实用的预处理解析工具,有效减轻了开发负担,值得去了解和使用。

相关推荐
i查拉图斯特拉如是40 分钟前
基于MindSpore NLP的PEFT微调
人工智能·自然语言处理
mahuifa1 小时前
QtCreator配置github copilot实现AI辅助编程
人工智能·ai编程·github copilot·qtcreator
千穹凌帝1 小时前
基于深度学习多图像融合的屏幕缺陷检测方案
人工智能·深度学习·数码相机
张叔zhangshu3 小时前
TensorFlow 的基本概念和使用场景
人工智能·python·tensorflow
云起无垠7 小时前
【论文速读】| FirmRCA:面向 ARM 嵌入式固件的后模糊测试分析,并实现高效的基于事件的故障定位
人工智能·自动化
Leweslyh9 小时前
物理信息神经网络(PINN)八课时教案
人工智能·深度学习·神经网络·物理信息神经网络
love you joyfully9 小时前
目标检测与R-CNN——pytorch与paddle实现目标检测与R-CNN
人工智能·pytorch·目标检测·cnn·paddle
该醒醒了~9 小时前
PaddlePaddle推理模型利用Paddle2ONNX转换成onnx模型
人工智能·paddlepaddle
小树苗1939 小时前
DePIN潜力项目Spheron解读:激活闲置硬件,赋能Web3与AI
人工智能·web3
凡人的AI工具箱10 小时前
每天40分玩转Django:Django测试
数据库·人工智能·后端·python·django·sqlite