小米開源NLP分詞工具

2021-03-02 自然語言處理與算法

近日,小米NLP團隊開源了其分詞工具minlp-tokenizer,該分詞工具支持細粒度粗粒度分詞,且能夠添加用戶自定義詞典。

項目地址:https://github.com/XiaoMi/MiNLP

1. 工具介紹

MiNLP-Tokenizer是小米AI實驗室NLP團隊自研的中文分詞工具,基於深度學習序列標註模型實現,在公開測試集上取得了SOTA效果。其具備以下特點:

分詞效果好:基於深度學習模型在大規模語料上進行訓練,粗、細粒度在SIGHAN 2005 PKU測試集上的F1分別達到95.7%和96.3%[注1]

輕量級模型:精簡模型參數和結構,模型僅有20MB

詞典可定製:靈活、方便的幹預機制,根據用戶詞典對模型結果進行幹預

多粒度切分:提供粗、細粒度兩種分詞規範,滿足各種場景需要

調用更便捷:一鍵快速安裝,API簡單易用

注1:我們結合公司應用場景,制定了粗、細粒度分詞規範,並按照規範對PKU測試集重新進行了標註(由於測試集版權限制,未包含在本項目中)。

2. 安裝

pip全自動安裝:

pip install minlp-tokenizer

適用環境:Python 3.5~3.7,TensorFlow>=1.15,<2

3. 使用API

from minlptokenizer.tokenizer import MiNLPTokenizer

tokenizer = MiNLPTokenizer(granularity='fine') # fine:細粒度,coarse:粗粒度,默認為細粒度
print(tokenizer.cut('今天天氣怎麼樣?'))

4. 自定義用戶詞典

from minlptokenizer.tokenizer import MiNLPTokenizer

tokenizer = MiNLPTokenizer(['word1', 'word2'], granularity='fine') #用戶自定義幹預詞典傳入

from minlptokenizer.tokenizer import MiNLPTokenizer

tokenizer = MiNLPTokenizer('/path/to/your/lexicon/file', granularity='coarse') # 構造函數的參數為用戶詞典路徑

5. 未來計劃

MiNLP是小米AI實驗室NLP團隊開發的小米自然語言處理平臺,目前已經具備詞法、句法、語義等數十個功能模塊,在公司業務中得到了廣泛應用。第一階段我們開源了MiNLP的中文分詞功能,後續我們將陸續開源詞性標註、命名實體識別、句法分析等功能,和開發者一起打造功能強大、效果領先的NLP工具集。



相關焦點

  • 中文分詞工具評估:chinese-segmentation-evaluation
    專欄地址:http://www.52nlp.cn/author/tiandiweizun中文分詞工具評估項目地址:https:這裡有一個Java開源項目cws_evaluation,對中文分詞做了評比,但有幾點不足:(1). 只有java版本,但是機器學習主要是基於python的 (2).效果指標為行完美率和字完美率,該指標不妥,特別是句子越長,越無意義,(3). 每種分詞工具評測的算法太多了,這裡僅評比了默認的分詞算法。
  • 探索小米開源分詞MiNLP基於深度學習的分詞工作
    MiNLP-Tokenizer中文分詞工具經過不斷優化和實戰打磨,已於2020年11月正式對外開源。MiNLP團隊計劃在2021年Q2完成所有詞法工具(詞性標註和命名實體識別)的開源,從2021年Q3開始,MiNLP團隊將逐步開源句法分析和部分語義分析工具,和開發者一起打造功能強大、效果領先的NLP平臺。內部的兩套分詞方案都是基於深度學習的分詞方案。
  • NLP、KG相關軟體、工具、資源匯總
    ltp(https://github.com/HIT-SCIR/ltp): 由哈工大團隊開源,其提供了一系列中文自然語言處理工具,用戶可以使用這些工具對於中文文本進行分詞、詞性標註、句法分析等等工作/jieba):應該是應用最廣泛的一個中文分詞工具了。
  • 每天調用達80億次的小米MiNLP平臺,近期又開源了中文分詞功能
    機器之心報導作者:陳萍近日,小米開源了其自然語言處理平臺 MiNLP 的中文分詞功能,具備分詞效果好、輕量級、詞典可定製、多粒度切分以及調用更便捷等特點。現階段也出現了很多分詞算法:如基於規則的、基於統計的等,也有一些比較好的分詞工具如 jieba、Hanlp、THULAC 等。此外還存在著一些在線分詞工具,其分詞效果也不錯。國內一些科技大廠也早早投入到自然語言處理相關領域,如百度 NLP、阿里雲 NLP 等。
  • 【分詞】從why到how的中文分詞詳解,從算法原理到開源工具
    中的"Hey"和"you"是需要與身後的標點分隔開的為什麼需要分詞?能不能不分詞?中文分詞難在哪?從古至今的分詞算法:詞典到預訓練從中到外的分詞工具對於中文來說,如果不進行分詞,那麼神經網絡將直接基於原始的漢字序列進行處理和學習。
  • 乾貨 | NLP、知識圖譜教程、書籍、網站、工具...(附資源連結)
    然而對於初學者來說,這卻是最適合的工具。這主要體現在以下幾個方面:1.中文處理能力。NLTK和OpenNLP對中文支持非常差,這裡不光是中文分詞的問題,有些NLP算法需要一定的語言模型數據,但瀏覽NLTK官方的模型庫,基本找不到中文模型數據。
  • 資源 | Python中文分詞工具大合集
    首先介紹之前測試過的8款中文分詞工具,這幾款工具可以直接在AINLP公眾號後臺在線測試,嚴格的說,它們不完全是純粹的中文分詞工具,例如SnowNLP, Thulac, HanLP,LTP,CoreNLP都是很全面的(中文)自然語言處理工具。
  • Python中文分詞工具大合集:安裝、使用和測試
    再附加介紹12款其他的中文分詞工具或者中文分詞模塊,最後的兩款fnlp和ansj是比較棒的java中文分詞工具,貌似還沒有python接口,記錄一下。這些中文分詞工具我沒有測試,感興趣的同學可以動手試試。
  • 中文分詞技術全解析,你想知道的都在這裡(附開源工具)
    從古至今的分詞算法原理從中到外的分詞工具當處理大規模語言文本時,要理解文本內容進行分析,我們人類通常是通過「詞」這個最小的可理解性語言單位來進行初步理解的,但為了提高效率,使用機器(計算機)來進行語言文本的分析,我們也可以從「分詞」開始。
  • 【NLP】競賽必備的NLP庫
    jieba是Python中的優秀的中文分詞第三方庫,通過幾行代碼就可以完成中文句子的分詞。jieba的分詞精度和性能非常優異,經常用來進行中文分詞的實驗對比。此外jieba還可以很方便的自定義詞典,使用起來非常靈活。
  • 準確率創新高,北大開源中文分詞工具包 pkuseg
    北京大學近日開源了一個全新的中文分詞工具包 pkuseg ,相比於現有的同類開源工具,pkuseg 大幅提高了分詞的準確率。
  • 谷歌開源NLP模型可視化工具LIT,模型訓練不再「黑箱」
    假如有一款可視化的工具,能夠幫助研究人員更好地理解模型行為,這應該是件非常棒的事。近日,Google 研究人員發布了一款語言可解釋性工具 (Language Interpretability Tool, LIT),這是一個開源平臺,用於可視化和理解自然語言處理模型。
  • 分詞工具哪家強?中文詞法分析工具LAC測評來啦
    By    Charlotte77前言:本文轉載自AINLP,是對百度深度學習中文詞法分析工具的詳細體驗和測評,大家可以對比一下其他的工具分詞效果,文末可以關注AINLP體驗各種不同分詞工具的效果~            關鍵詞
  • 深度學習在NLP中的運用?從分詞、詞性到機器翻譯、對話系統
    本文將基於竹間智能的一些經驗和探索,從分詞、詞性等基礎模塊,到機器翻譯、知識問答等領域,列舉並分析一些深度學習在 NLP 領域的具體運用,希望對大家研究深度學習和 NLP 有所幫助。(框架流程見圖 1,具體見 https://arxiv.org/abs/1706.00286)圖 1:利用 RNN 解決 Word2Vec 中 out of vocabulary 問題實例中文不同於英文自然分詞,中文分詞是文本處理的一個基礎步驟,也是自然語言處理的基礎模塊。
  • 打包帶走,競賽必備的NLP庫
    jieba是Python中的優秀的中文分詞第三方庫,通過幾行代碼就可以完成中文句子的分詞。jieba的分詞精度和性能非常優異,經常用來進行中文分詞的實驗對比。此外jieba還可以很方便的自定義詞典,使用起來非常靈活。
  • 數據競賽必備的NLP庫總結!
    jieba是Python中的優秀的中文分詞第三方庫,通過幾行代碼就可以完成中文句子的分詞。jieba的分詞精度和性能非常優異,經常用來進行中文分詞的實驗對比。此外jieba還可以很方便的自定義詞典,使用起來非常靈活。
  • Awesome-Chinese-NLP:中文自然語言處理相關資料
    chinese_nlp (C++ & Python) Chinese Natural Language Processing tools and examplesChinese-Annotator (Python) Annotator for Chinese Text Corpus 中文文本標註工具Poplar (Typescript) A web-based
  • 支持53種語言預訓練模型,斯坦福發布全新NLP工具包StanfordNLP
    53 種語言預訓練模型的自然語言處理工具包 StanfordNLP,該工具包支持 Python 3.6 及之後版本,並基於 PyTorch,支持多種語言的完整文本分析管道,包括分詞、詞性標註、詞形歸併和依存關係解析,此外它還提供了與 CoreNLP 的 Python 接口。
  • 一本開源的NLP入門書籍
    作者 | duoergun0729 Github:https://github.com/duoergun0729/nlp
  • 中文分詞工具測評
    作為一個基礎部件,學術界對分詞的研究已經非常久了,市面上流行的幾大開源分詞工具也被工業界的各大公司應用很多年了。最近,中文分詞隨著一篇博文的發表被推到了風口浪尖,引發眾多大牛在微博、微信群裡的激烈討論。本文並不想對這篇博文進行過多評論,只是想用公開的數據集對各大分詞工具進行一個客觀地測評,以供大家在選擇工具時有所依據。