溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

NLP開源字典和工具有哪些

發(fā)布時間:2022-01-06 15:02:21 來源:億速云 閱讀:105 作者:柒染 欄目:互聯(lián)網(wǎng)科技

這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)NLP開源字典和工具有哪些,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

前言

隨著BERT、ERNIE、XLNet等預(yù)訓(xùn)練模型的流行,解決NLP問題時不用上預(yù)訓(xùn)練模型似乎總顯得自己有點過時。  但是這顯然是不對的。

眾所周知,無論訓(xùn)練還是推理,預(yù)訓(xùn)練模型都會消耗大量的算力,且高度依賴GPU計算資源。然而,有很多的NLP問題實際上僅僅靠  字典+規(guī)則  就可以做到夠用,那么這時候強行上笨重的模型無異于高射炮打蚊子,性價比是非常低的。

于是小夕就從一個比較瘋狂的github repo里為大家  精挑細選  了  45個  比較實用的開源小工具和字典,讓大家在搭建NLP系統(tǒng)、輔助煉丹的過程中少一些模型和算力的依賴,多一些小而美的代碼。

1. textfilter: 中英文敏感詞過濾
repo: observerss/textfilter
>>> f = DFAFilter() >>> f.add("sexy") >>> f.filter("hello sexy baby")
 hello **** baby

敏感詞包括政治、臟話等話題詞匯。其原理主要是基于詞典的查找(項目中的keyword文件),內(nèi)容很不清真

2. langid:97種語言檢測
repo: saffsd/langid.py
pip install langid
>>> import langid>>> langid.classify("This is a test")
('en', -54.41310358047485)
3. langdetect:另一個語言檢測

地址:https://code.google.com/archive/p/language-detection

pip install langdetect

from langdetect import detectfrom langdetect import detect_langs

s1 = "本篇博客主要介紹兩款語言探測工具,用于區(qū)分文本到底是什么語言,"s2 = 'We are pleased to introduce today a new technology'print(detect(s1))
print(detect(s2))
print(detect_langs(s3))    # detect_langs()輸出探測出的所有語言類型及其所占的比例

輸出結(jié)果如下:注:語言類型主要參考的是ISO 639-1語言編碼標(biāo)準(zhǔn),詳見ISO 639-1百度百科

跟上一個語言檢測比較,準(zhǔn)確率低,效率高。

4. phone 中國手機歸屬地查詢:

repo: ls0f/phone

已集成到 python package cocoNLP中

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]

記錄條數(shù): 360569 (updated:2017年4月)

作者提供了數(shù)據(jù)phone.dat 方便非python用戶Load數(shù)據(jù)。

5. phone國際手機、電話歸屬地查詢:
repo: 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 根據(jù)名字判斷性別:
repo: observerss/ngender

基于樸素貝葉斯計算的概率

pip install ngender
>>> import ngender>>> ngender.guess('趙本山')
('male', 0.9836229687547046)>>> ngender.guess('宋丹丹')
('female', 0.9759486128949907)
7. 抽取email的正則表達式

已集成到 python package cocoNLP中

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的正則表達式

已集成到 python package cocoNLP中

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. 人名語料庫:

repo: wainshine/Chinese-Names-Corpus

人名抽取功能已加入 python package cocoNLP

中文(現(xiàn)代、古代)名字、日文名字、中文的姓和名、稱呼(大姨媽、小姨媽等)、英文->中文名字(李約翰)、成語詞典

(可用于中文分詞、姓名識別)

11. 中文縮寫庫:
repo: zhangyics/Chinese-abbreviation-dataset
全國人大: 全國/n 人民/n 代表大會/n
中國: 中華人民共和國/ns
女網(wǎng)賽: 女子/n 網(wǎng)球/n 比賽/vn
12. 漢語拆字詞典:
repo: kfcd/chaizi
漢字    拆法 (一)    拆法 (二)    拆法 (三)
拆    手 斥    扌 斥    才 斥
13. 詞匯情感值:
repo: rainarch/SentiBridge
山泉水    充沛    0.400704566541    0.370067395878視野            寬廣    0.305762728932    0.325320747491大峽谷    驚險    0.312137906517    0.378594957281
14. 中文詞庫、停用詞、敏感詞
repo: dongxiexidian/Chinese

此package的敏感詞庫分類更細:

反動詞庫, 敏感詞庫表統(tǒng)計, 暴恐詞庫, 民生詞庫, 色情詞庫

15. 漢字轉(zhuǎn)拼音:
repo: mozillazg/python-pinyin

文本糾錯會用到

16. 中文繁簡體互轉(zhuǎn):
repo: skydark/nstools
17. 英文模擬中文發(fā)音引擎
repo: tinyfool/ChineseWithEnglish
say wo i ni#說:我愛你

相當(dāng)于用英文音標(biāo),模擬中文發(fā)音。

18. 同義詞庫、反義詞庫、否定詞庫:
repo: guotong1988/chinese_dictionary
19. 中文字符數(shù)據(jù)
repo: skishore/makemeahanzi
  • 簡/繁體漢字筆順

  • 矢量筆畫

20. 無空格英文串分割、抽取單詞:
repo: keredson/wordninja
>>> 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. 國內(nèi)固話號碼正則表達式:
[0-9-()()]{7,18}
24. 用戶名正則表達式:
[A-Za-z0-9_\-\u4e00-\u9fa5]+
25. g2pC:基于上下文的漢語讀音自動標(biāo)記模塊
repo: Kyubyong/g2pC
26. 時間抽?。?/h5>

已集成到 python package cocoNLP中

在2016年6月7日9:44執(zhí)行測試,結(jié)果如下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:

https://github.com/shinyke/Time-NLP

python version:

https://github.com/zhanzecheng/Time_NLP

27. 快速轉(zhuǎn)化「中文數(shù)字」和「阿拉伯?dāng)?shù)字」
repo: HaveTwoBrush/cn2an
  • 中文、阿拉伯?dāng)?shù)字互轉(zhuǎn)

  • 中文與阿拉伯?dāng)?shù)字混合的情況,在開發(fā)中

28. 公司名字大全
repo: wainshine/Company-Names-Corpus
29. 古詩詞庫
repo: panhaiqi/AncientPoetry

更全的古詩詞庫:

https://github.com/chinese-poetry/chinese-poetry

30. THU整理的詞庫
repo: http://thuocl.thunlp.org/

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

IT詞庫、財經(jīng)詞庫、成語詞庫、地名詞庫、歷史名人詞庫、詩詞詞庫、醫(yī)學(xué)詞庫、飲食詞庫、法律詞庫、汽車詞庫、動物詞庫
31. PDF表格數(shù)據(jù)提取工具

repo: camelot-dev/camelot

32. 國內(nèi)電話號碼正則匹配(三大運營商+虛擬等)
repo: VincentSit/ChinaMobilePhoneNumberRegex
33.用戶名黑名單列表:
repo: marteinn/The-Big-Username-Blacklist

包含了用戶名禁用列表,比如:

administratoradministration
autoconfig
autodiscover
broadcasthost
domain
editor
guest
host
hostmasterinfokeybase.txt
localdomain
localhost
master
mail
mail0
mail
34. Microsoft多語言數(shù)字/單位/如日期時間識別包:
repo: Microsoft/Recognizers-Text
35. chinese-xinhua 中華新華字典數(shù)據(jù)庫及api,包括常用歇后語、成語、詞語和漢字
repo: pwxcoo/chinese-xinhua
36. 文檔圖譜自動生成
repo: liuhuanyong/TextGrapher
  • TextGrapher - Text Content Grapher based on keyinfo extraction by NLP method。輸入一篇文檔,將文檔進行關(guān)鍵信息提取,進行結(jié)構(gòu)化,并最終組織成圖譜組織形式,形成對文章語義信息的圖譜化展示

37. 186種語言的數(shù)字叫法庫
repo: google/UniNum
38. 繁簡體轉(zhuǎn)換
repo: berniey/hanziconv
39. 漢字字符特征提取器 (featurizer),提取漢字的特征(發(fā)音特征、字形特征)用做深度學(xué)習(xí)的特征
repo: howl-anderson/hanzi_char_featurizer
40. 中文縮寫數(shù)據(jù)集
repo: zhangyics/Chinese-abbreviation-dataset
41. 無道詞典 - 有道詞典的命令行版本,支持英漢互查和在線查詢
repo: ChestnutHeng/Wudao-dict
42. 最好的漢字?jǐn)?shù)字(中文數(shù)字)-阿拉伯?dāng)?shù)字轉(zhuǎn)換工具
repo: Wall-ee/chinese2digits
43. LineFlow:面向所有深度學(xué)習(xí)框架的NLP數(shù)據(jù)高效加載器
repo: tofunlp/lineflow
44. 將自然語言數(shù)字串解析轉(zhuǎn)換為整數(shù)和浮點數(shù)
repo: jaidevd/numerizer
45. 英文臟話大列表
repo: zacanger/profane-words

上述就是小編為大家分享的NLP開源字典和工具有哪些了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

nlp
AI