【问题标题】:Recommend keywords based on past keywords searched根据过去搜索过的关键字推荐关键字
【发布时间】:2014-04-08 02:51:29
【问题描述】:

我正在尝试根据用户搜索的关键字向用户推荐会议和关键字(每个会议都有)。 我不知道哪种推荐算法对我有用。

再澄清一点: - 当用户在搜索栏中搜索时,我正在使用搜索查询并对其进行停用词删除,然后进行空格分割,然后对获得的每个单词进行词干提取。因此,我将能够找到用户感兴趣的会议主题。 - 我正在考虑创建一个用户向量,其中包含他感兴趣或搜索过的所有关键字。 - 另外,我的数据库中列出了所有可用会议的主题。

所以,我的问题是使用这个用户向量,什么样的推荐器将是有用的,这将有助于推荐用户可能感兴趣的主题。用户没有提供任何他喜欢的会议主题的评级,因为我们正在从搜索中提取数据。

任何帮助将不胜感激。

【问题讨论】:

  • 您在哪个部分遇到了问题?如果您要根据以前的搜索进行推荐,那么您需要保存他的搜索。在那之后,你想做什么?您需要提供更多信息,我们才能提出任何明智的建议。
  • 感谢吉姆回来。我添加了更多描述。希望这可以帮助您正确理解我的问题。

标签: algorithm recommendation-engine


【解决方案1】:

如果您拥有的唯一信息是用户搜索的内容,那么最简单的做法是根据搜索相同内容的其他人搜索过的主题推荐主题。

例如,Joe 搜索 炒青番茄紫胶虫。如果 Sam 然后搜索 purple gummi worms,那么您可能会建议他也查看 炒绿色西红柿

当然,如果您只有少数参与者,这种模式效果不佳。但是如果你有很多人在搜索,你可以说,根据你对之前搜索的分析,如果有人搜索 X,那么他很有可能会搜索 Y。

这被广泛称为Collaborative filtering

【讨论】:

  • 在线供应商(如亚马逊)在“购买此产品的人也购买了”标题下向访问者推荐产品时使用的算法是否相同?
  • @gargankit:是同一个概念。
  • @Jim:谢谢。我明白你的意思了。但是,在我的系统中,每个用户都是独立的。所以,乔可能与吉姆有不同的兴趣。所以,我想尝试的是 - 我有所有会议的主题列表,如果有用户正在搜索的任何主题,那么我想用该组中的所有关键字向用户推荐。例如,如果您正在寻找 HTML 并且在我的列表中我有 CSS 或 Javascript 或 Web 开发,那么我想推荐所有这些主题。所以,我的主要任务是将所有这些相关主题分组,我不知道该怎么做。
  • 我也尝试在网上找到这组相关的技术关键词,但没有成功。
【解决方案2】:

在没有用户提供任何其他指标/评级的情况下,您所拥有的只是提交的搜索字符串。

在这里,您可以使用频繁项集挖掘,然后使用关联规则生成,这应该会以所有历史记录中频繁同时出现的项(搜索字符串)的形式为您提供良好的推荐。

您可以在此处阅读更多相关信息 - Association rule mining

【讨论】:

  • 谢谢。但是,我肯定会以用户正在搜索的方式拥有主题,因为只有基于此,我才会制作用户个人资料。但是,问题是如何从我的列表中找到相关主题并推荐。因为从用户档案中,我可以一一取关键词,直接进行SQL查询。
猜你喜欢
  • 2021-11-06
  • 1970-01-01
  • 1970-01-01
  • 2012-11-21
  • 2021-12-23
  • 2013-05-03
  • 2019-01-12
  • 2020-01-28
  • 2012-02-29
相关资源
最近更新 更多