3. 자연언어처리 서비스


3.1. 자연언어처리 서비스의 구분

3.1.1. 자료 data에 따른 구분

  1. 자연언어처리 Natural Language Processing

    • 자료: 텍스트 (이메일, 뉴스 등)
    • 활용: 검색 엔진, 챗봇, 문서 요약
  2. 음성언어처리 Speech technology

    • 자료: 음성 (동영상, 전화 통화)
    • 활용: AI 스피커, 음성합성기

3.1.2. 기능에 따른 구분

  1. 인식 recognition

    • 텍스트를 분류 classification 또는 측정 measure함
      • 어떤 언어로 작성된 문서인가?
      • 관련 주제에 해당하는 정보를 찾음
    • 음성을 분류 classification 또는 측정 measure함
      • 화자가 말하는 단어 인식
      • 제 2언어 화자의 말하기 능숙도 측정
    • 사람이 입력한 문장 또는 음성을 알아차리기 위해서, 대량의 자료를 구성함
    • 음성 인식: The noisy channel model
      • noisy: 단어의 표준형에 대한 여러 변이들
      • 이 변이 문제들을 풀기 위해, 큰 자료의 음성 파일에서 추출된 파형 waveform과 입력형 신호를 비교
  2. 합성 synthesis
    : 사용자를 위한 변환

    • 자연스러운 문장과 음성 생성이 필요함
    • 초기 텍스트 기반 챗봇 엘리자 (1966)

      환자: 울고 싶어요.
      엘리자: 왜 울고 싶다고 말씀하시나요?
      환자: 왜냐면 엄마가 나를 미워하니까요.
      엘리자: 가족 중 또 선생님을 미워하시는 분이 있나요?

      • 심리치료사를 흉내내어 환자와 대화하도록 설계함
      • 대화자가 사용한 문장에서 핵심 어구를 특정해 내부적으로 미리 정해둔 문장에 끼워 넣음
    • 음성합성에서의 주요 과제 - 가장 적절한 분절 단위가 무엇인가?
      • 분절 단위가 길면 길수록 보다 인간의 발화에 가까움
        • 그러나 수많은 문장을 생성하기에는 제한됨
      • 실용적인 목적으로 단어 단위의 분절을 많이 이용함
        • 문제: 새로운 단어
      • 음소 또는 diphone을 기준으로 분할 및 생성

3.2. 적용: 대화 체계

: 음성 합성 기술과 음성 인식 기술이 모두 필요함 (적절한 답변까지 생성할 수 있어야 함)

  • [구성]
    음성 인식 언어 처리 및 이해 대화 관리 텍스트 생성 음성 합성

3.2.1. 음성 인식

  1. 신호 처리 signal processing

    • 녹음된 소리에서 음향학적인 특징 추출
      • 성도 특징(높이, 각 개인별 특징 등)
      • 음성학적 특징 (p와 b의 구분 등)
  2. 음향학적 모델 acoustic modeling

    • 파형은 음소 phone에 대응함
    • 이를 위해서, 각 음소 phone에 대한 음향학적 정보 필요
      • 해당 신호가 각 음소에 대응될 확률을 계산
    • 신호의 변이에 따른 불확실성 감안
  3. 발음 모델 pronounciation modeling

    • 각 음소 phone 자체만으로 확정하기 어려움
    • 음소 연쇄의 정보 활용
      • (e.g.) 한국어에서 [n]은 단어 시작에 올 수 있지만, [ng]는 단어 시작에 올 수 없음
    • 발음 사전 활용
      • 각 철자가 어떠한 발음으로 실현될 수 있는지 모아둠
  4. 언어 모델 language modeling

    • 단어 연쇄 정보 이용: 다음 단어에 무엇이 올 수 있는가?
      • (e.g.) drive a car vs drive a call
    • 영역 특정적일 때 높은 성능을 보임
  5. 과제: 음성학적 변이에 대한 처리

    • 사회언어학적 차이

    • 개인별 성도, 스타일 차이

    • 개인 내 건강 상태 등의 변이

    (cf) 음성 외 정보 이용: 문법 또는 감정 분석

3.2.2. 언어 처리 및 이해

  1. 단순 과제 처리: 이미 입력된 자료 활용

  2. 복잡한 과제 처리: 언어 이해 단계 과정이 필요

    • (e.g.) What seems to be the problem?
      • 통사론적 분석
      • 화자에 대한 의도 파악
      • 세계에 대한 지식 필요
  3. 처리 및 이해 초기 모델: 규칙 기반 접근

    • 통사, 형태, 음운 규칙 입력
    • 규칙이 생성되도록 함
    • 예외 발생이라는 문제가 있어 1970-80년대에 정체기를 겪음
  4. 이후, 규칙의 단순화
    : 형태소 분석 개체명 인식 의존구문 분석

    • 형태소 분석 예
      이종욱이 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

: 인식할 자료들과 관련된 정보를 명확하게 포함하여야 함

  1. Word frequency vector
    : 텍스트에서 나타나는 단어의 빈도에 대한 정보를 나타냄

    • 텍스트에 적용
    • 벡터 vector: 숫자의 집합
    • 적용: 주제 분류
      • 주제와 관련된 단어는 더 자주 나타날 것으로 기대됨
    • 그러나 단어 외의 활용할 수 있는 정보도 포함될 수 있어야 함
  2. Embeddings

    • 텍스트에 적용
    • 인공 신경망 neural network을 이용하여, 훈련 자료의 특징을 추출
      • 반복적으로 분류 자료에 대응해 나가며, 자질(vector 등)의 기능과 가중치를 조정함
    • word frequency vector보다 복잡한 정보로 구성되어, 자질의 수를 줄일 수 있음
  3. Acoustic feature vectors

    • 음성에 적용
    • Mel-Frequency Cepstral Coefficients (MFCCs): 가장 많이 쓰이는 자질
    • 각 소리들의 특징을 포착함

3.3.2. 모델링과 인식 modeling and recognition

  1. 규칙 기반 접근
    : 이미 정해진 언어학적 규칙을 바탕으로 훈련된 자료를 활용

  2. 기계 학습 접근 machine learning approaches

    • 훈련 자료 내에서 패턴을 찾고, 패턴과의 관계를 파악
    • 인간이 결정하는 자질 feature을 최소화하려는 방향으로 개발됨

3.4. 딥러닝과 언어학

  1. 딥러닝: 인공 신경망 artificial neural network

    • 한 층위의 출력형이 다른 출력형의 입력형이 됨
    • 출력형을 통해, 입력형의 중요도 조정
      • 입력형의 어떤 점을 반영한지는 바로 파악하기 어려움
    • (e.g.) 음성 인식기 학습 traning
      • 발화 녹음 자료(입력형) 전사 자료와 대응(출력형)
  2. 딥러닝 기술 도입 효과

    • 입력형과 출력형의 효율적인 mapping
      • 입력형과 바람직한 출력형에 대한 예를 통해, 적절한 출력을 나타낼 수 있음
      • 딥러닝 이전에는 mapping을 위해서 상당 부분 언어 구조를 모델에 구현했어야 함
  3. 과제: 적절한 자료에 대한 학습

  4. 딥러닝의 시대, 자연언어처리에서 언어학의 기여

    • 언어 자료의 특성

    • 평가 체계의 고도화: 언어 모형이 인간의 언어 구조와 사용을 얼마나 잘 모사하는가?

      • 통사론: 수용 가능한 문장과 수용 가능하지 않은 문장
      • 의미론: 문장 간의 유사도(진리조건적 측면) 측정
      • 담화 구조: 문장과 문장 사이의 함축적 관계 추론
    • 언어 모형 구축

      • 딥러닝은 초거대 말뭉치를 필요로 함
      • 학습 데이터의 효율적 구축에 기여함
      • Parrish et al. 2021
        • 자연어처리 인공지능의 학습데이터 구축
        • 언어학자의 적극적 개입이 성능 개선에 어떻게 이바지할 수 있는가?
        • 데이터의 신뢰도와 정확도는 상승하나 성능 개선에 크게 영향을 미치지 못함
    • 언어학의 기여: 아직 불분명함

      • 언어학 이론이 딥러닝 방법을 이용하여 발전할 수 있음 (Pater 2019)
      • 그러한 상호작용 가운데 기여가 보다 분명할 것이라 봄
    • 한 가지 분명한 것

      • 기계는 계속 공부할 필요가 있으며 공부할 내용을 끊임없이 제공해야 함
        언어의 다양한 변이와 변화를 고려해야 함