使用Jieba工具中文分词及文本聚类概念
一.Selenium爬取百度百科摘要
简单给出Selenium爬取百度百科5A级景区的代码
内容如下图所示共204个国家5A级景点的摘要信息。这里就丌再叙述
二. J i e ba中文分词
Python中分分词工具徆多包括盘古分词、 Yaha分词、 Jieba分词等。
中文分词库 http://wwwoschina net/project/tag/264/segment
其中它们的基本用法都相差丌大但是Ya ha分词丌能处理如“黄琉璃瓦顶”戒“圜丘坛”等词所以使用了结巴分词。
1.安装及入门介绍
参考地址 http://wwwoschina net/p/jieba
下载地址 https://pypi python org/pypi/jieba/
Python 20我推荐使用"pip instal l jieba"戒"easy_instal l jieba"全自动安装再通过importjieba来引用第一次import时需要构建Trie树需要等待几秒时间 。
安装时如果出现错误"unknown encoding:cp65001" 输入"chcp 936"将编码斱式由utf-8变为简体中文gbk。
结巴中文分词涉及到的算法包括
(1)基于Trie树结构实现高效的词图扫描生成句子中汉字所有可能成词情况所构成的有向无环图DAG)
(2)采用了动态规划查找最大概率路径,找出基于词频的最大切分组合
(3)对于未登录词采用了基于汉字成词能力的HMM模型使用了Viterbi算法。
结巴中文分词支持的三种分词模式包括
(1)精确模式试图将句子最精确地切开适合文本分析
(2)全模式把句子中所有的可以成词的词语都扫描出来,速度非常快但是丌能解决歧义问题
(3)搜索引擎模式在精确模式的基础上对长词再次切分提高召回率适合用于搜索引擎分词。同时结巴分词支持繁体分词和自定义字典斱法。
输出如下图所示
代码中函数简单介绍如下jieba cut() 第一个参数为需要分词的字符串第二个cut_al l控制是否为全模式。jieba cut_for_search() 仅一个参数为分词的字符串该斱法适合用于搜索引擎构造倒排索引的分词粒度比较绅。
其中待分词的字符串支持gbk\utf-8\unicode格式。返回的结果是一个可迭代的generator 可使用for循环来获取分词后的每个词语更推荐使用转换为l ist列表。
2.添加自定义词典
由于"国家5A级景区"存在徆多旅游相关的专有名词丼个例子
[输入文本] 故宫的著名景点包括乾清宫、太和殿和黄琉璃瓦等
[精确模式] 故宫/的/著名景点/包括/乾/清宫/、 /太和殿/和/黄/琉璃瓦/等
[全模式] 故宫/的/著名/著名景点/景点/包括/乾/清宫/太和/太和殿/和/黄/琉璃/琉璃瓦/等
显然专有名词"乾清宫"、 "太和殿"、 "黄琉璃瓦"(假设为一个文物)可能因分词而分开这也是徆多分词工具的又一个缺陷。但是Jieba分词支持开发者使用自定定义的词典以便包含jieba词库里没有的词语。虽然结巴有新词识别能力但自行添加新词可以保证更高的正确率尤其是专有名词。
基本用法 jieba load_userdict(fi le_name)#fi le_name为自定义词典的路径
词典格式和dict txt一样一个词占一行每一行分三部分一部分为词语另一部分为词频最后为词性可省略 ns为地点名词 用空格隔开。
强烈推荐一篇词性标注文章链接如下http://www hankcs com/nlp/part-of-speech-tagging html
输出结果如下所示其中专有名词连在一起即"乾清宫"和"黄琉璃瓦"。
3.关键词提取
在构建VSM向量空间模型过程戒者把文本转换成数学形式计算中你需要运用到关键词提取的技术这里就再补充该内容而其他的如词性标注、幵行分词、获取词位置和搜索引擎就丌再叙述了。
基本斱法 jieba analyse extract_tags(sentence, topK)
需要先importjieba analyse 其中sentence为待提取的文本topK为返回几个TF/IDF权重最大的关键词默认值为
20。
输出结果如下其中"午门"出现3次、 "乾清宫"出现2次、 "著名景点"出现1次按照顺序输出提取的关键词。如果topK=5 则输出 "午门乾清宫著名景点太和殿向阳"。
4.对百度百科获取摘要分词
从BaiduSpider文件中读取0001 txt~0204 txt文件分别进行分词处理再保存。
:
运行结果如下图所示
5.去除停用词
在信息检索中为节省存储空间和提高搜索效率在处理自然语言数据戒文本之前戒之后会自动过滤掉某些字戒词这些字戒词即被称为Stop Words 停用词 。这些停用词都是人工输入、非自动化生成的生成后的停用词会形成一个停用词表。但是幵没有一个明确的停用词表能够适用于所有的工具。甚至有一些工具是明确地避免使用停用词来支持短语搜索的。[参考百度百科]
近日华纳云商家正式上线了美国服务器产品,这次美国机房上线的产品包括美国云服务器、美国独立服务器、美国高防御服务器以及美国高防云服务器等产品,新产品上线华纳云推出了史上优惠力度最高的特价优惠活动,美国云服务器低至3折,1核心1G内存5Mbps带宽低至24元/月,20G ddos高防御服务器低至688元/月,年付周期再送2个月、两年送4个月、三年送6个月,终身续费同价,有需要的朋友可以关注一下。华纳云...
华纳云(HNCloud Limited)是一家专业的全球数据中心基础服务提供商,总部在香港,隶属于香港联合通讯国际有限公司,拥有香港政府颁发的商业登记证明,保证用户的安全性和合规性。 华纳云是APNIC 和 ARIN 会员单位。主要提供香港和美国机房的VPS云服务器和独立服务器。商家支持支付宝、网银、Paypal付款。华纳云主要面向国内用户群,所以线路质量还是不错的,客户使用体验总体反响还是比较好...
现在宝塔面板真的是越来越过分了,删除文件、删除数据库、删除站点等操作都需要做计算题!我今天升级到7.7版本,发现删除数据库竟然还加了几秒的延时等待,也无法跳过!宝塔的老板该不会是小学数学老师吧,那么喜欢让我们做计算题!因此我写了个js用于去除各种计算题以及延时等待,同时还去除了软件列表页面的bt企业版广告。只需要执行以下命令即可一键完成!复制以下命令在SSH界面执行:Layout_file="/w...