|
|
- 민찬 원
- 6 years ago
- Views:
Transcription
1 국립국어원 국어 정보 처리 시스템 경진 대회 발표 자료집 일자 장소 주관 주최 주최 (금) 동아대학교 부민캠퍼스 국제관 4층 세미나실 한국정보과학회 언어공학연구회 국립국어원 주관
2
3 대회일정 등 록 13:00 ~ 13:30 등록및방명록작성, 명찰및발표자료집배부 개회식 사회 차정원교수 개회사박혁로교수 13:30 ~ 13:40 개회식정호성어문연구과장환영사 ( 국립국어원 ) 발표 1부최정도학예연구사좌장 ( 지정분야 : 개체명인식시스템 ) ( 국립국어원 ) 13:40 ~ 14:00 서강알짬개체명인식기이건철, 임지수, 최호정, 권순재, 허윤석, 서정연 ( 서강대학교 ) 14:00 ~ 14:20 단추 (DANCHU) : NER 유홍연, 이호경, 김민철, 고영중 ( 동아대학교 ) 14:20 ~ 14:40 Annie 임재수 14:40 ~ 15:00 KAISER 함영균, 최동호, 최기선 ( 한국과학기술원 ) 15:00 ~ 15:20 WordAngler 김보겸, 강명윤, 민태홍, 이재성 ( 충북대학교 ) 15:20 ~ 15:40 코너 (KoNER) 신유현, 이상구 ( 서울대학교 ) 시연및 BREAK TIME 15:40 ~ 16:00 12 팀시스템시연및 BREAK TIME 발표 2 부 ( 일반분야 ) 16:00 ~ 16:05 16:05 ~ 16:10 16:10 ~ 16:15 16:15 ~ 16:20 16:20 ~ 16:25 16:25 ~ 16:30 심사회의 16:30 ~ 18:00 심사회의 시상식및폐회식 좌장 차정원교수 단추 (DANCHU) 안재현, 윤정민, 김혜민, 박용신, 배경만, 고영중 ( 동아대학교 ) 한국어세줄요약기 summ4riz3 설진석 ( 연세대학교 ) 지도표시및음성녹음 / 재생기능을가진지역어수집및검색 APP 김푸름, 박소현, 심용석, 오승록, 이상호, 이재람, 안동언 ( 전북대학교 ) 문맥기반실시간한국어문장교정시스템박영근, 최재성, 김재민, 이성동, 이현아 ( 금오공과대학교 ) ESPRESSO TOOL 2016 신창욱, 박태호, 박성재, 박다솔, 신영태, 차정원 ( 창원대학교 ) KOMORAN 3.0 신준수, 이승원 (SHINEWARE) 18:00 ~ 18:30 시상식및폐회식 상기일정은일부변동될수도있음. 사회시상심사평 - 지정분야 / 일반분야팀이경진대회당일불참하면일정조정이됨. 차정원교수정호성과장강승식교수 - 3 -
4
5 2016 국어정보처리시스템경진대회 발표자료집 목차 1. 서강알짬개체명인식기 2. 단추 (DANCHU) : NER 3. Annie 4. KAISER 5. WordAngler 6. 코너 (KoNER) 7. 단추 (DANCHU) 8. 한국어세줄요약기 _ summ4riz3. 지도표시및음성녹음 / 재생기능을가진지역어수집및검색 APP' 뭐꼬!?' 10. 문맥기반실시간한국어문장교정시스템 11. ESPRESSO TOOL KOMORAN
6
7 서강알짬개체명인식기 국립국어원 Ⅰ 서강 알짬 개체명 인식기 이건철, 임지수, 최호정, 권순재, 허윤석, 서정연 서강대학교 - 7 -
8
9 서강알짬개체명인식기 례 제 1 장소프트웨어소개 소프트웨어명칭 소프트웨어사용환경 소프트웨어특징 10 제 2 장소프트웨어설치및실행 소프트웨어설치방법 소프트웨어파일구조 주요파일설명 전체구조 소프트웨어실행방법 13 제 3 장소프트웨어기능 프로그램기능 프로그램기능제약 16 제 4 장기타
10 2016 국어정보처리시스템경진대회 소 소개 1.1 소프트웨어명칭 서강알짬개체명인식기 : 알짬이란여럿가운데가장중요한내용이라는뜻의순우리말로, 문장내에서가장중요한내용을분석하여알려준다는의미를담고있다. 1.2 소프트웨어사용환경 - linux ubuntu 실시간가용 RAM 64Gbyte 이상 - Python UTF 소프트웨어특징 서강알짬개체명인식기 는서강대학교자연어처리연구실여름방학인턴쉽프로젝트로서강대학교컴퓨터공학과학부생과석사생이개발한개체명인식기이다. 개체명인식기는어떤문장에서인명, 지명, 기관명같은고유명사개체명을분석하여자동으로찾아주는시스템이다. 개체명은문장에서주어목적어와같이텍스트의의도와관련이깊어, 이를추출하는것은자연어이해에서매우중요한역할을수행한다. 하지만개체명은신조어, 축약어, 방언 ( 사회, 지역 ) 과같은미등록어가많고같은어휘가문맥에따라다른태그로분류되기때문에개체명을학습하기힘들다. 본시스템은다양한자질과알고리즘으로학습한여러학습기를앙상블러닝으로결합하여새로운분류기를구성하였다. 본시스템은 8가지자질과 5가지알고리즘으로 10개의다른분류기를구성하였다. 그리고 MOO 기반의유전자알고리즘으로각분류기의가중치를학습하여, 모델들의가중합으로최종분류기를구축하였다. 이런앙상블러닝을사용하여, 각학습기들은상대적으로분류성능이떨어지는태그를상호보완하게되어전체성능이향상되었다
11 서강알짬개체명인식기
12 2016 국어정보처리시스템경진대회 실행 2.1 소프트웨어설치방법 1. cqasys_alzzam.tar.gz 파일압축을해제한다. 2. module.sh 을실행하여필요한라이브러리를설치한다. 2.2 소프트웨어파일구조 주요파일설명 1 실행파일 cqasys_alzzam.py --- 소프트웨어실행파일 2 데이터파일 - /DNER/deep_ner.py --- LSTM-CRF 태거클래스파일 - /CRF/CRF.py --- CRF 태거클래스파일 - /STRUCTURED/STRUCTURED.py --- Structured Perceptron 태거클래스 파일 - /SSVM/SSVM.py --- MMMN 태거클래스파일 - */DATA/*.dat --- 학습된모델 object파일 3 사전파일 - */gazettee.txt --- 개체명사전 - */thres3.txt --- 기분석사전 - tained_weight --- 학습된가중치정보
13 서강알짬개체명인식기 전체구조 final/ 모음 cqasys_alzzam.py... 실행스크립트 final_classfier.py... 전체분석기코드 DNER/... LSTM-CRF 태거관련소스및모델 CRF/... CRF 태거관련소스및모델모음 STRUCTURED/... Structed Perceptron 태거및모델모음 SSVM/... MMMN 태거및모델모음 DATA/... DBSCAN 클러스터결과및모델모음 2.3 소프트웨어실행 1. cqasys_alzzam.py 스크립트를실행한다. (cqasys_alzzam.py i [ 파일명 ]) 2. result.json 의결과를확인한다
14 2016 국어정보처리시스템경진대회 기능 3.1 프로그램기능 본시스템은입력에대해분석한내용을토대로 8개의자질과 4개의알고리즘으로구성된 8개된하이브리드모델로서, 개체명을분석하며사용한자질은아래와같다. 1. 어휘자질가. 헝태소어휘정보형태소의어휘정보이다. 해당어휘와앞 뒤어휘 (-2 ~ +2) 를선택적으로자질로사용한다. 나. 형태소길이다. 형태소 prefix, postfix 정보해당형태소의접미음절과접두음절정보이다. 2. 통사자질가. 형태소품사정보형태소의품사정보이다. 해당형태소의앞 뒤품사 (-2 ~ +2) 를선택적으로자질로사용한다
15 서강알짬개체명인식기 3. 의미자질가. 개체명사전정보대회측에서제공한개체명사전정보나. 기분석사전정보학습데이터에서 3회이상같은태그가부착되는개체집합다. 워드임베딩대회측에서제공한워드임베딩수행결과라. 워드임베딩클러스터워드임베딩데이터를 DBSCAN 알고리즘으로클러스터링한결과 본시스템에서는아래 4가지알고리즘을기반으로다른자질및파라미터로학습한분류기 6개를사용한다. 1. Conditional Random Fields 1 2. Structured Perceptron 2 3. Max Marginal Markov Networks 3 5. Long Short-Term Memory with Conditional Random Fields 4 또한, 위의 8개의분류기들을 NSGA-Ⅱ 알고리즘을사용하여 Recall과 Precision을 Performance Index로 Multi Objective Optimize하여각분류기의가중치를계산한다. 마지막으로, 계산한가중치를사용하여각모델의결과의가중합으로개체명을인식한다
16 2016 국어정보처리시스템경진대회 3.2 프로그램기능제약 - UTF-8 인코딩환경에서정상적인동작을보장함 - 입 출력양식은주최측에서제공한형식 { "id" : 1, "text" : " 맥스웰방정식 (Maxwell 方程式, ) 은전기와자기의발생, 전기장과자기장, 전하밀도와전류밀도의형성을나타내는 4개의편미분방정식이다.", "morp" : [ {"id" : 0, "lemma" : " 맥스웰 ", "type" : "NNG", "position" : 20}, {"id" : 1, "lemma" : " 방정 ", "type" : "NNG", "position" : 30}, {"id" : 2, "lemma" : " 식 ", "type" : "NNG", "position" : 36}, {"id" : 3, "lemma" : "(", "type" : "SS", "position" : 3}, {"id" : 4, "lemma" : "Maxwell", "type" : "SL", "position" : 40}, {"id" : 5, "lemma" : " 方程式 ", "type" : "SH", "position" : 47}, {"id" : 6, "lemma" : ",", "type" : "SP", "position" : 56}, {"id" : 7, "lemma" : ")", "type" : "SS", "position" : 58}, {"id" : 8, "lemma" : " 은 ", "type" : "JX", "position" : 5}, {"id" :, "lemma" : " 전기 ", "type" : "NNG", "position" : 63}, {"id" : 10, "lemma" : " 와 ", "type" : "JC", "position" : 6}, {"id" : 11, "lemma" : " 자기 ", "type" : "NP", "position" : 73}, {"id" : 12, "lemma" : " 의 ", "type" : "JKG", "position" : 7}, {"id" : 13, "lemma" : " 발생 ", "type" : "NNG", "position" : 83}, {"id" : 14, "lemma" : ",", "type" : "SP", "position" : 8}, {"id" : 15, "lemma" : " 전기 ", "type" : "NNG", "position" : 1}, {"id" : 16, "lemma" : " 장 ", "type" : "XSN", "position" : 7}, {"id" : 17, "lemma" : " 과 ", "type" : "JC", "position" : 100}, {"id" : 18, "lemma" : " 자기 ", "type" : "NNG", "position" : 104}, {"id" : 1, "lemma" : " 장 ", "type" : "XSN", "position" : 110}, {"id" : 20, "lemma" : ",", "type" : "SP", "position" : 113}, {"id" : 21, "lemma" : " 전하 ", "type" : "NNG", "position" : 115}, {"id" : 22, "lemma" : " 밀도 ", "type" : "NNG", "position" : 122}, {"id" : 23, "lemma" : " 와 ", "type" : "JC", "position" : 128}, {"id" : 24, "lemma" : " 전류 ", "type" : "NNG", "position" : 132}, {"id" : 25, "lemma" : " 밀도 ", "type" : "NNG", "position" : 13}, {"id" : 26, "lemma" : " 의 ", "type" : "JKG", "position" : 145}, {"id" : 27, "lemma" : " 형성 ", "type" : "NNG", "position" : 14}, {"id" : 28, "lemma" : " 을 ", "type" : "JKO", "position" : 155}, {"id" : 2, "lemma" : " 나타내 ", "type" : "VV", "position" : 15}, {"id" : 30, "lemma" : " 는 ", "type" : "ETM", "position" : 168}, {"id" : 31, "lemma" : "4", "type" : "SN", "position" : 172}, {"id" : 32, "lemma" : " 개 ", "type" : "NNB", "position" : 173}, {"id" : 33, "lemma" : " 의 ", "type" : "JKG", "position" : 176}, {"id" : 34, "lemma" : " 편미분 ", "type" : "NNG", "position" : 180}, {"id" : 35, "lemma" : " 방정 ", "type" : "NNG", "position" : 10}, {"id" : 36, "lemma" : " 식 ", "type" : "NNG", "position" : 16}, {"id" : 37, "lemma" : " 이 ", "type" : "VCP", "position" : 1}, {"id" : 38, "lemma" : " 다 ", "type" : "EF", "position" : 202}, {"id" : 3, "lemma" : ".", "type" : "SF", "position" : 205} ],
17 서강알짬개체명인식기 }, "word" : [ ], "NE" : [ ], {"id" : 0, "text" : " 맥스웰 ", "type" : "", "begin" : 0, "end" : 0}, {"id" : 1, "text" : " 방정식 (Maxwell 方程式,", "type" : "", "begin" : 1, "end" : 6}, {"id" : 2, "text" : ") 은 ", "type" : "", "begin" : 7, "end" : 8}, {"id" : 3, "text" : " 전기와 ", "type" : "", "begin" :, "end" : 10}, {"id" : 4, "text" : " 자기의 ", "type" : "", "begin" : 11, "end" : 12}, {"id" : 5, "text" : " 발생,", "type" : "", "begin" : 13, "end" : 14}, {"id" : 6, "text" : " 전기장과 ", "type" : "", "begin" : 15, "end" : 17}, {"id" : 7, "text" : " 자기장,", "type" : "", "begin" : 18, "end" : 20}, {"id" : 8, "text" : " 전하 ", "type" : "", "begin" : 21, "end" : 21}, {"id" :, "text" : " 밀도와 ", "type" : "", "begin" : 22, "end" : 23}, {"id" : 10, "text" : " 전류 ", "type" : "", "begin" : 24, "end" : 24}, {"id" : 11, "text" : " 밀도의 ", "type" : "", "begin" : 25, "end" : 26}, {"id" : 12, "text" : " 형성을 ", "type" : "", "begin" : 27, "end" : 28}, {"id" : 13, "text" : " 나타내는 ", "type" : "", "begin" : 2, "end" : 30}, {"id" : 14, "text" : "4개의", "type" : "", "begin" : 31, "end" : 33}, {"id" : 15, "text" : " 편미분 ", "type" : "", "begin" : 34, "end" : 34}, {"id" : 16, "text" : " 방정식이다.", "type" : "", "begin" : 35, "end" : 3} {"id" : 0, "text" : " 맥스웰 ", "type" : "PS_NAME", "begin" : 0, "end" : 0,}, {"id" : 1, "text" : "Maxwell 方程式 ", "type" : "OGG_BUSINESS", "begin" : 4, "end" : 5}, {"id" : 2, "text" : "4개", "type" : "QT_COUNT", "begin" : 31, "end" : 32}
18 2016 국어정보처리시스템경진대회 기타 학습기의성능및결과는아래와같다 (Dev set기준 ). 각학습기의성능에비해단순 Voting으로도성능이상당히향상되는것을볼수있다. 또한 Weighted Voting 결과는 ~ 로이전보다매우높은성능을보이는것을볼수있다. 다만, 이는 dev set에서의결과이므로 training set에서실험을진행할것이다. 모델 성능 LSTM-CRFs_ LSTM-CRFs_ CRFs_ MMMN_ MMMN_ Structed_Perceptron_ Voting 85.6 Weighted Voting 88.xx
19 단추 (DANCHU) : NER 국립국어원 Ⅰ 단추 (DANCHU) : NER 유홍연, 이호경, 김민철, 고영중 동아대학교 - 1 -
20
21 단추 (DANCHU) : NER 례 제 1 장소프트웨어소개 소프트웨어명칭 소프트웨어사용환경 소프트웨어특징 22 제 2 장소프트웨어설치및실행 소프트웨어설치방법 소프트웨어파일구조 주요파일설명 전체구조 소프트웨어실행방법 26 제 3 장소프트웨어기능 bi-lstm-crfs 모델 Recurrent Neural Networks(RNN) Long Short-term Memory(LSTM) bidirectional LSTM CRFs(bi-LSTM-CRFs) 단어표상확장 단어임베딩벡터 품사자질벡터 음절기반단어임베딩벡터 개체명사전자질벡터 전체구성도 33 제 4 장실험 실험환경 단어임베딩벡터실험 품사자질벡터실험 음절기반단어임베딩벡터실험 개체명사전자질벡터실험 최종실험결과비교 36 제 5 장참고문헌
22 2016 국어정보처리시스템경진대회 소 소개 1.1 소프트웨어명칭 Ÿ 단추 (DANCHU) : NER 동아대학교지능형시스템실험실의한국어언어분석기통합시스템인단추 (DANCHU) 의두번째모델인개체명인식기를말한다. 1.2 소프트웨어사용환경 Ÿ 운영체제 : Ubuntu LTS 64bit Ÿ CPU : i GHz Ÿ 메모리 : 8GB Ÿ 사용언어 : python Ÿ 라이브러리 : TensorFlow 0.1.rc0 이상 ( TensorFlow 0.1 rc0 이하의버전에서는본시스템이동작하지않을수있습니다.) Ÿ 실행환경 : 터미널 Ÿ 텍스트인코딩 : UTF 소프트웨어특징 개체명 (Named Entity) 이란문서내에서인명, 기관명, 지명, 시간, 날짜등고유한의미를가지는단어를말한다. 이러한개체명을문서로부터추출하여개체명의종류를결정하는것이개체명인식 (Named Entity Recognition) 이다. 최근개체명인식연구에서는순차레이블링 (Sequence Labeling) 에특화된 Long Short-Term Memory(LSTM) 기반의 bidirectional LSTM Conditional Random Fields(bi-LSTM-CRFs) 모델이가장우수한성능을보이고있다. LSTM 기반의모델은각단어를잘표현하는단어임베딩벡터 (word embedding vector) 를입력으로받기때문에, 단어표상 (word representation) 에의존적이다. 따라서이러한단어표상을잘만들기위한많은연구들이진행되고있다. 대표적인방법으로는대량의말뭉치를이용하여사전학습된 (pretrained) 단어임베딩벡터를활용하거나, 단어를구성하고있는문자들의임베딩벡터로부터단어임베딩벡터를유도해내는방법들이연구되고있다
23 단추 (DANCHU) : NER 본시스템에서는한국어개체명인식을위하여 bi-lstm-crfs를이용하고, 그입력으로사용되는단어표상을확장하기위해사전학습된단어임베딩벡터, 품사자질벡터, 개체명사전자질벡터, 그리고음절기반에서확장된단어임베딩벡터를사용한다. 음절단위에서단어로확장하기위한음절임베딩벡터입력으로는학습데이터에서나온개체명분포정보를벡터로만들어사용하였다
24 2016 국어정보처리시스템경진대회 실행 2.1 소프트웨어설치방법 Ÿ TensorFlow 설치 (CPU 사용버전 ) - pip Installation - 우분투터미널창에서아래와같은명령어수행 - sudo apt-get install python-pip python-dev 예 ) - TensorFlow URL 확인 ( 버전확인필수 ) 예 ) - sudo pip install --upgrade $URL 예 ) - 동작확인 - python 을통해서확인 - import tensorflow as tf 을통해서확인 예 ) - TensorFlow 업그레이드 ( 기존의 TensorFlow가 이상인경우 ) - sudo pip install upgrade $URL
25 단추 (DANCHU) : NER ( 기존의버전이 미만인경우에는 pip uninstall tensorflow 를통해 삭제후원하는버전의 TesorFlow 재설치 ) 예 ) 2.2 소프트웨어파일구조 주요파일설명 1 실행파일 - 실행파일 : klp2016_islab/bi_lstm_crf/test.pyc 2 데이터파일 - 워드임베딩 : klp2016_islab/word_embeddings/wikicorpus_word2vector.hr - 음절임베딩 : klp2016_islab/word_embeddings/wikicorpus_word2vector_uni_avg.hr - 음절분포임베딩 : klp2016_islab/word_embeddings/bi_ne_norm_not_soft.txt 3 사전파일 - 개체명사전폴더 : klp2016_islab/distribution2016/gazet/ 4 결과파일 - 결과 json 파일 : klp2016_islab/result/result.json
26 2016 국어정보처리시스템경진대회 전체구조 klp2016_islab/... 시스템폴더 bi_lstm_crf/... 소스파일폴더 cqasys_test.pyc... 시스템실행파일 corpus/... 말뭉치폴더 distribution2016/... json관련폴더 ( 경진대회배포 ) result/... 최종결과폴더 (result.json) word_embeddings/... 워드임베딩관련폴더 2.3 소프트웨어실행 Ÿ 터미널에서 /klp2016_islab/bi_lstm_crf로이동 Ÿ python cqasys_test.pyc --test test.json_path 명령어로실행 python test.pyc로시스템동작 -- test 옵션, 테스트데이터 json의경로 test.json_path 경진대회에서제공하는테스트데이터 json의경로 Ÿ /klp2016_islab/bi-lstm-crf/result/result.json 으로결과확인
27 단추 (DANCHU) : NER 기능 이장에서는한국어개체명인식을위해본시스템에서사용한학습모델과단어표상확장방법에대해자세히설명하고, 그에따른타당성을입증하기위해제 4 장에서실험결과를보인다. 3.1 bi-lstm-crfs 모델 Recurrent Neural Networks(RNN) 그림 18. Recurrent Neural Networks 모델 그림 1 에서보이는것처럼 RNN 은단어열 을입력계층에서 입력으로받고, 그입력은은닉계층 을거쳐입력을잘표현하는 벡터 로 출력계층에서출력된다. RNN 구조를아래와같은 식으로정의할수있고, 아래식에서 는각계층의 weight 행렬이다. RNN은위의수식과그림 1에서알수있듯이이전상태를다음상태로계속전달하는모델이다. 따라서이론상으로는이전상태를기억하여장기의존성 (long-range dependencies) 을다룰수있다. 하지만실제적으로위치상멀리있는정보를많이잃어버리는문제인그래디언트소멸문제 (Vanishing gradient problem) 가존재하기때문에장기의존성을유지할수없는문제점이있다
28 2016 국어정보처리시스템경진대회 Long Short-term Memory(LSTM) LSTM은 RNN의그래디언트소멸문제를해결하여장기의존성을잘학습할수있는특별한모델이다. 이문제를해결하기위하여 LSTM에서는 RNN의은닉계층노드에 3개의 gate(input, output, forget) 와 1개의 memory cell을이용한다. LSTM의 memory cell은전체적인상태를기억하여다음상태로전달하는역할을한다. forget gate를이용하여 cell의상태에서어떤정보를제거할지결정하고, input gate로 cell에서어떤정보를갱신할지결정한다. 마지막으로 output gate를이용하여 cell의어떤정보를전달할지결정하여장기의존성을유지한다. 본시스템에서는 forget gate를사용하지않았다. LSTM 구조의전체적인수식은다음과같다. 위식에서 는각각 input gate, memory cell, output gate, hidden state 이다. 그리고 는 element-wise product 이며, 는 weight 행렬을 는 bias 를나타낸다
29 단추 (DANCHU) : NER bidirectional LSTM CRFs(bi-LSTM-CRFs) 그림 1. bidirectional LSTM CRFs 모델 bi-lstm-crfs는그림 2에서보이는것과같이 LSTM에입력문자열을양방향으로받아서각단어별로은닉계층의결과를얻고, 그결과간의의존성을추가한모델이다. 본시스템에서는 bi-lstm-crfs를이용하여한국어개체명인식을한다. 3.2 단어표상확장 LSTM 기반의모델은각단어의임베딩벡터를입력으로받기때문에단어표상에의존적이다. 따라서그림 3과같이사전학습된단어임베딩벡터, 품사자질벡터, 음절기반단어임베딩벡터, 개체명사전자질벡터를사용하여단어표상을확장한다. 그림 20. 확장된단어표상 - 2 -
30 2016 국어정보처리시스템경진대회 단어임베딩벡터 대부분의개체명은미등록어이기때문에학습데이터에나오지않은개체명을잘분류하는것은한계가있다. 따라서개체명인식에서는대량의말뭉치에서사전학습된단어임베딩벡터를활용하여단어의집합을확장하는것이중요하다. 본시스템에서는대회주최측에서제공한사전학습된단어임베딩벡터를사용하였다. 제공된사전학습된단어임베딩벡터의차원은 50이며, 단어의단위는형태소와품사태그가결합된형태이다. 예를들면아래와같다. Ÿ 단어 : 타자, 는, 이대호 Ÿ 임베딩단위 : 타자 /NNG, 는 /JX, 이대호 /NNP 품사자질벡터 개체명인식에서는품사정보또한중요한역할을하기때문에품사자질을활용하는것이중요하다. 본시스템에서는현재품사정보를표현하기위하여 46차원으로이루어진 one-hot 벡터를사용하여단어표상을확장하였다. 현재품사가 NNP 일때 one-hot 벡터의예를들면표 1과같다. 표 1. 품사 NNP 에대한 one-hot 벡터 NNG NNP NNB VV... JKS JKO JKB SN 음절기반단어임베딩벡터 음절기반단어임베딩벡터란각단어를표현하기위해음절단위의임베딩벡터를기반으로단어단위의임베딩벡터로확장한벡터를말한다. 단어는음절의시퀀스이기때문에음절단위임베딩벡터의확장은단어를표현하기에적합하다. 본시스템에서는단어를확장하기위하여그림 4에서보이는것과같이 bidirectional LSTM을이용하고, forward의마지막상태와 backward의마지막상태를결합하여단어단위임베딩벡터로사용하였다
31 단추 (DANCHU) : NER 그림 21. 음절기반단어임베딩벡터를위한 bi-lstm 입력되는음절임베딩벡터로는음절별로각개체명태그별분포를벡터로만들어서사용하였다. 그결과로만들어진벡터는 11차원을가진다 ( 개체명태그 5개 * BI정보 2개 + O 태그 1개 = 11). 예를들어 타자 /O 는 /O 단연 /O 이대호 /B-PS 문장에서각음절에대응되는음절임베딩벡터는표 4과같다. 표 4의값들은지면상반올림하여표기하였다. 타 자 는 단 연 이 대 호 표 4. 음절단위개체명분포벡터 B I PS OG LC DT TI PS OG LC DT TI O
32 2016 국어정보처리시스템경진대회 개체명사전자질벡터본시스템에서는개체명사전정보를자질로사용하여단어표상을확장한다. 단어표상을확장하기위한개체명사전은대회주최측으로부터전달받은사전을사용하였고, 학습데이터에서출현한개체명들을추가로사용하여개체명사전을확장하였다. 또한개체명사전자질벡터의차원으로는개체명카테고리수인 5차원을사용하였다. 개체명사전정보를자질벡터로표현하기위하여현재단어가개체명사전에있으면 1 없으면 0으로각카테고리별로표현하였다. 개체명사전이표 5와같을때, 단어 이대호 의개체명사전자질벡터의예는표 6과같다. 표 5. 개체명사전예 개체명이민호이대호... 6개월 6년간... 개체명태그 PS PS... DT DT... 표 6. 이대호 의사전자질벡터 PS LC OG TI DT
33 단추 (DANCHU) : NER 3.3 전체구성도 본시스템에서제안하는한국어개체명인식에사용되는 bi-lstm-crfs 의 전체구성도는그림 5 와같다. 그림 22. 확장된단어표상을이용한전체구성도
34 2016 국어정보처리시스템경진대회 실험 4.1 실험환경 한국어개체명인식에서단어표상확장방법의성능평가를위해 bi-lstm-crfs를 TensorFlow로구현하여사용하였다. 또한개체명인식모델학습을위해국어경진대회주최측에서배포한학습데이터 3,555 문장과개발데이터 501 문장을사용하였다. 4.2 단어임베딩벡터실험 단어임베딩벡터실험에서는단어의차원을 50으로하였고, 제공된사전학습된단어임베딩벡터를사용하였다. 단어임베딩벡터를랜덤으로초기화한실험보다사전학습된임베딩벡터를사용한실험의성능이 5% 높았다. 표 7. 단어임베딩벡터실험결과 (F1) Dev random 71.0 pretrain 품사자질벡터실험 품사자질벡터실험에서는품사자질벡터를 one-hot 벡터로추가하는것이좋은자질이될수있음을보인다. 사전학습된단어임베딩벡터를단독으로사용한실험대비품사자질벡터를추가한실험이 2.3% 증가하였다. 표 8. 품사자질벡터실험결과 (F1) Dev pretrain 76.0 pretrain + pos
35 단추 (DANCHU) : NER 4.4 음절기반단어임베딩벡터실험 음절기반단어임베딩벡터실험에서는음절입력을랜덤벡터, 사전학습된음절임베딩벡터, 그리고사전학습된음절임베딩벡터와음절단위개체명분포임베딩벡터를결합한벡터로실험을진행하였다. 랜덤벡터와사전학습된음절임베딩벡터는 50차원을사용하였고, 음절단위개체명분포임베딩벡터는 11차원을사용하였다. 사전학습된음절임베딩벡터로는대회주최측으로부터제공받은사전학습된형태소단위단어임베딩벡터중 1음절인경우를음절단위임베딩벡터로보고매칭하여사용하였다. 그결과랜덤으로입력한것보다사전학습된음절임베딩벡터와음절단위개체명분포벡터를결합한성능이 0.82% 향상하였고, 사전학습임베딩벡터와품사자질벡터만사용한실험보다 0.7% 증가하였다. 표. 음절기반단어임베딩벡터실험결과 (F1) Dev pretrain + pos 7.02 pretrain + pos + charlstm(random) 7.17 pretrain + pos + charlstm(pretrain) 7.44 pretrain + pos + charlstm(pretrain + distribution) 개체명사전자질벡터실험개체명사전자질벡터실험에서는개체명사전의정보를활용하여자질벡터로추가하는것이좋은자질임을보인다. 개체명사전자질벡터를추가한결과음절기반단어임베딩벡터실험보다 2.76% 증가한 82.75% 로가장높은성능을보였다. 표 10. 개체명사전자질벡터실험결과 (F1) Dev pretrain + pos + charlstm(pretrain + distribution) 7. pretrain + pos + charlstm(pretrain + distribution) + NE dictionary
36 2016 국어정보처리시스템경진대회 4.6 최종실험결과비교최종실험결과로는총네종류의실험중가장높은성능을모아서비교한다. 결과적으로사전학습된단어임베딩벡터만을사용한실험대비품사자질벡터와음절기반단어임베딩벡터, 그리고개체명사전자질벡터를추가한실험의성능이 6.66% 증가하였다. 표 11. 최종실험결과비교 (F1) Dev pretrain 76.0 pretrain + pos 7.02 pretrain + pos + charlstm(pretrain + distribution) 7. pretrain + pos + charlstm(pretrain + distribution) + NE dictionary 참고문헌 1. 유홍연, 고영중, 품사임베딩과음절단위개체명분포기반의 Bidirectional LSTM CRFs 를이용한개체명인식, 2016 HCLT 심사발표예정
37 Annie 국립국어원 Ⅰ Annie 임재수 개인참가
38
39 Annie 례 제 1 장소프트웨어소개 소프트웨어명칭 소프트웨어사용환경 소프트웨어특징 41 제 2 장소프트웨어설치및실행 소프트웨어설치방법 다운로드에의한방법 git clone에의한방법 소프트웨어파일구조 주요파일설명 전체구조 소프트웨어실행방법 44 제 3 장소프트웨어기능 프로그램기능 성능평가 모델학습 프로그램기능제약 47 제 4 장기타 CRF 자질 SVM 자질 성능평가
40 2016 국어정보처리시스템경진대회 소 소개 1.1 소프트웨어명칭 Ÿ Annie 는개체명을뜻하는 Named Entity, 줄여서 NE라고부르는발음유사성을이용한일종의유희적이름입니다. Ÿ ( 제옆자리에앉아있는사람의이름이라고절대밝힐수없습니다.) Ÿ 본소프트웨어를개발하게된동기는오픈소스시대에걸맞게기존의소프트웨어를조합하여빠르게아이디어를실현하는것이가능한지를실험해보는것이었습니다. 1.2 소프트웨어사용환경 Ÿ 지원 OS: Linux, Mac OS Ÿ 권장메모리 : 4GB 이상 Ÿ 사용언어 : Python Ÿ 실행환경 : Python 2.6 혹은 2.7 Ÿ 텍스트인코딩 : UTF-8 Ÿ 의존패키지 - CRFsuite author: Naoaki Okazaki title: CRFsuite: a fast implementation of Conditional Random Fields (CRFs) year: 2007 url: - libsvm author: Chang, Chih-Chung and Lin, Chih-Jen title: LIBSVM: A library for support vector machines journal: ACM Transactions on Intelligent Systems and Technology volume: 2 issue: 3 pages: 27:1--27:27 year: 2011 url: - scikit-learn title: Machine Learning in Python url:
41 Annie 1.3 소프트웨어특징 Ÿ 본소프트웨어는순수하게 Python 언어로구현되어있어구현이간단하고이해하기쉬워수정이용이합니다. Ÿ Python 프로그램의소스코드는 PEP8 1 스타일가이드를준수합니다. Ÿ 또한처음개발을시작할때부터 GitHub에소스및개발과정 ( 이슈 ) 이공개되어누구나재현해볼수있습니다
42 2016 국어정보처리시스템경진대회 실행 2.1 소프트웨어설치방법 다운로드에의한방법 Ÿ 배포페이지 1 에서원하는버전을다운로드받습니다. $ wget Ÿ 압축을풀면 annie-$version 디렉토리가생성됩니다. ( 문서를작성하는 시점의최신버전은 0.5 입니다.) $ tar -xzf 0.5.tar.gz git clone 에의한방법 Ÿ 최신소스코드를설치하고자한다면다음과같이 `git clone` 명령을수행 합니다. $ git clone 소프트웨어파일구조 주요파일설명 Ÿ JSON 포맷의입력파일을받아들여역시 JSON 포맷으로개체명을인식하는일련의과정을한번에진행하는스크립트와, 이스크립트의실행에필요한디렉토리는다음과같습니다. - cqasys_annie.bash: 일괄실행스크립트 - bin/: 각종단계별실행스크립트 / 바이너리프로그램 json2feat.py: JSON 포맷으로부터 CRF 자질을추출하는프로그램 crfsuite.linux: CRFsuite 태깅및학습을위한실행바이너리
43 Annie iob2json.py: IBO2 태깅된결과로부터 JSON 포맷을생성하는프로그램 tag_ps.py: 3 음절인명을추가적으로태깅하는프로그램 - env/: Python 의존패키지 venv_annie.tar.gz: Python virtualenv 환경 (Cent OS 6.6 x64) - lib/: 실행스크립트가참조하는라이브러리 - rsc/: 실행에필요한리소스 crf.model.gz: CRF 모델 최초실행시 crf.model 파일로압축해제 gazette.annie: train 코퍼스와기배포된 gazette 를병합해구축한개체명사전 nusvc_model.pkl: SVM 모델파일 word2vec.pkl.gz: 기배포된 wikicorpus_word2vector.hr 파일을가공한파일 최초실행시 word2vec.pkl 파일로압축해제 전체구조 annie/ bin/ baseline.py build_gazette.py crfsuite.darwin crfsuite.linux eval.py index_word2vec.py iob2json.py json2feat.py tag_ps.py env/ requirements.txt venv_annie.tar.gz lib/ feature.py gazette.py getopts.py
44 2016 국어정보처리시스템경진대회 sentence.py word2vec.py notebook/ NNP+NNG_2+3.ipynb README.md ps_classifier.ipynb ps_histogram.ipynb rsc/ crf.model.gz gazette.annie nusvc_model.pkl word2vec.pkl.gz README.md cqasys_annie.bash user_manual.md 2.3 소프트웨어실행방법 Ÿ 아래와같이스크립트를실행합니다. $./cqasys_annie.bash -i dev.json 0) setting environments 1) convert JSON input to CRF feature 2) tag with CRF model 3) convert IOB2 to JSON WARNING:root:I- category is different from B- WARNING:root:I- category is different from B- WARNING:root:I- category is different from B- 4) tag PS NEs
45 Annie Ÿ 출력파일을따로지정하지않으면 `result.json` 파일이출력됩니다. Ÿ `cqasys_annie.bash` 스크립트의사용법은아래와같습니다. $./cqasys_annie.bash --help Usage: cqasys_annie.bash [options] Options: -h, --help show this help message and exit -i FILE input file --rsc-dir=dir resource dir <default:./rsc> --output=file output file <default: result.json> Ÿ 스크립트내부적으로다음절차에따라진행됩니다. 1. python 의존패키지 ( 가상환경 ) 를 `/tmp/venv_annie` 에압축을풉니다. ( 최초에한번만수행됩니다.) 2. JSON 입력파일로부터 CRF 자질을추출합니다. 3. CRFsuite 실행파일과 CRF 모델을이용하여개체명인식을수행합니다. 4. 개체명을태깅한 IOB2 출력과입력 JSON 파일을이용해출력형태를 JSON 포맷으로만듭니다. 5. scikit-learn 패키지와 SVM 모델을이용해 3 음절인명을추가로태깅합니다
46 기능 3.1 프로그램기능 Ÿ 이하 Python 프로그램을개별적으로실행하려면먼저다음과같이환경 변수를지정해라이브러리의위치를설정해줍니다. $ export PYTHONPATH=`pwd`/lib 성능평가 Ÿ 시스템에의해자동으로태깅한 JSON 파일과정답 JSON 파일을비교하여 다음과같이 precision/recall 을측정할수있습니다. $ bin/eval.py -g dev.json --input=result.json 모델학습 Ÿ 기배포된 `gazzete` 파일과 `train.json` 파일을병합해새로운사전파일을 생성합니다. $ bin/build_gazette.py -g gazette -c train.json --output=./rsc/gazette.annie Ÿ `train.json` 파일을이용해 CRF 모델학습을위한자질포맷으로출력합니다. $ bin/json2feat.py -g./rsc/gazzete.annie --input=train.json --output=train.crffeat Ÿ 자질로표현된파일을이용해 CRF 모델을학습합니다. $ bin/crfsuite.`uname` learn -m./rsc/crf.model train.crffeat
47 Annie Ÿ 기배포된 word2vec 파일 `wikicorpus_word2vector.hr` 를인덱싱합니다. $ bin/index_word2vec.py -o./rsc/wod2vec.pkl --input=wikicorpus_word2vector.hr Ÿ scikit-learn 사용을위해아래패키지를설치합니다. scikit-learn: v numpy: v1.6.1 scipy: v0..0 Ÿ Python 패키지설치프로그램인 `pip`를이용해아래와같이한번에설치합니다. $ pip install -r env/requirements.txt Ÿ 혹은 `virtualenv` 가설치되어있는 Cent OS 6.6 x86 리눅스시스템에서는 아래와같이압축을풀고가상환경에진입합니다. $ tar -C /tmp -xzf /path/to/annie/env/venv_annie.tar.gz $ source /tmp/venv_annie/bin/activate Ÿ scikit-learn 패키지가설치되었다면, 마지막으로 `notebook/ps_classifier.ipynb` 파일을 Jupyter Notebook 1 을이용해실행합니다. `rsc/` 디렉토리아래 SVM 모델파일 `nusvc_model.pkl` 이생성됩니다. 3.2 프로그램기능제약 Ÿ 본프로그램은 Cent OS 6.6 x64 리눅스환경에맞춰져있습니다
48 2016 국어정보처리시스템경진대회 기타 4.1 CRF 자질 Ÿ CRF 학습을위해 -2 ~ +2 위치의 5개형태소를기반으로아래의자질을사용했습니다. - lemma, lemma bigram - pos tag, tag bigram, tag trigran - gazzete 사전매칭 IOB2 태그및그 bigram, trigram - 1, 2음절 prefix/suffix - 형태소의길이는단독이아니라아래의조합만사용했습니다. gazette 사전매칭 + 길이 1, 2음절 prefix/suffix + 길이 - lexical form(pattern) 한글 -> ' 가 ', 한자 -> ' 漢 ', 영문 -> 'A', 숫자 -> '0', 기호 -> '.' - begin/end of sentence - begin/middle/end of word( 어절 ) - 이전어절의마지막형태소, 다음어절의첫형태소및그결합 4.2 SVM 자질 Ÿ CRF 학습후인명의재현율이다소떨어지는데착안하여 3음절 NNP 품사를갖는단일형태소에대해별도의인명분류기를학습했습니다. Ÿ SVM 학습을위해 -2 ~ +2 위치의기배포된형태소 embedding 벡터 (50 x 5 = 250차원 ) 를사용했습니다. 4.3 성능평가 Ÿ `train.json` 파일을이용해학습한후 `dev.json` 파일에측정한최종성능은 아래와같습니다. ======== DT ======== # of NEs in gold standard: 316 # of NEs in test file : 304 # of NEs in both(matched): 276 Precision: 7 Recall: F1-score:
49 Annie ======== LC ======== # of NEs in gold standard: 238 # of NEs in test file : 285 # of NEs in both(matched): 216 Precision: Recall: 76 F1-score: ======== OG ======== # of NEs in gold standard: 412 # of NEs in test file : 327 # of NEs in both(matched): 285 Precision: Recall: F1-score: ======== PS ======== # of NEs in gold standard: 581 # of NEs in test file : 502 # of NEs in both(matched): 463 Precision: Recall: 0.76 F1-score: ======== TI ======== # of NEs in gold standard: 42 # of NEs in test file : 42 # of NEs in both(matched): 38 Precision: 48 Recall: 48 F1-score: 48 ======== TOTAL ======== # of NEs in gold standard: 158 # of NEs in test file : 1460 # of NEs in both(matched): 1278 Precision: Recall: F1-score:
50
51 KAISER 국립국어원 Ⅰ KAISER 함영균, 최동호, 최기선 한국과학기술원
52
53 KAISER 례 제 1 장소프트웨어소개 소프트웨어명칭 소프트웨어사용환경 소프트웨어특징 54 제 2 장소프트웨어설치및실행 소프트웨어설치방법 소프트웨어파일구조 주요파일설명 전체구조 소프트웨어실행방법 56 제 3 장소프트웨어기능 프로그램기능 프로그램기능제약
54 2016 국어정보처리시스템경진대회 소 소개 1.1 소프트웨어명칭 KAISER (KAIST Sensitive NER tagger) 1.2 소프트웨어사용환경 - Ubuntu 이상 - 2GB ram - Python - 실행환경 : 리눅스서버환경 - 텍스트인코딩 : utf 소프트웨어특징 현존하는개체명인식시스템들은전문가들의수작업특질과지식에의해어노테이션으로구축된작은규모의지도학습데이터를학습데이터로사용한다. 이러한개체명인식기의성능은학습데이터의양, 언어적특질, 그리고개체명사전에의해서결정되는것으로알려져있다. 영어의경우에는오랜시간다양한학술대회등을통하여양질의학습데이터가공개되어있으며, 또한영어의언어적특질 ( 대문자로시작, 관사등 ) 및개체명사전에의해상당히많은성능향상이이루어지고있다. 한국어의경우에는영어와다른언어적특질을갖고있어위와같은방법론을적용하기어려우며, 다른언어권에비해공개되어있는학습데이터및개체명사전이부족한것이사실이다. 본 KAISER 시스템은이러한문제를해결하기위해다음과같은방법을사용하였다. 첫째, 개체명학습데이터에부착된개체명태그이외에도, 유의어들에대한동일한개념태그를부착하였다. 이를위해, 한국어워드임베딩단어들을클러스터링하여, 유의어의경우동일한아이디값을갖도록하였고, 이를기계학습의특질로사용하였다. 둘째, 개체명사전에대한문자열매칭이아닌, 워드임베딩벡터간의유사도계산을통해개체명사전의적용범위를확장시켰다. 이를통해, 적은리소스를사용하는한국어개체명인식시스템의성능을전반적으로향상시킬수있을것으로기대한다
55 KAISER 실행 2.1 소프트웨어설치방법 1. KAISER.tar.gz 파일의압축을푼다. 2. 폴더내에있는 CRF tar.gz 파일의압축을푼다. 경로를지정하는경우, 문제가생길수있다. 3. 압축을풀고생긴 CRF 폴더로이동해서다음을입력한다 : a. %./configure b. % make c. % su d. # make install 2.2 소프트웨어파일구조 주요파일설명 1 실행파일 KAISER.sh --- shell script based 실행파일. 사용법 :./KAISER.sh./training_data/dev.txt./output.txt 와같이./KAISER.sh [ 인풋 ] [ 아웃풋 ] 의형식으로사용가능. 2 데이터파일./lib/ --- 클러스터변환파일, 학습모델, word2vector 데이터등. 3 사전파일 /lib/gazette --- 주어진사전파일 전체구조 KAISER/ word2vec/... src/... lib/... training_data/... CRF tar.gz... word2vec 파일폴더소스파일폴더 resources 폴더 sample files(optional) CRF++ 프로그램압축파일
56 2016 국어정보처리시스템경진대회 2.3 소프트웨어실행 KAISER.sh --- shell script based 실행파일. 사용법 :./KAISER.sh./training_data/dev.txt./output.txt 위와같이./KAISER.sh [ 인풋 ] [ 아웃풋 ] 의형식으로사용가능. 기능 3.1 프로그램기능 Ÿ 개체명클러스터링기능본시스템은 nominal-feature CRF 기계학습을사용하였기에, 단어의워드임베딩의실제벡터값을입력으로사용하지않았다. 그러나유의어들에대해동일한 nominal-feature를제공하기위해워드임베딩데이터를클러스터링하여고유값을태깅하였고, 해당모듈은소프트웨어에포함되어있다. Ÿ 개체명유의어탐색기능본시스템은사용하는개체명사전의양이적다는점에착안, 개체명사전에대한문자열매칭방법이아닌, 단어와개체명사전단어와의워드임베딩의코사인유사도방식을적용하였다. 3.2 프로그램기능제약 - 입력형식 : [word] [tag] - 개체명사전의형식 : [word] [tag]
57 WordAngler 국립국어원 Ⅰ WordAngler 김보겸, 강명윤, 민태홍, 이재성 충북대학교
58
59 WordAngler 례 제 1 장소프트웨어소개 소프트웨어명칭 소프트웨어사용환경 소프트웨어특징 60 제 2 장소프트웨어설치및실행 소프트웨어설치방법 소프트웨어파일구조 주요파일설명 전체구조 소프트웨어실행방법 64 제 3 장소프트웨어기능 프로그램기능 프로그램기능제약 67 제 4 장기타 시스템성능 프로그램수행과정 6-5 -
60 2016 국어정보처리시스템경진대회 소 소개 1.1 소프트웨어명칭 본소프트웨어는 2016 국어정보처리시스템경진대회 의지정분야인 개체명인식시스템 개발에참가하는소프트웨어로, 기계학습모델인 Conditional Random Fields (CRFs) 를사용하여개체명을자동으로추출하는프로그램이다. 프로그램명인 WordAngler 는단어를의미하는 word 와낚시꾼을의미하는단어인 angler 의합성어로, 주어진문장에서적절한개체명단어들을찾아낚아올리는프로그램 이라는의미로사용하였다. 1.2 소프트웨어사용환경 지원 OS 권장메모리 사용언어 Windows(7, 8, 10), Linux ubuntu 1GB C, C++ 실행환경 g , visual studio 2012, 2013 텍스트인코딩 UTF-8 open library jsoncpp 4.8, CRFsuite 0.12 < 표 1> 소프트웨어사용환경 1.3 소프트웨어특징 본소프트웨어는 CRFsuite 오픈소스라이브러리를사용하여구축된기계학습기반의개체명인식 / 추출프로그램이다. C++ 클래스기반으로작성하여, 프로그램의확장이매우용이하며, 현재는경진대회의시스템제약사항으로인해사용하고있지는않지만, 사용자사전을활용할수있도록구조를설계하여, 향후모듈의성능을쉽게개선할수있도록하였다. 학습데이터로사용가능한자질값은형태소어휘및품사, 어절정보와 word2vec을사용한단어벡터로매우제한이되어있어, 기계학습을활용하기가쉽지않지만, 본프로그램에서는 word2vec의단
61 WordAngler 어벡터를 n개의클래스로분류하여자질로사용하거나, 단어벡터의유사도점수를활용하여, 유사어휘정보를자질로사용하는등, 모듈의성능을높일수있는유용한자질값을새롭게개발하여사용하였다. 만약의존구문분석, WordNet 등의어휘자원을활용한다면더욱성능을높일수있을것으로기대한다. 자세한기능및수행과정은 3장과 4장에서단계별로설명한다
62 2016 국어정보처리시스템경진대회 실행 2.1 소프트웨어설치방법 1) klpexpo_lake.tar.gz 파일압축해제 > tar zxvf klpexpo_lake.tar.gz 2) klpexpo_lake/compile/ 폴더에서 make 수행 ( 실행파일컴파일 ) 3) klpexpo_lake/test/ 폴더에서 Test.sh 수행 ( 실행 ) 2.2 소프트웨어파일구조 주요파일설명 1 실행파일 klpexpo_lake/test/bin/ - LearnData2CoNLL.run: 학습데이터 (train.json) 를 CoNLL 포맷으로변경 - CoNLL2CRFsuite.run: 생성된 CoNLL 데이터와 CRF에서사용할자질값설정파일 (FeatureTemplate.txt) 을읽어, CRFsuite의학습데이터생성 - crfsuite: CRFsuite 학습을위한프로그램 - Kmeans4WordVectors.run: 배포된 word2vec 데이터파일 (wikicorpus_word2vector.hr) 을 k-means 알고리즘을사용하여 n개의 class로분류하는프로그램 - cqasys_wordangler.run : 수행파일 (dev.json) 을입력받아개체명을찾은후출력하는메인프로그램 2 데이터파일 klpexpo_lake/test/learndata - FeatureTemplate.txt: CRFsuite에서사용할자질값설정파일 - train.300.crfsuite.model: 미리학습된 CRFsuite 모델 - wikicorpus_word2vector.300.class: 배포된 word2vec 파일을 300개의클래스로분류한파일 3 사전파일 klpexpo_lake/test/data - gazette: 배포된사전파일 4 라이브러리 klpexpo_lake/compile/ - libjson_linux-gcc-4.8_libmt.a: jsoncpp 오픈라이브러리 - libcrfsuite.a, liblbfgs.a, libcqdb.a: CRFsuite 오픈라이브러리와학습및
63 WordAngler 수행에필요한오픈알고리즘 전체구조 Ÿ 실행프로그램컴파일 klpexpo_lake/compile/ Common/... 입출력구조체헤더및 jsoncpp, crfsuite 오픈라이브러리헤더 * jsoncpp/... jsoncpp 라이브러리헤더 * CRFsuite/... crfsuite 라이브러리헤더 DataConstructor/.. CoNLL 및 CRFsuite 학습데이터생성클래스 DataLoader/... 입력자료및학습데이터로딩클래스 DataExtractor/... 사전검색및 WordAngler 및 crfsuite 메인클래스 * WordAngler.h/cpp... 프로그램메인클래스 * WordAngler_DicSearch.h/cpp... 사전검색클래스 * CRFsuiteMain.h/cpp... CRFsuite 메인클래스 * libjson_linux-gcc-4.8_libmt.a: jsoncpp 오픈라이브러리 * libcqdb.a, libcrfsuite.a liblbfgs.a: crfsuite 및학습 / 수행에필요한오픈라이브러리 * cqasys_wordangler.cpp 프로그램메인 wrapper Ÿ 프로그램실행 klpexpo_lake/test/ bin/... 학습및수행프로그램 Data/... 배포된학습및수행데이터, 사전파일 LearnData/... 모델학습데이터 execute/... 프로그램수행이이루어질공간 * Learn.sh... 학습프로그램실행쉘 * Test.sh... 수행프로그램실행쉘
64 2016 국어정보처리시스템경진대회 2.3 소프트웨어실행 Ÿ cqasys_wordangler.run ( 프로그램옵션 ) -i 분석 _ 대상 _ 입력 _ 파일명 -o 분석 _ 결과 _ 출력 _ 파일명 -rsc 학습 _ 데이터 _ 경로 -crf CRFsuite_ 학습 _ 모델 _ 파일명 -w2v word2vec를 _n개_ 클래스로 _ 분류한 _ 파일명 -dic 사전사용여부 ( 0: 사용안함, 1: 사용 (default) ) Ÿ 수행예제 > cqssys_wordangler.run i dev.json o result.json rsc./ -crf train.300.crfsuite.model w2v wikicorpus_word2vector.300.class dic 1 참고 : -crf, -w2v, -dic 옵션은 default 설정이되어있음
65 WordAngler 기능 3.1 프로그램기능 본프로그램은오픈소스로공개된기계학습모델중사용이쉽고간편하며, 성능적으로우수함이검증된 CRF(Conditional Random Fields) 모델을사용하였다. CRF는자연어처리뿐만아니라다양한분야에서활용이되고있는대표적인모델로서, 레이블부착확률을여러자질들의조건에의해확률을계산하기때문에필요한모든자질을사용하여구현이가능하며, 수정및변경이매우용이하다는장점이있다. CRF를지원하는오픈소스로는 MALLET, SCARF, CRF++, CRFsuite 등이있으며, 이중 CRFsuite는여러 CRF 기반오픈소스중속도가가장빠름이증명되었으며, 사용이쉽고, 자질조건의수정이편리하며, 다양한학습알고리즘을지원하고있어, 본프로그램은이를사용하였다. 이외에도본대회에서제공된개체명사전인 gazetteer 사전과, word2vec를사용한단어벡터를 k-means 알고리즘을사용하여 n개의클래스로분류한뒤자질값으로사용하고, 단어벡터간의유사도점수를계산하여, 각각의형태소들의유사어휘사전을새롭게구축하여사용하는등, 다양한방법을적용하였다. 전체시스템의구성은다음과같다. < 그림 1> WordAngler 시스템개요도 CRF 모델에서사용하는자질값 (Feature) 은다음과같다
66 2016 국어정보처리시스템경진대회 자질값 (Feature) 범위 (scope) 형태소어휘 (lemma) [-2,2] 형태소태그 (tag) [-2,2] 형태소어휘 / 형태소품사 [-2,2] 어절띄어쓰기 (word-delimiter) [-1,1] word vector clustering number [-2,2] 형태소유사어휘 (lemma) [-1,1] 형태소태그유사어휘 (tag) [-1,1] < 표 2> 개체명인식에사용한자질값목록및어휘범위 자질값목록중 word vector clustering number 는학습데이터로제공된형태소들의 word vector(wikicorpus_word2vector.hr) 를 k-means 알고리즘을사용하여, n개의클래스로분류한뒤사용한클래스번호이다 ( 예를들어, 대한민국 /NNP 형태소벡터의클래스번호는 265 이다 ). 자질로사용한유의어사전은학습데이터로제공된 word2vec 데이터에포함된각각의형태소들간의유사도점수를 (cosign similarity) 모두계산하여, 각형태소별가장유사한형태소를하나의 pair 쌍으로묶어생성하였다. 이렇게생성된유의어사전은학습데이터의부족문제를일부해결할수있는가능성을제공한다. 예를들면, 학습데이터에 전남드래곤즈 /OG 가없는경우, 생성된유의어사전을보면 전남 은 포항 으로, 드래곤즈 는 스틸러스 로가장유사한어휘가생성되어있어, 포항스틸러스 정보를사용하여개체명을추출할수있다. CRF 모델의수행이끝나고나면, 학습데이터로제공된사전 ( gazette ) 을사용하여사전에등록되어있는개체명을추출한다. 개체명사전을검색하는방법은형태소단위로총 4개의형태소를최대개체명단위로보고, 문장의시작형태소위치부터, 1~4개의형태소를차례로합치면서사전을검색하고, 사전에서찾은개체명은긴이름우선순위로추출하였다. 사전검색알고리즘은다음과같다
67 WordAngler cnt_morp = count(morphemes in sentence) for i = 0 to cnt_morp-1 word.clear(); for j = i to i+4 && j < cnt_morp word += morphemes[j]->lemma if (search in dictionary(word)) then ne_candidate = (word, ne_tag) if (!ne_candidate.empty()) then result <- ne_candidate < 표 3> 개체명사전검색알고리즘 사전검색은해시테이블알고리즘을사용하였으며, 사용자사전을사용할수있도록프로그램구조를구성하였으나, 현재에는제공된시스템사전만을사용하여정보를추출한다. CRF와사전검색이끝나고나면, 두개의출력결과중어휘의범위가서로교차혹은일치하는결과가존재한다. 이러한경우에는개체명의길이가보다긴이름우선순위로정답을출력하며, 어휘의범위가같을경우에는사전등록개체명우선순위로정답을출력하였다. 본프로그램의결과를살펴보면, 아직해결해야할문제들이몇가지존재한다. 예를들면, 동일한어휘에대한중의성태그문제 ( 예 > 서울 지명으로사용되었을경우 LC( 장소 ), 축구팀이름으로사용되었을경우 OG( 기관명 )), 미등록어에의한추출오류 ( 예 > 존웨인 의경우 PS( 사람이름 ) 으로태깅되어야하나, 이름인 웨인 만태깅하는경우 ), 복합명사의인식오류 ( 예 > LA 애인절스 /OG 를 LA/LC + 애인절스 /OG 로분석하는경우 ) 등이다. 현재는이와관련된문제를해결하기위해학습데이터로제공된단어벡터의유사도를사용하여해결하는모듈을개발하고있으나, 아직모델이추가되지는못하였다. 이는추후시스템을개선해나가며기능을추가할예정이다. 3.2 프로그램기능제약 - 입출력양식 : 경진대회에서배포한형태소분석이완료된 JSON 형식의파일 - 필수라이브러리 : jsoncpp, crfsuite - 입출력파일인코딩 : UTF
68 2016 국어정보처리시스템경진대회 기타 4.1 시스템성능 시스템의성능측정은테스트용으로제공된자료인 dev.json 파일을대상으로수행하였으며, 학습데이터는제공된자료중 train.json 과 wikicorpus_word2vector.hr 를사용하였다. 정답의일치여부는어휘범위 (boundary) 의완전일치와정답개체명태그의일치, 두가지조건을모두만족하는경우를정답으로평가하였으며, 평가지수로는재현율 (recall) 과정확률 (precision) 과 F1-score로계산하였다. 평가모델은 CRF 모델만사용한 모델 1 과 CRF와사전을함께사용한 모델 2 이다. 정답과일치하는결과 재현율 정답개체명 식 (1) 정답과일치하는결과 정확률 시스템출력결과 식 (2) 식 (3) 모델 1 모델 2 recall precision F1-score < 표 4> 시스템평가결과 사전을함께사용한 모델 2 가 CRF만사용한 모델 1 보다 F1-score 기준으로약 2%point 성능이높았다. 이는학습데이터에존재하지않는개체명이사전에등록된경우가많기때문에, 전체적인재현율을약 10% point 높일수있었다. 단, 정확률은약 6%point의성능이떨어진다. 이는 LA 애인절스 /OG 와같이복합명사로구성된경우, 각형태소를하나의개체명을인식할수있기때문으로보인다 ( 예를들면, LA/LC, 애인절스 /OG ). 자세한세부오류의유형은 4.2절에정리하였으며, 현재는각오류유형별해결을위한모듈개발을진행중에있다
69 WordAngler 4.2 프로그램수행과정 학습프로그램수행과정 (Learn.sh) (1) Kmeans4WordVectors.run - word2vec 학습자료 ( wikicorpus_word2vector.hr ) Clustering - CRFsuite 모델의자질값으로사용할단어벡터의클러스터번호생성. 30, 50, 100, 150, 300, 500 개의클러스터로실험한결과, 가장성능이좋았던 300개의클러스터생성 - 학습에사용할자료로미리생성해놓음 - 출력결과 < 그림 2> 단어벡터의클러스터링결과 - 6 -
70 2016 국어정보처리시스템경진대회 (2) LearnData2CoNLL.run - 학습데이터 ( train.json ) 과 word vector clustering 자료를사용하여 CoNLL 출력포맷으로변경 - 출력예 그림 3. 학습데이터로사용할 CoNLL 형식데이터
71 WordAngler (3) CoNLL2CRFsuite.run - 생성된 CoNLL 학습데이터를미리작성한자질값설정파일 ( FeatureTemplate.txt ) 을사용하여 CRFsuite의학습데이터생성 - 자질값설정파일및출력예 그림 5. CRFsuite 학습자료 그림 4. 자질값설정파일
72 2016 국어정보처리시스템경진대회 (4) crfsuite learn - 오픈소스인 crfsuite 를사용하여 CRFsuite 모델생성 - 생성된모델파일은 binary 파일이다. - crfsuite 수행과정 그림 6. CRFsuite 학습수행과정
73 WordAngler 실행프로그램수행 (Test.sh) - cqasys_wordangler.run - 테스트대상자료인 dev.json 과학습프로그램의결과들을읽은후최종결과출력 - 결과출력폼은제공된입력자료인 dev.json 과동일하며, 개체명결과인 NE 의내용만모듈의출력결과로바뀌어출력된다. - 최종출력폼 ( result.json ) 그림 7. WordAngler 최종출력결과예
74
75 코너 (KoNER) 국립국어원 Ⅰ 코너 (KoNER) 신유현, 이상구 서울대학교
76
77 코너 (KoNER) 례 제 1 장소프트웨어소개 소프트웨어명칭 소프트웨어사용환경 소프트웨어특징 7 제 2 장소프트웨어설치및실행 소프트웨어설치방법 소프트웨어파일구조 주요파일설명 전체구조 소프트웨어실행방법 81 제 3 장소프트웨어기능 프로그램기능 프로그램기능제약 85 제 4 장기타
78 2016 국어정보처리시스템경진대회 소 소개 1.1 소프트웨어명칭 명칭의미및설명코너 (KoNER) 는 Korean Named Entity Recognition의약자이다. 영어단어코너 (Corner) 와의발음상의유사성을고려한명칭이다. 영어단어코너 (Corner) 는 1) 특별한목적을위해구성하기위한한정된일부장소및 2) 모퉁이, 구석 이라는뜻을지닌다. 코너 (KoNER) 는한국어개체명인식이라는특별한목적을위해구현된프로그램이라는뜻이있다. 또한, 모퉁이 ( 코너 ) 를돌면새로운행운이기다리고있을거야 라는구절이있듯이, 코너 (KoNER) 를통해서, 한국어개체명인식의성능향상에도움이되고자하는뜻을담고있다 이유및개발동기 개체명인식은질의응답시스템, 정보검색시스템, 기계번역시스템등다양한분야에서사용되는기술이다. 하지만한국어개체명인식의경우, 다른연구가활발한언어와비교하였을때공개된말뭉치가부족하다는문제점이있다. 그리하여개체명인식문제해결에어떻게접근해야할까고민하고있는와중에경진대회소식을접하게되었다. 이러한말뭉치를기반으로한국어개체명인식이라는분야에조금의도움이되고싶어개발하게되었다. 한국어개체명인식이라는특정도메인에서의높은정확도는것이목적이다. 1.2 소프트웨어사용환경 Ÿ 지원 OS : Linux (Ubuntu LTS) Ÿ 권장메모리 : RAM 32GB 이상 Ÿ 사용언어 : python Ÿ 실행환경 : python 2.7.x Ÿ 필요라이브러리 : Numpy, Theano Ÿ 텍스트인코딩 : utf
79 코너 (KoNER) 1.3 소프트웨어특징 특징 1 딥러닝기법을이용하여사전지식의최소화딥러닝의경우, 워드임베딩을입력값으로사용하여문제를해결한다. 이때워드임베딩을만드는과정에서원본텍스트 (raw text) 만을이용하므로, 사전지식의영향력이줄어들수있다. 또한딥러닝구조중하나인 RNN (Recurrent Neural Network) 를이용하여, 사전지식없이도높은정확도를낼수있다. 2 사람이글을읽는방법모사딥러닝모델중하나인 Bidirectional LSTM을이용하여, 전향 (forward) 시에는왼쪽에서오른쪽으로글을읽는사람의모습을모사할수있다. 후향 (backward) 시에는사람이왼쪽에서오른쪽으로글을읽으면서, 다음에읽은단어 ( 오른쪽단어 ) 가이전에읽은단어 ( 왼쪽단어 ) 의판단에영향을미치는것을고려할수있다. 따라서, 결국에는왼쪽에서오른쪽으로글을읽으며이전정보들을저장하고있고새롭게접하는단어를이용하여전체적인맥락을파악하는것을양방향 LSTM(Bi-directional LSTM) 을이용하여모사하였다. 3 단어의형태적 (morphological) 특징을고려입력값으로형태소및형태소의자음, 모음을이용 (ex. ㅎ, ㅕ, ㅇ, ㅌ, ㅐ, ㅅ, ㅗ ) 한다. 따라서새로운단어가등장하더라고형태적유사함을토대로기존단어와의연관을지을수있다. 또한, 복수형여부, 접두사, 접미사등을이용하여단어를의미적, 문법적으로이해할수있게된다. 4 문법적특징을고려알고리즘의입력값에품사 (Part-of-speech) 를이용하여, Bi-directional LSTM을학습한다. Bi-directional LSTM이각품사간의의존 (dependency) 관계를학습할수있게되므로, 이를통해단어의문법적역할을동시에학습할수있다. 예를들어, 명사와명사가연속되서나올경우에는개체명일확률이높다는것을학습하게된다
80 2016 국어정보처리시스템경진대회 5 기구축사전의활용방안극대화기구축사전의값을 BIOES 인코딩방법을이용하여입력값으로사용한다. 예를들어, LA 라는단어는독립적으로존재할경우에는지명 (LC) 를의미하지만, LA 레이커스 의경우에는기관명 (OG) 을의미하게된다. 이렇게사전에존재하는 LA에대한정보를 S-LC, B-OG 로나타내어문장의문맥에따라서다른의미를지니는단어임을학습하도록한다. cf) BIOES 인코딩 : B(Begin), I(Inside), O(outside), E(End), S(Single) 의 5가지태그를이용하여인코딩하는방법으로, BIO 인코딩의확장판이다 장점 1 RNN의한종류인 Bidirectional LSTM을사용함으로써, 텍스트및특징 (feature) 간의의존 (dependency) 정보를충분히반영할수있다. 각의존관계학습시에형태소, 자음 / 모음, 품사, 기구축정보 (lexicon) 이동시에고려된다. 2 형태적특징을이용함으로써, 새로운단어가들어와도이전단어와의연관성을극대화시킬수있다. 또한 어제 와 어저께 처럼유사한단어가들어오는경우에도두단어의연관성을고려할수있다. 3 사람이개체명을인식하는방법을학습시킬수있다. 왼쪽에서오른쪽으로읽어나가며이해하는것을모사한다. 이때형태소단위의입력값을받음으로써최소한의의미로부터뜻을파악한다. 해당형태소의다른형태소와의형태적유사성을이용하여해당단어가무엇인지유추할수있다. 4 특징추출 (feature engineering) 을최소화할수있다. 경진대회에서제공한것외에다른사전지식 (prior knowledge) 없이학습하였다 기대효과기구축사전 (lexicon) 이완벽하지않더라도미등록어에대한대응이가능하고, 기존도메인에대한선수지식을이용한특징추출 (feature engineering) 과정을줄일수있다. 이는신조어및다양한문법적지식을요구하는한국어에특히나적합한방법일것으로기대된다. 선수지식 (prior knowledge) 이부족한경우에도구축된말뭉치와형태소임베딩만을이용하여한국어개체명인식의정확도향상을할수있을것으로기대된다. 사람의개입및노력을최소화하였음에도높은성능을보일것으로기대된다
81 코너 (KoNER) 실행 2.1 소프트웨어설치방법 1. KoNER.tar 파일압축해제 >> tar -xvf KoNER.tar >> cd KoNER 2. 라이브러리설치 >> pip install numpy >> pip install theano 3. chmod 777 cqasys_koner.sh 2.2 소프트웨어파일구조 주요파일설명 1 실행파일 tagger.py --- 실행파일 2 데이터파일 data/[input_name] --- 입력파일 data/[output_name] --- 출력파일 3 사전파일 data/gazette --- 기구축사전 (lexicon) 파일 data/wikicorpus_word2vector.hr --- 워드임베딩파일 전체구조 KoNER/ data/... 입력파일, 출력파일, 워드임베딩, 사전 (lexicon) 폴더 model/... 학습된모델폴더 cqasys_koner.sh... 실행스크립트 tagger.py... 실행파일
82 2016 국어정보처리시스템경진대회 json2base_type.py... json을세로형식으로바꿔주는파일 json2base.py... 경진대회제공 json을세로형식으로바꿔주는파일 base2json.py... 세로형식의파일을 json으로바꿔주는파일 *.pyc... tagger.py에서사용하는파일들 2.3 소프트웨어실행 소프트웨어실행을위해서는아래와같은터미널에아래와같은명령어를입력한다. >>./cqasys_koner.sh [input_file] [output_file] ex)./cqasys_koner.sh "./data/dev.json" "./data/result.json" 해당프로그램은총 3가지입력값을받는다. - input_file : 입력데이터파일이존재하는경로및이름 ex) "./data/dev.json" - output_file : 원하는출력데이터파일의경로및이름 ex) "./data/result.json [cqasys_koner.sh 내부실행명령어 ] #!/bin/bash if [ $# -eq 0 ]; then echo "./cqasys_koner [input_file] [output_file]" exit 1; fi python./json2base_type.py $1 > $1.txt python./tagger.py --input $1.txt --output $2.txt python./base2json.py --input $1 --output $2 tags $2.txt
83 코너 (KoNER) 기능 3.1 프로그램기능 제출한프로그램의기능 : 한국어개체명인식해당프로그램에서의개체명은총 5가지로기관명 (OG), 인명 (PS), 지명 (LC), 숫자 (DT), 시간 (TI) 을의미한다. 해당프로그램은 json 형식의입력파일로부터, 형태소및품사태깅을추출한다. 형태소와품사를이용하여해당형태소의개체명여부를판별하는프로그램이다. 임의의문장에대한형태소와품사를입력값으로받아하나의의미단위를이루는형태소들의시퀀스를찾아해당시퀀스의개체명카테고리를분류해주는프로그램이다. 주요방법론 : 해당프로그램은입력값으로 json 형식의파일을받는다. json 형식의파일은아래그림 1과같이변환되어입력값으로사용된다. 그림 35 json 형식의입력파일 ( 왼쪽 ) 의형식변환
84 2016 국어정보처리시스템경진대회 그림 36 개체명인식알고리즘의전체구조 그림 37 품사및사전의벡터표현예시먼저, 알고리즘의입력값과출력값을살펴보겠다. 그림 2에서는변환된입력파일의첫번째열인형태소와두번째열인품사를입력값으로사용하고, 세번째열인개체명태그를출력값으로이용하여학습한다. 즉, 입력값은 첫 /MM, 타자 /NNG, 박용택 /NNP, 을 /JKO,... 이고, 출력값은 O, O, B-PS, O,... 이다. ( 이때, 출력값에사용되는인코딩 (encoding) 기법에는
85 코너 (KoNER) BIOES 방법을사용하여학습하였다.) 그림 2와같이알고리즘에서는해당입력값 (ex. 첫 /MM, 타자 /NNG) 에대해 4가지관점으로벡터표현을생성한다. 첫번째는형태소임베딩을이용하여입력값을표현하는것이다. 이는 pre-train된워드임베딩값을 lookup table에서가져온다. 두번째는자음 / 모음특징을추출하여입력값을표현하는것이다. 이러한자음 / 모음특징추출에는 Bidirectional LSTM이사용된다. 즉, 첫 /MM 의경우에는, ㅊ, ㅓ, ㅅ 을입력값으로하는 Bidirectional LSTM layer를추가하였다. 세번째는품사를이용하여입력값을표현하는것이다. 그림 3의왼쪽과같이품사전체개수를길이로하는원핫 (one-hot) 벡터를이용하였다. 네번째는사전 (lexicon) 을이용하여입력값을표현하는것이다. ( 이때사전은제공된 gazette를이용하였다.) 그림 3의오른쪽과같이사전내에서해당단어가어떻게쓰였는지에따라정해진레이블에 0 또는 1의값을갖는다. 예를들어, 박용택 PS, LA 레이커스 OG, LA LC 세가지경우가있다고하자. 이경우에 박용택 은 박용택 PS 에서만쓰였으므로 S-PS 에대응된다. LA 의경우에는 B-OG, S-LC 에대응되며, 레이커스 는 E-OG 에대응된다. 3.2 프로그램기능제약 입출력양식제한 : 프로그램의입출력양식은해당경진대회제공 json 파일양식을따른다. json2base_type.py 파일을이용하여, json을세로형식으로바꿔알고리즘의입력값으로사용하였다. 해당파일은 [input_file].txt (ex. input_file이 dev.json인경우 dev.json.txt) 으로저장된다. 알고리즘의출력파일또한세로형식으로출력된다. 해당파일은 [output_file].txt (ex. output파일이 result.json인경우, result.json.txt) 으로저장된다. 따라서 base2json.py를이용하여세로형식을 json 형식으로변환한다. 해당 base2json.py는 train.json, dev.json을입력값으로받은경우에는 result.json 형식을오류없이만든다. 제공된두파일 (train.json, dev.json) 에대해서는잘작동하나, 새로운파일에대해서세로형식의파일을 json으로변환하는과정에서오류가생길수있다
86 2016 국어정보처리시스템경진대회 입력파일 (json 형식 ) : dev.json 출력파일 (json 형식 ) : result.json 알고리즘입력파일 ( 세로형식 ) : dev.json.txt 알고리즘출력파일 ( 세로형식 ) : result.json.txt 기타 train.json으로학습한모델을이용하여구한 dev.json에대한 F-Score 결과이다. 학습은총 50번의에폭 (epoch) 을통해이루어졌다. 501개의문장으로이루어진 dev.json의경우에는개체명태깅에평균적으로 0초내외가소요되었다. 성능측정에는 conll 평가스크립트를이용하였다. 즉, B-PS, [B-PS, I] 등의개체청크 (chunk) 단위로성능을측정하였다. 특징 (Feature) F-Score 1 형태소임베딩 형태소임베딩 + 자음 / 모음특징 형태소임베딩 + 자음 / 모음특징 + 품사 형태소임베딩 + 자음 / 모음특징 + 품사 + 사전 표 45 특징에따른 F-Score 값표 1에서볼수있듯이가장성능이좋은모델은 F-Score 85.71로 4가지벡터표현방법을모두사용한모델이었다. 표 2는가장좋은성능을보인 4번째모델에대한각카테고리별성능을나타내고있다. 5가지의개체명중사람 (PS) 에해당하는 F-Score가 0.8로제일높고, 기관 (OG) 에해당하는 F-Score가 0.77로제일낮다. 정밀도 (Precision) 재현율 (Recall) F-Score DT LC OG PS TI 표 46 4 번째모델의각개체명카테고리별정밀도, 재현율, F-Score
87 코너 (KoNER) 실행커맨드모음 : >> tar -xvf KoNER.tar >> cd KoNER >> pip install numpy >> pip install theano >> chmod 777 cqasys_koner.sh >>./cqasys_koner.sh "./data/dev.json" "./data/result.json 결과파일경로 :./data/result.json 그림 38 세로형식의알고리즘결과파일 ( 왼쪽 ), json 형식의결과파일 ( 오른쪽 )
88
89 단추 (DANCHU) 국립국어원 Ⅰ 단추 (DANCHU) 안재현, 윤정민, 김혜민, 박용신, 배경만, 고영중 동아대학교 - 8 -
90
91 단추 (DANCHU) 례 제 1 장소프트웨어소개 단추 (DANCHU) 소프트웨어사용환경 소프트웨어특징 언어분석을위한학습모델 음절임베딩벡터 웹페이지와디자인 7 제 2 장소프트웨어설치및실행 소프트웨어설치방법 소프트웨어실행방법 단추언어분석통합시스템 제 3 장소프트웨어기능 프로그램기능 단추형태소분석기 단추개체명인식기 단추의존구문분석기 단추의미역결정기 프로그램기능제약 106 제 4 장기타 시스템성능 참고문헌
92 2016 국어정보처리시스템경진대회 소 소개 1.1 단추 (DANCHU) 자연어처리는인간이발화하는언어현상을기계적으로분석하여기계가이해할수있는형태로만드는것을의미한다. 자연어처리에는언어분석과대화모델등많은연구분야가있으며, 언어분석은자연어에대한형태소분석 (Part Of Speech), 개체명인식 (Named Entity Recognition), 의존구문분석 (Dependency Parser), 의미역결정 (Semantic Role Labeling) 등자연어처리의기초가되는연구를말한다. 본대회에제안하는단추 (DANCHU : Dong-A Natural language analysis tools for Communication with HUman) 는동아대학교지능형시스템연구실에서구현한언어분석통합시스템이다. 단추 (DANCHU) 라는이름은우리나라옛말의 첫단추를잘꿰어야한다. 라는말에서착안한이름이다. 첫단추가잘꿰어져야다음단추가잘꿰어지듯자연어응용분야에서언어분석은첫단추와같고, 정확한언어분석은많은자연어응용분야에서좋은토대가된다. 언어분석의기존연구에서는규칙기반과통계기반, 사전기반을많이사용하여연구를했다. 그러나규칙과사전을생성하기위해서는사람이수작업으로생성하기때문에많은노력과비용이필요하며, 언어가점차확장됨에따라사전과규칙이많아지는문제점이있다. 최근에는기계학습 (Machine Learning) 과심층학습 / 딥러닝 (Deep Learning) 을이용하여이와같은문제점을개선하였다. 본시스템은순차레이블링 (Sequential Labeling) 에높은성능을보이고있는 Bidirectional Long Short Term Memory Conditional Random Fields(bi-LSTM-CRFs) 과단어표상 (word embedding), 음절기반임베딩벡터를이용하여높은성능을기록하였다. 본시스템은웹페이지로제작되었으며, 문장을입력하면언어분석을진행하며형태소분석기, 개체명인식기, 의존구문분석기, 의미역결정모델을순차적으로실행하여 4가지의결과를사용자에게보여준다
93 단추 (DANCHU) 1.2 소프트웨어사용환경 - 운영체제 : Ubuntu x64 - 사용언어 : Python, C++, Java, JSP, Java Script, HTML 라이브러리 : Tensorflow 1, Numpy 소프트웨어특징 언어분석을위한학습모델단추 (DANCHU) 통합시스템은언어분석통합시스템으로써입력된문장의형태소분석, 개체명인식, 의존구문구조분석, 의미역결정등을실행한다. 각언어분석시스템은모두시퀀스레이블링의문제로기존의 CRFs, Structure-SVM 보다성능면에서개선된 bi-lstm-crfs를사용하여학습하였다. bi-lstm-crfs는동아대학교지능형시스템연구실에서자체개발된소스로 Tensor Flow로구현하였다. 아래 (1) ~ (3) 은 RNN, LSTM, bi-lstm-crfs에대한설명이다. (1) Recurrent Neural Networks(RNN) 그림 40. Recurrent Neural Networks 모델그림 1에서보이는것처럼 RNN은단어열 을입력계층에서입력으로받고, 그입력은은닉계층 을거쳐입력을잘표현하는벡터 가출력계층으로출력된다. RNN 구조를아래와같은식으로정의할수있고, 아래식에서 는각계층의 weight행렬이다
94 2016 국어정보처리시스템경진대회 RNN 은위의수식과그림 1 에서알수있듯이이전상태를다음상태로 계속전달하는모델이다. 따라서이론상으로는이전상태를기억하여장기 의존성 (long-range dependencies) 을다룰수있다. 하지만실제적으로 위치상멀리있는정보를많이잃어버리는그래디언트소멸문제 (Vanishing gradient problem) 가존재하기때문에장기의존성을유지할수없는 문제점이있다. (2) Long Short-term Memory(LSTM) LSTM은 RNN의그래디언트소멸문제를해결하여장기의존성을잘학습할수있는특별한모델이다. 이문제를해결하기위하여 LSTM에서는 RNN의은닉계층노드에 3개의 gate(input, output, forget) 와 1개의 memory cell을이용한다. LSTM의 memory cell은전체적인상태를기억하여다음상태로전달하는역할을한다. forget gate를이용하여 cell의상태에서어떤정보를제거할지결정하고, input gate로 cell에서어떤정보를갱신할지결정한다. 마지막으로 output gate를이용하여 cell의어떤정보를전달할지결정하여장기의존성을유지한다. LSTM 구조의전체적인수식은다음과같다. 위식에서 는각각 input gate, memory cell, output gate, hidden state 이다. 그리고 는 element-wise product 이며, 는 weight 행렬을 는 bias 를나타낸다
95 단추 (DANCHU) (3) bidirectional LSTM CRFs(bi-LSTM-CRFs) 그림 41. bidirectional LSTM CRFs 모델 bi-lstm-crfs는그림 2에서보이는것과같이 LSTM에입력문자열을양방향으로받아서각단어별로은닉계층의결과를얻고, 그결과간의의존성을추가한모델이다 음절임베딩벡터 bi-lstm-crfs를사용하여학습하기위해선어절혹은음절, 형태소단위의단어표상 (word embedding) 이필요하다. 단어표상이란말뭉치의단어를벡터로표현한것으로벡터의값은말뭉치에서단어가가지는의미나역할을잘표현해주는값이어야한다. 이와같이단어의의미와맥락을고려하여단어를벡터로표현한것을단어표상이라고한다. 본시스템에서사용한기본적인단어표상은아래표 1 과같다. 표 4 사용한기본적인단어표상 모듈형태소분석기개체명인식기의존구문분석기의미역결정 사용한임베딩음절임베딩벡터형태소임베딩벡터어절임베딩벡터어절임베딩벡터 본시스템에서는표 1과같이기본적인단어표상을사용하였고개체명인식과의존구문분석, 의미역결정모듈에서는음절기반임베딩벡터를추가로사용하였다. 음절기반단어임베딩이란각단어를표현하기위해음절단위의임베딩벡터를기반으로하여단어단위의임베딩벡터로확장한벡터를말한다. 단어는음절의시퀀스이기때문에음절단위의임베딩벡터의확장은 - 5 -
96 2016 국어정보처리시스템경진대회 단어를표현하기에적합하다. 그림 3 에서보이는것과같이 bidirectional LSTM 을이용하고, forward 의마지막상태와 backward 의마지막상태를 결합하여단어단위임베딩벡터로사용하였다. 그림 42. 음절기반단어임베딩벡터를위한 bi-lstm 예를들어개체명인식에음절기반단어임베딩벡터를적용하기위해서입력되는음절임베딩벡터로는음절별로각개체명태그별분포를벡터로만들어서사용하였다. 그결과로만들어진벡터는 11차원을가진다 ( 개체명태그 5개 * BI정보 2개 + O 태그 1개 = 11). 최종적으로모델에입력될때는분포벡터에 softmax를이용하여확률로변환후사용한다. 예를들어 타자 /O 는 /O 단연 /O 이대호 /B-PS 문장에서각음절에대응되는음절임베딩벡터는표 2와같다. 표 2의값들은지면상반올림하여표기하였다. 표 50. 음절단위개체명분포벡터 타 자 는 단 연 이 대 호 B I PS OG LC DT TI PS OG LC DT TI O
97 단추 (DANCHU) 웹사이트디자인과기능 (1) 웹디자인 본단추언어분석통합시스템은동아대학교웹서버에서언어분석을실행한다. 그리하여어떠한환경에서도웹에접근을할수있다면어디에서든언어분석의결과를볼수있다. 아래그림 4는단추언어분석통합시스템에접속한사진이다. 그림 43 단추언어분석통합시스템메인화면 POS( 형태소분석 ) 버튼과 NER( 개체명인식 ) 버튼, DP( 의존구문분석 ) 버튼, SRL( 의미역결정 ) 버튼, ALL( 모든언어분석을수행 ) 버튼으로구성되어있다. 기능적인면에서각각의언어분석은높은성능을보이고있으며, 사용자가보기편한디자인으로, 누구나쉽게언어분석을수행할수있도록구성하였다. 간단한조작을통해사용자에게편리성을제공하며, 높은성능을통하여사용자에게신뢰성을높일수있다
98 2016 국어정보처리시스템경진대회 실행 2.1 소프트웨어설치방법 본단추언어분석통합시스템은동아대학교지능형시스템연구실에있는웹서버에구축되어있어특별한설치없이소프트웨어를실행할수있습니다. 단추언어분석통합시스템에접속하기위해선인터넷웹페이지에아래의 URL을입력하면본시스템의웹서버에접속할수있다. 표 51 단추언어분석통합시스템웹서버 URL 단추언어분석통합시스템 URL 소프트웨어실행방법 본단추언어분석통합시스템은웹페이지로구축되어웹페이지 IP을이용하여접속하면된다. 입력창에분석을하고싶은문장을입력하고분석버튼 (POS, NER, DP, SRL, ALL) 을누르면해당모듈이돌아분석결과를출력하게된다 웹브라우저접속단추 (DANCHU) 언어분석통합시스템은웹페이지로제작되었다. 따라서어디에서든웹브라우저로단추언어분석통합시스템에접근할수있다. 먼저아래그림 4와같이크롬웹브라우저를실행한다. 그림 44 웹브라우저실행 - 8 -
99 단추 (DANCHU) IP 접속 동아대학교지능형시스템연구실에서제공하는 IP 주소를주소창에입력하여 접속한다. 그림 45 IP 주소 2.3 단추언어분석통합시스템 메인페이지 - -
100 2016 국어정보처리시스템경진대회 입력창 형태소분석결과 개체명인식결과
101 단추 (DANCHU) 의존구문분석결과 의미역결정결과
102 2016 국어정보처리시스템경진대회 기능 3.1 프로그램기능 단추 (DANCHU) 언어분석통합시스템은입력된한국어문장을형태소분석, 개체명인식, 의존구문분석, 의미역결정등 4가지의분석결과를제공한다. 4가지모듈모두 bi-lstm-crfs와음절기반임베딩벡터를사용하여성능면에서개선되었다. 각모듈에대한설명은아래와같다 형태소분석형태소분석기는음절단위로품사를부착하는모델을제안한다. 품사부착을위해 bi-lstm-crfs와음절기반임베딩벡터를사용하였다. 먼저 bi-lstm-crfs은 forward 단계에서현재입력에대한상태층의정보가뒤의상태에영향을주며, backward 단계에서뒤에상태가앞의상태에영향을주어학습이되기때문에다른순차레이블링을위한기계학습과달리작은수의자질만으로도좋은결과를얻을수있다. bi-lstm-crfs은음절단위로입력이결정되며, 각음절에대한음절표상을나타내는벡터를구성하여입력으로사용된다. 시스템에서는이를위해대용량원시말뭉치를기반으로음절표상을나타내는 64차원의벡터를생성하여입력으로사용하였다. bi-lstm-crfs의성능을향상시키기위해시스템에서는각음절이전체학습말뭉치에서출현한품사태그의분포를벡터로구성하여 bi-lstm-crfs의입력을확장하였다. 각음절은학습말뭉치에서여러형태소에포함이될수있으며, 여러형태소는다양한품사를가질수있다. 학습말뭉치에서음절이포함된형태소의품사빈도수를계산한후 softmax를통해서확률을각차원의값으로사용하였다. 시스템에서제안하는음절단위형태소분석기는 bi-lstm-crfs으로음절단위품사태그를결정한후기존의방법과같이기분석사전과원형복원사전을적용하여최종적으로형태소분석된결과를보여준다
103 단추 (DANCHU) 개체명인식한국어개체명인식을위해 bi-lstm-crfs를이용하고, 입력으로사용되는단어표상을확장하기위해사전학습된단어임베딩벡터, 품사임베딩벡터, 그리고음절기반에서확장된단어임베딩벡터를사용한다. 단어표상확장을위해첫번째로사전학습된단어임베딩벡터가사용된다. 대부분의개체명은미등록어이기때문에학습데이터에나오지않은개체명을잘분류하는것에는한계가있다. 따라서대량의말뭉치를이용하여단어임베딩벡터를사전학습하고, 단어집합을확장시킨다. 두번째로는사전학습된품사임베딩벡터를사용하여단어표상을확장한다. 개체명인식에서는품사의시퀀스또한중요하기때문에품사를잘표현하는임베딩벡터가중요하다. 품사임베딩벡터를사전학습하기위해대량의말뭉치를형태소분석을하고, 단어를삭제한뒤품사만학습하여사용한다. 세번째는음절기반임베딩벡터로부터단어기반임베딩벡터로유도하여단어표상을확장하는방법이다. 임베딩벡터확장을위한입력인음절임베딩벡터로는각음절별로학습코퍼스에나온개체명의분포를벡터로만들어사용하였다. 아래그림 4는개체명인식과정을그림으로도식화한것이다. 그림 53. 단어, 품사, 음절임베딩결합한전체구성도
104 2016 국어정보처리시스템경진대회 의존구문분석국내에서한국어의존구문분석에관한연구가활발히진행되고있지만의존관계만을결과로제시하고의존관계명을제공하지않는경우가많았다. 제안하는의존구문분석기는의존파서와의존관계명을부착하는모델을제안한다. 의존파서는전이기반방식을사용하였으며신경망을통해학습하여의존관계의유무를판단하였다. 의존관계명부착은의존경로 (Dependency Path) 와음절의의존관계명분포를반영하는음절임베딩을이용한의존관계명부착모델을제안한다. 아래그림 5와같이의존경로를추출할수있다. 그림 54 의존경로예시문장에서나올수있는최적의입력열인의존경로 (Dependency Path) 를순차레이블링에서좋은성능을나타내고있는 bi-lstm-crfs의입력값으로사용하여의존관계명을결정한다. 의존경로의경우원래문장으로부터의존관계를중복하여추출하기때문에원래문장으로복구하는작업이필요하며, 성능평가는복구를한문장으로부터성능을측정하였다. 제안된기법은의존경로에따라어절및음절단어표상 (word embedding) 만을사용하여최적의입력열을이용하여순차적으로부착하였으며, 음절분포임베딩을사용하여성능면에서개선하였다
105 단추 (DANCHU) 의미역결정최근의미역결정연구는의미역말뭉치와기계학습알고리즘을이용한연구가주를이루고있다. 시스템에서는순차적레이블링영역에서좋은성능을보이고있는딥러닝기반의 Bidirectional LSTM-CRFs 기반으로음절의의미역태그분포를고려한의미역결정모델을제안한다. bi-lstm-crfs는어절단위로입력이결정되며, 각어절에대한어절표상을나타내는벡터를구성하여입력으로사용된다. 시스템에서는이를위해대용량원시말뭉치를기반으로어절표상을나타내는 64차원의벡터를생성하고, 여기에어절에포함된형태소의품사와현재어절과의미적으로연관된서술어에대한정보가반영된벡터를결합하여입력으로사용한다. bi-lstm-crfs의성능을향상시키기위해시스템에서는각어절에포함된음절이전체학습말뭉치에서출현한의미역태그의분포를반영하여어절의벡터를구성하여 bi-lstm-crfs의입력을확장하였다. 각음절은학습말뭉치에서여러서술어의의미역에포함이될수있으며, 여러의미역을나타내는다양한품사를가질수있다. 학습말뭉치에서음절이포함된의미역의의미역태그빈도수를계산한후 softmax를통해서확률을각차원의값으로사용하였다. 각음절별로생성된의미역태그의분포벡터는 bi-lstm 기반의음절의미역태그분포가반영된어절벡터를생성하는모델의입력으로사용되며, 어절에포함된모든음절에대해 forward와 backward 단계를거처생성된벡터를생성하는데이용된다. 생성된음절의의미역분포정보가반영된어절에대한벡터는어절단위로 SRL을진행하는 bi-lstm-crfs 모델의입력벡터에결합하여확장함으로써개선된의미역결정모델을제안한다. 아래그림 6은단추의미역결정모델을그림으로도식화한것이다. 그림 55. bi-lstm-crfs
106 2016 국어정보처리시스템경진대회 3.2 프로그램기능제약 Ÿ 입력문서 - 한행이하나의문장인형식의말뭉치 - 특수문자에대한분석은아스키코드표에존재하는특수기호만사용 기타 4.1 시스템성능 형태소분석성능 [1] 에서제안한음절의품사분포벡터를이용한 bi-lstm-crfs 기반의음절품사태깅방법을적용하였을때표 4와같이 CRF 기반의방법에비해 7.65% 향상된 2.3% 의음절단위품사태깅성능을보였으며, 표 5에서기분석사전, 불규칙변환사전을적용한후원형복원했을때 CRF보다 3.01% 향상된 7.0% 의성능을보였다. 표 52 bi-lstm-crfs 를이용한음절단위품사태깅성능 (%) Model 40 만어절 CRF ( 음절 + 어절자질 ) bi-lstm-crfs ( 랜덤 + 음절의품사태그분포 ) 2.3 (+7.65) 표 53 기분석사전과원형복원을적용한성능비교 (%) Model 40 만어절 CRF( 음절 + 어절자질 )+ 기분석사전 + 원형복원 4.08 bi-lstm-crfs ( 랜덤 + 음절의품사태그분포 )+ 기분석사전 + 원형복원 7.0 (+3.01)
107 단추 (DANCHU) 개체명인식 [2] 에서제안한한국어개체명인식을위해 bi-lstm-crfs에입력으로들어가는단어표상을확장하는방법을이용하였다. 단어표상을확장하기위하여사전학습된단어임베딩벡터, 사전학습된품사임베딩벡터, 그리고음절기반단위임베딩벡터를사용하였다. 그결과품사임베딩벡터와음절기반단어임베딩벡터를추가한모델이사전학습된단어임베딩벡터만을사용한모델에비해 4.3% 증가한높은성능을얻을수있었다. 표 54 bi-lstm-crfs 를이용한개체명인식성능 (%) Model Micro-F1 형태소단어임베딩 74.5 형태소단어임베딩 + 형태소품사임베딩 77.58(+2.) 형태소단어임베딩 + 형태소품사임베딩 + 음절의개채명태그분포 7.52(+4.3) 의존구문분석 [3] 에서제안한음절기반임베딩벡터와 bi-lstm-crfs를이용하여의존관계명을부착하였고의존구조파싱은전이기반방식과퍼셉트론을이용하여의존구조를분석하였다. 표 55 전이기반과퍼셉트론을이용한의존파싱실험성능 (%) Model Micro-F1 전이기반의존구조파싱 표 56 bi-lstm-crfs 를이용한의존경로를적용한의존관계명부착모델 Model bi-lstm-crfs ( 어절임베딩 + 품사빈도벡터 ) bi-lstm-crfs ( 어절임베딩 + 품사빈도벡터 + 음절임베딩벡터 ) Micro-F1 5.16% 6.01% 의미역결정
108 2016 국어정보처리시스템경진대회 [4] 에서제안한음절의의미역분포벡터를이용한 bi-lstm-crfs 기반의의미역결정방법을적용하였을때표5와같이기존모델에비해 2.41% 향상된 66.13% 의의미역결정성능을보였다. 표 57 음절의의미역태그분포를이용한실험결과 (%) Model Micro-F1 bi-lstm-crfs 모델 + 서술어앞의어절만의미역결정 bi-lstm-crfs 모델 + 서술어앞의어절만의미역결정 + 음절의의미역태그분포 66.13(+2.41) 4.2 참고문헌 [1] 김혜민, 윤정민, 안재현, 배경만, 고영중, 품사분포와 Bidirectional LSTM-CRFs를이용한음절단위형태소분석기, 2016 HCLT 심사발표예정 [2] 유홍연, 고영중, 품사임베딩과음절단위개체명분포기반의 Bidirectional LSTM CRFs를이용한개체명인식, 2016 HCLT 심사발표예정 [3] 안재현, 이호경, 고영중, 의존경로와음절단위의존관계명분포기반의 Bidirectional LSTM CRFs를이용한한국어의존관계명레이블링, 2016 HCLT 심사발표예정 [4] 윤정민, 배경만, 고영중, 음절의의미역태그분포를이용한 Bidirectional LSTM-CRFs 기반의한국어의미역결정, 2016 HCLT 심사발표예정
109 한국어세줄요약기 _ summ4riz3 Ⅰ 국립국어원 한국어 세 줄 요약기 summ4riz3 설진석 연세대학교
110
111 한국어세줄요약기 _ summ4riz3 례 제 1 장소프트웨어소개 소프트웨어명칭 소프트웨어사용환경 소프트웨어특징 112 제 2 장소프트웨어설치및실행 소프트웨어설치방법 소프트웨어파일구조 주요파일설명 전체구조 소프트웨어실행방법 114 제 3 장소프트웨어기능 프로그램기능 프로그램기능제약 115 제 4 장기타
112 2016 국어정보처리시스템경진대회 소 소개 1.1 소프트웨어명칭 한국어세줄요약기 (summ4riz3) 는한국어로된문서를자동으로세줄요약해주는프로그램입니다. 자동으로문서를요약해서정리해주는프로그램이있다면편리할것이라생각했고, 직접적으로만들게된계기는한국인터넷뉴스의제목이내용을적절하게표현하고있지못하다고판단해서요약본을보는것이괜찮지않을까싶었기때문입니다. 1.2 소프트웨어사용환경 - 지원 OS: 파이선 2.7.x를지원하는모든 OS - 권장메모리 : 0.5GB 이상 - 사용언어 : 파이썬 실행환경 : 파이썬을사용할수있는모든환경 - 텍스트인코딩 : UTF-8 별도로파이썬웹프레임워크 django를활용하여온라인서비스화할수있는버전도만들었으나데모페이지를게시할서버가없었고, 이에대해선 django로웹사이트화했다는부분외에는추가되는점이없어서별도로기술하진않겠습니다. 1.3 소프트웨어특징 본소프트웨어는주어진문서에서가장중요하다고여겨지는문장을선정하여보여줍니다. 문서를자동으로요약해준다는것은시간이부족한현대인에게있어서유용한프로그램이될것이며, 기사, 위키피디아문서부터논문까지모든종류의문서에적용될수있다는장점이있습니다
113 한국어세줄요약기 _ summ4riz3 실행 2.1 소프트웨어설치방법 본소프트웨어에서사용중인외부파이썬라이브러리가있기때문에 virtualenv와같은가상환경위에서사용하는것이적절합니다. 필요한라이브러리는 requirements.txt 에기술되어있습니다. 리눅스로예를들면 0. 제출한파일중 standalone.zip 의압축해제된디렉토리를기준으로 1. pip install virtualenv 2. virtualenv venv 3. source venv/bin/activate 4. pip install r requirements.txt 5. python example.py 로 example.txt 내에있는문서를요약할수있습니다. 2.2 소프트웨어파일구조 주요파일설명 standalone 버전기준으로작성합니다. 1 실행파일 summ4riz3.py 라이브러리로써패키지되어있는파일 example.py 위패키지를사용하는예제 2 데이터파일 example.txt example.py에서예제로써이용될문서파일 3 사전파일 model/word3vec Word2Vec 알고리즘으로학습된한국어단어임베딩모델파일 model/word3vec.syn0.npy 위 word3vec 파일의부가데이터파일 model/word3vec.syn1neg.npy 위 word3vec 파일의부가데이터파일
114 2016 국어정보처리시스템경진대회 전체구조 standalone/ model/... Word2Vec 단어임베딩모델 example.txt... 사용예제에사용되는예시문서 example.py... 사용예제 summ4riz3.py... 본소프트웨어 2.3 소프트웨어실행 파이썬프롬프트혹은 IDLE에서 import summ4riz3 를한후에, 만약변수 text에문서가스트링형식으로저장되어있다고하면 summ4riz3.summarize (text) 가가장중요하다고판단되는문장 3개를출현순으로, 리스트식으로반환합니다. 다른방식으로, from summ4riz3 import TextRank TextRank(text).summarize(count=4) 와같이요약할문장의수를조절할수도있습니다. 실제로사용되는파이썬코드에서도비슷한방식으로사용할수있습니다. 그사용예시는 example.py와같으며, 이는터미널에서 python example.py 로실행해볼수있습니다
115 한국어세줄요약기 _ summ4riz3 기능 3.1 프로그램기능 본프로그램은주어진문서를문장단위로나누고, 문장들을 TextRank 알고리즘을통해서랭킹을결정해서상위 n개를뽑아내는방식으로문서를요약합니다. TextRank 알고리즘은 PageRank 알고리즘의변형이며, 여기선각노드 ( 이경우엔문장 ) 간주고받는어떤값이중요하게작용합니다. 본소프트웨어는그 어떤값 을한국어에잘맞도록새로운알고리즘을사용하였습니다. 구체적으로는주어진두문장의명사와동사가얼마나겹치는지를 jaccard coefficient로계산하고, 각문장을구성하는명사와동사들의 Word2Vec 단어임베딩벡터들의합을구해서 cosine similarity를계산하는방식으로이뤄집니다. 각각으로 PageRank를적용해서중요도를구하고, 두중요도를섞어서최종순위를매기게됩니다. 명사와동사구분에는한국어형태소분석기라이브러리를사용하여명사는어근만, 동사는원형을사용하도록했습니다. Word2Vec은나무위키 ( 와몇달간크롤링을통해수집한인터넷뉴스기사들을사용하여학습했고 ( 약 25만종류의단어 ), 학습에필요한파라미터는다양한실험을거쳐서최적의값으로사용되었습니다. 3.2 프로그램기능제약 Word2Vec 학습모델이상대적으로크기가크기때문에메모리를많이소모하며, 만약이부분을제거하고 jaccard 모델만사용하게되면메모리문제를해결할수있습니다. Word2Vec 학습모델은 out-of-vocabulary 단어를처리할수없으며, 따라서본소프트웨어는한국어만을대상으로요약해줍니다. 다만이역시도해당부분을제거하고외국어의품사태깅함수 ( 예 : nltk) 를추가하면어떤언어에서도작동하는보편적인알고리즘이됩니다
116 2016 국어정보처리시스템경진대회 기타 본소프트웨어의프로토타입인 summariz3는온라인데모가존재합니다. 이는본소프트웨어보다성능이떨어지지만잠시인터넷커뮤니티사이트들에서인기를조금얻어서언론에서소개된적이있습니다. =
117 지도표시및음성녹음 / 재생기능을가진지역어수집및검색 APP ' 뭐꼬!?' 국립국어원 Ⅰ 지도 표시 및 음성 녹음 / 재생 기능을 가진 지역어 수집 및 검색 APP ' 뭐꼬!?' 김푸름, 박소현, 심용석, 오승록, 이상호, 이재람, 안동언 전북대학교
118
119 지도표시및음성녹음 / 재생기능을가진지역어수집및검색 APP ' 뭐꼬!?' 례 제 1 장소프트웨어소개 소프트웨어명칭 소프트웨어사용환경 소프트웨어특징 121 제 2 장소프트웨어설치및실행 소프트웨어설치방법 소프트웨어파일구조 주요파일설명 전체구조 소프트웨어실행방법 소프트웨어실행 검색기능 지역어지도보기기능 ( 지도 ) 지역어정보입력기능 ( 녹음 ) 12 제 3 장소프트웨어기능 프로그램기능 지역어수집 ( 기능 1) 지역어검색 ( 기능 2) 지역어지도표시 ( 기능 3) 음성녹음및재생 ( 기능 4) 프로그램기능제약 130 제 4 장기타 추후방향 유지보수
120 2016 국어정보처리시스템경진대회 소 소개 1.1 소프트웨어명칭 명칭지도표시및음성녹음 / 재생기능을가진지역어수집및검색APP 뭐꼬!? 이다. 기존텍스트형식에머물러있던국어학연구범위를음성자료및위치정보까지도병행하여사용자가편리하게사용할수있는단계로확대하여누구나쉽게접근할수있는 APP이다 설명이소프트웨어는연구자와학생들이현재까지수집한대규모지역어데이터를충분히활용한다. 기존의지역어수집 APP은해당지역어의정보만을얻을수있으나 뭐꼬!? 는정보와위치기반서비스, 녹음기능을탑재하여실시간으로지역어에대한정보를입력할수있으며, 원하는지역어를검색하여지도에표시하여보여줄수있다. 이러한지역어지도는기존의 APP들과차별화된기능으로써해당지역어가사용되는위치를정확하게알수있으며, 더나아가여러개의지역어에대한구분까지할수있는기능이다 개발동기지역어는현재뉴스, 드라마, 영화등다양한대중매체에서공개적으로사용되고있다. 많은사람들의지역어에대한관심이늘어나고있다. 이에 뭐꼬!? 는한국인들에게올바른지역어의사용과명맥을이어나갈수있도록도움을주고자한다. 또한지역어에대한데이터관리, 지역어변화에대한정보등전문가들도사용하기에용이한 APP을만들고자하였다. 1.2 소프트웨어사용환경 - 지원os : Android 플랫폼이상스마트폰 - 권장메모리 : 16MB 이상 - 사용언어 : JAVA, PHP - 개발환경 : 서버 : APM(Apache, PHP, Mysql), JSON( 통신 ) 클라이언트 : Android Studio, JDK(1.8.x), 안드로이드기반스마트폰 - 텍스트인코딩 : UTF
121 지도표시및음성녹음 / 재생기능을가진지역어수집및검색 APP ' 뭐꼬!?' 1.3 소프트웨어특징 특징 1 지역어수집 1) 국립국어원에서배포한지역어자료 CD의데이터를기반으로제작 2) 해당지역어의녹음파일이없거나추가를원할시에사용자나관리자가직접녹음파일을저장하고수정할수있다. 2 지역어검색 1) 사용자가지역어를검색시, 해당지역어를서버에서찾고불러옴 2) 검색할때음성파일유무와지역어가통용되는위치정보를확인할수있다. 3 지역어지도표시 1) 사용자의현재위치정보를지역어와함께저장이가능하다. 2) 지역어와함께저장된위치정보를지도에표시할수있다. ( 마커 ) 4 음성녹음및재생 1) 국어정보원에서배포한지역어자료 CD에저장되어있는기존음성파일을불러온다. 2) 현재제공된 APP으로지역어녹음, 재생, 저장및수정이가능하고, 해당지역어의위치를표시할수있다 장점 1 전문가 1) 기존에지역어를수집하는방식에서스마트폰을이용하여쉽게데이터를수집및검색할수있다. 2) 단어별로구분할수있는기능을활용하여지역어가어떠한환경요건으로인해다르게사용되었는지를쉽게구분하여볼수있다. 3) 연구중알지못했던다양한지역어를사용자가입력함으로써직접답사를하지않아도연구를할수있다
122 2016 국어정보처리시스템경진대회 2 학생 1) 국어책에서쉽게접할수없는지역어와거주지역이아닌지역에대한언어를쉽게접하며언어영역에대한지식의폭이넓어질수있다. 2) 관련학과의학생들은이어플리케이션을통해자료조사를보다쉽게할수있다. 3 일반인 1) 타지역에여행을가는경우, 지역어에대한부담감없이여행할수있다 기대효과 1) 다양한기능과사용자편의성을가진스마트폰 APP 언어지도시스템을보급한다. 2) 전국적규모의언어정보를시각적으로이해할수있도록제시한다. 3) 언어연구등각계전문가가다양한조사자료를활용할수있는기반을마련한다. 4) 학생, 일반인들도쉽게지역어에접근할수있는기반을마련한다. 5) 국립국어원의조사자료활용도를높이고, 앞으로있을자료조사에효율적으로대비하는도구로사용한다. 6) 스마트폰만있으면언제어디서나지역어를확인할수있다. 7) 기존에조사된각종언어자료를통합할수있는도구를제공한다. 8) 구어와방언자료를교육에활용할수있도록시청각매체를제공한다. ) 다양한계층에서한국어의실상을잘파악할수있도록한다. 10) 무형의자산인언어자료를보존하고활용하는데기초자료로이용한다
123 지도표시및음성녹음 / 재생기능을가진지역어수집및검색 APP ' 뭐꼬!?' 실행 2.1 소프트웨어설치방법 Ÿ 현재는 APK 파일을다운받아서직접핸드폰에넣어야하지만추후 Google play store 에등록하여쉽게다운및설치가능하게변경예정 1. app-debug.apk 파일을안드로이드핸드폰에옮긴다. 2. 핸드폰의파일관리자로들어가 app-debug.apk 파일을실행시킨다. 그림 2.1) 파일관리자열기 그림 2.2) app-debug.apk 파일실행
124 2016 국어정보처리시스템경진대회 그림 2.3) 설치파일실행화면 그림 2.4) 설치완료화면 3. 알수없는출처의 APP으로인해설치가차단되었을때방법 - 설치가차단되었을경우는스마트폰기본설정에서 Play store에서다운받지않은 APP에대해서설치가불가능하게설정되어있는경우다. 이때그림 3.1) 과같이바로설정창으로넘어갈수있는화면이제공된다면설정버튼을클릭해서수정해주면된다. 그림 3.1) 핸드폰설정 APP 으로이동 그림 2.4) 알수없는출처체크
125 지도표시및음성녹음 / 재생기능을가진지역어수집및검색 APP ' 뭐꼬!?' 2.2 소프트웨어파일구조 주요파일설명 1 실행파일 1. app-debug.apk 파일 2 데이터파일 1. 모든데이터는서버및데이터베이스에저장된다. 2. 서버 ( 녹음파일저장 ) - record 폴더 : 사용자가녹음한파일이.mp4파일로저장되어진다. 3. 데이터베이스 ( 지역어정보저장 ) - record 테이블 : 지역어에대한정보 ( 표준어, 주소, 녹음파일위치등 ) 가저장된다 전체구조 Project/ src/... 소스파일리소스파일폴더 main/... 소스파일폴더 res/... 레이아웃파일폴더 drawble/... APP이미지파일폴더 string/... 언어리소스폴더 AndroidManufest.mxl....APP권한설정파일
126 2016 국어정보처리시스템경진대회 2.3 소프트웨어실행 Ÿ 어플리케이션다운로드방법은 2.1 방식과동일하다 소프트웨어실행 ( 인트로화면및메인화면 ) 그림 2.1) 인트로화면 그림 2.2) 메인화면
127 지도표시및음성녹음 / 재생기능을가진지역어수집및검색 APP ' 뭐꼬!?' 검색기능검색기능초기화면 ( 그림 3.1) 을기준으로사용자가검색하고싶은표준어를입력 ( 그림3.2) 하고검색버튼을누른다. 해당표준어에대응하는지역어리스트가화면에출력된다. 이때오른쪽에색상이표시가되는데이색상은지역어지도에보여질색상이다. 초기색상은모두동일하게설정되어있으며 ( 그림 3.3), 색상랜덤버튼을클릭하였을경우색상이변경되어보여진다 ( 그림 3.4) 그림 3.1) 검색하기초기화면 그림 3.2) 부추검색 그림 3.3) 검색완료화면 그림 3.4) 부추검색
128 2016 국어정보처리시스템경진대회 지역어지도보기기능 ( 지도 ) 검색된지역어가어느지역에서사용되어지는지간략하게확인하고싶으면검색된리스트를클릭하면사용되는지역을확인할수있다.( 그림 4.1) 만약사용되는지역을좀더세부적으로지도화면으로보고싶다면지도에보여질지역어를체크한다.( 그림 4.2) 그후색상통일버튼좌측에있는마커버튼을클릭하게되면체크되어진지역어가지도에보여지게된다.( 그림 4.3) 또한지도에표시된지역어에대해서세부적인정보및음성파일을듣고싶다면표시된마커를클릭하면세부정보화면이뜨게된다.( 그림 4.4) 여기서마이크표시의버튼을클릭하면음성파일을들을수있다. 그림 4.1) 중복된지역어확인 그림 4.2) 지도에보여질지역어체크 그림 4.3) 지역어지도보기 그림 4.3) 지도에표시된지역어세부정보확인
129 지도표시및음성녹음 / 재생기능을가진지역어수집및검색 APP ' 뭐꼬!?' 지역어정보입력기능 ( 녹음 ) 메인화면 ( 그림 5.1) 에서녹음하기기능으로들어가면녹음화면 ( 그림 5.2) 으로넘어가게된다. 이화면에서는지역어에대한녹음파일을생성할수있다. 가운데녹음버튼을클릭하게되었을시녹음중이라는표시로버튼이빨간색으로변하게된다.( 그림 5.3) 녹음중현재녹음파일의시간이가운데표시가되며, 녹음을완료하기위해서는맨우측네모버튼을클릭하면녹음이중지된다. 녹음한파일을재생하여이상이없는지확인하기위해서는맨좌측재생버튼을클릭하면녹음한파일을들어볼수있다. 녹음이완료되었다면다음버튼을클릭하여녹음파일에대한지역어정보를입력할수있는화면 ( 그림 5.4) 으로넘어간다. 이화면에서는현재나의위치가자동으로검색되어지도에표시되며해당주소가가운데보여진다. 그리고녹음파일에대한표준어및지역어를입력하고등록버튼을누르면지역어에대해녹음파일, 표준어, 지역어, 상세주소등이데이터베이스에저장된다. 그림 5.1) 메인화면 그림 5.2) 녹음초기화면 그림 5.3) 녹음중화면 그림 5.4) 녹음파일의표준어, 지역어및위치정보등록
130 2016 국어정보처리시스템경진대회 기능 3.1 프로그램기능 지역어수집 ( 기능1) 1) 스마트폰의녹음기능을이용하여지역어를녹음한다. 2) 스마트폰의 GPS기능을이용하여지역어를사용하는위치정보를입력한다. 3) 지역어에상대적인표준어를함께입력한다. 4) 지역어를제공한사람에대한정보를입력할수있다 지역어검색 ( 기능2) 1) 정보를얻고자하는지역어또는표준어를입력하여검색한다. 2) 검색된단어와같은의미를가진모든지역어가리스트로나타난다. 3) 해당단어리스트에서단어별색상을선택해분류할수있다 지역어지도표시 ( 기능3) 1) 우리나라지도에데이터가분류된색상으로나타난다.( 마커 ) ( 이때, 선택되지않은데이터는기본색으로제공한다.) 2) 지도상에서데이터 ( 마커 ) 를클릭했을때, 상세정보를볼수있는화면이제공된다 음성녹음및재생 ( 기능4) 1) 지역어수집시음성녹음및녹음된음성을확인할수있다. 2) 지역어지도의상세정보화면에서데이터음성파일을재생할수있다. 3.2 프로그램기능제약 1) 현 APP은안드로이드 OS에서만가능하다. 2) 스마트폰종류에따라화면구성이달라질수있다. 3) 사용자가녹음, 위치정보에대한권한을 APP에주지않으면사용불가하다. ( 안드로이드버전 6.0( 마쉬멜로우 ) 이상에만해당 )
131 지도표시및음성녹음 / 재생기능을가진지역어수집및검색 APP ' 뭐꼬!?' 기타 4.1 추후방향 - 사용자들의의견을반영하여 UI/UX 개선 - 외국인에게도이용가능한외국어지원 - 아이폰 (IOS) 에서도사용가능한 APP 개발 - 지역어지도의세분화개발 ( 기호표시 ) 4.2 유지보수 - 관리자는출시후정기적으로사용자들의의견을수렴하여만족도높은 APP으로개선시킨다. - 지역어연구원들과의교류를통해더나은서비스로발전시킨다. - 불필요하거나중복된정보를주기적으로확인하여제거한다
132
133 문맥기반실시간한국어문장교정시스템 Ⅰ 국립국어원 문맥 기반 실시간 한국어 문장 교정 시스템 박영근, 최재성, 김재민, 이성동, 이현아 금오공과대학교
134
135 문맥기반실시간한국어문장교정시스템 례 제 1 장소프트웨어소개 소프트웨어명칭 소프트웨어사용환경 소프트웨어특징 136 제 2 장소프트웨어설치및실행 소프트웨어설치방법 소프트웨어파일구조 주요파일설명 전체구조 소프트웨어실행방법 138 제 3 장소프트웨어기능 프로그램기능 프로그램기능제약 140 제 4 장기타
136
137 문맥기반실시간한국어문장교정시스템 실행 2.1 소프트웨어설치방법 압축파일을원하는위치에압축해제함 2.2 소프트웨어파일구조 주요파일설명 1 실행파일 SentenceAnalysor.exe --- 소프트웨어실행파일 2 모듈파일 dll/imechecker.exe --- 한영변환여부를확인하고연동 dll/vcruntime.dll --- IMEChecker.exe 를구동하기위함 dll/ucrtbased.dll--- IMEChecker.exe 를구동하기위함 dll/mfc140ud.dll --- IMEChecker.exe 를구동하기위함 3 인터페이스파일 img/ --- 프로그램내인터페이스에사용할이미지파일
138 2016 국어정보처리시스템경진대회 전체구조 < 프로그램전체구조 > 2.3 소프트웨어실행 SentenceAnalysor.exe 파일을실행한다. 다른프로그램, 예를들어메모장, 한글, 인터넷브라우저등글을입력할수있는환경에서한글입력을시작한다. 프로그램은타프로세스의사용자입력과연동되어사용자의입력을 출력한다. 2 어절이생길경우, 즉공백이두번발생할경우분석결과를 출력한다. < 기본출력화면 > 기본출력화면에서는최종교정문구를보여주며, 다른추천어절은 보여주지않는다. 또한위의슬라이드바로투명도를조절할수있다. + 를
Naver.NLP.Workshop.SRL.Sogang_Alzzam
: Natra Langage Processing Lab 한국어 ELMo 모델을이용한의미역결정 박찬민, 박영준 Sogang_Azzam Naver NLP Chaenge 서강대학교자연어처리연구실 목차 서론 제안모델 실험 결론 2 서론 의미역결정이란? 문장의술어를찾고, 그술어와연관된논항들사이의의미관계를결정하는문제 논항 : 의미역이부여된각명사구의미역 : 술어에대한명사구의의미역할
More informationMicrosoft Word - ntasFrameBuilderInstallGuide2.5.doc
NTAS and FRAME BUILDER Install Guide NTAS and FRAME BUILDER Version 2.5 Copyright 2003 Ari System, Inc. All Rights reserved. NTAS and FRAME BUILDER are trademarks or registered trademarks of Ari System,
More informationPowerPoint 프레젠테이션
Deep Learning 작업환경조성 & 사용법 ISL 안재원 Ubuntu 설치 작업환경조성 접속방법 사용예시 2 - ISO file Download www.ubuntu.com Ubuntu 설치 3 - Make Booting USB Ubuntu 설치 http://www.pendrivelinux.com/universal-usb-installer-easy-as-1-2-3/
More informationRNN & NLP Application
RNN & NLP Application 강원대학교 IT 대학 이창기 차례 RNN NLP application Recurrent Neural Network Recurrent property dynamical system over time Bidirectional RNN Exploit future context as well as past Long Short-Term
More information리눅스설치가이드 3. 3Rabbitz Book 을리눅스에서설치하기위한절차는다음과같습니다. 설치에대한예시는우분투서버 기준으로진행됩니다. 1. Java Development Kit (JDK) 또는 Java Runtime Environment (JRE) 를설치합니다. 2.
3. 3Rabbitz Book 을리눅스에서설치하기위한절차는다음과같습니다. 설치에대한예시는우분투서버 기준으로진행됩니다. 1. Java Development Kit (JDK) 또는 Java Runtime Environment (JRE) 를설치합니다. 2. 3Rabbitz Book 애플리케이션파일다운로드하여압축파일을풀고복사합니다. 3. 3Rabbitz Book 실행합니다.
More information(JBE Vol. 24, No. 1, January 2019) (Special Paper) 24 1, (JBE Vol. 24, No. 1, January 2019) ISSN 2287-
(Special Paper) 24 1 2019 1 (JBE Vol. 24 No. 1 January 2019) https//doi.org/10.5909/jbe.2019.24.1.58 ISSN 2287-9137 (Online) ISSN 1226-7953 (Print) a) a) a) b) c) d) A Study on Named Entity Recognition
More informationMicrosoft PowerPoint - chap02-C프로그램시작하기.pptx
#include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의
More informationMicrosoft Word - src.doc
IPTV 서비스탐색및콘텐츠가이드 RI 시스템운용매뉴얼 목차 1. 서버설정방법... 5 1.1. 서비스탐색서버설정... 5 1.2. 컨텐츠가이드서버설정... 6 2. 서버운용방법... 7 2.1. 서비스탐색서버운용... 7 2.1.1. 서비스가이드서버실행... 7 2.1.2. 서비스가이드정보확인... 8 2.1.3. 서비스가이드정보추가... 9 2.1.4. 서비스가이드정보삭제...
More informationMicrosoft Word - PLC제어응용-2차시.doc
과정명 PLC 제어응용차시명 2 차시. 접점명령 학습목표 1. 연산개시명령 (LOAD, LOAD NOT) 에대하여설명할수있다. 2. 직렬접속명령 (AND, AND NOT) 에대하여설명할수있다. 3. 병렬접속명령 (OR, OR NOT) 에대하여설명할수있다. 4.PLC의접점명령을가지고간단한프로그램을작성할수있다. 학습내용 1. 연산개시명령 1) 연산개시명령 (LOAD,
More information게시판 스팸 실시간 차단 시스템
오픈 API 2014. 11-1 - 목 차 1. 스팸지수측정요청프로토콜 3 1.1 스팸지수측정요청프로토콜개요 3 1.2 스팸지수측정요청방법 3 2. 게시판스팸차단도구오픈 API 활용 5 2.1 PHP 5 2.1.1 차단도구오픈 API 적용방법 5 2.1.2 차단도구오픈 API 스팸지수측정요청 5 2.1.3 차단도구오픈 API 스팸지수측정결과값 5 2.2 JSP
More information딥러닝 첫걸음
딥러닝첫걸음 4. 신경망과분류 (MultiClass) 다범주분류신경망 Categorization( 분류 ): 예측대상 = 범주 이진분류 : 예측대상범주가 2 가지인경우 출력층 node 1 개다층신경망분석 (3 장의내용 ) 다범주분류 : 예측대상범주가 3 가지이상인경우 출력층 node 2 개이상다층신경망분석 비용함수 : Softmax 함수사용 다범주분류신경망
More informationOCW_C언어 기초
초보프로그래머를위한 C 언어기초 4 장 : 연산자 2012 년 이은주 학습목표 수식의개념과연산자및피연산자에대한학습 C 의알아보기 연산자의우선순위와결합방향에대하여알아보기 2 목차 연산자의기본개념 수식 연산자와피연산자 산술연산자 / 증감연산자 관계연산자 / 논리연산자 비트연산자 / 대입연산자연산자의우선순위와결합방향 조건연산자 / 형변환연산자 연산자의우선순위 연산자의결합방향
More information<4D F736F F F696E74202D C61645FB3EDB8AEC7D5BCBA20B9D720C5F8BBE7BFEBB9FD2E BC8A3C8AF20B8F0B5E55D>
VHDL 프로그래밍 D. 논리합성및 Xilinx ISE 툴사용법 학습목표 Xilinx ISE Tool 을이용하여 Xilinx 사에서지원하는해당 FPGA Board 에맞는논리합성과정을숙지 논리합성이가능한코드와그렇지않은코드를구분 Xilinx Block Memory Generator를이용한 RAM/ ROM 생성하는과정을숙지 2/31 Content Xilinx ISE
More informationMicrosoft PowerPoint - chap01-C언어개요.pptx
#include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 프로그래밍의 기본 개념을
More informationDIY 챗봇 - LangCon
without Chatbot Builder & Deep Learning bage79@gmail.com Chatbot Builder (=Dialogue Manager),. We need different chatbot builders for various chatbot services. Chatbot builders can t call some external
More informationStuduino소프트웨어 설치
Studuino 프로그래밍환경 Studuino 소프트웨어설치 본자료는 Studuino 프로그래밍환경설치안내서입니다. Studuino 프로그래밍 환경의갱신에따라추가 / 수정될수있습니다. 목차 1. 소개... 1 2. Windows... 2 2.1. 프로그래밍환경설치... 2 2.1.1. 웹설치버전설치방법... 2 2.2. Studuino 프로그래밍환경실행...
More informationKCC2011 우수발표논문 휴먼오피니언자동분류시스템구현을위한비결정오피니언형용사구문에대한연구 1) Study on Domain-dependent Keywords Co-occurring with the Adjectives of Non-deterministic Opinion
KCC2011 우수발표논문 휴먼오피니언자동분류시스템구현을위한비결정오피니언형용사구문에대한연구 1) Study on Domain-dependent Keywords Co-occurring with the Adjectives of Non-deterministic Opinion 요약 본연구에서는, 웹문서로부터특정상품에대한의견문장을분석하는오피니언마이닝 (Opinion
More information국어 순화의 역사와 전망
전문용어의국어화 강현화 1. 들어가기 이해할 수 있는 쉬운 언어 사용의 전형을 만들고자 노력하고 있다. 따라서 본고는 전문 용어의 사용자가 전문가뿐만 아니라 일반인도 포 될 수 있다는 데에서 출발한다. 이러한 출발점을 시작으로 과연 전문 함 용어의 국어화가 어떻게 나아가야 하는지에 대해 고민해 보고자 한다. 2. 전문 용어 연구의 쟁점 2.1. 전문 용어
More informationPowerPoint 프레젠테이션
Web server porting 2 Jo, Heeseung Web 을이용한 LED 제어 Web 을이용한 LED 제어프로그램 web 에서데이터를전송받아타겟보드의 LED 를조작하는프로그램을작성하기위해다음과같은소스파일을생성 2 Web 을이용한 LED 제어 LED 제어프로그램작성 8bitled.html 파일을작성 root@ubuntu:/working/web# vi
More informationAPI STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum
API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 2012.11.23 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Document Distribution Copy Number Name(Role, Title) Date
More information슬라이드 1
Gradle 1. 도구개요 2. 설치및실행 3. 주요기능 4. 활용예제 1. 도구개요 1.1 도구정보요약 도구명 소개 특징 Gradle (http://www.gradle.org) 소프트웨어빌드자동화도구 라이선스 Apache License v2.0 Gradle 을통해소프트웨어패키지나프로젝트의빌드, 테스팅, 퍼블리슁, 배포등을자동화할수있다. Ant 의유연성과기능을
More information소프트웨어공학 Tutorial #2: StarUML Eun Man Choi
소프트웨어공학 Tutorial #2: StarUML Eun Man Choi emchoi@dgu.ac.kr Contents l StarUML 개요 l StarUML 소개및특징 l 주요기능 l StarUML 화면소개 l StarUML 설치 l StarUML 다운 & 설치하기 l 연습 l 사용사례다이어그램그리기 l 클래스다이어그램그리기 l 순서다이어그램그리기 2
More informationInstall stm32cubemx and st-link utility
STM32CubeMX and ST-LINK Utility for STM32 Development 본문서는 ST Microelectronics 의 ARM Cortex-M 시리즈 Microcontroller 개발을위해제공되는 STM32CubeMX 와 STM32 ST-LINK Utility 프로그램의설치과정을설명합니다. 본문서는 Microsoft Windows 7
More information4S 1차년도 평가 발표자료
모바일 S/W 프로그래밍 안드로이드개발환경설치 2012.09.05. 오병우 모바일공학과 JDK (Java Development Kit) SE (Standard Edition) 설치순서 Eclipse ADT (Android Development Tool) Plug-in Android SDK (Software Development Kit) SDK Components
More information1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과
1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과 학습내용 1. Java Development Kit(JDK) 2. Java API 3. 자바프로그래밍개발도구 (Eclipse) 4. 자바프로그래밍기초 2 자바를사용하려면무엇이필요한가? 자바프로그래밍개발도구 JDK (Java Development Kit) 다운로드위치 : http://www.oracle.com/technetwork/java/javas
More information비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2
비트연산자 1 1 비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2 진수법! 2, 10, 16, 8! 2 : 0~1 ( )! 10 : 0~9 ( )! 16 : 0~9, 9 a, b,
More informationArtificial Intelligence: Assignment 6 Seung-Hoon Na December 15, Sarsa와 Q-learning Windy Gridworld Windy Gridworld의 원문은 다음 Sutton 교재의 연습문제
Artificial Intelligence: Assignment 6 Seung-Hoon Na December 15, 2018 1 1.1 Sarsa와 Q-learning Windy Gridworld Windy Gridworld의 원문은 다음 Sutton 교재의 연습문제 6.5에서 찾아볼 수 있다. http://incompleteideas.net/book/bookdraft2017nov5.pdf
More information1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml 파일을텍스트에디터를이용하여 Open 합니다. config.xml 파일에서, 아
LG U+ SMS/MMS 통합클라이언트 LG U+ SMS/MMS Client Simple Install Manual LG U+ SMS/MMS 통합클라이언트 - 1 - 간단설치매뉴얼 1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml
More informationWindows 8에서 BioStar 1 설치하기
/ 콘텐츠 테이블... PC에 BioStar 1 설치 방법... Microsoft SQL Server 2012 Express 설치하기... Running SQL 2012 Express Studio... DBSetup.exe 설정하기... BioStar 서버와 클라이언트 시작하기... 1 1 2 2 6 7 1/11 BioStar 1, Windows 8 BioStar
More informationWindows Server 2012
Windows Server 2012 Shared Nothing Live Migration Shared Nothing Live Migration 은 SMB Live Migration 방식과다른점은 VM 데이터파일의위치입니다. Shared Nothing Live Migration 방식은 Hyper-V 호스트의로컬디스크에 VM 데이터파일이위치합니다. 반면에, SMB
More information1. efolder 시스템구성 A. DB B. apache - mod-perl - PHP C. SphinxSearch ( 검색서비스 ) D. File Storage 2. efolder 설치순서 A. DB (MySQL) B. efolder Service - efolder
Embian efolder 설치가이드 efolder 시스템구성 efolder 설치순서 Installation commands 1. efolder 시스템구성 A. DB B. apache - mod-perl - PHP C. SphinxSearch ( 검색서비스 ) D. File Storage 2. efolder 설치순서 A. DB (MySQL) B. efolder
More information슬라이드 1
Pairwise Tool & Pairwise Test NuSRS 200511305 김성규 200511306 김성훈 200614164 김효석 200611124 유성배 200518036 곡진화 2 PICT Pairwise Tool - PICT Microsoft 의 Command-line 기반의 Free Software www.pairwise.org 에서다운로드후설치
More informationMicrosoft Word - windows server 2003 수동설치_non pro support_.doc
Windows Server 2003 수동 설치 가이드 INDEX 운영체제 설치 준비과정 1 드라이버를 위한 플로피 디스크 작성 2 드라이버를 위한 USB 메모리 작성 7 운영체제 설치 과정 14 Boot Sequence 변경 14 컨트롤러 드라이버 수동 설치 15 운영체제 설치 17 운영체제 설치 준비 과정 Windows Server 2003 에는 기본적으로
More informationReport Designer V3.0 사용설명서 2장
타이니파머 사용자설명서 [2016-08-08] Mediaflow 김명수 설치설명서 내용 1. 개요... 5 2. 제품구성... 5 2.1. 하드웨어... 5 2.2. 소프트웨어... 6 2.3. NDVI 1.0... 6 3. 설치및설정... 8 3.1. NDVI Daemon Application... 8 3.2. NDVI Web Application... 11
More information자연언어처리
제 7 장파싱 파싱의개요 파싱 (Parsing) 입력문장의구조를분석하는과정 문법 (grammar) 언어에서허용되는문장의구조를정의하는체계 파싱기법 (parsing techniques) 문장의구조를문법에따라분석하는과정 차트파싱 (Chart Parsing) 2 문장의구조와트리 문장 : John ate the apple. Tree Representation List
More informationWeb Scraper in 30 Minutes 강철
Web Scraper in 30 Minutes 강철 발표자 소개 KAIST 전산학과 2015년부터 G사에서 일합니다. 에서 대한민국 정치의 모든 것을 개발하고 있습니다. 목표 웹 스크래퍼를 프레임웍 없이 처음부터 작성해 본다. 목표 웹 스크래퍼를 프레임웍 없이 처음부터 작성해 본다. 스크래퍼/크롤러의 작동 원리를 이해한다. 목표
More informationAdobe Flash 취약점 분석 (CVE-2012-0754)
기술문서 14. 08. 13. 작성 GNU C library dynamic linker $ORIGIN expansion Vulnerability Author : E-Mail : 윤지환 131ackcon@gmail.com Abstract 2010 년 Tavis Ormandy 에 의해 발견된 취약점으로써 정확한 명칭은 GNU C library dynamic linker
More informationMicrosoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx
To be an Android Expert 문양세강원대학교 IT 대학컴퓨터학부 Eclipse (IDE) JDK Android SDK with ADT IDE: Integrated Development Environment JDK: Java Development Kit (Java SDK) ADT: Android Development Tools 2 JDK 설치 Eclipse
More informationPowerPoint 프레젠테이션
BOOTLOADER Jo, Heeseung 부트로더컴파일 부트로더소스복사및압축해제 부트로더소스는웹페이지에서다운로드 /working 디렉터리로이동한후, wget으로다운로드 이후작업은모두 /working 디렉터리에서진행 root@ubuntu:# cp /media/sm5-linux-111031/source/platform/uboot-s4210.tar.bz2 /working
More information메일서버등록제(SPF) 인증기능적용안내서 (HP-UX - postfix) OS Mail Server SPF 적용모듈 (Perl 기반) 작성기준 HP-UX 11.11i postfix spf-filter 년 6 월
메일서버등록제(SPF) 인증기능적용안내서 (HP-UX - postfix) OS Mail Server SPF 적용모듈 (Perl 기반) 작성기준 HP-UX 11.11i postfix 2.7.1 spf-filter 1.0 2016 년 6 월 목 차 I. 개요 1 1. SPF( 메일서버등록제) 란? 1 2. SPF 를이용한이메일인증절차 1 II. postfix,
More information목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우.
소프트웨어매뉴얼 윈도우드라이버 Rev. 3.03 SLP-TX220 / TX223 SLP-TX420 / TX423 SLP-TX400 / TX403 SLP-DX220 / DX223 SLP-DX420 / DX423 SLP-DL410 / DL413 SLP-T400 / T403 SLP-T400R / T403R SLP-D220 / D223 SLP-D420 / D423
More information슬라이드 1
www.altsoft.co.kr www.clunix.com COMSOL4.0a Cluster 성능테스트 2010 년 10 월 클루닉스 / 알트소프트 개요 개요 목차 BMT 환경정보 BMT 시나리오소개 COMSOL4.0a MPP 해석실행조건 BMT 결과 COMSOL4.0a 클러스터분석결과 ( 메모리 / 성능 ) COMSOL4.0a 클러스터최종분석결과 -2- 개요
More informationMicrosoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드]
Google Map View 구현 학습목표 교육목표 Google Map View 구현 Google Map 지원 Emulator 생성 Google Map API Key 위도 / 경도구하기 위도 / 경도에따른 Google Map View 구현 Zoom Controller 구현 Google Map View (1) () Google g Map View 기능 Google
More informationMicrosoft PowerPoint - e pptx
Import/Export Data Using VBA Objectives Referencing Excel Cells in VBA Importing Data from Excel to VBA Using VBA to Modify Contents of Cells 새서브프로시저작성하기 프로시저실행하고결과확인하기 VBA 코드이해하기 Referencing Excel Cells
More information이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론
이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론 2. 관련연구 2.1 MQTT 프로토콜 Fig. 1. Topic-based Publish/Subscribe Communication Model. Table 1. Delivery and Guarantee by MQTT QoS Level 2.1 MQTT-SN 프로토콜 Fig. 2. MQTT-SN
More information1. 안드로이드개발환경설정 안드로이드개발을위해선툴체인을비롯한다양한소프트웨어패키지가필요합니다 툴체인 (Cross-Compiler) 설치 안드로이드 2.2 프로요부터는소스에기본툴체인이 prebuilt 라는이름으로포함되어있지만, 리눅스 나부트로더 (U-boot)
1. 안드로이드개발환경설정 안드로이드개발을위해선툴체인을비롯한다양한소프트웨어패키지가필요합니다. 1.1. 툴체인 (Cross-Compiler) 설치 안드로이드 2.2 프로요부터는소스에기본툴체인이 prebuilt 라는이름으로포함되어있지만, 리눅스 나부트로더 (U-boot) 만별도로필요한경우도있어툴체인설치및설정에대해알아봅니다. 1.1.1. 툴체인설치 다음링크에서다운받을수있습니다.
More informationObservational Determinism for Concurrent Program Security
웹응용프로그램보안취약성 분석기구현 소프트웨어무결점센터 Workshop 2010. 8. 25 한국항공대학교, 안준선 1 소개 관련연구 Outline Input Validation Vulnerability 연구내용 Abstract Domain for Input Validation Implementation of Vulnerability Analyzer 기존연구
More informationtiawPlot ac 사용방법
tiawplot ac 매뉴얼 BORISOFT www.borisoft.co.kr park.ji@borisoft.co.kr HP : 00-370-077 Chapter 프로그램설치. 프로그램설치 3 2 Chapter tiawplot ac 사용하기.tiawPlot ac 소개 2.tiawPlot ac 실행하기 3. 도면파일등록및삭제 4. 출력장치설정 5. 출력옵션설정
More information리눅스 프로세스 관리
프로세스 (Process) Process 프로그램이나명령어를실행하면메모리에적재되어실제로실행되고있는상태를의미 이러한프로세스들은프로세스가시작하면서할당받는프로세스식별번호인 PID(Process ID), 해당프로세스를실행한부모프로세스를나타내는 PPID(Parent Process ID), UID 와 GID 정보를통해해당프로세스가어느사용자에속해있는지, 프로세스가파일에대해갖는권한및프로세스가실행된터미널,
More informationMicrosoft PowerPoint - 30.ppt [호환 모드]
이중포트메모리의실제적인고장을고려한 Programmable Memory BIST 2010. 06. 29. 연세대학교전기전자공학과박영규, 박재석, 한태우, 강성호 hipyk@soc.yonsei.ac.kr Contents Introduction Proposed Programmable Memory BIST(PMBIST) Algorithm Instruction PMBIST
More informationResearch & Technique Apache Tomcat RCE 취약점 (CVE ) 취약점개요 지난 4월 15일전세계적으로가장많이사용되는웹애플리케이션서버인 Apache Tomcat에서 RCE 취약점이공개되었다. CVE 취약점은 W
Research & Technique Apache Tomcat RCE 취약점 (CVE-2019-0232) 취약점개요 지난 4월 15일전세계적으로가장많이사용되는웹애플리케이션서버인 Apache Tomcat에서 RCE 취약점이공개되었다. CVE-2019-0232 취약점은 Windows 시스템의 Apache Tomcat 서버에서 enablecmdlinearguments
More information다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");
다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp"); dispatcher.forward(request, response); - 위의예에서와같이 RequestDispatcher
More informationContributors: Myung Su Seok and SeokJae Yoo Last Update: 09/25/ Introduction 2015년 8월현재전자기학분야에서가장많이쓰이고있는 simulation software는다음과같은알고리즘을사용하고있다.
Contributors: Myung Su Seok and SeokJae Yoo Last Update: 09/25/2015 1. Introduction 2015년 8월현재전자기학분야에서가장많이쓰이고있는 simulation software는다음과같은알고리즘을사용하고있다. 2. Installation 2.1. For Debian GNU/Linux 국내에서사용되는컴퓨터들의
More information이보고서는 2010 년한국언론진흥재단의언론진흥기금을지원받아수행한것입니다. 보고서의내용은한국언론진흥재단의공식견해가아닌연구자의연구결과임을밝힙니다. 목 차 요약문 ⅳ Ⅰ. 서론 1 5 6 7 7 11 13 14 14 16 18 21 29 40-1 - 47 47 48 66 68 69 70 70 71 72 72 73 74-2 - < 표 > 목차 표 1 대한매일신보보급부수
More information지난시간에... 우리는 kernel compile을위하여 cross compile 환경을구축했음. UBUNTU 12.04에서 arm-2009q3를사용하여 간단한 c source를빌드함. 한번은 intel CPU를위한 gcc로, 한번은 ARM CPU를위한 gcc로. AR
Configure Kernel Build Environment And kernel & root file system Build 2018-09-27 VLSI Design Lab 1 지난시간에... 우리는 kernel compile을위하여 cross compile 환경을구축했음. UBUNTU 12.04에서 arm-2009q3를사용하여 간단한 c source를빌드함.
More informationEndNote X2 초급 분당차병원도서실사서최근영 ( )
EndNote X2 초급 2008. 9. 25. 사서최근영 (031-780-5040) EndNote Thomson ISI Research Soft의 bibliographic management Software 2008년 9월현재 X2 Version 사용 참고문헌 (Reference), Image, Fulltext File 등 DB 구축 참고문헌 (Reference),
More informationHLS(HTTP Live Streaming) 이용가이드 1. HLS 소개 Apple iphone, ipad, ipod의운영체제인 ios에서사용하는표준 HTTP 기반스트리밍프로토콜입니다. 2. HLS 지원대상 - 디바이스 : iphone/ipad/ipod - 운영체제 :
HLS(HTTP Live Streaming) 이용가이드 1. HLS 소개 Apple iphone, ipad, ipod의운영체제인 ios에서사용하는표준 HTTP 기반스트리밍프로토콜입니다. 2. HLS 지원대상 - 디바이스 : iphone/ipad/ipod - 운영체제 : ios 3.0 이상 - 콘텐츠형식 : MP4 (H264,AAC ), MP3 * 디바이스별해상도,
More information28 THE ASIAN JOURNAL OF TEX [2] ko.tex [5]
The Asian Journal of TEX, Volume 3, No. 1, June 2009 Article revision 2009/5/7 KTS THE KOREAN TEX SOCIETY SINCE 2007 2008 ko.tex Installing TEX Live 2008 and ko.tex under Ubuntu Linux Kihwang Lee * kihwang.lee@ktug.or.kr
More information슬라이드 1
핚국산업기술대학교 제 14 강 GUI (III) 이대현교수 학습안내 학습목표 CEGUI 라이브러리를이용하여, 게임메뉴 UI 를구현해본다. 학습내용 CEGUI 레이아웃의로딩및렌더링. OIS 와 CEGUI 의연결. CEGUI 위젯과이벤트의연동. UI 구현 : 하드코딩방식 C++ 코드를이용하여, 코드내에서직접위젯들을생성및설정 CEGUI::PushButton* resumebutton
More informationMicrosoft PowerPoint 자동설치시스템검증-V05-Baul.pptx
DMSLAB 자동설치시스템의 HW 정보 및사용자설정기반설치 신뢰성에대한정형검증 건국대학교컴퓨터 정보통신공학과 김바울 1 Motivation Problem: 대규모서버시스템구축 Installation ti Server 2 Introduction 1) 사용자가원하는 이종분산플랫폼구성 대로 2) 전체시스템 들의성능을반영 3) 이종분산플랫폼을지능적으로자동구축 24
More informationMulti-pass Sieve를 이용한 한국어 상호참조해결 반-자동 태깅 도구
Siamese Neural Network 박천음 강원대학교 Intelligent Software Lab. Intelligent Software Lab. Intro. S2Net Siamese Neural Network(S2Net) 입력 text 들을 concept vector 로표현하기위함에기반 즉, similarity 를위해가중치가부여된 vector 로표현
More informationEclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일
Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 Introduce Me!!! Job Jeju National University Student Ubuntu Korean Jeju Community Owner E-Mail: ned3y2k@hanmail.net Blog: http://ned3y2k.wo.tc Facebook: http://www.facebook.com/gyeongdae
More informationPowerPoint 프레젠테이션
실습 1 배효철 th1g@nate.com 1 목차 조건문 반복문 System.out 구구단 모양만들기 Up & Down 2 조건문 조건문의종류 If, switch If 문 조건식결과따라중괄호 { 블록을실행할지여부결정할때사용 조건식 true 또는 false값을산출할수있는연산식 boolean 변수 조건식이 true이면블록실행하고 false 이면블록실행하지않음 3
More informationPowerPoint Presentation
Dependency Parser 자연언어처리 Probabilistic CFG (PCFG) - CFG - PCFG with saw with saw astronomers ears saw stars telescope astronomers ears saw stars telescope PCFG example Repeated work Parsing PCFG: CKY CKY
More informationPowerPoint 프레젠테이션
주식회사미루웨어 deep learning 개발머쉰 미루웨어는 NVIDIA GPU Computing / GPU 가상화분야솔루션제공공식파트너사입니다. http://www.miruware.com / miruware@miruware.com T : 02-562-8993 / F : 02-562-8994 Deep Learning 개발환경 Unutu 장점 ( 개발머쉰 )
More information1) 인증서만들기 ssl]# cat >www.ucert.co.kr.pem // 설명 : 발급받은인증서 / 개인키파일을한파일로저장합니다. ( 저장방법 : cat [ 개인키
Lighttpd ( 멀티도메인 ) SSL 인증서신규설치가이드. [ 고객센터 ] 한국기업보안. 유서트기술팀 1) 인증서만들기 [root@localhost ssl]# cat www.ucert.co.kr.key www.ucert.co.kr.crt >www.ucert.co.kr.pem // 설명 : 발급받은인증서 / 개인키파일을한파일로저장합니다. ( 저장방법 : cat
More informationPowerPoint Template
JavaScript 회원정보 입력양식만들기 HTML & JavaScript Contents 1. Form 객체 2. 일반적인입력양식 3. 선택입력양식 4. 회원정보입력양식만들기 2 Form 객체 Form 객체 입력양식의틀이되는 태그에접근할수있도록지원 Document 객체의하위에위치 속성들은모두 태그의속성들의정보에관련된것
More informationMySQL-.. 1
MySQL- 기초 1 Jinseog Kim Dongguk University jinseog.kim@gmail.com 2017-08-25 Jinseog Kim Dongguk University jinseog.kim@gmail.com MySQL-기초 1 2017-08-25 1 / 18 SQL의 기초 SQL은 아래의 용도로 구성됨 데이터정의 언어(Data definition
More informationPowerPoint 프레젠테이션
05 장 CSS3 선택자 1. 선택자개요 2. 기본선택자 3. 속성선택자 4. 후손선택자와자손선택자 5. 반응 / 상태 / 구조선택자 CSS 블록을생성할수있다. 선택자를이해하고적절한선택자를활용할수있다. 1 선택자개요 CSS3 선택자 특정한 HTML 태그를선택할때사용하는기능 선택한태그에원하는스타일이나스크립트적용가능 그림 5-1 CSS 블록 CSS 블록 style
More informationPowerPoint 프레젠테이션
[ 인공지능입문랩 ] SEOPT ( Study on the Elements Of Python and Tensorflow ) 인공지능 + 데이터분석목적 / 방법 / 기법 / 도구 + Python Programming 기초 + NumpyArray(Tensor) youngdocseo@gmail.com 1 *3 시간 / 회 구분일자내용비고 1 회 0309
More information제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호
제이쿼리 () 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호 CSS와마찬가지로, 문서에존재하는여러엘리먼트를접근할수있다. 엘리먼트접근방법 $( 엘리먼트 ) : 일반적인접근방법
More information임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과
임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 System call table and linkage v Ref. http://www.ibm.com/developerworks/linux/library/l-system-calls/ - 2 - Young-Jin Kim SYSCALL_DEFINE 함수
More information소프트웨어설치 1. 소프트웨어설치및제거 ( 소스코드 ) 소스코드컴파일을이용한 S/W 설치 1. 소스코드다운로드 - 예 ) httpd tar.gz - 압축해제 : #tar xzvf httpd tar.gz - INSTALL 또는 README파일참조
운영체제실습 소프트웨어관리 2016. 6 표월성 passwd74@naver.com cherub.sungkyul.ac.kr 목차 Ⅶ. 소프트웨어관리 1. 소스코드컴파일을이용한소프트웨어설치 2. RPM패키지를이용한소프트웨어설치 3. YUM패키지를이용한소프트웨어설치 4. APT패키지를이용한소프트웨어설치 5. Telnet서버설치 6. ssh서버 (openssh) 설치
More information메일서버등록제(SPF) 인증기능적용안내서 (Exchange Windows 2000) OS Mail Server SPF 적용모듈 작성기준 Windows Server 2000 Exchange Server 2003 GFI MailEssentials 14 for
메일서버등록제(SPF) 인증기능적용안내서 (Exchange 2003 - Windows 2000) OS Mail Server SPF 적용모듈 작성기준 Windows Server 2000 Exchange Server 2003 GFI MailEssentials 14 for Exchange 2016 년 6 월 - 1 - 목 차 I. 개요 1 1. SPF( 메일서버등록제)
More information품질검증분야 Stack 통합 Test 결과보고서 [ The Bug Genie ]
품질검증분야 Stack 통합 Test 결과보고서 [ The Bug Genie ] 2014. 10. 목 차 I. Stack 통합테스트개요 1 1. 목적 1 II. 테스트대상소개 2 1. The Bug Genie 소개 2 2. The Bug Genie 주요기능 3 3. The Bug Genie 시스템요구사항및주의사항 5 III. Stack 통합테스트 7 1. 테스트환경
More informationMicrosoft PowerPoint UNIX Shell.ppt
컴퓨터특강 () 2006 년봄학기 문양세강원대학교컴퓨터과학과 Shell? Shell이란명령어해석기 (Command Processor or Command Interpreter): 사용자가입력하는명령을읽고해석하는프로그램프로그래밍언어 : Shell이해석할수있는스크립트 (shell script) 라는프로그램을작성유닉스를사용하는데있어주요한인터페이스 Page 2 1 Shell
More informationMango-IMX6Q mfgtool을 이용한 이미지 Write하기
Mango-IMX6Q mfgtool 을 이용한이미지 Write 하기 http://www.mangoboard.com/ http://cafe.naver.com/embeddedcrazyboys Crazy Embedded Laboratory www.mangoboard.com cafe.naver.com/embeddedcrazyboys CRZ Technology 1 Document
More information쉽게 풀어쓴 C 프로그래밍
CHAPTER 13. HTML5 위치정보와드래그앤드롭 SVG SVG(Scalable Vector Graphics) 는 XML- 기반의벡터이미지포맷 웹에서벡터 - 기반의그래픽을정의하는데사용 1999 년부터 W3C 에의하여표준 SVG 의장점 SVG 그래픽은확대되거나크기가변경되어도품질이손상되지않는다. SVG 파일에서모든요소와속성은애니메이션이가능하다. SVG 이미지는어떤텍스트에디터로도생성하고편집할수있다.
More information작성자 : 기술지원부 김 삼 수
작성자 : 기술지원부김삼수 qpopper 설치 qpopper란무엇인가? 메일수신을하기위해필요한프로그램으로 qpopper는가장인기있는 email 클라이언트에의해사용되는인터넷 email 다운로딩을위한 POP3프로토콜을사용합니다. 그러나 qpopper는 sendmail이나 smail과같이 SMTP프로토콜은포함하고있지않습니다. (
More informationMicrosoft PowerPoint 통신 및 압축 명령어.ppt
컴퓨터특강 () 2006 년봄학기 문양세강원대학교컴퓨터과학과 PING 원격지컴퓨터의상태 (accessible 여부 ) 를확인 $ ping host-name // alive or dead check $ ping s host-name // packet 송수신확인 Page 2 1 TELNET (1/4) telnet 은원격지에있는상대방컴퓨터에자신의컴퓨터를접속하여,
More information1) 인증서만들기 ssl]# cat >www.ucert.co.kr.pem // 설명 : 발급받은인증서 / 개인키파일을한파일로저장합니다. ( 저장방법 : cat [ 개인키
Lighttpd ( 단일도메인 ) SSL 인증서신규설치가이드. [ 고객센터 ] 한국기업보안. 유서트기술팀 1) 인증서만들기 [root@localhost ssl]# cat www.ucert.co.kr.key www.ucert.co.kr.crt >www.ucert.co.kr.pem // 설명 : 발급받은인증서 / 개인키파일을한파일로저장합니다. ( 저장방법 : cat
More informationRaspbian 설치 라즈비안 OS (Raspbian OS) 라즈베리파이 3 Model B USB 마우스 USB 키보드 마이크로 SD 카드 마이크로 SD 카드리더기 HDM I 케이블모니터
운영체제실습 Raspbian 설치 2017. 3 표월성 wspyo74@naver.com cherub.sungkyul.ac.kr 목차 Ⅰ. 설치 1. 라즈비안 (Raspbian 설치 ) 2. 설치후, 설정 설정사항 Raspbian 설치 라즈비안 OS (Raspbian OS) 라즈베리파이 3 Model B USB 마우스 USB 키보드 마이크로 SD 카드 마이크로
More informationData Sync Manager(DSM) Example Guide Data Sync Manager (DSM) Example Guide DSM Copyright 2003 Ari System, Inc. All Rights reserved. Data Sync Manager
Data Sync Manager (DSM) Example Guide DSM Copyright 2003 Ari System, Inc. All Rights reserved. Data Sync Manager are trademarks or registered trademarks of Ari System, Inc. 1 Table of Contents Chapter1
More informationMicrosoft PowerPoint - chap04-연산자.pptx
int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); } 1 학습목표 수식의 개념과 연산자, 피연산자에 대해서 알아본다. C의 를 알아본다. 연산자의 우선 순위와 결합 방향에
More information임베디드시스템설계강의자료 4 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과
임베디드시스템설계강의자료 4 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 Outline n n n n n n 보드개요보드연결필수패키지, Tool-Chain 설치 Kernel, file system build Fastboot 및 Tera Term설치 Kernel, file system 이미지전송및설치 - 2 - Young-Jin Kim X-Hyper320TKU
More information슬라이드 1
CCS v4 사용자안내서 CCSv4 사용자용예제따라하기안내 0. CCS v4.x 사용자 - 준비사항 예제에사용된 CCS 버전은 V4..3 버전이며, CCS 버전에따라메뉴화면이조금다를수있습니다. 예제실습전준비하기 처음시작하기예제모음집 CD 를 PC 의 CD-ROM 드라이브에삽입합니다. 아래안내에따라, 예제소스와헤더파일들을 PC 에설치합니다. CD 드라이브 \SW\TIDCS\TIDCS_DSP80x.exe
More informationPowerPoint Template
설치및실행방법 Jaewoo Shim Jun. 4. 2018 Contents SQL 인젝션이란 WebGoat 설치방법 실습 과제 2 SQL 인젝션이란 데이터베이스와연동된웹서버에입력값을전달시악의적동작을수행하는쿼리문을삽입하여공격을수행 SELECT * FROM users WHERE id= $_POST[ id ] AND pw= $_POST[ pw ] Internet
More information아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상
Android 용 Brother Image Viewer 설명서 버전 0 KOR 아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상표입니다. Android는
More information슬라이드 1
NeoDeveloper 설치가이드 차례 1. 환경 3 2. 설치 3 2.1 웹서버설치 3 Tomcat 7 3 JDK 1.6 3 2.2 NeoDeveloper 설치 3 Neo Developer 서버구성 3 Demo용 User Application 구성 4 Neo Developer 서버 Data File 4 Client 개발 Tool 설치 4 3. 설정 5 3.1
More information커알못의 커널 탐방기 이 세상의 모든 커알못을 위해서
커알못의 커널 탐방기 2015.12 이 세상의 모든 커알못을 위해서 개정 이력 버전/릴리스 0.1 작성일자 2015년 11월 30일 개요 최초 작성 0.2 2015년 12월 1일 보고서 구성 순서 변경 0.3 2015년 12월 3일 오탈자 수정 및 글자 교정 1.0 2015년 12월 7일 내용 추가 1.1 2015년 12월 10일 POC 코드 삽입 및 코드
More information지능정보연구제 16 권제 1 호 2010 년 3 월 (pp.71~92),.,.,., Support Vector Machines,,., KOSPI200.,. * 지능정보연구제 16 권제 1 호 2010 년 3 월
지능정보연구제 16 권제 1 호 2010 년 3 월 (pp.71~92),.,.,., Support Vector Machines,,., 2004 5 2009 12 KOSPI200.,. * 2009. 지능정보연구제 16 권제 1 호 2010 년 3 월 김선웅 안현철 社 1), 28 1, 2009, 4. 1. 지능정보연구제 16 권제 1 호 2010 년 3 월 Support
More information<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>
리눅스 오류처리하기 2007. 11. 28 안효창 라이브러리함수의오류번호얻기 errno 변수기능오류번호를저장한다. 기본형 extern int errno; 헤더파일 라이브러리함수호출에실패했을때함수예 정수값을반환하는함수 -1 반환 open 함수 포인터를반환하는함수 NULL 반환 fopen 함수 2 유닉스 / 리눅스 라이브러리함수의오류번호얻기 19-1
More informationSBR-100S User Manual
( 1 / 13 ) SBR-100S 모델에 대한 사용자 펌웨어 업그레이드 방법을 안내해 드립니다. SBR-100S 는 신규 펌웨어가 있을시 FOTA(자동업데이트) 기능을 통하여 자동 업그레이드가 되며, 필요시 사용자가 신규 펌웨어를 다운받아 수동으로 업그레이드 할 수 있습니다. 1. 준비하기 1.1 연결 장치 준비 펌웨어 업그레이드를 위해서는 SBR-100S
More information문서의 제목 나눔고딕B, 54pt
산업공학과를위한 프로그래밍입문 (w/ 파이썬 ) PART II : Python 활용 가천대학교 산업경영공학과 최성철교수 간단한파일다루기 [ 생각해보기 ] 우리는어떻게프로그램을시작하나? 보통은이렇게생긴아이콘을누른다! 그러나실제로는아이콘이아닌 실행파일 을실행시키는것아이콘을클릭하고오른쪽마우스클릭 속성 을선택해볼것 [ 생각해보기 ] 옆과같은화면이나올것이다대상에있는
More information메일서버등록제(SPF) 인증기능적용안내서 (HP-UX - qmail) OS Mail Server SPF 적용모듈 (Perl 기반) 작성기준 HP-UX 11.11i qmail 1.03 spf-filter 년 6 월
메일서버등록제(SPF) 인증기능적용안내서 (HP-UX - qmail) OS Mail Server SPF 적용모듈 (Perl 기반) 작성기준 HP-UX 11.11i qmail 1.03 spf-filter 1.0 2016 년 6 월 목 차 I. 개요 1 1. SPF( 메일서버등록제) 란? 1 2. SPF 를이용한이메일인증절차 1 II. qmail, SPF 인증모듈설치
More informationPowerPoint 프레젠테이션
WEB SERVER PORTING 1 Jo, Heeseung 웹서버포팅 HBE-SM5-S4210 를임베디드웹서버로사용할수있도록웹서버를올리는작업 임베디드서버에널리쓰이는웹서버들중 GoAhead 라는웹서버를포팅 CGI 프로그램을이용하여웹에서 HBE-SM5-S4210 의 LED, 7- Segment, TextLCD 를제어실습 2 Goahead webserver 소스를다운받거나제공된
More information프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음
프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음 CHAPTER 9 둘중하나선택하기 관계연산자 두개의피연산자를비교하는연산자 결과값은참 (1) 아니면거짓 (0) x == y x 와 y 의값이같은지비교한다. 관계연산자 연산자 의미 x == y x와 y가같은가? x!= y
More information2 / 27 목차 1. M-plus 소개 2. 중다회귀 3. 경로모형 4. 확인적요인분석 5. 구조방정식모형 6. 잠재성장모형 7. 교차지연자기회귀모형
M-Plus 의활용 - 기본모형과예제명령어 - 성신여자대학교 심리학과 조영일, Ph.D. 2 / 27 목차 1. M-plus 소개 2. 중다회귀 3. 경로모형 4. 확인적요인분석 5. 구조방정식모형 6. 잠재성장모형 7. 교차지연자기회귀모형 3 / 27 1. M-plus 란? 기본정보 M-plus 는구조방정식모형과종단자료분석 ( 잠재성장모형 ) 의분석에사용되기위해서고안된프로그램임.
More informationPowerPoint 프레젠테이션
How to produce ChemML and MathML 조윤상 ( 과편협기획운영위원 ) 1 Applications of XML Applications of XML RDF (Resource Description Framework) : 자원의정보를표현하기위한규격, 구문및구조에대한공통적인규칙을지원. RSS (Rich Site Summary) : 뉴스나블로그사이트에서주로사용하는콘텐츠표현방식.
More information2017 년 6 월한국소프트웨어감정평가학회논문지제 13 권제 1 호 Abstract
2017 년 6 월한국소프트웨어감정평가학회논문지제 13 권제 1 호 Abstract - 31 - 소스코드유사도측정도구의성능에관한비교연구 1. 서론 1) Revulytics, Top 20 Countries for Software Piracy and Licence Misuse (2017), March 21, 2017. www.revulytics.com/blog/top-20-countries-software
More information