版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
AI实验:用朴素贝叶斯算法实现文本分类学院:计算机科学与工程学院班级:03计联组别:第二组姓名:学号:指导老师:一、实验内容:1.数据采集1)下载CornellUniversity,WashingtonUniversity,WisconsinUniversityandTexasUniversity计算机专业和化学专业的教授个人网页、学生个人网页和课程网页2)预处理数据2.实现朴素贝叶斯算法。3.实验结果1)按专业分类的准确性(2组)2)打印出每类中概率值最高的20个词,并分析它们的不同之处3)修改程序,使得在计算字概率时,可以从词汇表中去掉概率最高的N个字(从训练集中选)。当N取30、50、100、300、500、1000时比较分类器的准确性,画图说明4)计算字概率时采用如下公式:where,Cisacategory,ECisthesetofalltrainingexampleslabelledasC,c(w;EC)isthecountsofwordwinEC,ands(EC)=∑c(wi;EC)isthetotalcountsofallthewordsinEC.m取[10,|V|]范围的至少5个值,学习分类器,比较分类器的准确性,画图说明。二、实验步骤1.数据采集本次实验的数据采集由我们两个班共4个组的同学分工完成,本组负责收集WashingtonUniversity的相关网页。本组用“OfflineExplorerEnterprise”这个国外的软件先将WashingtonUniversity的站内的相关页面下载下来,然后将里面的无关的链接删除,得到与该校有关的页面。由于在下载后,里面有些文件夹内存在一些pdf文件,考虑到无法读取该类文件,所以也将它们删去。最后只剩.html文件。组长将这些资料分发给我们,由我们这些组员整理,再发回给他。预处理数据时先筛选掉无关的网页,然后将有效网页以学校名->专业->课程(教授或学生)->网页分类存放。网页命名基本原则是四个组统一安排的,该原则是按网页的URL命名,考虑到网页已按文件夹分类好,不存在重名的问题,所以一部分网页保留原名(下载名)。本实验的网页文件放在”AIHtmlResource”文件夹里,清单如下所示ChemistryComputerScienceCornellUniversity155237WashingtonUniversity179WisconsinUniversity187219用于测试的网页放在”test_for_chem”和”test_for_cs”两个文件夹里,这些文件都是从搜集到的文件里面随机抽取的,清单如下所示:test_for_chemtest_for_cs文件个数86872.程序代码☆平台:WindowsXP☆开发语言:JAVA☆开发工具:JDK+JCreator本实验的代码共包括5个java文件,清单如下所示:功能说明Artificial.java主类,提供输出和对结果进行统计的功能Analyze.java提供分析字符串功能,分割单词并生成单词集HtmlFilter.java过滤网页中的标签,为进行分类做准备keyAndCount.java提供存放单词及其概率的结构keyAndCountobject.java提供存放单词token的结构object主要功能函数说明如下:类Artificial 在此类中,定义了一个静态字符串数组,用于存放停止词publicstaticfinalString[]ENGLISH_STOP_WORDS={"a","an","and","are","am","as","at","be","but","by","for","i","if","in","into","is","it","do","no","not","of","on","or","s","such","t","that","the","their","then","there","these","they","this","to","was","will","with","nbsp","pm","td","dropitem","dropdown","hover","drophead","td","you","your"}; 定义了一个函数,它调用了其他类的函数,同时生成一个哈希表,用于对结果进行统计,此函数首先将文本进行预处理,将当中的有用的文本提取出来,再存入哈希表内,同时进行了统计,用于下一步的处理publicstaticvoidLoadfileAndStat(Filefile,Vectorvt,intkind) 定义了一个函数,用于对哈希表进行排序,这样可以方便提取出频率最高的单词,方便以后的处理.此函数采用的是快速排序算法publicstaticvoidQuickSort(Vectorvt,intleft,intright)类Analyze在此类中定义了一个函数analyze,它的功能是对单词进行提取,并存入一个向量中,当中的提取过程是:首先对字符的编码进行判断,如果有用就保存下来,无用就将其删除;然后将这些字符以词为单位存入向量中。类HtmlFilter此类只定义了一个构造函数HtmlFilter。此函数的功能是删除网页中的标签和脚本语言.它的算法是,每次读一行文本,如果出现”<”号,则忽略此号到”>”之间的内容,也就是去除了标签.而对于脚本语言的去除,就是去除”{”号和”}”号之间的内容.当然,这里面也存在一些不足.因为脚本语言里面的函数名无法去.如果要做到尽善尽美,则会使程序非常复杂.考虑到脚本语言的函数调用频率不会很高,对分类不会产生太大的影响,所以不进行处理,以免影响速度.3.实验方法在Artificial类当中定义了两个全局静态整数N和m,其中N用于去除概率最高的N个字,m对应于公式中的m,用于让结果变得更加平滑。实验时只要改变这两个变量,就可以得出不同的结果,然后对这些结果进行统计就行了。4.实验结果在所有chemistry文件中,频率最高的20个单词是{intrinsic,chemistry,fortran,chem,use,course,intrinsics,code,information,style,kind,section,name,program,gnu,function,integer,time,see,type}在所有computerscience文件中,频率最高的20个单词是{course,cs,computer,programming,class,lecture,information,systems,science,homework,students,data,from,may,topics,introduction,design,due,cps,problem}对文件夹test_for_chem的运行结果如下所示m=10m=100m=500m=1000m=3000N=00.94040.94050.94050.94050.9405N=300.71430.73810.73810.73810.7381N=500.91670.91670.91670.91670.9167N=1000.60710.60710.60710.58330.5833N=3000.17860.16670.16670.16670.1548N=5000.21430.20240.20240.20240.1667N=10000.11900.11900.11900.11900.1071对文件夹test_for_cs的运行结果如下所示m=10m=100m=500m=1000m=3000N=00.96250.96250.96250.96250.9625N=300.95000.95000.95000.95000.9500N=500.92500.95000.95000.96250.9750N=1000.85000.90000.90000.91250.9125N=3000.67500.75000.83750.85000.9125N=5000.46250.62500.81250.85000.9000N=10000.51250.63750.81250.86250.9125实验结果用条状图表示,结果如下所示:对文件夹test_for_chem的测试结果如下曲线图所示:对文件夹test_for_cs的测试结果如下曲线图所示5.结果分析从上面的几张图可以看出,对于不同的m值,曲线的形状的变化并不大,只是改变了曲线某些结点的值;而在同一个m中,随着N的变大,曲线先向下凸,再上升,然后下降。由于时间和能力所限,实验中也存在着不少的不足,从所有的图可以看出,在N取30至50时,准确率是最高的,而随着N的继续增大,会出现减少而又增大的现象,显然,这是不合实际的.这可能是因为数据的选取上出了差错,或者是因为方法上出了问题。在这里,朴素贝叶斯算法的准确性并没有达到理想的要求。AIchem.m文件的源代码functionAIchem()x=[0,30,50,100,300,500,1000];ya=[0.9404,0.7143,0.9167,0.6071,0.1786,0.2143,0.1190];yb=[0.9404,0.7143,0.9167,0.6071,0.1667,0.2024,0.1190];yc=[0.9404,0.7143,0.9167,0.6071,0.1667,0.2024,0.1190];yd=[0.9404,0.7143,0.9167,0.5833,0.1667,0.2024,0.1190];ye=[0.9404,0.7143,0.9167,0.5833,0.1548,0.1667,0.1071];aa=polyfit(x,ya,2);bb=polyfit(x,yb,2);cc=polyfit(x,yc,2);dd=polyfit(x,yd,2);ee=polyfit(x,ye,2);x1=[0:10:1000];y1=aa(3)+aa(2)*x1+aa(1)*x1.^2;y2=bb(3)+bb(2)*x1+bb(1)*x1.^2;y3=cc(3)+cc(2)*x1+cc(1)*x1.^2;y4=dd(3)+dd(2)*x1+dd(1)*x1.^2;y5=ee(3)+ee(2)*x1+ee(1)*x1.^2;subplot(5,1,1);plot(x1,y1,'-r');title('m=10');subplot(5,1,2);plot(x1,y2,'-r');title('m=100');subplot(5,1,3);plot(x1,y3,'-r');title('m=500');subplot(5,1,4);plot(x1,y4,'-r');title('m=1000');subplot(5,1,5);plot(x1,y5,'-r');title('m=3000');附录:AIcs.m文件的源代码functionAIcs()x=[0,30,50,100,300,500,1000];ya=[0.9625,0.9500,0.9250,0.8500,0.6750,0.4625,0.5125];yb=[0.9625,0.9500,0.9500,0.9000,0.7500,0.6250,0.6375];yc=[0.9625,0.9500,0.9500,0.9000,0.8375,0.8125,0.8125];yd=[0.9625,0.9500,0.9625,0.9125,0.8500,0.8500,0.8625];ye=[0.9625,0.9500,0.9750,0.9125,0.9125,0.9000,0.9125];aa=polyfit(x,ya,2);bb=polyfit(x,yb,2);cc=polyfit(x,yc,2);dd=polyfit(x,yd,2);ee=polyfit(x,ye,2);x1=[0:10:1000];y1=aa(3)+aa(2)*x1+aa(1)*x1.^2;y2=bb(3)+bb(2)*x1+bb(1)*x1.^2;y3=cc(3)+cc(2)*x1+cc(1)*x1.^2;y4=dd(3)+dd(2)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 某村年度工作总结
- 信息技术(第2版)(拓展模块)教案3-模块3 3.3 大数据工具
- 中班秋季安全教育教案20篇
- 班级心理健康教育工作计划
- 课时7 七年级 Unit 7 2025年中考英语(仁爱版)一轮复习基础练(含答案)
- 【中考考点基础练】阶段训练三 第11~15章 2025年中考物理总复习 (广东)(含答案)
- 高中物理第三章相互作用实验:探究互成角度力的合成课件粤教版必修第一册
- 2013-2018年中国噻吩行业发展前景与投资战略规划分析报告
- 2024至2030年中国数码彩激纸数据监测研究报告
- 2024至2030年中国感应擦鞋机数据监测研究报告
- 2024年2024年离婚协议书模板电子版
- DB23T 3834-2024 安全生产培训机构管理指南
- 2024-2025学年二年级上册语文第四单元测试卷(统编版)
- 中国慢性冠脉综合征患者诊断及管理指南2024版解读
- (高清版)JTGT D81-2017 公路交通安全设施设计细则
- (正式版)SHT 3551-2024 石油化工仪表工程施工及验收规范
- 房屋修缮工程施工方案(完整版)
- 我国主要山脉高原盆地平原
- 派尔科化工材料(启东)有限公司年产75500吨年合成材料搬迁改造项目环境影响评价
- IQ测试题和答案
- 6课题研究工作计划表
评论
0/150
提交评论