目录
一、语料库概念理解
二、关键词提取之中文分词的实现
(1)使用jieba分词对文章进行中文分词处理
(2)jieba分词英文与中文的区别
三、TF-IDF分析
(1)TF(词频的计算)
(2)IDF(逆文档频率)
(3)TF-IDF(代表单词在文章中的重要程度)
(4)红楼梦的关键词文件
(5)浏览器与网站服务器之间的联系
一、语料库概念理解
(1)语料库中存放的是在语言的实际使用中真实出现过的语言材料。
(2)语料库是以电子计算机为载体承载语言知识的基础资源。
(3)真实语料需要经过加工(分析和处理),才能成为有用的资源。
举例理解:假设有一个文件夹,文件夹里面有2000篇文章,想要提取出每篇文章中的关键词。
这里的文件夹内的文件就是一个语料库 ,而关键词要具有代表性,能够作为本文章与其他文章之间区分开来。
二、关键词提取之中文分词的实现
(1)使用jieba分词对文章进行中文分词处理
核心关键词是一篇文章的代表性,独特的
import jieba #用于中文分词 #第三方库,分词
str='我们在学Python办公自动化'
jieba.add_word('Python办公自动化') #向词典添加一个新词
a=jieba.lcut(sentence=str) #人工智能的算法来实现
#辞海 收录了中国的所有分词,向辞海中添加单词
print(a)#jieba 本身是一个词海,包含了全国的所有单词,人工向jieba添加新词,词海#'''全模式'''
b=jieba.lcut(sentence=str,cut_all=True)
print(b)#向辞海中添加红楼梦的词库
import jieba #通过收录了辞海中的所有单词
jieba.load_userdict(r"./data/红楼梦/红楼梦词库.txt")
#向jieba库里面添加新词,并且是文档的形式
#str='宝情孤洁悲远嫁宝玉感离情'
a=jieba.lcut(sentence = str)
print(a)
##a 一次性添加多个词
(2)jieba分词英文与中文的区别
英文每个单词之间都有空格分开,中文之间则不存在这样的分隔符。
jieba分词的原理:
jieba是一个人工智能算法,jieba是基于隐马尔可夫链实现的,jieba分词的内部有点像辞海,分词的原理(以“我们在学Python办公自动化”为例)先找到’我‘,然后找到’我们’,其中'自动'和‘自动化都可以是一个词’。
lcut():jieba库里的一个方法,用来分词;cut_all是lcut中的一个参数,将参数设置为True,则函数会返回某一个句子的所有可能的切分结果。
add_word():向jieba的辞海中添加新的词,那么,我们下次进行分词时就能将句子中的词按照你添加的词进行分词。
load_userdict():将词库文件加载到jieba的辞海中,对文件的要求是一个词在文件中占一行,函数的参数是需要添加词库文件的路径。
lcut()方法:分词的结果
cut():分词的结果
返回的是一个对象,对象的内容可以通过for循环依次打印对象里面的内容
import jieba #用于中文分词 #第三方库,分词 str='我们在学Python办公自动化' jieba.add_word('Python办公自动化') #向词典添加一个新词
a1=jieba.cut(sentence=str)
for i in a1: print(i)
结果:
三、TF-IDF分析
(1)TF(词频的计算)
定义:指的是某一个给定的词语在该文件中出现的次数。这个数字通常会被归一化(一般是词频除以文章总字数),以防止它偏向长的文件。
(2)IDF(逆文档频率)
IDF的主要思想是:如果包含的词条t的文档越少,IDF越大,则说明词条具有很好的类别区分能力。
(3)TF-IDF(代表单词在文章中的重要程度)
TF-IDF倾向于过滤掉常见的词语,保留重要的词语,这个值越大,越说明该词越能代表这篇文章,可以作为这篇文章的关键词。
TF - IDF = 词频(TF)X 逆文档频率(IDF)
举例:
几乎每一篇文章都会有“的”字,所以250亿就是语料库的文档总数,包含“中国”、“蜜蜂”、“养殖”的文章数目也都给出了,这样我们按照上面的公式分别计算每个词的IDF值,计算结果如上图结果,最终算出TF-IDF的值,发现“蜜蜂”的TF-IDF值最大,说明“蜜蜂”就是这篇文章的关键词。
(4)红楼梦的关键词文件
为了做红楼梦分词,对于红楼梦的文章中,其中有很多的专有名词,像‘艾官’、‘安国公’、‘宝官’等等,这些词在jieba的辞海中是没有的,所以我们需要向jieba的词库中添加红楼梦的词库文件”红楼梦词库.txt",文件内容如下(每一个专有名词占一行):
(5)浏览器与网站服务器之间的联系
原理:以某度为例,其本质就是爬虫,它会爬取全中国所有的网页,域名;
当我们有了域名就可以访问网页,当作一篇文章;提取出每一个网页中的关键词;
然后百度的服务器会存储所有域名对应的关键词,这个关键词具有极高的代表性,能够区分该网页与别的网页,例如:学习通就可以是一个关键词,那么百度的服务器就会存储类似于www.chaoxingxuexitong.com 学习通,这样的信息,当我们访问域名或着使用浏览器搜索关键词时,就能获取到学习通的域名。