全新 magi.com 有哪些升级?


Magi 系统现已焕然一新,在 magi.com 就能直接体验!

本文将详细介绍全新 magi.com 的八项重大升级,如需帮助请查看 magi.com 使用帮助

在开始前,您可以点击下列链接来直观地感受 magi.com 能提供的独特搜索体验:

1. 知识抽取

知识图谱自动构建技术是 Magi 项目的根基,此次我们在 Open Information Extraction (OpenIE) 和 One-shot Relation Extraction (RE) 两方面均有突破。

magi.com 提供基于知识图谱的结构化搜索体验,且与人工编撰的知识库不同,Magi 完全由人工智能自主构建。

一方面,我们引以为傲的通用开放信息抽取模型 Ireul 得到了全面升级,全新模型更强的泛化能力进一步提升了 magi.com 中结果的丰富度,同时更优秀的抗干扰能力使得系统面对互联网中质量参差不齐的文本时表现更加稳定。此前 Ireul 通过精巧的神经网络模型实现了不限定领域、不预设关系、不利用格式、不依赖句法、不绑定语言的信息抽取能力,但也正是因为其独特的模型设计导致了难以将序列形式的自然语言进行充分并行,巨大的计算量最终转化成了部署时高昂的 GPU 成本。本次,我们利用 oneDNN 和 OpenVINO™ 将重构后的模型部署在了 CPU 环境上,在同样的成本下可实现 2.58 倍的推理性能提升。更大的吞吐量将直接体现在 Magi 知识图谱的规模增长速度和 magi.com 对新知识收录的延迟上。

另一方面,我们受 GPT-3 启发并实现了 one-shot 信息抽取能力,即只需要少至一个样本方可定制的信息抽取模型。全新的模型能够同时支持从 unary 到 n-ary 的抽取范式,可满足实体识别、二/三元关系抽取、事件/事理图谱构建等场景。如果说 OpenIE 是全能选手,one-shot RE 则是速成专家,后者能够以较低的标注成本为特定领域进行定向优化,从而赋能垂直行业:好比一个天资聪颖的新员工,您只需将工作演示一遍,他便会掌握诀窍并从容处理后续的类似工作。此项新能力不仅服务于 magi.com,其稍后将作为 Magi One 服务以 API 形式对开发者和企业用户开放,以显著降低自然语言理解技术在行业落地的门槛。

2. 实体消歧

“苹果” 二字可能指一种水果,也有可能指一家公司;“孙悟空” 可能是故事中的斗战胜佛,也可能是 MOBA 游戏中的英雄;同名的人可能是企业家、运动员、演员…… 人类在见到这些名词时,能立刻结合上下文和自身的知识储备做出区分。这个对人类来说不值一提的本能,却是人工智能的一大难题。

假如把实体消歧问题限定于静态的语料和有限的类型,我们可以使用朴素的分类算法将同名的实体进行准确分类。然而,Magi 项目旨在追求规模化的知识工程,系统每一秒都在接收全新的信息,直面动态增长的语料和近乎无限的实体类型。不妨类比图像分类任务,若训练数据集中规定了猫、狗、鸟等类型的动物,那么当前的有监督分类模型可以取得比肩人类的准确度,但假如某一天科学家们发现了一种全新的动物,则已有模型无法准确将其照片进行分类。不幸的是,这样的新鲜事物在 Magi 所面对的数据集——互联网中每秒都在发生着。

面对这个挑战,我们没有妥协,而是选择了最难的一条路:全新研发的信息提取系统在从一篇文档中尝试提取知识时,会使用上下文敏感的语言模型将被提取实体与关系、所在片段、来源文档编码成多组向量一同保存。离线分析系统在遇到同名实体时,首先会利用上述数据进行无监督聚类,降噪后再对每一个簇分别进行核心上义词选举,进而命名该义项。上述过程每时每刻都在进行,新学到的知识会让对应实体的义项进行动态的分裂、归并、重命名。最终,我们实现了零预设的动态实体消歧义,并为 magi.com 的实体结果增设了义项筛选工具栏。对于问题类查询,Magi 会自动根据问题语境来推断合适的义项并给出对应的知识图谱结果。

Magi 使用机器学习技术自动区分同名实体的多种义项,用户可使用 magi.com 提供的筛选工具栏查看对应义项的结果。

不难看出,动态消歧义所需的计算量极大,且在终身学习系统中容易受模型更迭引发数据不一致。为此,我们重构了任务队列、聚合管线、索引系统,实现了基于可达性检测的数据淘汰机制并能保证最终一致性。

3. 意图理解

构建知识图谱时,Magi 倾向于以规范的文本记录知识,但用户在进行查询时的用语却是千奇百怪的。假如询问一个人 “勇士队老大是谁?”,想必他会反问 “你所谓的老大是指?”。正是由于这种不对称性和不确定性,很多被保存在知识图谱中的信息难以被检索到。

事实上,在开源图数据库方案中,支持模糊匹配已经十分难得,多数情况下都会要求用户使用规范的关键字或是 GQL/SPARQL 等结构化查询语言来发起检索。为了实现面向用户的知识引擎服务,我们为 magi.com 研发了基于机器学习的意图理解模型 Leliel 并使其与全新的知识图谱索引系统紧密配合。Leliel 与信息抽取模型 Ireul 共享部分网络结构和权重,以避免出现向量空间不一致问题。与 Ireul 一样,Leliel 也是基于我们的原创性研究和独有数据而构建的,且我们承诺没有使用任何用户的查询历史进行训练。

有了 Leliel 的加持,Magi 的知识图谱不仅能支持模糊搜索,还能对查询的意图进行理解并给出多种解读。例如,搜索 “勇士队老大是谁” 时,Magi 会将问题同时解读为查询 a. 勇士队的老板;b. 勇士队的总裁;c. 勇士队中年龄最大的球员,并分别给出答案。

Magi 能够理解以自然语言形式表达的问题,并针对多种可能的解读和潜在意图分别给出对应的结果。

我们意识到,Leliel 所以带来的查询意图理解能力不仅适用于知识图谱领域,也可以大幅提升其他搜索系统的召回能力。因此,我们将会把与 Magi 系统解耦的独立 Leliel 模型作为 Model-as-a-Service (MaaS) 服务的一部分提供给开发者和企业用户,并同时提供适用于传统关键词搜索的兼容接口。

4. 语义搜索

知识图谱与搜索技术相辅相成,2019 版 magi.com 中首次使用了我们自主研发的分布式索引引擎 Ramiel,其原创的索引结构设计让我们以远低于基于 ElasticSearch/lucene 等开源方案的 TCO 实现了性能敏感的 web 搜索和近实时的知识图谱搜索。

此次,我们对搜索基础设施进行了自下而上的重大升级,基于 Intel® Optane™ DC Persistent Memory (DCPMM)  持久内存硬件构建了可增量更新的稠密向量索引,并在此基础上实现了数百维百亿级别的全量语义搜索,即初次召回时就基于近似最近邻搜索,而非仅用于小范围精调排序。

传统搜索引擎通常使用倒排索引技术将文档中的关键词编入能够快速检索的索引中,用户在发起搜索时,包含问题中关键词的文档将被召回作为结果候选。关键词索引模式在过去的三十多年中获得了极大的成功,但事实上它预设了一个与现实情况不符的前提:能解答某问题的文档中必须包含该问题的文本才能被搜到。也正是因为这个基本矛盾,用户和内容创作者们都被迫了解并练就了权宜之计:用户们学会了在脑中把自己的问题转换成由空格划分的多个关键词,若搜不到满意的结果还要调整关键词再试试运气;创作者们更是深谙 SEO 之道,即使让文字变得啰嗦也要把相关的关键词一一覆盖,大家所唾弃的营销号其实就是该问题的终极体现。甚至可以说,由于这个天生的缺陷,传统搜索引擎从未能够完全利用它们所收录的内容。

Magi 全新的语义搜索系统则使用了与传统搜索完全不同的方法,文档的相关性不再由关键词的匹配度决定,而是通过对内容进行理解,由问题和候选文档所表达的信息的关联性/因果性来衡量。根据用户问题所选出的文档,不再需要重复提及问题文本,只需要逻辑上能够解答该问题即可。用一个最极端的例子来说,虽然 magi.com 主要收录中文内容,但由于不再依赖关键词机制,所以无论使用哪种语言来询问,都能获得相关的结果,甚至是从右向左书写的阿拉伯语都可以。

Magi 的语义搜索技术关注语言所表达的内容,而非字面的关键词,因此可以跨越语种的隔阂。

此前,语义搜索的大规模应用面临诸多技术和成本挑战,在这里要特别感谢 Intel 对我们的支持以及对 PMem 技术的持续创新,大容量持久内存能显著减少集群中的分片数,让近似最近邻搜索等次线性时间复杂度的算法能最大化利用资源。目前,语义搜索技术已经全量应用在了 magi.com 的 web 搜索和知识图谱搜索中,在数百维百亿级别的超大规模索引下能达到 sub-second 级别的响应延迟。在未来,该架构还可以支持跨文本、音频、图片、视频的多模态搜索。

5. 直接回答

语义搜索摆脱了关键词的限制,实现通过对内容的理解来配的文档。但是仅找到文档却不代表大功告成,我们还需要革新搜索的最后一步——结果高亮,并使其与知识图谱有机结合。

传统搜索引擎结果页面中,通常会高亮显示匹配的关键词。人们似乎已经习惯了这种使用体验,但也不难发现这其实是反直觉的:假如我想知道 “荷兰豆的原产地是哪里”,传统的搜索高亮逻辑会将 “荷兰豆” “原产地” 这两个已知的字眼通篇加红强调,而想要知道的答案却需要从大量正文中去寻找。另一方面,在以知识为核心的语义搜索场景下,结果中的文本可能完全不包含问题关键词,所以传统的复读机式的高亮无法适用。

针对上述问题,我们为 magi.com 研发了机器阅读理解模型 Tabris,它能够代替用户去阅读搜索结果中的内容,在数十毫秒内将最值得用户去关注的片段挑选出来。与典型的 SQuAD 任务目标不同,该模型会同时预测两个输出:相关性较高且表意完整的高亮结果,以及满足 textual entailment 且言简意赅的直接回答结果。这两种输出分别用于满足观点性和事实性两类问题。值得一提的是,与基于离线计算精选回答的方案不同,Magi 的直接回答是在用户发起搜索时配合语义搜索在最新的语料上实时计算得到的,因此其覆盖面为无限大,不受任何领域限制,时效性也更强。即使不了解原理上的差异,用户也不难发现 magi.com 能回答更千奇百怪的问题。当然,这种激进的做法也带来了更大的不确定性,为了避免对用户造成误导,magi.com 的直接回答都会明确给出来源上下文供用户进一步判断。

对于事实性问题,magi.com 会尽可能给出明确的直接回答,为用户节省从文本中寻找答案的时间。
对于观点性或尚存争议的问题,magi.com 会将结果中的观点或重点片段高亮展示,以供用户参考。

通过实现直接回答能力,magi.com 在客观的知识图谱之外增加了对主观问题的处理能力。不仅如此,事实性直接回答还为 Magi 知识图谱提供了额外的双重验证机制,系统会捕获每次知识图谱和直接回答给出不一致结果的情形,然后基于权重投票决定最后的输出。

6. 数值计算

传统信息抽取常聚焦于实体之间的关系的提取,而我们认为数值属性同样非常重要。知识图谱中的数值信息可以用来进行过滤和排序,进而满足各种上游应用。例如,舰船爱好者可以通过调用知识图谱接口来获得各种航空母舰的数据,然后分析各种型号舰船的排水量和航速之间的相关性。

目前,依靠人工编辑的知识图谱具有较高的准确性和标准统一的数值信息,但其覆盖面和更新频率都无法满足日益增长的需求;Magi 通过人工智能技术将知识图谱的构建自动化,并在此前成功实现了数值信息的抽取。然而,互联网和各种自然语言文档中对数值的表达方式却各不相同,造成了可以提取但难以标准化的局面:同样的物理量可以不同的单位表示,而同名的单位却又存在歧义,例如 “秒” 可能是时间单位也可能是角度单位。

为了让知识图谱中的数值具有可计算性,我们研发了基于统计学习的自然语言数值提取和标准化模块 Sandalphon,其不仅能够从自然语言文本中提取出混杂阿拉伯数字和汉字的数值信息,还能通过自动求反函数将单位统一成国际单位制 (Système International d’Unités) 的标准量纲。当遇到具有歧异的单位时,Sandalphon 能够通过分析上下文预测最可能的量纲:例如,在中文语境下讨论天气时 “度” 一般指温度单位摄氏度,而描述建筑时 “度” 更可能是角度单位。对于 “马赫” 等常用的无量纲数,Sandalphon 也会根据常见场景提供换算。对于范围数值,Sandalphon 会记录整个范围区间,并计算均值等统计量以便于对比和排序。除此之外,Sandalphon 还能够理解自然语言中表达的不确定性概念,并将知识图谱中的数值标记为近似值。

Magi 基于对上下文的理解将以自然语言形式存在数值信息转化成可参与计算的标准化数据。

在 magi.com 中点击数值类型的结果时,知识详情面板中的 “数值” 部分将展示 Sandalphon 提取出的结果。完整的数值信息将在 Magi 知识图谱 API 服务中提供给开发者和企业用户。

7. 时间脉络

为了追踪信息被提及频次随时间变化的趋势,全新的 magi.com 提供知识元组粒度的时间轴采样。相关统计并非类似 Ngram Viewer 般基于关键词组合共同出现的频次,而是基于语义关系自下而上构建的。前者的方法缺陷在于许多情况下统计出的结果并不能准确反映客观事实随时间变化的趋势。设想这样一个场景,一个球员在退役之后又回到自己的球队担任教练,此时一个基于关键词共现频次的系统尝试归纳总结球队教练随时间的更迭时,不同文章中该球员姓名、球队名称、以及 “教练” 这三个关键词共同出现的情况不论在该球员现役阶段还是教练阶段都会高频发生。在没有更多外部信息支持的情况下,这样的简单统计难以总结出该信息正确的时间顺序和断点。magi.com 采用的基于语义关系的统计,可以有效避免此类错误,从而能够在没有额外人工介入的情况下,正确归纳总结事实随时间变化的情况。

magi.com 的知识详情面板以元组粒度提供丰富的信息,包括语境、数值、趋势、脉络、来源等。

Magi 系统在对知识进行可信性评估时,交叉验证机制是重要的信号,其背后的逻辑是某一事实若被更多高质量来源在不同上下文中用差异化的表达方式提及则更可靠。然而较新的信息需要一定时间才能积累足量的介绍与讨论,对于 Magi 来说就难以进行多来源的交叉验证,因此可靠性会打折扣。可信度和时效性如同跷跷板一样难以平衡,两者间也无法互相替代,最终我们决定把这个选项留给用户:magi.com 的结果卡片中新增了排序切换选项,用户可以根据需求自行选择以何种逻辑排序展示知识图谱结果。

8. 隐私保护

全新的 magi.com 依然将用户隐私保护视为重中之重。例如,传统搜索引擎的搜索联想/补全功能的构建主要依靠分析大量用户的交互行为日志,而 Magi 则摒弃了这一成熟方案,转而由人工智能自主产生联想内容:通过对 Magi 知识图谱进行离线数据挖掘主动找出适合的问题建议,完全无需窥视用户的搜索记录。这对用户和我们来说是双赢:用户的隐私得到了保护,不会有较为私人的查询记录出现在他人的联想中;我们也避免了被低质量或有害内容操控的可能性。同样,历史记录保留在您的本地,可以方便地清除,我们也不会对其进行分析。整个 magi.com 除了用于人机验证的防御性 Cookie 之外,不使用任何追踪和分析性的 Cookie

Magi 通过对知识图谱进行数据挖掘来构建搜索建议,因此无需追踪用户的使用行为。

magi.com 不仅无需注册,且不强制下载 App。magi.com 的 App 基于低权限的 Progressive Web Apps (PWA) 技术构建,这既是出于产品形态也是出于对用户隐私和体验的考虑。事实上,市面上大部分产品都可以用 PWA 来实现,开发一个 native app 带来的优势主要是如下三点:权限、渠道、推送。系统权限可以提升体验,也可以用来监听用户;分发渠道可以扩大受众,也可能被冒用或注入;通知推送可以传达“你想知道的”,也可以硬塞“想让你知道的”。因此,我们主动选择了受限的 PWA 模式,毕竟跟用户说 “我们没有监听你” 肯定不如 “我们无法监听你” 更有说服力。