2017-12-09 24 views
0

나는 most_used_words 데이터 프레임에있는 단어가있는 열을 분석하고 있습니다. 단어로. 2180 개 단어의 i를 AFINN의 어휘와 inner_join(364)가 채점텍스트 분석 있음 inner_join은 R에서 천 단어 이상을 제거합니다

most_used_words 

     word times_used 
     <chr>  <int> 
1 people   70 
2  news   69 
3  fake   68 
4 country   54 
5  media   44 
6  u.s   42 
7 election   40 
8  jobs   37 
9  bad   36 
10 democrats   35 
# ... with 2,170 more rows 

. AFINN 어휘집에있는 단어가 내 데이터 프레임에 나타나지 않기 때문입니까? 그것이 나의 분석에 편향을 도입 할 수있는 경우에 나는 affraid입니다. 다른 어휘를 사용해야합니까? 거기에 다른 일이 있습니까?

library(tidytext) 
library(tidyverse)  

afinn <- get_sentiments("afinn") 

most_used_words %>% 
    inner_join(afinn) 

      word times_used score 
     <chr>  <int> <int> 
    1 fake   68 -3 
    2  bad   36 -3 
    3  win   24  4 
    4 failing   21 -2 
    5 hard   20 -1 
    6 united   19  1 
    7 illegal   17 -3 
    8 cuts   15 -1 
    9 badly   13 -3 
    10 strange   13 -1 
    # ... with 354 more rows 

답변

3
"Is this because the words in the in the AFINN lexicon don't appear in my dataframe?" 

예.

내부 조인은 각 data.frame에서 일치하는 행 (단어) 만 반환합니다. 다른 어휘집을 사용해 볼 수도 있지만 명사에는 도움이되지 않을 수도 있습니다. 명사는 사람, 동물, 장소, 사물 또는 아이디어를 식별합니다. 위의 예에서 "u.s.", "people", "country", "news", "democrats"는 모두 afinn에없는 명사입니다. 이들 중 어느 것도 문맥이없는 정서가 없습니다. 텍스트 분석 세계에 오신 것을 환영합니다.

그러나 출력 결과를 바탕으로 분석 결과에 따르면 단어 열의 정서는 압도적으로 "부정적"이라고 결론을 내릴 수 있다고 생각합니다. "가짜"라는 단어는 다음에 가장 많이 사용되는 단어 인 "나쁜 단어"보다 거의 두 배나 많이 나타납니다.

문장이 모두있는 경우 sentimentr 패키지를 사용하여 컨텍스트를 얻을 수 있습니다. 확인해보십시오.

install.packages("sentimentr") 
library(sentimentr) 
?sentiment 

여기까지 한 작업보다 많은 작업이 필요하며 더 많은 결과가 발생합니다. 그러나 결국 그들은 동일 할 것입니다. 행운을 빕니다.

+0

답장을 보내 주셔서 감사합니다. 중립적이기 때문에 모든 단어가 정서에 어긋나지는 않습니다. 그들은 단순한 정서가 없습니다. 그래서 저는 결론을 내릴 수 있습니다 : 감정이있는 단어에는 x 음수와 x 양수가 있습니다. – Tdebeus

+0

오른쪽. 모든 분석과 마찬가지로, 결론의 정확성은 분석이 얼마나 엄격한 지에 달려 있습니다. 예를 들어, 'sentimentr'패키지는 "나는 기분이 좋지 않다"라는 문장을 부정적인 것으로 식별하는 데 도움이됩니다. 당신이 취한 접근법이 단순히 "좋은"이라는 단어를 긍정적 인 것으로 간주했을 때. 그러나 2180 단어의 칼럼에 대해, 당신의 일은 아마도 충분히 가깝습니다. – Justin

+0

대답을 올바르게 표시하십시오. 고맙습니다 – Justin