IS lab. 김건영 http://hagazzusa.github.io/ 정보검색기 구현 프로젝트 안내사항 IS lab. 김건영 http://hagazzusa.github.io/
정보검색기 구현 프로젝트 외부 검색 라이브러리 사용 불가 6/18 ~ 6/25 보강 날짜 중 하루 최종 발표 (추후확정) 최종발표는 PPT 1~2장으로 3분내 발표(모델, 성능) 발표 후 이메일 제출(gyk@kangwon.ac.kr) 팀단위로 프로젝트 진행 가능
한국어 데이터 셋 2015년도 한글 및 한국어 학회 CQA 데이터셋 # 문서번호 \n 문서제목\n 문서내용\n 구조는 아래와 같고 데이터는 프로젝트 외 사용을 불허함 # 문서번호 \n 문서제목\n 문서내용\n
한국어 데이터 셋 CQA: 커뮤니티 기반 질의 응답 질의가 들어왔을 때, 존재하는 QnA 게시글을 정보검색 총 20개의 쿼리가 주어지며 검색 결과 양식은 AP88 데이 터셋과 똑같이 하면 된다. 20 쿼리 중 일부
한국어 전처리 방법 한국어는 조사가 붙어 한 어절이 완성 되므로 같은 의미 의 단어라도 여러 모양을 가진다. (ex: 고마워, 고맙다, 고마운데, 고맙지만, 고맙고 등) 영어라면 stemming을 쓰지만 한국어는 음절 단위로 나 눠 사용할 경우 가장 좋은 성능을 보인다. (음절 단위 bi-gram : 고맙다 -> 고맙, 맙다) 한국어에서 쓰는 주 전처리 방법 2가지를 알아보자. 1. 음절단위 n-gram 2. 형태소단위 n-gram
음절단위 n-gram 음절단위 uni-gram 음절단위 bi-gram 음절단위로 보는 작은 창이 있다고 보면 쉽다. <s>는 문 장의 시작을, <sp>는 띄어쓰기를 나타낸다. 음절단위 tri-gram은 어떻게 나타날까? 어떻게 표기하는 것이 좋을까요? <s> 어 떻 게 <sp> 표 기 하 는 <sp> 것 이 <sp> 좋 을 까 요 ? </s> 어떻게 표기하는 것이 좋을까요? <s>어 어떻 떻게 게<sp> <sp>표 표기 기하 하는 는<sp> <sp>것 것이 이<sp> <sp>좋 좋을 을까 까요 요? ?</s>
형태소 단위 n-gram 형태소 단위 uni-gram 말 그대로 의미를 가지는 최소 단위지만 일반적으로 tf- idf와 bm25등에서는 음절 단위 n-gram이 더 좋은 성능 을 보여준다. 추가적으로 형태소 분석기 툴이 필요하다. [1]에서 음절과 형태소 단위 n-gram을 적절히 같이 사용 할 경우 더 좋은 성능을 낼 수 있음을 보였다. [1]황현선, 최경호, 김건영, 오준호, 이창기. 딥러닝을 적용한 CQA 시스템 구현, 한국정보과학회 동계학술발표회, 2015 어떻게 표기하는 것이 좋을까요? <s> 어떻/VA 게/EC 표기/NNG 하/XSV 는/ETM 것/NNB 이/JKS 좋/VA 을까요/EF ?/SF </s>
형태소 단위 n-gram http://konlpy-ko.readthedocs.io/ko/v0.4.3/
음절과 형태소 비교 Daum 영화평 60만 문장 음절단위 bi-gram과 형태소단위 uni-gram은 사전 크기 가 비슷하며 어느 정도 같은 정보를 함축한다고 볼 수 있 다. 음절단위 tri-gram의 경우 사전크기가 너무 커서 정 보가 분산되었다.
Python2에서 유니코드 사용 Python2의 스트링 구조는 ASCII를 기반으로 하여 1바이 트 단위이다. 한글 문자 인코딩 중 하나인 유니코드(UTF-8)는 4바이트 를 사용하므로 다음과 같은 현상이 발생한다.
Python2에서 유니코드 사용 1. 한글 스트링 변수 선언시 “”앞에 u를 붙여 유니코드임을 명시해줄 수 있다.
Python2에서 유니코드 사용 2. 파일에서 읽어온 라인을 사용할 때 파이썬 string의 메소드 중 하나인 decode를 써서 utf-8 로 전환해 줄 수 있다.