talon仅在非常特定的环境下工作,签名清晰且周围没有“噪音”。
尽管它可以使用文档中给出的示例,但在我提供的许多测试电子邮件中都找不到任何信号。例如,如果sig后面的字符超过61个,则它与任何内容都不匹配。
from talon.signature.bruteforce import extract_signature
message = """Wow. Awesome!
--
Bob Smith
If you do not wish to receive further emails from us, click here to unsubscribe."""
text, signature = extract_signature(message)
print('Signature found:\n' + str(signature) + '\n')
这将返回Signature found:\n None
,而不是预期的Signature found:\n--\nBob Smith
。但是,如果sig后面的行减少为<62个字符(在单词click
之后停止),它将返回sig加上不应包含的额外行。
在相同的输入下ML版本的talon失败(可以为此提供MWE)。
文档说,启发式版本将在90%的情况下适用,而ML版本应能覆盖其余10%的情况,这使我认为我缺少了一些东西,因为启发式和ML版本相结合我送给它的电子邮件的比例微不足道。
任何想法可能出了什么问题?谢谢。