NLP -QA 中文件检索器及哈希核的理解和应用(三) 《个人学习笔记》

论文引用《Reading Wikipedia to Answer Open-Domain Questions》
关于开放域QA学习

DrQA系统

文件检索器(Document Retriever)

    在QA系统中,文件检索器的作用是为了能够根据问题query缩小搜索空间,并且仅仅搜索的结果是若干文章而已,这些文章和我们的问题是具有相关性的。这里会提到一个ELK(ElasticSearch,Logstash,Kibana)搜索引擎,该引擎很好的实现了检索器需要做的任务,因为是免费开源,被广泛的应用。
在这里插入图片描述
上图DrQA系统图,是基于文件搜索器所做的qa系统框架图,可以明确了解到首先通过DR(ELK)搜索引擎将query相关的文章若干搜索出来(在该论文提及反馈回5篇文章),然后利用Document Reader将文章中相关的信息依据query提取出来,然后反馈到回馈系统中成为了QA系统,首先我们还需要了解这一小节所涉及到的文件检索器(Document Retriever)的原理是什么。
    值得注意的是,所要检索的对象即文章是非常庞大的,正常的遍历检索方法根本是行不通的,为了能够快速得到检索结果,这里不得不提一下哈希函数方法,即利用bigrams映射到具有未签名的murmur3哈希的224个bin,这里提到另一篇比较经典的论文《Feature Hashing for Large Scale Multitask Learning》。

哈希核

这部分论文引用了《Feature Hashing for Large Scale Multitask Learning》
   先看一下哈希函数和哈希核的定义,引用论文中原生定义:
在这里插入图片描述
   首先哈希函数的出现是为了降维(降维是俩个方面的降维,一个是向量维度,另一个是向量空间维度,这里指的是后者),目的为了提高这里的检索速度,并提出哈希核函数一种非参估计,就是将高纬度输入向量空间X哈希(映射)到低纬度向量空间Rm 中(m是空间维度),记作:φ : X → Rm,因此对于一个分类器的参数向量可以存在于一个低纬度Rm空间中,而不是使用内核的Rn空间或者是原始输入空间Rd 中(m<<n 且 m << d),并且相对于随机投影方法,哈希方法一是保留了稀疏性,同时也不会增加额外的存储空间保存投影矩阵(因为是函数)。
分析哈希核
   核函数对于机器学习的同学来说是比较熟悉的降维处理方法,比如高斯核,利用核函数的定义对向量空间所映射的特征维度空间进行降维。

核函数的理解

   在理解哈希核之前,首先需要理解核函数得定义,这里稍微提一下方便对该部分的知识点理解:还记得在学校学习机器学习课程时候关于支持向量机中,第一次接触到核函数,超平面的引出:(1)为了能够将低纬度空间中向量样本进行放分类(这些样本都是线性可分的),所以提到利用超平面解决该问题,但是在现实中有的样本并不能根据一个超平面可分,比如‘异或’这种样本(简单点说混在正样本中的负样本,这样的问题现实问题中很多很多),核函数的引出:(2)这种情况下,提出了对于低纬度的样本映射到高纬度处理,这样就解决了这个问题,但是其中存在庞大的计算,所以提出了”核函数“解决该问题,核函数的目的是只需要知道高纬度计算的结果就行了,注意是结果,至于到底高纬到程度不需要关心,这就是很多文章把它说成了”黑匣子“,黑匣子的作用就是让你知道结果就行了,这样就解决了高纬度带来的计算量的问题,但是这个所谓的黑匣子是怎样实现能够得到高纬度计算的结果呢,这就不得不提一下极大极小问题线性规划问题,对于一个极大或者极小的线性规划总可以转化为极小或者极大的规划问题(有点像哲学中提到所有的事物都是矛盾存在的,存在极小就一定存在极大),这就是对偶问题,在核函数这里对偶问题利用拉格朗提算子成功的将求解进行了简化,对于优化W和偏置B的问题转化成了极大化拉格朗算子的问题,而优化这个问题对应着训练数据,同时利用KKT条件得到一个重要的结论:大部分训练样本都是无关的,只和支持向量有关,这就是支持向量机得本质,即对于一个分类任务其实仅仅取决于少数支持向量;
下图是对偶问题推导:在这里插入图片描述
核的深入分析
   (因为本部分主要为了介绍哈希核,所以默认了有对核函数理解基础了,这里都是简介,如果有时间会深入分析,因为核函数涉及了很多的基础数学知识)值得一提的就是不论高斯核还是其它核函数,其输出对应的是一个对称矩阵,且是半正定矩阵,具体如下:
在这里插入图片描述
只有是半正定矩阵才可以作为核函数使用,事实上,对于一个半正定矩阵,总能找到一个与之对应的映射函数,换言之,任何一个核函数都隐式地定义了一个称为”再生核希尔伯特空间"地特征空间。
   以上的目的是为了寻找线性可分的超平面,再回到之前的问题,那么对于复杂的样本空间来说是需要将样本映射到高纬度的,那么这里就引出了核函数的概念:
在这里插入图片描述
   对比之前求超平面图可以发现之前的输入样本x的乘积,在这里变成了一个映射后(映射到高维后的向量)的乘积,而表示这个高纬向量的乘积就是利用核函数,这样就理解了核的作用:
(1)完成了低纬度样本到高纬度空间的映射;
(2)同时将高维向量的内积转化为一个函数,变得容易求解。

哈希核函数的理解

   根据上面所说就很好理解哈希核的基本意义了,接着分析哈希核特有的意义:
(想俩个有趣的问题,为什么分析它,怎么分析它?这个问题太有趣了,要想知道怎么分析它必须知道它是什么,它是什么决定了怎么分析它,它是什么是由定义决定的; 答案:它是一个函数,分析函数的方法原则上都是可以分析它的,只有分析了它我们就知道在什么情况下或者业务中使用,除此以外还有高斯核、sigmod核,多项式核等等,当然只要你能分析好,也可以自己去创造更多更有意义的核,那么函数属性我们熟悉多了,本部分从均值和方差俩个角度分析----额外话题
   首先看一下论文对哈希核的分析如下:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值