我正在研究一个产品分类问题(电子商务),我必须根据关键字识别产品类别。
例如,如果输入为“ Samsung Galaxy On Nxt 3 GB RAM 16 GB ROM Expandable Upto 256 GB 5.5 inch Full HD Display ”,它应该正确地将其识别为“Mobile”。
这里的问题是我必须在某些键值对上训练模型。以前,我通过使用 LinearSVC 在产品级别上训练模型来解决同样的问题,它给出了令人满意的结果。
有关数据的详细信息:
我目前有 39 个类/类别,将来可能会增加。
我正在使用一个大约 10 MB 的 csv 文件,它有大约 7000 行。(请参阅下面的结构)
- 我正在使用来自 sklearn.svm 的 LinearSVC
我现在有以下培训结构:
--------------------------------------------------------------
| Attribute_Names | Attribute_Values | Category |
--------------------------------------------------------------
| Brand | Samsung, Nokia, OnePlus | Mobile |
| RAM, Memory | 2 GB, 4 GB, 3 GB, 6GB | Mobile |
| Color,Colour | Black, Golden, White | Mobile |
--------------------------------------------------------------
| Fabric, Material | Cloth, Synthetic, Silk | Ethnic Wear |
| Pattern, Design | Digital, floral print | Ethnic Wear |
--------------------------------------------------------------
我有以下查询:
1 - 使用哪种模型来解决这个问题?
2 - 你会如何处理这样的问题?
3 - 您遇到的任何类似问题。
任何帮助深表感谢。
编辑:
步骤 1) - 合并列(attribute_names, attribute_values)
步骤 2) - 清理数据(删除停用词、特殊字符、词干)
步骤 3) - 使用 TfidfVectorizer(stop_words='english',lowecase=True) 进行特征提取
步骤 4) - OneVsRestClassifier(LinearSVC(loss='hinge',penalty='l2'))
这是我们到目前为止执行的步骤,结果还不够好(仍然存在错误分类)
数据的格式/结构与我们上面提到的相同。