亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

用python實(shí)現(xiàn)前向分詞最大匹配算法的示例代碼

 更新時(shí)間:2020年08月06日 11:16:38   作者:ywsydwsbn  
這篇文章主要介紹了用python實(shí)現(xiàn)前向分詞最大匹配算法的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

理論介紹

分詞是自然語(yǔ)言處理的一個(gè)基本工作,中文分詞和英文不同,字詞之間沒(méi)有空格。中文分詞是文本挖掘的基礎(chǔ),對(duì)于輸入的一段中文,成功的進(jìn)行中文分詞,可以達(dá)到電腦自動(dòng)識(shí)別語(yǔ)句含義的效果。中文分詞技術(shù)屬于自然語(yǔ)言處理技術(shù)范疇,對(duì)于一句話(huà),人可以通過(guò)自己的知識(shí)來(lái)明白哪些是詞,哪些不是詞,但如何讓計(jì)算機(jī)也能理解?其處理過(guò)程就是分詞算法。

可以將中文分詞方法簡(jiǎn)單歸納為:

1.基于詞表的分詞方法
2.基于統(tǒng)計(jì)的分詞方法
3.基于序列標(biāo)記的分詞方法

其中,基于詞表的分詞方法最為簡(jiǎn)單,根據(jù)起始匹配位置不同可以分為:

1.前向最大匹配算法
2.后向最大匹配算法
3.雙向最大匹配算法

三種方法思想都很簡(jiǎn)單,今天就用python實(shí)現(xiàn)前向最大匹配算法。

word分詞是一個(gè)Java實(shí)現(xiàn)的分布式的中文分詞組件,提供了多種基于詞典的分詞算法,并利用ngram模型來(lái)消除歧義。能準(zhǔn)確識(shí)別英文、數(shù)字,以及日期、時(shí)間等數(shù)量詞,能識(shí)別人名、地名、組織機(jī)構(gòu)名等未登錄詞。能通過(guò)自定義配置文件來(lái)改變組件行為,能自定義用戶(hù)詞庫(kù)、自動(dòng)檢測(cè)詞庫(kù)變化、支持大規(guī)模分布式環(huán)境,能靈活指定多種分詞算法,能使用refine功能靈活控制分詞結(jié)果,還能使用詞性標(biāo)注、同義標(biāo)注、反義標(biāo)注、拼音標(biāo)注等功能。同時(shí)還無(wú)縫和Lucene、Solr、ElasticSearch、Luke集成。

前向最大匹配算法

前向最大匹配算法,顧名思義,就是從待分詞句子的左邊向右邊搜索,尋找詞的最大匹配。我們需要規(guī)定一個(gè)詞的最大長(zhǎng)度,每次掃描的時(shí)候?qū)ふ耶?dāng)前開(kāi)始的這個(gè)長(zhǎng)度的詞來(lái)和字典中的詞匹配,如果沒(méi)有找到,就縮短長(zhǎng)度繼續(xù)尋找,直到找到字典中的詞或者成為單字。

具體代碼實(shí)現(xiàn)

獲取分詞函數(shù):getSeg(text)

def getSeg(text):
  # 句子為空
  if not text:
    return ''

  # 句子成為一個(gè)詞
  if len(text) == 1:
    return text

  # 此處寫(xiě)了一個(gè)遞歸方法
  if text in word_dict:
    return text
  else:
    small = len(text) - 1
    text = text[0:small]
    return getSeg(text)

主函數(shù):main()

def main():
  global test_str, word_dict
  test_str = test_str.strip()
  # 正向最大匹配分詞測(cè)試 最大長(zhǎng)度5
  max_len = max(len(word) for word in word_dict)
  result_str = [] # 保存分詞結(jié)果
  result_len = 0
  print('input :', test_str)
  while test_str:
    tmp_str = test_str[0:max_len]
    seg_str = getSeg(tmp_str)
    seg_len = len(seg_str)
    result_len = result_len + seg_len

    if seg_str.strip():
      result_str.append(seg_str)
    test_str = test_str[seg_len:]

  print('output :', result_str)

字典:

word_dict = ['混沌', 'Logistic', '算法', '圖片', '加密', '利用', '還原', 'Lena', '驗(yàn)證', 'Baboon', '效果']

測(cè)試句子:

test_str = '''一種基于混沌Logistic加密算法的圖片加密與還原的方法,并利用Lena圖和Baboon圖來(lái)驗(yàn)證這種加密算法的加密效果。'''

分詞結(jié)果

到此這篇關(guān)于用python實(shí)現(xiàn)前向分詞最大匹配算法的示例代碼的文章就介紹到這了,更多相關(guān)python 前向分詞最大匹配算法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python文件基本操作open函數(shù)應(yīng)用與示例詳解

    Python文件基本操作open函數(shù)應(yīng)用與示例詳解

    這篇文章主要為大家介紹了Python文件基本操作open函數(shù)應(yīng)用與示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12
  • python之驗(yàn)證碼生成(gvcode與captcha)

    python之驗(yàn)證碼生成(gvcode與captcha)

    這篇文章主要介紹了python之驗(yàn)證碼生成(gvcode與captcha),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01
  • 使用Tensorflow將自己的數(shù)據(jù)分割成batch訓(xùn)練實(shí)例

    使用Tensorflow將自己的數(shù)據(jù)分割成batch訓(xùn)練實(shí)例

    今天小編就為大家分享一篇使用Tensorflow將自己的數(shù)據(jù)分割成batch訓(xùn)練實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-01-01
  • Python?Httpx庫(kù)實(shí)現(xiàn)超跑式網(wǎng)絡(luò)請(qǐng)求用法實(shí)例

    Python?Httpx庫(kù)實(shí)現(xiàn)超跑式網(wǎng)絡(luò)請(qǐng)求用法實(shí)例

    這篇文章主要為大家介紹了Python?Httpx庫(kù)實(shí)現(xiàn)超跑式網(wǎng)絡(luò)請(qǐng)求用法實(shí)例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01
  • Django框架靜態(tài)文件使用/中間件/禁用ip功能實(shí)例詳解

    Django框架靜態(tài)文件使用/中間件/禁用ip功能實(shí)例詳解

    這篇文章主要介紹了Django框架靜態(tài)文件使用/中間件/禁用ip功能,結(jié)合實(shí)例形式詳細(xì)分析了Django框架靜態(tài)文件的使用、中間件的原理、操作方法以及禁用ip功能相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2019-07-07
  • python中有函數(shù)重載嗎

    python中有函數(shù)重載嗎

    在本篇內(nèi)容里下邊給大家整理的是關(guān)于python函數(shù)重載的知識(shí)點(diǎn)總結(jié),有需要的朋友們可以學(xué)習(xí)下。
    2020-05-05
  • Python實(shí)現(xiàn)基于KNN算法的筆跡識(shí)別功能詳解

    Python實(shí)現(xiàn)基于KNN算法的筆跡識(shí)別功能詳解

    這篇文章主要介紹了Python實(shí)現(xiàn)基于KNN算法的筆跡識(shí)別功能,結(jié)合實(shí)例形式詳細(xì)分析了使用KNN算法進(jìn)行筆跡識(shí)別的相關(guān)庫(kù)引入、操作步驟與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2018-07-07
  • Python海龜繪圖之繪制趣味簡(jiǎn)筆畫(huà)

    Python海龜繪圖之繪制趣味簡(jiǎn)筆畫(huà)

    大家好,本篇文章主要講的是Python海龜繪圖之繪制趣味簡(jiǎn)筆畫(huà),感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話(huà)記得收藏一下,方便下次瀏覽
    2021-12-12
  • python中bytes和str類(lèi)型的區(qū)別

    python中bytes和str類(lèi)型的區(qū)別

    這篇文章主要介紹了python中bytes和str類(lèi)型的區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10
  • 一文帶你吃透Python中的os和sys模塊

    一文帶你吃透Python中的os和sys模塊

    os?模塊是?Python中的一個(gè)內(nèi)置模塊,也是?Python中整理文件和目錄最為常用的模塊。sys?模塊主要負(fù)責(zé)與?Python?解釋器進(jìn)行交互,該模塊提供了一系列用于控制?Python?運(yùn)行時(shí)環(huán)境的不同部分(函數(shù)和變量等)。本文主要來(lái)聊聊這兩個(gè)模塊的使用,希望對(duì)大家有所幫助
    2023-02-02

最新評(píng)論