【发布时间】:2019-03-17 19:23:26
【问题描述】:
我有一个问题要解决:
问题解释如下:
该公司为其销售的所有产品(目前近 4,500 种)的规格维护一个数据集。现在每个客户都分享了他/她想从公司购买的产品的详细信息(名称、数量、品牌等)。现在,客户在他/她的数据集中输入详细信息时可能会错误地拼写产品名称。此外,可以通过公司数据集中的许多不同方式引用产品。示例:红辣椒可称为guntur chilly、全红辣椒、有茎红辣椒、无茎红辣椒等。
我完全不知道如何解决这个问题。我应该使用任何基于机器学习的技术吗?如果是,那么请解释我该怎么做。或者,如果可以在没有机器学习的情况下解决这个问题,那么还要解释你的方法。我正在使用 Python。
挑战:客户可以通过多种方式引用产品,而公司还可以通过多种方式存储具有不同规格(例如名称、数量、测量单位等)的单一产品。标记数据集我可以发现红牛能量饮料(客户输入的数据)是红牛(标签),红牛(客户输入)也是红牛。但是找到这个标签有什么用呢?因为在我公司的数据集中,红牛也以多种方式出现。再次,我必须找到它们在公司数据集中出现的所有不同的红牛名称。
我的方法: 我将准备一个这样的 Python 字典:
{
"red chilly" : ['red chilly', 'guntur chilly', 'red chilly with stem'],
"red bull" : ['red bull energy drink', 'red bull']
}
字典中的每个条目都是一个产品。其键是产品的词干名称,值是产品的所有可能名称。现在客户输入产品名称,例如红牛能量饮料。我将在字典中检查每个键。如果该键的任何值匹配,那么我将理解该产品实际上是红牛,它可以在公司数据集中被称为红牛和红牛能量饮料。这个方法怎么样?
【问题讨论】:
-
您打算如何构建产品的所有可能名称。您会为所有 4500 种产品手动执行此操作吗?
-
是的,我没有其他办法。公司会为我提供所有的同义词。你还有什么建议吗?
-
根据程序员的经验进行静态查找很烦人,可能无法解决您的问题。这就是机器学习的优势所在。
标签: python machine-learning nlp string-matching