一、自然語言處理
要處理的問題
對於多組對話中判斷這段化是消極的還是積極的
處理的短語資料
review liked
wow... loved this place. 1
crust is not good. 0
not tasty and the texture was just nasty. 0
stopped by during the late may bank holiday of... 1
...
**實現
from sklearn.feature_extraction.text import countvectorizer
from sklearn.model_selection import train_test_split
from sklearn.metrics import confusion_matrix
from sklearn.*****_bayes import gaussiannb
from nltk.stem.porter import porterstemmer
from nltk.corpus import stopwords
import pandas as pd
import re
dataset = pd.read_csv(
"restaurant_reviews.tsv"
, delimiter=
'\t'
, quoting=3)
corpus =
# import nltk
# nltk.download('stopwords')
for i in
range
(1000):
review = re.sub(
'[^a-za-z]'
,' '
, dataset[
'review'
][i]
)# 將非字母替換成空格
review = review.lower(
)# 將大寫替換成小寫
review = review.split(
) ps = porterstemmer(
) review =
[ps.stem(word)
for word in review if
not word in
set(stopwords.words(
"english"))
]# 清理虛詞, ps.stem(word): 詞根化,比如loved->love
review =
" ".join(review)
# print(review)
cv = countvectorizer(max_features=
1500
)# 取1500個出現次數最多的
x = cv.fit_transform(corpus)
.toarray(
)# 稀疏矩陣轉換
y = dataset.iloc[:,
1].values
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=
0.2, random_state=0)
classifier = gaussiannb(
)classifier = classifier.fit(x_train, y_train)
y_pred = classifier.predict(x_test)
cm = confusion_matrix(y_test, y_pred)
輸出結果:
混淆矩陣結果:
array([[55, 42],
[12, 91]], dtype=int64)
真確率為73% 不是很理想,還算可以 機器學習 深度學習 自然語言處理
文字挖掘 文字分類 機器翻譯 客服系統 複雜對話系統 手工特徵耗時耗力,還不易拓展 自動特徵學習快,方便擴充套件 深度學習提供了一種通用的學習框架,可以用來表示世界,視覺和語言學資訊 深度學習可以無監督學習,也可以監督學習 我 今天 下午 打籃球 p s p w1,w2,w3,w4,w5,wn p ...
機器學習 自然語言處理方向面試
360實習生面試過程 18年2月初去的360面試,這是第一次去大型網際網路公司面試,也只是抱著試試看的念頭,但是年後hr給我打 說我通過了,然後就沒再準備其他公司的,一心等3月多去公司。結果,一直沒等到正式offer的我給公司打 跟我說人招滿了,忘記通知我了。呵呵到無話可說,如果第乙個 告訴我說我沒...
自然語言處理
自然語言處理主要步驟包括 2.詞法分析 對於英文,有詞頭 詞根 詞尾的拆分,名詞 動詞 形容詞 副詞 介詞的定性,多種詞意的選擇。比如diamond,有菱形 棒球場 鑽石3個含義,要根據應用選擇正確的意思。3.語法分析 通過語法樹或其他演算法,分析主語 謂語 賓語 定語 狀語 補語等句子元素。4.語...