一种基于词共现的文档聚类算法

合集下载

jaccard文本相似度算法

jaccard文本相似度算法

jaccard文本相似度算法Jaccard文本相似度算法:从原理到应用引言:在信息爆炸的时代,文本数据的处理和分析变得越来越重要。

文本相似度是文本处理领域的一个重要问题,它可以帮助我们衡量两个文本之间的相似程度。

Jaccard文本相似度算法是一种常用的文本相似度计算方法,本文将从原理到应用,对Jaccard算法进行详细介绍。

一、Jaccard文本相似度算法的原理Jaccard算法是基于集合的相似度计算方法,它的原理非常简单。

假设我们有两个文本A和B,我们可以将它们分别看作两个集合,其中每个元素表示文本中的一个词语。

Jaccard算法通过计算两个集合的交集和并集的比值,来衡量两个文本之间的相似程度。

具体来说,假设文本A的词语集合为A1,文本B的词语集合为B1,那么Jaccard相似度可以通过以下公式计算:J(A,B) = |A1∩B1| / |A1∪B1|其中,|A1∩B1|表示A1和B1的交集的大小,|A1∪B1|表示A1和B1的并集的大小。

二、Jaccard文本相似度算法的应用Jaccard算法在文本处理和信息检索领域有着广泛的应用。

1. 文本聚类文本聚类是将具有相似主题的文本分组的任务。

Jaccard算法可以用来衡量两个文本之间的相似程度,从而帮助将相似的文本聚类到一起。

通过计算所有文本之间的Jaccard相似度,可以构建一个相似度矩阵,然后使用聚类算法进行文本聚类。

2. 文本分类文本分类是将文本分到不同类别的任务。

Jaccard算法可以用来比较待分类文本与已知类别文本的相似程度,从而帮助将待分类文本分到合适的类别。

通过计算待分类文本与每个类别的Jaccard相似度,可以选择相似度最高的类别作为分类结果。

3. 文本相似度搜索文本相似度搜索是根据给定的查询文本,从文本库中找到与之相似的文本的任务。

Jaccard算法可以用来计算查询文本与文本库中文本的相似程度,从而帮助检索相似的文本。

通过计算查询文本与每个文本的Jaccard相似度,可以选择相似度高于一定阈值的文本作为搜索结果。

主题词聚类

主题词聚类

主题词聚类
主题词聚类是一种将相似主题或意义的词语进行分组的技术。

这种方法可以帮助我们理解大量文本数据中的潜在主题,并从中发现隐藏的结构和关系。

聚类算法通常根据词语之间的语义相似度或共现关系来确定词语之间的相似性。

以下是一些常用的主题词聚类方法:
1. 基于词语共现:该方法通过分析文本中词语的共现模式来进行聚类。

常用的算法包括K-Means聚类和层次聚类等。

2. 基于词向量:该方法使用词向量表示词语的语义信息,并通过计算词向量之间的相似度来进行聚类。

常用的算法包括DBSCAN聚类和谱聚类等。

3. 基于主题模型:该方法使用主题模型(如Latent Dirichlet Allocation)来对文本进行建模,并将词语归属于不同的主题。

然后可以使用聚类算法对主题进行聚类。

4. 基于网络分析:该方法将文本数据转化为图网络,其中每个词语作为节点,词语之间的关系作为边。

然后可以使用网络分析算法(如社区检测)来进行聚类。

无论使用哪种方法,主题词聚类可以帮助我们发现文本数据中的潜在主题,并从中获取有用的信息。

词共现矩阵分析方法介绍

词共现矩阵分析方法介绍

词共现矩阵分析方法介绍标题:词共现矩阵分析方法介绍概述:词共现矩阵分析方法是一种文本分析工具,通过计算词语在大量文本中的共现情况,可以揭示出词语之间的关联性和语义内涵。

本文将介绍词共现矩阵分析方法的基本原理、应用场景以及优缺点,并提供一些实用的案例分析。

1. 什么是词共现矩阵分析方法?词共现矩阵分析方法是一种基于统计学原理的文本分析方法,它通过构建一个词语与词语之间的共现矩阵来进行分析。

在该矩阵中,每一行代表一个词语,每一列代表一个文本样本。

矩阵中的每个元素表示对应词语在对应文本样本中出现的次数或频率。

2. 词共现矩阵分析方法的原理:词共现矩阵分析方法基于一个关键假设:如果两个词语在多个文本中频繁地共同出现,那么它们很可能具有某种关联性。

该方法通过计算不同词语之间的共现次数或频率,进而分析它们之间的关系。

3. 词共现矩阵分析方法的应用场景:- 文本聚类和分类:通过分析词语之间的共现关系,可以将文本按照主题或类别进行聚类和分类,以便更好地理解文本内容。

- 关键词提取和摘要生成:通过词共现矩阵分析,可以发现文本中频繁共现的词语,从而提取出关键词和生成文章摘要。

- 情感分析:通过分析情感词与其他词语的共现情况,可以推断文本的情感倾向或情绪状态。

- 关系网络构建:通过词共现矩阵分析方法,可以构建关键词之间的关系网络,进而揭示出词语之间的相关性和从属关系。

4. 词共现矩阵分析方法的优点:- 简单易懂:该方法的原理简单,容易理解和实现。

- 可解释性强:通过可视化共现矩阵,可以直观地观察词语之间的关系。

- 适用范围广:适用于各种类型的文本数据,包括文学作品、社交媒体数据、科学论文等。

5. 词共现矩阵分析方法的缺点:- 无法处理词序信息:该方法只关注词语之间的共现关系,忽略了词语之间的顺序信息。

- 词语的歧义性:对于具有多义的词语,可能无法准确地反映其语义内涵。

- 稀疏性问题:当文本数据稀疏时,词共现矩阵中可能出现很多零值,导致分析结果不够准确。

文本分类聚类算法

文本分类聚类算法

文本分类聚类算法
文本分类聚类算法是一种将文本数据根据其内容或特征进行分类和聚类的方法。

常见的文本分类聚类算法有以下几种:
1. K-means聚类算法:K-means是一种基于距离的聚类算法,
可以用于将文本数据划分为k个不同的类别。

该算法通过迭代地更新类别的均值来找到最佳的聚类结果。

2. 层次聚类算法:层次聚类算法通过计算文本数据之间的相似度或距离来将其分层次地组织成一个层次结构。

这样可以通过设置层次结构中的切割点来得到不同的聚类结果。

3. 朴素贝叶斯分类算法:朴素贝叶斯分类算法是一种基于统计学原理的文本分类算法,它通过计算文本数据在不同类别下的条件概率来进行分类。

4. 支持向量机分类算法:支持向量机分类算法是一种基于机器学习的文本分类算法,它通过在特征空间中构建一个最优的超平面来实现分类。

5. 基于深度学习的分类算法:近年来,随着深度学习的发展,深度学习在文本分类聚类领域也得到了广泛应用。

常见的深度学习模型包括卷积神经网络(CNN)和循环神经网络(RNN)等。

这些算法在不同场景下有不同的适用性和性能表现,具体选择哪种算法需要根据具体问题和数据特点来决定。

gensim库中coherencemodel()计算算法

gensim库中coherencemodel()计算算法

gensim库中coherencemodel()计算算法1. 引言1.1 概述本文将介绍gensim库中的coherencemodel()计算算法。

gensim是一个用于主题建模和文档相似度比较的Python库,其提供了丰富的功能和工具来帮助研究人员和开发者处理自然语言处理任务。

其中,coherencemodel()是gensim 库的一个重要功能,它用于评估主题模型的连贯性。

1.2 文章结构本文将分为五个部分来进行讲解。

首先,在引言部分,我们将对文章进行概述,并介绍文章结构。

然后,在第二部分中,我们将详细介绍gensim库以及coherencemodel()的功能和作用。

接下来,在第三部分中,我们将探讨coherencemodel()算法的实现方法和参数调整策略。

在第四部分中,我们将通过应用场景和案例研究来展示gensim库coherencemodel()在实际项目中的应用价值。

最后,在结论部分,我们将总结评估coherencemodel()算法,并展望其未来发展与应用前景。

1.3 目的本文旨在向读者介绍并深入理解gensim库中coherencemodel()计算算法的原理、实现方法以及在自然语言处理任务中的应用。

通过对coherencemodel()算法的学习和掌握,读者可以更好地评估主题模型的连贯性,并将其应用于相关领域中的实际项目中去。

这将有助于改善主题模型的效果并提升研究人员和开发者在自然语言处理领域的工作效率。

2. gensim库中coherencemodel()计算算法2.1 gensim库简介Gensim是一个用于主题建模和自然语言处理的Python库。

它提供了许多功能来处理文本数据,其中包括coherencemodel()函数。

Gensim的设计目标是高效地处理大规模文本数据集,并提供方便的工具来构建和评估主题模型。

2.2 coherencemodel()功能介绍coherencemodel()函数是Gensim库中用于计算主题模型一致性的方法。

stc算子法的案例

stc算子法的案例

STC算法案例分析1. 背景STC(Short Text Clustering,短文本聚类)算法是一种用于处理短文本聚类问题的算法。

在实际应用中,短文本数据普遍存在,例如电子邮件的标题、社交媒体的评论等。

由于短文本的语义表达较为简洁,常常缺乏足够的信息来支持传统的聚类算法,因此传统的聚类算法在处理短文本数据时效果不佳。

STC算法针对短文本数据的特点,采用了一种基于语义主题的聚类思想,通过挖掘短文本之间的概念相似度实现聚类。

2. 案例2.1 案例背景某电商公司拥有大量的用户评论数据,这些评论都是短文本,该公司希望对这些评论进行聚类,以便进一步分析用户的意见和情感倾向。

由于评论数据的特点,传统的聚类算法无法满足要求,因此该公司决定采用STC算法进行短文本聚类分析。

2.2 过程描述STC算法的过程主要包括以下几个步骤:步骤1:预处理对评论数据进行预处理,包括去除停用词、进行词干化等操作,以减小词袋模型的维度。

步骤2:构建词袋模型将预处理后的评论数据转换为词向量表示,构建词袋模型。

步骤3:计算词语相似度计算词袋模型中每个词语之间的相似度,可使用TF-IDF、Word2Vec等方法计算词语相似度。

步骤4:计算文本相似度根据词语相似度计算文本相似度,考虑文本中词语之间的相似度和共现关系。

步骤5:构建相似度矩阵根据文本相似度计算得到的相似度,构建相似度矩阵。

步骤6:聚类分析使用聚类算法对相似度矩阵进行聚类分析,根据相似度矩阵中的相似度信息将文本分为若干个类别。

2.3 结果展示经过STC算法的处理,最终得到了用户评论的聚类结果。

下面是某个具体类别的评论示例:类别1:商品质量•“这个商品真的太糟糕了,质量不行,不值得购买!”•“非常满意这个商品的质量,做工精细,物美价廉!”•“商品质量一般般,不怎么样,性价比不高。

”通过对用户评论进行聚类,可以发现该类别下的评论主要围绕商品质量展开,用户对商品质量有着不同的评价。

基于K-Means的文本聚类算法

基于K-Means的文本聚类算法

基于K-Means的文本聚类算法TF-IDF(term frequency–inverse document frequency)这是一种用于信息检索的一种常用加权技术。

它是一种统计方法,用以评估一个字词对于一个文件集或一个语料库中的其中一份文件的重要程度。

字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。

假如一篇文件的总词语数是100个,而词语“母牛”出现了3次,那么“母牛”一词在该文件中的词频就是 0.03 (3/100)。

一个计算文件频率 (DF) 的方法是测定有多少份文件出现过“母牛”一词,然后除以文件集里包含的文件总数。

所以,如果“母牛”一词在1,000份文件出现过,而文件总数是 10,000,000份的话,其文件频率就是 0.0001 (1000/10,000,000)。

最后,TF-IDF分数就可以由计算词频除以文件频率而得到。

以上面的例子来说,“母牛”一词在该文件集的TF- IDF分数会是 300 (0.03/0.0001)。

这条公式的另一个形式是将文件频率取对数。

具体的计算原理,请参考维基百科tf–idf条目。

下面简单介绍下基本的计算步骤:1,文档预处理:1)文档分词;2)移除停用词;3)单词正规化处理2,分出的单词就作为索引项(或单词表),它们代表的就是向量空间的项向量3,计算项权值:这包括要计算1)词频 ; 2)倒排文件频率;3)TF-IDF权值4,计算文档之间的相似度,一般用余弦相似度(cosine similarity)一同使用于向量空间模型中,用以判断两份文件之间的相似性#include "ITokeniser.h"#includeclass TFIDFMeasure{private:StrVec _docs;//文档集合,每一行字符串代表一份文档int _numDocs;//文档数目int _numTerms;//单词数目StrVec _terms;//单词集合Int2DVec _termFreq;//每个单词出现在每份文档中的频率Double2DVec _termWeight;//每个单词在每份文档的权重IntVec _maxTermFreq;//记录每一份文档的最大词频IntVec _docFreq;//出现单词的文档频率ITokeniser* _tokenizer;//分词器map _wordsIndex;//单词映射表,保存每一个单词及其对应的下标public:TFIDFMeasure(const StrVec& documents,ITokeniser* tokeniser);public:~TFIDFMeasure(void);protected:void Init();//初始化TF-IDF计算器void GenerateTerms(const StrVec& docs,StrVec& terms);//分词处理void GenerateTermFrequency();//计算词频void GenerateTermWeight();//计算词的权重void GetWordFrequency(string& input,map& freq); //实际统计词频函数int CountWords(string& word, const StrVec& words);//统计词数int GetTermIndex(const string& term);//查询词语对应的下标double ComputeTermWeight(int term, int doc);//计算词语在指定文档中的权重值double GetTermFrequency(int term, int doc);//获取词语在指定文档的词频double GetInverseDocumentFrequency(int term);//计算倒排文件频率public:inline int NumTerms()const{return this->_numTerms;}void GetTermVector(int doc,DoubleVec& vec);//获取项向量};TF-IDF具体实现代码#include "TFIDFMeasure.h"#include#includeusing namespace std;TFIDFMeasure::~TFIDFMeasure(void){//销毁分词器if (this->_tokenizer!=NULL){delete _tokenizer;_tokenizer = NULL;}//清空数据_docs.clear();_terms.clear();_wordsIndex.clear();}TFIDFMeasure::TFIDFMeasure(const StrVec& documents,ITokeniser* tokeniser) {_docs=documents;_numDocs=documents.size();_tokenizer = tokeniser;this->Init();}void TFIDFMeasure::GenerateTerms(const StrVec& docs,StrVec& terms) {for (int i=0; i{StrVec words;_tokenizer->Partition(docs[i],words);//分词for (int j=0; j{//不在单词表中,则加入if (find(terms.begin(),terms.end(),words[j])==terms.end()){terms.push_back(words[j]);}}}}void TFIDFMeasure::Init(){//初始化this->GenerateTerms (_docs,_terms);//分出所有词项this->_numTerms=_terms.size() ;//所有文档中的词项数目//准备好存储空间_maxTermFreq.resize(_numDocs);_docFreq.resize(_numTerms);_termFreq.resize(_numTerms);_termWeight.resize(_numTerms);for(int i=0; i{_termWeight[i].resize(_numDocs);_termFreq[i].resize(_numDocs) ;_wordsIndex[_terms[i]] = i;//将单词放入单词映射表中}this->GenerateTermFrequency ();//计算单词频率this->GenerateTermWeight();//计算单词权重}void TFIDFMeasure::GetWordFrequency(string& input,map& freq){//计算单词频率transform(input.begin(),input.end(),input.begin(),tolower);StrVec temp;this->_tokenizer->Partition(input,temp);//对当前文档分词unique(temp.begin(),temp.end());StrVec::iterator iter;for (iter=temp.begin();iter!=temp.end();++iter){int count = CountWords(*iter, temp);//计算单词在文档中出现的次数 freq[*iter] = count;//保存单词频率}}void TFIDFMeasure::GetTermVector(int doc,DoubleVec& vec){vec.resize(this->_numTerms);for (int i=0; i _numTerms; i++)vec[i]=_termWeight[i][doc];//第i个单词在文档doc中的权重}//用于字符串比较的仿函数class WordComp{public:WordComp(string& sWord) : word(sWord){}bool operator() (const string& lhs){return pare(word)==0;}private:string word;};int TFIDFMeasure::CountWords(string& word, const StrVec& words) {int nCount = 0;nCount = count_if(words.begin(),words.end(),WordComp(word));return nCount;}int TFIDFMeasure::GetTermIndex(const string& term) {map::iterator pos = _wordsIndex.find(term);if (pos!=_wordsIndex.end()){return pos->second;}elsereturn -1;}void TFIDFMeasure::GenerateTermFrequency(){//计算每个单词在每份文档出现的频率for(int i=0; i{string curDoc=_docs[i];//当前待处理的文档map freq;this->GetWordFrequency(curDoc,freq);map::iterator iter;_maxTermFreq[i]=numeric_limits::min();for (iter = freq.begin();iter!=freq.end();++iter) {string word=iter->first;int wordFreq=iter->second ;int termIndex=GetTermIndex(word);//单词下标if(termIndex == -1)continue;_termFreq [termIndex][i]=wordFreq;//单词在第i份文档中出现的频率_docFreq[termIndex]++;//出现第termIndex单词的文档频率加if (wordFreq > _maxTermFreq[i]) _maxTermFreq[i]=wordFreq;//记录第i份文档中的最大词频}}}void TFIDFMeasure::GenerateTermWeight(){//计算每个单词在每份文档中的权重for(int i=0; i{for(int j=0; j{_termWeight[i][j]=ComputeTermWeight (i, j);}}}double TFIDFMeasure::GetTermFrequency(int term, int doc){int freq=_termFreq [term][doc];//词频int maxfreq=_maxTermFreq[doc];return ( (float) freq/(float)maxfreq );double TFIDFMeasure::ComputeTermWeight(int term, int doc){//计算单词在文档中的权重float tf=GetTermFrequency (term, doc);float idf=GetInverseDocumentFrequency(term);return tf * idf;}double TFIDFMeasure::GetInverseDocumentFrequency(int term){int df=_docFreq[term];//包含单词term的文档数目return log((float) (_numDocs) / (float) df );}分词算法为了便于使用不同的分词算法,我们定义一个抽象的分词算法接口,具体的分词算法由用户自行实现class ITokeniser{public:virtual void Partition(string input,StrVec& retWords)=0;//分词算法};这里只实现了一个最简单的空格符分词算法:#include "Tokeniser.h"#include "StopWordsHandler.h"Tokeniser::Tokeniser(void){Tokeniser::~Tokeniser(void){}void Tokeniser::Partition(string input,StrVec& retWords){//分词算法,input为输入串,retWords为处理后所分开的单词,这里就简单化处理了,以空格符为分隔符进行分词transform(input.begin(),input.end(),input.begin(),tolower);string::iterator start = input.begin();string::iterator end = input.end();StopWordsHandler stopHandler;do{string temp;pos = find(start,input.end(),' ');//找到分隔符copy(start,end,back_inserter(temp));if (!stopHandler.IsStopWord(temp)){//不是停用词则保存retWords.push_back(temp);//保存分出的单词}if (end == input.end()){//最后一个单词了break;}start = ++end;} while (end != input.end());}停用词处理去掉文档中无意思的词语也是必须的一项工作,这里简单的定义了一些常见的停用词,并根据这些常用停用词在分词时进行判断#include "StopWordsHandler.h"string stopWordsList[] ={"的", "我们","要","自己","之","将","“","”",",","(",")","后","应","到","某","后","个","是","位","新","一","两","在","中","或","有","更","好",""};//常用停用词int stopWordsLen = sizeof(stopWordsList)/sizeof(stopWordsList[0]);StopWordsHandler::StopWordsHandler(void){for (int i=0;i{stopWords.push_back(stopWordsList[i]);}}StopWordsHandler::~StopWordsHandler(void){}bool StopWordsHandler::IsStopWord(string& str){//是否是停用词transform(str.begin(),str.end(),str.begin(),tolower);//确保小写化return find(stopWords.begin(),stopWords.end(),str)!=stopWords.end();}K-Means算法k-means 算法接受输入量 k ;然后将n个数据对象划分为 k个聚类以便使得所获得的聚类满足:同一聚类中的对象相似度较高;而不同聚类中的对象相似度较小。

基于主题词匹配频数的搜索引擎结果聚类算法

基于主题词匹配频数的搜索引擎结果聚类算法

基于主题词匹配频数的搜索引擎结果聚类算法胡诗未;李晓峰;徐伟【期刊名称】《计算机工程与科学》【年(卷),期】2011(33)6【摘要】搜索引擎结果聚类对提高搜索引擎服务质量和智能化水平有较高的应用价值,它是从标题和文档片段的有限信息中寻找文档相关度进行聚类.传统搜索引擎聚类没有充分利用搜索引擎结果的自身特点,或者计算复杂度较高.本文提出了一种基于主题词匹配频数的搜索引擎聚类算法,该算法从高频词中筛选出主题词,根据主题词共现情况自动产生类别,其他结果依据满足与类别主题词表的匹配频数的文档数进行聚类.实验结果与STC和IANGO算法相比,搜索质量有所提高.%Search engine results clustering has a high application value to the search service quality and the intelligence level, which clusters by seeking the document relations from the title and the document segment information. An algorithm based on topic words matching frequency is proposed. It automatically generate categories according to the graph of the semantic relevance, with other results clustering by topic words matching frequency. Experiments show that, compared with the STC and LINGO algorithms, the algorithm performs better.【总页数】3页(P130-132)【作者】胡诗未;李晓峰;徐伟【作者单位】四川大学计算机学院,四川成都610064;四川大学计算机学院,四川成都610064;四川大学计算机学院,四川成都610064【正文语种】中文【中图分类】TP181【相关文献】1.基于聚类算法的垂直搜索引擎技术研究 [J], 苗海;张仰森;岳明2.基于主题词频数特征的文本主题划分 [J], 康恺;林坤辉;周昌乐3.基于主题词表的数字档案馆概念搜索引擎的设计与实现 [J], 刘剑;王兰成4.基于主题词表的数字档案馆概念搜索引擎设计与实现 [J], 刘剑;王兰成5.基于局部离群点检测的高频数据共现聚类算法 [J], 周志洪;马进;夏正敏;陈秀真因版权原因,仅展示原文概要,查看原文内容请购买。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1 概述
当前关 于文档 聚 类的研 究多基 于 向量空 间模型 (etr V co S aeMo e V M) pc d l S ,然而 V M 忽略 了词问的语义关联 ,对 , S
共现词组合是指出现 在同一语境 中的 2个词语 ,它忽略 了词语 的位置及先后顺序 ,只要 2个词在 同一语境单元中出
表示模 型,将其应用于层次聚类算法中 ,并通 过聚类熵 寻找最优 的层 次划分 ,从而准确反映文档之 间的主题相关关系。实验结果表 明,该
算法所获得 的结果 优于其他基于短语 的文档层次聚类算法 。
关健词 :文档 聚类 ;文档模型 ;词共现 ;文档相似度 ;聚类增益
Do u e tCl s e i gAl o ih s d 0 o d Co o c r e c c m n u t rn g r t m Ba e n W r ・ c u r n e
h e a c i a l se i g ag rt m ,t r ug e c u t rn n r p o fn h e tl v lp rii n n c u a e y r fe t he r l to s i e we n i r r h c lc u trn l o i h h o h t l s e g e to y t d t e b s e e a t o ,a d a c r t l e c s t e ai n h p b t e h i i t l
中 圈分类号:T 31 P0. 6
种 基 于词 共 现 的 文档 聚 类算 法
常 鹏 lb a ,冯 , l 楠h ,马 辉 。
(. 1 天津大学 a 管理与经济学部 ;b 信息与 网络 中心 ,天津 30 7 ;2 天津城市建设学院管理工程系,天津 308) . . 002 . 034 摘 要: 为解决文本主题表达存在的信息缺失问题 , 出一种基于词共现 的文档聚类算法 。利用文档集 上的频 繁共现词建立文档主题 向量 提
迭代 次数
图 1 层次聚类增益
23 基于 C V M 的文本相似性 度量 . TS 在 C V M 中 ,将文档看作高维空间中的一 个向量 ,每 T S
个共现词组合作为空间中的一个维度 ,则 2个向量之 间的相
似 度定 义 如 下 :
∑ ( c c × ,) R d d, = _ _ ( ) d ≠d J
本挖掘;冯 楠 、马 辉 ,讲师 博士
{ ,2 W J 1 , ,潜在主题集合 f ,, t W …, ft …, J 12 K 。相应地 ,文 档集 中有 Ⅳ篇文档 ,d 代表其中的某篇文档向量 ;词汇集 中 w 有 M 个词 汇 , 代表 其中某个词汇 向量 ;潜在主题集 中有 个主题 , t 表示某个潜在主题 向量 。
现 ,则认为它们共现一次 。C VS 认为词与主题之间存在 T M 着潜在关联 , 以通过词出现的规律判断主题 ,即 Pt W 可 ( l )
文本的主题表达存在着信息缺失 ,从而制约了聚类算法 的准 确性 。近年来一些学者开始关注于建 立基于短语 的文档表示 模 型。文献【】 出的从 “ em 的层面来建立文本的特征 。 1 提 Tr” 文 献 【】 出一 种基 于 短语 的文档 标 引图 ( c m n n e 2提 Dou e tId x
聚类划分 。层次聚类增益如图 1 所示。
其 中, Sg e t , 为文档空问中同时包含 W 和 w 的语 e m n( , ) ww 境单元集合 ; 为集合 中的元素个 数;z 为语境单元 的总数 。
本文利用关联规 则抽取共现词组合 ,由于共现词组合为 二元组 ,因此只考虑二元组 的规则抽取 。给定关联规则挖掘
Gr h DI ) a , G 文本表示模型。文献【】 p 3提出基于 D G 的相似度 I
表示当 W 出现 时, t 出现的概率 。然而 ,由于词具有多义现 象 ,w 出现往往关联 多个潜在 的主题变量 , 需要借助其上下
文语境 才可判 断其准确关联 的主 题 ,即 Pt I Pt I , ( W) ( W) ×
[ sr c]T ip pr rsns ou n ls r gag rh bsdo r Abtat hs ae eet ad cme t ut i loi m ae nwod p c en t
tx bet x rsin Iue e r Ooc r neo cme te s bi ed cmeth mevco rsnainmo e,n p l sote e tujc pes .t sst dC —cur c f o u n toet l ht ou n e etr ee t o dladapi s e o h wo e d s t a s h t p t et h
2 0 00 0
0 0 I 0 5

1 0 00 0
空 间 S=(,, ,) 含义如下 : 1T=(., t} S上的事 7 ,R , 1 () ft …, 为 1
务集合 。2 , i … i} S上的项集 , () = 2 为 , 即文档中的候选词 。
50 00
[ yw rs d cme t ls rn ; ou n d lwodc—cu e c; o u n i l i ;lseiggi Ke o d ] ou n ut g d cme t c e i mo e; r ooc r ne d c met mi ry cutr an s at n DOh 1.9 9 .s.0 032 . 1 . .7 O3 6  ̄i n10 —4 8 0 20 0 0 s 2 2
d c me t ’ e o u n s t me Ex e i n a e ul h w h the ag rt m e u t sb te a t e h a e o u n e a c ia l se i g a g rt m . h . p rme t l s t s o t a l o i r s t h r s l i e trt n o rp r s sd c me t s h h hir r h c l u t rn l o i c h
收稿 日 : 0 0— 期 2 1-7 5 1 0
24 1





21 0 2年 月 2 1 0日
P( , ) w :—
[g tw wl Ime (  ̄ s . e )
,,


( )
进行层 次聚类 ,生成聚类层次树。聚类增益变化情况如图 l
所示 。聚类增益在第 7 4步取得极 大值 ,对应层次即为最优 3
文 献f—, 都是 从短 语 或词组 的层 面构建 文 档表示 模 124 】
型。然而 ,基于序列的词汇组合仅考 虑了相邻 两词之 问的语
义 关 联 ,忽 略 了在 同一 语 境 中词 汇 之 间 存 在 的语 义 关联 。通
为一个 m×z ,的矩 阵。其 中,行 向量 d cI …,m代 表一 F(fC ’ C) i
2 共现词组合文档表示模型 . 1
设 文档 集合 为 D { 。 2 } =d,, d …, ,文档 集 中有词 汇集合
2 共现词组 合介 绍 . 2 共现词组合为共现概 率超 过某一 阈值 的词对 。词的共现 率可以 由下式计算得 出:
基 金项 目:国家 自 然科 学基金 资助项 目 79 15) (0004 作者倚介 :常 鹏( 8 -) 1 0 ,男,助理研究员、博士 , 9 主研方 向: 文 Ema :so @t. u n - i n w j e . l u dc
计算改进 算法 ,将 抽取 出的短语作为 V M 中词 向量 的补充 , S 提高 了 D G 的文档 区分能力 。文献【】 出后缀树文档模型 I 4提
(u i T e ou n, T ) S fx reD cmetS D 是基于一种后缀树的数据结构 , 它可 以进行高效 的字符 串匹配与查询 。

为了考察基于词共现的文档聚类算法 的性能 ,本文进行 了一组对 比实验 。分别用基于 C VS 算法的层 次聚类算法 T M 与基于 DI G算法 和基于 S D算法 的层次聚类算法进行 比 T
较。3种算法花费时间比较如 图 2所示 ,聚类准确性对 比如
图 3所 示 。
() 5

Cf j k
e— CF S V M算法 —日一 D G傩法 I
—盘一 s D 算法 r
CHANG n , FENG n M A Pe g . Na h Hui

(a Sh o o M aa e n; b Ifr t na dNew r e trTaj iesyTaj 0 0 2 Chn ; 1. c o l f ng me tl .noma o t okC ne, i i Unvri , ini 3 0 7 , ia i n nn t n 2 Deat n f ng me t n ier g TajnIsi t o ra nt cinTaj 0 3 4 C ia . p r t ae n gnei , ini tue f b Co su t , ini 3 0 8 , hn) me o Ma E n n t U n r o n
第3 8卷 第 2期
V_ .8 0 3 1






21 0 2年 1月
J nu r 01 a ay 2 2
NO2 .

Co u e n i e rn mp t r g n e i g E
人工 智能 及识别 技 术 ・

文章 编号:1 32( 1) _ol一J 文献标识码:A o 啡_ 4 2 2l_ 23 2 80 f _ 2
越大 ,t 出现的概率越高 。因此 ,2个词 的共 同出现更加容 易与某一主题建立相关性关联 ,利 用词共现组合反映文档 ,
相关文档
最新文档