2021SC@SDUSC
基于python的jieba分词综述
和拉丁语系不同,亚洲语言是不用空格分开每个有意义的词的。而当我们进行自然语言处理的时候,大部分情况下,词汇是我们对句子和文章理解的基础,因此需要一个工具去把完整的文本中分解成粒度更细的词。
jieba就是这样一个非常好用的中文工具,是以分词起家的,但是功能比分词要强大很多。
jieba分词有三种不同的分词模式:精确模式、全模式和搜索引擎模式:
1,全模式:把句子中的所有可以成词的词语都扫描出来,
2, 精确模式:试图将文本最精确的分开,适合于做文本分析。
3,搜索引擎模式:在精确的基础上对长词进行进一步的切分。
精确模式是最常用的分词方法,全模式会将句子中所有可能的词都列举出来,搜索引擎模式则适用于搜索引擎使用。
在每个函数中,都有名为HMM的参数。这一项表示是否在分词过程中利用HMM进行新词发现。。
另外分词支持自定义字典,词典格式和 dict.txt 一样,一个词占一行;每一行分三部分:词语、词频(可省略)、词性(可省略),用空格隔开,顺序不可颠倒。
整体工作流程
jieba分词主要通过词典来进行分词及词性标注,两者使用了一个相同的词典。正因如此,分词的结果优劣将很大程度上取决于词典,虽然使用了HMM来进行新词发现。
jieba分词包整体的工作流程如下图
我负责TF-IDF算法
TF-IDF
TF-IDF(词频-逆文本频率)是一种用以评估字词在文档中重要程度的统计方法。它的核心思想是,如果某个词在一篇文章中出现的频率即TF高,并且在其他文档中出现的很少,则认为这个词有很好的类别区分能力。TF-IDF方法模型不进行词性筛选。比如输入一个语句后,不基于词性分析而是字典匹配进行分词得到分词结果,后交予TF-IDF算法进行在词典中的查找,出现频率高则匹配为一个词。TFIDF实际上是:TF * IDF,TF词频(Term Frequency),IDF反文档频率(Inverse Document Frequency)。TF表示词条在文档d中出现的频率。IDF是:如果包含词条t的文档越少,也就是n越小,IDF越大。则说明词条t具有很好的类别区分能力。如果某一类文档C中包含词条t的文档数为m,而其它类包含t的文档总数为k,显然所有包含t的文档数n=m+k,当m大的时候,n也大,按照IDF公式得到的IDF的值会小,就说明该词条t类别区分能力不强。