历经几十年发展,搜索在产品和技术上都取得了巨大的成就,在生活与工作的方方面面不可或缺。广泛的搜索需求应运而生,各行各业都期待着能使用上更智能、更轻量化、更便捷的搜索技术。本文由澜舟科技搜索负责人马永亮撰写,为大家带来澜舟科技的搜索技术分享,预计阅读时间10分钟。
1

基于预训练模型的

新型搜索范式

随着近年预训练模型的发展,尤其在BERT模型提出至今的三年内,基于预训练模型的搜索引擎新范式得以确立。
新的搜索引擎范式和传统搜索引擎相比有三点重要变化
  • 模型算法基于预训练
  • 搜索对象向量表示
  • 神经网络学习代替人工特征工程
这些变化将推动搜索引擎技术在通用性与搜索能力上的进步。澜舟搜索引擎在开发之初就坚持打造新型搜索引擎范式,澜舟科技在NLP和预训练模型的领先技术也为澜舟搜索引擎提供了强有力的支持。
不失一般性的,搜索引擎的流程如下图所示:
预训练模型在搜索的核心阶段起到了重要作用:
索引:基于预训练模型增加文档的表示,生成索引
召回:基于预训练模型分别生成搜索关键词和文档的表示,计算相关性
排序:基于预训练模型对合并的搜索关键词和文档,计算相关性
此外,信息和知识抽取技术也是搜索引擎中的重要模块。澜舟搜索引擎在召回、排序、信息和知识抽取领域的工作一直紧跟技术前沿,并且始终关注在行业落地的通用性及效果。孟子金融预训练模型成为我们在金融搜索领域取得技术领先的重要支撑。
2

引入预训练模型的

信息检索

传统的搜索引擎算法主要依靠基于关键词的稀疏检索(Sparse Retrieval)模型,如经典的BM25等,其通过Query与Document中各个token的TF-IDF值进行关键词匹配。
目前,随着神经网络的发展,基于预训练语言模型的稠密检索(Dense Retrieval)模型逐渐引起学术界与工业界的关注。这类方法不仅在传统文档检索中有较好表现,也可以用于其他应用,如开放领域问答。
首先,相比传统方法,预训练语言模直接缓解了关键词匹配中经常出现的OOV问题;其次,大规模预训练语言模型提供的语义表达能帮助模型理解Query、理解文档,这些都说明基于预训练模型的信息检索方式将是未来的重要发展方向
澜舟科技的搜索引擎技术,在召回排序阶段引入了基于预训练的方法。在召回阶段,Query和Document分别基于预训练的encoder,在Query和Document的相关性标注数据上优化表示的语义距离,即相关的Query和Document表示在向量空间中更接近,反之更远。
Query和Document各自有一个encoder来学习表示:
召回阶段通常从大量文档中返回较少的候选文档。在排序阶段,Query和每一个候选文档组合成一个输入,给到排序的encoder。模型优化的目标是合成后的输入的相关性标注。召回阶段的模型相比,排序模型由于Query和Document在一个模型的输入中,encoder可以同时看到Query和Document,相关性学习的信息更丰富、效果更好。
澜舟科技不仅将预训练模型应用在搜索中,而且还专门针对金融场景应用了孟子金融预训练模型,得到了更好的效果:
▲ 测试集:自建金融领域新闻相关性数据集,2k测试样本
3
基于预训练模型的
命名实体识别
随着近几年预训练模型的发展,命名实体识别的架构已由长短期记忆网络(LSTM)和条件随机场(CRF)的联合模型发展为使用预训练模型的微调技术。新的技术意味着表达命名实体的方式可以更加灵活,从而能够更好地适用于垂直领域。
具体来讲,澜舟科技使用的命名实体技术基于孟子预训练模型,在微调阶段使用阅读理解的方式,从而更好地处理嵌套名实体的现象
模型具体的输入输出形式如下图所示:
在输入层,将表达实体类别含义的问题和输入文本串接后作为模型的输入;在输出层,判断输入文本中命名实体的开头和结尾词的位置,从而完整地确定输入句子中的命名实体。
孟子预训练模型在命名实体中起到的作用主要源于使用领域内大量的未标注数据训练模型,使得基于孟子模型的命名实体识别可以更好地适应于垂直领域。
金融领域的命名实体识别数据集上的实验结果表明:
基于孟子模型的命名实体识别相比ROBERTa模型性能提升超过2%
基于阅读理解的模型相比传统的序列标注模型性能提升超过3%
▲ 测试集:自建金融领域新闻相关性数据集,2k测试样本
这证明了孟子预训练模型和基于阅读理解的命名实体识别模型在金融领域的有效性。
4
基于联合学习的
级联式时间抽取
句子级的事件抽取任务,目标为从输入文本中抽取:[事件类型,事件触发词,事件元素,角色]。例:在给定事件类型「收购」的前提下,在文本「吉利收购沃尔沃」中抽取事件:[收购类型,「收购」,被收购方:「沃尔沃」,收购方:「吉利」]。
传统方法中,事件类型、事件触发词、事件元素和角色通常分别训练一个模型,模型之间独立。然后通过将三个模型建立成pipeline,完成整个事件的抽取。然而,这种方法会导致不同模型之间错误的传播
澜舟采用的新技术基于三个模型的联合训练,并且以前序任务的输出表示作为下个模型的模型输入:
在此基础上,针对金融领域的时间抽取,澜舟应用孟子金融预训练模型,进一步提升了抽取效果:
▲ 测试集:基于DuEE1.0,DuEE-fin构建的句子级事件集合,
42类事件,1.5K测试样本
5
基于预训练模型的
实体链指
命名实体识别和事件抽取元素的结果,通常是实体在文本中的mention,需要进行实体链指对应到知识库中一个唯一定义的实体。为了更准确地对应到知识库中的实体,实体链指经常需要用到知识库中实体的各种信息,如实体类型、实体的popularity等。这些信息为知识库的构建和扩展提出了更高的要求。
为了实现更好的知识库扩展性,澜舟科技基于自身的搜索引擎技术,开发基于预训练模型搜索框架下的实体链指。这种方法要求知识库中的实体只需要提供简短的文本描述即可,经过实体候选生成和重排序两个过程完成实体的链指。
例:「消息称苹果最早于2023年推出采用OLED屏的iPad」一句中,「苹果」为命名实体抽取的mention。
在实体候选阶段,通过对知识库中的实体、 mention及上下文编码,搜索得到「苹果」可能对应苹果公司,也可能是一种水果;将mention以及上下文和实体的描述结合,在重排序过程中对实体的mention和知识库中的实体计算语义距离,根据距离对候选进行排序,从而得到知识库中最可能的实体:
实践中,我们通过金融领域的知识库和金融测试集对方法的有效性进行了验证,并对比了孟子金融预训练模型和Roberta开源模型:
▲测试集:自建金融领域数据集,10k测试样本
结果显示,仅利用实体描述,也能得到较好的实体链指性能
6
澜舟金融搜索引擎
新型搜索范式的重要特点之一在其通用性。相同的技术框架在不同的领域应用有较强的适应性,而澜舟金融搜索引擎就是一个新型搜索范式在专业领域快速落地的尝试。结合孟子的金融预训练模型,我们快速开发了一个在金融领域有较好效果的搜索引擎原型——「澜舟搜索Beta」,可点击文末「阅读原文」直接体验。
「澜舟搜索Beta」主要包含两部分功能:基本金融信息搜索功能投研辅助搜索功能。其中,基本金融信息搜索功能如下,可点击查看大图
1 公司股价和基本信息
2 新闻、公告和研报
3 问答
4 公司财务信息

投研辅助搜索功能包括:
1 脱水研报
用户在阅读公司研报的时候,经常要在好多篇研报中筛选。而每篇研报通常都包含十几页甚至几十页不等的大量信息,阅读、筛选会花费不少时间。
澜舟的脱水研报基于多文档文摘和阅读理解技术,通过将用户搜索到的研报,进行段落解析和脱水,生成一份精简的、覆盖几篇研报主要信息的「脱水」研报,帮助用户更快速地确定研报中有关系的信息,然后再选择精度相关研报。
产业链和事件引导的搜索体验
产业链和事件是金融投资的重要信息。在搜索一家公司信息的过程中,结合产业链和相关事件的信息,用户会产生新的搜索需求,进而更全面和深入地了解一家公司。
用户搜索词经过产业链图谱、信息索引和事件索引,得到公司相关的产业链、新闻、研报、公告和事件。通过将所有信息整合,用户可以在产业链和相关事件中找到新的信息点,从而在引导下进一步获取信息。

7
未来展望
随着搜索引擎技术(尤其是新范式下的搜索引擎技术)不断的进步和普及,我们相信,未来的信息和知识获取将进入搜索引擎3.0阶段——认知搜索
  • 相关性到认知智能:不只是找到数据和信息,更是发现它们之间的联系和关系,成为有条理的知识和洞见
  • 从通用到垂直:专业领域的信息和知识更难组织和理解。NLP和搜索技术的进步更好地服务多行业用户,获取专业领域信息知识更容易
  • 从信息获取到决策辅助:把信息、知识、联系从大量的数据中找到呈现在用户眼前,到在这此基础上结合更大时间空间范围的数据进行推理和趋势预测
澜舟科技将持续在搜索领域、金融领域深耕技术、打磨产品、服务客户,与从业者一道推动搜索技术迈向新的时代。
欢迎洽谈合作:[email protected]
LEARN MORE ABOUT US
澜舟科技是一家认知智能公司,由前微软亚洲研究院NLP领军人物周明博士于2021年在京创立,针对商业场景数字化转型、以自然语言处理为基础提供商业洞见类产品,主要产品包括基于预训练模型的功能引擎(包括搜索、生成、翻译、对话等)和针对垂直行业场景的 SaaS 产品我们致力于成为NLP/AI领域具有全球领导力的、以科技驱动的创新型公司。
我们最近开源了分析、生成、多模态和金融的预训练模型,供大家自由使用,链接见下方二维码。期待各位的关注与建议!
▲ 周明博士携澜舟团队成员合影
轻量级中文预训练语言模型——孟子
澜舟科技官方网站
https://langboat.com
历史获奖及相关新闻
澜舟技术专栏往期一览
长期招贤纳士(含实习)
简历投递:[email protected]
孟子开源社区微信群
开源项目地址
https://github.com/Langboat/Mengzi
期待您的关注与加入 :)
点击在线体验「澜舟搜索Beta」
继续阅读
阅读原文