校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > Python容錯的前綴樹實現中文糾錯

Python容錯的前綴樹實現中文糾錯

熱門標簽:電銷機器人錄音要學習什么 煙臺電話外呼營銷系統 如何地圖標注公司 預覽式外呼系統 銀川電話機器人電話 企業彩鈴地圖標注 上海正規的外呼系統最新報價 外賣地址有什么地圖標注 長春極信防封電銷卡批發

介紹

本文使用 Python 實現了前綴樹,并且支持編輯距離容錯的查詢。文中的前綴樹只存儲了三個分詞,格式為 (分詞字符串,頻率) ,如:('中海晉西園', 2)、('中海西園', 24)、('中南海', 4),可以換成自己的文件進行數據的替換。在查詢的時候要指定一個字符串和最大的容錯編輯距離。

實現

class Word:
    def __init__(self, word, freq):
        self.word = word
        self.freq = freq

class Trie:
    def __init__(self):
        self.root = LetterNode('')
        self.START = 3

    def insert(self, word, freq):
        self.root.insert(word, freq, 0)

    def findAll(self, query, maxDistance):
        suggestions = self.root.recommend(query, maxDistance, self.START)
        return sorted(set(suggestions), key=lambda x: x.freq)


class LetterNode:
    def __init__(self, char):
        self.REMOVE = -1
        self.ADD = 1
        self.SAME = 0
        self.CHANGE = 2
        self.START = 3
        self.pointers = []
        self.char = char
        self.word = None

    def charIs(self, c):
        return self.char == c

    def insert(self, word, freq, depth):
        if ' ' in word:
            word = [i for i in word.split(' ')]
        if depth  len(word):
            c = word[depth].lower()
            for next in self.pointers:
                if next.charIs(c):
                    return next.insert(word, freq, depth + 1)
            nextNode = LetterNode(c)
            self.pointers.append(nextNode)
            return nextNode.insert(word, freq, depth + 1)
        else:
            self.word = Word(word, freq)

    def recommend(self, query, movesLeft, lastAction):
        suggestions = []
        length = len(query)

        if length >= 0 and movesLeft - length >= 0 and self.word:
            suggestions.append(self.word)

        if movesLeft == 0 and length > 0:
            for next in self.pointers:
                if next.charIs(query[0]):
                    suggestions += next.recommend(query[1:], movesLeft, self.SAME)
                    break

        elif movesLeft > 0:
            for next in self.pointers:
                if length > 0:
                    if next.charIs(query[0]):
                        suggestions += next.recommend(query[1:], movesLeft, self.SAME)
                    else:
                        suggestions += next.recommend(query[1:], movesLeft - 1, self.CHANGE)
                        if lastAction != self.CHANGE and lastAction != self.REMOVE:
                            suggestions += next.recommend(query, movesLeft - 1, self.ADD)
                        if lastAction != self.ADD and lastAction != self.CHANGE:
                            if length > 1 and next.charIs(query[1]):
                                suggestions += next.recommend(query[2:], movesLeft - 1, self.REMOVE)
                            elif length > 2 and next.charIs(query[2]) and movesLeft == 2:
                                suggestions += next.recommend(query[3:], movesLeft - 2, self.REMOVE)
                else:
                    if lastAction != self.CHANGE and lastAction != self.REMOVE:
                        suggestions += next.recommend(query, movesLeft - 1, self.ADD)
        return suggestions



def buildTrieFromFile():
    trie = Trie()
    rows = [('中海晉西園', 2),('中海西園', 24),('中南海', 4)]
    for row in rows:
        trie.insert(row[0], int(row[1]))
    return trie


def suggestor(trie, s, maxDistance):
    if ' ' in s:
        s = [x for x in s.split(' ')]
    suggestions = trie.findAll(s, maxDistance)
    return [str(x.word) for x in suggestions]


if __name__ == "__main__":
    trie = buildTrieFromFile()
    r = suggestor(trie, '中海晉西園', 1)
    print(r)

分析

結果打?。?br /> ['中海晉西園', '中海西園']

可以看出“中海晉西園”是和輸入完全相同的字符串,編輯距離為 0 ,所以符合最大編輯距離為 1 的要求,直接返回。

“中海西園”是“中海晉西園”去掉“晉”字之后的結果,編輯距離為 1, 所以符合最大編輯距離為 1 的要求,直接返回。

另外,“中南海”和“中海晉西園”的編輯距離為 4 ,不符合最大編輯距離為 1 的要求,所以結果中沒有出現。

參考

https://github.com/leoRoss/AutoCorrectTrie

到此這篇關于Python容錯的前綴樹實現中文糾錯的文章就介紹到這了,更多相關Python 中文糾錯內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Python中文糾錯的簡單實現

標簽:潮州 宜昌 佳木斯 西寧 上饒 湖北 珠海 盤錦

巨人網絡通訊聲明:本文標題《Python容錯的前綴樹實現中文糾錯》,本文關鍵詞  Python,容,錯的,前綴,樹,實現,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Python容錯的前綴樹實現中文糾錯》相關的同類信息!
  • 本頁收集關于Python容錯的前綴樹實現中文糾錯的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    久久蜜桃一区二区| 91婷婷韩国欧美一区二区| 伊人色综合久久天天| 亚洲国产一区视频| 亚洲国产一区二区在线播放| 天堂va蜜桃一区二区三区 | 欧美激情一区二区在线| 久久免费看少妇高潮| 自拍偷拍亚洲激情| 日韩av中文字幕一区二区三区| 婷婷综合五月天| 懂色av一区二区夜夜嗨| 色婷婷精品大视频在线蜜桃视频| 欧美在线视频日韩| 久久这里只有精品6| 亚洲综合在线观看视频| 国内久久精品视频| 在线视频欧美精品| 国产精品丝袜一区| 视频一区国产视频| 欧美伊人久久大香线蕉综合69| 91麻豆精品91久久久久久清纯| 久久精品日韩一区二区三区| 亚洲国产一区在线观看| 成人免费视频网站在线观看| 欧美成人精品福利| 亚洲一区二区偷拍精品| 色女孩综合影院| 亚洲欧洲日韩av| 91丝袜高跟美女视频| 欧美国产在线观看| 国产成a人亚洲精品| 26uuu精品一区二区| 国产一二精品视频| 精品处破学生在线二十三| 久久激情综合网| 日韩免费观看高清完整版在线观看| 中文字幕亚洲一区二区av在线 | 美女视频黄免费的久久| 日韩一区二区高清| 免费久久精品视频| 日韩欧美中文字幕一区| 国产美女精品在线| 中文字幕亚洲电影| 风间由美中文字幕在线看视频国产欧美| 91美女精品福利| 国产传媒日韩欧美成人| 激情综合网av| 日韩女优av电影在线观看| 国产福利一区二区三区视频| 亚洲国产高清aⅴ视频| 91蝌蚪国产九色| 麻豆久久久久久久| 中文字幕一区三区| 5566中文字幕一区二区电影| 国产一区二区福利视频| 亚洲欧美日韩电影| 日韩欧美国产一区二区三区| 色婷婷综合久久久久中文一区二区| 天天操天天色综合| 中文字幕色av一区二区三区| 欧美一级在线免费| 欧美午夜电影在线播放| 成人福利在线看| 岛国av在线一区| 国产成人精品综合在线观看 | 欧美电影一区二区三区| 色成人在线视频| 色综合天天综合色综合av| 国产一区二区在线影院| 亚洲电影你懂得| 视频一区二区三区在线| 亚洲国产美女搞黄色| 中文字幕日韩一区| 亚洲中国最大av网站| 亚洲一区在线观看免费| 天天操天天干天天综合网| 亚洲观看高清完整版在线观看| 亚洲免费观看高清完整版在线观看 | 日韩一区二区在线观看视频| 欧美日韩视频在线第一区| 欧美日韩一区二区三区在线| 欧美中文一区二区三区| 日韩欧美国产综合一区| 国产精品丝袜一区| 亚洲成a人片在线观看中文| 免费成人av在线播放| 国产剧情一区二区| 欧美亚洲日本一区| 亚洲精品一区二区三区99 | 欧美精品 日韩| 国产精品网站在线| 欧美aⅴ一区二区三区视频| 国产91清纯白嫩初高中在线观看| 波多野结衣中文字幕一区| 欧美一区二区日韩| 亚洲综合免费观看高清完整版在线| 看电影不卡的网站| 欧美日韩亚洲另类| 一区二区三区高清不卡| 国产91精品在线观看| 日韩一二在线观看| 日本不卡的三区四区五区| 色婷婷久久综合| 亚洲欧美偷拍三级| 99久久久免费精品国产一区二区| 精品粉嫩超白一线天av| 丝袜美腿成人在线| 91精选在线观看| 日本不卡中文字幕| 日韩精品专区在线| 九一久久久久久| 国产亚洲欧美日韩在线一区| 日韩影视精彩在线| 4hu四虎永久在线影院成人| 亚洲国产精品一区二区www| 91尤物视频在线观看| 亚洲欧美日韩精品久久久久| 成人精品小蝌蚪| 一区在线播放视频| 91免费观看视频| 日韩精品色哟哟| 精品奇米国产一区二区三区| 狠狠色狠狠色合久久伊人| 久久久精品国产免大香伊 | 欧美一区二区三区免费大片| 日韩电影在线免费看| 久久精品在线免费观看| jizzjizzjizz欧美| 日韩精品免费专区| 久久精品网站免费观看| 欧美体内she精高潮| 精品亚洲欧美一区| 一区二区三区**美女毛片| 欧美精品一区二区三区在线播放| 成人午夜电影小说| 另类成人小视频在线| 亚洲综合激情另类小说区| 国产亚洲欧美日韩日本| 欧美日韩夫妻久久| 欧美在线观看视频一区二区三区| 国产一区欧美一区| 黄一区二区三区| 日韩电影在线一区| 日本中文字幕一区二区视频 | 国产成人一区二区精品非洲| 五月开心婷婷久久| 尤物在线观看一区| 亚洲午夜羞羞片| 日韩在线播放一区二区| 日韩电影在线一区二区三区| 亚洲电影激情视频网站| 午夜激情综合网| 精品写真视频在线观看| 蜜桃视频免费观看一区| 激情综合亚洲精品| 九九热在线视频观看这里只有精品| 视频一区二区三区在线| 精品一区二区影视| a美女胸又www黄视频久久| 一本色道**综合亚洲精品蜜桃冫| www.日本不卡| 欧美一卡二卡三卡| 国产精品对白交换视频 | 精品日韩一区二区三区免费视频| 91精品国产乱码久久蜜臀| 国产日韩欧美不卡在线| 亚洲高清视频中文字幕| 国产成人av一区二区三区在线 | 欧美成人激情免费网| 国产婷婷色一区二区三区四区 | 亚洲国产毛片aaaaa无费看| 黑人精品欧美一区二区蜜桃| 91久久精品一区二区二区| 337p日本欧洲亚洲大胆精品| 亚洲一区二区三区免费视频| 国产 欧美在线| 日韩欧美国产1| 蜜臀99久久精品久久久久久软件| 成人动漫中文字幕| 久久久影视传媒| 国产精品原创巨作av| 欧美一级欧美三级| 奇米在线7777在线精品| 制服丝袜亚洲播放| 午夜天堂影视香蕉久久| 色婷婷综合久久久久中文一区二区 | 色哟哟亚洲精品| 亚洲小少妇裸体bbw| 欧美欧美午夜aⅴ在线观看| 亚洲一区二区3| 日韩三级高清在线| 国产老肥熟一区二区三区| 久久精品一区四区| 国产91综合一区在线观看| 亚洲综合色噜噜狠狠| 91麻豆精品国产自产在线| 国产一区二区在线观看免费 | 美女一区二区视频| 国产精品国产三级国产专播品爱网|