赞
踩
pip install jionlp
给定一个(地址)字符串,识别其中的省、市、县三级地名,指定参数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号'}
# ! 需要自己去各厂的平台申请 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分钟工作人员。你想再等五分钟吗?']
$ git clone https://github.com/dongrixinyu/JioNLP
$ cd ./JioNLP
$ pip install .
$ pip install -i https://test.pypi.org/simple/ jionlp
>>> import jionlp as jio
>>> dir(jio)
>>> dir(jio.ner)
功能 | 函数 | 描述 |
---|---|---|
抽取 E-mail | extract_email | 抽取文本中的 E-mail,返回位置与域名 |
抽取 金额 | extract_money | 抽取文本中的金额,并将其以数字 + 单位标准形式输出 |
抽取电话号码 | extract_phone_number | 抽取电话号码(含手机、座机),返回域名、类型与位置 |
抽取中国身份证 ID | extract_id_card | 抽取身份证 ID,配合 jio.parse_id_card 返回身份证的 详细信息(省市县、出生日期、性别、校验码) |
抽取 QQ 号 | extract_qq | 抽取 QQ 号,分为严格规则和宽松规则 |
抽取 URL | extract_url | 抽取 URL 超链接 |
抽取 IP地址 | extract_ip_address | 抽取 IP 地址 |
抽取括号中的内容 | extract_parentheses | 抽取括号内容,包括 {}「」[]【】()()<>《》 |
清洗文本 | clean_text | 去除文本中的异常字符、冗余字符、HTML标签、括号信息、 URL、E-mail、电话号码,全角字母数字转换为半角 |
删除 E-mail | remove_email | 删除文本中的 E-mail 信息 |
删除 URL | remove_url | 删除文本中的 URL 信息 |
删除 电话号码 | remove_phone_number | 删除文本中的电话号码 |
删除 IP地址 | remove_ip_address | 删除文本中的 IP 地址 |
删除 身份证号 | remove_id_card | 删除文本中的身份证信息 |
删除 QQ | remove_qq | 删除文本中的 qq 号 |
删除 HTML标签 | remove_html_tag | 删除文本中残留的 HTML 标签 |
删除括号中的内容 | remove_parentheses | 删除括号内容,包括 {}「」[]【】()()<>《》 |
删除异常字符 | remove_exception_char | 删除文本中异常字符,主要保留汉字、常用的标点, 单位计算符号,字母数字等。 |
功能 | 函数 | 描述 |
---|---|---|
按行读取文件 | read_file_by_iter | 以迭代器形式方便按行读取文件,节省内存,支持指定行数, 跳过空行 |
按行读取文件 | read_file_by_line | 按行读取文件,支持指定行数,跳过空行 |
将 list 中元素按行写入文件 | write_file_by_line | 将 list 中元素按行写入文件 |
计时工具 | TimeIt | 统计某一代码段的耗时 |
功能 | 函数 | 描述 |
---|---|---|
关键短语抽取 | extract_keyphrase | 给定一篇文本,抽取其对应关键短语 |
回译数据增强 | BackTranslation | 给定一篇文本,采用各大厂云平台的机器翻译接口,实现数据增强 |
停用词过滤 | remove_stopwords | 给定一个文本被分词后的词 list,去除其中的停用词 |
分句 | split_sentence | 对文本按标点分句。 |
地址解析 | parse_location | 给定一个包含国内地址字符串,识别其中的省、市、县区、乡镇街道、村社等信息 |
新闻地名识别 | recognize_location | 给定新闻文本,识别其中的国内省、市、县,国外国家、城市等信息 |
身份证号解析 | parse_id_card | 给定一个身份证号,识别对应的省、市、县、出生年月、 性别、校验码等信息 |
繁体转简体 | tra2sim | 繁体转简体,支持逐字转与最大匹配两种模式 |
简体转繁体 | sim2tra | 简体转繁体,支持逐字转与最大匹配两种模式 |
汉字转拼音 | pinyin | 找出中文文本对应的汉语拼音,并可返回声母、韵母、声调 |
汉字转偏旁与字形 | char_radical | 找出中文文本对应的汉字字形结构信息,包括偏旁部首(“河”氵)、 字形结构(“河”左右结构)、四角编码(“河”31120)、 汉字拆解(“河”水可) |
功能 | 函数 | 描述 |
---|---|---|
成语词典 | chinese_idiom_loader | 加载成语词典 |
歇后语词典 | xiehouyu_loader | 加载歇后语词典 |
中国地名词典 | china_location_loader | 加载中国省、市、县三级词典 |
世界地名词典 | world_location_loader | 加载世界大洲、国家、城市词典 |
新华字典 | chinese_char_dictionary_loader | 加载新华字典 |
新华词典 | chinese_word_dictionary_loader | 加载新华词典 |
功能 | 函数 | 描述 |
---|---|---|
基于词典NER | LexiconNER | 依据指定的实体词典,前向最大匹配实体 |
entity 转 tag | entity2tag | 将 json 格式实体转换为模型处理的 tag 序列 |
tag 转 entity | tag2entity | 将模型处理的 tag 序列转换为 json 格式实体 |
字 token 转词 token | char2word | 将字符级别 token 转换为词汇级别 token |
词 token 转字 token | word2char | 将词汇级别 token 转换为字符级别 token |
比较标注与模型预测的实体差异 | entity_compare | 针对人工标注的实体,与模型预测出的实体结果 ,做差异比对 |
NER模型预测加速 | TokenSplitSentence TokenBreakLongSentence TokenBatchBucket | 对 NER 模型预测并行加速的方法 |
分割数据集 | analyse_dataset | 对 NER 标注语料,分为训练集、验证集、测试集,并给出各个子集的实体类型分布统计 |
功能 | 函数 | 描述 |
---|---|---|
朴素贝叶斯分析类别词汇 | analyse_freq_words | 对文本分类的标注语料,做朴素贝叶斯词频分析,返回各类 文本的高条件概率词汇 |
分割数据集 | analyse_dataset | 对文本分类的标注语料,切分为训练集、验证集、测试集, 并给出各个子集的分类分布统计 |
功能 | 函数 | 描述 |
---|---|---|
基于词典情感分析 | LexiconSentiment | 依据人工构建的情感词典,计算文本的情感值,介于0~1之间 |
还不快试试!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。