2. 2 / 12
연구 배경Chapter 1
기생충 봉준호
감독
영화
송강호
종류
출연진
기생충 봉준호
감독
SUBJECT OBJECT
PREDICATE
• 트리플
하나의 사실을 주어
(subject), 술어(predicate)
목적어(object)로 표현
• 지식베이스
트리플로 표현된 사실의
집합
질의 언어 SPARQL로 정보
검색 가능.
3. 3 / 12
연구 배경Chapter 1
기생충
(Q61448040)
봉준호
(Q495980)
감독
영화
(wd:Q11424)
송강호
(Q484400)
종류
출연진
SELECT DISTINCT ?director
WHERE {
wd:Q61448040 wdt:P31 wd:Q11424 .
wd:Q61448040 wdt:P57 ?director.
}
기생충의 감독은 누구야?
봉준호(Q495980)
wdt:P31
wdt:P161
wdt:P57
4. 4 / 12
연구 배경Chapter 1
SPARQL
Answer
Question
NLU
Knowledge base
기생충의 감독은 누구야?
기생충(Entity)의 감독
(Property)은 누구야?
SELECT DISTINCT ?director
WHERE {
wd:Q61448040 wdt:P31 wd:Q11424 .
wd:Q61448040 wdt:P57 ?director.
}
봉준호
Semantic labeling
SPARQL generation
5. • 템플릿 매칭 방식
템플릿 생성을 위해 수작업이 많이 필요
• 딥러닝 방식
방법들은 비교형이나 판정형 질의의에 대해서는 아직 어려움.
5 / 12
연구 배경Chapter 1
* 기존 KBQA를 위한 SPARQL 생성 방법과 한계점
6. 6 / 12
Seq2SPARQLChapter 2
• RNN 기반의 신경망 기계 번역에 활용
기존 통계 기반 번역보다 더 좋은 성능을 보임
그러나, 병렬 학습에 한계
CONTEXT
LSTM LSTM LSTM LSTM LSTM LSTM LSTM LSTM
I am a student
Embedding Layer Embedding Layer
<SOS> Je suis etudiant
Je suis etudiant <EOS>
7. 7 / 12
Seq2SPARQLChapter 2
<Convolutional Sequence to Sequence> <The Transformer>
• 순환 신경망 대신 합성곱 신경망을 사용
• 병렬 학습이 가능
• 순환 신경망을 사용하지 않고 attention 만 사용
• 학습 속도를 개선하면서도, 우수한 성능
8. 8 / 12
Seq2SPARQLChapter 2
• 신경망 기계 번역 모델에 한국어 자연어 질의를 입력하여 SPARQL을 출력하고자 함
• 다양한 seq2seq 모델에 적용하여 실험을 진행
RNN-based Sequence to Sequence (with attention)
CNN-based Sequence to Sequence
Transformer
<seq2SPARQL>
9. • 지식 베이스 기반의 한글 자연어 질의셋
지식베이스는 WikiData 사용
자연어 질의는 영화, 영화 감독, 배우와 관련된 지식을 묻는 질문으로 구성
20개의 유형의 질문 준비(일반형, 비교형, 수량형 등)
유형별로 1000개씩 총 20000개의 질의 준비
한글 받침에 따른 조사 변경
• 자연어 질의와 대응하는 SPARQL 생성
실제 WikiData에 질의 가능한 SPARQL 생성
SPARQL 인코딩: 변수 명이나 특수기호 등을 영문으로 치환
• E.g. SELECT {..} -> SELECT bracket_open .. bracket_close
9 / 12
실험 및 결과Chapter 3
10. • 기계 번역 학습 모델
Tensorflow 기반의 NMT
• 2개의 레이어로 구성된 단방향 순환 신경망(nmt-rnn)
• 128개의 hidden unit
• 어텐션 메커니즘을 추가(nmt-rnn_att)
Pytorch 기반의 fairseq
• 기본 제공 하이퍼 파라미터 사용*
• Convolutional Sequence to Sequence (fairseq-fconv)
• Transformer (fairseq-transformer)
* https://github.com/pytorch/fairseq/tree/master/fairseq/models
10 / 12
실험 및 결과Chapter 3
11. • 한글 질의-SPARQL 번역 정확도 및 실제 동작률
학습 데이터: 16,000 / 검증 데이터: 2,000 / 테스트 데이터: 2,000
BLEU: 모델이 생성한 문장이 정답 문장과 얼마나 유사한지를 계산하는 방
법
Accuracy: 실제 모델이 생성한 SPARQL에서 실제로 동작한 SPARQL의 비율
각 모델에서 생성된 SPARQL들 중 2000건을 평가에 사용
11 / 12
실험 및 결과Chapter 3
BLEU (%) Accuracy (%)
nmt-rnn 83.8 66.8
nmt-rnn_att 85.9 66.9
fairseq-fconv 96.8 90.3
fairseq-transformer 58.6 70.35
* BLEU :번역 모델이 생성한 문장이 정답 문장과 얼마나 유사한지를 계산하는 방법
12. • 신경망 기계 번역 모델을 사용하여 높은 BLEU를 얻을 수 있었지만 실제
동작하는 SPARQL 비율은 높지 않음
SAPQRL 문법을 고려한 개선 필요
신경망 모델들이 SPARQL 문법을 Decoder에서 고려할 수 있도록 개선 필요
• 본 연구를 지식 기반 질의응답 시스템에 실제로 적용하여, 향후 기존 방
식과 비교하는 연구 진행하고자 함
12 / 12
실험 및 결과Chapter 3