NLP实战 文本关键词提取

NLP实战 文本关键词提取,第1张

NLP实战 文本关键词提取

+是加法。行尾的在下一行继续当前语句或表达式,即续行。

实战项目简介

文本关键词提取,顾名思义,关键词是能够表达文档中心内容的词语,常用于计算机系统标引论文内容特征、信息检索、系统汇集以供读者检阅。关键词提取是文本挖掘领域的一个分支。提取就是找出关键词打印出来。这个项目其实是一个很朴实的项目,它有很多应用场景,而且不难掌握。我们在看六级时,看阅读做听力啥的,都是要抓关键词,这个能力是需要训练成本的。另一方面,对于已经十分熟悉的汉语语料,我们是可以很轻松地提取关键词,那么这个时候的意义在于节约人力,因为不需要培养这种能力了,但是还需要人继续做这件事,那么这件事的战略意义就比较大了。

那么回到这个项目本身,首先:大部分情况下,词汇是我们对句子和文章理解的基础,因此需要一个额外的分词工具去把完整的文本中分解成粒度更细的词。

第二步,我们需要对语义进行评价,找出所谓的关键词。

第三步就是打印出来了。

项目代码的框架、

def get_stopword_list():
def seg_to_list(sentence, pos=False):
def word_filter(seg_list, pos=False):
def load_data(pos=False, corpus_path='./corpus.txt'):
def train_idf(doc_list):
def cmp(e1, e2):

class TfIdf(object):
def __init__(self, idf_dic, default_idf, word_list, keyword_num):
def get_tf_dic(self):
def get_tfidf(self):
class TopicModel(object):
def __init__(self, doc_list, keyword_num, model='LSI', num_topics=4):
def train_lsi(self):
def train_lda(self):
def get_wordtopic(self, word_dic):
def get_simword(self, word_list):
def calsim(l1, l2):
def word_dictionary(self, doc_list):
def doc2bowvec(self, word_list):

def tfidf_extract(word_list, pos=False, keyword_num=10):
def textrank_extract(text, pos=False, keyword_num=10):
def topic_extract(word_list, model, pos=False, keyword_num=10):
if __name__ == '__main__':
text = '6月19日,《2012年度“中国爱心城市”公益活动新闻发布会》在京举行。' + 
       '中华社会救助基金会理事长许嘉璐到会讲话。基金会高级顾问朱发忠,全国老龄' + 
       '办副主任朱勇,民政部社会救助司助理巡视员周萍,中华社会救助基金会副理事长耿志远,' + 
       '重庆市民政局巡视员谭明政。晋江市人大常委会主任陈健倩,以及10余个省、市、自治区民政局' + 
       '领导及四十多家媒体参加了发布会。中华社会救助基金会秘书长时正新介绍本年度“中国爱心城' + 
       '市”公益活动将以“爱心城市宣传、孤老关爱救助项目及第二届中国爱心城市大会”为主要内容,重庆市' + 
       '、呼和浩特市、长沙市、太原市、蚌埠市、南昌市、汕头市、沧州市、晋江市及遵化市将会积极参加' + 
       '这一公益活动。中国雅虎副总编张银生和凤凰网城市频道总监赵耀分别以各自媒体优势介绍了活动' + 
       '的宣传方案。会上,中华社会救助基金会与“第二届中国爱心城市大会”承办方晋江市签约,许嘉璐理' + 
       '事长接受晋江市参与“百万孤老关爱行动”向国家重点扶贫地区捐赠的价值400万元的款物。晋江市人大' + 
       '常委会主任陈健倩介绍了大会的筹备情况。'

pos = True
seg_list = seg_to_list(text, pos)
filter_list = word_filter(seg_list, pos)

print('TF-IDF模型结果:')
tfidf_extract(filter_list)
print('TextRank模型结果:')
textrank_extract(text)
print('LSI模型结果:')
topic_extract(filter_list, 'LSI', pos)
print('LDA模型结果:')
topic_extract(filter_list, 'LDA', pos)

 

 

项目涉及的语言数据集&技术与算法简介、

运行 结果、

其他(思考、结果优化等)

按照最后的逻辑应该是稍微上升一下的,关键词提取,关键短语提取,关键句提取

写摘要,实时会议关键词(科大讯飞),我当时问他们是不是最基础的每个词做,他们说那是最早的方法了,现在都是用机器学习,直接跳过机理。其实我选择这个项目呢,有一部分原因是因为它简单有效,另一部分就是想多了解一些自己看到的demo的内部。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5580006.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-14
下一篇 2022-12-14

发表评论

登录后才能评论

评论列表(0条)

保存