현재 평점이 높고 많은 영화를 찾고 그에대한 감정분석을 해보기
1. 네이버 영화평 테이블 구성 ( MOVIE_REVIEW)
2. 컬럼명 변경 해 주기
alter table movie_review
rename column 열1 to m_name;
alter table movie_review
rename column 열2 to m_score;
alter table movie_review
rename column 열3 to m_review;
3. 영화 평이 입력된 영화가 몇개인지 출력
select count(distinct(m_name))
from movie_review;
또는
select count(*)
from (
select distinct(m_name)
from movie_review
);
4. 영화별로 별이 10 개 를 몇개 받았는지 갯수를 세고 10점이 많은 순으로 10위까지만 뽑으시오
select *
from (
select m_name, cnt, rank() over (order by cnt desc) ranking
from (
select m_name , count(*)as cnt
from movie_review
where m_score = '10'
group by m_name
)
)
where ranking between 1 and 10 ;
view 만들어서 사용해도 됨
create or replace view m_view
as
select m_name, cnt, rank() over (order by cnt desc) ranking
from (
select m_name , count(*)as cnt
from movie_review
where m_score = '10'
group by m_name);
→ view 생성
select *
from m_view
where ranking between 1 and 10 ;
5. 1등인 모다기슈 영화의 감정분석
긍정단어, 부정단어 한글테이블 생성
positive_kor
negative_kor
6. 영화평을 어절별로 자르기 정규식 함수 SUBSTr 이용
select word
from (
select regexp_substr(m_review , '[^ ]+', 1, a) as word
from movie_review, ( select level as a
from dual
connect by level <= 500
)
where M_name ='모가디슈'
)
where word is not null;
위의결과 VIEW 생성
CREATE OR REPLACE VIEW MOGA_VIEW
AS
select word
from (
select regexp_substr(m_review , '[^ ]+', 1, a) as word
from movie_review, ( select level as a
from dual
connect by level <= 500)
where M_name ='모가디슈'
)
where word is not null;
7. 긍정단어, 부정단어의 개수를 구하기.
select count(*)
from MOGA_VIEW m
where exists (select 'x'
from positive_kor p
where m.word = p.열1 );
→ 긍정단어 572
select count(*)
from MOHA_VIEW m
where exists (select 'x'
from negative_kor n
where m.word = n.열1 );
→ 부정단어 384
결론 : 영화평중 10 점 별점을 가장 많이 받은 영화는 모다기슈 이며 , 해당 영화의 감정분석을 진행해보았을때
긍정적인 단어가 부정적인 단어보다 약 1.5 배 많은 것을 확인 할 수 있으나,
영화평 자체에 써져있는 유행어나, ㅋㅋㅋ , ㅎㅎㅎㅎ, 비속어 등등은
현재 갖고 있는 한국어 긍정,부정 단어 테이블에는 존재 하지 않아 제대로 감정분석이 되었다고 보기는 어렵다.
지금 한국어 긍정 , 부정 단어 테이블의 데이터는 미국의 영어 긍정, 부정 단어 테이블을 구글 번역기로 번역되어진 결과 이므로
만약 제대로된 한국어 긍정, 부정 단어 데이터가 있다면 보다 정확한 감정 분석을 할 수 있을 것이라고 예상되어진다.
'Oracle > SQL 을 이용한 데이터 분석물' 카테고리의 다른 글
SQL 을 이용한 감정분석 (스티브잡스 연설문) (0) | 2021.12.03 |
---|