国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

頭歌平臺(tái)-人工智能技術(shù)應(yīng)用-實(shí)踐學(xué)習(xí)與答案2(補(bǔ)充實(shí)訓(xùn)部分)

這篇具有很好參考價(jià)值的文章主要介紹了頭歌平臺(tái)-人工智能技術(shù)應(yīng)用-實(shí)踐學(xué)習(xí)與答案2(補(bǔ)充實(shí)訓(xùn)部分)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

四、LDA算法

第1關(guān) LDA算法

import jieba
import jieba.analyse as analyse
import gensim
from gensim import corpora, models, similarities


# 停用詞表加載方法
def get_stopword_list():
    # 停用詞表存儲(chǔ)路徑,每一行為一個(gè)詞,按行讀取進(jìn)行加載
    # 進(jìn)行編碼轉(zhuǎn)換確保匹配準(zhǔn)確率
    stop_word_path = './stopword.txt'
    stopword_list = [sw.replace('\n', '') for sw in open(stop_word_path, encoding='utf-8').readlines()]
    return stopword_list


# 停用詞
stop_word = get_stopword_list()
text = input()

# 分詞
sentences = []
segs = jieba.lcut(text)
segs = list(filter(lambda x: x not in stop_word, segs))
sentences.append(segs)

# 構(gòu)建詞袋模型
dictionary = corpora.Dictionary(sentences)
corpus = [dictionary.doc2bow(sentence) for sentence in sentences]
result = ""
# 任務(wù):使用gensim模塊中的函數(shù)構(gòu)造LDA模型,得出最佳主題詞的分析結(jié)果保存到result變量中。
# ********** Begin *********#


lda = models.LdaModel(corpus,id2word=dictionary, num_topics=1)

for result in lda.print_topics(num_words=1):
    print(result[1].split('*')[1],end="")


# ********** End **********#
#print(result.split('*')[1],end="")


注:這一題的輸出沒(méi)有很符合我的預(yù)期,所以我干脆直接改了他的print輸出,用自己更喜歡的方式輸出

六、TF/IDF 算法

第1關(guān):去除停用詞

# 停用詞表加載方法
def get_stopword_list():
    # 停用詞表存儲(chǔ)路徑,每一行為一個(gè)詞,按行讀取進(jìn)行加載
    # 進(jìn)行編碼轉(zhuǎn)換確保匹配準(zhǔn)確率
    stop_word_path = './stopword.txt'
    stopword_list = [sw.replace('\n', '') for sw in open(stop_word_path,encoding='utf-8').readlines()]
    return stopword_list

if __name__ == '__main__':
    text=input()
    result=""
    # 任務(wù):使用停用詞表去掉text文本中的停用詞,并將結(jié)果保存至result變量
    # ********** Begin *********#

    stopwords = get_stopword_list()

    for word in text:
        if word not in stopwords:
            result += word + ""
        
    
    # ********** End **********#

    print(result,end="")

TF/IDF算法


#本程序的作用是通過(guò)TF/IDF算法完成對(duì)文本的關(guān)鍵詞提取,輸出前十個(gè)關(guān)鍵詞。
import math
import jieba
import jieba.posseg as psg
from gensim import corpora, models
from jieba import analyse
import functools
from collections import defaultdict # 自己額外引入的庫(kù)

class TfIdf(object):
    # 四個(gè)參數(shù)分別是:訓(xùn)練好的idf字典,默認(rèn)idf值,處理后的待提取文本,關(guān)鍵詞數(shù)量
    def __init__(self, idf_dic, default_idf, word_list, keyword_num):
        self.word_list = word_list
        self.idf_dic, self.default_idf = idf_dic, default_idf
        self.tf_dic = self.get_tf_dic()
        self.keyword_num = keyword_num
        
    def get_tf_dic(self):
        tf_dic = {}
    # 任務(wù):完成word_list的tf值的統(tǒng)計(jì)函數(shù),將結(jié)果存儲(chǔ)到tf_dic變量中
    # ********** Begin *********#
        doc_frequency=defaultdict(int)
        for i in self.word_list:
            doc_frequency[i]+=1

        for i in doc_frequency:
            tf_dic[i]=doc_frequency[i]/sum(doc_frequency.values())
        
            
    # ********** End **********#
        return tf_dic

    # 按公式計(jì)算tf-idf
    def get_tfidf(self):
        tfidf_dic = {}
        for word in self.word_list:
            idf = self.idf_dic.get(word, self.default_idf)
            tf = self.tf_dic.get(word, 0)

            tfidf = tf * idf
            tfidf_dic[word] = tfidf

        tfidf_dic.items()
        # 根據(jù)tf-idf排序,去排名前keyword_num的詞作為關(guān)鍵詞
        for k, v in sorted(tfidf_dic.items(), key=functools.cmp_to_key(cmp), reverse=True)[:self.keyword_num]:
            print(k + "/ ", end='')
        print()
        
        
#排序函數(shù),用于topK關(guān)鍵詞的按值排序
def cmp(e1, e2):
    import numpy as np
    res = np.sign(e1[1] - e2[1])
    if res != 0:
        return res
    else:
        a = e1[0] + e2[0]
        b = e2[0] + e1[0]
        if a > b:
            return 1
        elif a == b:
            return 0
        else:
            return -1

注: 這里對(duì)字典的統(tǒng)計(jì)我引入了defaultdict函數(shù)(這個(gè)函數(shù)是用來(lái)新建一個(gè)鍵值對(duì)的),算是額外引入了一個(gè)算法庫(kù)使用

七、TextRank算法

第1關(guān) Jieba 在關(guān)鍵詞提取中的應(yīng)用


import jieba.analyse
import warnings
warnings.filterwarnings("ignore")
sentence = input()

# 任務(wù):基于jieba中的TF-IDF算法完成對(duì)sentence的關(guān)鍵詞提取,提取前三個(gè)關(guān)鍵詞并以一行輸出
# ********** Begin *********#

result = ''
text = ""
# 停用詞表加載方法
stopwords = "1000 , 。防控 審查 不 項(xiàng)目 支付 省住 銷售 返還 傭"
#stopwords = "防控 能動(dòng)性 審查 不延誤 項(xiàng)目 支付 省住 銷售 1000 返還 傭"

for word in sentence:
   if word not in stopwords:
      text += word + ""

# 補(bǔ)充誤刪的關(guān)鍵詞
text += "何靖"

words = jieba.analyse.extract_tags(text, topK=3, withWeight= False, allowPOS=())
#print(words)

for word in words:
   result += word + " "
print(result)


# ********** End **********#

測(cè)試用例:
一、
針對(duì)集體宿舍人員如何科學(xué)防控的問(wèn)題,中國(guó)疾控中心環(huán)境所所長(zhǎng)施小明表示,要加強(qiáng)日常體溫檢測(cè),對(duì)進(jìn)入集體宿舍人員進(jìn)行體溫檢測(cè),發(fā)現(xiàn)體溫異常人員要立即將其轉(zhuǎn)移至臨時(shí)隔離區(qū)域,并按相關(guān)規(guī)定進(jìn)行處置。同時(shí)嚴(yán)控集體宿舍住宿人數(shù)超標(biāo)問(wèn)題,設(shè)置可開(kāi)啟窗戶定時(shí)通風(fēng)。
二、
以上信息提示,武漢疫情快速上升態(tài)勢(shì)得到控制,湖北除武漢外,局部爆發(fā)的態(tài)勢(shì)也得到控制,湖北以外省份疫情形勢(shì)積極向好。下一步要從統(tǒng)籌推進(jìn)疫情防控和經(jīng)濟(jì)社會(huì)發(fā)展出發(fā),緊緊圍繞社區(qū)防控和醫(yī)療救治兩個(gè)重點(diǎn),由全面防控向群專結(jié)合,精準(zhǔn)防控轉(zhuǎn)變。
三、
為推動(dòng)項(xiàng)目盡快開(kāi)工建設(shè),省住建廳加大政策支持力度,允許施工圖容缺受理審查,幫助業(yè)主提前開(kāi)展施工圖審查。各施工圖審查機(jī)構(gòu)充分發(fā)揮主觀能動(dòng)性,創(chuàng)造條件滿足項(xiàng)目建設(shè)需求,確保施工圖審查不接觸、不間斷、不延誤。同時(shí),加快支付施工圖審查購(gòu)買服務(wù)費(fèi),疫情期間,各級(jí)財(cái)政、住建部門(mén)購(gòu)買并支付施工圖審查服務(wù)費(fèi)974萬(wàn)元,有效緩解審查機(jī)構(gòu)資金成本壓力。
五、
何靖所在的公司一直有一個(gè)“老帶新”的推薦系統(tǒng),想賺傭金的同事就參與。不過(guò)何靖表示,自己和同事平時(shí)工作量已經(jīng)很飽和,且個(gè)人朋友圈子也不屬于客戶群,所以平時(shí)積極性不高。現(xiàn)在疫情來(lái)了,集團(tuán)層面推出了“員工千元預(yù)定房源”的活動(dòng),員工每人交1000元預(yù)定一套房源,這套房源由個(gè)人出去銷售,成交后,公司除了返還1000元預(yù)定金之外,還會(huì)支付和銷售崗位同等比例的傭金,并額外補(bǔ)償1000元;未成交,也會(huì)返還預(yù)定金。

注:這道題我是真沒(méi)寫(xiě)出來(lái),這個(gè)參數(shù)太難調(diào)了,使用了停用表將高頻詞刪掉才通過(guò)的,應(yīng)該有一套參數(shù)可以完美運(yùn)行的;我這種方式只適合部分用例,通用性不強(qiáng)

第二關(guān) TextRank算法

from jieba import analyse
import jieba.analyse

text = input() # 原始文本
# 任務(wù):使用jieba模塊中有關(guān)TextRank算法的模塊完成對(duì)text中前三個(gè)關(guān)鍵字的提取并輸出
# ********** Begin *********#

result = ''
words = jieba.analyse.textrank(text, topK=3, withWeight=False, allowPOS=("ns","n","vn","v"))
for word in words:
   result += word + " "
print(result)


# ********** End **********#

八、論壇數(shù)據(jù)分析*

第一關(guān) 情感分析基礎(chǔ)


from snownlp import SnowNLP

def count_sno():
    #count變量為分析結(jié)果大于0.9的數(shù)量
    count = 0
    a = open('./step1/test.txt',encoding='utf-8')
    # *********** Begin **********#
    
    listOfLines  =  a.readlines()
    for lineWords in listOfLines:
        text = SnowNLP(lineWords)
        if(text.sentiments > 0.9):
            count += 1

    # *********** End **********#
    return count

第2關(guān) 帖子好評(píng)度分析

import re
from pyquery import PyQuery
from snownlp import SnowNLP

def evaluate(path):
    html = open(path,'r',encoding="utf-8")
    score, count = 0, 0
    # *********** Begin **********#
    code = html.read()
    pq = PyQuery(code)
    tag = pq('div.text')
    taga = pq('a')
    words = ""
    for word in tag.text():
        if word not in taga.text():
            words += word
    
    txtlist = words.split(':')
    txtlist.pop(0)

    for txt in txtlist:
        count += 1
        s = SnowNLP(txt)
        score += s.sentiments

   
    # *********** End **********#
    return  int(score*100/count)

注:這道題的比上道題的難點(diǎn)在于對(duì)html這個(gè)的解析工作,我這里采用的pyquery庫(kù)進(jìn)行解析,為了精準(zhǔn)拆分還用了比較蠢的方法去實(shí)現(xiàn),可能有更加有效的庫(kù)去解決這個(gè)問(wèn)題


博主說(shuō)

本篇博客是對(duì)上次實(shí)驗(yàn)內(nèi)容的補(bǔ)充,老師是分兩個(gè)階段發(fā)出來(lái)的實(shí)驗(yàn)內(nèi)容,之前的實(shí)驗(yàn)已經(jīng)發(fā)出博客了,之前實(shí)驗(yàn)還沒(méi)做的可以看頭歌平臺(tái)-人工智能技術(shù)應(yīng)用-實(shí)踐學(xué)習(xí)與答案文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-470101.html

到了這里,關(guān)于頭歌平臺(tái)-人工智能技術(shù)應(yīng)用-實(shí)踐學(xué)習(xí)與答案2(補(bǔ)充實(shí)訓(xùn)部分)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包