You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Java基于StanfordCoreNLP实现从给定段落中提取核心标题

文本核心标题生成功能实现逻辑

需求为输入聊天对话或段落,输出可概括核心内容、主旨的核心标题。目前已基于StanfordCoreNLP实现了分句、分词、词性标注、词形还原、情感分析、命名实体识别(NER)等基础预处理能力,期望效果为输入「如果你可以创造一个节日,它会是什么样?会有哪些传统?人们在这个节日会吃什么?」,输出核心标题为Holiday(对应中文:节日)。

具体实现步骤

  • 第一步:停用词过滤
    基于词性标注结果过滤无实际语义的虚词,包括助词、介词、连词、代词、标点符号,再配合通用停用词表过滤「的、地、得、是、如果」这类无核心语义的词汇,仅保留名词、动词、专有名词等实词。
  • 第二步:多规则权重加权统计
    对过滤后保留的实词做基础词频统计,再叠加权重规则提升核心词的优先级:
    • NER识别出的命名实体(人物、地点、事件、专有名词)权重×3
    • 出现在句首/段首、疑问词后的核心名词权重×2
    • 重复出现的实词,每多出现一次权重加0.5
  • 第三步:语义聚合消歧
    通过已实现的词形还原能力将不同形态的同一个词合并统计,比如holiday和holidays判定为同一个词,再针对多义词结合上下文词性做消歧,避免权重统计偏差。
  • 第四步:核心标题输出
    取权重最高的1-3个核心词,若为单个核心词可直接输出(如示例中的Holiday),若为多个关联度高的核心词可组合为短语输出,比如输入关于机器学习入门教程的文本,可输出机器学习入门作为核心标题。

现有基础代码参考

Pipeline.java

public class Pipeline {
    private static Properties properties;
    private static String propertiesName = "tokenize, ssplit, pos, lemma, parse, sentiment, ner";
    private  static StanfordCoreNLP stanfordCoreNLP;

    private Pipeline(){
    }
    static {
        properties = new Properties();
        properties.setProperty("annotators", propertiesName);
    }
    public static StanfordCoreNLP getPipeline(){
        if(stanfordCoreNLP == null){
            stanfordCoreNLP = new StanfordCoreNLP(properties);
        }
        return stanfordCoreNLP;
    } 
}

SentenceRecognizer.java

public class SentenceRecognizer {
    public static void main(String[] args) {
      StanfordCoreNLP stanfordCoreNLP= Pipeline.getPipeline();

      String text = "Hey Iam Jhon. Iam doing Math. I like coffee ";
        CoreDocument coreDocument = new CoreDocument(text);
        stanfordCoreNLP.annotate(coreDocument);
       List<CoreSentence> sentences= coreDocument.sentences();
       for(CoreSentence sentence: sentences){
           System.out.println(sentence.toString());
       }
    }
}

运行输出结果

Hey Iam Jhon.
Iam doing Math.
I like coffee

内容的提问来源于stack exchange,提问作者Chitrang Sharma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.13 20:00:04