




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2008/12/15Lesson25ExtendBBS12008/12/15Lesson25ExtendBBSReportsandrelatedtopicsOtherbbsReportsThepreprocessorHomeworkDec-112ReportsandrelatedtopicsOtheSoftwaredevelopmentRequestAnalysisFormalizeDesignCodingTest&resultanalyze3SoftwaredevelopmentRequestARequest:希望能自动从所有回贴中找到三种最具代表性的帖子:A、最能代表当前所有回贴内容的帖子。B、内容与其他所有回贴最不同的帖子。C、与某预设(自设)的敏感话题最相关的回帖。4Request:希望能自动从所有回贴中找到三种最具代表性的帖ProblemAnalysis——
最能代表当前所有回贴内容的帖子‘代表’到底是什么意思?所有回帖?5ProblemAnalysis——
最具代表性的帖子
—高戈,秦毅成在帖子中随机抽取2个帖子进行DP最长公共子串匹配。进行8n(n为帖子总数)次,这样在20%-30%以上帖子中都出现的关键词(关键词长度要大于等于4,小于等于10)我们都基本能记录下来。然后用其中出现次数较多的20个关键词(必须满足出现次数大于等于3)对每个帖子进行匹配,并根据匹配情况算出它的权值,其中匹配权值最高的那个帖子即为最具代表性的帖子。优点:不必分词,领域无关,自适应。算法复杂度较低。缺点:?6最具代表性的帖子—高戈,秦毅成6测试数据1:关于研究生应聘卖猪肉岗位的新闻的回帖运行结果:1最具代表性的帖子这是中国资源的浪费,读完研究生要耗去多少人力和财力,国家和家庭要付出多少,卖猪肉小学毕业就绰绰有余了,难道非要研究生吗?一个人从小学毕业开始卖猪肉,一年赚一万,又比在校学生少花费一万来计算,从初中到研究生毕业就是28万余元啊!说不定你研究生毕业人家就成养猪专业户或企业家了,你们研究生就是给人家打工的,年薪10万算什么?如果一个国家投资那么多钱就是为了培养卖猪肉的,真是太可悲了呀!相似度为1500左右,多次测试结果稳定2最不同的帖子可能性较多,有三至四种相似度为0到2之间,多次测试结果不稳定7测试数据1:关于研究生应聘卖猪肉岗位的新闻的回帖运行结果:7测试数据2:
对台检方周末加班写起诉书陈水扁可能被求处重刑的评论。1最具代表性的帖子贪污这么多钱在国际上也是前无先例啊!不判死刑能给世人交代吗?应该让陈水扁象萨达姆那样被台湾人民绞死!现在还在挺扁的绿营人士及民进党都是神经病患者,根本就没有是非观念,真是台湾的不幸啊!其他出现结果很不理解台湾的极少数支持陈水扁的人,陈水扁贪污这么多,在祖国大陆这样的贪污犯是要处死刑的;难道支持陈水扁的少数人是接受了陈水扁的好处?是共犯?相似度为1200到1300,多次测试结果较为稳定2最不同的帖子可能出现的结果:特赦,为什么啊?难道法律面前,人人不平等啊。不是可能被处以重刑,而是必须判重刑!天理难容啊!报应啊,哈哈哈哈哈哈哈哈哈哈哈哈哈曾经人上人,如今阶下囚。谈人生为何如此丑恶?等等相似度为1或0,多次测试结果非常不稳定8测试数据2:
对台检方周末加班写起诉书陈水扁可能被求处重刑展望:现在我们生成词典采用的是随机算法,对于较大规模的数据依旧是束手无策。因此,我们考虑将来可以进一步采用遗传算法进行优化,筛选出最具代表性的关键字词典。利用遗传算法可以更加有效地解决空间时间的紧张问题。另外,对于匹配算法上来讲,我们采用的是最基础的动态规划,应该可以改进成串的最大匹配算法,这样空间和时间的复杂度都可以远远小于O(mn),大幅度地提高我们的效率。9展望:现在我们生成词典采用的是随机算法,对于较大规模的数据依FormalizeMaxcommonsubstringKeywordsset+frequencyVector+class10FormalizeMaxcommonsubstring1建模:(张磊、刘邦)对汉字的编码和其他字符的编码统一化处理。对所有帖子组成的集合Z中所用的字Ci统计重复次数Ti。对第i个帖子,统计其中字的Ti之和,除以第i个帖子中字的个数N,相当于求一个平均频数,以此作为第i个帖子的代表全体意思程度的指数。建立停用字库,对原帖用字进行过滤。11建模:(张磊、刘邦)对汉字的编码和其他字符的编码统一化处理。陈健张海峰叶树雄:找关键词:在规定贴子数目以上的帖子出现过的连续字符(已编码)把每个贴子向量化内积运算12陈健张海峰叶树雄:找关键词:在规定贴子数目以上的帖子出现华连盛、蔡斯任:计算了每条回帖被回复的次数,特别加入了对于“顶”、“赞”、“支持”之类的回复的查找,普通回复每条算10分,包含上述字眼的每条算20分;考虑最有代表性的回帖必须和主题贴有一定的关联,又不能完全没有自己的观点,所以设计了一个相似度的评分,如果一条帖与主题贴的相似度为30%则定义为30分,相似度为0或100%的定义为0分,其余部分呈线性。最后将这两方面的评分相加得到最后的得分,找出得分最多的回帖即为最有代表性的。进行过前面的处理后,考虑可以去掉一些评分较低的帖子,对剩余的帖子统计每个汉字出现的频率,找出出现频率最高的几个汉字作为关键字(去除停用字词),再对这些帖子进行一遍关键字的检索,在进行一轮评分,这样结果可能会更加准确,
13华连盛、蔡斯任:计算了每条回帖被回复的次数,特别加入了对于codingWorkgroupProgrammingenvironmentIDEWritingingoodstyle14codingWorkgroup14//by周先达15//by周先达151616施维加、袁洋、仝艺对每一个帖子进行加权处理,称为代表性权值。A的代表性权值为A与其余所有帖子的相似度之和:W_represent(A)=similar(A,X1)+similar(A,X2)+….similar(A,Xn)similar(A,B)=limit(g(lcs(A,B),kmp(A,B)))lcs函数返回A和B的最长公共子序列的长度;kmp函数返回A和B的最长公共子串;g函数为一个2元函数,具体的表示形式为:g=ax2+by2+cxy+dx+ey+f(x,y可以有更高次项)其中x,y分别为lcs和kmp返回参数,而a,b,c,d,e,f分别为6个待定系数17施维加、袁洋、仝艺对每一个帖子进行加权处理,称为代表性权值。工程在结构上做了改进:统一了搜索机制,重写了搜索引擎,给出了一个更一般的搜索方案(locateRep),实现将搜索输出和删除统一的回馈机制(使用一个数组作为标记)。改进了命令语法,增加了逻辑运算功能,使之变得更加合理、有效。将大部分数组实现了动态化,使得能够更好的支持较早的编译器,并且使程序变得更稳定。本程序将工程各部分分离,为每一位参与者提供了数据标准,统一了函数接口。在代码实现上,使用了函数指针作为参数加入到搜索过程中,简化了重复的代码,并使得维护性得到提高。使用了函数指针数组来执行驱动,这样使得命令的可扩展性得到保障,使得今后添加命令将变得比较方便。18工程在结构上做了改进:统一了搜索机制,重写了搜索引擎,给出了Thepreprocessoroverviewmacrosfileinclusionconditionalcompilation19Thepreprocessoroverview19PreprocessorOverviewperforms:macrosubstitutionconditionalcompilationinclusionofnamedfilesthepreprocessormayactuallybeaseparateprogram,eventhoughitisinvokedbytheCcompilerpreprocessordirectivesbeginwitha#signpreprocessordirectivesarenotpartoftheClanguageproperCcompilerinvokesthepreprocessorfirstbeforedoingitscompilationprocessing(hencethetermpre-processor)20PreprocessorOverviewperforms:Macrosmakesprogramsmorereadable,modifiableandportable(butdon’toverdoit!)#define
-defineamacrosimplemacromacrowithparameters#undef
-removeamacrodefinitionparametermodifiers:#-stringsubstitution21MacrosmakesprogramsmorereadSimpleMacroDefinition#define
identifier
token-sequenceExamples:#define
TRUE1#define
TWO_PI2.0*3.141592654theidentifierisreplacedbythetoken-sequenceidentifiersarecapitalizedbyconvention22SimpleMacroDefinition#defineMacrowithParametersDefinition#define
identifier(identifier-list)
token-seqExample:#define
MAX(a,b)(((a)>(b))?(a):(b))theidentifierisreplacedbythetoken-sequenceeachparameterspecifiedintheidentifier-listissubstitutedinthetoken-seqbecarefulwithspacesandgrouping23MacrowithParametersDefiniti24242525MacroUsage#defineTRUE1#defineMAX(a,b)(((a)>(b))?(a):(b))voidsomefunction(intx,inty){intmaxvalue;while(TRUE){//someCcodemaxvalue=MAX(x,y);//somemoreCcode}}macroisknownfromdefinitiontoendoffile26MacroUsage#defineTRUE1macroRemovingaMacroDefinition#undefidentifierExamples:#undefDEBUG#undefMAXusefulfor:conditionalcompilationclearingoutamacrowiththesamenameasafunction27RemovingaMacroDefinition#unParameterModifiers#-stringsubstitution#definestr(x)#xstr(testing)“testing”somewhatusefulinprintf()statements28ParameterModifiers#-string2929The##operatorJointotokentogetheri##nin30The##operatorJointotokent3131FileInclusionincludefiles(.h)usefulinorganizing:preprocessordefinitionsstructuredefinitionsprototypedeclarationsglobalvariabledeclarationsplacedattopofCsourcefile(.c),willbeincludedaspartofthatfile,canbenested32FileInclusionincludefiles(.FileInclusionMethods#include<filename.h>searchesforfileonlyinthestandardsystemdirectories#include“filename.h”searchesforfileinthecurrentdirectoryandinthestandardsystemdirectories33FileInclusionMethods#includeConditionalCompilationcanconditionallyincludeorexcludechunksofcodefromasourcefile“if–else–end”sequenceusefulfor:maintainingmultipleversionsdebugging34ConditionalCompilationcancon#ifndef_ADD_H#define_ADD_H…#endif35#ifndef_ADD_H35#if…#eif,#else…#endif#ifdefined(POJ)#defineprintInt(var)printf(#var"=%d\n",var)#defineprintx(n)printInt(i##n)#else….#endif
36#if…#eif,#else…#endif#ifConditionalCompilationExample#ifndefDEBUGsomefunction();#elseprintf(“callingsomefunction()”);#endiftherealcodedebugcode37ConditionalCompilationExamplIndefinitenumberofarguments
functionsmaytakeavariablenumberofargumentsandaredeclaredwithanellipsisinplaceofthelastparameter.suchas:intprintf(constchar*_Format,...);<stdarg.h>isaheaderintheCstandardlibraryoftheCprogramminglanguagethatallowsfunctionstoacceptanindefinitenumberofarguments.38Indefinitenumberofarguments393940404141VariableNumberofargumentstoMacrosThreedotsattheendofargumentlistSpecialidentifier:__VA_ARGS__#definedebugPrintf(…)printf(“DEBUG”__VA_ARGS__)debugPrintf(“helloworld”);debugPrintf(“%d%f”,i,f);42VariableNumberofargumentstBinaryfilesoperation(Review)textfileanamedcollectionofcharacterssavedinsecondarystorageinput(output)streamcontinuousstreamofcharactercodesrepresentingtextualinput(oroutput)data(FILE*)stdinsystemfilepointerforkeyboard’sinputstream(FILE*)stdout,stderrsystemfilepointersforscreen’soutputstream43Binaryfilesoperation(ReviewFileOpenMode44FileOpenMode44BinaryFilesFormattedTextfilescontainvariablelengthrecordsmustbeaccessedsequentially,processingallrecordsfromthestartoffiletoaccessaparticularrecordBinaryFiles(randomaccessfile)afilecontainingbinarynumbersthatarethecomputer’sinternalrepresentationofeachfilecomponentcontainfixedlengthrecordscanbeaccesseddirectly,directlyaccessingtherecordthatisrequiredsizeofoperatorthatfindsthenumberofbytesusedforstorageofadatatype45BinaryFilesFormattedTextfilTheDataHierarchyBit-smallestdataitemValueof0or1Byte–8bitsUsedtostoreacharacterDecimaldigits,letters,andspecialsymbolsField-groupofcharactersconveyingmeaning
Example:yournameRecord–groupofrelatedfieldsRepresenteda
structoraclassExample:Inapayrollsystem,arecordforaparticularemployeethatcontainedhis/heridentificationnumber,name,address,etc.File–groupofrelatedrecordsExample:payrollfileDatabase–groupofrelatedfiles46TheDataHierarchyBit-smalle4747InaRandomAccessFile…DataDataunformatted(storedas"rawbytes")inrandomaccessfilesAlldataofthesametype(ints,forexample)usethesamememoryAllrecordsofthesametypehaveafixedlengthDatanothumanreadable48InaRandomAccessFile…Data4RandomAccessAccessindividualrecordswithoutsearchingthroughotherrecordsInstantaccesstorecordsinafileDatacanbeinsertedwithoutdestroyingotherdataDatapreviouslystoredcanbeupdatedordeletedwithoutoverwriting.ImplementedusingfixedlengthrecordsSequentialfilesdonothavefixedlengthrecords49RandomAccessAccessindividualRandomAccessaFile--fread()fread--TransferbytesfromafiletoalocationinmemoryFunctionfreadrequiresfourargumentsret=fread(buffer,size,num,myptr);thenumberofobjectsreadbuffer:Addressoffirstmemorycelltofillsize:Sizeofonevaluenum:Maximumnumberofelementstocopyfromthefileintomemorymyptr:Filepointertoabinaryfileopenedinmode“rb”usingfunctionfopen50RandomAccessaFile--freadRandomAccessaFile
—fwrite()fwrite-Transferbytesfromalocationinmemorytoafilefwrite(&number,sizeof(int),1,myPtr);
&number-Locationtotransferbytesfromsizeof(int)-Numberofbytestotransfer1-Forarrays,numberofelementstotransferInthiscase,"oneelement"ofanarrayisbeingtransferredmyPtr–filepointer51RandomAccessaFile
RandomAcce
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年03月南通市市属事业单位统一工作人员84人笔试历年典型考题(历年真题考点)解题思路附带答案详解
- 用外购和进口钢材、铁合金再加工生产钢材、铁合金项目安全风险评价报告
- 河北省沧州市重点中学2025年高三下学期学业质量阳光指标调研语文试题试卷含解析
- 河北交通职业技术学院《大学英语读写(一)》2023-2024学年第一学期期末试卷
- 共青科技职业学院《影视声音后期制作》2023-2024学年第二学期期末试卷
- 绍兴文理学院《数值计算方法》2023-2024学年第二学期期末试卷
- 新疆科信职业技术学院《装置艺术设计》2023-2024学年第二学期期末试卷
- 重庆机电职业技术大学《数字绘画基础》2023-2024学年第二学期期末试卷
- 长春职业技术学院《土力学及工程地质》2023-2024学年第二学期期末试卷
- 漳州理工职业学院《外国戏剧史》2023-2024学年第一学期期末试卷
- 第9课《桃花源记》教学设计-2024-2025学年统编版语文八年级下册
- 2025年绍兴职业技术学院单招职业适应性测试题库附答案
- 网络系统维护记录日志表
- 广东省广州市白云区2024-2025学年高三下学期2月统测英语试卷【含答案解析】
- 2023-2024学年广东省广州市天河区八校联考七年级(下)期中数学试卷(含答案)
- deepseek的使用技巧与实际应用培训课件
- 禁食病人护理措施
- 存款保险知识竞赛
- 信息技术必修1数据与计算2.2《做出判断的分支》教学设计
- 2025年临床医师定期考核必考复习题库及答案(1000题)
- 保安指挥车辆标准手势培训
评论
0/150
提交评论