我有大约2-3百万个产品。每个产品遵循这种结构正确使用机器学习算法根据内容而不是用户历史找到类似产品的方法
{
"sku": "Unique ID of Product (String of 20 chars)"
"title":"Title of product eg Oneplus 5 - 6GB + 64GB ",
"brand":"Brand of product eg OnePlus",
"cat1":"First Category of Product Phone",
"cat2":"Second Category of Product Mobile Phones",
"cat3":"Third Category of Product Smart Phones",
"price":500.00,
"shortDescription":"Short description about the product (Around 8 - 10 Lines)",
"longDescription":"Long description about the product (Aroung 50 - 60 Lines)"
}
问题语句是
查找仅基于内容或产品数据的同类产品。因此,当电子商务用户点击某个产品(SKU)时,我会在建议中向该SKU或产品展示类似的产品。
例如,如果用户点击苹果iPhone 6S银,我将展示这些产品的“同类产品推荐”
1)苹果iPhone 6S黄金或其他颜色
2)苹果iPhone 6S加选项
3)苹果iphone 6S与其它构造
4)其他苹果的iPhone
选项105)其他智能手机在这个价格范围内
我已经试过到目前为止
A)我曾尝试使用“user view event”推荐同类产品,但我们做的并不好数据。它的结果很好,但只有很少的产品。所以这个模板不适合我的用例。
B)One hot encoder
+ Singular Value Decomposition (SVD)
+ Cosine Similarity
我已经训练我的模型周边25万的产品与尺寸= 500本prediction io template的修改。它给出了很好的结果。我没有在培训中包含产品的长篇描述。
但我在这里
1)有一些问题是使用One Hot Encoder
和SVD
是在我的使用情况下,正确的做法?
2)是否有任何方法或技巧在训练中给予额外的权重title
和brand
属性。
3)你认为它是可扩展的吗?我试图将产品尺寸增加到1百万,尺寸= 800-1000,但是它谈论了很多时间,系统挂起/停顿或内存不足。 (我使用的是Apache预测io)
4)当我想要训练200万种产品时,我的维度值应该是多少?
5)需要多少内存才能部署SVD
受过训练的模型,以便为200万个产品查找内存中的cosine similarity
。
我应该我在用例使用,这样我也可以给一些体重对我重要的属性,我会得到合理的资源良好的效果。在这种情况下,我应该使用什么样的最佳机器学习算法。现在
你能告诉我什么维度的确切含义吗? – Abhimanyu
我在部署时遇到此错误 [错误] [LocalFSModels]请求的数组大小超过VM限制 [错误] [OneForOneStrategy]无.get 我的训练数据集数为400k,我的维数为500 – Abhimanyu