ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [삼성 SDS Brightics] 개인 분석 프로젝트 : 감정분석 및 분류
    삼성 Brightics 서포터즈 2022. 11. 2. 05:15

     

     

     

    안녕하세요.ㅎㅎ Brightics 서포터즈 3기 정민경입니다.

    저번주에는

    '책 리뷰에는 어떤 단어가 등장할까?'라는

    첫번째 궁금증으로 긍/부정 리뷰를 비교해보았는데요,

     

    감정분석을 이어가보고,

    가져오는데에 성공했었던 다른 dataset을 봤어요.

    더 흥미로운 주제를 이어갈 수 있어서 좋았답니다 :)

     

    그럼 시작할게요!!

     

     


     

    1) Extract Sentimental Words

     

     

    감정어휘를 추출해주는 함수가 Brightics에는 구현되어있어요.

    해당 함수를 위와 같이 실행하면

     

    너무 신기하게도 긍정/부정 어휘가 추출되고 그에 따른 점수가 계산되어요.

    total(총합)부터 avg(평균)까지

     

    얼핏 옆에 있는 긍부정 emotion 라벨링과 비교해보니

    0을 기준으로 양수면 pos, 음수면 nag 인게 느껴지더라고요!

     

     

     

    그래서 모델링으로 train까지는 아니고

    간단하게 if 조건문으로 감정을 예측해보고 정확도를 살폈습니다.

     

     

    약 68% 정도로 맞춘 결과ㅎㅎ

     

    일단 기본적인 감정어휘를 기준으로 했을 때 위와 같았어요.

     

    이제 나아가 저번주에 TF-IDF를 통해

    전반적인 긍부정 도서 리뷰 어휘를 보았잖아요

     

    그 분석을 기반으로 도서 리뷰에 특화된 감정사전,

    즉 어떤 단어가 긍/부정이며 어느정도의 점수(강도)를 가지는지

    구축해두어 적용한다면 더 높은 정확도를 가질 수 있을거에요.

     

    예를 들어, easy(쉽다)와 같은 단어가 긍정리뷰에 자주 등장했으니

    하나의 기준으로써 보다 더 높은 점수를 부과하는거죠!!

     

     

    그게 바로 감정분석을 본격 들어가기 전

    전반적인 어휘양상을 살펴본 이유랍니다 :)

     

     

     

     

     

    2) Correlation

     

    이어서ㅎㅎ

    텍스트만으로 긍/부정을 분류하는 것도 대단하지만,

     

    저는 또 도서의 무엇이 긍부정 평가와 상관이 있을까?

    궁금했어요.

     

    그래서 원래 다루던 dataset이 조금 아쉬웠답니다.

    관련 도서 정보가 부재했거든요.

    그러다 저번주에 좀 더 도서의 정보(줄거리, 장르, 페이지수 등) 많으면서

    rating(평가)까지 볼 수 있는 데이터셋을 로드하는데에 성공했었죠!

     

    https://www.kaggle.com/datasets/bilalyussef/google-books-dataset

     

    Google Books Dataset

    If you are a book lover, you would be interested in this data set.

    www.kaggle.com

     

     

     

     

     
     
    title
    author
    rating
    voters
    price
    description
    publisher
    page
    count
    generes
    IS
    BN
    published
    date
    제목
    작가
    평가
    평가자수
    (독자 수)
    가격
    줄거리
    출판사
    페이지수
    장르

    출판날짜

     

    함께 살펴보았습니다.ㅎㅎ

    그렇게 어쩌면 쓸데없는 호기심,

     

    'page(페이지수)와 rating(평가)가 관계가 있을까?

    price(가격)과 voters(독자수)는 어떤 영향을 줄까?'

     

    알아보고자 correlation을 GO GO 했어요

     

     

    아주 두드러지는 관계는 없어보이죠?

    실제로 p-value가 유효한 상관계수를 보면

    절댓값이 모두 0~0.1 이내에요.

     

    ㅎㅎ재미난 발견을 없었지만

    통계분석은 요런 요상한 질문에서부터 시작한답니다!!

     

     

    ☆★

     

     

     

     

    3) Dynamic Topic Modeling / ANOVA with Turkey's Range Test

     

     

    그리고 예전에 했었던 방법으로

    description(줄거리)을 topic으로 나누어 분류해본 후

     

    주제마다 rating(평가)에 차이가 있을까?

    간단하게 해봤어요.

     

     

    그 결과 ↓↓

    ANOVA에서는 유의수준이 0.0001로 유의하게 나왔고

     

    보면 5번 topic이 다른 주제에 비해

    rating(평가) 낮더라고요!

     

     

    관련 어휘로는

    business, new, work sucess, make, first

    존재해서

     

    아무래도 경제경영, 자기계발서에서 볼 법한 어휘들이죠?

    소설이나 시/에세이와 다르게 감동이 덜 한

    지식적인 분야에서 평점이 낮은걸까 추측해볼 수 있었어요.

     

     

    너무너무 간이하게해본거라

    더 정교하게 간다면

     

    몇 개의 주제를 선정할지, 어떠한 차이가 있는지

    또 출판시기도 나와있으니 흐름별로 나누어서

    보면 더 좋겠죠? (아니, 그렇게 봐야해요!!ㅋㅋ)

     

    그렇지만 개인적으로 계속계속 해봤던 분석과정이라

    더 재밌는걸 해보고싶다는 마음에

    진로를 바꿔보았습니다.

     

     

     

     

    4) Word2vec Modeling

     

    바로바로

    줄거리를 통해 장르 예측하기!!

     

    줄거리와 장르는 연관이 깊을 거라는 가정과 함께

    줄거리를 word2vec을 적용해 단어를 벡터화시킨 후

    train하여 장르를 predict하는 과정을 진행했어요.

     

    자연어처리를 배우면 word2vec 은 무조건 들어보는듯해요

     

    워드임베딩으로

    비슷한 의미의 어휘는 문장에서 비슷한 위치에 등장하기에

    "주변 어휘, 즉 맥락을 보면 단어를 알 수 있다"

    이를 총체적으로 살펴보며 그로써 단어간의 유사성을 표현하는거죠.

     

     


    Review

     

    ^^ 그렇게 진행하던 중..

    노트북 과부하로 오류가 나게되었어요.

     

    ㅠㅠ 요번주 word2vec만이 아니라 doc2vec도 시도하면서

    간단히 'Fiction'을 T/F로 분류할 수 있는지 살펴보고

    정확도 68~72%를 확인했는데요,

     

    노트북이 비밀로 해달라네요(..?)

     

    어여 달래주고

    다음으로 미뤄야할 거 같아요.

     

     


     

    '도서'라는 큰 틀에서 이것저것 분석을 시도해보니

    방향성을 제대로 잡지 않았던만큼

    깊이있게보다 넓게 진행된점이 느껴지더라고요.

     

    Brightics가 구현이 용이하고

    금방 금방 되다보니

     

    자꾸 혼자 이것저것 만져보고

    어, 그럼 이런 것도 할 수 있을까?

    시도해보고 싶어지고

    다른 기능도 궁금하고

     

    (이럼 안되는데)

     

    브라이틱스로 사심채우기...?ㅋㅋ

     

    ㅋㅋ그치만 그덕에 해보고싶었던

    감정분석과 word2vec에 한걸음 다가가서

    뿌듯한 한주였어요!!ㅎㅎ

     

     

    요번주에 마무리짓지 못한게 아쉽지만,

    다음을 기약하며

    노트북의 서운함을 풀어주고 오겠슴니당.ㅎㅎㅎ

     

     

     

     

    ※본 포스팅은 삼성SDS Brightics 서포터즈 3기 활동의 일환으로 작성하였습니다

     

Designed by Tistory.