自然语言之情感分析(中文)
自然語(yǔ)言之情感分析(中文)
- 數(shù)據(jù)來(lái)源:香港金融新聞平臺(tái)
- 處理工具:python3.5
- 處理結(jié)果:分析語(yǔ)言的積極/消極意義
- 領(lǐng)域:金融/炒股
請(qǐng)隨意觀看表演
- 數(shù)據(jù)準(zhǔn)備
- 數(shù)據(jù)清洗
- 情感分析
- 報(bào)錯(cuò)處理
- 成果展示
- 遺留問(wèn)題
No1.數(shù)據(jù)準(zhǔn)備
準(zhǔn)備工作主要是對(duì)字典進(jìn)行處理,將其按照類型分類寫(xiě)入python文件中,方便其余腳本調(diào)用。并且,將詞典寫(xiě)入到emotion_word.txt中,使用 jieba詞庫(kù) 重載
將字典寫(xiě)入.py文件好處
寫(xiě)入方法
將txt字典中的每行的詞語(yǔ)讀出來(lái),再寫(xiě)入列表,再print(List)。當(dāng)數(shù)據(jù)少的時(shí)候可以,但是當(dāng)數(shù)據(jù)達(dá)到幾百以上,顯然不可行。
若txt字典中的詞語(yǔ)都是按行分布的:
寫(xiě)入后,再全選復(fù)制,粘貼到對(duì)應(yīng).py文件就可以了
附截圖
No2.數(shù)據(jù)清洗
拿到的數(shù)據(jù)是這樣的,附截圖
主要就是:繁體去簡(jiǎn)體,去掉html標(biāo)簽和各種奇葩符號(hào)
繁體和簡(jiǎn)體的轉(zhuǎn)化,用到了國(guó)人的一個(gè)庫(kù),請(qǐng)戳這里下載 :)
使用方法很簡(jiǎn)單:
from langconv import * #轉(zhuǎn)換繁體到簡(jiǎn)體 def cht_to_chs(line):line = Converter('zh-hans').convert(line)line.encode('utf-8')return line#轉(zhuǎn)換簡(jiǎn)體到繁體 def chs_to_cht(line):line = Converter('zh-hant').convert(line)line.encode('utf-8')return line代碼會(huì)在之后用類一起封裝
No3.情感分析
分析title(新聞標(biāo)題)和content(新聞主體)的成績(jī)(只看正負(fù))和方差。對(duì)于成績(jī),我們更重視新聞標(biāo)題,因?yàn)殛P(guān)鍵詞明確,數(shù)量少,影響因素少;對(duì)于方差,我們更看重新聞主體,詞語(yǔ)多,從方差可以看出來(lái)這段新聞?wù)Z氣程度(肯定/不確定...)。當(dāng)然,當(dāng)titile成績(jī)?yōu)?或者主體方差為0,我們會(huì)看主體的成績(jī)和title的方差。
字典特征
- 字典里面的否定詞:'不好',而不是'不','好'。所以否定詞是和別的詞連在一起的。但也有少數(shù)不是。
- 字典包含標(biāo)點(diǎn)符號(hào)
- 字典有一些缺陷,并且不是針對(duì)金融領(lǐng)域的專門字典
No4.報(bào)錯(cuò)處理
一共231506條新聞,為了方便回查,設(shè)置報(bào)錯(cuò)處理(在數(shù)據(jù)庫(kù)操作的類里實(shí)現(xiàn))
log_file = 'error.log' class SQL(object):......def run(self,cmd,index):try:self.read_SQL(cmd,index)self.operate()self.write_SQL(index)self.w_conn.commit()except Exception as r:self.r_conn.rollback()self.w_conn.rollback()error = "ID "+str(self.r_dict['id'])+str(r)global log_filelog_error(log_file = log_file,error=error)No5.成果展示
由于var太小,所以擴(kuò)大了1w倍,便于觀察相對(duì)大小和后期工作的進(jìn)行。請(qǐng)觀察id,來(lái)觀看結(jié)果(為了方便顯示,導(dǎo)入到了兩個(gè)csv文件)
No6.遺留問(wèn)題
- 在EmotionAnalysis類里的get_score函數(shù)里,對(duì)應(yīng)的分值容易確定。(有空看一下機(jī)器學(xué)習(xí),maybe能改進(jìn))。所以現(xiàn)在的分?jǐn)?shù)只能看正負(fù),來(lái)確定消極或積極。但對(duì)于這種金融新聞(特點(diǎn):言簡(jiǎn)意賅),效果還可以。
- 字典問(wèn)題,請(qǐng)看 No3里面的字典特征
轉(zhuǎn)載于:https://www.cnblogs.com/AsuraDong/p/emotion_analysis.html
總結(jié)
以上是生活随笔為你收集整理的自然语言之情感分析(中文)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 数字金字塔MySQL存储过程_千金良方—
- 下一篇: 原生js数组排序