基于语义的中文文本关键词提取算法_第1页
基于语义的中文文本关键词提取算法_第2页
基于语义的中文文本关键词提取算法_第3页
基于语义的中文文本关键词提取算法_第4页
基于语义的中文文本关键词提取算法_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGE1基于语义的中文文本关键词提取算法该方法核心关键是:在基于传统统计词频的基础上,参考了不同词之间是否为同义关系。判断同义关系的基础是结合了代汉语较常用的一部类义词典——哈工大的《同义词词林》扩展版。本文根据《同义词词林》中词关系之间的定义,定义了词语词之间的近似度。因此对于一篇文章中的不同词,词之间根据近似度数值关系可以组成网络(词语语义相似度网络)。然后分析该网络中节点(词)的居间度,即聚集程度。词语与主题越相关,词语的居间度密度越大。该方法出于作者认为:聚集文档围绕主题构建,与主题越相关,词语越密集,即与主题最相关的词语占的比例较大。并且主题相关词语与主题有语义相关性,所以他们彼此也有一定的语义相似度。最终关键词的提取同时参考了词语的居间度与词频。附算法示意图:文中提出算法示例结果:《我爱逛农贸市场》关键词提取结果为:SKE算法提取的关键词为农贸市场、爱、鱼、乌骨鸡、羊肉、花生;基于统计特征的算法提取的关键词为农贸市场、逛、爱、变化、美、生活。个人对算法示例结果评价:具体某些场合可能会好于传统算法,该例子也并不表明该算法明显优秀,例如个人觉得关键字《逛》很重要。附《我爱逛农贸市场》我/r爱/v逛/v农贸市场/n20210101-07-008-002/m董/nr其中/nr20210101-07-008-003/m近些年/t来/f,/w生活/vn中/f必不可少/l的/u便/d是/v逛/v农贸市场/n。/w20210101-07-008-004/m大概/d是/v我/r为着/p生活/v而/c操持/v家务/n,/w又/d从事/v美术/n创作/vn而/c需/v感受/v生活/vn,/w所以/c对/p逛/v农贸市场/n特别/d感/Vg兴趣/n。/w即使/c我/r每次/r出差/v外地/n,/w也/d尽可能/d要/v去/v农贸市场/n转转/v。/w20210101-07-008-005/m在/p离/v我家/n不/d远/a的/u一/m条/q小/a街/n里/f,/w有/v一个/m很/d热闹/a的/u早市/n。/w蔬菜/n、/w瓜果/n、/w家禽/n、/w水产/n、/w日用/b工业品/n都/d有/v。/w不过/c,/w还/d是/v农副产品/j居多/v,/w而/c农副产品/j中/f又/d数/v蔬菜/n最/d多/a,/w品种/n也/d非常/d丰富/a,/w连/u南方/f的/u苦瓜/n、/w蕻菜/n、/w苋菜/n也/d多/a起来/v了/y。/w尤其/d在/p夏/Tg秋/Tg两/m季/Ng,/w映入/v你/r眼帘/n的/u尽/d是/v那/r绿茵茵/z的/u芹菜/n、/w油菜/n、/w菠菜/n,/w红澄澄/z的/u西红柿/n、/w红/a辣椒/n、/w胡萝卜/n,/w水灵灵/z的/u白萝卜/n、/w大白菜/n、/w大/a柿椒/n,/w还/d有/v那/r紫蓝蓝/z的/u茄子/n、/w洋葱/n,/w等等/u。/w这些/r蔬菜/n纯真/a的/u色彩/n我/r一/d见/v就/d爱/v。/w它/r是/v自然/n之/u美/an,/w是/v画家/n调色板/n上/f的/u色彩/n无法/v与/p之/r相比/v的/u。/w20210101-07-008-006/m我/r来到/v水产/n摊位/n前/f,/w两/m只/q大/a铁盆/n内/f盛/v满/a了/u鲜活/a鱼儿/n,/w有/v鲤鱼/n、/w鲫鱼/n、/w武昌鱼/n、/w鲶鱼/n等/u。/w鱼/n是/v我们/r常见/a的/u美食佳肴/l,/w又/d是/v我们/r画家/n描绘/v的/u生动/a对象/n,/w在/p高手/n笔下/n便/d是/v人们/n钟爱/v的/u一幅幅/m艺术/n作品/n。/w我/r观察/v那/r各种/r鱼儿/n的/u体态/n结构/n和/c活动/vn变化/vn,/w它们/r在/p水中/s是/v那样/r自由/a欢快/a,/w水/n给/v鱼/n以/p活力/n,/w水/n是/v鱼/n的/u生命/n。/w有/v两/m位/q卖主/n是/v一/m对/q四川/ns夫妇/n,/w他们/r代/v客/Ng对/p鱼/n进行/v粗/d加工/v,/w手活/n十分/m利落/a,/w令/v观者/n赞叹不已/l。/w在/p家禽/n摊位/n中/f,/w有/v一个/m摊位/n专卖/v乌骨鸡/n。/w嘴脸/n乌黑/z、/w羽毛/n洁白/z轻柔/a的/u乌骨鸡/n被/p圈/v在/p几/m只/q铁丝/n笼子/n里/f。/w它/r原本/n是/v两千五百/m公里/q之外/f我/r老家/n江西/ns泰和/ns的/u一/m大/a特产/n,/w记得/v我/r小时/n就/d吃/v过/u。/w如今/t在/p身边/s见到/v此/r物/Ng,/w让/v更/d多/a的/u人/n能/v品尝/v到/v这种/r美食/n,/w感到/v格外/d高兴/a。/w同时/c我/r又/d想/v,/w像/p这样/r在/p异地/n繁殖/v乌骨鸡/n,/w原产地/n的/u优势/n不/d就/v小/a了/y吗/y?/w不过/c,/w由于/p气候/n、/w水土/n和/c饲料/n等/u因素/n,/w同一/b物种/n的/u味道/n南北/f是/v有/v差异/n的/u。/w20210101-07-008-007/m在/p农贸市场/n如何/r识别/v和/c选购/v物品/n大/d有/v学问/n。/w冬季/t,/w上市/v的/u羊肉/n一块块/m的/u钩挂/v起来/v一/m溜/q排/v开/v,/w当/p我/r在/p这些/r羊肉/n摊位/n前/f徘徊/v时/Ng,/w就/d听见/v有人/r在/d评头论足/i,/w说/v那/r肉色/n暗红/z的/u是/v山羊肉/n,/w那/r肉色/n淡红/b的/u才/d是/v绵羊肉/n。/w当/p有人/r在/p一/m堆/q死/a鱼/n前/f举棋不定/i时/Ng,/w我/r也/d会/v上前/v去/v告/v他们/r说/v,/w抠/v开/v那/r腮壳/n看看/v里面/f的/u腮/n,/w若是/c鲜红色/n便/d是/v较/d新鲜/a的/u,/w如/v腮/n的/u颜色/n发/v白/a就/d欠佳/a了/y。/w我/r从小/d长/v在/p河边/s,/w可以/v说/v是/v吃/v鱼/n长/v大/a的/u,/w懂得/v这/r方面/n的/u一点/m知识/n。/w20210101-07-008-008/m农贸市场/n上/f为什么/r一时/t生姜/n跌/v到/v一/m元/q一/m市斤/q,/w而/c一/m年/q之后/f竟/d涨/v到/v十/m元/q一/m市斤/q,/w再/d过/v一/m年/q价格/n便/d趋向/v合理/a?/w物价/n的/u大/d跌/v大/d涨/v,/w物品/n的/u时缺时剩/l,/w供求/n从/p平衡/v到/p失衡/v,/w又/d从/p失衡/v到/p平衡/v等/u,/w属于/v市场经济/n的/u一些/m问题/n,/w也/d可/v从/p一个/m小小的/z市场/n引发/v思考/v,/w悟出/v道理/n以至/c求得/v答案/n,/w使/v我们/r也/d增加/v了/u点/q经济/n头脑/n。/w20210101-07-008-009/m人们/n围/v在/p一/m车/q玉茭/n前/f争相/d选购/v,/w玉茭/n很快/d被/p买/v光/v。/w作为/v卖主/n的/u那位/r农民/n兄弟/n,/w半/m躺/v在/p那/r剥弃/v的/u松软/a的/u玉茭皮/n里/f,/w数点/v着/u钞票/n,/w那/r惬意/a和/c舒心/a劲儿/n,/w那/r憨态可掬/l的/u神情/n,/w使/v我/r驻足/v留连/v,/w那/r农民/n的/u形象/n不/d就是/v当今/t中国/ns农民/n的/u一个/m缩影/n,/w它/r深深/d地/u印/v在/p我/r脑海/n里/f。/w20210101-07-008-010/m入秋/t,/w花生/n上市/v了/y,/w一/m位/q四十/m多/m岁/q的/u农妇/n,/w用/p她/r那/r壮实/a的/u双手/n,/w将/p一/m大/a麻袋/n还/d带/v着/u泥土/n芳香/n的/u花生/n倒/v了/u出来/v。/w我/r还/d未曾/d见到/v过/u这种/r花生/n,/w几乎/d每/r一/m颗/q都/d饱含/v四/m个/q米粒/n,/w招/v人/n喜爱/v。/w农妇/n满脸/d丰收/vn喜悦/an,/w向/p我们/r这些/r分享/v她/r劳动/vn成果/n的/u城里人/n连连/d地/u说/v:/w『/w你们/r随便/ad挑/v哇/y,/w咱/r自家/r种/v的/u,/w八月/t十五/m快/d到/v了/y,/w买/v回去/v全家/n吃/v个/q鲜/a。/w』/w她/r一边/d说/v着/u,/w一边/d还/d帮/v我们/r挑选/v哩/y。/w态度/n是/v那样/r和善/a亲切/a,/w心地/n是/v那样/r豁达/a开朗/a。/w这时/r,/w我/r是/v绝/d不/d会/v去/v砍价/v的/u。/w20210101-07-008-011/m我/r在/p农贸市场/n也/d曾/d遇到/v过/u一些/m不/d愉快/a的/u事情/n:/w买/v羊肉/n时/Ng,/w发现/v秤盘/n下面/f竟/d沾/v着/u一/m块/q羊油/n,/w这/r是/v卖主/n为/v增加/v重量/n而/c搞/v的/u鬼/n。/w还/d有/v一/m次/q,/w我/r从/p农贸市场/n买/v回来/v两/m斤/q带鱼/n,/w妻子/n称/v了/u一下/m竟/d短/v了/u半/m斤/q。/w吃一堑/l,/w长一智/l,/w以后/f我/r就/d多/a了/u一个/m心眼/n。/w20210101-07-008-012/m年复一年/l,/w日复一日/i,/w我/r一次次/m踏/v着/u晨光/n,/w呼吸/v着/u新鲜/a空气/n走向/v农贸市场/n。/w到/p农贸市场/n采购/v,/w我/r好像/v置身/v于/p乡村/n,/w在/p田野/n漫步/v;/w又/d好像/v倘佯/v在/p自然美/n的/u世界/n,/w感受/v乡情/n温馨/a和/c审美/vn乐趣/n。/w每次/r我/r空/a手/n而/c去/v,/w却/d都/d是/v满载而归/i。/w然而/c,/w更/d使/v我/r高兴/a和/c欣慰/a的/u是/v,/w我/r带/v回/v的/u还/d有/v那/r时代/n的/u变化/vn,/w田野/n的/u希望/vn,/w大自然/n的/u恩赐/vn,/w生活/vn的/u启迪/vn和/c那/r深/d藏/v在/p劳动者/n心底/n的/u美/an。/w

中南民族大学学生课程设计报告课程名称:C程序设计语言选题名称:通讯录管理年级:专业:信息管理与信息系统学号:姓名:指导教师:完成地点:管理学院综合实验室完成日期:1.课程设计的目的为了熟练掌握C语言的语法特点、及其数据结构,提高自身编写程序的能力。通过课程设计实现理论知识与实际情况的结合,使所学知识能够在现实社会中起到一定的作用,防止所编写的程序脱离实际,让程序可以更好的发挥作用,以便减轻实际工作中所遇到的繁琐步骤,提高现实工作中的效率。此外通过课程设计提高逻辑思考能力和解决实际问题的能力。程序设计是公认的、最能直接有效地训练学生的创新思维,培养分析问题、解决问题能力的学科之一。其次课程设计有利于治学态度的培养。程序设计中,语句的语法和常量变量的定义都有严格的要求,有时输了一个中文标点、打错了一个字母,编译就不通过,程序无法正常运行。因此,程序设计初学阶段,学生经常会犯这样的错误,可能要通过几次乃至十多次的反复修改、调试,才能成功,但这种现象会随着学习的深入而慢慢改观。这当中就有一个严谨治学、一丝不苟的科学精神的培养,又有一个不怕失败、百折不挠品格的锻炼。通讯录信息管理系统是生活中不可缺少的部分编写了一个通讯录信息管理系统是十分必要的。本程序设计具有通讯信息的录入,进行保存、查找、删除等功能,操作界面简洁美观,易于操作。程序用了条件、循环、指针、结构体等知识点,综合了文件的打开和保存编写的。可运用于小的管理软件。软件运用菜单实现交互式管理,用户轻松的按键既可实现对软件的操作,操作简单易懂,功能丰富,可以很好的满足的需要。通过对通讯录管理系统的设计,进一步理解和掌握C语言这门课程的知识点,能够熟练的调用各种函数,把各种C语句有机的结合起来,提高自己C语言程序设计的能力,为今后解决实际问题打下良好基础。2.设计方案论证2.1设计思路建立一个函数,用来添加、显示、删除、查询通讯录等信息,完成通讯录的功能。主函数可以调用六个子函数,分别完成添加记录、显示记录、删除记录、查询记录、退出系统等功能。在主函数中可以以1、2、3、4、0数字键分别可以执行某个功能模块。退出程序删除记录查询记录显示退出程序删除记录查询记录显示记录添加记录通讯录管理系统 2.2程序设计2.2.1根据图1定义数据类型建立函数typedefstruct { charscore;/*编号*/ charname[10];/*姓名*/ charnum[15];/*号码*/ charemail[20]; /*邮箱*/ charage[8]; /*年龄*/ charadds[20]; /*住址*/ }Person;2.2.2主函数及其流程图Y定义主函数main()和一系列的功能函数,只有通过这些函数才可实现程序的功能。每次使用都会调用主函数。主函数主要是利用switch语句对数据进行处理,流程图如下:Y添加记录选择1开始N选择2YYYYNNNN退出系统查询记录删除记录显示记录选择0选择4选择3添加记录选择1开始N选择2YYYYNNNN退出系统查询记录删除记录显示记录选择0选择4选择3结束结束2.2.3增加函数及其流程图.添加通讯录记录流程图:.显示通讯录记录流程图:.删除通讯录记录流程图:.查询通讯录记录流程图:2.3源程序#include<stdio.h>#include<stdlib.h>#include<string.h>typedefstruct { charscore;/*编号*/ charname[10];/*姓名*/ charnum[15];/*号码*/ charemail[20]; /*邮箱*/ charage[8]; /*年龄*/ charadds[20]; /*住址*/ }Person;Personpe[80];intmenu_select() { charc; do{ system("cls"); printf("\t\t*****通讯录*****\n"); printf("\t\t┌───────┐\n"); printf("\t\t│1.添加记录│\n"); printf("\t\t│2.显示记录│\n"); printf("\t\t│3.删除记录│\n"); printf("\t\t│4.查询记录│\n"); printf("\t\t│0.退出程序│\n"); printf("\t\t└───────┘\n"); printf("\t\t请您选择(0-4):"); c=getchar(); }while(c<'0'||c>'4'); return(c-'0'); }intInput(Personper[],intn){ inti=0; charsign,x[10]; while(sign!='n'&&sign!='N') { printf("\t编号:"); scanf("\t%d",&per[n+i].score); printf("\t姓名:"); scanf("\t%s",per[n+i].name); printf("\t年龄:"); scanf("\t%s",per[n+i].age); printf("\t电话号码:"); scanf("\t%s",per[n+i].num); printf("\t通讯住址:"); scanf("\t%s",per[n+i].adds); printf("\t电子邮箱:"); scanf("\t%s",per[n+i].email); gets(x); printf("\n\t是否继续添加?(Y/N)"); scanf("\t%c",&sign); i++; } return(n+i);}voidDisplay(Personper[],intn){ inti; printf("\n");/*格式*/ printf("编号姓名年龄电话号码通讯地址电子邮箱\n"); printf("\n"); for(i=1;i<n+1;i++) { printf("%-5d%-8s%-6s%-13s%-15s%-15s\n",per[i-1].score,per[i-1].name,per[i-1].age,per[i-1].num,per[i-1].adds,per[i-1].email); if(i>1&&i%10==0) { printf("\t\n"); printf("\t"); system("pause"); printf("\t\n"); } } printf("\n"); system("pause");}intDelete_a_record(Personper[],intn){ chars[20]; inti=0,j; printf("\t请输入想删除记录中的名字:"); scanf("%s",s); while(strcmp(per[i].name,s)!=0&&i<n)i++; if(i==n) { printf("\t通讯录中没有此人!\n"); return(n); } for(j=i;j<n-1;j++) { strcpy(per[j].num,per[j+1].num); strcpy(per[j].name,per[j+1].name); strcpy(per[j].age,per[j+1].age); strcpy(per[j].adds,per[j+1].adds); strcpy(per[j].email,per[j+1].email); per[j].score=per[j+1].score; } printf("\t\t\t已经成功删除!\n"); return(n-1);}voidQuery_a_record(Personper[],intn){ intm; printf("\t\n请选择查询方式:\n");printf("\t┌──────┐\n");printf("\t│1姓名│\n");printf("\t│2电话│\n");printf("\t│3地址│\n");printf("\t│4返回│\n");printf("\t└──────┘\n");printf("请选择:");scanf("%d",&m);while(m!=1&&m!=2&&m!=3&&m!=4){ printf("输入错误,请重新选择:"); scanf("%d",&m); } if(m==1) { chars[20]; inti=0; printf("\t请输入想查询的姓名:"); scanf("\t%s",s); while(strcmp(per[i].name,s)!=0&&i<n)i++; if(i==n) { printf("\t通讯录中没有此人!\n"); return; } printf("\t此人编号:%d\n",per[i].score); printf("\t此人年龄:%s\n",per[i].age); printf("\t电话号码:%s\n",per[i].num); printf("\t通讯地址:%s\n",per[i].adds); printf("\t电子邮箱:%s\n",per[i].email); }; if(m==2) { chars[20]; inti=0; printf("\t请输入想查询的电话:"); scanf("\t%s",s); while(strcmp(per[i].num,s)!=0&&i<n)i++; if(i==n) { printf("\t通讯录中没有此人!\n"); return; } printf("\t此人编号:%d\n",per[i].score); printf("\t此人姓名:%s\n",per[i].name); printf("\t此人年龄:%s\n",per[i].age); printf("\t通讯地址:%s\n",per[i].adds); printf("\t电子邮箱:%s\n",per[i].email); }; if(m==3) { chars[20]; inti=0; printf("\t请输入想查询的地址:"); scanf("\t%s",s); while(strcmp(per[i].adds,s)!=0&&i<n)i++; if(i==n) { printf("\t通讯录中没有此人!\n"); return; } printf("\t此人编号:%d\n",per[i].score); printf("\t此人姓名:%s\n",per[i].name); printf("\t此人年龄:%s\n",per[i].age); printf("\t电话号码:%s\n",per[i].num); printf("\t电子邮箱:%s\n",per[i].email); };}voidChange(Personper[],intn){ chars[20]; inti=0; printf("\t请输入想修改的记录中的名字:"); scanf("%s",s); while(strcmp(per[i].name,s)!=0&&i<n)i++; if(i==n) { printf("\t通讯录中没有此人!\n"); return; } printf("\t编号:"); scanf("\t%d",&per[i].score); printf("\t姓名:"); scanf("\t%s",per[i].name); printf("\t年龄:"); scanf("\t%s",per[i].age); printf("\t电话号码:"); scanf("\t%s",per[i].num); printf("\t通讯住址:"); scanf("\t%s",per[i].adds); printf("\t电子邮箱:"); scanf("\t%s",per[i].email); printf("\t修改成功!");}voidWritetoText(Personper[],intn){ inti=0; FILE*fp;/*定义文件指针*/ charfilename[20];/*定义文件名*/ printf("\t保存到文件\n");/*输入文件名*/ printf("\t请输入所保存的文件名:"); scanf("\t%s",filename); if((fp=fopen(filename,"w"))==NULL) { printf("\t无法打开文件\n"); system("pause"); return; } fprintf(fp,"******************************************通讯录******************************************\n"); fprintf(fp,"编号姓名年龄电话号码通讯地址电子邮箱\n"); fprintf(fp,"\n"); while(i<n) { fprintf(fp,"%-3d\t%-6s\t%-3s\t%-13s\t%-20s\t%-20s\n",per[i].score,per[i].name,per[i].age,per[i].num,per[i].adds,per[i].email); i++; } fprintf(fp,"\n"); fprintf(fp,"***************************************共有%d条记录****************************************\n",n); fclose(fp);/*关闭文件*/ printf("保存成功!\n");}voidmain(){ intn=0; for(;;) { switch(menu_select()) { case1: printf("\n\t添加记录到通讯录\n"); n=Input(pe,n); break; case2: printf("\n\t\t\t通讯录记录表\n"); Display(pe,n); break; case3: printf("\n\t从通讯录中删除记录\n"); n=Delete_a_record(pe,n); printf("\t"); s

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论