Big Data Analysis using RHINO ICEC 2016 HoF-02 Aug. 19(Fri.) 14:00-15:30 Sukjae Choi Research Professor, Humanitas Big Data Research Center
목차 형태소분석 3 RHINO 특징 13 RHINO 이용 18 부록 : Java, Eclipse, R, R Studio 설치 38 2
형태소분석 3
숫자 : 정형데이터 2013년 2014년 2015년 1 18723 27868 42178 2 11485 35232 55369 3 15693 50631 65781 4 20787 42481 34281 5 13428 31051 31541 6 10485 33641 66595 7 15985 70887 77458 8 16652 50074 65481 9 14422 37065 55284 10 15074 31002 57418 11 22481 44841 44865 12 22984 51002 66258 예상할수있는형태 42178 각각의숫자는 0~9 까지의제한된범위에있으면서각각의숫자는의미를갖고있음 정형데이터 4
자연언어 : 비정형데이터 1 점리뷰 10 점리뷰 완전히나에게실망만안겨준영화다... 아름다운우주를기대했건만이건뭐전혀우주의아름다움은커녕, 나올듯나올듯하다가하나도없다 매우레알지루했다...10 분짜리면될내용을늘리고늘리느라매우고생했을듯 나는진짜별로였다. 재미하나도없고원스토리로계속이야기를이어나가는데.. 진짜돈주고본게너무아깝고, 시간낭비다 긴장감과스릴우주에서지구를볼수있는색다른영화베스트 차원이다르다심장터지는줄최고의영화 사람과사람을이어주는관계의힘을앞도적인영상미로표현해낸우주를통해심도깊게풀어낸영화. 예상할수없는형태 긴장감과 각각의음절이 11,172 의큰범위에있으면서대개여러개의음절이모여야의미를형성어떤음절배열이만들어질지예측이어려움 비정형데이터 5
자연언어의분석방법 가능한정형데이터와비슷한형태로만들어야한다 최소의미단위인형태소로분리 6
분석예 [ 예 ] 완전히나에게실망만안겨준영화다... 아름다운우주를기대했건만이건뭐전혀우주의아름다움은커녕, 나올듯나올듯하다가하나도없다 7
완전히 완전히 /MAG 나에게 나 /NP + 에게 /JKB 실망만 실망 /NNG + 만 /JX 안겨준영화다안 /VV + 기 /ETN + 어 /EC + 주 /VV + ㄴ /EP + 영화 /NNG + 다 /EF 아름다운 아름답 /VA + ㄴ /ETM 우주를 우주 /NNG + 를 /JKO 기대했건만 기대 /VV + 하 /VV + 았 /EP + 건만 /EC 이건뭐 이것 /NP + 은 /JX + 뭐 /NP 전혀 전혀 /MAG 우주의 우주 /NNG + 의 /JKG 아름다움은 아름답 /VA + ㅁ /ETN + 은 /JX 커녕 커녕 /JX 나올듯 나오 /VV + ㄹ /ETM + 듯 /EC 나올듯 나오 /VV + ㄹ /ETM + 듯 /EC 하다가 하 /VV + 다가 /EC 하나도없다 하나 /NR + 도 /JX + 없 /VA + 다 /EF 명사 : 실망, 영화, 우주 동사 : 주다, 기대하다, 안기다, 나오다 형용사 : 아름답다, 없다 대명사 : 나, 이것, 뭐 수사 : 하나 부사 : 완전히, 전혀 조사 : 에게, 만, 을, 를, 도, 은, 의 어미 : 기, ㄴ, 다, 건만, 았 8
리뷰문장 완전히나에게실망만안겨준영화다... 아름다운우주를기대했건만이건뭐전혀우주의아름다움은커녕, 나올듯나올듯하다가하나도없다 사용된명사 실망, 영화, 우주 (2) 실망한우주영화 9
품사분석의필요성 품사분석으로형식형태소를제외할필요 이, 가, 은, 는, 정보의양이적음바람, 김, 줄, 법, 적, 실질형태소와구분되어야함 정보량이많은명사류와동사류를확보할필요 수면, 균형, 에너지, 충분하다, 잡히다, 이기다, 둘이상의의미를갖는경우, 맥락에따라분석할필요 맨 ( 맨책뿐, 끈을맨 ), 볼 ( 볼을만지다, ~ 을볼것 ), 밴 ( 아이를밴, 밴을타고 ) 따름 (~ 일따름이다, ~ 을따름 ), 부르다 ( 이름을부르다, 배가부르다 ) 10
형태소분석기 형태소를분리하여의미단위로나눈다 원하는품사 ( 명사, 동사, 부사, ) 만을선택한다 의미구분을상당부분가능하게한다 원하는어휘만을검색 11
활용분야 Keyword Matching: 데이터에서검색어추출 (Web Searching) Topic Modeling: 문서의주제를분류 (Document Classification) Opinion Mining: 특정대상에대한긍정 / 부정여부 (Sentiment Analysis) Word Sense Disambiguation: 단어의의미분석 (Machine Translation) 12
RHINO 특징 13
명료성 분석결과의수가단하나 호환성 정부표준을준수하여호환성이높음 정확성 분석결과의정확도가높음 14
명료성 문맥에맞는단하나의결과만을제시한다 나는 나는 문맥 : 나는학생이다 분석가능한모든경우를제시 나 /NP + 는 /JX 1 A 분석기 나 /ncn+ 는 /jxc 나 /npp+ 는 /jxc 나 /pvg+ 는 /etm 나 /px+ 는 /etm 나 /pvg+ 아 /ecs+ 는 /jxc 나 /pvg+ 아 /ef+ 는 /etm 나 /px+ 아 /ecs+ 는 /jxc 나 /px+ 아 /ef+ 는 /etm 날 /pvg+ 는 /etm 나 /nn+ 는 /jo 나 /np+ 는 /jo 나 /vv+ 는 /em 나 /vx+ 는 /em 날 /vv+ 는 /em B 분석기 9 5 15
호환성 기관별태그의종류 정부 RHINO C 기관 D 기관 45 45 27 63 16
정확성 국내최대 1,200 만어절을수작업으로분석한말뭉치를활용 17
RHINO 이용 18
프로그래밍도구의설치 Java, eclipse, R, R Studio 의설치는 [ 부록 ] 을참고 19
공개버전다운로드 http://sourceforge.net/projects/ koreananalyzer/ Click 20
RHINO 1.4.5 다운로드 Click 21
RHINO 1.4.5 실행 Click 22
실행된 RHINO 의 입력문 창에문장을입력 1 기본분석 [ 분석 ] 2 명사추출 [ 명사추출 ] + [ 분석 ] 3 동사추출 [ 동사추출 ] + [ 분석 ] 4 명사와동사추출 [ 명사추출 ]+[ 동사추출 ]+[ 분석 ] [ 예문 ] 올해 7 월부터 9 월까지주택용전기요금누진제가한시적으로완화된다. 전기를사용하는 2200 만가구전체가약 20%, 총 4200 억원에달하는요금인하효과를볼수있게됐다. 정부와여당은전기요금개편을논의할태스크포스 (TF) 를구성해누진제등전기요금전반에대한중장기대책도마련키로했다. 당정은 11 일오후긴급협의회를열고, 주택용누진제전기요금경감방안을확정했다. 관련기사 6 면 이번방안은누진제각구간별요금은고정하고, 이용할수있는전력사용량을모든구간에서 50 kw h 늘리는것이핵심이다. kw h 당 280.6 원요금이부과되는 4 구간의경우, 기존 301~400 kw h 전력량구간이 351~450 kw h 로확대되는식이다. 정부는이번한시조치로 2200 만가구가 3 개월간총 4200 억원에달하는요금인하효과가발생할것으로내다봤다. 10 만원을내던가구라면 8 만원가량으로 20% 경감되는수준이다. 기본분석결과 23
RHINO 2.5.1 다운로드 Click 24
RHINO 2.0 에서달라진점 1. R에서사용가능 2. 대용량파일처리 3. 복수파일처리 4. 어근처리방식개선 5. 인명 ( 人名 ) 탐지향상 6. 동음이품사어휘처리향상 7. 불규칙변화형처리향상 8. 속도 2배향상 25
RHINO 2.5.1 실행 WORK 폴더내 Click 26
직접입력하여분석 Enter 27
파일분석 WORK/RHINO/_input 폴더에있는파일을분석하여 Enter WORK/RHINO/_output 폴더에결과파일을같은이름으로생성 28
복수파일분석 복수의파일도같은방식으로분석 _input 폴더에있는파일을모두분석함 Enter 29
R 에서분석 WORK 폴더내 Click R 및 R Studio 가설치되어있어야함 30
두군데의경로를자신의컴퓨터에맞게변경해야한다 RHINO 2.5.1 을다운로드받은경로를기초로적절히변경한다 31
본예제를실행하기위해서는 R 패키지인 rjava, RColorBrewer, wordcloud 가필요하다. install.packages(rjava) 명령어로패키지를설치한다 32
전체를 Run 하면 WORK/RHINO/_input 폴더의파일들을분석한다 wordcloud 분석결과가제시된다 RHINO 2.5.1 은 R 과호환되어 R 의다양한기능을사용할수있다 33
결과비교 RHINO 분석결과 기존분석기분석결과 34
이과정에서의형태소분석결과는 result.txt 파일에저장된다. 35
고정되어있는변수.jcall(RHINO, "V", "rhino_rjava", "N") 이부분의옵션을바꿈으로서추출할형태소의종류를바꿀수있다 N: 명사류추출 ( 일반명사, 고유명사, 대명사 ) V: 동사류추출 ( 동사, 형용사, 보조용언, 어근 ) NV: 명사류와동사류추출 36
RHINO 3.0 소개 ( 비공개버전 ) 1. 속도 40 배향상 2. 쉬운사전수정 3. 품사별결과출력 37
[ 부록 ] Java, Eclipse, R, R Studio 설치 38
Java 설치확인 cmd 명령어로명령프롬프트를실행시킨뒤, java version 명령어로자바의버전을확인한다. 확인이되면설치된것이고, 안되면설치가안된것이다 ( 설치가안된경우에는인터넷검색하여 JRE/JDK 설치 ) 39
Java 설치 www.oracle.com 40
Downloads Java SE 41
Java Platform (JDK) Accept License Agreement 42
실행되는지확인 ( 최신버전에서는생략 ) 이부분이보이면 OK 1) 윈도우키 + R 2) cmd 3) javac -version 43
설치가제대로되지않았다면 ( 최신버전에서는생략 ) 제어판 시스템 고급시스템설정 시스템속성 환경변수 버전은현재설치된버전에맞춤 C 드라이브 Program Files 폴더에서 JDK 가설치된위치를찾아위와같은양식으로입력해준다 새로만들기 (W) 클릭 44
다음으로시스템변수의 Path 를아래와같이편집한다 맨마지막부분에 ;%JAVA_HOME%\bin 를그대로입력한다. 45
실행되는지확인 ( 최신버전에서는생략 ) 이부분이보이면 OK 1) 윈도우키 + R 2) cmd 3) javac -version 46
eclipse 설치 47
eclipse 설치 http://www.eclipse.org/ 클릭 48
클릭 49
eclipse installer 를실행시킨다 50
51
경로를설정하고, 아래의체크박스를체크한다 52
welcome 페이지를닫으면작업환경이나온다 ( 만약바로나오지않으면왼쪽의작은창을누른다 ) 53
File New Project Java Project Project name 은 TwitTest 라고한다 File New Project 로들어가서 Java Project 를클릭하여새로운프로젝트를만든다 54
TwitTest 프로젝트폴더에마우스우클릭하여 New Class 를눌러서새로운클래스파일을만든다 처음만들어지는클래스의이름은프로젝트의이름과같게하는것이좋다. 그리고아래의 public static void main을체크한뒤 55 Finish 를클릭
위의그림과같이 System.out.println( Hello World! 안녕하세요! ); 라고입력한뒤, Ctrl-S 를눌러서저장한다. ( 실제로는컴파일하는것으로반드시해야한다 ) 56
상단의화살표아이콘을누르면프로그램이실행된다 그러면하단의 Console 창에결과가출력되는것을볼수있다. 이로써 Java 의설치가온전히끝나게되었다. 57
R 설치 https://cran.r-project.org/ 에들어가서 R 을다운로드받는다 58
59
R Studio 설치 https://www.rstudio.com/products/rstudio/ 에서설치 60
61
R Studio 를기동시키고아래의 Console 창에간단한수식을넣어잘작동하는지본다 62
Thank you Q&A sjchoi@khu.ac.kr 63