-
當(dāng)前位置:首頁 > 創(chuàng)意學(xué)院 > 技術(shù) > 專題列表 > 正文
python關(guān)鍵詞提?。╬ython關(guān)鍵詞提取原理)
大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關(guān)于python關(guān)鍵詞提取的問題,以下是小編對(duì)此問題的歸納整理,讓我們一起來看看吧。
開始之前先推薦一個(gè)非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計(jì)劃、工作報(bào)告、論文、代碼、作文、做題和對(duì)話答疑等等
只需要輸入關(guān)鍵詞,就能返回你想要的內(nèi)容,越精準(zhǔn),寫出的就越詳細(xì),有微信小程序端、在線網(wǎng)頁版、PC客戶端
官網(wǎng):https://ai.de1919.com。
創(chuàng)意嶺作為行業(yè)內(nèi)優(yōu)秀的企業(yè),服務(wù)客戶遍布全球各地,如需了解SEO相關(guān)業(yè)務(wù)請(qǐng)撥打電話175-8598-2043,或添加微信:1454722008
本文目錄:
一、在python 環(huán)境下,使用結(jié)巴分詞,自動(dòng)導(dǎo)入文本,分詞,提取關(guān)鍵詞.腳本 大俠給個(gè)
# -*- coding: utf-8 -*-
import jieba
import jieba.posseg as pseg
import jieba.analyse
#jieba.load_userdict('userdict.txt')#jieba默認(rèn)有一個(gè)dict.txt詞庫,但可以根據(jù)自己需要加入自己的詞條
str1 = "訓(xùn)練一個(gè)可進(jìn)行N維分類的網(wǎng)絡(luò)的常用方法是使用多項(xiàng)式邏輯回歸"
str2 = "可以嘗試修改網(wǎng)絡(luò)架構(gòu)來準(zhǔn)確的復(fù)制全連接模型"
str3 = "模型的目標(biāo)函數(shù)是求交叉熵?fù)p失和所有權(quán)重衰減項(xiàng)的和,loss()函數(shù)的返回值就是這個(gè)值"
seg_list = jieba.cut(str1,cut_all =True) #全模式
print("/".join(seg_list))
result = pseg.cut(str1)
result2 = jieba.cut(str2) #精準(zhǔn)模式
result3 = jieba.analyse.extract_tags(str3,4) #關(guān)鍵詞提取
result4 = jieba.cut_for_search(str3) #搜索引擎模式
for w in result:
print(w.word,w.flag)
print(" ".join(result2))
print(" ".join(result3))
print(" ".join(result4))
二、如何用Python實(shí)現(xiàn)在文件夾下查找一個(gè)關(guān)鍵詞
#!/usr/bin/python
#coding:utf8
import os
#判斷文件中是否包含關(guān)鍵字,是則將文件路徑打印出來
def is_file_contain_word(file_list, query_word):
for _file in file_list:
if query_word in open(_file).read():
print _file
print("Finish searching.")
#返回指定目錄的所有文件(包含子目錄的文件)
def get_all_file(floder_path):
file_list = []
if floder_path is None:
raise Exception("floder_path is None")
for dirpath, dirnames, filenames in os.walk(floder_path):
for name in filenames:
file_list.append(dirpath + '\\' + name)
return file_list
query_word = raw_input("Please input the key word that you want to search:")
basedir = raw_input("Please input the directory:")
is_file_contain_word(get_all_file(basedir), query_word)
raw_input("Press Enter to quit.")
請(qǐng)采納
三、怎么批量下載上市公司年報(bào)然后提取關(guān)鍵詞
首先,可以到中國(guó)證券網(wǎng)站上搜索你想要下載的上市公司的年報(bào),然后下載它們。
2.然后,使用文本分析軟件,如R或Python,對(duì)每一份年報(bào)進(jìn)行文本分析,從中提取出關(guān)鍵詞。
3.最后,將提取出的關(guān)鍵詞進(jìn)行整理和分析,以便更好地了解上市公司的業(yè)務(wù)情況。
四、手機(jī)評(píng)論文本挖掘與數(shù)據(jù)分析(Python)
目的
各大電商競(jìng)爭(zhēng)越來激烈,為了提升客戶服務(wù)質(zhì)量,除了打價(jià)格戰(zhàn)外,了解客戶的需求點(diǎn),對(duì)消費(fèi)者的文本評(píng)論進(jìn)行數(shù)據(jù)挖掘,傾聽客戶的心聲越來越重要。
工具
1、貝殼采集器
2、Google瀏覽器
3、Python3.7 + Pycharm
數(shù)據(jù)采集
①本文對(duì)京東平臺(tái)的手機(jī)進(jìn)行爬蟲,首先進(jìn)入京東商城,選擇一款手機(jī),這里以華為Mate 30 Pro 5G為例
②在采集平臺(tái)輸入網(wǎng)址,點(diǎn)擊貝殼采集開始配置信息
③因?yàn)槭遣杉u(píng)論所以還需要進(jìn)行下預(yù)操作配置切換頁面:點(diǎn)擊預(yù)操作按鈕-->添加點(diǎn)擊元素按鈕-->左鍵點(diǎn)擊流程圖中添加元素按鈕(懸浮顯示操作鍵)-->點(diǎn)擊懸浮顯示操作鍵<選擇按鈕> -->點(diǎn)擊網(wǎng)頁商品評(píng)論TAB頁切換按鈕 -->點(diǎn)擊保存
④沒有識(shí)別出評(píng)論信息,手工操作下:清空字段-->更改頁面類型為手工識(shí)別列表 --> 選中兩個(gè)一樣元素(這里兩個(gè)用戶名稱) -->下一頁未自動(dòng)識(shí)別成功-->更改分頁類型為手動(dòng)點(diǎn)擊下一頁-->配置完成-->開始采集
數(shù)據(jù)預(yù)處理
當(dāng)我們通過爬蟲獲取到我們想要的數(shù)據(jù)之后,進(jìn)行簡(jiǎn)單的觀察,可以發(fā)現(xiàn)評(píng)論的一些特點(diǎn):
文本短,基本上大量的評(píng)論就是一句話.
情感傾向明顯:明顯的詞匯如”好” “可以”
語言不規(guī)范:會(huì)出現(xiàn)一些網(wǎng)絡(luò)用詞,符號(hào),數(shù)字等
重復(fù)性大:一句話出現(xiàn)詞語重復(fù)
數(shù)據(jù)量大.
故我們需要對(duì)這些數(shù)據(jù)進(jìn)行數(shù)據(jù)預(yù)處理
數(shù)據(jù)預(yù)處理包括:去重、分詞等
下面我們將進(jìn)行數(shù)據(jù)清洗
import jieba
#評(píng)論內(nèi)容進(jìn)行去重
def quchong(infile, outfile):
infopen = open(infile, 'r', encoding='utf-8')
outopen = open(outfile, 'w', encoding='utf-8')
lines = infopen.readlines()
list_1 = []
for line in lines:
if line not in list_1:
list_1.append(line)
outopen.write(line)
infopen.close()
outopen.close()
quchong("E:/comments/華為P30.txt", "E:/comments/P30去重.txt")
# jieba.load_userdict('userdict.txt')
#創(chuàng)建停用詞list
def stopwordslist(filepath):
stopwords = [line.strip() for line in open(filepath, 'r', encoding='utf-8').readlines()]
return stopwords
#對(duì)評(píng)論內(nèi)容進(jìn)行分詞
def seg_sentence(sentence):
sentence_seged = jieba.cut(sentence.strip())
stopwords = stopwordslist('stopwords.txt') #這里加載停用詞的路徑
outstr = ''
for word in sentence_seged:
if word not in stopwords:
if word != '\t':
outstr += word
outstr += " "
return outstr
inputs = open('E:/comments/P30去重.txt', 'r', encoding='utf-8')
outputs = open('E:/comments/P30分詞.txt', 'w')
for line in inputs:
line_seg = seg_sentence(line) #這里的返回值是字符串
outputs.write(line_seg + '\n')
outputs.close()
inputs.close()
print('分詞完畢')
數(shù)據(jù)分析
上面我們已經(jīng)通過去重和jieba分詞將爬取的內(nèi)容進(jìn)行了預(yù)處理,接下來就開始對(duì)處理過的數(shù)據(jù)進(jìn)行分析,包括詞頻統(tǒng)計(jì)、關(guān)鍵詞提取以及詞云的生成等
#詞頻統(tǒng)計(jì)
import jieba.analyse
from collections import Counter #詞頻統(tǒng)計(jì)
with open('E:/comments/P30分詞.txt', 'r', encoding='utf-8') as fr:
data = jieba.cut(fr.read())
data = dict(Counter(data))
with open('E:/comments/P30詞頻.txt', 'w', encoding='utf-8') as fw: # 讀入存儲(chǔ)wordcount的文件路徑
for k, v in data.items():
fw.write('%s, %d\n' % (k, v))
import jieba.analyse
import matplotlib.pyplot as plt
from wordcloud import WordCloud
#生成詞云
with open('E:/comments/P30詞頻.txt') as f:
#提取關(guān)鍵詞
data = f.read()
keyword = jieba.analyse.extract_tags(data, topK=50, withWeight=False)
wl = " ".join(keyword)
#設(shè)置詞云
wc = WordCloud(
#設(shè)置背景顏色
background_color = "white",
#設(shè)置最大顯示的詞云數(shù)
max_words=2000,
#這種字體都在電腦字體中,一般路徑
font_path='C:/Windows/Fonts/simfang.ttf',
height=1200,
width=1600,
#設(shè)置字體最大值
max_font_size=100,
#設(shè)置有多少種隨機(jī)生成狀態(tài),即有多少種配色方案
random_state=30,
)
myword = wc.generate(wl) #生成詞云
#展示詞云圖
plt.imshow(myword)
plt.axis("off")
plt.show()
wc.to_file('E:/comments/P30.png') #把詞云保存下
以上就是關(guān)于python關(guān)鍵詞提取相關(guān)問題的回答。希望能幫到你,如有更多相關(guān)問題,您也可以聯(lián)系我們的客服進(jìn)行咨詢,客服也會(huì)為您講解更多精彩的知識(shí)和內(nèi)容。
推薦閱讀:
狗屁不通文章生成器python(狗屁不通文章生成器生成的文章)
同一場(chǎng)景不同角度拍攝(同一場(chǎng)景不同角度拍攝 python)
全國(guó)房地產(chǎn)排行榜2017(全國(guó)房地產(chǎn)排行榜2017)
百店餐飲品牌設(shè)計(jì)理念(百店餐飲品牌設(shè)計(jì)理念怎么寫)