ImageVerifierCode 换一换
格式:DOCX , 页数:29 ,大小:29.90KB ,
资源ID:6047968      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6047968.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(自然语言处理实验报告材料.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

自然语言处理实验报告材料.docx

1、自然语言处理实验报告材料自然语言处理实验报告专业:智能科学与技术_1501_0918150102某某:宋晓婷日期:2018/4/16实验11、实验目的:本实验学习如何在利用NLTK进展分词词性分析与句法分析,.通过次实验项目的练习,增强学生对课堂理论知识的理解,帮助学生以知识获取与自主实践相结合,学习对英文自然语言信息的处理的实践.2、实验原理和内容:NLTK自然语言处理工具包,里面包含了许多处理自然语言的库可以直接调用,本实验利用NLTK对obama.txt语料库进展对应的分词和词频统计,再对布朗语料库进展词性和句法分析.3、实验环境和编程语言:windows下 anaconda3 spyd

2、er4、主要功能与实现:4.1 怎样载入自己的英文语料库obama.txt,在自己的语料库中找出responsibility,education和 working出现的频率与其他们词干出现的频率.使用nltk的英文分词函数tokenize和stem.使用open以与read函数读取obama.txt文档,调用nltk里面的word_tokenize函数,先把文档进展分词,再调用nltk中的FreDist函数进展词频统计.统计responsibility,education和 working出现的频率.结果见表一.提取词干的时候,NLTK中提供了三种最常用的词干提取器接口,即Porter ste

3、mmer, Lancaster Stemmer 和 Snowball Stemmer.统计词干频率时,先对全文提取词干,然后在提取的词干中统计三者词干出现的频率,结果见表二.表一 原词以与对应词干频率统计responsibilityresponseducationworking原词出现频率8112词干出现频率91112全文总词数:3066 全文总词干数:3066表二 三种词干提取器提取结果Porter stemmerLancaster StemmerSnowball Stemmerresponsibilityresponsresponsresponseducationeduceduceducw

4、orkingworkworkwork4.2写程序处理布朗语料库,找到以下答案:4.2.1哪些名词常以他们复数形式而不是它们的单数形式出现?只考虑常规的复数形式,-s后缀形式的.先查看布朗语料库里面包含的类别如图一图一 布朗语料库包含类别选取其中一个类别的语料库adventure, 提取里面的所有NNS标注的复数词放入word_double;提取NN标注而非NNS标注的单数词放入word_single;然后对这两个词表提取词干,比拟两个词干表里面一样的词干,同时去除里面重复出现的词干,然后再在复数词表里面找出这些词.可得常以复数不以单数出现的词有:hands eyes clothes fools

5、 kids nights horses mountains hills fences wings buildings rifles friends wars Eyes riders hopes springs snakes houses times lights Riders troubles keys rocks Looks boots looks cigarettes streets counties authorities means deputies murders Houses Springs saloons bars attackers holes Zeros powers elb

6、ows Lights officers feelings waters throats lifeboats islands uncles mothers hairs valleys Hills manders kills offices centers farmers horns products talks marines murderers stores persons4.2.2选择布朗语料库的不同局部其他目录,计数包含wh的词:此处我查找新闻news类别里面包含wh的词,结果如图二图二 布朗语料库新闻类别中包含wh的词wheat: 1 wherever: 1 whip: 2 whippe

7、d: 2 wholesale: 1 whichever: 1whisking: 1 why: 14 wheeled: 2 wholly-owned: 1 whims: 1 where: 59whiplash: 1 which: 245 whereby: 3 white: 57 wheels: 1 who: 268 wheel: 4whites: 2 when: 169 whatever: 2 whose: 22 white-clad: 1 while: 55 wholly: 1whether: 18 what: 95 whopping: 1 whole: 11 whom: 8 whirling

8、: 1 whiz: 24.3、输出brown文本集名词后面接的词性,结果如图三图三 brown文本集名词后面接的词性由统计可知:名词后面出现频率最高的是 ADP介词和后置词第二是标点 第三是 动词依次是名词、连接词、副词、限定词、PRT 、形容词、数量词、代名词、以与其他.使用nltk的句法分析器parser 自底向上nltk.app.srparser 后打开以下窗口,运行step 会逐步演示对 my dog saw a man in the park with a statue这句话进展文法分析.结果见图四、图五图四 parser句法分析器nltk.app.rdparser 使用递归下降解析

9、器自顶向下,进展文法分析 文法=词法+句法图五rdparser递归下降解析器nltk里面一共有5个对话框系统,我选择1,情绪分析.结果如图六、图七图六图七5、实验结论掌握了对语料库的根本操作,分词分句、统计词频以与对词性分析.句法分析的自顶向上以与自底向下思路简单但是实现起来比拟麻烦,回溯会出现屡次.实验中掌握了两种不同的句法分析的流程.nltk的对话框经测试后觉得有点根底,分析以与人机对话的可用性不是很强.实验2 中文分词1、实验目的和内容a.用最大匹配算法设计分词程序实现对文档分词,并计算该程序分词召回率.b.可以输入任意句子,显示分词结果.实验数据:1word_freq_list.txt

10、 分词词典2pku_test.txt 未经过分词的文档文件3pku_test_gold.txt 经过分词的文档文件2、实验原理核心思想:最大匹配算法算法描述: 正向最大匹配法算法如下所示:逆向匹配法思想与正向一样,只是从右向左切分,这里举一个例子:输入例句:S1=计算语言学课程有意思 ;定义:最大词长MaxLen = 5;S2= ;分隔符 = /;假设存在词表:,计算语言学,课程,意思,;最大逆向匹配分词算法过程如下:1S2=;S1不为空,从S1右边取出候选子串W=课程有意思;2查词表,W不在词表中,将W最左边一个字去掉,得到W=程有意思;3查词表,W不在词表中,将W最左边一个字去掉,得到W=

11、有意思;4查词表,W不在词表中,将W最左边一个字去掉,得到W=意思5查词表,意思在词表中,将W参加到S2中,S2= 意思/,并将W从S1中去掉,此时S1=计算语言学课程有;6S1不为空,于是从S1左边取出候选子串W=言学课程有;7查词表,W不在词表中,将W最左边一个字去掉,得到W=学课程有;8查词表,W不在词表中,将W最左边一个字去掉,得到W=课程有;9查词表,W不在词表中,将W最左边一个字去掉,得到W=程有;10查词表,W不在词表中,将W最左边一个字去掉,得到W=有,这W是单字,将W参加到S2中,S2= /有 /意思,并将W从S1中去掉,此时S1=计算语言学课程;11S1不为空,于是从S1左

12、边取出候选子串W=语言学课程;12查词表,W不在词表中,将W最左边一个字去掉,得到W=言学课程;13查词表,W不在词表中,将W最左边一个字去掉,得到W=学课程;14查词表,W不在词表中,将W最左边一个字去掉,得到W=课程;15查词表,意思在词表中,将W参加到S2中,S2= 课程/ 有/ 意思/,并将W从S1中去掉,此时S1=计算语言学;16S1不为空,于是从S1左边取出候选子串W=计算语言学;17查词表,计算语言学在词表中,将W参加到S2中,S2=计算语言学/ 课程/ 有/ 意思/,并将W从S1中去掉,此时S1=;18S1为空,输出S2作为分词结果,分词过程完毕.3、实验平台与语言window

13、s anconda3 spyder4、主要功能与实现图八 正向最大匹配算法实验流程图a、基于上述算法,写代码实现.实现前对词典中的词的最大长度进展计算,可得词典里面词最大词长为4.于是初始化三个空列表来存放词长为2、3、4的词.把原词典里面的词分成三份,这样匹配时可以加快匹配速度.匹配完之后计算召回率R、准确率P、F测度,准确率:P=系统输出正确词的个数/系统输出词的个数词典词的个数*100%召回率:R=系统输出正确词的个数/金标词典中词的个数词典词的个数*100%F-测度:F=2*P*R/以下是实现结果,如图九.图九 最大匹配算法性能值整理成表之后可得表三表三 正向最大匹配算法评价正向最大匹

14、配算法准确率P82.7830%召回率R88.7967%F-测度85.6844%b、将文本文件改成外部输入,对输入的词自动分词,以下是测试结果:图十 实验2-b测试5、实验结论正向最大匹配算法是汉语分词的一个重要算法,思路简单,实验中我将词顺序存储,但是把词长不同的词分开,比拟的时候在对应词长的列表里面进展比拟,这样大大提高了算法的运行效率.对于逆向匹配算法,虽然思路和正向差不多,但是对我而言实践起来比正向要困难.同时我最后分词的准确率不高,对分词歧义并没有进展消除,这可能是导致歧义的原因之一.实验三 中文文本分类1、小组成员以与分工宋晓婷、陈曦分工:陈曦 数据预处理宋晓婷 数据预处理去html

15、标签以与分词、特征提取以与分类2、实验目的和内容对语料库进展数据预处理,利用朴素贝叶斯算法或SVM完成对测试集的文本进展分类.语料库主要包括 健康、财经、教育三个类别,每个类别里面各有6篇文档以与一篇test.txt待测试的文档.3、实验原理以与数据处理自然语言处理文本分类的主要步骤如图十一图十一 实验5流程图预处理局部:去除文档中的html标签,删除文档中多余的空格和换行.这里没有去除停用词,因为在后续调用sklearn中的算法的时候可以直接利用其中的算法进展停用词去除.分词:这里调用的是结某某文分词系统import jieba.结构和表示-构建词向量空间:对于分好词的文档,利用sklear

16、n里面的bunch数据结构,由于给的test.txt测试集没有标签,在后续对算法测评的时候无法测评,于是把每篇文档中的第五篇5.txt分出来作为测试集.用这三篇文档作为测试集来进展算法测评. Bunch化后训练集以与测试集数据如表四、表五所示.TF-IDF算权重、提取特征:去除测试集和训练集中的停用词,计算数据集里面的词频,把词频大于50%的去掉,因为这些高频词对分类的特异性没有多大作用,而后根据词频,计算每个词的权重,得到权重矩阵tdm,并把这些词统一到同一个词向量空间里面提取特征.分类:此处是多分类,调用sklearn中的朴素贝叶斯函数中的伯努利模型和多项式模型,以与svm中的SVC算法,

17、用训练集数据进展训练,利用训练好的算法预测类别.评价:计算准确率P,召回率R,F-测评值表四 Bunch化后训练集数据target_namefilenameslabelcontents财经财经重要 财务指标 财务指标 每股 收益.财经致命 的 停滞 : 谁 在 监测 京石 高速 ? 杜家.财经朱宏任 : 上半年 工业 经济运行 总体 保持 平稳.财经利率 市场化 或 推 升高 风险 贷款.财经 炎黄 保壳 仍 无 具体措施.健康健康中国 每天 新 增加 糖尿病 患者 约.健康重 酒石酸 间 羟胺 注射液 鲜花.健康脂肪乳 注射液 主要.健康马来酸 麦角 新碱 注射液.健康盐酸 可乐 定片 须知

18、事项 .教育教育 杜 拉拉 升职 记 开播 的 时候.教育中学 拟用 平板 电脑 代替 纸质 教材.教育 考研 数学 备考 指导.教育高考 后 学生 纷纷 去 看 心理医生.教育 政法 干警 行测 数学 运算 指南.表五 bunch化后测试集数据target_namefilenameslabelcontents财经财经中 俄 专家 谈 东盟 : 三方.健康健康水杨酸 软膏 主要 成分 水杨酸 .教育教育学生 课程 生活 日记 显示 : 本市.4、实验平台和语言windows anaconda3 spyder5、实验结果测评总结准确率P召回率RF-测评效果最好的是朴素贝叶斯中的多项式模型,该模式

19、适合多分类问题.朴素贝叶斯多项式alpha=0.00194.4%93.3%93.3%伯努利alpha=0.00150.0%66.7%68.3%线性核C=0.185.2%73.3%68.3%多项式核C=0.193.9%92.8%92.9%6、实验结论对于中文文本分类,初次动手尝试,拿到数据集之后也是不知道该如何下手.参考网上一篇博客.里面博主对于中文文本分类说的很清楚,让我受益颇多.对于分本分类采用bunch结构也是一个非常巧妙地结构化表示方法.四、实验1-3代码实验一# -*- coding: utf-8 -*-Created on Thu Apr 5 09:39:09 2018author:

20、 sxt#Natrual Language #experiment_1from nltk import*import nltkfile=openraw_file=file.read#读取文件sens=nltk.sent_tokenize#将文本拆分成句子列表words=nltk.word_tokenize#get every word of the txt,分词#print#总词数#printlenfdist=nltk.FreqDistsdist=nltk.FreqDistprintprintprintprintprintprint#提取三个词的词干from nltk.stem.lancast

21、er import LancasterStemmerlancaster_stemmer=LancasterStemmer#print#printlancaster_stemmer.stem#print#print#printlancaster_stemmer.stem#print#printlancaster_stemmer.stemfrom nltk.stem.porter import PorterStemmerporter_stemmer=PorterStemmerprintprintporter_stemmer.stemprintprintporter_stemmer.stemprin

22、tprintporter_stemmer.stemfrom nltk.stem import SnowballStemmersnowball_stemmer = SnowballStemmer printprintsnowball_stemmer.stemprintprintsnowball_stemmer.stemprintprintsnowball_stemmer.stem#统计词干出现的频率,先对全文提取词干whole_stems=lancaster_stemmer.stem for t in words#提取全文的词干printprintlenwdist=nltk.FreqDistpr

23、intprintprintprintprintprintfrom nltk.corpus import brownimport nltkimport re#包含wh的词计数c=brown.categories#布朗语料库包含的目录类别news_text=brown.words#新闻#romance_text=brown.words#浪漫ndist=nltk.FreqDistw.lower for w in news_textmodals=setw for w in news_text if re.searchfor m in modals: print#名词后面词性统计#brown_Irnd_

24、tagged=brown.tagged_words#tags=b1 for in nltk.bigrams if a1=NOUN#tags=b1 for in nltk.bigrams if a0=often#nd=nltk.FreqDist#统计频率#nd.tabulate#统计常以复数形式出现的词#wsj=nltk.corpus.treebank.tagged_words#word_tag_fd=nltk.FreqDist#from nltk.corpus import brownfrom nltk.stem.porter import PorterStemmerporter_stemme

25、r=PorterStemmer#printbrown.categories#打出布朗语料库里面的类别brown_news_tagged=brown.tagged_words#printword_double= nltk.FreqDistword for in brown_news_tagged if tag.startswith#提取词性标注为复数的词word_single= nltk.FreqDistword for in brown_news_tagged if tag.startswith and not tag.startswith#word_single= nltk.FreqDistword for in brown_news_tagged if tag.startswith#提取词性标注为复数的词#word_double= nltk.FreqDistword for in brown_news_tagged if tag.startswith and not tag.startswith#提取词性标注为单数的词double_keys=listword_double.keyssingle_keys=listword_sin

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1