我们正在谈论一种基于主动语义神经网络的视觉搜索引擎,该搜索引擎获得了俄罗斯第一笔西方风险投资在俄罗斯的IT投资。切入后,我们将向您介绍其基本操作原理和体系结构。
起源
我一生非常幸运-我曾与心脏病,心脏外科医生和控制论专家Nikolai Mikhailovich Amosov一起学习。我缺勤学习-苏联解体并没有给我亲自见面的机会。
关于尼古拉·米哈伊洛维奇(Nikolai Mikhailovich)可以说很多,他出生在切列波韦茨(Cherepovets)附近一个村庄的农民家庭,并同时在“大乌克兰人”项目中获得第二名,成为智者雅罗斯拉夫(Yaroslav Wise)的第一名。杰出的心脏外科医生和控制论工程师,独立开发了苏联的第一个人造瓣膜。以他的名字命名的街道,医学院,学院,在伊万科夫斯科耶水库中游船的船只。
在维基百科和其他网站上已经有许多关于此的文章。
我想谈谈阿莫索夫照明不那么广泛的一面。宽广的视野,两次教育(医学和工程学)使他得以发展主动语义神经网络(M-networks)的理论,在50多年来,其中实施的事物仍然具有其独特性。
而且如果当时有足够的计算能力,那么今天也许已经实施了强大的AI。
在他的作品中,阿莫索夫设法在神经生理学和数学之间保持平衡,研究并描述了情报的信息过程。他的工作成果发表在多部作品中,最后的是1979年出版的专着《心灵算法》。
以下是其中一个模型的简短报价:
“……(我们)进行了一项研究,其目的是研究M网络在神经生理学和神经心理学领域的可能性,以及评估此类模型的实用性和认知重要性。开发并研究了一种M-自动机,它可以模拟语音机制。该模型提供了口头演讲的各个方面,例如感知,理解,口头表达。
该模型旨在重现相对简单的语音功能(!!!)-回答有限类型,重复,命名的问题。它包含以下块:听觉,感觉言语,本体感受性言语,概念性,情绪性,动机性,运动性言语,发音和SUT块。该模型的模块与某些大脑形成相关...
...该模型的输入是俄语字母表中的字母,这些单词被组合成单词和短语,以及对应于对象图像的特殊对象。在模型的输出中,根据其操作方式,观察到俄语字母的序列,这些序列要么是输入问题的答案,要么是输入单词的重复,或者是对象的名称。
神经生理学数据在模型的创建中得到了广泛使用,这一事实使得在实验中模拟许多具有器官和功能性质的脑损伤成为可能,从而导致语音功能受损。
这只是其中之一。
另一个是移动机器人的控制。“……机器人控制系统通过确保自身安全(避免障碍,避免危险场所,将内部参数保持在指定范围内)并最大程度地减少时间和能源成本来实现有目的的运动。”
此外,该专着还描述了对“某个对象在其中包含有用和危险对象的环境中的自由行为进行建模的结果”。受试者行为的动机取决于疲劳感,饥饿感和自我保护的欲望。受试者研究了环境,选择了运动的目标,制定了实现该目标的计划,然后通过执行行动步骤,将运动过程中获得的结果与计划的结果进行比较,根据新出现的情况对计划进行补充和调整来实现这一目标。
理论的特点
正如我们现在所说的,阿莫索夫在他的作品中试图创建一个信息/算法模型,该模型具有“强大的智力”,在我看来,他的理论最接近地描述了哺乳动物大脑中真正发生的事情。
M网络的主要特征(从根本上将它们与其他神经网络范例区分开)是每个神经元的严格语义负载以及用于内部评估其状态的系统的存在。存在神经元-受体,神经元-物体,神经元-感觉,神经元-作用。
根据修改后的赫布法则进行学习,同时考虑到您的内在状态。因此,基于语义指定的神经元的活动的可理解的分布来做出决定。
网络无需重复就可以“实时”学习。相同的机制适用于不同类型的信息,例如语音或视觉数据感知,运动活动。该范式模拟意识和潜意识的工作。
那些有兴趣的人可以找到Amosov的书,其中对情报的各个方面进行了理论和实际实现的详细描述,但是我将向您介绍我们在构建可视搜索引擎Quintura Search方面的经验。
金图拉
Quintura公司成立于2005年。演示我们方法的桌面应用程序原型是用我们自己的钱实现的。在拉特米尔·提马舍夫(Ratmir Timashev)和安德烈·巴罗诺夫(Andrey Baronov)(后来的ABRT基金)的天使投资下,该原型机最终定稿,进行了谈判,并从卢森堡基金Mangrove Capital Partners获得了投资。这是西方在俄罗斯在IT领域的第一笔投资。该基金的所有三个合作伙伴来谢尔吉耶夫看我们的眼睛,使有关投资的决定。
六年来,收到的资金用于开发网络搜索引擎的全部功能-收集信息,建立索引,处理查询和发布结果。核心是一个M网络,或者说是一组M网络(一个概念性网络和每个文档的网络)。该网络对文档进行了一次培训。在几个重新计算的周期中,选择了关键字,找到了在含义上与查询匹配的文档,并建立了它们的注释。网络理解了请求的上下文,更确切地说,它允许用户通过添加搜索的必要含义并从搜索结果中删除具有无关上下文的文档来澄清请求。
基本原理和方法
如上所述,网络中的每个神经元都有自己的语义负载。为了说明这些专利,我们提出了一个视觉图片(为质量起见,我表示道歉-图片的原件尚未保存,以下我们使用专利扫描和来自不同站点的关于我们的文章的图片):
简化,概念网络是一组与神经元相关的概念通过彼此之间的连接,彼此之间出现的频率成正比。当用户输入查询词时,我们将“拉”该词的神经元,然后他又拉出与该词相关的神经元。连接越强,其他神经元与请求神经元的距离就越近。
如果请求中有多个单词,则对应于该请求单词的所有神经元将被“拉动”。
如果我们决定删除一个不相关的词,我们会在它上面挂一个负担,这会拉低被删除的概念以及与之相关的概念。
结果,我们得到一个标签云,其中查询词在顶部(最大的字体),并且相关的概念并排放置,链接越大,字体越大。
下面是查询“ beauty”找到的文档的语义图。
将鼠标悬停在“ fashion”一词上时,将重新构建地图:
如果将鼠标指针移到“ travel”一词上,则会得到另一幅地图:
这样,我们可以通过指示所需方向来细化请求,形成所需的上下文。
在重建地图的同时,我们获得与给定上下文最相关的文档,并且通过删除不相关的单词来排除不必要的分支。
我们根据以下原则构建文档索引:
有4层神经元。单词层,概念层(可以合并为一层),句子层,文档层。
神经元可以通过两种类型的连接彼此连接-放大和抑制。因此,每个神经元可以处于三种状态:活动,中性和被抑制。神经元通过网络上的放大连接(抑制性“锚”)传递活动。概念层对于使用同义词,突出显示“强”或重要概念(高于其他概念),定义文档类别很有用。
例如,单词层中的单词Apple将与水果,解剖学术语和公司的概念相关联。油-用油和油。俄语单词“辫子”,带有发型,工具,武器,浮雕。等等。
我们建立双向和双向通信。学习(链接的更改)基于Hebb规则一次遍历整个文档-我们增加了彼此接近的单词之间的链接,此外,我们还使用较小的链接来链接相同句子,段落,文档中的单词。在同一文档和一组文档中并排出现的单词越多,它们之间的联系就越多。
该体系结构使您可以有效地解决以下任务:
- 设置和管理搜索上下文;
- 搜索与搜索上下文匹配的文档(不仅包含查询词);
- 显示一组文档的语义上下文(搜索引擎与查询词的关联是什么);
- 突出显示一个或多个文档的关键字;
- 批注文件;
- 搜索含义相似的文档。
让我们考虑每个任务的实现。
设置和管理搜索上下文
前面已经说明了这种情况。用户输入查询词,这些词会激发所有与它们相关的词,然后,我们可以选择最接近的概念(具有最大的激发),或者进一步从上一步激发的所有神经元通过网络传输激发,依此类推,在这种情况下,它们开始工作协会。地图上显示了许多最令人兴奋的单词/概念(您也可以选择显示的内容-单词,概念或两者的结合)。如有必要,可以删除不相关的单词(从地图中删除关联的概念),从而提供所需搜索上下文的准确描述。
查找与搜索上下文匹配的文档
在此步骤中,网络的前两层的状态将其兴奋转移到下一层,其神经元通过激发进行排序,我们得到的文档列表不仅按查询词的相关性进行排序,而且还与生成的上下文相关。
因此,搜索结果将不仅包括包含查询词的文档,而且包括意义上与它们相关的文档。可以通过增强对我们“必要”的文档中包含的概念,或者通过降低与无关文档相关的概念的权重,来使用生成的文档来更改搜索上下文。这样,您可以轻松直观地优化查询并管理搜索结果。
显示集合的语义上下文
从神经元文档到神经元再到概念/单词的相反方向的激励转移,使您可以获得文档集中存在语义上下文的可视化地图。这是获取有意义的标签图并浏览含义空间的另一种方法。可以通过更改激励方向来迭代执行此过程-通过接收搜索上下文的文档,或通过更改活动文档的搜索上下文。
通常,搜索引擎的情况如下-初始地图是根据最新新闻,热门文章,查询或这些内容的组合形成的。然后,用户可以通过单击地图上的单词来开始形成请求,也可以通过在输入字段中输入感兴趣的单词来创建新请求。
在我们为孩子们提供的Quintura Kids服务中,即使是不会写东西(或有困难的孩子)也可以工作并搜索必要的信息。
这就是初始地图的外观,
并且用户在单击单词“ Space”后看到了它。
孩子们的服务建立在人工选择和批准的站点上,因此孩子看不到成人的任何东西。这解释了找到的文档数量很少。英文版本包含的文档数量是其他版本的很多倍-得益于Yahoo儿童目录。
突出显示一个或多个文档的关键字
实际上,当从文档层或句子层传递兴奋时激活的那些单词和概念就是关键字。它们还按活动进行排名,然后从中截取一定数量,并显示出来。
在这里,我们应用了另一种解决方案。我们相信,所有单词或概念的总兴奋程度等于100%。然后,通过将活动百分比设置为阈值,我们可以轻松控制将被视为关键字的单词数。
例如,假设有一个处理波音头条客合同的文件。当激发从本文档的神经元传递到单词/概念层时,此图中显示的单词被激发。加权总唤醒(减少到100%)使我们对每个单词都有自己的权重。如果我们希望获得关键词“含义”的75%,那么我们将看到单词“ BOEING”,“ 787”,“ DREAMLINER”,如果我们希望获得85%的“含义”,则将“ SALES”添加到这些词中。
此方法使您可以自动限制显示的关键字和句子/文档的数量。
注释文档。
接收片段也以上述方式进行。首先,我们获得文档的关键字,然后,通过直接从关键字中分配兴奋性,我们获得了一个句子列表,将这些句子的权重提高到100%,并切断了所需的“含义”,然后按这些句子在文档文本中出现的顺序显示这些句子...
查找含义相似的文档
来自神经元的激励传递对应于我们正在寻找其含义与该层相似的单词/概念的文档,然后在与文档层相反的方向上进行传递,这使我们能够找到在上下文或含义上与原始文档相似的文档。如果我们在单词/概念层中进行一些激动人心的传递,我们可以扩展原始上下文。在这种情况下,我们会发现文档中的所有单词均不完全匹配,但主题相同。
实际上,这种机制可用于确定任何事物的相似性,例如,通过在网络上添加一个用户ID对应于神经元的层,我们可以找到兴趣相似的人。用音乐或视频作品的索引代替句子和文档的层,我们可以进行音乐/视频搜索。
未完待续
本文仅介绍Quintura视觉搜索引擎的基本原理。在公司成立的六年中,已经解决了许多复杂的问题,既涉及主动语义神经网络的体系结构,又涉及构建容错,可扩展的集群。搜索索引由许多并行工作的神经网络组成,这些网络的结果被合并,并建立了用户兴趣的个人地图。
在该项目的框架内,实施了站点搜索服务,儿童搜索引擎,文本分析工具,开始了世界信息本体的形成,神经网络形态的构建工作,并获得了9项美国专利。
但是,我们从未能够通过我们的系统获利。当时,没有神经网络的兴起,我们没有与大型搜索引擎达成协议(正如其中一个的架构师告诉我们的那样-“我们的范式差异太大,我们不知道如何将它们组合在一起”)。
该项目必须关闭。
就我个人而言,我仍然有一个“轻描淡写”的想法-我非常渴望为该项目赋予第二生命。知道Google的前广告主管正在构建一个无广告的搜索引擎,用户可以“摆脱内容个性化过滤器和跟踪工具的泡沫”,这只会增强我对我们发展的相关性的信心。
我将再次列出基于尼古拉·阿莫索夫的理论构建的主动神经网络的特征:
- 即时学习;
- 添加新实体,而无需重新培训整个网络;
- 清晰的语义-清楚为什么网络做出此或该决定;
- 适用于不同应用的统一网络架构;
- 因此,结构简单-高性能。
我希望本文将是向所有人的开发人员开放已实施技术的第一步,并将成为Amosov主动语义神经网络开源项目的开始。