SlideShare a Scribd company logo
1 of 12
COMMUNICATIING KNOWLEDGE
2019.11.02
홍동균, 심홍매, 김광민,
Saltlux Inc.
Seq2SPARQL: 신경망 기계 번역을 사용한
지식 베이스 질의 언어 자동 생성
1 / 122019 정보처리학회 추계학술발표대회
2 / 12
연구 배경Chapter 1
기생충 봉준호
감독
영화
송강호
종류
출연진
기생충 봉준호
감독
SUBJECT OBJECT
PREDICATE
• 트리플
 하나의 사실을 주어
(subject), 술어(predicate)
목적어(object)로 표현
• 지식베이스
 트리플로 표현된 사실의
집합
 질의 언어 SPARQL로 정보
검색 가능.
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 / 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 / 12
연구 배경Chapter 1
* 기존 KBQA를 위한 SPARQL 생성 방법과 한계점
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 / 12
Seq2SPARQLChapter 2
<Convolutional Sequence to Sequence> <The Transformer>
• 순환 신경망 대신 합성곱 신경망을 사용
• 병렬 학습이 가능
• 순환 신경망을 사용하지 않고 attention 만 사용
• 학습 속도를 개선하면서도, 우수한 성능
8 / 12
Seq2SPARQLChapter 2
• 신경망 기계 번역 모델에 한국어 자연어 질의를 입력하여 SPARQL을 출력하고자 함
• 다양한 seq2seq 모델에 적용하여 실험을 진행
 RNN-based Sequence to Sequence (with attention)
 CNN-based Sequence to Sequence
 Transformer
<seq2SPARQL>
• 지식 베이스 기반의 한글 자연어 질의셋
 지식베이스는 WikiData 사용
 자연어 질의는 영화, 영화 감독, 배우와 관련된 지식을 묻는 질문으로 구성
 20개의 유형의 질문 준비(일반형, 비교형, 수량형 등)
 유형별로 1000개씩 총 20000개의 질의 준비
 한글 받침에 따른 조사 변경
• 자연어 질의와 대응하는 SPARQL 생성
 실제 WikiData에 질의 가능한 SPARQL 생성
 SPARQL 인코딩: 변수 명이나 특수기호 등을 영문으로 치환
• E.g. SELECT {..} -> SELECT bracket_open .. bracket_close
9 / 12
실험 및 결과Chapter 3
• 기계 번역 학습 모델
 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
• 한글 질의-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 :번역 모델이 생성한 문장이 정답 문장과 얼마나 유사한지를 계산하는 방법
• 신경망 기계 번역 모델을 사용하여 높은 BLEU를 얻을 수 있었지만 실제
동작하는 SPARQL 비율은 높지 않음
 SAPQRL 문법을 고려한 개선 필요
 신경망 모델들이 SPARQL 문법을 Decoder에서 고려할 수 있도록 개선 필요
• 본 연구를 지식 기반 질의응답 시스템에 실제로 적용하여, 향후 기존 방
식과 비교하는 연구 진행하고자 함
12 / 12
실험 및 결과Chapter 3

More Related Content

What's hot (8)

14 2 iterator
14 2 iterator14 2 iterator
14 2 iterator
 
서울 R&D 캠퍼스 자연어 수업자료
서울 R&D 캠퍼스 자연어 수업자료서울 R&D 캠퍼스 자연어 수업자료
서울 R&D 캠퍼스 자연어 수업자료
 
파이썬을 활용한 자연어분석 기초
파이썬을 활용한 자연어분석 기초파이썬을 활용한 자연어분석 기초
파이썬을 활용한 자연어분석 기초
 
자연어2 | 1차강의
자연어2 | 1차강의자연어2 | 1차강의
자연어2 | 1차강의
 
06 1 리스트
06 1 리스트06 1 리스트
06 1 리스트
 
파이썬을 활용한 자연어 분석 - 2차
파이썬을 활용한 자연어 분석 - 2차파이썬을 활용한 자연어 분석 - 2차
파이썬을 활용한 자연어 분석 - 2차
 
Tensorflow for Deep Learning(SK Planet)
Tensorflow for Deep Learning(SK Planet)Tensorflow for Deep Learning(SK Planet)
Tensorflow for Deep Learning(SK Planet)
 
자연어3 | 1차강의
자연어3 | 1차강의자연어3 | 1차강의
자연어3 | 1차강의
 

Similar to 20190901 seq2 sparql_kips

[Tf2017] day1 jwkang_pub
[Tf2017] day1 jwkang_pub[Tf2017] day1 jwkang_pub
[Tf2017] day1 jwkang_pubJaewook. Kang
 
한글 언어 자원과 R: KoNLP 개선과 활용
한글 언어 자원과 R: KoNLP 개선과 활용한글 언어 자원과 R: KoNLP 개선과 활용
한글 언어 자원과 R: KoNLP 개선과 활용r-kor
 
Polyp detection with_tensorflow_object_detection_api
Polyp detection with_tensorflow_object_detection_apiPolyp detection with_tensorflow_object_detection_api
Polyp detection with_tensorflow_object_detection_apifermat39
 
Lecture 1: Introduction to Python and TensorFlow
Lecture 1: Introduction to Python and TensorFlowLecture 1: Introduction to Python and TensorFlow
Lecture 1: Introduction to Python and TensorFlowSang Jun Lee
 
PyCon 12월 세미나 - 실전 파이썬 프로그래밍 책 홍보
PyCon 12월 세미나 - 실전 파이썬 프로그래밍 책 홍보PyCon 12월 세미나 - 실전 파이썬 프로그래밍 책 홍보
PyCon 12월 세미나 - 실전 파이썬 프로그래밍 책 홍보Young Hoo Kim
 
GPG 1.1 객체지향적 프로그래밍과 설계기법
GPG 1.1 객체지향적 프로그래밍과 설계기법GPG 1.1 객체지향적 프로그래밍과 설계기법
GPG 1.1 객체지향적 프로그래밍과 설계기법Taeung Ra
 
자바, 미안하다! 파이썬 한국어 NLP
자바, 미안하다! 파이썬 한국어 NLP자바, 미안하다! 파이썬 한국어 NLP
자바, 미안하다! 파이썬 한국어 NLPEunjeong (Lucy) Park
 
EveryBody Tensorflow module1 GIST Jan 2018 Korean
EveryBody Tensorflow module1 GIST Jan 2018 KoreanEveryBody Tensorflow module1 GIST Jan 2018 Korean
EveryBody Tensorflow module1 GIST Jan 2018 KoreanJaewook. Kang
 
[한국어] Neural Architecture Search with Reinforcement Learning
[한국어] Neural Architecture Search with Reinforcement Learning[한국어] Neural Architecture Search with Reinforcement Learning
[한국어] Neural Architecture Search with Reinforcement LearningKiho Suh
 
[Tf2017] day2 jwkang_pub
[Tf2017] day2 jwkang_pub[Tf2017] day2 jwkang_pub
[Tf2017] day2 jwkang_pubJaewook. Kang
 
[226]대용량 텍스트마이닝 기술 하정우
[226]대용량 텍스트마이닝 기술 하정우[226]대용량 텍스트마이닝 기술 하정우
[226]대용량 텍스트마이닝 기술 하정우NAVER D2
 
딥러닝 기반의 자연어처리 최근 연구 동향
딥러닝 기반의 자연어처리 최근 연구 동향딥러닝 기반의 자연어처리 최근 연구 동향
딥러닝 기반의 자연어처리 최근 연구 동향LGCNSairesearch
 
스프링보다 중요한 스프링 이야기
스프링보다 중요한 스프링 이야기스프링보다 중요한 스프링 이야기
스프링보다 중요한 스프링 이야기Sungchul Park
 
Python을 활용한 챗봇 서비스 개발 2일차
Python을 활용한 챗봇 서비스 개발 2일차Python을 활용한 챗봇 서비스 개발 2일차
Python을 활용한 챗봇 서비스 개발 2일차Taekyung Han
 
Introductory to MND-AF
Introductory to MND-AFIntroductory to MND-AF
Introductory to MND-AFJinwon Park
 

Similar to 20190901 seq2 sparql_kips (18)

[Tf2017] day1 jwkang_pub
[Tf2017] day1 jwkang_pub[Tf2017] day1 jwkang_pub
[Tf2017] day1 jwkang_pub
 
Text summarization
Text summarizationText summarization
Text summarization
 
한글 언어 자원과 R: KoNLP 개선과 활용
한글 언어 자원과 R: KoNLP 개선과 활용한글 언어 자원과 R: KoNLP 개선과 활용
한글 언어 자원과 R: KoNLP 개선과 활용
 
Nlp study1
Nlp study1Nlp study1
Nlp study1
 
Polyp detection with_tensorflow_object_detection_api
Polyp detection with_tensorflow_object_detection_apiPolyp detection with_tensorflow_object_detection_api
Polyp detection with_tensorflow_object_detection_api
 
Lecture 1: Introduction to Python and TensorFlow
Lecture 1: Introduction to Python and TensorFlowLecture 1: Introduction to Python and TensorFlow
Lecture 1: Introduction to Python and TensorFlow
 
PyCon 12월 세미나 - 실전 파이썬 프로그래밍 책 홍보
PyCon 12월 세미나 - 실전 파이썬 프로그래밍 책 홍보PyCon 12월 세미나 - 실전 파이썬 프로그래밍 책 홍보
PyCon 12월 세미나 - 실전 파이썬 프로그래밍 책 홍보
 
GPG 1.1 객체지향적 프로그래밍과 설계기법
GPG 1.1 객체지향적 프로그래밍과 설계기법GPG 1.1 객체지향적 프로그래밍과 설계기법
GPG 1.1 객체지향적 프로그래밍과 설계기법
 
자바, 미안하다! 파이썬 한국어 NLP
자바, 미안하다! 파이썬 한국어 NLP자바, 미안하다! 파이썬 한국어 NLP
자바, 미안하다! 파이썬 한국어 NLP
 
EveryBody Tensorflow module1 GIST Jan 2018 Korean
EveryBody Tensorflow module1 GIST Jan 2018 KoreanEveryBody Tensorflow module1 GIST Jan 2018 Korean
EveryBody Tensorflow module1 GIST Jan 2018 Korean
 
[한국어] Neural Architecture Search with Reinforcement Learning
[한국어] Neural Architecture Search with Reinforcement Learning[한국어] Neural Architecture Search with Reinforcement Learning
[한국어] Neural Architecture Search with Reinforcement Learning
 
[Tf2017] day2 jwkang_pub
[Tf2017] day2 jwkang_pub[Tf2017] day2 jwkang_pub
[Tf2017] day2 jwkang_pub
 
[226]대용량 텍스트마이닝 기술 하정우
[226]대용량 텍스트마이닝 기술 하정우[226]대용량 텍스트마이닝 기술 하정우
[226]대용량 텍스트마이닝 기술 하정우
 
딥러닝 기반의 자연어처리 최근 연구 동향
딥러닝 기반의 자연어처리 최근 연구 동향딥러닝 기반의 자연어처리 최근 연구 동향
딥러닝 기반의 자연어처리 최근 연구 동향
 
메이크챗봇 자연어기초
메이크챗봇 자연어기초메이크챗봇 자연어기초
메이크챗봇 자연어기초
 
스프링보다 중요한 스프링 이야기
스프링보다 중요한 스프링 이야기스프링보다 중요한 스프링 이야기
스프링보다 중요한 스프링 이야기
 
Python을 활용한 챗봇 서비스 개발 2일차
Python을 활용한 챗봇 서비스 개발 2일차Python을 활용한 챗봇 서비스 개발 2일차
Python을 활용한 챗봇 서비스 개발 2일차
 
Introductory to MND-AF
Introductory to MND-AFIntroductory to MND-AF
Introductory to MND-AF
 

More from DongGyun Hong

20170928 session basedrec_hyu_dake
20170928 session basedrec_hyu_dake20170928 session basedrec_hyu_dake
20170928 session basedrec_hyu_dakeDongGyun Hong
 
20170216 conv mf_hyu_dake
20170216 conv mf_hyu_dake20170216 conv mf_hyu_dake
20170216 conv mf_hyu_dakeDongGyun Hong
 
180212 normalization hyu_dake
180212 normalization hyu_dake180212 normalization hyu_dake
180212 normalization hyu_dakeDongGyun Hong
 
20181217 sac dong_gyun_hong
20181217 sac dong_gyun_hong20181217 sac dong_gyun_hong
20181217 sac dong_gyun_hongDongGyun Hong
 
20181106 survey on challenges of question answering in the semantic web saltlux
20181106 survey on challenges of question answering in the semantic web saltlux20181106 survey on challenges of question answering in the semantic web saltlux
20181106 survey on challenges of question answering in the semantic web saltluxDongGyun Hong
 
20200923 open domain-qa_saltlux
20200923 open domain-qa_saltlux20200923 open domain-qa_saltlux
20200923 open domain-qa_saltluxDongGyun Hong
 

More from DongGyun Hong (7)

20170928 session basedrec_hyu_dake
20170928 session basedrec_hyu_dake20170928 session basedrec_hyu_dake
20170928 session basedrec_hyu_dake
 
20170216 conv mf_hyu_dake
20170216 conv mf_hyu_dake20170216 conv mf_hyu_dake
20170216 conv mf_hyu_dake
 
180212 normalization hyu_dake
180212 normalization hyu_dake180212 normalization hyu_dake
180212 normalization hyu_dake
 
20181103 kbcqa kips
20181103 kbcqa kips20181103 kbcqa kips
20181103 kbcqa kips
 
20181217 sac dong_gyun_hong
20181217 sac dong_gyun_hong20181217 sac dong_gyun_hong
20181217 sac dong_gyun_hong
 
20181106 survey on challenges of question answering in the semantic web saltlux
20181106 survey on challenges of question answering in the semantic web saltlux20181106 survey on challenges of question answering in the semantic web saltlux
20181106 survey on challenges of question answering in the semantic web saltlux
 
20200923 open domain-qa_saltlux
20200923 open domain-qa_saltlux20200923 open domain-qa_saltlux
20200923 open domain-qa_saltlux
 

20190901 seq2 sparql_kips

  • 1. COMMUNICATIING KNOWLEDGE 2019.11.02 홍동균, 심홍매, 김광민, Saltlux Inc. Seq2SPARQL: 신경망 기계 번역을 사용한 지식 베이스 질의 언어 자동 생성 1 / 122019 정보처리학회 추계학술발표대회
  • 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