问题:To classify the user product as banned or approved
。
如果产品包含类似" 濒危物种 "," 等禁用词,则会将其标记为已禁止虎皮 "等
我使用监督学习算法 MultinomialNB 对产品进行分类,用bigrams给出了92%的准确率。
但我有一个错误分类的问题,其中" tiger skin"正在获得批准。原因是我们有很多老虎皮花岗岩/老虎皮虾的产品。被标记为已批准。
为了解决这个问题,我想创建一些 规则 以及MultinomialNB算法,以改善这些错误分类。
规则应该是这样的: - 如果关键字" tiger"附近还有3/4字的花岗岩/虾,然后标记/认为它是批准的。
请在这里帮助我。我怎么能这样做。
答案 0 :(得分:3)
您可能想要尝试的一件事是使用其他类型的分类器,例如GradientBoostedClassifier
,它可以捕获变量之间的交互;这可能会解决您的问题。否则,您可以使用正则表达式来实现自定义规则:
import re
if re.search(tiger (\w+ ){0,4}(prawn|granite),text):
return 'allowed'