SlideShare ist ein Scribd-Unternehmen logo
1 von 57
Downloaden Sie, um offline zu lesen
Context2Vec 기반
Word Sense Disambiguation
단어 의미 중의성 해소
이찬희
2020. 04. 13.
목차
• 단어 의미 중의성 해소
• 기존 프로세스
• Context2Vec
• Context2Vec 기반 단어 의미 중의성 해소
단어 의미 중의성 해소
자연어 처리 과정
형태소 분석
Morpheme analysis
구문 분석
Syntax analysis
의미 분석
semantic analysis
화용 분석
Pragmatic analysis
형태소 단위의 분절 및
POS 태그 부착
구문 태그 부착
문장구조 파악
단어 의미 중의성 해소
의미역 인식
정보 추출
(대명사가 가리키는 의미부터...)
의미 분석
• 단어, 구, 문장 등의 단위의 의미를 인식하는 과정
구문 분석에 비해 해당 단계에서
진행해야 할 작업이 모호한 편인 것 같다.
의미를 인식하는 모든 처리가
해당 단계에 들어간다고 할 수 있을 것 같다.
단어 의미 중의성 해소
문맥을 확인하여
등장한 동형이의어의
의미를 찾는 과정
Word Sense Disambiguation (WSD)
단어 정리
• 동형이의어: 같은 형태를 가지지만 뜻이 다른 단어
• 의미(=센스): 동형이의어가 가지는 의미
• 동형어 번호: 사전에서 동형이의어가 가지는 의미를 구분하기 위해 부착하는 번호
(사전마다 다른 체계를 가진다)
• 예시: 단어 '생태'
자연어 분석에서 진행되어야 할 어깨번호 부착네이버 국어사전의 검색결과
표준국어대사전 상의 동형이의어
'생태'의 1번 의미
2번 의미
문서의 자연어 처리 후 동형이의어 '생태'의
어깨번호가 부착된 결과
기존 프로세스
단어 의미 중의성 해소 모델
• 정한조(2015) 논문을 토대로 구현
• 생략하거나 달라진 방식
• 논문) 명사만 대상으로 진행 → 변경) 체언, 용언, 수식언, 어근
• 사전의 예문은 사용하지 않음
• 표준국어대사전과 세종 형태의미 말뭉치를 사용
• 표준국어대사전 상의 동음이의어로 한정 (말뭉치와 표준국어대사전 사이의 다른 점을 표준국어대사전 기준으로 변경 및 생략)
• Ramped window가 적용된 벡터 공간 모델과 나이브 베이즈 분류기를 통해 단어 의미 중의성을 해결
• 정한조와 박병화, “사전과 말뭉치를 이용한 한국어 단어 중의성 해소,” 한국 지능정보시스템학회논문지, 2015.
(일반, 고유, 의존 명사)
(동사, 형용사)
(관형사, 일반 부사, 접속 부사)
말뭉치 상에는 동음이의어인데
표준국어대사전에는 아닌 경우
또는 그 반대의 경우 등등
세종 형태의미 말뭉치
• 문장 별로 형태소 분석과 형태소 단위의 어깨번호를
부착한 말뭉치
• 표준국어대사전을 기준으로 어깨번호 부착
• 내용어(↔기능어) 중심으로 부착: 세종 품사 기준으로, 일반명사,
의존명사, 동사, 형용사, 관형사, 일반부사 내에서 부착 진행
• 부착 방법: 표제어 전후 5어절을 확인하여 어깨번호 부착
• 특수한 어깨번호(누락시켜야 할 예외상황)
• 00, 88: 사전에 등재되지 않은 어휘
• 99: 형태분석 말뭉치의 분석 오류
• x<번호>: 사전과 말뭉치의 품사 분류 비일치
• 국립국어원, “21세기 세종계획 국어 기초자료 구축, 2004 결과보고서.” 2004.
세종 형태의미 말뭉치 예시
<형태소>__<어깨번호>/<품사>
벡터 공간 모델
Vector Space Model or Term Space Model
• 간단한 Vector Space Model 설명, https://yumere.tistory.com/85
Vocabulary
Document
벡터의 원소
학습 과정에서 등장한 모든 단어,
단어마다 고유의 인덱스를 가지게 된다
학습 과정에서 등장한 모든
문서, 단어와 마찬가지로
고유의 인덱스를 가지게 된다
학습을 통해 생성된 값으로,
값을 산출하는 방법은
Boolean Model, TF-IDF 등이 있다
단어 벡터 각각의 문서는 단어 벡터로
변환되며, 문서 간 비교 또는
쿼리와 비교를 통해 유사도를
산출하게 된다
벡터 공간 모델 (WSD 문제에서)
Vector Space Model for WSD
Vocabulary
벡터의 원소
동형이의어를 포함한 학습 대상인 모든 형태소
Ramped window의 합으로
벡터값을 산출한다.
센스 벡터
동형이의 형태소
(형태소 + 어깨번호)
Ramped Window
형태소 남미 풍 의 강렬 하 ᆫ 원색 끼리 의 조화 , 수채화 같이 안온 하 ᆫ 배색 등
어깨번호 02 07 05
품사 NNP XSN JKG XR XSA ETM NNG XSN JKG NNG SP NNG MAG NNG XSA ETM NNG NNB
Score 3 4 5 - 5 4 3 2 1
동형이의 형태소
학습 대상 아님 (학습 대상 품사가 아님)
학습 대상 형태소
• Ramped window는 Co-occurence 타겟 단어를 기준으로 가까울 수록 높은 점수를 부여하는 방법
• 동형이의 형태소를 기준으로 5점부터 멀어질 때마다 순차적으로 4점, 3점, …, 1점까지 부여
• 센스 벡터에 누적
나이브 베이즈 분류기
Naïve bayes Classifier
• 베이즈 정리를 기초
• 독립성 가정
• 강한 가정이 들어가지만 실증적으로 높은 효과를 보임
(베이즈 정리)
(독립성 가정)
(베이지안 확률 용어로 작성)
클래스 k
발생한 사건 x
사건이 발생한 상황에서는
상수값이 된다
• 나이브 베이즈 분류, https://ko.wikipedia.org/wiki/나이브_베이즈_분류
나이브 베이즈 분류기 (WSD 문제에서)
Naïve bayes Classifier for WSD
학습시킨 Vector Space로 구한
Cosine Similarity로 대체
나이브 베이즈 분류기 (WSD 문제에서, 예시)
• 발견한 동음이의어: 조화
• 센스 가짓수: 7가지
• 주변 단어
Distance Weight 부여 결과
• 남미 : 3
• 강렬 : 4
• 원색, 02 : 5
• 수채화 : 5
• 같이 : 4
• 안온 : 3
• 배색 : 2
• 색, 03 : 1
조화, 01
조화, 02
조화, 03
조화, 04
조화, 05
조화, 06
조화, 07
남미 강렬 원색
02
배색 색
03
수 많은 다른 형태소도 존재
…
[ 3 4 5 … 2 1 ]쿼리 벡터
벡터 공간
모델에서
동음이의어의
센스 벡터들을
검색
주변 단어의
Distance
Weight를 통해
쿼리 벡터를 생성
쿼리와 동음이의어의 센스
벡터들로 Cosine
Similarity 산출
조건부 확률
0.
0.
0.
0.023
0.
0.
0.009
사전 확률
0.001
0.
0.
0.057
0.007
0.
0.934
사후 확률
(과 비례하는 값)
0.
0.
0.
0.001
0.
0.
0.009
동음이의어의
등장빈도로
산출
모델 평가
• 10-fold CV
• Precision과 Recall
• Precision만 사용
• Recall은 항상 100%, 표준국어대사전을 기준으로 동음이의어는 항상 평가를 하기 때문
Precision =
올바르게 예측한 중의어의 수
전체 중의어의 수
Recall =
예측한 중의어의 수
전체 중의어의 수
단어 의미 중의성 해소에서의 Precision과 Recall 계산식
모델 평가 결과
• Precision: 평균 93.1%
• 논문의 Precision 96.04%
• 대상 품사를 명사로 한정
• 표준국어대사전의 예문까지 모두 활용했을 때의 Precision
• 순서대로 처리했을 때 마스킹 처리가 전혀 없었음
체언 용언 수식언 어근
• 튜플의 형식: (정확하게 판단한 동음이의어, 동음이의어 등장횟수, Precision)
시각화 반영
동음이의어에 부착된 어깨번호들
시각화 반영
동음이의어에 부착된 어깨번호들
한계
• 학습 시 성능과 실제 사용 시 성능에 차이가 발생
• 세종 말뭉치의 원문과 실제 사용하는 원문의 어휘가 다름
• 유사도를 구하지 못하고 사전 확률이 결과로 이어지는 빈도가 너무 높음
• 운영이 적용하기 위한 난이도가 높음
• 세종 형태의미 말뭉치 수준으로 도메인 말뭉치를 구축하는 것이 힘듦
• 기존 사전 확률의 비율을 고려하여 일정량 이상의 말뭉치 구성을 해야 효과를 볼 수 있음
Context2Vec
Context2Vec
• Melamud, Oren, Jacob Goldberger, and Ido Dagan. "context2vec: Learning generic
context embedding with bidirectional lstm." Proceedings of The 20th SIGNLL
Conference on Computational Natural Language Learning. 2016.
• Word2Vec CBOW 모델과 동일한 개념
• 컨텍스트 임베딩 결과와 단어의 임베딩 결과가 유사하도록 학습
• Word2Vec CBOW 모델의 Average of Word Embeddings(AWE) 방법을
Bi-LSTM + MLP로 변형 (더 적극적인 학습)
• (Word2Vec) 윈도우 → (Context2Vec) 문장 전체, Bi-LSTM
• (Word2Vec) 임베딩 평균 값 → (Context2Vec) 다층 퍼셉트론, MLP
컨텍스트 임베딩
• 단어 수준 임베딩: 개별 단어를 임베딩(Word2Vec, Glove)
• 문장 수준 임베딩: 문장 전체를 임베딩(Doc2Vec)하거나 하는 과정이 포함(ELMo)되어 있음
• 컨텍스트 임베딩
• 문장 전체 또는 문장보다 좁은 범위의 단어 시퀀스를 임베딩
• 타겟 단어(Target word)를 기준으로 문장을 임베딩
• 같은 문장이더라도 기준 단어가 다르면 다른 임베딩 결과를 반환
Word2Vec CBOW
Word2Vec CBOW
타겟 단어
Word2Vec CBOW
타겟 단어
컨텍스트 윈도우 내
단어의 임베딩
Word2Vec CBOW
타겟 단어
컨텍스트 윈도우 내
단어의 임베딩
컨텍스트 임베딩
(윈도우 내 단어
임베딩의 평균)
Word2Vec CBOW
타겟 단어
컨텍스트 윈도우 내
단어의 임베딩
컨텍스트 임베딩
(윈도우 내 단어
임베딩의 평균)
타겟 단어의
임베딩
Word2Vec CBOW
타겟 단어
컨텍스트 윈도우 내
단어의 임베딩
컨텍스트 임베딩
(윈도우 내 단어
임베딩의 평균)
타겟 단어의
임베딩
목적 함수를 통해
양 임베딩이
유사해지도록 학습
Context2Vec
Context2Vec에서 변경된 부분
• (W2V) 윈도우 → (C2V) 문장 전체, Bi-LSTM
• (W2V) 평균 → (C2V) MLP
Context2Vec
Context2Vec
타겟 단어
Context2Vec
타겟 단어
타겟 단어의
왼쪽 단어 시퀀스
정방향 (좌 → 우) 입력
타겟 단어의
오른쪽 단어 시퀀스
역방향 (우 → 좌) 입력
Context2Vec
타겟 단어
타겟 단어의
왼쪽 단어 시퀀스
정방향 (좌 → 우) 입력
타겟 단어의
오른쪽 단어 시퀀스
역방향 (우 → 좌) 입력
양쪽 시퀀스의
마지막 은닉 상태를
연결 및 MLP에 입력
Context2Vec
타겟 단어
타겟 단어의
왼쪽 단어 시퀀스
정방향 (좌 → 우) 입력
타겟 단어의
오른쪽 단어 시퀀스
역방향 (우 → 좌) 입력
양쪽 시퀀스의
마지막 은닉 상태를
연결 및 MLP에 입력
타겟 단어의
임베딩
Context2Vec
타겟 단어
타겟 단어의
왼쪽 단어 시퀀스
정방향 (좌 → 우) 입력
타겟 단어의
오른쪽 단어 시퀀스
역방향 (우 → 좌) 입력
양쪽 시퀀스의
마지막 은닉 상태를
연결 및 MLP에 입력
타겟 단어의
임베딩
목적 함수를 통해
양 임베딩이
유사해지도록 학습
Context2Vec 활용
• 문장 완성 (Sentence completion)
• 단어 의미 중의성 해소 (Word sense disambiguation)
Context2Vec 기반
단어 의미 중의성 해소
Context2Vec 기반 단어 의미 중의성 해소
• Context2Vec: 타겟 단어의 컨텍스트를 벡터화
• Context2Vec 기반 단어 의미 중의성 해소
• 학습
• 말뭉치에 동형이의어가 등장하면, (표제어, 동형어 번호, 컨텍스트 벡터)를 저장
• 예측
• 동형이의어 등장 시 문장을 컨텍스트 벡터로 변환
• 말뭉치를 통해 학습한 표제어의 컨텍스트 벡터 중 가장 유사한 벡터의 동형어 번호를 반환
Context2Vec 기반 단어 의미 중의성 해소, 학습
1. 말뭉치의
동형이의어 검색
3. (표제어, 동형어 번호,
컨텍스트 벡터)
집합 저장
(수성, 08)
(수성, 05)
(수성, 04)
…
…
Context2Vec 모델 통과
2. 컨텍스트
벡터 추출
Context2Vec 기반 단어 의미 중의성 해소, 예측
1. 원문의
동형이의어
검사
3. 학습 시 추출한 컨텍스트
벡터 집합과 비교
(Cosine similarity)
(수성, 08)
(수성, 05)
(수성, 04)
…
…
…
코스피, 한·미 정책
기대·우려 교차 속
1700선 수성 실패
…
0.7, 동형어 번호 08번 부착
0.1
-0.3
2. 컨텍스트
벡터 추출
Context2Vec
모델 통과
동일한 표제어의
컨텍스트 벡터만
필터링
Context2Vec 학습
• 학습 데이터
• 뉴스 20만 문서
• 위키피디아 46만여 문서 (동음이의어 문서 제거)
• 세종 형태의미 말뭉치 79만여 문장의 95%
• 총 815만여 문장
• 학습 파라미터 (논문, 학습)
• 컨텍스트 단어 임베딩 차원: 300, 150
• 타겟 단어 임베딩 차원: 600, 300
• LSTM 은닉층 차원: 600, 300
• MLP 입력층/은닉층 차원: 1200, 600
• Epoch 10회 이내로 진행
• 학습 모델은 논문 대비 1/2 크기로 줄임
• 사용하기에 학습 모델의 크기가 너무 컸음
• 사용 시 속도 면에서도 연산량이 너무 큼
단어 의미 중의성 해소 모델의
테스트 데이터 분리를 위해
단어 의미 중의성 해소 모델 학습
• 학습 및 테스트 데이터
• 세종 형태의미 말뭉치 79만여 문장을 95%, 5%로 분리
• 학습 및 평가 방법
• 학습 데이터에서 등장한 동형이의어의 문장을 컨텍스트 벡터로 저장
• 평가 데이터에서 등장한 동형이의어의 문장을 컨텍스트 벡터로 추출하여 학습 컨텍스트 벡터와
Cosine similarity 수행 후 가장 큰 컨텍스트 벡터의 동형어 번호 부착
Context2Vec 학습 시와
동일한 문장 집합
모델 평가 결과
• Precision: 97.91% > 93.1% (기존)
• 딥 러닝 모델의 적용으로
Precision의 증가에 더해
Sparcity 문제를 해결할 수 있었음
• Sparcity 문제가 Context2Vec에서
해결되기 때문에, 단순한 말뭉치로
더 많은 Vocabulary를 쉽게
확보할 수 있음
단어 의미 중의성 해소 말뭉치 작성
컨텍스트 벡터를 생성하기 위해 원문과 동형이의어 표제어, 동형어 번호를 작성하는 것으로 비교적 간단하게 말뭉치를 확
장할 수 있음 (형태소 분석에서 표제어와 일치하는 토큰이 만들어져야 한다는 조건이 필요)
서비스를 위해 추가한
동형어 번호
개체명 태그와 유사한
역할을 함
(LO: 지역, OR: 단체,
ST: 종목)
서비스 적용 목표 - 종목 뉴스 필터링
• 종목 뉴스 추출은 1차적으로 검색 엔진의 키워드 매칭을 통해 진행
• 하지만 중의성을 가지는 종목명의 경우 필터링이 필요
• 필터링이 잘 되지 않았을 시에 서비스 퀄리티에 심각한 영향을 미치게 됨
네이버 증권 뉴스의 경우
굉장히 필터링이 잘 되고 있는 편
(LO: 지역, OR: 단체, ST: 종목)
(LO: 지역, OR: 단체, ST: 종목)
(LO: 지역, OR: 단체, ST: 종목)
(LO: 지역, OR: 단체, ST: 종목)
(LO: 지역, OR: 단체, ST: 종목)
(LO: 지역, OR: 단체, ST: 종목)
(LO: 지역, OR: 단체, ST: 종목)

Weitere ähnliche Inhalte

Was ist angesagt?

Nlp and transformer (v3s)
Nlp and transformer (v3s)Nlp and transformer (v3s)
Nlp and transformer (v3s)H K Yoon
 
딥러닝 자연어처리 - RNN에서 BERT까지
딥러닝 자연어처리 - RNN에서 BERT까지딥러닝 자연어처리 - RNN에서 BERT까지
딥러닝 자연어처리 - RNN에서 BERT까지deepseaswjh
 
BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
BERT: Pre-training of Deep Bidirectional Transformers for Language UnderstandingBERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
BERT: Pre-training of Deep Bidirectional Transformers for Language UnderstandingSeonghyun Kim
 
[226]대용량 텍스트마이닝 기술 하정우
[226]대용량 텍스트마이닝 기술 하정우[226]대용량 텍스트마이닝 기술 하정우
[226]대용량 텍스트마이닝 기술 하정우NAVER D2
 
word2vec, LDA, and introducing a new hybrid algorithm: lda2vec
word2vec, LDA, and introducing a new hybrid algorithm: lda2vecword2vec, LDA, and introducing a new hybrid algorithm: lda2vec
word2vec, LDA, and introducing a new hybrid algorithm: lda2vec👋 Christopher Moody
 
Seq2Seq (encoder decoder) model
Seq2Seq (encoder decoder) modelSeq2Seq (encoder decoder) model
Seq2Seq (encoder decoder) model佳蓉 倪
 
AtCoder Regular Contest 023 解説
AtCoder Regular Contest 023 解説AtCoder Regular Contest 023 解説
AtCoder Regular Contest 023 解説AtCoder Inc.
 
A Review of Deep Contextualized Word Representations (Peters+, 2018)
A Review of Deep Contextualized Word Representations (Peters+, 2018)A Review of Deep Contextualized Word Representations (Peters+, 2018)
A Review of Deep Contextualized Word Representations (Peters+, 2018)Shuntaro Yada
 
A Simple Explanation of XLNet
A Simple Explanation of XLNetA Simple Explanation of XLNet
A Simple Explanation of XLNetDomyoung Lee
 
한국어 띄어쓰기 프로그램 도전기
한국어 띄어쓰기 프로그램 도전기한국어 띄어쓰기 프로그램 도전기
한국어 띄어쓰기 프로그램 도전기Ted Taekyoon Choi
 
Introduction to Transformers for NLP - Olga Petrova
Introduction to Transformers for NLP - Olga PetrovaIntroduction to Transformers for NLP - Olga Petrova
Introduction to Transformers for NLP - Olga PetrovaAlexey Grigorev
 
transformer解説~Chat-GPTの源流~
transformer解説~Chat-GPTの源流~transformer解説~Chat-GPTの源流~
transformer解説~Chat-GPTの源流~MasayoshiTsutsui
 
Efficient and effective passage search via contextualized late interaction ov...
Efficient and effective passage search via contextualized late interaction ov...Efficient and effective passage search via contextualized late interaction ov...
Efficient and effective passage search via contextualized late interaction ov...taeseon ryu
 
[부스트캠프 Tech Talk] 진명훈_datasets로 협업하기
[부스트캠프 Tech Talk] 진명훈_datasets로 협업하기[부스트캠프 Tech Talk] 진명훈_datasets로 협업하기
[부스트캠프 Tech Talk] 진명훈_datasets로 협업하기CONNECT FOUNDATION
 
Deep Learning for Chatbot (2/4)
Deep Learning for Chatbot (2/4)Deep Learning for Chatbot (2/4)
Deep Learning for Chatbot (2/4)Jaemin Cho
 

Was ist angesagt? (20)

Word embedding
Word embedding Word embedding
Word embedding
 
Nlp and transformer (v3s)
Nlp and transformer (v3s)Nlp and transformer (v3s)
Nlp and transformer (v3s)
 
딥러닝 자연어처리 - RNN에서 BERT까지
딥러닝 자연어처리 - RNN에서 BERT까지딥러닝 자연어처리 - RNN에서 BERT까지
딥러닝 자연어처리 - RNN에서 BERT까지
 
BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
BERT: Pre-training of Deep Bidirectional Transformers for Language UnderstandingBERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
 
Tutorial on word2vec
Tutorial on word2vecTutorial on word2vec
Tutorial on word2vec
 
[226]대용량 텍스트마이닝 기술 하정우
[226]대용량 텍스트마이닝 기술 하정우[226]대용량 텍스트마이닝 기술 하정우
[226]대용량 텍스트마이닝 기술 하정우
 
word2vec, LDA, and introducing a new hybrid algorithm: lda2vec
word2vec, LDA, and introducing a new hybrid algorithm: lda2vecword2vec, LDA, and introducing a new hybrid algorithm: lda2vec
word2vec, LDA, and introducing a new hybrid algorithm: lda2vec
 
Seq2Seq (encoder decoder) model
Seq2Seq (encoder decoder) modelSeq2Seq (encoder decoder) model
Seq2Seq (encoder decoder) model
 
AtCoder Regular Contest 023 解説
AtCoder Regular Contest 023 解説AtCoder Regular Contest 023 解説
AtCoder Regular Contest 023 解説
 
A Review of Deep Contextualized Word Representations (Peters+, 2018)
A Review of Deep Contextualized Word Representations (Peters+, 2018)A Review of Deep Contextualized Word Representations (Peters+, 2018)
A Review of Deep Contextualized Word Representations (Peters+, 2018)
 
A Simple Explanation of XLNet
A Simple Explanation of XLNetA Simple Explanation of XLNet
A Simple Explanation of XLNet
 
한국어 띄어쓰기 프로그램 도전기
한국어 띄어쓰기 프로그램 도전기한국어 띄어쓰기 프로그램 도전기
한국어 띄어쓰기 프로그램 도전기
 
Bleu vs rouge
Bleu vs rougeBleu vs rouge
Bleu vs rouge
 
Introduction to Transformers for NLP - Olga Petrova
Introduction to Transformers for NLP - Olga PetrovaIntroduction to Transformers for NLP - Olga Petrova
Introduction to Transformers for NLP - Olga Petrova
 
transformer解説~Chat-GPTの源流~
transformer解説~Chat-GPTの源流~transformer解説~Chat-GPTの源流~
transformer解説~Chat-GPTの源流~
 
Efficient and effective passage search via contextualized late interaction ov...
Efficient and effective passage search via contextualized late interaction ov...Efficient and effective passage search via contextualized late interaction ov...
Efficient and effective passage search via contextualized late interaction ov...
 
[부스트캠프 Tech Talk] 진명훈_datasets로 협업하기
[부스트캠프 Tech Talk] 진명훈_datasets로 협업하기[부스트캠프 Tech Talk] 진명훈_datasets로 협업하기
[부스트캠프 Tech Talk] 진명훈_datasets로 협업하기
 
Understanding GloVe
Understanding GloVeUnderstanding GloVe
Understanding GloVe
 
Deep Learning for Chatbot (2/4)
Deep Learning for Chatbot (2/4)Deep Learning for Chatbot (2/4)
Deep Learning for Chatbot (2/4)
 
Word2Vec
Word2VecWord2Vec
Word2Vec
 

Ähnlich wie Context2Vec 기반 단어 의미 중의성 해소, Word Sense Disambiguation

단어 의미 중의성 해소, Word Sense Disambiguation(WSD)
단어 의미 중의성 해소, Word Sense Disambiguation(WSD)단어 의미 중의성 해소, Word Sense Disambiguation(WSD)
단어 의미 중의성 해소, Word Sense Disambiguation(WSD)찬희 이
 
Word 2 Vec Algorithm
Word 2 Vec AlgorithmWord 2 Vec Algorithm
Word 2 Vec AlgorithmHyeongmin Lee
 
Brief hystory of NLP and Word2Vec
Brief hystory of NLP and Word2VecBrief hystory of NLP and Word2Vec
Brief hystory of NLP and Word2VecSilverQ
 
(Kor ver.)NLP embedding(word2vec) tutorial & implementation(Tensorflow)
(Kor ver.)NLP embedding(word2vec) tutorial & implementation(Tensorflow)(Kor ver.)NLP embedding(word2vec) tutorial & implementation(Tensorflow)
(Kor ver.)NLP embedding(word2vec) tutorial & implementation(Tensorflow)Adonis Han
 
GloVe:Global vectors for word representation
GloVe:Global vectors for word representationGloVe:Global vectors for word representation
GloVe:Global vectors for word representationkeunbong kwak
 
Attention is all you need
Attention is all you needAttention is all you need
Attention is all you needHoon Heo
 
(Papers Review)CNN for sentence classification
(Papers Review)CNN for sentence classification(Papers Review)CNN for sentence classification
(Papers Review)CNN for sentence classificationMYEONGGYU LEE
 
머신러닝의 자연어 처리기술(I)
머신러닝의 자연어 처리기술(I)머신러닝의 자연어 처리기술(I)
머신러닝의 자연어 처리기술(I)홍배 김
 
FastText : Enriching Word Vectors with Subword Information
FastText : Enriching Word Vectors with Subword InformationFastText : Enriching Word Vectors with Subword Information
FastText : Enriching Word Vectors with Subword InformationYujin Kim
 
Natural Language Processing(NLP) - Basic
Natural Language Processing(NLP) - BasicNatural Language Processing(NLP) - Basic
Natural Language Processing(NLP) - BasicKyeongUkJang
 
[224] backend 개발자의 neural machine translation 개발기 김상경
[224] backend 개발자의 neural machine translation 개발기 김상경[224] backend 개발자의 neural machine translation 개발기 김상경
[224] backend 개발자의 neural machine translation 개발기 김상경NAVER D2
 
230112_word2vec1_논문리뷰.pdf
230112_word2vec1_논문리뷰.pdf230112_word2vec1_논문리뷰.pdf
230112_word2vec1_논문리뷰.pdfminalang
 
Spam text message filtering by using sen2 vec and feedforward neural network
Spam text message filtering by using sen2 vec and feedforward neural networkSpam text message filtering by using sen2 vec and feedforward neural network
Spam text message filtering by using sen2 vec and feedforward neural networkhyunyoung Lee
 
From A Neural Probalistic Language Model to Word2vec
From A Neural Probalistic Language Model to Word2vecFrom A Neural Probalistic Language Model to Word2vec
From A Neural Probalistic Language Model to Word2vecJungkyu Lee
 
정규표현식(Regular expressions)
정규표현식(Regular expressions)정규표현식(Regular expressions)
정규표현식(Regular expressions)Juhee Kim
 

Ähnlich wie Context2Vec 기반 단어 의미 중의성 해소, Word Sense Disambiguation (20)

단어 의미 중의성 해소, Word Sense Disambiguation(WSD)
단어 의미 중의성 해소, Word Sense Disambiguation(WSD)단어 의미 중의성 해소, Word Sense Disambiguation(WSD)
단어 의미 중의성 해소, Word Sense Disambiguation(WSD)
 
Word 2 Vec Algorithm
Word 2 Vec AlgorithmWord 2 Vec Algorithm
Word 2 Vec Algorithm
 
220906_Glove
220906_Glove220906_Glove
220906_Glove
 
Brief hystory of NLP and Word2Vec
Brief hystory of NLP and Word2VecBrief hystory of NLP and Word2Vec
Brief hystory of NLP and Word2Vec
 
파이썬과 자연어 4 | word/doc2vec
파이썬과 자연어 4 | word/doc2vec파이썬과 자연어 4 | word/doc2vec
파이썬과 자연어 4 | word/doc2vec
 
(Kor ver.)NLP embedding(word2vec) tutorial & implementation(Tensorflow)
(Kor ver.)NLP embedding(word2vec) tutorial & implementation(Tensorflow)(Kor ver.)NLP embedding(word2vec) tutorial & implementation(Tensorflow)
(Kor ver.)NLP embedding(word2vec) tutorial & implementation(Tensorflow)
 
GloVe:Global vectors for word representation
GloVe:Global vectors for word representationGloVe:Global vectors for word representation
GloVe:Global vectors for word representation
 
Attention is all you need
Attention is all you needAttention is all you need
Attention is all you need
 
(Papers Review)CNN for sentence classification
(Papers Review)CNN for sentence classification(Papers Review)CNN for sentence classification
(Papers Review)CNN for sentence classification
 
머신러닝의 자연어 처리기술(I)
머신러닝의 자연어 처리기술(I)머신러닝의 자연어 처리기술(I)
머신러닝의 자연어 처리기술(I)
 
자연어4 | 1차강의
자연어4 | 1차강의자연어4 | 1차강의
자연어4 | 1차강의
 
FastText : Enriching Word Vectors with Subword Information
FastText : Enriching Word Vectors with Subword InformationFastText : Enriching Word Vectors with Subword Information
FastText : Enriching Word Vectors with Subword Information
 
Natural Language Processing(NLP) - Basic
Natural Language Processing(NLP) - BasicNatural Language Processing(NLP) - Basic
Natural Language Processing(NLP) - Basic
 
[224] backend 개발자의 neural machine translation 개발기 김상경
[224] backend 개발자의 neural machine translation 개발기 김상경[224] backend 개발자의 neural machine translation 개발기 김상경
[224] backend 개발자의 neural machine translation 개발기 김상경
 
230112_word2vec1_논문리뷰.pdf
230112_word2vec1_논문리뷰.pdf230112_word2vec1_논문리뷰.pdf
230112_word2vec1_논문리뷰.pdf
 
Spam text message filtering by using sen2 vec and feedforward neural network
Spam text message filtering by using sen2 vec and feedforward neural networkSpam text message filtering by using sen2 vec and feedforward neural network
Spam text message filtering by using sen2 vec and feedforward neural network
 
파이썬을 활용한 자연어 분석
파이썬을 활용한 자연어 분석파이썬을 활용한 자연어 분석
파이썬을 활용한 자연어 분석
 
Topic models
Topic modelsTopic models
Topic models
 
From A Neural Probalistic Language Model to Word2vec
From A Neural Probalistic Language Model to Word2vecFrom A Neural Probalistic Language Model to Word2vec
From A Neural Probalistic Language Model to Word2vec
 
정규표현식(Regular expressions)
정규표현식(Regular expressions)정규표현식(Regular expressions)
정규표현식(Regular expressions)
 

Mehr von 찬희 이

의존 구조 분석기, Dependency parser
의존 구조 분석기, Dependency parser의존 구조 분석기, Dependency parser
의존 구조 분석기, Dependency parser찬희 이
 
mecab-ko-dic 사용자 사전
mecab-ko-dic 사용자 사전mecab-ko-dic 사용자 사전
mecab-ko-dic 사용자 사전찬희 이
 
Word2Vec 개요 및 활용
Word2Vec 개요 및 활용Word2Vec 개요 및 활용
Word2Vec 개요 및 활용찬희 이
 
PySpark 배우기 Ch 06. ML 패키지 소개하기
PySpark 배우기 Ch 06. ML 패키지 소개하기PySpark 배우기 Ch 06. ML 패키지 소개하기
PySpark 배우기 Ch 06. ML 패키지 소개하기찬희 이
 
파이썬을 활용한 금융 분석 Ch 14. The FXCM Trading Platform
파이썬을 활용한 금융 분석 Ch 14. The FXCM Trading Platform파이썬을 활용한 금융 분석 Ch 14. The FXCM Trading Platform
파이썬을 활용한 금융 분석 Ch 14. The FXCM Trading Platform찬희 이
 
파이썬을 활용한 금융 분석 Ch 9. Input Output Operation
파이썬을 활용한 금융 분석 Ch 9. Input Output Operation파이썬을 활용한 금융 분석 Ch 9. Input Output Operation
파이썬을 활용한 금융 분석 Ch 9. Input Output Operation찬희 이
 
은닉 마르코프 모델, Hidden Markov Model(HMM)
은닉 마르코프 모델, Hidden Markov Model(HMM)은닉 마르코프 모델, Hidden Markov Model(HMM)
은닉 마르코프 모델, Hidden Markov Model(HMM)찬희 이
 
Phrase Tagger, 구문 태거
Phrase Tagger, 구문 태거Phrase Tagger, 구문 태거
Phrase Tagger, 구문 태거찬희 이
 
프로젝트용 PC 환경구성 이찬희
프로젝트용 PC 환경구성   이찬희프로젝트용 PC 환경구성   이찬희
프로젝트용 PC 환경구성 이찬희찬희 이
 

Mehr von 찬희 이 (9)

의존 구조 분석기, Dependency parser
의존 구조 분석기, Dependency parser의존 구조 분석기, Dependency parser
의존 구조 분석기, Dependency parser
 
mecab-ko-dic 사용자 사전
mecab-ko-dic 사용자 사전mecab-ko-dic 사용자 사전
mecab-ko-dic 사용자 사전
 
Word2Vec 개요 및 활용
Word2Vec 개요 및 활용Word2Vec 개요 및 활용
Word2Vec 개요 및 활용
 
PySpark 배우기 Ch 06. ML 패키지 소개하기
PySpark 배우기 Ch 06. ML 패키지 소개하기PySpark 배우기 Ch 06. ML 패키지 소개하기
PySpark 배우기 Ch 06. ML 패키지 소개하기
 
파이썬을 활용한 금융 분석 Ch 14. The FXCM Trading Platform
파이썬을 활용한 금융 분석 Ch 14. The FXCM Trading Platform파이썬을 활용한 금융 분석 Ch 14. The FXCM Trading Platform
파이썬을 활용한 금융 분석 Ch 14. The FXCM Trading Platform
 
파이썬을 활용한 금융 분석 Ch 9. Input Output Operation
파이썬을 활용한 금융 분석 Ch 9. Input Output Operation파이썬을 활용한 금융 분석 Ch 9. Input Output Operation
파이썬을 활용한 금융 분석 Ch 9. Input Output Operation
 
은닉 마르코프 모델, Hidden Markov Model(HMM)
은닉 마르코프 모델, Hidden Markov Model(HMM)은닉 마르코프 모델, Hidden Markov Model(HMM)
은닉 마르코프 모델, Hidden Markov Model(HMM)
 
Phrase Tagger, 구문 태거
Phrase Tagger, 구문 태거Phrase Tagger, 구문 태거
Phrase Tagger, 구문 태거
 
프로젝트용 PC 환경구성 이찬희
프로젝트용 PC 환경구성   이찬희프로젝트용 PC 환경구성   이찬희
프로젝트용 PC 환경구성 이찬희
 

Context2Vec 기반 단어 의미 중의성 해소, Word Sense Disambiguation

  • 1. Context2Vec 기반 Word Sense Disambiguation 단어 의미 중의성 해소 이찬희 2020. 04. 13.
  • 2. 목차 • 단어 의미 중의성 해소 • 기존 프로세스 • Context2Vec • Context2Vec 기반 단어 의미 중의성 해소
  • 4. 자연어 처리 과정 형태소 분석 Morpheme analysis 구문 분석 Syntax analysis 의미 분석 semantic analysis 화용 분석 Pragmatic analysis 형태소 단위의 분절 및 POS 태그 부착 구문 태그 부착 문장구조 파악 단어 의미 중의성 해소 의미역 인식 정보 추출 (대명사가 가리키는 의미부터...)
  • 5. 의미 분석 • 단어, 구, 문장 등의 단위의 의미를 인식하는 과정 구문 분석에 비해 해당 단계에서 진행해야 할 작업이 모호한 편인 것 같다. 의미를 인식하는 모든 처리가 해당 단계에 들어간다고 할 수 있을 것 같다.
  • 6. 단어 의미 중의성 해소 문맥을 확인하여 등장한 동형이의어의 의미를 찾는 과정 Word Sense Disambiguation (WSD)
  • 7. 단어 정리 • 동형이의어: 같은 형태를 가지지만 뜻이 다른 단어 • 의미(=센스): 동형이의어가 가지는 의미 • 동형어 번호: 사전에서 동형이의어가 가지는 의미를 구분하기 위해 부착하는 번호 (사전마다 다른 체계를 가진다) • 예시: 단어 '생태' 자연어 분석에서 진행되어야 할 어깨번호 부착네이버 국어사전의 검색결과 표준국어대사전 상의 동형이의어 '생태'의 1번 의미 2번 의미 문서의 자연어 처리 후 동형이의어 '생태'의 어깨번호가 부착된 결과
  • 9. 단어 의미 중의성 해소 모델 • 정한조(2015) 논문을 토대로 구현 • 생략하거나 달라진 방식 • 논문) 명사만 대상으로 진행 → 변경) 체언, 용언, 수식언, 어근 • 사전의 예문은 사용하지 않음 • 표준국어대사전과 세종 형태의미 말뭉치를 사용 • 표준국어대사전 상의 동음이의어로 한정 (말뭉치와 표준국어대사전 사이의 다른 점을 표준국어대사전 기준으로 변경 및 생략) • Ramped window가 적용된 벡터 공간 모델과 나이브 베이즈 분류기를 통해 단어 의미 중의성을 해결 • 정한조와 박병화, “사전과 말뭉치를 이용한 한국어 단어 중의성 해소,” 한국 지능정보시스템학회논문지, 2015. (일반, 고유, 의존 명사) (동사, 형용사) (관형사, 일반 부사, 접속 부사) 말뭉치 상에는 동음이의어인데 표준국어대사전에는 아닌 경우 또는 그 반대의 경우 등등
  • 10. 세종 형태의미 말뭉치 • 문장 별로 형태소 분석과 형태소 단위의 어깨번호를 부착한 말뭉치 • 표준국어대사전을 기준으로 어깨번호 부착 • 내용어(↔기능어) 중심으로 부착: 세종 품사 기준으로, 일반명사, 의존명사, 동사, 형용사, 관형사, 일반부사 내에서 부착 진행 • 부착 방법: 표제어 전후 5어절을 확인하여 어깨번호 부착 • 특수한 어깨번호(누락시켜야 할 예외상황) • 00, 88: 사전에 등재되지 않은 어휘 • 99: 형태분석 말뭉치의 분석 오류 • x<번호>: 사전과 말뭉치의 품사 분류 비일치 • 국립국어원, “21세기 세종계획 국어 기초자료 구축, 2004 결과보고서.” 2004. 세종 형태의미 말뭉치 예시 <형태소>__<어깨번호>/<품사>
  • 11. 벡터 공간 모델 Vector Space Model or Term Space Model • 간단한 Vector Space Model 설명, https://yumere.tistory.com/85 Vocabulary Document 벡터의 원소 학습 과정에서 등장한 모든 단어, 단어마다 고유의 인덱스를 가지게 된다 학습 과정에서 등장한 모든 문서, 단어와 마찬가지로 고유의 인덱스를 가지게 된다 학습을 통해 생성된 값으로, 값을 산출하는 방법은 Boolean Model, TF-IDF 등이 있다 단어 벡터 각각의 문서는 단어 벡터로 변환되며, 문서 간 비교 또는 쿼리와 비교를 통해 유사도를 산출하게 된다
  • 12. 벡터 공간 모델 (WSD 문제에서) Vector Space Model for WSD Vocabulary 벡터의 원소 동형이의어를 포함한 학습 대상인 모든 형태소 Ramped window의 합으로 벡터값을 산출한다. 센스 벡터 동형이의 형태소 (형태소 + 어깨번호)
  • 13. Ramped Window 형태소 남미 풍 의 강렬 하 ᆫ 원색 끼리 의 조화 , 수채화 같이 안온 하 ᆫ 배색 등 어깨번호 02 07 05 품사 NNP XSN JKG XR XSA ETM NNG XSN JKG NNG SP NNG MAG NNG XSA ETM NNG NNB Score 3 4 5 - 5 4 3 2 1 동형이의 형태소 학습 대상 아님 (학습 대상 품사가 아님) 학습 대상 형태소 • Ramped window는 Co-occurence 타겟 단어를 기준으로 가까울 수록 높은 점수를 부여하는 방법 • 동형이의 형태소를 기준으로 5점부터 멀어질 때마다 순차적으로 4점, 3점, …, 1점까지 부여 • 센스 벡터에 누적
  • 14. 나이브 베이즈 분류기 Naïve bayes Classifier • 베이즈 정리를 기초 • 독립성 가정 • 강한 가정이 들어가지만 실증적으로 높은 효과를 보임 (베이즈 정리) (독립성 가정) (베이지안 확률 용어로 작성) 클래스 k 발생한 사건 x 사건이 발생한 상황에서는 상수값이 된다 • 나이브 베이즈 분류, https://ko.wikipedia.org/wiki/나이브_베이즈_분류
  • 15. 나이브 베이즈 분류기 (WSD 문제에서) Naïve bayes Classifier for WSD 학습시킨 Vector Space로 구한 Cosine Similarity로 대체
  • 16. 나이브 베이즈 분류기 (WSD 문제에서, 예시) • 발견한 동음이의어: 조화 • 센스 가짓수: 7가지 • 주변 단어 Distance Weight 부여 결과 • 남미 : 3 • 강렬 : 4 • 원색, 02 : 5 • 수채화 : 5 • 같이 : 4 • 안온 : 3 • 배색 : 2 • 색, 03 : 1 조화, 01 조화, 02 조화, 03 조화, 04 조화, 05 조화, 06 조화, 07 남미 강렬 원색 02 배색 색 03 수 많은 다른 형태소도 존재 … [ 3 4 5 … 2 1 ]쿼리 벡터 벡터 공간 모델에서 동음이의어의 센스 벡터들을 검색 주변 단어의 Distance Weight를 통해 쿼리 벡터를 생성 쿼리와 동음이의어의 센스 벡터들로 Cosine Similarity 산출 조건부 확률 0. 0. 0. 0.023 0. 0. 0.009 사전 확률 0.001 0. 0. 0.057 0.007 0. 0.934 사후 확률 (과 비례하는 값) 0. 0. 0. 0.001 0. 0. 0.009 동음이의어의 등장빈도로 산출
  • 17. 모델 평가 • 10-fold CV • Precision과 Recall • Precision만 사용 • Recall은 항상 100%, 표준국어대사전을 기준으로 동음이의어는 항상 평가를 하기 때문 Precision = 올바르게 예측한 중의어의 수 전체 중의어의 수 Recall = 예측한 중의어의 수 전체 중의어의 수 단어 의미 중의성 해소에서의 Precision과 Recall 계산식
  • 18. 모델 평가 결과 • Precision: 평균 93.1% • 논문의 Precision 96.04% • 대상 품사를 명사로 한정 • 표준국어대사전의 예문까지 모두 활용했을 때의 Precision • 순서대로 처리했을 때 마스킹 처리가 전혀 없었음 체언 용언 수식언 어근 • 튜플의 형식: (정확하게 판단한 동음이의어, 동음이의어 등장횟수, Precision)
  • 21. 한계 • 학습 시 성능과 실제 사용 시 성능에 차이가 발생 • 세종 말뭉치의 원문과 실제 사용하는 원문의 어휘가 다름 • 유사도를 구하지 못하고 사전 확률이 결과로 이어지는 빈도가 너무 높음 • 운영이 적용하기 위한 난이도가 높음 • 세종 형태의미 말뭉치 수준으로 도메인 말뭉치를 구축하는 것이 힘듦 • 기존 사전 확률의 비율을 고려하여 일정량 이상의 말뭉치 구성을 해야 효과를 볼 수 있음
  • 23. Context2Vec • Melamud, Oren, Jacob Goldberger, and Ido Dagan. "context2vec: Learning generic context embedding with bidirectional lstm." Proceedings of The 20th SIGNLL Conference on Computational Natural Language Learning. 2016. • Word2Vec CBOW 모델과 동일한 개념 • 컨텍스트 임베딩 결과와 단어의 임베딩 결과가 유사하도록 학습 • Word2Vec CBOW 모델의 Average of Word Embeddings(AWE) 방법을 Bi-LSTM + MLP로 변형 (더 적극적인 학습) • (Word2Vec) 윈도우 → (Context2Vec) 문장 전체, Bi-LSTM • (Word2Vec) 임베딩 평균 값 → (Context2Vec) 다층 퍼셉트론, MLP
  • 24. 컨텍스트 임베딩 • 단어 수준 임베딩: 개별 단어를 임베딩(Word2Vec, Glove) • 문장 수준 임베딩: 문장 전체를 임베딩(Doc2Vec)하거나 하는 과정이 포함(ELMo)되어 있음 • 컨텍스트 임베딩 • 문장 전체 또는 문장보다 좁은 범위의 단어 시퀀스를 임베딩 • 타겟 단어(Target word)를 기준으로 문장을 임베딩 • 같은 문장이더라도 기준 단어가 다르면 다른 임베딩 결과를 반환
  • 27. Word2Vec CBOW 타겟 단어 컨텍스트 윈도우 내 단어의 임베딩
  • 28. Word2Vec CBOW 타겟 단어 컨텍스트 윈도우 내 단어의 임베딩 컨텍스트 임베딩 (윈도우 내 단어 임베딩의 평균)
  • 29. Word2Vec CBOW 타겟 단어 컨텍스트 윈도우 내 단어의 임베딩 컨텍스트 임베딩 (윈도우 내 단어 임베딩의 평균) 타겟 단어의 임베딩
  • 30. Word2Vec CBOW 타겟 단어 컨텍스트 윈도우 내 단어의 임베딩 컨텍스트 임베딩 (윈도우 내 단어 임베딩의 평균) 타겟 단어의 임베딩 목적 함수를 통해 양 임베딩이 유사해지도록 학습
  • 31. Context2Vec Context2Vec에서 변경된 부분 • (W2V) 윈도우 → (C2V) 문장 전체, Bi-LSTM • (W2V) 평균 → (C2V) MLP
  • 34. Context2Vec 타겟 단어 타겟 단어의 왼쪽 단어 시퀀스 정방향 (좌 → 우) 입력 타겟 단어의 오른쪽 단어 시퀀스 역방향 (우 → 좌) 입력
  • 35. Context2Vec 타겟 단어 타겟 단어의 왼쪽 단어 시퀀스 정방향 (좌 → 우) 입력 타겟 단어의 오른쪽 단어 시퀀스 역방향 (우 → 좌) 입력 양쪽 시퀀스의 마지막 은닉 상태를 연결 및 MLP에 입력
  • 36. Context2Vec 타겟 단어 타겟 단어의 왼쪽 단어 시퀀스 정방향 (좌 → 우) 입력 타겟 단어의 오른쪽 단어 시퀀스 역방향 (우 → 좌) 입력 양쪽 시퀀스의 마지막 은닉 상태를 연결 및 MLP에 입력 타겟 단어의 임베딩
  • 37. Context2Vec 타겟 단어 타겟 단어의 왼쪽 단어 시퀀스 정방향 (좌 → 우) 입력 타겟 단어의 오른쪽 단어 시퀀스 역방향 (우 → 좌) 입력 양쪽 시퀀스의 마지막 은닉 상태를 연결 및 MLP에 입력 타겟 단어의 임베딩 목적 함수를 통해 양 임베딩이 유사해지도록 학습
  • 38. Context2Vec 활용 • 문장 완성 (Sentence completion) • 단어 의미 중의성 해소 (Word sense disambiguation)
  • 40. Context2Vec 기반 단어 의미 중의성 해소 • Context2Vec: 타겟 단어의 컨텍스트를 벡터화 • Context2Vec 기반 단어 의미 중의성 해소 • 학습 • 말뭉치에 동형이의어가 등장하면, (표제어, 동형어 번호, 컨텍스트 벡터)를 저장 • 예측 • 동형이의어 등장 시 문장을 컨텍스트 벡터로 변환 • 말뭉치를 통해 학습한 표제어의 컨텍스트 벡터 중 가장 유사한 벡터의 동형어 번호를 반환
  • 41. Context2Vec 기반 단어 의미 중의성 해소, 학습 1. 말뭉치의 동형이의어 검색 3. (표제어, 동형어 번호, 컨텍스트 벡터) 집합 저장 (수성, 08) (수성, 05) (수성, 04) … … Context2Vec 모델 통과 2. 컨텍스트 벡터 추출
  • 42. Context2Vec 기반 단어 의미 중의성 해소, 예측 1. 원문의 동형이의어 검사 3. 학습 시 추출한 컨텍스트 벡터 집합과 비교 (Cosine similarity) (수성, 08) (수성, 05) (수성, 04) … … … 코스피, 한·미 정책 기대·우려 교차 속 1700선 수성 실패 … 0.7, 동형어 번호 08번 부착 0.1 -0.3 2. 컨텍스트 벡터 추출 Context2Vec 모델 통과 동일한 표제어의 컨텍스트 벡터만 필터링
  • 43. Context2Vec 학습 • 학습 데이터 • 뉴스 20만 문서 • 위키피디아 46만여 문서 (동음이의어 문서 제거) • 세종 형태의미 말뭉치 79만여 문장의 95% • 총 815만여 문장 • 학습 파라미터 (논문, 학습) • 컨텍스트 단어 임베딩 차원: 300, 150 • 타겟 단어 임베딩 차원: 600, 300 • LSTM 은닉층 차원: 600, 300 • MLP 입력층/은닉층 차원: 1200, 600 • Epoch 10회 이내로 진행 • 학습 모델은 논문 대비 1/2 크기로 줄임 • 사용하기에 학습 모델의 크기가 너무 컸음 • 사용 시 속도 면에서도 연산량이 너무 큼 단어 의미 중의성 해소 모델의 테스트 데이터 분리를 위해
  • 44. 단어 의미 중의성 해소 모델 학습 • 학습 및 테스트 데이터 • 세종 형태의미 말뭉치 79만여 문장을 95%, 5%로 분리 • 학습 및 평가 방법 • 학습 데이터에서 등장한 동형이의어의 문장을 컨텍스트 벡터로 저장 • 평가 데이터에서 등장한 동형이의어의 문장을 컨텍스트 벡터로 추출하여 학습 컨텍스트 벡터와 Cosine similarity 수행 후 가장 큰 컨텍스트 벡터의 동형어 번호 부착 Context2Vec 학습 시와 동일한 문장 집합
  • 45. 모델 평가 결과 • Precision: 97.91% > 93.1% (기존) • 딥 러닝 모델의 적용으로 Precision의 증가에 더해 Sparcity 문제를 해결할 수 있었음 • Sparcity 문제가 Context2Vec에서 해결되기 때문에, 단순한 말뭉치로 더 많은 Vocabulary를 쉽게 확보할 수 있음
  • 46. 단어 의미 중의성 해소 말뭉치 작성 컨텍스트 벡터를 생성하기 위해 원문과 동형이의어 표제어, 동형어 번호를 작성하는 것으로 비교적 간단하게 말뭉치를 확 장할 수 있음 (형태소 분석에서 표제어와 일치하는 토큰이 만들어져야 한다는 조건이 필요) 서비스를 위해 추가한 동형어 번호 개체명 태그와 유사한 역할을 함 (LO: 지역, OR: 단체, ST: 종목)
  • 47. 서비스 적용 목표 - 종목 뉴스 필터링 • 종목 뉴스 추출은 1차적으로 검색 엔진의 키워드 매칭을 통해 진행 • 하지만 중의성을 가지는 종목명의 경우 필터링이 필요 • 필터링이 잘 되지 않았을 시에 서비스 퀄리티에 심각한 영향을 미치게 됨
  • 48. 네이버 증권 뉴스의 경우 굉장히 필터링이 잘 되고 있는 편
  • 49.
  • 50. (LO: 지역, OR: 단체, ST: 종목)
  • 51. (LO: 지역, OR: 단체, ST: 종목)
  • 52. (LO: 지역, OR: 단체, ST: 종목)
  • 53. (LO: 지역, OR: 단체, ST: 종목)
  • 54. (LO: 지역, OR: 단체, ST: 종목)
  • 55.
  • 56. (LO: 지역, OR: 단체, ST: 종목)
  • 57. (LO: 지역, OR: 단체, ST: 종목)