`
ttitfly
  • 浏览: 622264 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

提取关键词,并排序

阅读更多
java 代码
 
  1. //提取内容关键字! 对关键字重要性做排序 筛选!  
  2.         TermFreqVector contentFreqVector = reader.getTermFreqVector(docId, "itemContent");  
  3.         if(contentFreqVector != null){  
  4.             //生成TermVector ArryList!  
  5.             List<termvector> contentVectorList = new ArrayList<termvector>();  </termvector></termvector>
  6.       
  7.             for (int i = 0; i < contentFreqVector.size(); i++) {  
  8.                 String termWord=contentFreqVector.getTerms()[i];  
  9.                 String regex="[a-zA-Z]{4,}|[\u4E00-\u9fa5]{2,5}";  //英文4个以上,中文2到5个 
  10.                 boolean is = termWord.matches(regex);  
  11.                   
  12.                 if(is==true){  
  13.                 Term term = new Term("itemContent",contentFreqVector.getTerms()[i]);  
  14.                 TermVector termVector = new TermVector();  
  15.                 termVector.termWord = termWord;  
  16.                 termVector.termFreq = contentFreqVector.getTermFrequencies()[i];  
  17.                   
  18.     //          termVector.docFreq = searcher.docFreq(term);  
  19.        //一般来说IDF值越大,权重越高,该词在全网出现的频率越小  
  20.                 termVector.IDF = searcher.getSimilarity().idf(term, searcher);  
  21.                 Similarity sim = Similarity.getDefault();  
  22.                 termVector.TF = sim.tf(contentFreqVector.getTermFrequencies()[i]);  
  23.                 contentVectorList.add(termVector);  
  24.       
  25.             }  
  26.         }  
  27.           
  28.         //按照制定的算法进行排序! 算法还需要完善 需要考虑 TF/IDF 信息熵方面的东西!  
  29.         Comparator<termvector> comp = new TermComparator();  </termvector>
  30.         Collections.sort(contentVectorList,comp);   
  31.   
  32.   
  33.   
  34.    class TermComparator implements Comparator {  
  35.   
  36.         public int compare(Object o1, Object o2) {  
  37.             TermVector t1 = (TermVector) o1;  
  38.             TermVector t2 = (TermVector) o2;  
  39.             if (t1.getWeight() < t2.getWeight())  
  40.                 return 1;  
  41.             else  
  42.                 return 0;  
  43.         }  
  44.  } 
  45.  //Document itemDoc = reader.document(docId);
分享到:
评论

相关推荐

    提取关键词(Java版)

    首先,我们要理解“提取关键词”这一概念。关键词提取是找出文本中最能代表其主题的词语或短语的过程。在信息检索和文本挖掘中,它有助于快速概览文档内容和建立索引。Java版的关键词提取程序可以广泛应用于新闻分析...

    ASP 自动提取关键词程序

    4. **关键词排序与去重**:最后,程序会将关键词按照其重要性排序,并去除重复项,生成最终的关键词列表。 在实际应用中,ASP自动提取关键词程序可以集成到网站后台系统,每当有新的内容发布时,自动执行关键词提取...

    C# 提取文章关键词

    代码实现从文章内容拆分,对词语进行排序,从而提取出现最多次数的词

    TextRank, TextRank算法提取关键词的Java实现.zip

    - **排序并输出**:按照权重排序,选择权重最高的词汇作为关键词。 2. **Java实现**: - 在“TextRank-master”项目中,可能包含了类库用于文本预处理,如分词和停用词过滤。 - 可能有自定义的数据结构,如图的...

    JAVA开源关键词提取框架

    4. **排名与选择**:根据计算出的权重对所有单词进行排序,选取排名靠前的单词作为关键词。有时也会结合语义分析,考虑词语的上下文含义。 5. **优化**:最后,可能需要进行一些后处理,比如合并同义词、消除重复等...

    文章关键词提取工具

    提取文章中的关键词,按词频提取,排序顺序是按词频高低。

    C#提取内容最多的关键词排序,华人CMS首发

    string text = File.ReadAllText("C#提取内容最多的关键词排序.txt"); // 预处理 text = Preprocess(text); // 分词 List&lt;string&gt; words = Tokenize(text); // 过滤停用词 words = FilterStopWords(words); ...

    一个文章关键词提取工具

    5. **排序与展示**:最后,工具会按关键词的数量和重要性进行排序,并将结果呈现给用户。 对于SEO而言,这些关键词可以用来优化网页内容,提高搜索引擎的可见性。在学术研究中,关键词提取有助于快速理解文献的主题...

    NLPIR 关键词提取可用示例

    4. **关键词排序与提取**:计算出权重后,会根据权重对所有词进行排序,选择排名靠前的词语作为关键词。开发者可以根据实际需求设置关键词的数量。 5. **结果展示**:最后,示例会展示提取出的关键词,这些关键词...

    文章关键词提取器 V.20100202

    一个直观的界面可以让用户方便地上传文本文档,查看提取结果,并可能提供了过滤、排序和导出等功能,以满足不同用户的需求。 总的来说,《文章关键词提取器 V.20100202》通过运用先进的算法和智能的预处理技术,...

    基于关键词提取的矩阵生成程序

    综上所述,这个程序实现了从文本中自动提取关键词,并通过构建对称矩阵来揭示关键词间的关联,为后续的文本分析提供便利。它可能被用于各种应用场景,如搜索引擎优化、推荐系统、话题发现等。通过理解和使用这样的...

    Python-rakenltkPython实现使用NLTK的快速自动关键字提取算法

    5. **排序与筛选**:根据关联度对所有短语进行排序,选择排名较高的作为关键词。 `rake-nltk` 库提供了简单易用的接口,用户可以快速应用 RAKE 算法到自己的文本数据上。使用该库时,首先需要安装,可以通过 Python...

    RAKE关键词提取python代码

    使用时,首先需要导入`RAKE`模块,然后创建`RAKE`对象,加载停用词列表,接着对文本进行处理并提取关键词: ```python from RAKE import Rake # 创建RAKE对象 rake = Rake('SmartStoplist.txt') # 输入文本 text =...

    人工智能作业-同类多文档关键字提取

    2. TextRank:受到PageRank算法的启发,TextRank通过构建词汇间的共现网络并进行迭代排序来确定关键字。在每一轮迭代中,关键词的重要性会根据与其相邻的关键词的重要性更新。 3. LSA:通过奇异值分解(SVD)将文档...

    语义分析之中文关键词提取

    4. **排序与输出**:最后,根据每个词汇的综合权重进行排序,并选取排名靠前的若干个词汇作为文章的关键词。 #### 四、新词发现算法详解 新词发现算法主要分为以下几步: 1. **获取左邻接字和右邻接字**:计算目标...

    基于特定语料库的TF-IDF的中文关键词提取

    最后,将TF和IDF相乘得到TF-IDF值,排序后选择得分最高的若干个词作为关键词。这个过程可以通过倒排索引实现,提高效率。 在实际应用中,为了优化关键词提取效果,我们还可以引入其他策略,如词的上下文信息、词的...

    java提取文章关键字

    1. **关键词提取算法**: - TF-IDF(Term Frequency-Inverse Document Frequency):这是一种常用的方法,通过计算词频和逆文档频率来评估一个词的重要性。TF表示一个词在文档中的出现频率,IDF则考虑了这个词在...

    中英文关键词提取方法与Python示例

    首先安装jieba库,然后通过以下代码提取关键词: ```python import jieba.analyse text = "这是一段中文文本,我们要从中提取关键词。" keywords = jieba.analyse.extract_tags(text, topK=10) print("中文...

    Python-TextRank4ZH从中文文本中自动提取关键词和摘要

    4. 分析文本并提取关键词和摘要: ```python tr4w.analyze(text=text, lower=True) keywords = tr4w.get_keywords(10) # 获取前10个关键词 tr4s.analyze(text=text, lower=True) summary = [s.content for s in tr...

Global site tag (gtag.js) - Google Analytics