《从零开始学习自然语言处理(NLP)》-TF-IDF算法(2)

选择“星标”公众号重磅干货,第一时间送达!前  言在这个日新月异的信息时代,海量数据的积累,计算能力的不断提升,机器学习尤其是深度学习的蓬勃发展,使得人工智能技术在不同领域焕发出蓬勃的活力。自己经历了嵌入式开发,移动互联网开发,目前从事自然语言处理算法开发工作。从工程软件开发到自然语言处理算法开发,希望通过这个系列的文章,能够由浅入深,通俗易懂的介绍自然语言处理的领域知识,分享自己的成长,同大家一起进步。章节目录问题描述基于TF(Term Frequency,词频)进行排序基于词频(TF)排序问题IDF(Inverse DocumentFrequency,逆文件词频)基于TF-IDF进行排序小结01问题描述在上一篇文章中(《《从零开始学习自然语言处理(NLP)》-倒排索引(1)》)描述了基于关键词搜索的基本原理,以及通过倒排索引来提升和关键词相关网页的查询。本文在上文的基础上提出一个新的问题:如果通过倒排索引查找到的网页都包含全部的查询关键字,而且,召回(符合查找条件)的网页数目又很多,这就需要将网页与查询Query的相关度进行排序了。相关度高的网页排在查询结果的前面,相关度低的网页排在后面。那问题来了,如何依据网页与查询关键词的相关性对召回的网页做排序呢?02基于TF(Term Frequency,词频)进行排序最容易想到的便是基于词频打分进行排序,具体来说,对于查询Query:“林俊杰/2019/演唱会/行程”,下面的哪个网页跟查询Query的相关度更高呢?网页a[林俊杰]/[2019]/全球/[演唱会]/[行程]/发布/,/这是/[林俊杰]/的/第/20/场/全球/巡演/。关键字出现频次林俊杰220191演唱会1行程1网页b在 [林俊杰]/[2019]/全球/[演唱会]/[行程]/发布/之后/,/田馥甄/也/发布/了/今年/的/巡演/计划/,/她的/第一站/是/台北/。关键字出现频次林俊杰120191演唱会1行程1显然网页a和Query的相关度更高。当然对于计算机就没有这么“显然”了,它需要依靠规则和具体算法来计算判断。基于词频的排序用公式表示就是:

其中,k:Query中查询关键词序号

为了方便计算,我们假设每个网页包含的词的总数为100,通过上面的公式,网页a网页a相关度=2/100+1/100+1/100+1/100=0.05网页b网页b相关度=1/100+1/100+1/100+1/100=0.04通过上面的公式,计算机也能“显然”的判断,网页a与查询Query的相关度更高了。03基于词频(TF)排序问题假设现在有新的召回网页,网页c在 [林俊杰]/[2019]/全球/[演唱会]/[行程]/发布/之后/,/众多/明星/也/都/发布/了/自己/[2019]年/的/巡演/计划/,/[行程]/安排/如下/,关键字出现频次林俊杰120192演唱会1行程2网页c相关度=1/100+2/100+1/100+2/100=0.06显然基于词频的相关性计算公式,网页c(相关度0.06)大于网页a(相关度0.05),但真实情况是,网页c和查询Query的相关度,并没有网页a大。04IDF(Inverse DocumentFrequency,逆文件词频)上面的问题关键在于用户的查询Query主要关注的是"林俊杰",至于"2019","行程"等信息也是在林俊杰的基础上展开的。所以,现在要解决的问题便是,排序算法如何能够凸显出"林俊杰"这个关键的查询信息。在这里便引入了IDF(Inverse DocumentFrequency,逆文件词频)。我们先看下它的定义:

其中,分母的+1操作,是为了避免当所有文档都不包含该关键词时,分母出现为0的情况。IDF的分子是固定的,所以,IDF的特性主要体现在分母上。从IDF的定义可以看出,1 越是能代表特定内容的关键词,包含该关键词的网页越少,IDF值越高,如“林俊杰”2 越是和内容主旨不相关的关键词,包含该关键词的网页越多,IDF值越低,如“2019”,“行程”所以,IDF值就能很好的体现出查询Query关键字,与需要查询内容的相关性。05基于TF-IDF进行排序结合TF和IDF的特定,便有了TF-IDF,定义也非常直观,

具体来说就是,一个网页与查询Query的相关性体现在:1 网页中包含查询关键词的频度2 查询关键词对查询内容的反映程度基于TF-IDF,网页与查询Query的相关性,改写为,

其中,

在实际工程中,TF和IDF值,以及TF-IDF值针对于具体网页是提前计算好的,当搜索系统接收到用户的查询Query后,能够实时计算查询关键词与网页的相关度。06小结本文沿用了《《从零开始学习自然语言处理(NLP)》-倒排索引(1)》中搜索的例子,提出了在网页包含所有查询关键词的情况下,如何对网页与查询Query的相关性进行排序。文中提出了基于TF的相关性排序方法,同时,也指出了该方法存在的问题。最终,引出TF-IDF算法:结合查询关键词在网页中的出现频率和该关键词反映查询内容程度两个特征,对召回网页进行排序。

END

好了今天的讲解就到这儿了,如果还有疑问,欢迎在留言板处留言哦!—End—

(0)

相关推荐

  • tidytext | 耳目一新的R-style文本分析库

    tidytext是R语言的文本分析包,一般数据会整理为dataframe,每行都是由docid-word-freq组成.有一本R语言的文本挖掘书<Text mining with R>,知 ...

  • 深度学习基本概念|自然语言处理

    自然语言处理是神经网络的经典应用领域之一,所谓自然语言处理,就是让机器理解人类的语言,英文为Natural Language Processing, 简称NLP,是人工智能的一个重要方向,目前生活中已 ...

  • SEO优化_关键词密度设置算法

    关键词的密度   1.tf-idf核心算法 1.1.tf(词频) 关键词在网页中出现的频次 tf=关键词出现的次数/文章的总词数 1.2.idf(中文含有逆文档频率) 关键词出现在所有文档里的一种数据 ...

  • 对于中文,nltk能做哪些事情

    NLTK学习-1 英文分词与词性标注 #分词 word_list = nltk.word_tokenize(text) #标注 nltk.pos_tag(word_list) 我们最熟悉的nltk大概 ...

  • 百度SEO算法,不深究,多实践可否?

    在做SEO的过程中,我们经常会有这样一个观点,很少去针对百度搜索引擎算法的深度研究与议论,理由非常简单,由于技术水平有限,我们很难去精准定位一个算法,真实的有效性! https://www.batma ...

  • 【最新】2021年自然语言处理(NLP)算法学习路线!

    NLP近几年非常火,且发展特别快.像BERT.GPT-3.图神经网络.知识图谱等技术应运而生.我们正处在信息爆炸的时代.面对每天铺天盖地的网络资源和论文.很多时候我们面临的问题并不是缺资源,而是找准资 ...

  • 自然语言处理(NLP)算法学习路线!

    NLP近几年非常火,且发展特别快.像BERT.GPT-3.图神经网络.知识图谱等技术应运而生. 我们正处在信息爆炸的时代.面对每天铺天盖地的网络资源和论文.很多时候我们面临的问题并不是缺资源,而是找准 ...

  • 【组队学习】【28期】基于transformers的自然语言处理(NLP)入门

    基于transformers的自然语言处理(NLP)入门 论坛版块: http://datawhale.club/c/team-learning/39-category/39 开源内容: https: ...

  • 从零开始学习丰田套路第20讲-套路教练是老师、学员和改进者

    套路教练实际上是多重身份融为一身,首先是教授别人套路方法的老师:其次,要想成为一名优秀的教练,需要比学员学习更多的知识,所以始终要保持学员的心态去学习:最后,引导学员解决阻碍时,会发现有些阻碍的根本原 ...

  • 非得从零开始学习?扒一扒强化学习的致命缺陷

    大数据文摘编译作品 作者:Andrey Kurenkov 编译:Hope.爽爽.茶西.halcyon Deepmind在Alphago上的成就把强化学习这一方法带入了人工智能的主流学习领域,[从零开始 ...

  • 从零开始学习股票知识

    从零开始学习股票知识 第一篇 什么是A股.B股.H股.N股.S股? 我国上市公司的股票有A股.B股.H股.N股和S股等的区分.这一区分主要依据股票的上市地点和所面对的投资者而定. A股的正式名称是人民 ...

  • 从零开始学习丰田套路第21讲-持续改进和科技

    要想成功地实施运营系统或变革,必须聚焦于员工.过程和技术,在套路推进中应用科学技术是非常有益处的.它能帮助管理内容的目视化,促进教练与学员之间的合作,支持标准的执行,跟进改善成果的影响,最重要的是可以 ...

  • 从零开始学习丰田套路第19讲-教导套路中使用非语言交流的要素

    优秀的套路教练都可以很好地利用非语言交流让学员受益,其关键要素包括脸.眼睛.身体姿态.手势.语调等,通过使用这些要素,可以为学员做好准备,进行强化或纠正,让学员获得成就感,还可以提供指导和动力,促使学 ...

  • 从零开始学习丰田套路第18讲-教导以跨越新的知识门槛

    套路教练一般从教导员工从走看开始,到探索性实验,再到把阻碍范畴缩小到一个因素,以便可以把它克服掉,但这还没到他们知识门槛的边缘,所以教练还要做更深入地教导,让学员从舒适区进入学习区,实现知识门槛的跨越 ...