每天調用達80億次的小米MiNLP平臺,近期又開源了中文分詞功能

2021-01-11 機器之心Pro

機器之心報導

作者:陳萍

近日,小米開源了其自然語言處理平臺 MiNLP 的中文分詞功能,具備分詞效果好、輕量級、詞典可定製、多粒度切分以及調用更便捷等特點。

在自然語言處理任務中,除了模型之外,底層的數據處理也是非常重要的。在語料預處理階段,分詞作為其中一個環節,其作用也是非常重要,但也受不同語言的限制,因而採取的方法有所不同,如中文和英文。

中文分詞是將一個漢字序列進行切分,得到一個個單獨的詞,如「我住在朝陽區」,分詞後的結果為「我 / 住在 / 朝陽區」。如果分詞效果不好的話,可能會出現其他情況,比較極端的結果是全部分錯「我住 / 在朝 / 陽區」。分詞效果好不好對信息檢索、實驗結果影響很大,同時分詞的背後涉及各種各樣的算法實現。

就中、英文而言,中文分詞與英文分詞有很大的不同,對英文而言,詞與詞之間都有空格隔開,一個單詞就是一個詞,而漢語是以字為基本的書寫單位,詞語之間沒有明顯的區分標記,需要人為切分。

現階段也出現了很多分詞算法:如基於規則的、基於統計的等,也有一些比較好的分詞工具如 jieba、Hanlp、THULAC 等。此外還存在著一些在線分詞工具,其分詞效果也不錯。

國內一些科技大廠也早早投入到自然語言處理相關領域,如百度 NLP、阿里雲 NLP 等。就在近日,小米 AI 實驗室 NLP 團隊開發的小米自然語言處理平臺 MiNLP 現已開源了中文分詞功能。

項目地址:https://github.com/XiaoMi/MiNLP/tree/main/minlp-tokenizer

目前,MiNLP 平臺已經具備詞法、句法、語義等數十個功能模塊,後續將陸續開源詞性標註、命名實體識別、句法分析等功能。其致力於打造功能強大、效果領先的 NLP 工具集。

MiNLP 從去年 2.0 版本的兩大功能模塊(基礎算法、語義理解)已經上升到 3.0 版本四大功能模塊,在基礎算法、語義理解的基礎上增加了內容理解和輿情分析模塊。新的模塊可以幫助系統更好地結合上下文理解交互內容,提高識別的準確性。

目前,小米自然語言處理平臺 MiNLP 每天輸出服務 80 億次。

MiNLP-Tokenizer 介紹

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

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

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

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

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

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

安裝過程

安裝過程非常簡單,pip 全自動安裝:

pip install minlp-tokenizer

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

使用 API

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

自定義用戶詞典

通過用戶詞典 List 添加:

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

通過文件路徑方式添加:

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

在 lexicon 文件夾下默認已經有兩個詞典「chengyu.txt」、「default.txt」:

在文件「chengyu.txt」中,有 8500 多個成語,基本上都是四字成語,示例如下所示:

在文件「default.txt」中,有 150 個詞,基本上為公司名稱及網站名稱,示例如下所示:

其實早在 11 月 5 日 2020 小米開發者大會上,小米集團副總裁、集團技術委員會主席崔寶秋就發布了小米自然語言處理平臺 MiNLP 平臺開源計劃。現在,MiNLP 的分詞功能已經開源,接下來可以期待一下詞性標註、命名實體識別、句法分析等功能的開源。

據 2020 小米開發者大會上的消息,詞性標註功能將於明年一季度開源,命名實體識別功能將於明年二季度開源,語義相關功能將於明年三季度開源。MiNLP 不同功能模塊,將按計劃逐漸開源。

參考連結:

https://dy.163.com/article/FQLS8II705508TBC.html

https://mp.weixin.qq.com/s/wPx4LVEZ3QWL4jm6FNdRSw

相關焦點

  • 簡單有效的多標準中文分詞
    本文介紹一種簡潔優雅的多標準中文分詞方案,可聯合多個不同標準的語料庫訓練單個模型,同時輸出多標準的分詞結果。通過不同語料庫之間的遷移學習提升模型的性能,在10個語料庫上的聯合試驗結果優於絕大部分單獨訓練的模型。模型參數和超參數全部共享,複雜度不隨語料庫種類增長。
  • 阿里巴巴AI每天調用超1萬億次,服務全球10億人
    日處理圖像10億張、視頻120萬小時、語音55萬小時及自然語言5千億句,已經成為中國最大的人工智慧公司。【獵雲網(微信:ilieyun)北京】9月26日報導9月26日,阿里巴巴在杭州雲棲大會上首次公布人工智慧調用規模
  • 科學網—幫機器學會中文分詞和詞性標註
    新模型旨在提升科研效率和工業場景應用   ■
  • 小米連發三項重磅AI技術,小愛同學開口就讓崔寶秋做4萬個伏地挺身?
    總體來看,小米AI能力的提升是本此開發者大會的重點,而用AI賦能小米IoT生態的更多產品也是他們發力的重點方向之一。小米集團副總裁、小米集團技術委員會主席崔寶秋在上臺時提到,小米手機用戶目前覆蓋了230個地區,小愛同學智能音箱也已經覆蓋了180個國家,現在全球用戶每天使用小愛同學的次數已經超過1億次。
  • 中文分詞和詞性標註:為拓展工業場景應用夯基—新聞—科學網
    在7月5日-10日舉行的自然語言處理(NLP)領域頂級學術會議 ACL 2020上,來自創新工場大灣區人工智慧研究院的兩篇入選論文,正是針對中文自然語言處理的類似問題,各自提出了「鍵-值記憶神經網絡的中文分詞模型」和「基於雙通道注意力機制的分詞及詞性標註模型」,將外部知識(信息)創造性融入分詞及詞性標註模型,有效剔除了分詞「噪音」誤導,大幅度提升了分詞及詞性標註效果。
  • 羨慕錘子手機「大爆炸」功能?這款APP讓所有安卓機用上BigBang
    我挺喜歡錘子手機上的"大爆炸"和"一步"功能。特別是"大爆炸",比傳統的粘貼複製好用太多。"大爆炸"功能原本是錘子手機獨佔的,並沒有開源。好在安卓生態足夠開放,大神"十個雨點"開發的"全能分詞"APP模仿錘子的BigBang,達到了相似的高效體驗。這款APP無需root權限,所以原則上可以在任何一臺安卓手機上使用,只要你按照軟體提示開放相應的權限。
  • 中文分詞最佳紀錄刷新,兩大模型分別解決中文分詞及詞性標註問題
    WMSeg,在MSR、PKU、AS、CityU、CTB6這5個數據集上的表現,均達了最好的成績。另外,在詞性標註方面,TwASP模型同樣刷新了成績。中文分詞的SOTA中文分詞目的是在中文的字序列中插入分隔符,將其切分為詞。例如,「我喜歡音樂」將被切分為「我/喜歡/音樂」(「/」表示分隔符)。中文語言因其特殊性,在分詞時面臨著兩個主要難點。一是歧義問題,由於中文存在大量歧義,一般的分詞工具在切分句子時可能會出錯。
  • 微信AI平臺NLP接口調用全教程
    微信推出了自己的AI平臺,因為工作關係。比較關注NLP這塊。嘗試用JAVA調用成功。以下為教程。首先找到官網,微信對話開放平臺。登錄後,創建一個機器人。對,就是聊天機器人。為啥?你可以理解為機器人就是一個個應用。
  • 王海峰:百度翻譯日翻譯量達千億次,百度語音交流量超150億次
    新京報貝殼財經訊(記者 張思源)9月18日,中關村論壇在京召開,在AI開源創新與產業智能化論壇分論壇上,百度首席技術官、深度學習技術及應用國家工程實驗室主任王海峰介紹,早在2012年,百度即開放了31%的API全社會共享,非常多的來自各方公司、企事業單位等的開發者調用百度翻譯的API
  • 百度開源2020年度報告:兩大開源平臺、九個捐贈項目
    在企業應用方面,飛槳已經在產業界廣泛應用,合作夥伴包括但不限於:中國電信、聯通、工行、小米、OPPO、58同城、國家電網、崑崙數智,寧德時代等(排名不分先後)2、ApolloApollo開放平臺是一個開放的、完整的、安全的平臺,將幫助汽車行業及自動駕駛領域的合作夥伴結合車輛和硬體系統,快速搭建一套屬於自己的自動駕駛系統。
  • 海量新聞信息處理中的中文分詞算法研究
    隨著WEB 3.0時代的到來,門戶網站新聞媒體已經不再是網際網路內容的主要來源,SNS平臺,微博,博客,論壇,點評網等每天會產生海量內容(UGC),而每日的熱點,輿情也蘊含於其中。面對日益增加的海量數據,如何從海量數據中挖掘出熱點問題,從而迅速把握熱點動態,網絡輿情,也成為人民網非常關心以及亟待解決的問題。 為應對網際網路的海量數據處理,雲計算應運而生。
  • 創新工場提出中文分詞和詞性標註模型,性能分別刷新五大數據集
    基於此,創新工場近日公布的兩篇論文各自提出了「鍵-值記憶神經網絡的中文分詞模型」和「基於雙通道注意力機制的分詞及詞性標註模型」,將外部知識(信息)創造性融入分詞及詞性標註模型,有效剔除了分詞「噪音」誤導,大幅度提升了分詞及詞性標註效果。
  • 分詞應用 Pin 開發者發文斥責錘子 Big Bang 抄襲
    Big Bang 是在錘子發布 M1/M1L 時,主打的新 Smaerisan OS 當中內置的三大功能之一,隨後錘子也將這其開源。不過近日,以智慧分詞為核心的大爆炸功能在近期引來了非議。
  • 創新工場兩篇論文入選ACL 2020,將中文分詞數據刷至新高
    ,尤其在工業場景對分詞有非常直接的訴求,但當前沒有比較好的一體化解決方案,而且中文分詞普遍存在歧義和未登錄詞的難題。利用記憶神經網絡,將中文分詞性能刷到歷史新高中文分詞目的是在中文的字序列中插入分隔符,將其切分為詞。例如,「我喜歡音樂」將被切分為「我/喜歡/音樂」(「/」表示分隔符)。中文語言因其特殊性,在分詞時面臨著兩個主要難點。
  • 阿里開源混沌工程工具 ChaosBlade
    近日,阿里開源了混沌工程工具 ChaosBlade。
  • 開源搜尋引擎solr介紹
    1.3中文分詞Solr與mysql一樣,查詢數據之前,需要先插入數據做成索引。做成索引的方式之前已經有過介紹,下面我開始著重講述solr的分詞部分。分詞是solr在做索引和查詢的時候,非常重要的一個步驟。比如說,「I like reading books」,這句英文,我們就可以分成四個單詞(內容欄位),「I」、「like」、「reading」、「books」,這很容易,根據空格就能分詞了。我們搜索「books」單詞,可以把solr中的這句話搜索出來。但是,solr對於中文分詞就不友好了。
  • 中文分詞新模型幫它進步
    新華社記者方喆攝本報記者 劉園園人工智慧經常「看不懂」中文句子,讓人哭笑不得。在日前舉行的自然語言處理領域(NLP)頂級學術會議ACL 2020上,來自創新工場大灣區人工智慧研究院的兩篇論文入選。這兩篇論文均聚焦自然語言處理中文分詞領域。
  • 小米開源監控系統Open-Falcon國際化推進 0.2版本英文文檔發布
    為了能夠讓更多人使用和參與Open-Falcon項目,小米近期完成了英文文檔0.2版本的翻譯工作,進一步推進了Open-Falcon的國際化。官網:點擊/文檔連結:點擊/文檔開源地址:點擊據了解,Open-Falcon已經在github上取得了3000+star,數百次fork,數百個pull-request,社區用戶超過6000+,超過300家公司都在不同程度使用
  • 15 款免費IDE,推薦給開發者 - OSCHINA - 中文開源技術交流社區
    Code::Blocks (codeblocks)是一個開源、免費、跨平臺的c++ IDE。官方網站上稱其能滿足最苛刻的用戶的需求。雖有點誇張,但既然敢這樣說,也說明它的功能肯定不差。代碼自動完成功能很強大 2. 仿VS,很容易上手 3. 界面更友好 4. 與Subversion集成 5. 與wxFormBuilder集成 6. 函數跳轉功能強大
  • 構建AI生態「朋友圈」之江實驗室發布「天樞」人工智慧開源開放平臺
    「天樞」人工智慧開源開放平臺2日在浙江杭州正式發布。該平臺具備高性能核心計算框架,提供一站式全功能AI開發套件,將提升人工智慧技術的研發效率、擴大算法模型的應用範圍,進一步構建人工智慧生態「朋友圈」。據介紹,該平臺由之江實驗室牽頭,聯合浙江大學、阿里巴巴等多單位共同研發打造。