基于机器学习的英汉字典模糊查询毕业设计论文(编辑修改稿)内容摘要:
char word[WORDLEN]。 是 6 int count。 }Preference。 其中 word表示用户偏好的单词, count是该单词的的支持度计数,即在用户的输入中该单词被选中的频数。 3. 模式记录集 typedef struct{ char input[WORDLEN]。 //用户输入的单词 Preference pres[MAXPRES]。 //最多记录 5个偏好 }Record。 其中 input 是用户的非精确单词, pres 是该单词对应的用户偏好单词数组,最多 5 个记录。 文件 1. 单词的索引文件 存放的是一个个 Node 类型的数据,每个单词 /词组都有一个对应的 Node,这些数据按照单词的英文次序升序排列,因此在查找单词时可使用二分查找快速检索。 2. 词库文件 存放单词的释义 3. 用户输入记录文件 存放用户输入的非精确单词,及该单词对应的 lcs 模糊查询结果集 4. 模式记录文件 存放的是有趣模式记录,这些记录也是按用户的输入非精确单词升序排序,这样方便在进行记录查找时使用二分查找,快速的查询某一记录是否存在,在记录的内部是按照模式的有效次数降序按序的。 4 实施应用 开发环境 硬件平台 CPU: i54200h ; 内存: 256MB 及以上。 软件平台 操作 系统: Windows 虚拟机 VMware 下的 ubuntu linux。 开发工具: gcc ,vim 开发环境的搭建和配置 1. 安装 vim 在 linux终端输入 sudo aptget install vimgtk,然后输入 root 用户密码等待完成 vim 工具的安装 7 2. vim 的基本配置 在 linux终端输入 vi ~/.vimrc 按如下方式配置 set nu set ts=4 set sw=4 set cindent set autoident 3.环境变量的设置 在终端 输入 vi ~/.bashrc 添加以下行: export PATH=$PATH:./ 保存之后在命令行输入 source .bashrc 编写代码 int LCS(char* a,char* b) { int n,m,i,j。 int flag=0。 n=strlen(a)1。 m=strlen(b)1。 int L[100][100]={0}。 for(i=0。 i=n。 i++) { if(flag||(a[i]==b[0])) { L[i][0]=1。 flag=1。 } else L[i][0]=0。 } flag=0。 for(j=0。 j=m。 j++) { if(flag||(a[0]==b[j])) { L[0][j]=1。 flag=1。 } else L[0][j]=0。 } 8 //char a[100],b[100]。 for(i=1。 i=n。 i++) for(j=1。 j=m。 j++) { if (a[i]==b[j]) L[i][j]=L[i1][j1]+1。 else if (L[i][j1]=L[i1][j]) L[i][j]=L[i][j1]。 else L[i][j]=L[i1][j]。 } return L[n][m]。 } c 语言实现 ifndef _LEARN_H define _LEARN_H include include include include define MAXPRES 5//用户偏好的最大个数 define WORDLEN 24//单词最大长度 define PRENUM 5 //有效模式的个数 typedef struct{ char word[WORDLEN]。 //用户偏好 int count。 //次数 }Preference。 typedef struct{ char input[WORDLEN]。 //用户选择项 Preference pres[MAXPRES]。 //最多记录 5个偏好 }Record。 //int Recordsize=sizeof(Record)。 //一个记录的大小 void RecordData(char* word,Node* nodes)。 void NewRecord(char* word,char* match_word)。 void Analyse(char* word)。 void Solution(char* newData,Node* nodes)。 void Decision(Node* dst_node,Node* src_node)。 //用于快速查找查询记录或对记录快排 int Recordcmp(const void * dst,const void * src)。 int Prescmp(const void * dst,const void * src)。 endif 9 主要函数解 释: RecordData:用于记录用户每次输入的非精确单词及其使用 lcs模糊查询得到的结果集。 Analyse:分析用户的输入和 lcs模糊结果集间的关系,提取有趣模式。 NewRecord:记录有趣模式。 Solution:提取与用户输入的非精确单词相关的模式记录。 Decision:根据历史模式记录,生成最终的决策方案。 2. 在 void RecordData(char* word,Node* nodes) {//word 代表用户的输入, nodes是模糊查询的结果集 FILE* fd=fopen(./,w+b)。 //打开并清空上一次的结果 if(!fd) return。 int node_len=0。 int len=strlen(word)。 fwrite(amp。 len,sizeof(int),1,fd)。 fwrite(word,1,len,fd)。 while(strlen(nodes[node_len].word)0) node_len++。 fwrite(amp。 node_len,sizeof(int),1,fd)。 fwrite(nodes,sizeof(Node),node_len,fd)。 fclose(fd)。 } int Recordcmp(const void * dst,const void * src) { Record* d=(Record*)dst。 Record* s=(Record*)src。 return strcmp(dinput,sinput)。 } //对用户偏好按降序排序 int Prescmp(const void * dst,const void * src) { Preference* d=(Preference*)dst。 Preference* s=(Preference*)src。 return (dcount) (scount)。 } void NewRecord(char* word,char* match_word) { FILE* fd=fopen(./,a+b)。 if(!fd) return。 int RecordCount=0。 Record* matched=NULL。 10 char ch。 fseek(fd,0,SEEK_SET)。 fread(amp。 ch,1,1,fd)。 if(ch==EOF)//即初始状态,空文件 { RecordCount=1。 fseek(fd,0,SEEK_SET)。 fwrite(amp。 RecordCount,sizeof(int),1,fd)。 Record newRcd={0}。 strcpy(,word)。 strcpy([0].word,match_word)。 [0].count=1。 fwrite(amp。 newRcd,sizeof(Record),1,fd)。 //check the first record fclose(fd)。 return。 } else{ fseek(fd,0,SEEK_SET)。 fread(amp。 RecordCount,sizeof(int),1,fd)。 Record* records=(Record*)malloc((RecordCount+1)*Recordsize)。 fread(records,Recordsize,RecordCount,fd)。 fclose(fd)。 //a+模式从文件头读,从文件尾写 matched=(Record*)bsearch(word,records,RecordCount,Recordsize,Recordcmp)。 //是已有记录 if(matched!=NULL) { int num=0,i。 //用于标识是否找到 while(strlen(matchedpres[num].word)0) num++。 //计算当前用户偏好的数目 for(i=0。 inum。 i++) { if(!strcmp(match_word,matchedpres[i].word)) { matchedpres[i].count++。 qsort(matchedpres,num,sizeof(Preference),Prescmp)。 break。基于机器学习的英汉字典模糊查询毕业设计论文(编辑修改稿)
相关推荐
ijy - ijy ; 2)节点 i、 j 的互导纳增量ijY=jiY= ijy - 39。 ijy。 yi j( a )iijyi j( b )ij yi j( c )ij yi jy 180。 i j( d ) 图 (31) 洛阳理工学院毕业设计(论文) 12 第 4 章 潮流计算的原理 牛顿-拉夫逊 法 设有单变量非线性方程 ( ) 0fx (41) 求解此方程时。 先给出解的近似值
在头脑中,并在一定条件下重现出来,这种心理现象就是记忆。 它是人脑的重要机能之一,包括认识、保持和提取。 记忆是通过学习获取信息;保持是存储已获取的信息;提取则是再现和使用这些信息。 这里对信息的提取有两种方法,即回忆和认知。 回忆是指感知过的事物不在眼前时能重新再现出来的过程;认知是指感知过的事物重现在眼前时能识别出来的过程。 识记和保持是回忆和认知的前提,回忆和认知是识记和保持的表现。
RD61Vcc1P 0 .510P 1 .120P 1 .019P 2 .018P 1 .322P 0 .411A N G N D12P 1 .221V R E F13P 1 .423V s s14H S I .024P 2 .215H S O .426R E S E T16H S I .125P 2 .117HSO.527HSO.028HSO.129P1.530P1.631P1.732P2
ANSYS 公司研制的大型通用有限元分析( FEA)软件,是世界范围内增长最快的计算机辅助工程( CAE)软件,能与多数计算机辅助设计( CAD, puter Aided design)软件接口,实现数据的共享和交换,如 Creo, NASTRAN, Alogor, I- DEAS, AutoCAD等。 是融结构、流体、电场、磁场、声场分析于一体的大型通用 有限元软件。 在核工业、铁道、石油化工
)s i n s i n s i n ) )44( ( 4 4 )33P m l m m m l x m l lm m m glm l l m l x m l lm l x m gl m l xQ m m m m l l 2 2 2 2 22 1 2 1 224 c os (
得越快越不容易倒,因为车轴有 一股保持水平的力量。 图 21 根据这个原理,陀螺仪传感器应运而生。 陀螺仪传感器用多种方法读取轴所指的方向并自动将 数据信号传给控制系统。 组成 ( 1)陀螺转子(常采用同步电机、磁带电机、三相交流电机等拖动方法来使陀螺转子绕自转轴高速旋转,其转速近似于常值) ( 2)内外框架(或称内、外环,它是使陀螺自转轴获得所需角转动自由度的结构); (