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

相关推荐
之歆1 天前
Spring AI入门到实战到原理源码-MCP
java·人工智能·spring
知乎的哥廷根数学学派1 天前
面向可信机械故障诊断的自适应置信度惩罚深度校准算法(Pytorch)
人工智能·pytorch·python·深度学习·算法·机器学习·矩阵
且去填词1 天前
DeepSeek :基于 Schema 推理与自愈机制的智能 ETL
数据仓库·人工智能·python·语言模型·etl·schema·deepseek
待续3011 天前
订阅了 Qoder 之后,我想通过这篇文章分享一些个人使用心得和感受。
人工智能
weixin_397578021 天前
人工智能发展历史
人工智能
强盛小灵通专卖员1 天前
基于深度学习的山体滑坡检测科研辅导:从论文实验到系统落地的完整思路
人工智能·深度学习·sci·小论文·山体滑坡
OidEncoder1 天前
从 “粗放清扫” 到 “毫米级作业”,编码器重塑环卫机器人新能力
人工智能·自动化·智慧城市
Hcoco_me1 天前
大模型面试题61:Flash Attention中online softmax(在线softmax)的实现方式
人工智能·深度学习·自然语言处理·transformer·vllm
阿部多瑞 ABU1 天前
`chenmo` —— 可编程元叙事引擎 V2.3+
linux·人工智能·python·ai写作
极海拾贝1 天前
GeoScene解决方案中心正式上线!
大数据·人工智能·深度学习·arcgis·信息可视化·语言模型·解决方案