【问题标题】:Tagging and Analysing a Search Query标记和分析搜索查询
【发布时间】:2011-05-10 03:05:23
【问题描述】:

我正在开发一个搜索引擎,它的功能考虑到数据的语义,这与通常的基于关键字的索引不同。我设法使用元数据提取方法和 RDF 为搜索开发了一个合理的索引,但我在搜索查询本身上使用这些方法有困难,因为搜索查询要短得多 strong> 表示实际数据。知道如何使用类似的方法、自然语言处理等对搜索查询进行成功的标记吗?

谢谢!

【问题讨论】:

  • 对文件做了哪些处理?对您的查询的处理应该在某种程度上反映它以便搜索工作。
  • 我使用了使用 OpenCalais (opencalais.com) Web 服务的元数据提取方案,并使用了具有两个关键字+rdf 子索引的组合索引。但问题是,由于查询太短,这些方法无法分析查询。

标签: search metadata nlp rdf tagging


【解决方案1】:

是的,典型查询的样本量太小,语义分析没有任何价值。

一种方法可能是使用“命名实体”或“主题动词对象”元组等下拉菜单来限制或扩展您的查询。

另一种方法是使用从您的元数据创建的规则来扩展简单的关键字,例如,“汽车”的查询可能会扩展为元组模式

(*,[drive,operate,sell],[car,automobile,vehicle])

提交之前。

最后,您可以尝试使用不具有语义价值的前缀和/或后缀来扩展查询,以使查询大小足够大以触发 OpenCalais 的识别器。

类似于“用户在她的查询中指定了以下术语:一、二、三。”。

并且一旦返回结果,过滤掉所有只匹配添加的前缀/后缀的结果。

只是一些快速的想法。

【讨论】:

  • 嗨,您能否详细解释一下您所描述的第一种方法,使用“命名实体”或“主题动词对象”元组等下拉菜单限制或扩展查询 谢谢!
  • 当然。在“命名实体”的情况下,您可以将出现在您的语料库中的最受欢迎的实体收集到一个下拉菜单中,当用户选择一个值时,该下拉菜单可用于约束或更好地对结果进行排名。因此,在您收到来自用户的查询但在将其提交给搜索引擎之前,您可以从下拉列表中添加任何值,格式为元数据。
  • 好的,据我所知,我让用户在搜索查询中指定标签,可能使用我已经在索引中收集的这些标签的列表,并使用它们来了解背后的想法查询。听起来不错,也很简单。而且我想我也可以让用户指定一些上下文标签,这样我也可以了解搜索的上下文!凉爽的!非常感谢! :)
【解决方案2】:

您需要构建语义树。它将基于关键字的组合。

例如,汽车-->车辆-->汽车这个关系汽车的技术方面。旅行——

hire/rent-->vehicle-->car 这是与旅行和租车有关的东西。 在这种情况下,MongoDB 会对您有很大帮助。

【讨论】:

    猜你喜欢
    • 2020-11-10
    • 1970-01-01
    • 2010-12-25
    • 2017-10-30
    • 1970-01-01
    • 2019-09-05
    • 1970-01-01
    • 1970-01-01
    • 2018-02-18
    相关资源
    最近更新 更多