1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        手把手教你用Jieba做中文分詞

        共 2153字,需瀏覽 5分鐘

         ·

        2021-02-13 15:35


        導讀:近年來,隨著NLP技術(shù)日益成熟,開源實現(xiàn)的分詞工具越來越多,如Ansj、HanLP、盤古分詞等。本文我們選取了Jieba進行介紹。


        作者:杜振東 涂銘?來源:大數(shù)據(jù)DT(ID:hzdashuju)


        01 Jieba的特點

        1. 社區(qū)活躍

        Jieba在GitHub上已經(jīng)有25.3k的star數(shù)目。社區(qū)活躍度高,代表著該項目會持續(xù)更新,能夠長期使用,用戶在實際生產(chǎn)實踐中遇到的問題也能夠在社區(qū)進行反饋并得到解決。

        2. 功能豐富

        Jieba并不是只有分詞這一個功能,它是一個開源框架,提供了很多在分詞之上的算法,如關(guān)鍵詞提取、詞性標注等。

        3. 提供多種編程語言實現(xiàn)

        Jieba官方提供了Python、C++、Go、R、iOS等多平臺多語言支持,不僅如此,還提供了很多熱門社區(qū)項目的擴展插件,如ElasticSearch、solr、lucene等。在實際項目中,使用Jieba進行擴展十分容易。

        4. 使用簡單

        Jieba的API總體來說并不多,且需要進行的配置并不復雜,適合新手上手。下載完成后,可以使用如下命令進行安裝。

        pip?install?jieba

        Jieba分詞結(jié)合了基于規(guī)則基于統(tǒng)計兩類方法。首先基于前綴詞典進行詞圖掃描,前綴詞典是指詞典中的詞按照前綴包含的順序排列,如詞典中出現(xiàn)了“上”,之后以“上”開頭的詞都會出現(xiàn)在一起,如詞典中出現(xiàn)“上?!币辉~,進而會出現(xiàn)“上海市”等詞,從而形成一種層級包含結(jié)構(gòu)。

        如果將詞看作節(jié)點,詞和詞之間的分詞符看作邊,那么一種分詞方案則對應(yīng)著從第一個字到最后一個字的一條分詞路徑。因此,基于前綴詞典可以快速構(gòu)建包含全部可能分詞結(jié)果的有向無環(huán)圖,這個圖包含多條分詞路徑,有向是指全部的路徑都始于第一個字、止于最后一個字,無環(huán)是指節(jié)點之間不構(gòu)成閉環(huán)。

        其次,基于標注語料、使用動態(tài)規(guī)劃的方法可以找出最大概率路徑,并將其作為最終的分詞結(jié)果。對于未登錄詞,Jieba使用了基于漢字成詞的HMM模型,采用了Viterbi算法進行推導。


        02 Jieba的3種分詞模式

        Jieba提供了以下3種分詞模式。

        1. 精確模式:試圖將句子精確地切開,適合文本分析。
        2. 全模式:把句子中所有可以成詞的詞語都掃描出來。全模式處理速度非???,但是不能解決歧義。
        3. 搜索引擎模式:在精確模式的基礎(chǔ)上,對長詞再次切分,提高召回率,適用于搜索引擎分詞。

        下面是使用這3種模式的對比。

        import?jieba

        sent?=?'中文分詞是文本處理不可或缺的一步!'
        seg_list?=?jieba.cut(sent,?cut_all=True)

        print('全模式:',?'/?'?.join(seg_list))?

        seg_list?=?jieba.cut(sent,?cut_all=False)
        print('精確模式:',?'/?'.join(seg_list))?

        seg_list?=?jieba.cut(sent)??
        print('默認精確模式:',?'/?'.join(seg_list))

        seg_list?=?jieba.cut_for_search(sent)??
        print('搜索引擎模式',?'/?'.join(seg_list))

        運行結(jié)果如下所示。

        全模式:中文/?分詞/?是/?文本/?文本處理/?本處/?處理/?不可/?不可或缺/?或缺/?的/?一步/?/?
        精確模式:中文/?分詞/?是/?文本處理/?不可或缺/?的/?一步/?!
        默認精確模式:中文/?分詞/?是/?文本處理/?不可或缺/?的/?一步/?!
        搜索引擎模式中文/?分詞/?是/?文本/?本處/?處理/?文本處理/?不可/?或缺/?不可或缺/?的/?一步/?!

        可以看到,在全模式和搜索引擎模式下,Jieba會把分詞的所有可能都打印出來。一般直接使用精確模式即可,但是在某些模糊匹配場景下,使用全模式或搜索引擎模式更適合。

        關(guān)于作者:杜振東,國家標準委人工智能技術(shù)專家和AIIA(中國人工智能產(chǎn)業(yè)發(fā)展聯(lián)盟)技術(shù)專家。擁有8年機器學習與文本挖掘相關(guān)技術(shù)經(jīng)驗,6年中文自然語言處理相關(guān)項目實戰(zhàn)經(jīng)驗,擅長PyTorch、TensorFlow等主流深度學習框架,擅長運用NLP前沿技術(shù)解決真實項目的難題。

        涂銘,數(shù)據(jù)架構(gòu)師和人工智能技術(shù)專家,曾就職于阿里,現(xiàn)就職于騰訊。對大數(shù)據(jù)、自然語言處理、圖像識別、Python、Java等相關(guān)技術(shù)有深入的研究,積累了豐富的實踐經(jīng)驗。?


        本文摘編自會話式AI:自然語言處理與人機交互》,經(jīng)出版方授權(quán)發(fā)布。

        延伸閱讀會話式AI:自然語言處理與人機交互
        點擊上圖了解及購買
        轉(zhuǎn)載請聯(lián)系微信:DoctorData

        推薦語:騰訊、國家標準委AI專家撰寫,詳解NLP和人機交互,從算法、實戰(zhàn)3維度講解聊天機器人原理、實現(xiàn)與工程實踐。


        為您推薦

        101道Numpy、Pandas練習題

        干掉 LaTeX !用BookDown寫本書

        干掉 Navicat!一款數(shù)據(jù)分析師必備的數(shù)據(jù)庫可視化工具

        春節(jié)學習不打烊↓↓↓

        瀏覽 43
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            美国一级淫片 | www.午夜 | av电影天堂网 | 日本精品三级 | 台湾久久夕三极片 | 尻尻视频| 91久久无码一区人妻A片蜜桃 | 天天综合干 | 少妇三洞齐开 | 日韩精品无码一区二区中文字幕 |