【发布时间】:2021-05-23 08:14:22
【问题描述】:
我正在使用AWS personalize 制作推荐系统,特别是SIMS 模型(项目到项目相似性模型)所以当我输入 ITEM_ID 输出将是最相似项目的列表。
到目前为止一切都很顺利,但是:
现在我有很多 SELLER_ID 礼物,因为它是一个电子商务应用程序不仅仅是一个商店。这里的问题是我希望只为用户所在的商店推荐。例如:我想要推荐 [rec1,rec2,....etc] 仅在商店中可用的商品,而不是其他商店,就像您在商店 STR0003 中一样,那么您需要来自商店 STR0003 的推荐,只是不商店 @ 987654327@或STR0006。
我尝试了很多解决方案,但在每个人中我都面临着麻烦:
解决方案 1:
在ITEMS.csv 数据中添加SELLER_ID 作为元数据:SELLER_ID 列将用于每一行:[STR0001|STR0002|...]
然后使用filter 根据SELLER_ID 过滤结果:
我输入STR0003,然后输出该商店中可用的物品。
-
问题 1:字符限制为 1024,某些产品在 200 家商店中存在,这使得无法将字符减少到 1024,(即使使用正则表达式)。
-
问题2:我们怀疑过滤器是,而不是免费的!我们为此付出代价。我搜索了许多文档以查看过滤器是免费的还是付费的,但没有找到。
解决方案 2:
将SELLER_ID 添加为INTERACTION.csv 中的元数据,因此将其包含在get_recommendations 中的context={} 中并输出结果。
- 该解决方案中的问题:
在我的数据中。我的数据中没有足够的SELLER_ID 来包含INTERACTION.csv 中的每一行。
我想问是否有人遇到过多供应商推荐的问题。他/她如何解决这个问题,解决这个问题的最佳方法是什么? 也可以免费使用过滤器吗?
提前致谢
【问题讨论】:
-
在快速浏览之后,我相信对于您的用例没有好的解决方案,只使用 Personalize。在 Personalize Filter 功能出现之前,人们根据数据库中的数据在 lambdas 中手动实现过滤。也许这对你有用?始终要求 2 倍以上的相似项目,然后在 Lambda 函数中过滤结果。
-
您必须记住,Personalize 是非常高级的解决方案,因此在某些情况下,它可能不是最佳选择,而竞争对手的产品可能会更好,或者如果您有一些 ML背景,在 AWS Sagemaker 中自己实施可能是解决方案
标签: amazon-web-services amazon-s3 recommendation-engine amazon-personalize