亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

用于大寫檢測的模糊模糊 WRatio

用于大寫檢測的模糊模糊 WRatio

MM們 2022-11-09 14:53:28
我需要幫助找出原因fuzz.WRatio('Māne', 'mane', force_ascii=True) => 75%并且fuzz.WRatio('Māne', 'Mane', force_ascii=True) => 75%我希望 force_ascii 參數能夠提高準確性。謝謝你。
查看完整描述

1 回答

?
忽然笑

TA貢獻1806條經驗 獲得超5個贊

有兩個參數force_ascii,full_process在使用fuzz.WRatiofuzzywuzzy 時,默認情況下都是True。它們都用于預處理字符串(force_ascii 僅在 full_process 為 True 時使用,否則被忽略)。

1) 使用時force_ascii=False, full_process=False 字符串在匹配之前不會更改,因此例如大寫/小寫很重要。

2) 使用force_ascii=False, full_process=True 時,字符串中的所有非字母數字字符都替換為空格,字符串小寫,開頭和結尾的空格被修剪。例如“M?ne!” ->“馬內”->“馬內”->“馬內”

2) 使用時force_ascii=True, full_process=True 這與 2) 相同,但會預先刪除所有非 ascii 字符。例如“M?ne!” -> “嗯!” -> “Mne” -> “Mne” -> “Mne”

我真的不認為force_ascii默認為 true 是一件好事,因為我個人在 99% 的情況下并不真正想要這種行為,但大多數使用fuzzywuzzy 的人甚至不知道這種行為。除此之外,它似乎有一個錯誤,因為例如

> utils.full_process("ā", force_ascii=True)
'ā'

雖然它顯然不是 ascii 字符,因此應該返回一個空字符串。

在您希望它考慮您應該調用的兩個字符串之間的任何差異的情況下

> fuzz.WRatio('Māne', 'mane', full_process=False)
50
> fuzz.WRatio('Māne', 'Mane', full_process=False)
75


查看完整回答
反對 回復 2022-11-09
  • 1 回答
  • 0 關注
  • 158 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號