我正在开发一项新的服务,它将查询多个优惠信息(如 Groupon 等),我想弄清楚这些优惠属于哪个类别。
示例:
我得到了这个标题:”Acqualina Wellness Expo – Acqualina Resort & Spa”,我需要找出这个优惠属于哪个类别。
我尝试使用 http://www.google.com/insights/search/,但并不容易,因为它只能接收 7 个参数(术语),而且有时我们会有无法分割的复合词。
回答:
有一些基于 Wordnet 和搜索距离等有趣的方法,但标准方法是使用贝叶斯垃圾邮件过滤器的方法。
步骤 1:构建一个标题(或标题和正文)以及您认为它所属类别的示例集。 您创建的集合越大、越多样化越好。 您需要从您想要能够识别的每个类别中获得许多(假设至少两位数,但最好是数百个)不同的示例。 如果您需要帮助构建此集合,可以使用亚马逊的 Mechanical Turk 并付费让其他人进行分类。
步骤 2:使用 CRM114 (http://crm114.sourceforge.net/) 或类似工具运行所有示例。 如果您想使用云服务,我认为 Google Prediction API 允许使用文本字段。
步骤 3:对于测试,不要让分类器看到所有示例。 保留一些所谓的样本外集合,您可以在其中测试您的分类器。 分类器对已经看过的东西进行分类要容易得多,所以您需要确保您知道它对未见过的示例有多好。 一些分类器会自动为您进行此测试。
祝你好运!