這期內(nèi)容當中小編將會給大家?guī)碛嘘P(guān)NLP開源字典和工具有哪些,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
成都創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站設(shè)計、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的屏邊網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
前言
隨著BERT、ERNIE、XLNet等預(yù)訓(xùn)練模型的流行,解決NLP問題時不用上預(yù)訓(xùn)練模型似乎總顯得自己有點過時。 但是這顯然是不對的。
眾所周知,無論訓(xùn)練還是推理,預(yù)訓(xùn)練模型都會消耗大量的算力,且高度依賴GPU計算資源。然而,有很多的NLP問題實際上僅僅靠 字典+規(guī)則 就可以做到夠用,那么這時候強行上笨重的模型無異于高射炮打蚊子,性價比是非常低的。
于是小夕就從一個比較瘋狂的github repo里為大家 精挑細選 了 45個 比較實用的開源小工具和字典,讓大家在搭建NLP系統(tǒng)、輔助煉丹的過程中少一些模型和算力的依賴,多一些小而美的代碼。
repo: observerss/textfilter
>>> f = DFAFilter() >>> f.add("sexy") >>> f.filter("hello sexy baby") hello **** baby
敏感詞包括政治、臟話等話題詞匯。其原理主要是基于詞典的查找(項目中的keyword文件),內(nèi)容很不清真
repo: saffsd/langid.py pip install langid
>>> import langid>>> langid.classify("This is a test") ('en', -54.41310358047485)
地址: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語言編碼標準,詳見ISO 639-1百度百科
跟上一個語言檢測比較,準確率低,效率高。
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ù)。
repo: AfterShip/phone npm install phone
import phone from 'phone'; phone('+852 6569-8900'); // return ['+85265698900', 'HKG'] phone('(817) 569-8900'); // return ['+18175698900, 'USA']
repo: observerss/ngender
基于樸素貝葉斯計算的概率
pip install ngender
>>> import ngender>>> ngender.guess('趙本山') ('male', 0.9836229687547046)>>> ngender.guess('宋丹丹') ('female', 0.9759486128949907)
已集成到 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)
已集成到 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)
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)
repo: wainshine/Chinese-Names-Corpus
人名抽取功能已加入 python package cocoNLP
中文(現(xiàn)代、古代)名字、日文名字、中文的姓和名、稱呼(大姨媽、小姨媽等)、英文->中文名字(李約翰)、成語詞典
(可用于中文分詞、姓名識別)
repo: zhangyics/Chinese-abbreviation-dataset
全國人大: 全國/n 人民/n 代表大會/n 中國: 中華人民共和國/ns 女網(wǎng)賽: 女子/n 網(wǎng)球/n 比賽/vn
repo: kfcd/chaizi
漢字 拆法 (一) 拆法 (二) 拆法 (三) 拆 手 斥 扌 斥 才 斥
repo: rainarch/SentiBridge
山泉水 充沛 0.400704566541 0.370067395878視野 寬廣 0.305762728932 0.325320747491大峽谷 驚險 0.312137906517 0.378594957281
repo: dongxiexidian/Chinese
此package的敏感詞庫分類更細:
反動詞庫, 敏感詞庫表統(tǒng)計, 暴恐詞庫, 民生詞庫, 色情詞庫
repo: mozillazg/python-pinyin
文本糾錯會用到
repo: skydark/nstools
repo: tinyfool/ChineseWithEnglish
say wo i ni#說:我愛你
相當于用英文音標,模擬中文發(fā)音。
repo: guotong1988/chinese_dictionary
repo: skishore/makemeahanzi
簡/繁體漢字筆順
矢量筆畫
repo: keredson/wordninja
>>> import wordninja>>> wordninja.split('derekanderson') ['derek', 'anderson']>>> wordninja.split('imateapot') ['im', 'a', 'teapot']
(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)
[1-9]([0-9]{5,11})
[0-9-()()]{7,18}
[A-Za-z0-9_\-\u4e00-\u9fa5]+
repo: Kyubyong/g2pC
已集成到 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
repo: HaveTwoBrush/cn2an
中文、阿拉伯數(shù)字互轉(zhuǎn)
中文與阿拉伯數(shù)字混合的情況,在開發(fā)中
repo: wainshine/Company-Names-Corpus
repo: panhaiqi/AncientPoetry
更全的古詩詞庫:
https://github.com/chinese-poetry/chinese-poetry
repo: http://thuocl.thunlp.org/
已整理到本repo的data文件夾中.
IT詞庫、財經(jīng)詞庫、成語詞庫、地名詞庫、歷史名人詞庫、詩詞詞庫、醫(yī)學詞庫、飲食詞庫、法律詞庫、汽車詞庫、動物詞庫
repo: camelot-dev/camelot
repo: VincentSit/ChinaMobilePhoneNumberRegex
repo: marteinn/The-Big-Username-Blacklist
包含了用戶名禁用列表,比如:
administratoradministration autoconfig autodiscover broadcasthost domain editor guest host hostmasterinfokeybase.txt localdomain localhost master mail mail0 mail
repo: Microsoft/Recognizers-Text
repo: pwxcoo/chinese-xinhua
repo: liuhuanyong/TextGrapher
TextGrapher - Text Content Grapher based on keyinfo extraction by NLP method。輸入一篇文檔,將文檔進行關(guān)鍵信息提取,進行結(jié)構(gòu)化,并最終組織成圖譜組織形式,形成對文章語義信息的圖譜化展示
repo: google/UniNum
repo: berniey/hanziconv
repo: howl-anderson/hanzi_char_featurizer
repo: zhangyics/Chinese-abbreviation-dataset
repo: ChestnutHeng/Wudao-dict
repo: Wall-ee/chinese2digits
repo: tofunlp/lineflow
repo: jaidevd/numerizer
repo: zacanger/profane-words
上述就是小編為大家分享的NLP開源字典和工具有哪些了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
當前題目:NLP開源字典和工具有哪些
鏈接URL:http://bm7419.com/article32/pcsgsc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機網(wǎng)站建設(shè)、Google、網(wǎng)站改版、用戶體驗、做網(wǎng)站、營銷型網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)