HOME 首頁
SERVICE 服務(wù)產(chǎn)品
XINMEITI 新媒體代運(yùn)營(yíng)
CASE 服務(wù)案例
NEWS 熱點(diǎn)資訊
ABOUT 關(guān)于我們
CONTACT 聯(lián)系我們
創(chuàng)意嶺
讓品牌有溫度、有情感
專注品牌策劃15年

    python關(guān)鍵詞提?。╬ython關(guān)鍵詞提取原理)

    發(fā)布時(shí)間:2023-04-21 22:11:43     稿源: 創(chuàng)意嶺    閱讀: 138        

    大家好!今天讓創(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關(guān)鍵詞提取(python關(guān)鍵詞提取原理)

    一、在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)容。


    推薦閱讀:

    wechatpy

    狗屁不通文章生成器python(狗屁不通文章生成器生成的文章)

    同一場(chǎng)景不同角度拍攝(同一場(chǎng)景不同角度拍攝 python)

    全國(guó)房地產(chǎn)排行榜2017(全國(guó)房地產(chǎn)排行榜2017)

    百店餐飲品牌設(shè)計(jì)理念(百店餐飲品牌設(shè)計(jì)理念怎么寫)