有趣的自然语言处理资源集锦

栏目: 编程工具 · 发布时间: 7年前

内容简介:最近需要从文本中抽取结构化信息,用到了很多github上的包,遂整理了一下,后续会不断更新。 详见很多包非常有趣,值得收藏,满足大家的收集癖! 如果觉得有用,请分享并star,谢谢!涉及内容包括:

最近需要从文本中抽取结构化信息,用到了很多github上的包,遂整理了一下,后续会不断更新。 详见 fighting41love/funNLP

很多包非常有趣,值得收藏,满足大家的收集癖! 如果觉得有用,请分享并star,谢谢!

涉及内容包括: 中英文敏感词、语言检测、中外手机/电话归属地/运营商查询、名字推断性别、手机号抽取、身份证抽取、邮箱抽取、中日文人名库、中文缩写库、拆字词典、词汇情感值、停用词、反动词表、暴恐词表、繁简体转换、英文模拟中文发音、汪峰歌词生成器、职业名称词库、同义词库、反义词库、否定词库、汽车品牌词库、汽车零件词库、连续英文切割、各种中文词向量、公司名字大全、古诗词库、IT词库、财经词库、成语词库、地名词库、历史名人词库、诗词词库、医学词库、饮食词库、法律词库、汽车词库、动物词库、中文聊天语料、中文谣言数据

1. textfilter: 中英文敏感词过滤 observerss/textfilter

>>> f = DFAFilter()
 >>> f.add("sexy")
 >>> f.filter("hello sexy baby")
 hello **** baby
复制代码

敏感词包括政治、脏话等话题词汇。其原理主要是基于词典的查找(项目中的keyword文件),内容很劲爆。。。

2. langid:97种语言检测 github.com/saffsd/lang…

pip install langid
>>> import langid
>>> langid.classify("This is a test")
('en', -54.41310358047485)
复制代码

3. langdetect:另一个语言检测 code.google.com/archive/p/l…

pip install langdetect
from langdetect import detect
from langdetect import detect_langs

s1 = "本篇博客主要介绍两款语言探测工具,用于区分文本到底是什么语言,"
s2 = 'We are pleased to introduce today a new technology'
print(detect(s1))
print(detect(s2))
print(detect_langs(s3))    # detect_langs()输出探测出的所有语言类型及其所占的比例
复制代码

输出结果如下: 注:语言类型主要参考的是ISO 639-1语言编码标准,详见ISO 639-1百度百科

跟上一个语言检测比较,准确率低,效率高。

4. phone 中国手机归属地查询: ls0f/phone

from phone import Phone
p  = Phone()
p.find(18100065143)
#return {'phone': '18100065143', 'province': '上海', 'city': '上海', 'zip_code': '200000', 'area_code': '021', 'phone_type': '电信'}
复制代码

支持号段: 13*,15*,18*,14[5,7],17[0,6,7,8]

记录条数: 360569 (updated:2017年4月)

作者提供了数据 phone.dat 方便非 python 用户Load数据。

5. phone国际手机、电话归属地查询: AfterShip/phone

npm install phone
import phone from 'phone';
phone('+852 6569-8900'); // return ['+85265698900', 'HKG']
phone('(817) 569-8900'); // return ['+18175698900, 'USA']
复制代码

6. ngender 根据名字判断性别: observerss/ngender

pip install ngender # 基于朴素贝叶斯计算的概率

>>> import ngender
>>> ngender.guess('赵本山')
('male', 0.9836229687547046)
>>> ngender.guess('宋丹丹')
('female', 0.9759486128949907)
复制代码

7. 抽取email的正则表达式

email_pattern = '^[*#\u4e00-\u9fa5 a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.[a-zA-Z0-9]{2,6}$'
emails = re.findall(email_pattern, text, flags=0)
复制代码

8. 抽取phone_number的正则表达式

cellphone_pattern = '^((13[0-9])|(14[0-9])|(15[0-9])|(17[0-9])|(18[0-9]))\d{8}$'
phoneNumbers = re.findall(cellphone_pattern, text, flags=0)
复制代码

9. 抽取身份证号的正则表达式

IDCards_pattern = r'^([1-9]\d{5}[12]\d{3}(0[1-9]|1[012])(0[1-9]|[12][0-9]|3[01])\d{3}[0-9xX])$'
IDs = re.findall(IDCards_pattern, text, flags=0)
复制代码

10. 人名语料库: wainshine/Chinese-Names-Corpus

中文(现代、古代)名字、日文名字、中文的姓和名、称呼(大姨妈、小姨妈等)、英文->中文名字(李约翰)、成语词典
复制代码

(可用于中文分词、姓名识别)

11. 中文缩写库: github

全国人大: 全国/n 人民/n 代表大会/n
中国: 中华人民共和国/ns
女网赛: 女子/n 网球/n 比赛/vn
复制代码

12. 汉语拆字词典: kfcd/chaizi

漢字	拆法 (一)	拆法 (二)	拆法 (三)
拆	手 斥	扌 斥	才 斥
复制代码

13. 词汇情感值: rainarch/SentiBridge

山泉水	充沛	0.400704566541	0.370067395878
视野	        宽广	0.305762728932	0.325320747491
大峡谷	惊险	0.312137906517	0.378594957281
复制代码

14. 中文词库、停用词、敏感词 dongxiexidian/Chinese

此package的敏感词库分类更细:

反动词库敏感词库表统计暴恐词库民生词库色情词库

15. 汉字转拼音: mozillazg/python-pinyin

文本纠错会用到

16. 中文繁简体互转: skydark/nstools

17. 英文模拟中文发音引擎funny chinese text to speech enginee: tinyfool/ChineseWithEnglish

say wo i ni
#说:我爱你
复制代码

相当于用英文音标,模拟中文发音。

18. 汪峰歌词生成器: phunterlau/wangfeng-rnn

我在这里中的夜里
就像一场是一种生命的意旪
就像我的生活变得在我一样
可我们这是一个知道
我只是一天你会怎吗
复制代码

19. 同义词库、反义词库、否定词库: guotong1988/chinese_dictionary

20. 无空格英文串分割、抽取单词: wordinja

>>> import wordninja
>>> wordninja.split('derekanderson')
['derek', 'anderson']
>>> wordninja.split('imateapot')
['im', 'a', 'teapot']
复制代码

21. IP地址正则表达式:

(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)
复制代码

22. 腾讯QQ号正则表达式:

[1-9]([0-9]{5,11})
复制代码

23. 国内固话号码正则表达式:

[0-9-()()]{7,18}
复制代码

24. 用户名正则表达式:

[A-Za-z0-9_\-\u4e00-\u9fa5]+
复制代码

25. 汽车品牌、汽车零件相关词汇:

见本repo的data文件 [data](https://github.com/fighting41love/funNLP/tree/master/data)
复制代码

26. 时间抽取:

在2016年6月7日9:44执行測試,结果如下

Hi,all。下周一下午三点开会

>> 2016-06-13 15:00:00-false

周一开会

>> 2016-06-13 00:00:00-true

下下周一开会

>> 2016-06-20 00:00:00-true
复制代码

java version

python version

27. 各种中文词向量: github repo

中文词向量大全

28. 公司名字大全: github repo

29. 古诗词库: github repo

30. THU整理的词库: link

已整理到本repo的data文件夹中.

IT词库、财经词库、成语词库、地名词库、历史名人词库、诗词词库、医学词库、饮食词库、法律词库、汽车词库、动物词库
复制代码

31. 中文聊天语料 link

该库搜集了包含:豆瓣多轮, PTT八卦语料, 青云语料, 电视剧对白语料, 贴吧论坛回帖语料,微博语料,小黄鸡语料
复制代码

32. 中文谣言数据 github

该数据文件中,每一行为一条json格式的谣言数据,字段释义如下:

rumorCode: 该条谣言的唯一编码,可以通过该编码直接访问该谣言举报页面。
title: 该条谣言被举报的标题内容
informerName: 举报者微博名称
informerUrl: 举报者微博链接
rumormongerName: 发布谣言者的微博名称
rumormongerUr: 发布谣言者的微博链接
rumorText: 谣言内容
visitTimes: 该谣言被访问次数
result: 该谣言审查结果
publishTime: 该谣言被举报时间
复制代码

jiebahanlp 就不必说了吧。


以上所述就是小编给大家介绍的《有趣的自然语言处理资源集锦》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Twenty Lectures on Algorithmic Game Theory

Twenty Lectures on Algorithmic Game Theory

Tim Roughgarden / Cambridge University Press / 2016-8-31 / USD 34.99

Computer science and economics have engaged in a lively interaction over the past fifteen years, resulting in the new field of algorithmic game theory. Many problems that are central to modern compute......一起来看看 《Twenty Lectures on Algorithmic Game Theory》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

随机密码生成器
随机密码生成器

多种字符组合密码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具