yongzhuo / nlg-yongzhuo

中文文本生成(NLG)之文本摘要(text summarization)工具包, 语料数据(corpus data), 抽取式摘要 Extractive text summary of Lead3、keyword、textrank、text teaser、word significance、LDA、LSI、NMF。(graph,feature,topic model,summarize tool or tookit)
https://blog.csdn.net/rensihui
MIT License
405 stars 52 forks source link

Lead-3 疑问 #7

Closed FutureWithoutEnding closed 3 years ago

FutureWithoutEnding commented 3 years ago

对于Lead-3算法,我有两点疑问?

  1. Lead3Sum类中的summarize中,num_min的计算是否必要?
  2. 在计算得分的公式有什么原理吗?而且计算后的结果是降序到最后一个,最后一个又突增,在我看来和mix没有区别。
yongzhuo commented 3 years ago
  1. num_min获取返回的top句子,依据传入的num设定,num是每个算法都设定了的,防止数组越界;
  2. 本来没有计算得分公式,为了统一而加入,原因是一般来说段落首部、尾部的句子更加重要。
FutureWithoutEnding commented 3 years ago

感谢您的回答,计算公式是您自己为了达到抽取首尾而设计的是吗?是在选取了前num个句子后,再进行首尾抽取的是吗? 另外: text_summarization\extractive_sum\graph_base\textrank下的textrank.py中的tdidf_sim函数,是在计算tf-idf,但是一般都是 vectorizer=CountVectorizer() transformer=TfidfTransformer() tfidf=transformer.fit_transform(vectorizer.fit_transform(corpus)) 或 transformer=TfidfVectorizer() tfidf2=transformer.fit_transform(corpus) 您 vectorizer = TfidfVectorizer().fit_transform(corpus) TfidfTransformer().fit_transform() 是什么原因呢?

yongzhuo commented 3 years ago
  1. 是为了抽取首尾而设计,不过可能存在一定问题,直接对所有句子首尾渐变可能好些,我再考虑一下;
  2. 项目中tdidf_fit和tdidf_sim是不一样的,前者传入切好词的语料,后者定义了tokenizer=jieba.cut。 本意应该是标准化来着,应该是重复了。
FutureWithoutEnding commented 3 years ago

再次感谢您的回答,谢谢你!