[英]Best way to get keyword similarity value from a sentence?
我试图弄清楚什么是最好的方法,什么是我想要实现的目标的最佳指标。
我正在寻找文本之间的相似度值,例如:
Keyword: "why can't dogs eat chocolate"
文字: "Chocolate is toxic to dogs because it contains theobromine and to a lesser extent, caffeine."
虽然文中没有确切的关键词,但意思大致相同。
目前我正在使用模糊字符串匹配,但我认为这并不理想。 (使用 Thefuzz 模块)
value = fuzz.token_set_ratio(keyword, text)
从某种意义上说,我只是想找出是否可以在文本中找到关键字的"core meaning"
,即使它是一个巨大的文本。
在 python 中有一个 RapidFuzz 库RapidFuzz 。 写在 C++ 上,在 larga 数据上更快。
有多种配置,您可以找到最适合您的配置。
这是一个用法
一个示例,您可以在其中提取最相似的查询,并且还可以使用许多处理器来执行此操作。 无需自己实现
rapidfuzz.process.extract(query, choices, *, scorer=<cyfunction WRatio>, processor=<cyfunction default_process>, limit=5, score_cutoff=None, score_hint=None, **kwargs)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.