このような感情分類 (分析) に関する最新の投稿を読んでいます。
IMDB データセットを例にとると、Doc2Vec を使用しても同様の精度 (88%) が得られますが、特徴抽出にトライグラムを使用した単純な tfidf ベクトライザー (91%) を使用すると、はるかに優れた結果が得られます。これは、 Mikolov の 2015 年の論文の表 2 に似ていると思います。
より大きなデータセットを使用することで、これが変わると思いました。そこで、ここから 1 ミルのトレーニングと 1 ミルのテストの内訳を使用して、実験を再実行しました。残念ながら、その場合、私の tfidf vectoriser 機能抽出メソッドは 93% に増加しましたが、doc2vec は 85% に低下しました。
これが予想されることであり、他の人は大規模なコーパスであっても tfidf が doc2vec よりも優れていると考えているのでしょうか?
私のデータクリーニングは簡単です:
def clean_review(review):
temp = BeautifulSoup(review, "lxml").get_text()
punctuation = """.,?!:;(){}[]"""
for char in punctuation
temp = temp.replace(char, ' ' + char + ' ')
words = " ".join(temp.lower().split()) + "\n"
return words
そして、Doc2Vec モデルに 400 および 1200 の機能を使用してみました。
model = Doc2Vec(min_count=2, window=10, size=model_feat_size, sample=1e-4, negative=5, workers=cores)
私の tfidf vectoriser には最大 40,000 個の機能があります。
vectorizer = TfidfVectorizer(max_features = 40000, ngram_range = (1, 3), sublinear_tf = True)
分類のために、私はいくつかの線形方法を試しましたが、単純なロジスティック回帰でうまくいくことがわかりました...