宁波seo优化专栏

基于神经网络的搜索引擎应用

发布时间:2018-12-09 13:30:05
  摘要:21世纪,跟着网络的加速,网络信息资源就像爆炸式一样在增长。面对这些无序、及其庞大的数据,人们就像"大海捞针"一样,这就使查找引擎孕育而生。在各个查找引擎巨子之间进行着激烈的竞争,谁的查找成果更精确决议着谁更有竞争力,更受用户的欢迎。对查找引擎来说,每位用户不挑选点击别的内容,仅仅简简单单通过点击一条查找成果,向引擎实时供给有关他对查找成果满足程度的信息。在线运用的最大优势就是,这些运用可以继续收到来自用户行为的反馈信息。咱们可以运用一种方法,将用户点击查询成果的情况记载下来,然后运用这些记载改善查找成果的次第,再呈现给用户。
  关键词:查找引擎神经网络自学习才能反向传达法
  一、序言
  1.本课题研究的背景
  查找是人们学习生活中不可或缺的一个重要环节,它是人们获取所需信息的一个捷径。当用户用关键词查询信息的时分,查找引擎将在数据库中查询,假如找到和用户要求内容类似度很高的网站,将根据关键词的匹配程度,它们呈现的位置,信息和网页衔接质量的频率,计算每个网页的相关性及排名回馈给查找用户。信息检索是当今最热门的网络技能,根据神经网络的查找引擎是一种信息检索的新方法。[1]
  查找引擎是按照特定的算法,加上运行计算机查找程序查找网络上的资源,通过一系列的组织和处理之后,向用户供给查找功用,将用户检索的相应信息展现给用户的体系。而查找引擎的算法决议了它的功用和易用性。好的查找引擎如百度、谷歌,可以在用户几回查询行为之后,自动为用户挑选呈现次第,准确率也可以保持在一个很高的程度。
  人工神经网络是在模仿人类的思维。信息选用分布式存储和并行协同处理。网络学习的核心在于:如果网络给出了过错的决议,通过网络自身的学习,应该做到降低下次犯相同过错的几率。神经网络是一种运算模型,是大量神经元和之间相互链接构成的。每个节点是一个输出函数,每两个节点间衔接代表权重。通过总结概括输出函数求出的值来判别是否激活神经元。并且对输入层、输出层和躲藏层的权重进行校对,这个就是自学习进程。通常是运用反向传达算法来树立模型。[2]
  根据以上原因,本文构建一个人工神经网络,并向这个网络供给:查询条件中的关键词,回来给用户的查找成果,用户的点击挑选,然后再练习这个神经网络。当网络通过了许屡次不同的查询练习之后,运用它咱们可以改善查找成果的次第,这样可以更好地反映用户在之前一段时间里的实在点击情况。[3]
  1.1本文的立异性和特点
  现有许多种不同类型的神经网络,但大都以一组神经元构成。而我将用一个名为多层感知机(multilayerperceptron,MLP)网络。这种网络是由多层神经元构成,第一层的神经元是负责承受输入——用户输入的单词。最后一层神经元负责输出——包含被回来的不同URL的权重表。中心层可以包含多个神经元,但为了简化运行的进程,只选用一层中心层,叫做躲藏层——负责对输入进行排列组合。这样可以直接很直观的验正反向传达算法的可实用性。本文将用python构建一个人工神经网络,并向这个网络供给:查询条件中的关键词,回来给用户的查找成果,用户的点击挑选,然后再练习这个神经网络。当网络通过了许屡次不同的查询练习之后,运用它咱们可以改善查找成果的次第,这样可以更好地反映用户在之前一段时间里的实在点击情况。[4]
  二、根据神经网络的查找引擎运用的剖析与设计
  大多数情况下,当人们在构建神经网络的时分,网络中的全部节点都是预先用网络爬虫建好的,可以预先树立一个包含上百节点的躲藏层,并且让链接已安排妥当,但是咱们将在需求的时分树立新的躲藏节点,这样可以让效率更高,也相对简单。[5]
  2.1点击盯梢神经网络的设计剖析
  为了让咱们树立的神经网络获得查询的最佳成果,设置对应于查询条件中呈现的单词的输入节点值为1.当这些输入节点的输出端要输出时会尝试激活中心的躲藏层。当躲藏层中的某个节点得到了一个输入,就能被激活输出端,再激活输出层的节点。由于输出层中的节点通过不同的刺激将在处于不同程度上的活泼状态,咱们就能运用输出节点的活泼程度,来判别一个URL与最开端查询中的关键单词联系上的紧密程度。图中的实线表示强衔接,虚线表示弱链接,标粗文字代表这个节点现已变得很活泼,如图2-1所示:
  图2-1神经网络对“;worldbank”;做的反响当然一次的成果并不能阐明问题,终究的成果还要被逐步纠正,通过纠正衔接强度。这样,当用户履行查找的时分,激活输入端,并从成果中挑选所需求的链接,咱们就能对网络进行练习。在图2-1所示的网络中,现已有很多人进行过查找“;worldbank”;,并且点击过WorldBank的相应的成果,通过这一步,可以加强单词与URL之间的关联。[6]
  2.2数据流程剖析根据以上对点击神经网络盯梢进程的剖析,得到神经网络的简化数据流程图如图2-2所示。神经网络从用户输入查询的关键词开端,首要把用户查询的单词与数据库已存在的数据做比照,看是否现已存在,若存在则把关键字和输出的URL之间的衔接加强,即添加权重。如果之前不存在这个关键词,则在数据库中刺进该数据并记载这次对应的查询输出成果。图2-2体系数据流程图
  2.3数据库的设计神经网络的核心在于通过当用户查询时不断挑选来练习网络,所以咱们需求在数据库中存储可以反映网络现状的信息。根据前面的剖析,树立了以下一些数据库表。具体见表2-1。表2-1各数据库表字段阐明1、单词表wordidsWORDID单词IDNAME单词名2、URL表urlsURLIDurlIDURL_Link目的链接3、躲藏层数据表hiddennodeCREATE_KEY躲藏层新建节点4、单词层到躲藏层节点衔接情况表wordhiddenFROMID输入端单词TOID输出端节点STRENGTH衔接强度5、躲藏层与输出层衔接情况表hiddenurlFROMID躲藏层节点TOID输出端URLSTRENGTH衔接强度[7]
  2.4功用需求剖析本文根据神经网络的查找引擎首要包含以下一些功用模块,如图2-3所示:
  图2-3根据神经网络的查找引擎的功用模块功用模块的阐明(1)判别衔接强度由于新的衔接只在单词不存在数据库时才会被创立,所以在衔接不存在时回来一个默认值,从单词层到躲藏层为-0.2,从躲藏层到URL衔接默认值为0.(2)运用新的强度值更新衔接用以判别衔接是否存在,一起运用新的强度值更新衔接或创立衔接。(3)为单词在躲藏层树立新节点每逢一个新的单词呈现,在躲藏层中树立一个新的节点。然后在单词与躲藏节点之间,查询节点与查询回来的URL成果间树立有权重的衔接。(4)树立网络运用数据库中保存的信息,树立包含一切当时权重值的相应的网络。图2-4tanhx函数(5)前馈算法承受输入一组单词,激活链接,并对URL给出输出。挑选双曲函数(tanh),由于只要在前几回输入对权重影响时很大的,当次数增多,每次用户挑选的URL都是同一个的时分,就无限趋近于1。(6)反向传达算法通过沿着网络反向行进,进行权重的调整。当用户点击了预期的成果时,输出层节点的期望为1,宁波seo反之则为0。只要知道tanh函数在输出级别上的斜率,就能反过来知道该节点的总输入。[8]
  三、根据神经网络的查找引擎的完成
  1.生成节点在实际国际中,查找引擎中的一切节点都是预先建好的。但本文为了使这个神经网络更高效、简单,选用只要在需求时才树立新的躲藏节点。一个函数generatehiddennode在躲藏层树立新的一个节点,一起还树立了指向新建节点的衔接。
  2.前馈算法编写函数,作用是承受一组输入单词,激活网络中的衔接,给出输出成果。首要,挑选tanh函数用来观察每个节点对输入的响应程度。在数据库中查询节点与衔接的信息,然后树立关于查询那部分网络,把一切的衔接找出,包含权重值。前馈算法的履行进程是循环遍历一切位于躲藏层中的节点,将一切来自输入层的输出乘以衔接强度再相加。每个节点的输出相当于全部输入和通过tanh函数后的成果传给输出层。输出层再通过类似的处理。只要不断继续将上层的输出成果作为基层的输入,可以对网络轻松的扩展,一个网络包含成百上千的层。[9]
  参考文献
  [1]莫映,王开福.团体智慧编程[M].电子工业出版社,2009.
  [2] ;戴葵.神经网络设计[M].机械工业出版社,2005.
  [3]朱明.数据发掘.中国科学技能大学出版社.2008.
  [4]高凯,郭立炜,许云峰.网络信息检索技能及查找引擎体系开发.科学出版社,2010.
  [5]吴今培,张哲.根据神经网络分类的查找引擎在Internet信息监控中的运用[J],计算机运用与软件2002(7):31~33.
  [6] ;罗刚,王振东.自己动手写网络爬虫.清华大学出版社.2010.
  [7] ;唐学韬.运用Python进行数据剖析.机械工业出版社.2014.
  [8][美]SimonO.Haykin著.NeuralNetworksandLearningMachines.PrenticeHall.2008.
  [9][美]Segaran.T著.ProgrammingCollectiveIntelligence.O’;Reilly.2007.作者:崔子豪,学生,就读东北石油大学电气信息工程学院自动化专业11–;6班
  本文转载自
  宁波seowww.leseo.net
  补充词条:宁波网站优化推广  宁波网络seo  宁波seo推广公司  宁波网络seo公司  宁波谷歌seo