代码拉取完成,页面将自动刷新
同步操作将从 我没得冰阔落/nlp_machine_translation 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
import jieba
from jieba import analyse
import jieba.posseg as pseg
import os
import sys
from sklearn import feature_extraction
from sklearn.feature_extraction.text import TfidfTransformer
from sklearn.feature_extraction.text import CountVectorizer
import numpy as np
# 引入TF-IDF关键词抽取接口
tfidf = analyse.extract_tags
def participle(text, cut_all=False):
seglist_f = " ".join(list(jieba.cut(text,cut_all=False)))
seglist_t = " ".join(list(jieba.cut(text,cut_all=True)))
seglist_s = " ".join(list(jieba.cut_for_search(text)))
if cut_all == 'all':
return seglist_f, seglist_s, seglist_s
if cut_all == False:
return seglist_f
if cut_all == True:
return seglist_t
if cut_all == 's':
return seglist_s
def get_keywords(text, topK = 5):
corpus = [participle(text)]
for i in corpus:
if len(i) <= 1:
corpus.pop(i)
keywords = []
vectorizer = CountVectorizer() # 该类会将文本中的词语转换为词频矩阵,矩阵元素a[i][j] 表示j词在i类文本下的词频
transformer = TfidfTransformer() # 该类会统计每个词语的tf-idf权值
tfidf = transformer.fit_transform(vectorizer.fit_transform(corpus)) # 第一个fit_transform是计算tf-idf,第二个fit_transform是将文本转为词频矩阵
word = vectorizer.get_feature_names_out() # 获取词袋模型中的所有词语
# print(word)
weight = tfidf.toarray() # 将tf-idf矩阵抽取出来,元素a[i][j]表示j词在i类文本中的tf-idf权重
for i in range(len(weight)): # 打印每类文本的tf-idf词语权重,第一个for遍历所有文本,第二个for便利某一类文本下的词语权重
print(i)
sorted_weight = np.argsort(weight[i])[::-1] # 降序排列索引
top_k_weight = sorted_weight[:topK] # 获取前K个索引
top_k_words = word[top_k_weight] # 获取对应的单词
keywords = " ".join(list(set(top_k_words)))
return keywords
if __name__ == '__main__':
# text = "小明1995年毕业于清华大学"
# result = participle(text)
# print(result)
# # 原始文本
text = "线程是程序执行时的最小单位,它是进程的一个执行流,\
是CPU调度和分派的基本单位,一个进程可以由很多个线程组成,\
线程间共享进程的所有资源,每个线程有自己的堆栈和局部变量。\
线程由CPU独立调度执行,在多CPU环境下就允许多个线程同时运行。\
同样多线程也可以实现并发操作,每个请求分配一个线程来处理。"
# # 基于TF-IDF算法进行关键词抽取
# keywords = tfidf(text)
# print("keywords by tfidf:")
# # 输出抽取出的关键词
# for keyword in keywords:
# print(keyword + "/")
corpus = "我 来到 北京 清华大学"
keywords = get_keywords(text)
print(keywords)
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。