问题:To classify the user product as banned or approved
。
如果产品中包含“濒危物种”,“虎皮”等禁止字词,则会被标记为“禁止”字样。
我使用监督学习算法MultinomialNB对产品进行分类,使用bigrams可以达到92%的精度。
但是我有一个错误分类的问题,即“虎皮”产品正在获得批准。原因是我们有很多“虎皮花岗石/虎皮虾”的产品被标记为已批准。
为了解决此问题,我想与MultinomialNB算法一起创建一些规则,以改善这些错误分类。
规则应如下所示:-如果关键字“ tiger”在附近的3/4字词上也有花岗岩/大虾,然后将其标记/视为已批准。
请在这里帮助我。我怎样才能做到这一点。
您可能想尝试的一件事是使用另一种分类器,例如GradientBoostedClassifier
,它可以捕获变量之间的交互。这可能会解决您的问题。否则,您可以只使用正则表达式来实现您的自定义规则:
import re
if re.search(tiger (\w+ ){0,4}(prawn|granite),text):
return 'allowed'
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句