文字特徵提取 Doc2Vec

2021-10-03 19:49:36 字數 1641 閱讀 2424

利用詞袋模型從文字中抽取特徵的主要步驟

countvectorizer類實現了上述步驟中的 「tokenzing」 和 「counting」

from sklearn.feature_extraction.text  import countvectorizer

corpus = [ 'this is the first document.',

'this document is the second document.',

'and this is the third one.',

'is this the first document?']

# 列印 token 資訊

print(countvectorizer().fit(corpus).vocabulary_)

# 列印 counting 資訊

print(countvectorizer().fit_transform(corpus).toarray())

tfidftransformer類實現上述步驟中的 「weigthing & normalizing」

from sklearn.feature_extraction.text import tfidftransformer

# 列印加權後的特徵向量資訊

print(tfidftransformer().fit_transform(countvectorizer().fit_transform(corpus).toarray()).toarray())

tfidfvectorizer 包裝了 countvectorizer 與 tfidftransfomer 功能,使用更加便捷

from sklearn.feature_extraction.text import tfidfvectorizer

# 結果與「先使用」 countvectorizer,再使用 tfidftransfomer」 相同

print(tfidfvectorizer().fit_transform(corpus).toarray())

from gensim import corpora

from gensim.models import tfidfmodel

corpus = [doc[:-1].lower().split() for doc in corpus]

# 完成 tokenzing

dictionary = corpora.dictionary(corpus)

print(dictionary.token2id)

# 完成 counting

bow_corpus = [dictionary.doc2bow(doc) for doc in corpus]

print(bow_corpus)

# 完成 weighting & normalizing

# 值為 0 的元素將不顯示

model = tfidfmodel(bow_corpus)

print([model[doc] for doc in bow_corpus])

doc2vec 文件向量

3 doc2vec 總結 4 應用任務 doc2vec 模型的目的 建立文件向量表示 doc2vec 的整體思想 在word2vec的基礎上增加了可訓練句子的矩陣 doc2vec 是無監督學習 模型出自 distributed representations of sentences and doc...

文字特徵提取

注 翻譯自 scikit learn 的 user guide 中關於文字特徵提取部分。文字分析是機器學習的一大應用領域,但是長度不一的字串行是無法直接作為演算法的輸入。為了解決這個問題,scikit learn 提供了幾個常用的文字特徵提取的方法 在這個框架下,特徵和樣本定義為 如此,乙個預料庫可...

word2vec 高效word特徵提取

幾部分,暫時沒有加實驗章節,但其實感覺word2vec一文中實驗還是做了很多任務作的,希望大家有空最好還是看一下 要解決的問題 在神經網路中學習將word對映成連續 高維 向量,其實就是個詞語特徵求取。特點 1.不同於之前的計算cooccurrence次數方法,減少計算量 2.高效 3.可以輕鬆將乙...