第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

在golang中,去除停用詞最快的方法是什么?

在golang中,去除停用詞最快的方法是什么?

Go
溫溫醬 2021-11-15 17:18:48
我創(chuàng)建了一個(gè) go包來刪除停用詞,我正在嘗試優(yōu)化它。根據(jù)我的研究,許多語言的停用詞列表平均包含大約 300 個(gè)單詞。在包的當(dāng)前版本中,我使用了一個(gè)簡單的映射來存儲(chǔ)停用詞列表。然后,我打破原始內(nèi)容中的單詞并通過添加不在地圖(停用詞)中的單詞重新創(chuàng)建過濾內(nèi)容。我嘗試使用布隆過濾器,但它并沒有提高性能。我認(rèn)為這是由于兩個(gè)因素:布隆過濾器在搜索大型集合時(shí)速度很快,但構(gòu)建成本很高(即使構(gòu)建一次)。因此,當(dāng) m 約為 300 時(shí),整體增益很小。在當(dāng)前版本中,我使用了映射,如果我沒記錯(cuò)的話,go 會(huì)構(gòu)建一個(gè)哈希映射來更快地搜索密鑰。有沒有更快的方法?
查看完整描述

1 回答

?
繁花不似錦

TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超4個(gè)贊

嘗試通過將所有候選詞粘貼在一起|并提前編譯來構(gòu)建正則表達(dá)式。RE2 正則表達(dá)式引擎會(huì)將大的交替列表轉(zhuǎn)換為高效的特里數(shù)據(jù)結(jié)構(gòu)以進(jìn)行匹配。你可以這樣做:


reStr := ""


for i, word := range words {

    if i != 0 {

        reStr += `|`

    }

    reStr += `\Q` + word + `\E`

}

re := regexp.MustCompile(reStr)

(中\(zhòng)Q和\E防止在偶然的情況下,任何在列表中的單詞包含正則表達(dá)式元字符,并且是無害的,否則任何問題)。


查看完整回答
反對(duì) 回復(fù) 2021-11-15
  • 1 回答
  • 0 關(guān)注
  • 492 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)