1

저는 this과 같은 정서 분류 (분석)에 대한보다 현대적인 게시물을 읽었습니다. 내가 Doc2Vec (88 %), 를 사용하여 유사한 정확도 비율을 얻을 것을 발견 예로서 IMDB 데이터 세트 촬영Doc2Vec은 감정 분석에 적합합니까?

그러나 특징 추출 (91 %) 대한 트라이 그램 간단한 TFIDF의 vectoriser를 사용하여 훨씬 더 나은 결과 . 이것은 Mikolov's 2015 paper의 표 2와 유사하다고 생각합니다.

더 큰 데이터 세트를 사용하면 이것이 바뀔 것이라고 생각했습니다. 그래서 나는 here에서 1mill 훈련과 1 mill 테스트의 분석을 사용하여 실험을 재실행했다. 불행하게도이 경우 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) 

분류를 위해 나는 몇 개의 linear met hods 그러나

답변

2

... OK Mikolov 한 번 게시 예제 코드 (https://groups.google.com/d/msg/word2vec-toolkit/Q49FIrNOQRo/J6KG8mUj45sJ)를 수행하는 단순 로지스틱 회귀를 발견 옵션 -cbow 0 -size 100 -window 10 -negative 5 -hs 0 -sample 1e-4 -threads 40 -binary 0 -iter 20 -min-count 1 -sentence-vectors 1 사용 - gensim에 dm=0, dbow_words=1, size=100, window=10, hs=0, negative=5, sample=1e-4, iter=20, min_count=1, workers=cores 유사 할 것입니다.

내 직감은 최적의 값이 어쩌면 size 어딘가에 100과 400 사이의 작은 window 높은 min_count을 포함하고, 수도,하지만 난 그 실험을 한 이래로 동안이었다.

일괄 처리 된 벡터를 다시 사용하지 않고 기본값 인 passes 매개 변수를 사용하여 최종 모델에서 벡터를 다시 추론하는 데 도움이되는 경우가 있습니다. 그래도 Tfidf와 비슷한 성능으로 수렴 할 수 있습니다. 모두 동일한 단어 기능에 의존하며 데이터는 그다지 많지 않습니다.

문서 - 태그 중 일부가 알려진 곳에 정서를 나타내는 반 감독 접근법으로 가끔 도움이됩니다.

+0

매우 도움이됩니다. 시도해 보겠습니다! 그러나, 컨텍스트를 사용하여 유사한 단어를 추론한다는 개념은 동의어와 반의어를 자연스럽게 섞을 것이라고 생각하십니까? 예를 들어, "이것은 영화입니다.", "이 영화는 좋지 않습니다."-> 좋고 나쁘면 코사인이 높을 것입니다. 이것은 최종 벡터 공간에서 좋고 나쁜 감정이 매우 가깝고 분리/분류하기가 더 어렵다는 것을 의미합니까? –

+0

분포 모델은 종종 반의어가 유사하다고 생각합니다. 그리고 종종 이러한 단어들은 매우 유사합니다 - 서로 다른 하나의 전경 측면을 제외하고는. 이것이 정서 분류에 문제가되는지 아니면 아직 충분한 대비가 있는지는 실험적으로 해결해야합니다. 훈련은 단어 'vec/doc-vecs'에 대해 '좋은'또는 '나쁜'을 예측해야하는 다른 벡터를 유도합니다. – gojomo