(
课件网) 4.2.3 文本数据处理 第四章 第四章 文本数据处理是大数据处理的重要分支之一,目的是从大规模的文本数据中提取出符合需要的、感兴趣的和隐藏的信息。 据资料表明,非结构化文本数据占文本数据总量的80%以上,而计算机只认识“符号语言”,并不能直接处理非结构化形式的“自然语言”。 非结构化数据 结构化数据 什么是文本数据处理? 百度搜索:高中信息技术难不难? 文 本 数 据 处 理 论文查重 垃圾邮件过滤 搜索引擎 情报分析 自动摘要、自动校对 论文查重、文本分类 垃圾邮件过滤 机器翻译 自动应答 文本数据处理应用 古代小故事 有位书生到亲戚家做客,谈话间外面下起雨来,这时天色将晚,他只得打算住下来。但亲戚却不乐意,于是就在纸上写了一句话: 下雨天留客天留人不留。 书生看了,明白亲戚的意思,却又不好明说,就心想一不做、二不休,干脆加了几个标点:下雨天,留客天,留人不?留!亲戚一看,这句话的意思完全反了。也就无话可说,只好给书生安排了住宿。 下雨天留客天留人不留 下雨,天留客,天留,人不留 下雨天,留客天,留人不?留! 这幅对联是什么意思? 人多病少财富 养猪大如山老鼠头头死 酿酒缸缸好造醋坛坛酸 非结构化数据:各类的办公文档、文本、图片、XML、HTML、各类报表、图像、音频、视频 结构化:行数据,二维表结构,遵循数据格式与长度规范 非结构化数据 结构化数据 分词 数据分析 文本数据源 特征提取 结果呈现 便于计算机处理 文本数据处理的一般过程 分词:将连续的子序列按照一定的规范重新组合成词序列的过程 分词 基于字典的分词方法(jieba): 在分析句子时与词典中的词语进行对比,词典中出现的就划分为词。 基于统计的分词方法: 依据上下文中相邻字出现的频率统计,同时出现的次数越高就越有可能组成一个词,一般与基于字典的分词方法结合使用 基于规则的分词方法: 模拟人的计算方式,根据大量的现有资料和规则进行学习,进而分词,目前处于实验阶段 字符匹配 概率统计 自主学习 一般采用词典法和统计法两者结合 名称 简介 Jieba分词 Python开源项目 IKAnalyzer Java开源分词工具包 NLPIR 北京理工大学大数据搜索与挖掘实验室,非商业应用免费 语言云 哈尔滨工业大学社会计算与信息检索研究中心,在线API接口调用 BosonNLP 玻森中文语义开放平台,在线API接口或库调用 分词工具 函数 对应模式 cut 默认精确分词模式:将句子最精确地切分开 cut(s,cut_all=Ture) 全模式分词:将句子中所有成词的词语都扫描出来 jieba实例 jieba实例 s="我来到了西北皇家理工学院,发现这儿真不错" seg_list=jieba.cut(s,cut_all=True) 我/来到/了/西北/皇家/理工/理工学/理工学院/工学/工学院/学院/,/发现/这儿/真不/真不错/不错 s="我来到了西北皇家理工学院,发现这儿真不错" seg_list=jieba.cut(s,cut_all=False) 我/来到/了/西北/皇家/理工学院/,/发现/这儿/真不错 import jieba #引入jieba分词模块 sentence=input("请输入文本:") #定义文本 sent=jieba.cut(sentence,cut_all=True) #全模式分词 print(sent) #输出结果 import jieba sentence=open(‘文件名’,’r’).read() sent=jieba.cuts(sentence) #精准分词模式 print(sent) jieba实例 中文文本可以采用字、词或短语作为表示文本的特征项。目前,大多数中文文本分析中都采用词作为特征项,这种词称作特征词 相比较而言词的切分难度小且更能表达文本含义。 通常可以直接用分词算法和词频统计得出的结果作为特征词,但若文本很大,特征词会很多,用特征提取效率更高 特征词 ①根据专家知识库挑选有价值的特征。 ②用数学建模的方法构造评估函数自动选取特征。 目前大 ... ...