• 大小: 1.28MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-08-27
  • 语言: 其他
  • 标签: TFIDF  VC++  

资源简介

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.embed.manifest

     文件        472  2015-06-01 19:48  tfidfsrc\Debug\InformationRetrieval.exe.embed.manifest.res

     文件        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\link-cvtres.read.1.tlog

     文件          2  2015-06-01 19:48  tfidfsrc\Debug\link-cvtres.write.1.tlog

     文件          2  2015-06-01 19:48  tfidfsrc\Debug\link.4176-cvtres.read.1.tlog

     文件          2  2015-06-01 19:48  tfidfsrc\Debug\link.4176-cvtres.write.1.tlog

     文件          2  2015-06-01 19:48  tfidfsrc\Debug\link.4176.read.1.tlog

     文件          2  2015-06-01 19:48  tfidfsrc\Debug\link.4176.write.1.tlog

     文件       1586  2015-06-01 19:48  tfidfsrc\Debug\link.command.1.tlog

     文件       3214  2015-06-01 19:48  tfidfsrc\Debug\link.read.1.tlog

     文件        840  2015-06-01 19:48  tfidfsrc\Debug\link.write.1.tlog

     文件        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个文件信息

评论

共有 条评论