从非结构化产品描述中提取属性

数据挖掘 机器学习 nlp 特征提取
2021-09-30 15:26:34

我正在尝试将新产品描述与现有产品描述相匹配。产品描述如下: 松下DMC-FX07EB数码相机银色。这些是要执行的步骤:

  1. 标记化描述和识别属性:松下 => 品牌、DMC-FX07EB => 型号等。
  2. 获得少数具有相似特征的候选人
  3. 获得最佳人选。

我在第一步 (1) 遇到问题。为了获得'Panasonic => Brand',DMC-FX07EB => Model,silver => color,我需要有索引,其中产品描述的每个标记对应于某个属性名称(品牌、型号、颜色等)在现有数据库中。问题是,在我的数据库中,产品描述被呈现为一个原子属性,例如“描述”(没有单独的产品属性)。

基本上我没有训练数据,所以我试图建立所有产品属性的索引,这样我就可以建立训练数据。到目前为止,我有来自 bestbuy.com 和 semantics3.com API 的属性,但是这两个来源都缺少大部分属性或包含不相关的属性。有什么更好的 API 来获取产品属性的建议吗?更好的方法来做到这一点?

PS 对于每个产品,数据库中都有一个匹配的产品描述,它也是一个原子属性的形式。我已经在 SO 上检查了这个问题,它帮助了我,似乎我们有相同的方法,但我仍在尝试获取训练数据。

1个回答

让您快速回复 SO。要点是您可以从电子商店和制造商的网站收集大量信息,并且可以手动注释很多信息。如果您的目标是仅获取训练数据,那么您只需要:

我的回答来自交叉帖子:“开发了这种商业分析仪后,我可以告诉你,这个问题没有简单的解决方案。但是有多种捷径,特别是如果你的领域仅限于相机/电子产品。

首先,您应该查看更多网站。许多人在页面中注释了产品品牌(正确的 html 注释、粗体字体、名称开头的所有大写字母)。有些网站的整个页面都带有品牌选择器,用于搜索目的。通过这种方式,您可以创建一个非常好的品牌名称入门词典。与产品线名称相同,甚至与模型相同。字母数字模型可以通过正则表达式批量提取并快速过滤。

还有很多其他技巧,但我会尽量简短。这里只是一条建议:手动工作和算法之间总是需要权衡取舍。永远记住,这两种方法可以混合使用,并且都有投资时间回报曲线,人们往往会忘记这一点。如果您的目标不是创建一个自动算法来提取产品品牌和型号,那么这个问题在您的计划中应该有有限的时间预算。您实际上可以在一天内创建一个包含 1000 个品牌的字典,并且为了在已知的电子商品数据源(我们这里不是在谈论亚马逊,或者我们是不是?)上表现出色,您的工作可能只需要包含 4000 个品牌的字典。因此,在你投入数周时间研究最新的名为实体识别器的神经网络之前,请先进行数学计算。”