3. 자연언어처리 서비스
3.1. 자연언어처리 서비스의 구분
3.1.1. 자료 data에 따른 구분
-
자연언어처리 Natural Language Processing
- 자료: 텍스트 (이메일, 뉴스 등)
- 활용: 검색 엔진, 챗봇, 문서 요약
-
음성언어처리 Speech technology
- 자료: 음성 (동영상, 전화 통화)
- 활용: AI 스피커, 음성합성기
3.1.2. 기능에 따른 구분
-
인식 recognition
- 텍스트를 분류 classification 또는 측정 measure함
- 어떤 언어로 작성된 문서인가?
- 관련 주제에 해당하는 정보를 찾음
- 음성을 분류 classification 또는 측정 measure함
- 화자가 말하는 단어 인식
- 제 2언어 화자의 말하기 능숙도 측정
- 사람이 입력한 문장 또는 음성을 알아차리기 위해서, 대량의 자료를 구성함
- 음성 인식: The noisy channel model
- noisy: 단어의 표준형에 대한 여러 변이들
- 이 변이 문제들을 풀기 위해, 큰 자료의 음성 파일에서 추출된 파형 waveform과 입력형 신호를 비교
- 텍스트를 분류 classification 또는 측정 measure함
-
합성 synthesis
: 사용자를 위한 변환- 자연스러운 문장과 음성 생성이 필요함
- 초기 텍스트 기반 챗봇 엘리자 (1966)
환자: 울고 싶어요.
엘리자: 왜 울고 싶다고 말씀하시나요?
환자: 왜냐면 엄마가 나를 미워하니까요.
엘리자: 가족 중 또 선생님을 미워하시는 분이 있나요?- 심리치료사를 흉내내어 환자와 대화하도록 설계함
- 대화자가 사용한 문장에서 핵심 어구를 특정해 내부적으로 미리 정해둔 문장에 끼워 넣음
- 음성합성에서의 주요 과제 - 가장 적절한 분절 단위가 무엇인가?
- 분절 단위가 길면 길수록 보다 인간의 발화에 가까움
- 그러나 수많은 문장을 생성하기에는 제한됨
- 실용적인 목적으로 단어 단위의 분절을 많이 이용함
- 문제: 새로운 단어
- 음소 또는 diphone을 기준으로 분할 및 생성
- 분절 단위가 길면 길수록 보다 인간의 발화에 가까움
3.2. 적용: 대화 체계
: 음성 합성 기술과 음성 인식 기술이 모두 필요함 (적절한 답변까지 생성할 수 있어야 함)
- [구성]
음성 인식 언어 처리 및 이해 대화 관리 텍스트 생성 음성 합성
3.2.1. 음성 인식
-
신호 처리 signal processing
- 녹음된 소리에서 음향학적인 특징 추출
- 성도 특징(높이, 각 개인별 특징 등)
- 음성학적 특징 (p와 b의 구분 등)
- 녹음된 소리에서 음향학적인 특징 추출
-
음향학적 모델 acoustic modeling
- 파형은 음소 phone에 대응함
- 이를 위해서, 각 음소 phone에 대한 음향학적 정보 필요
- 해당 신호가 각 음소에 대응될 확률을 계산
- 신호의 변이에 따른 불확실성 감안
-
발음 모델 pronounciation modeling
- 각 음소 phone 자체만으로 확정하기 어려움
- 음소 연쇄의 정보 활용
- (e.g.) 한국어에서 [n]은 단어 시작에 올 수 있지만, [ng]는 단어 시작에 올 수 없음
- 발음 사전 활용
- 각 철자가 어떠한 발음으로 실현될 수 있는지 모아둠
-
언어 모델 language modeling
- 단어 연쇄 정보 이용: 다음 단어에 무엇이 올 수 있는가?
- (e.g.) drive a car vs drive a call
- 영역 특정적일 때 높은 성능을 보임
- 단어 연쇄 정보 이용: 다음 단어에 무엇이 올 수 있는가?
-
과제: 음성학적 변이에 대한 처리
-
사회언어학적 차이
-
개인별 성도, 스타일 차이
-
개인 내 건강 상태 등의 변이
(cf) 음성 외 정보 이용: 문법 또는 감정 분석
-
3.2.2. 언어 처리 및 이해
-
단순 과제 처리: 이미 입력된 자료 활용
-
복잡한 과제 처리: 언어 이해 단계 과정이 필요
- (e.g.) What seems to be the problem?
- 통사론적 분석
- 화자에 대한 의도 파악
- 세계에 대한 지식 필요
- (e.g.) What seems to be the problem?
-
처리 및 이해 초기 모델: 규칙 기반 접근
- 통사, 형태, 음운 규칙 입력
- 규칙이 생성되도록 함
- 예외 발생이라는 문제가 있어 1970-80년대에 정체기를 겪음
-
이후, 규칙의 단순화
: 형태소 분석 개체명 인식 의존구문 분석- 형태소 분석 예
이종욱이 5회 선두타자로 나와 유희관을 상대로 홈런을 날렸다.- 이종욱이 이종욱-이 / 나와 나오-아
- 개체명 인식
NC[ORG] 이종욱[PERSON]이 5회[TIME] 선두타자로 나와 유희관[PERSON]을 상대로 홈런을 날렸다. - 문장구조 분석
- 형태소 분석 예
3.2.3. 대화 관리
- 대화의 구조에 대한 정보
- (e.g.) 비행기 예약 시스템: 비행기 예약에 필요한 정보를 담아야 함
- 해당 부분은 오류에 대한 대처까지 포함해야 함
- “I’m sorry. I must have misheared the date…“
3.2.4. 텍스트 생성
- 관련 있는 정보를 적절한 문장으로 생성해야 함
- (e.g.) There is an American Airlines flight leaving Port Columbus at 11:45 A.M. and arriving at JFK at 2:30.
3.2.5. 음성 합성
- 자연스러운 발음 및 운율을 고려한 합성이 필요함
3.3. 인식 체계의 주요 원리와 구성
- 훈련 training과 인식 recognition
- 훈련: 이미 분류된 자료를 바탕으로 함
- 인식: 훈련된 바를 새로운 자료에 대한 인식에 대응
3.3.1. 자질 추출 feature extraction
: 인식할 자료들과 관련된 정보를 명확하게 포함하여야 함
-
Word frequency vector
: 텍스트에서 나타나는 단어의 빈도에 대한 정보를 나타냄- 텍스트에 적용
- 벡터 vector: 숫자의 집합
- 적용: 주제 분류
- 주제와 관련된 단어는 더 자주 나타날 것으로 기대됨
- 그러나 단어 외의 활용할 수 있는 정보도 포함될 수 있어야 함
-
Embeddings
- 텍스트에 적용
- 인공 신경망 neural network을 이용하여, 훈련 자료의 특징을 추출
- 반복적으로 분류 자료에 대응해 나가며, 자질(vector 등)의 기능과 가중치를 조정함
- word frequency vector보다 복잡한 정보로 구성되어, 자질의 수를 줄일 수 있음
-
Acoustic feature vectors
- 음성에 적용
- Mel-Frequency Cepstral Coefficients (MFCCs): 가장 많이 쓰이는 자질
- 각 소리들의 특징을 포착함
3.3.2. 모델링과 인식 modeling and recognition
-
규칙 기반 접근
: 이미 정해진 언어학적 규칙을 바탕으로 훈련된 자료를 활용 -
기계 학습 접근 machine learning approaches
- 훈련 자료 내에서 패턴을 찾고, 패턴과의 관계를 파악
- 인간이 결정하는 자질 feature을 최소화하려는 방향으로 개발됨
3.4. 딥러닝과 언어학
-
딥러닝: 인공 신경망 artificial neural network
- 한 층위의 출력형이 다른 출력형의 입력형이 됨
- 출력형을 통해, 입력형의 중요도 조정
- 입력형의 어떤 점을 반영한지는 바로 파악하기 어려움
- (e.g.) 음성 인식기 학습 traning
- 발화 녹음 자료(입력형) 전사 자료와 대응(출력형)
-
딥러닝 기술 도입 효과
- 입력형과 출력형의 효율적인 mapping
- 입력형과 바람직한 출력형에 대한 예를 통해, 적절한 출력을 나타낼 수 있음
- 딥러닝 이전에는 mapping을 위해서 상당 부분 언어 구조를 모델에 구현했어야 함
- 입력형과 출력형의 효율적인 mapping
-
과제: 적절한 자료에 대한 학습
-
딥러닝의 시대, 자연언어처리에서 언어학의 기여
-
언어 자료의 특성
-
평가 체계의 고도화: 언어 모형이 인간의 언어 구조와 사용을 얼마나 잘 모사하는가?
- 통사론: 수용 가능한 문장과 수용 가능하지 않은 문장
- 의미론: 문장 간의 유사도(진리조건적 측면) 측정
- 담화 구조: 문장과 문장 사이의 함축적 관계 추론
-
언어 모형 구축
- 딥러닝은 초거대 말뭉치를 필요로 함
- 학습 데이터의 효율적 구축에 기여함
- Parrish et al. 2021
- 자연어처리 인공지능의 학습데이터 구축
- 언어학자의 적극적 개입이 성능 개선에 어떻게 이바지할 수 있는가?
- 데이터의 신뢰도와 정확도는 상승하나 성능 개선에 크게 영향을 미치지 못함
-
언어학의 기여: 아직 불분명함
- 언어학 이론이 딥러닝 방법을 이용하여 발전할 수 있음 (Pater 2019)
- 그러한 상호작용 가운데 기여가 보다 분명할 것이라 봄
-
한 가지 분명한 것
- 기계는 계속 공부할 필요가 있으며 공부할 내용을 끊임없이 제공해야 함
언어의 다양한 변이와 변화를 고려해야 함
- 기계는 계속 공부할 필요가 있으며 공부할 내용을 끊임없이 제공해야 함
-