文本分析--关键词获取(jieba分词器,TF-IDF模型)

# -*-coding:utf-8-*-


#import uniout  # 编码格式,解决中文输出乱码问题
import jieba.analyse
from sklearn import feature_extraction
from sklearn.feature_extraction.text import TfidfTransformer

from sklearn.feature_extraction.text import CountVectorizer


jieba.analyse.set_stop_words("C:\\Python36\\Lib\\site-packages\\jieba\\stop_words.txt")

"""
       TF-IDF权重:
           1、CountVectorizer 构建词频矩阵
           2、TfidfTransformer 构建tfidf权值计算
           3、文本的关键字
           4、对应的tfidf矩阵
"""


# 读取文件

def read_news():

  

    #news = open('1.txt').read()

    news = open('2.txt',encoding = 'utf-8').read()

    return news




# jieba分词器通过词频获取关键词
def  jieba_keywords(news):
    keywords = jieba.analyse.extract_tags(news, topK=10)
    print (keywords)


def  tfidf_keywords():
    # 00、读取文件,一行就是一个文档,将所有文档输出到一个list中
    corpus = []
    for line in open('news.txt', 'r').readlines():
        corpus.append(line)


    # 01、构建词频矩阵,将文本中的词语转换成词频矩阵
    vectorizer = CountVectorizer()
    # a[i][j]:表示j词在第i个文本中的词频
    X = vectorizer.fit_transform(corpus)
    print (X)  # 词频矩阵


    # 02、构建TFIDF权值
    transformer = TfidfTransformer()
    # 计算tfidf值
    tfidf = transformer.fit_transform(X)


    # 03、获取词袋模型中的关键词
    word = vectorizer.get_feature_names()


    # tfidf矩阵
    weight = tfidf.toarray()


    # 打印特征文本
    print (len(word))
    for j in range(len(word)):
        print (word[j])


    # 打印权重
    for i in range(len(weight)):
        for j in range(len(word)):
            print (weight[i][j])
            # print '\n'




if __name__ == '__main__':
    news = read_news()
    jieba_keywords(news)
    tfidf_keywords()
tf-idf词袋模型是一种用于文本处理和分析的技术。它的主要思想是将文本中的每个词汇作为一个特征,通过计算词汇在文档中的重要程度来进行特征提取和表示。它结合了词频(term frequency)和逆文档频率(inverse document frequency)的计算方法。 在tf-idf词袋模型中,词频表示了某个词汇在文档中出现的频率,逆文档频率表示了该词汇在整个文集中的重要程度。通过将词频和逆文档频率相乘,可以得到某个词汇在文档中的tf-idf值。通过对一篇文档中的所有词汇计算tf-idf值,可以得到该文档的特征向量表示。 jieba是一款常用的中文分词工具,可以将中文文本按照词语进行分割。在文本情感分类任务中,jieba可以被用于对文本进行分词预处理,将长句子切分成短语,并去除停用词等。分词后的文本可以作为特征的基础,用于情感分类任务。 文本情感分类是指通过对文本的分析和理解,将其归类为积极、消极或中性等情感类别。在进行情感分类时,可以利用tf-idf词袋模型提取文本的特征向量表示,并将其输入到机器学习模型中进行分类训练。根据文本中的词汇出现情况和tf-idf值,模型可以学习到不同词汇与情感类别之间的关联,从而进行文本情感分类判断。 综上所述,tf-idf词袋模型jieba文本分类任务中扮演着重要的角色。它们分别用于提取文本的特征向量表示和中文文本分词预处理,为文本情感分类任务提供了基础。通过结合这两种技术,可以建立有效的文本情感分类模型
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值