题库NLP精华面试专题介绍及解析--第5期

上传人:ja****ee 文档编号:149211485 上传时间:2020-10-25 格式:DOC 页数:8 大小:108KB
返回 下载 相关 举报
题库NLP精华面试专题介绍及解析--第5期_第1页
第1页 / 共8页
题库NLP精华面试专题介绍及解析--第5期_第2页
第2页 / 共8页
题库NLP精华面试专题介绍及解析--第5期_第3页
第3页 / 共8页
题库NLP精华面试专题介绍及解析--第5期_第4页
第4页 / 共8页
题库NLP精华面试专题介绍及解析--第5期_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《题库NLP精华面试专题介绍及解析--第5期》由会员分享,可在线阅读,更多相关《题库NLP精华面试专题介绍及解析--第5期(8页珍藏版)》请在金锄头文库上搜索。

1、为什么要进行文本表示?1、根本原因是计算机不方便直接对文本字符串进行处理,因此需要进行数值化或向量化。2、便于机器学习算法处理。不仅传统的机器学习算法需要这个过程,深度学习也需要这个过程。3、良好的文本表示形式可以极大的提高算法的效果。文本表示方法分类有哪些?离散表示 one-hot 表示 multi-hot 表示分布式表示(一) 基于矩阵 基于降维的方法 基于聚类的方法(二) 基于神经网络 CBOW Skip-gram NNLM C&W词袋模型的优缺点是什么?与one-hot 的关系?词袋模型的优点: 简单,方便,快捷 在语料充足的情况下,对于简单的自然语言处理任务效果不错。如文本分类。词袋

2、模型的缺点: 其准确率往往比较低。凡是出现在文本中的词一视同仁,不能体现不同词在一句话中重要性的不同。 无法关注词语之间的顺序关系,这是词袋模型最大的缺点。如 “武松打老虎” 跟 “老虎打武松” 在词袋模型中被认为是一样的。关系:词袋模型用于文本表示,将文本表示为向量。如果对文本进行分词,如果文本中的每个词用 one-hot 形式表示,然后把每个词的 one-hot 向量相加,得到的向量就是该文本基于词袋模型的向量表示。TF-IDF 的应用与优缺点如何?除了自动提取关键词之外,TF-IDF 算法还可以用于许多别的地方。比如,信息检索时,对于每个文档,都可以分别计算一组搜索词 (中国,蜜蜂,养殖

3、)的 TF-IDF,将它们相加,就可以得到整个文档的 TF-IDF。这个值最高的文档就是与搜索词最相关的文档。TF-IDF 算法的优点是简单快速,结果比较符合实际情况。缺点是,单纯以 “词频 衡量一个词的重要性,不够全面,有时重要的词可能出现的次数并不多。而且,这种算法无法体现词的位置信息,出现位置靠前或靠后的词,都被视为同等重要,这是不正确的 (一种解决方案是,对全文第一段和每一段的第一句话有时还包括最后一段,给予较大的权重).TF-IDF 与 TextRank 比较1.tf-idf 中计算 idf 值需要依赖于语料库,这给他带来了统计上的优势,即它能够预先知道一个词的重要程度。这是它优于

4、textrank 的地方. 而 textrank 只依赖文章本身,它认为一开始每个词的重要程度是一样的.2.tf-idf 是纯粹用词频的思想 (无论是 tf 还是 idf 都是) 来计算一个词的得分,最终来提取关键词,完全没有用到词之间的关联性. 而 textrank 用到了词之间的关联性 (将相邻的词链接起来), 这是其优于 tf-idf 的地方.综上,TF-IDF 和 TextRank 各有优劣,在实际使用中效果差异不大,可以同时使用互相参考。基于 TextRank 提取关键词的主要步骤?(1)把给定的文本 T 按照完整句子进行分割;(2)对于每个句子,进行分词和词性标注处理,并过滤掉停用

5、词,只保留指定词性的单词,如名词、动词、形容词等。这些词形成候选关键词;(3)构建候选关键词图 G = (V,E),其中 V 为节点集,由(2)生成的候选关键词组成,然后采用共现关系(co-occurrence)构造任两点之间的边,两个节点之间存在边仅当它们对应的词汇在长度为 K 的窗口中共现;(4)根据 PageRank 原理中的衡量重要性的公式,初始化各节点的权重,然后迭代计算各节点的权重,直至收敛;(5)对节点权重进行倒序排序,从而得到最重要的 T 个单词,作为候选关键词;(6)由(5)得到最重要的 T 个单词,在原始文本中进行标记,若形成相邻词组,则组合成多词关键词。例如,文本中有句子

6、 “Matlab code for plotting ambiguity function”,如果 “Matlab” 和 “code” 均属于候选关键词,则组合成 “Matlab code” 加入关键词序列。TextCNN 原理CNN 的核心点在于可以捕获信息的局部相关性,具体到文本分类任务中可以利用 CNN 来提取句子中类似 N-Gram 的关键信息。1 一维卷积:使用不同尺寸的 kernel_size 来模拟语言模型中的 N-Gram,提取句子中的信息。即 TextCNN 中的卷积用的是一维卷积,通过不同 kernel_size 的滤波器获取不同宽度的视野。2 词向量:static 的方式

7、采用预训练的词向量,训练过程不更新词向量,本质就是迁移学习,主要用于数据量比较小的情况。not-static 的方式是在训练过程中更新词向量。推荐的方式是 not-static 的 fine-tunning 方式,它是以预训练的词向量进行初始化,训练过程中调整词向量。在工程实践中,通常使用字嵌入的方式也能得到非常不错的效果,这样就避免了中文分词。3 最大池化:TextCNN 中的池化保留的是 Top-1 最大信息,但是可能保留 Top-K 最大信息更有意义。比如,在情感分析场景中,“我觉得这个地方景色还不错,但是人也实在太多了”,这句话前半部分表达的情感是正向的,后半部分表达的情感是负向的,显

8、然保留 Top-K 最大信息能够很好的捕获这类信息。TextRNN 原理TextCNN 擅长捕获更短的序列信息,但是 TextRNN 擅长捕获更长的序列信息。具体到文本分类任务中,BiLSTM 从某种意义上可以理解为可以捕获变长且双向的 N-Gram 信息。将 CNN 和 RNN 用在文本分类中都能取得显著的效果,但是有一个不错的地方就是可解释性不好,特别是去分析错误案例的时候,而注意力机制 Attention 能够很好的给出每个词对结果的贡献程度,已经成为 Seq2Seq 模型的标配,实际上文本分类也可以理解为一种特殊的 Seq2Seq 模型。因此,注意力机制的引入,可以在某种程度上提高深度

9、学习文本分类模型的可解释性。马尔科夫模型有什么用?我们知道两个状态之间的转移概率是很容易计算出来的,但是一连串的状态出现的概率却没那么容易计算。于是,我们可以先通过计算两两状态之间的转移概率构造出一个马尔科夫链,然后再通过马尔科夫链去计算一连串状态出现的概率(A Markov chain is useful when we need to compute a probability for a sequence of events that we can observe in the world.)这句话的重点是如何计算一连串状态出现的概率。隐马尔科夫模型的三个基本问题是什么?可以用什么方式解

10、决?(1)给定模型,如何有效计算产生观测序列的概率?换言之,如何评估模型与观测序列之间的匹配程度?(2)给定模型和观测序列,如何找到与此观测序列最匹配的状态序列?换言之,如何根据观测序列推断出隐藏的模型状态?(3)给定观测序列,如何调整模型参数使得该序列出现的概率最大?换言之,如何训练模型使其能最好地描述观测数据?前两个问题模式识别的问题:1) 根据隐马尔科夫模型得到一个可观察状态序列的概率;2) 找到一个隐藏状态的序列使得这个序列产生一个可观察状态序列的概率最大 。第三个问题就是根据一个可以观察到的状态序列集产生一个隐马尔科夫模型。上述为题在现实应用中非常重要。例如许多任务需根据以往的观测序

11、列来推测当前时刻最有可能的观测值 , 这显然可转化为求取概率,即上述第一个问题。在语音识别等任务中,观测值为语音信号,隐藏的状态为文字,目标就是根据观测信号来推断最优可能的状态序列 (即对应的文字),即上述第二个问题。在大多数现实应用中,人工指定的模型参数已变得越来越不可用,如何根据训练样本学得最优的模型参数,恰是上述第三个问题。对应的三大问题解法:1. 向前算法(Forward Algorithm)、向后算法(Backward Algorithm)2. 维特比算法(Viterbi Algorithm)3. 鲍姆-韦尔奇算法(Baum-Welch Algorithm) (约等于EM算法)- 等你来答 -1、简述数据库以及线程死锁产生的原理及必要条件,简述如何避免死锁?2、请列举面向对象设计的三个基本要素及五种主要设计原则?3、多线程如何同步?4、new 和 malloc 的区别?5、hash 冲突及解决办法?

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号