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开发者提供了实用的预处理解析工具,有效减轻了开发负担,值得去了解和使用。

相关推荐
卧式纯绿9 分钟前
每日文献(八)——Part one
人工智能·yolo·目标检测·计算机视觉·目标跟踪·cnn
巷95515 分钟前
OpenCV图像形态学:原理、操作与应用详解
人工智能·opencv·计算机视觉
深蓝易网44 分钟前
为什么制造企业需要用MES管理系统升级改造车间
大数据·运维·人工智能·制造·devops
xiangzhihong81 小时前
Amodal3R ,南洋理工推出的 3D 生成模型
人工智能·深度学习·计算机视觉
狂奔solar1 小时前
diffusion-vas 提升遮挡区域的分割精度
人工智能·深度学习
资源大全免费分享1 小时前
MacOS 的 AI Agent 新星,本地沙盒驱动,解锁 macOS 操作新体验!
人工智能·macos·策略模式
跳跳糖炒酸奶2 小时前
第四章、Isaacsim在GUI中构建机器人(2):组装一个简单的机器人
人工智能·python·算法·ubuntu·机器人
AI.NET 极客圈2 小时前
AI与.NET技术实操系列(四):使用 Semantic Kernel 和 DeepSeek 构建AI应用
人工智能·.net
Debroon2 小时前
应华为 AI 医疗军团之战,各方动态和反应
人工智能·华为
俊哥V2 小时前
阿里通义千问发布全模态开源大模型Qwen2.5-Omni-7B
人工智能·ai