资源简介
TFIDF是经典的算法,可以进行文本相似度计算和文档聚类,值得研究
代码片段和文件信息
/************************************************
* 《WEB数据挖掘与知识发现》试验报告实现程序 *
* 功能:采用TFIDF自动对文本进行形式化(题目6) *
* *
* 时间:2008.2.28 *
************************************************/
#include
#include
#include
#include
#define FNUM 20 //使用的文件总个数
struct Ttree
{
char data[20];
double weight;
double num; //一篇文献中的某一索引词出现的次数
double max; //一篇文献的总字数
double n; //索引词出现在几个文档中
struct Ttree *lchild; //左儿子
struct Ttree *rchild; //右儿子
};
struct Ttree *rootW=NULL;
struct Ttree *mtree=NULL*ntree=NULL*rtree=NULL; //定义weight权值排序函数中间变量****3月2日增加
FILE *fp=fopen(“mm.txt““w“);
//创建二叉树用来存放单词,以及该词在文档中出现的次数
Ttree *createTtree(Ttree *rootFILE *fp){
int i=0t=0;
struct Ttree *p*q; //定义中间指针变量
char ch;
p=(Ttree*)malloc(sizeof(Ttree)); //申请新的存储空间
p->data[0]=‘\0‘;
p->max=0; //**************3月1日增加
if(fp==NULL)
{
printf(“\nCannot open file strike any key exit!“);
return NULL;
}
ch=fgetc(fp);
while((ch!=EOF)&&(t==0))
{
if((ch>=‘a‘&&ch<=‘z‘)||(ch>=‘A‘&&ch<=‘Z‘)){
if(ch<=‘Z‘) ch=ch+32;
p->data[i]=ch;
i++;
}
else
{
if(p->data[0]==‘\0‘){
ch=fgetc(fp);
continue;
}
p->data[i]=‘\0‘;
p->max++;
p->n=1;
p->num=1;
i=0;
t=1;
p->lchild=NULL;
p->rchild=NULL; //初始化头节点的左右儿子为空指针
root=p;
}
ch=fgetc(fp);
}
q=(Ttree*)malloc(sizeof(Ttree));
q->data[0]=‘\0‘ ;
while(ch!=EOF){
if( (ch>=‘a‘&&ch<=‘z‘) || (ch>=‘A‘&&ch<=‘Z‘) ) {
if(ch<=‘Z‘) ch=ch+32;
q->data[i]=ch;
i++;
ch=fgetc(fp);
}
else{
if(q->data[0]==‘\0‘)
{
ch=fgetc(fp);
continue;
}
q->data[i]=‘\0‘;
root->max++;
q->n=1;
q->num=1;
i=0;
q->lchild=NULL;
q->rchild=NULL; //初始化头节点的左右儿子为空指针
if(p==NULL)p=root;
ch=fgetc(fp);
while(p!=NULL) //寻找待插入节点的位置
{
if(strcmp(q->datap->data)<0){ //如果待插入的节点的值小于当前节点的值,
if(p->lchild==NULL) //且其左子树为空
{
p->lchild=q; // 则插入
p=NULL;
} //并置当前节点为空,退出当前的while循环
else
p=p->lchild;
} // 否则继续访问其左子树
else if(strcmp(q->datap->data)>0){ //如果待插入的节点的值大于当前节点的值
if(p->rchild==NULL) // 且其右子树为空
{
p->rchild=q; // 则插入
p=NULL;
} //并置当前节点为空,退出当前的while循环
else
p=p->rchild;
} // 否则继续访问其右子树
else{
p->num++;
p=NULL;
}
}//while
q=(Ttree*)malloc(sizeof(Ttree));
q->data[0]=‘\0‘;
}//else
}//while
return root;
}
/*
二叉树查找
计算某个词在几篇文档中出现
*/
Ttree *SearchBinTtree(Ttree *rootxTtree *rooty){
if(rootx==NULL) return NULL;
if(strcmp(rootx->datarooty->data)==0){
rooty->n++;
return rootx;
}
if(strcmp(rootx->datarooty->data)>0) return S
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 712 2015-06-01 19:48 tfidfsrc\Debug\cl.command.1.tlog
文件 1876 2015-06-01 19:48 tfidfsrc\Debug\CL.read.1.tlog
文件 340 2015-06-01 19:48 tfidfsrc\Debug\CL.write.1.tlog
文件 500224 2015-06-01 19:48 tfidfsrc\Debug\InformationRetrieval.exe
文件 406 2015-06-01 19:48 tfidfsrc\Debug\InformationRetrieval.exe.em
文件 472 2015-06-01 19:48 tfidfsrc\Debug\InformationRetrieval.exe.em
文件 381 2015-06-01 19:48 tfidfsrc\Debug\InformationRetrieval.exe.intermediate.manifest
文件 1074516 2015-06-01 19:48 tfidfsrc\Debug\InformationRetrieval.ilk
文件 64 2015-06-01 19:48 tfidfsrc\Debug\InformationRetrieval.lastbuildstate
文件 5090 2015-06-01 19:48 tfidfsrc\Debug\InformationRetrieval.log
文件 20703 2015-06-01 19:48 tfidfsrc\Debug\InformationRetrieval.obj
文件 1993728 2015-06-01 19:48 tfidfsrc\Debug\InformationRetrieval.pdb
文件 707 2015-06-01 19:48 tfidfsrc\Debug\InformationRetrieval.vcxprojResolveAssemblyReference.cache
文件 0 2015-06-01 19:48 tfidfsrc\Debug\InformationRetrieval.write.1.tlog
文件 236 2015-06-01 19:48 tfidfsrc\Debug\InformationRetrieval_manifest.rc
文件 2 2015-06-01 19:48 tfidfsrc\Debug\li
文件 2 2015-06-01 19:48 tfidfsrc\Debug\li
文件 2 2015-06-01 19:48 tfidfsrc\Debug\li
文件 2 2015-06-01 19:48 tfidfsrc\Debug\li
文件 2 2015-06-01 19:48 tfidfsrc\Debug\li
文件 2 2015-06-01 19:48 tfidfsrc\Debug\li
文件 1586 2015-06-01 19:48 tfidfsrc\Debug\li
文件 3214 2015-06-01 19:48 tfidfsrc\Debug\li
文件 840 2015-06-01 19:48 tfidfsrc\Debug\li
文件 450 2015-06-01 19:48 tfidfsrc\Debug\mt.command.1.tlog
文件 330 2015-06-01 19:48 tfidfsrc\Debug\mt.read.1.tlog
文件 330 2015-06-01 19:48 tfidfsrc\Debug\mt.write.1.tlog
文件 630 2015-06-01 19:48 tfidfsrc\Debug\rc.command.1.tlog
文件 302 2015-06-01 19:48 tfidfsrc\Debug\rc.read.1.tlog
文件 310 2015-06-01 19:48 tfidfsrc\Debug\rc.write.1.tlog
............此处省略43个文件信息
相关资源
- 五子棋算法比较强悍
- md3loader,导入md3模型源程序
- modbus上位机测试源码
- TradeX.dll 演示程序
- Canny算子源代码
- VC锁屏屏蔽热键
- Visual C 6.0
- 商品库存管理系统(源码+数据库+论文
- VC OpenCV车牌识别
- 中国象棋源码+论文人工智能,搜索算
- OpenCV实现多目三维重建
- vc运行库修复工具
- 获取屏幕上任意一点的RGB值
- 奔腾绿色浏览器
- COM原理与应用.pdf
- FPGA USB 通信
- VS2017真正免注册调用大漠插件
- vc 代碼 mallat 算法
- VS2010~2017免注册调用大漠插件
- GDI+柱状图
- MSComm_VS2010
- 基于文本内容的自动文本聚类
- 远控小木马
- 冒险岛吸怪无敌 源码
- 图像亮度调整源代码
- 高斯平滑源代码
- 简单多边形的屋脊线计算算法
- MODBUS协议 vc实现
- NurbsSurf.rar
- VC开发树列表
评论
共有 条评论