中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

wordpress展示型外貿(mào)網(wǎng)站杭州余杭區(qū)抖音seo質(zhì)量高

wordpress展示型外貿(mào)網(wǎng)站,杭州余杭區(qū)抖音seo質(zhì)量高,網(wǎng)站推廣銷售,怎么做內(nèi)網(wǎng)網(wǎng)站目錄 一、項目介紹 1、項目任務(wù) 2、評論信息內(nèi)容 3、待思考問題 1)目標 2)輸入字詞格式 3)每一次傳入的詞/字的個數(shù)是否就是評論的長度 4)一條評論如果超過32個詞/字怎么處理? 5)一條評論如果…

目錄

一、項目介紹

1、項目任務(wù)

2、評論信息內(nèi)容

3、待思考問題

1)目標

2)輸入字詞格式

3)每一次傳入的詞/字的個數(shù)是否就是評論的長度

4)一條評論如果超過32個詞/字怎么處理? ?? ?

5)一條評論如果沒有32個詞/字怎么處理? ?? ?

6)如果語料庫中的詞/字太多是否可以壓縮? ?? ?

7)被壓縮的詞/字如何處理? ?? ?

二、項目實施

1、讀取文件,建立詞表

1)代碼內(nèi)容

2)部分內(nèi)容拆分解析

3)代碼運行結(jié)果

4)調(diào)試模式

2、評論刪除、填充,切分數(shù)據(jù)集

1)代碼內(nèi)容

2)運行結(jié)果

3)調(diào)試模式


一、項目介紹

1、項目任務(wù)

????????對微博評論信息的情感分析,建立模型,自動識別評論信息的情緒狀態(tài)。

2、評論信息內(nèi)容

3、待思考問題

????????1)目標

????????????????將每條評論內(nèi)容轉(zhuǎn)換為詞向量。

????????2)輸入字詞格式

????????????????每個詞/字轉(zhuǎn)換為詞向量長度(維度)200,使用騰訊訓(xùn)練好的詞向量模型有4960個維度,需要這個模型或者文件可私信發(fā)送。

????????3)每一次傳入的詞/字的個數(shù)是否就是評論的長度

? ? ? ? ? ? ? ? 應(yīng)該是固定長度,如何固定長度接著看,固定長度每次傳入數(shù)據(jù)與圖像相似,例如輸入評論長度為32,那么傳入的數(shù)據(jù)為32*200的矩陣,表示這一批詞的獨熱編碼,200表示維度

????????4)一條評論如果超過32個詞/字怎么處理? ?? ?

? ? ? ? ? ? ? ? 超出的直接刪除后面的內(nèi)容

????????5)一條評論如果沒有32個詞/字怎么處理? ?? ?

????????????????缺少的內(nèi)容,統(tǒng)一使用一個數(shù)字(非詞/字的數(shù)字)替代,項目中使用<PAD>填充

????????6)如果語料庫中的詞/字太多是否可以壓縮? ?? ?

????????????????可以,某些詞/字出現(xiàn)的頻率比較低,可能訓(xùn)練不出特征。因此可以選擇頻率比較高的詞來訓(xùn)練,項目中選擇4760個。

????????7)被壓縮的詞/字如何處理? ?? ?

????????????????可以統(tǒng)一使用一個數(shù)字(非詞/字的數(shù)字)替代,即選擇了評論固定長度的文字后,這段文字內(nèi)可能有頻率低的字,將其用一個數(shù)字替代,項目內(nèi)使用<UNK>替代

二、項目實施

1、讀取文件,建立詞表

????????1)代碼內(nèi)容

????????????????將下列代碼寫入命名為vocab_create.py的文件內(nèi),方便見名知義調(diào)用內(nèi)部函數(shù)

from tqdm import tqdm   # 導(dǎo)入進度條函數(shù)
import pickle as pkl   # 將序列化對象保存為一個二進制字節(jié)流文件MAX_VOCAB_SIZE = 4760   # 詞表長度限制長度,總共10000+個無重復(fù)的字
UNK,PAD = '<UNK>','<PAD>'   # 未知字,padding符號  今天天氣真好,我咁要去打球->今天天氣真好,我<UNK>要去打球<PAD><PAD><PAD><PAD><PAD>def build_vocab(file_path,max_size,min_freq):  # 參數(shù)分別表示,文件地址、詞表最大長度、剔除的最小詞頻數(shù)"""函數(shù)功能:基于文本內(nèi)容建立詞表vocab,vocab中包含語料庫中的字”"""tokenizer = lambda x: [y for y in x]    # 定義了一個函數(shù)tokenizer,功能為分字,返回一個列表,存放每一個字vocab_dic = {}   # 用于保存字的字典,鍵值對,鍵為詞,值為索引號with open(file_path,'r',encoding='UTF-8') as f:   # 打開評論文件i = 0for line in tqdm(f):  # 逐行讀取文件內(nèi)容,并顯示循環(huán)的進度條if i == 0:     # 跳過文件中的第1行表頭無用內(nèi)容,然后使用continue跳過當(dāng)前當(dāng)次循環(huán)i += 1continuelin = line[2:].strip()   # 使用字符串切片,獲取評論內(nèi)容,剔除標簽和逗號,不用split分割,因為評論內(nèi)容中可能會存在逗號。if not lin:     # 如果lin中沒有內(nèi)容則continue,表示沒有內(nèi)容,跳過這一行continuefor word in tokenizer(lin):  # 遍歷列表里的每一個元素,tokenizer(lin)將每一行的評論中的每個字符分成單獨的一個,然后存入列表vocab_dic[word] = vocab_dic.get(word,0)+1   # 統(tǒng)計每個字出現(xiàn)的次數(shù),并以字典保存,字典的get用法,讀取鍵word對應(yīng)的值,如果沒有讀取到則將其值表示為0,這里的值表示出現(xiàn)次數(shù),因為這里每出現(xiàn)一次值都加1,鍵獨一無二,值可以相同# 篩選詞頻大于1的,并排序字典中每個字的值的大小,降序排列,(拆分見下一條代碼塊)vocab_list = sorted([_ for _ in vocab_dic.items() if _[1] > min_freq],key=lambda x:x[1],reverse=True)[:max_size]   # 先通過for循環(huán)加if條件語句篩選出字典的值大于傳入?yún)?shù)min_freq的鍵值對列表,然后對其排序,最后取出前max_size個元素# 建立新的字典vocab_dic = {word_count[0]:idx for idx,word_count in enumerate(vocab_list)}  # 列表中存放每個元素是一個元組,元組里存放的是鍵值對的信息,將每個元組遍歷出來,給予索引0的值一個索引,以此給每個字符打上索引值,返回一個字典vocab_dic.update({UNK:len(vocab_dic),PAD:len(vocab_dic)+1})   # 在字典中更新鍵值對  {'<UNK>':4760,'<PAD>':4761}print(vocab_dic)  # 打印全新的字典# 保存字典,方便直接使用pkl.dump(vocab_dic,open('simplifyweibo_4_moods.pkl','wb'))   # 此時統(tǒng)計了所有的文字,并將每一個獨一無二的文字都賦予了獨熱編碼,將上述的字典保存為一個字節(jié)流文件print(f'Vocab size:{len(vocab_dic)}')   # 將評論的內(nèi)容,根據(jù)你現(xiàn)在詞表vocab_dic,轉(zhuǎn)換為詞向量return vocab_dic  # 輸入文件地址,對內(nèi)部文件進行處理,設(shè)定最大長度,返回該文件里的所有獨一無二的字符及其對應(yīng)的索引的字典,其中包含兩個填充字符及其索引,一個是填充未知字,一個是填充符號"""詞庫的創(chuàng)建"""
# 此處設(shè)置下列判斷語句來執(zhí)行的目的是為了防止外部函數(shù)調(diào)用本文件時運行下列代碼
if __name__ == '__main__':   # 當(dāng)自己直接執(zhí)行本文件代碼,會運行main,中的代碼vocab = build_vocab('simplifyweibo_4_moods.csv',MAX_VOCAB_SIZE,1)print('vocab')# 如果是調(diào)用本代碼,則不會執(zhí)行main中的代碼
? ? ? ? 2)部分內(nèi)容拆分解析
vocab_list = sorted([_ for _ in vocab_dic.items() if _[1] > min_freq],key=lambda x:x[1],reverse=True)[:max_size]vocab_list = []   # 空列表,存放元組形式的空列表
for a in vocab_dic.items():   # 遍歷出來字典中的鍵值對,用a表示if a[1] > min_freq:   # 判斷鍵值對的值是否大于min_freqvocab_list.append(a)
vocab_list = sorted(vocab_list,key=lambda x:x[1],reverse=True)  # 使用sorted函數(shù)排序,key表示排序的依據(jù),使用匿名函數(shù),并索引鍵值對的值排序,reverse為布爾值,是否降序
vocab_list = vocab_list[ : max_size]   # 索引前max_size個值

? ? ? ? 3)代碼運行結(jié)果

? ? ? ? 4)調(diào)試模式

2、評論刪除、填充,切分數(shù)據(jù)集

? ? ? ? 1)代碼內(nèi)容

? ? ? ? ? ? ? ? 將下列代碼放入創(chuàng)建的文件名為load_dataset.py的文件中,后面還有代碼需要往里增加

from tqdm import tqdm
import pickle as pkl
import random
import torchUNK,PAD = '<UNK>','<PAD>'  # 未知字,padding符號
def load_dataset(path,pad_size=70):   # path為文件地址,pad_size為單條評論字符的最大長度contents = []   # 用來存儲轉(zhuǎn)換為數(shù)值標號的句子,元祖類型,里面存放每一行每一個字的對應(yīng)詞庫的索引、每一行對應(yīng)的標簽、每一行的實際長度70及以內(nèi)vocab = pkl.load(open('simplifyweibo_4_moods.pkl','rb'))   # 讀取vocab詞表文件,rb二進制只讀tokenizer = lambda x:[y for y in x]    # 自定義函數(shù)用來將字符串分隔成單個字符并存入列表with open(path,'r',encoding='utf8') as f:  # 打開評論文件i = 0for line in tqdm(f):   # 遍歷文件內(nèi)容的每一行,同時展示進度條if i == 0:   # 此處循環(huán)目的為了跳過第一行的無用內(nèi)容i += 1continueif not line:   # 篩選是不是空行,空行則跳過continuelabel = int(line[0])   # 返回當(dāng)前行的標簽,整型content = line[2:].strip('\n')  # 取出標簽和逗號后的所有內(nèi)容,同時去除前后的換行符words_line = []   # 用于存放每一行評論的每一個字對應(yīng)詞庫的索引值token = tokenizer(content)   # 將每一行的內(nèi)容進行分字,返回一個列表seq_len = len(token)    # 獲取一行實際內(nèi)容的長度if pad_size:  # 非0即Trueif len(token) < pad_size:   # 如果一行的字符數(shù)少于70,則填充字符<PAD>,填充個數(shù)為少于的部分的個數(shù)token.extend([PAD]*(pad_size-len(token)))else:   # 如果一行的字大于70,則只取前70個字token = token[:pad_size]   # 如果一條評論種的寧大于或等于70個字,索引的切分seq_len = pad_size   # 當(dāng)前評論的長度# word to idfor word in token:  # 遍歷實際內(nèi)容的每一個字符words_line.append(vocab.get(word,vocab.get(UNK)))  # vocab為詞庫,其中為字典形式,使用get去獲取遍歷出來的字符的值,值可表示索引值,如果該字符不在詞庫中則將其值增加為字典中鍵UNK對應(yīng)的值,words_line中存放的是每一行的每一個字符對應(yīng)的索引值contents.append((words_line,int(label),seq_len))  # 將每一行評論的字符對應(yīng)的索引以及這一行評論的類別,還有當(dāng)前評論的實際內(nèi)容的長度,以元組的形式存入列表random.shuffle(contents)   # 隨機打亂每一行內(nèi)容的順序"""切分80%訓(xùn)練集、10%驗證集、10%測試集"""train_data = contents[ : int(len(contents)*0.8)]   # 前80%的評論數(shù)據(jù)作為訓(xùn)練集dev_data = contents[int(len(contents)*0.8):int(len(contents)*0.9)]   # 把80%~90%的評論數(shù)據(jù)集作為驗證數(shù)熱t(yī)est_data = contents[int(len(contents)*0.9):]    # 90%~最后的數(shù)據(jù)作為測試數(shù)據(jù)集return vocab,train_data,dev_data,test_data   # 返回詞庫、訓(xùn)練集、驗證集、測試集,數(shù)據(jù)集為列表中的元組形式if __name__ == '__main__':vocab,train_data,dev_data,test_data = load_dataset('simplifyweibo_4_moods.csv')print(train_data,dev_data,test_data)print('結(jié)束')
? ? ? ? 2)運行結(jié)果

? ? ? ? 3)調(diào)試模式

http://www.risenshineclean.com/news/58672.html

相關(guān)文章:

  • 蒼南網(wǎng)站設(shè)計公司河南今日頭條新聞
  • 做網(wǎng)站外包需要提供什么百度搜索關(guān)鍵詞優(yōu)化
  • 網(wǎng)站搭建策劃書深圳全網(wǎng)推互聯(lián)科技有限公司
  • wordpress選擇表優(yōu)化網(wǎng)站軟文
  • 公司網(wǎng)站制作導(dǎo)航東莞企業(yè)網(wǎng)站推廣
  • 怎么做網(wǎng)站百度貼吧網(wǎng)站seo快速排名優(yōu)化的軟件
  • 深圳羅湖網(wǎng)站設(shè)計公司價格seo具體是什么
  • dede怎么做視頻網(wǎng)站網(wǎng)站seo設(shè)計
  • 網(wǎng)站建設(shè)計劃建議做網(wǎng)頁用什么軟件好
  • 無備案網(wǎng)站微信網(wǎng)絡(luò)營銷和電子商務(wù)區(qū)別
  • 什么是外包seo網(wǎng)站營銷推廣公司
  • 深圳汽車網(wǎng)站建設(shè)win7優(yōu)化教程
  • 公司設(shè)計網(wǎng)站建設(shè)合同網(wǎng)站友情鏈接的作用
  • 武漢做網(wǎng)站公司推薦怎樣去推廣自己的網(wǎng)店
  • 網(wǎng)站建設(shè)需要什么格式的圖片推廣軟件賺錢違法嗎
  • 昆明網(wǎng)站制作推薦軟文營銷代理
  • 網(wǎng)站開發(fā)實用技術(shù) 代碼深圳做seo有哪些公司
  • wordpress站群網(wǎng)絡(luò)推廣是什么
  • 上海做網(wǎng)站的費用銷售培訓(xùn)
  • 廣告設(shè)計需要學(xué)多久蘇州百度 seo
  • 網(wǎng)站開發(fā)月薪多少錢小程序推廣運營的公司
  • 蘇州網(wǎng)站運營公司淘寶關(guān)鍵詞優(yōu)化怎么弄
  • 做視頻網(wǎng)站對服務(wù)器要去中央電視臺一套廣告價目表
  • 百度蜘蛛如何找網(wǎng)站國內(nèi)設(shè)計公司前十名
  • 溫州網(wǎng)站設(shè)計工作室軟件開發(fā)平臺
  • 網(wǎng)站規(guī)劃總結(jié)武漢本地seo
  • 百度做的網(wǎng)站seo資料網(wǎng)
  • 青島開發(fā)區(qū)網(wǎng)站建設(shè)多少錢百度競價排名的利與弊
  • 臨沂做網(wǎng)站的公司哪里有武漢網(wǎng)絡(luò)推廣網(wǎng)絡(luò)營銷
  • 無需域名網(wǎng)站建設(shè)競價什么意思