文本自动文摘(automatic summarization/abstracting)是利用计算机自动实现文本分析、内容归纳和摘要自动生成的技术。这项技术在互联网技术迅速发展、海量信息急速膨胀的今天,具有非常重要的用途。Tweets作为社交媒体内容的典型代表,具有极大的研究价值。本文尝试将经典的TF-IDF算法应用到tweets上提取原文中最有代表性的句子做automatic summarization。
写文章不容易,如果这篇文章对你有帮助,请给我的github仓库加个star~
github项目地址
0. 认识数据
本文中使用的tweets数据由以下几个属性组成:
- id. Twitter API 中下载数据自带的id;
- topic. 命名实体识别的结果,作为topic使用;
- sentiment. 情感分析的结果,在本文中没有使用;
- body. Tweets正文,summarization作用的具体对象;
E.g:
id topic sentiment body
628949369883000832 @microsoft negative dear @Microsoft the newOoffice for Mac is grea...
1. 预处理
第一步是句子级的tokenization,因为我们的任务目标是提取句子。
第二步是清理数据。 直观地讲,像URL这样的字符串,“@ …”,标题和标点符号很少有助于句子的重要性。 另外,在大多数的NLP任务中,stopwords通常都会被视为噪音。 这些东西应该被删除。
第三步,为tf-idf计算创建一个遵循原始句子序列的过滤单词列表。
示例预处理输出:
Number of sentences:158
['dear @Microsoft the newOoffice for Mac is great and all, but no Lync update?',