基于实体的搜索是一种专注于识别和理解搜索查询中真实世界实体的方法,以提高相关性。它不是直接匹配关键词,而是解析查询以识别实体(例如人物、组织或地点)、它们的属性和关系。例如,搜索“Apple”可能会通过分析“收入”或“维生素 C”等上下文来区分科技公司和水果。这种方法依赖于知识图谱或数据库中的结构化数据,将实体映射到它们的属性,从而实现更精确的结果。该过程通常涉及从文本中提取实体,将它们链接到知识库,并使用此上下文来改进搜索。
从技术上讲,基于实体的搜索结合了自然语言处理 (NLP) 和知识图谱。命名实体识别 (NER) 模型等工具识别查询中的实体,例如“Paris”(地点)或“Einstein”(人物)。 然后将这些实体链接到知识图谱中的条目——一个相互连接的实体网络(例如,Wikidata 或专有数据集)。 例如,像“1980 年代的科幻电影的导演”这样的查询将涉及将“导演”、“科幻电影”和“1980 年代”识别为实体,然后查询图谱中电影和人之间“directedBy”之类的关系。 谷歌等搜索引擎使用这种方法直接回答事实查询,例如在搜索科学家的姓名时显示传记片段。
为了实现基于实体的搜索,开发人员通常首先集成 NER 系统(例如,spaCy 或 Stanford NLP)以从文本中提取实体。 接下来,消歧步骤将这些实体映射到知识图谱中的唯一标识符。 例如,“Java”可能指的是编程语言或印度尼西亚岛屿,具体取决于上下文。 最后,搜索引擎查询富含实体元数据的索引数据。 像 Elasticsearch 这样的平台允许向文档添加实体感知字段,从而启用像“author:Stephen_King”这样的过滤器,而不是关键词匹配。 挑战包括维护最新的知识图谱和处理不明确的实体,但回报是提高准确性——例如,确保对“特斯拉股票”的搜索在金融环境中优先考虑公司而不是发明家。