训练目标、数据分组与泄漏:练习答案
参考实现
独立运行,规范化仅演示大小写和标点,不代表完备近重复检测:
python
import re
def canonical(text):
return re.sub(r'\W+', '', text.lower())
train = ['refund failed','cannot log in']
test = ['Refund failed!','invoice missing']
leaks = {canonical(x) for x in train} & {canonical(x) for x in test}
assert leaks == {'refundfailed'}客户分组和内容重复是两个维度,应同时检查;语义近重复还需要相似度和人工复核,不能仅靠这个正则。
返回题目。