⭐戳这里 -> JioNLP
⭐戳这里 => 在线直接使用版 -> JioNLP
pip install jionlp
来看看 JioNLP 能干什么?Ctrl+F 搜索一下
功能主要包括:文本清洗,去除HTML标签、异常字符、冗余字符,转换全角字母、数字、空格为半角,抽取及删除E-mail及域名、电话号码、QQ号、括号内容、身份证号、IP地址、URL超链接、货币金额与单位,解析身份证号信息、手机号码归属地、座机区号归属地,按行快速读写文件,(多功能)停用词过滤,(优化的)分句,地址解析,新闻地域识别,繁简体转换,汉字转拼音,汉字偏旁、字形、四角编码拆解,基于词典的情感分析,色情数据过滤,反动数据过滤,关键短语抽取,成语词典、歇后语词典、新华字典、新华词典、停用词典、中国地名词典、世界地名词典,基于词典的NER,NER的字、词级别转换,NER的entity和tag格式转换,NER模型的预测阶段加速并行工具集,NER标注和模型预测的结果差异对比,NER标注数据集分割与统计,文本分类标注数据集的分割与统计,回译数据增强。
Update 2020-10-16
新增更新 地址解析
parse_location
给定一个(地址)字符串,识别其中的省、市、县三级地名,指定参数town_village(bool)
,可获取乡镇、村、社区两级详细地名。
使用了一份最新的2019年末国家统计局整理的全国行政区划中国地名词典,词典位置:jionlp/dictionary/china_location.txt
。
地址解析在线版
# 例 1
>>> import jionlp as jio
>>> text = '武侯区红牌楼街道19号红星大厦9楼2号'
>>> res = jio.parse_location(text, town_village=True)
>>> print(res)
# {'province': '四川省',
# 'city': '成都市',
# 'county': '武侯区',
# 'town': '红牌楼街道',
# 'village': None,
# 'detail': '红牌楼街道19号红星大厦9楼2号',
# 'full_location': '四川省成都市武侯区红牌楼街19号红星大厦9楼2号',
# 'orig_location': '武侯区红牌楼街19号红星大厦9楼2号'}
Update 2020-09-14
新增 回译数据增强:采用各大厂的机器翻译 API,实现文本数据增强
# ! 需要自己去各厂的平台申请 api和密钥。否则如下的若干 api 和密钥不可用。
>>> print(jio.TencentApi.__doc__) # 查看腾讯api的接口使用说明与注册说明。其它厂的接口同理
>>> import jionlp as jio
>>> xunfei_api = jio.XunfeiApi(
[{"appid": "5f5846b1",
"api_key": "258379e6909c4b1f2b4b",
"secret": "b2e287f31cdc4bf4ab9a3"}])
>>> google_api = jio.GoogleApi()
>>> baidu_api = jio.BaiduApi(
[{'appid': '20200618000498778',
'secretKey': 'raHalLakgYitNuzGOoB2'}, # 错误的密钥
{'appid': '20200618000498778',
'secretKey': 'raHalLakgYitNuzGOoBZ'}], gap_time=0.5)
>>> apis = [baidu_api, google_api, xunfei_api]
>>> back_trans = jio.BackTranslation(mt_apis=apis)
>>> text = '饿了么凌晨发文将推出新功能,用户可选择是否愿意多等外卖员 5 分钟,你愿意多等这 5 分钟吗?'
>>> result = back_trans(text)
>>> print(result)
# ['饿了么将在凌晨推出一项新功能。用户可以选择是否愿意额外等待外卖人员5分钟。您想多等5分钟吗?',
# '《饿了么》将在凌晨推出一档新节目。用户可以选择是否愿意等待餐饮人员多花5分钟。您愿意再等五分钟吗?',
# 'Ele.me将在早晨的最初几个小时启动一个新的功能。用户可以选择是否准备好再等5分钟。你不想再等五分钟吗?',
# 'Eleme将在清晨推出新的功能。用户可以选择是否愿意再等5分钟工作人员。你想再等五分钟吗?']