/JioNLP

全面简便的中文 NLP 工具包,做您的 NLP 任务的垫 jio 石

Primary LanguagePythonApache License 2.0Apache-2.0

   JioNLP

   ——全面简便的中文 NLP 工具包,做您的 NLP 任务的垫 jio 石

   ——A python library for chinese NLP

JioNLP 是一个提供常用 NLP 功能的工具包,宗旨是直接提供方便快捷的解析、词典类的面向中文的工具接口,并提供一步到位的查阅入口。

功能主要包括:文本清洗,去除HTML标签、异常字符、冗余字符,抽取E-mail、电话号码、QQ号、括号内容、身份证号、IP地址、URL超链接,解析身份证号信息、手机号码归属地、座机区号归属地、E-mail域名,按行快速读写文件,停用词过滤,(优化的)分句,地址解析,繁简体转换,汉字转拼音,汉字偏旁拆解,基于词典的情感分析,色情数据过滤,反动数据过滤,关键短语抽取。

持续更新中...

安装 Installation

  • python>=3.6
$ git clone https://github.com/dongrixinyu/JioNLP
$ cd ./JioNLP
$ pip install .

使用 Features

  • 导入工具包,查看工具包的主要功能
>>> import jionlp as jio
>>> dir(jio)

1、正则抽取与解析

功能 函数 描述
抽取 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_exception_char 删除文本中异常字符,主要保留常用的标点符号,单位计算符号,字母数字等。

2. 文件读写工具

功能 函数 描述
按行读取文件 read_file_by_iter 以迭代器形式方便按行读取文件,节省内存,支持指定行数跳过空行
按行读取文件 read_file_by_line 按行读取文件,支持指定行数跳过空行
将 list 中元素按行写入文件 write_file_by_line 将 list 中元素按行写入文件

3.词典加载与使用

功能 函数 描述
停用词过滤 remove_stopwords 给定一个文本被分词后的词 list,去除其中的停用词
分句 split_sentence 对文本按标点分句。
地址解析 parse_location 给定一个包含国内地址字符串,识别其中的省、市、县等信息
身份证号解析 parse_id_card 给定一个身份证号,识别对应的省、市、县、出生年月、性别、校验码等信息
色情数据过滤
反动数据过滤
繁体转简体 tra2sim 繁体转简体,支持逐字转最大匹配两种模式
简体转繁体 sim2tra 简体转繁体,支持逐字转最大匹配两种模式
成语词典 chinese_idiom_loader 加载成语词典

开源不易,欢迎自由投食 (#^.^#)

image