본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.
(자연어처리에서 넘어옴)
NLP, Natural Language Processing; 자연어 처리
사람이 쓰는 말과 글을 컴퓨터가 분석하고 이해하고 생성하도록 하는 기술 분야

자연어 처리(Natural Language Processing, NLP)는 한국어·영어처럼 사람이 일상에서 쓰는 언어(자연어)를 컴퓨터로 다루는 인공지능의 한 분야다. 프로그래밍 언어처럼 문법이 엄밀하게 정해진 인공 언어와 달리, 자연어는 한 문장이 여러 뜻으로 읽히고(중의성) 생략과 문맥 의존이 많으며 끊임없이 변한다. 자연어 처리는 이런 언어를 분석해 구조와 의미를 뽑아내는 일(자연어 이해, NLU)과, 컴퓨터가 가진 정보를 사람의 말로 표현하는 일(자연어 생성, NLG)을 함께 다룬다.

언어학(형태론·통사론·의미론·화용론), 전산언어학(Computational Linguistics), 기계 학습이 만나는 분야이며, 검색 엔진, 기계 번역, 챗봇, 맞춤법 검사기, 스팸 필터, 문서 요약, 음성 비서 등이 모두 자연어 처리 기술 위에서 돌아간다. 2010년대 딥 러닝과 워드 임베딩, 2017년 트랜스포머 이후로 분야의 중심이 크게 바뀌었고, 2020년대에는 대형 언어 모델(LLM) 하나가 번역·요약·질의응답·대화를 한꺼번에 처리하는 단계에 이르렀다.

이 문서는 자연어 처리 전체를 조망하는 허브 문서다. 개별 기법과 과제는 해당 문서에서 자세히 다룬다.

언어의 층위와 처리 단계

편집 원본 편집

자연어 처리는 전통적으로 언어학의 분석 층위를 따라 단계별 파이프라인으로 설계되었다. 신경망 기반 종단간(end-to-end) 모델은 이 단계를 명시적으로 나누지 않지만, 각 층위의 문제는 여전히 모델이 풀어야 하는 과제로 남아 있다.

층위 다루는 대상 대표 처리 예
음운·음성 소리, 발음 음성 인식, 음성 합성 "같이"가 [가치]로 발음됨
형태론 단어의 내부 구조(형태소) 토큰화, 형태소 분석, 품사 태깅, 표제어 추출 "먹었다" → 먹/동사 + 었/선어말어미 + 다/어말어미
통사론(구문) 단어가 모여 문장을 이루는 구조 구문 분석(구 구조, 의존 구조) "나는 밥을 먹었다"에서 '먹었다'의 주어와 목적어 찾기
의미론 단어와 문장의 뜻 어휘 중의성 해소, 의미역 결정, 개체명 인식 '배'가 과일인지 탈것인지 배(몸)인지 구별
화용론·담화 맥락, 의도, 문장 간 관계 상호참조 해결, 대화 행위 분류, 의도 파악 "창문 좀 열 수 있어?"가 능력 질문이 아니라 요청임을 앎

자연어 이해(NLU) 단계

편집 원본 편집
단계 설명
전처리 문장 경계 인식, 정규화(대소문자, 전각·반각, 유니코드 정규화), 불필요한 기호 제거
형태소 분석 어절을 형태소로 나누고 원형을 복원한다. 한국어·일본어처럼 형태가 풍부한 언어에서는 품사 태깅의 전 단계로 꼭 필요하다
구문 분석 명사구·동사구 같은 구 구조나 단어 사이 의존 관계를 찾아 파스 트리를 만든다
의미 분석 단어 뜻을 정하고, 누가 누구에게 무엇을 했는지(의미역)를 찾는다. 사용자 의도 분류도 여기에 속한다
담화 분석 문장 사이의 관계, 대명사가 가리키는 대상, 대화 문맥을 파악한다

자연어 생성(NLG) 단계

편집 원본 편집

고전적인 규칙 기반 생성 시스템은 다음 단계를 거쳤다. 신경망 언어 모델은 이 단계를 하나의 확률 모델로 대신한다.

단계 설명
내용 결정·문서 계획 무엇을 어떤 순서로 말할지 정한다
문장 계획 내용을 문장 단위로 나누고 묶는다
어휘 선택 전달할 의미에 맞는 단어를 고른다
표층 실현 문법에 맞게 어순, 활용, 조사를 정해 실제 문장을 만든다

자연어 처리의 과제는 입력과 출력의 형태로 나누어 볼 수 있다. 단어마다 꼬리표를 붙이는 '시퀀스 레이블링', 문장 전체를 분류하는 '분류', 문장을 다른 문장으로 바꾸는 '시퀀스 변환(생성)'이 큰 갈래다.

과제 입력 → 출력 설명 관련 문서
토큰화 문자열 → 토큰 열 텍스트를 단어, 형태소, 하위 단어(subword) 단위로 자른다. 현대 언어 모델은 BPE 같은 하위 단어 토큰화를 쓴다 토큰화 (자연어 처리)
품사 태깅 단어 열 → 품사 열 각 단어에 명사·동사 같은 품사를 붙인다. 은닉 마르코프 모델, 조건부 무작위장(CRF), 신경망이 쓰인다 은닉 마르코프 모델
개체명 인식(NER) 단어 열 → 개체 꼬리표 인명, 지명, 기관명, 날짜 같은 고유 표현을 찾아 종류를 붙인다
구문 분석 문장 → 트리·그래프 구 구조 분석과 의존 구문 분석이 있다. 번역, 정보 추출의 전처리로 쓰였다 파스 트리
어휘 중의성 해소 단어 + 문맥 → 뜻 여러 뜻을 가진 단어의 문맥상 뜻을 고른다
의미역 결정 문장 → 술어-논항 구조 술어를 중심으로 행위자, 대상, 도구 같은 역할을 찾는다
상호참조 해결 문서 → 지시 관계 '그', '이 회사'가 앞의 어느 개체를 가리키는지 찾는다
감성 분석 문장·문서 → 극성·감정 상품평이 긍정인지 부정인지, 어떤 속성에 대한 의견인지 판단한다 감성 분석
문서 분류 문서 → 범주 스팸 판별, 뉴스 주제 분류. 전통적으로 TF-IDF 자질과 나이브 베이즈·서포트 벡터 머신을 썼다 텍스트 마이닝
기계 번역 문장 → 다른 언어 문장 자연어 처리의 출발점이 된 과제. 규칙 기반에서 통계, 신경망, LLM으로 바뀌어 왔다 기계 번역
요약 문서 → 짧은 글 원문 문장을 골라내는 추출 요약(예: 텍스트 랭크)과 새 문장을 쓰는 생성 요약이 있다 텍스트 랭크
질의응답 질문 (+ 문서) → 답 주어진 문단에서 답 구간을 찾는 독해형, 지식베이스나 검색 결과를 활용하는 개방형이 있다 RAG (인공지능)
정보 추출 비정형 텍스트 → 구조화 데이터 개체명 인식과 관계 추출로 "누가 어디에 소속되어 있다" 같은 사실을 뽑는다 텍스트 마이닝
정보 검색 질의 → 관련 문서 순위 색인과 유사도 계산으로 문서를 찾는다. 검색 엔진의 기반 정보 검색
대화 시스템 발화 → 응답 목적형(예약, 상담)과 잡담형이 있다. 의도 분류, 대화 상태 추적, 응답 생성으로 이뤄진다 챗봇
음성 인식·합성 음성 ↔ 텍스트 말소리를 글로 바꾸거나 글을 말소리로 바꾼다 음성 인식, 음성 합성

접근법의 변천

편집 원본 편집

자연어 처리의 방법론은 크게 다섯 시기로 나뉜다. 각 시기는 앞 시기를 완전히 대체했다기보다 주류가 바뀐 것이며, 지금도 규칙과 통계 기법은 전처리나 특수 영역에서 쓰인다.

시기 접근법 핵심 아이디어 대표 기법·시스템
1950~1980년대 규칙·기호 기반 언어학자가 문법 규칙과 사전을 손으로 작성 조지타운-IBM 번역 시연, ELIZA, SHRDLU, 전문가 시스템형 파서
1990~2000년대 통계 기반 대규모 말뭉치에서 확률을 추정 N-Gram 언어 모델, 은닉 마르코프 모델, IBM 번역 모델, 최대 엔트로피, CRF
2000년대 후반~2010년대 초 기계 학습 + 자질 공학 사람이 설계한 자질(feature)을 분류기에 넣음 Bag of Words, TF-IDF, 서포트 벡터 머신, 로지스틱 회귀
2013~2017년 신경망·임베딩 단어를 밀집 벡터로 표현하고 순환 신경망으로 문장을 처리 Word2Vec, RNN, LSTM, seq2seq, 어텐션 메커니즘
2018년~ 사전학습 트랜스포머 대량의 텍스트로 미리 학습한 모델을 과제별로 미세 조정 BERT, GPT-1, GPT-2
2020년~ 대형 언어 모델 하나의 거대 모델에 지시문(프롬프트)만 바꿔 여러 과제 수행 GPT-3, ChatGPT, 인컨텍스트 러닝, 인간 피드백 기반 강화 학습

초기 시스템은 사람이 작성한 사전과 문법 규칙에 의존했다. 촘스키가 1957년 『통사 구조』(Syntactic Structures)에서 제시한 생성 문법은 문장 구조를 형식 규칙으로 기술하는 틀을 주었다. 규칙 기반 방식은 동작을 설명하기 쉽고 좁은 영역에서는 정확하지만, 언어의 예외와 중의성을 규칙으로 모두 덮을 수 없어 규칙 수가 폭발하고, 언어나 영역이 바뀌면 처음부터 다시 만들어야 했다. 지금도 날짜·전화번호 추출처럼 형식이 정해진 문제에는 정규 표현식과 규칙이 쓰인다.

기존 IT위키 문서는 이 방식을 "[Now] [Weather] [What]"처럼 핵심어를 뽑아 미리 정한 의도에 맞추는 예로 설명했다. 이런 슬롯·키워드 방식은 상용 챗봇과 음성 비서의 의도 처리에도 오래 쓰였다.

1980년대 후반부터 IBM 연구진을 중심으로 음성 인식과 번역에 확률 모델을 적용하면서 흐름이 바뀌었다. 펜 트리뱅크처럼 사람이 품사와 구문 구조를 붙인 대규모 말뭉치가 만들어지면서[1], 규칙을 손으로 쓰는 대신 데이터에서 확률을 추정하는 방식이 주류가 되었다. N-Gram 언어 모델, 은닉 마르코프 모델 기반 품사 태거, IBM 번역 모델[2]이 대표적이다.

신경망과 임베딩

편집 원본 편집

2013년 Word2Vec은 단어를 수백 차원의 밀집 벡터로 학습해, 뜻이 비슷한 단어가 가까운 벡터를 갖게 했다[3]. 이후 RNN·LSTM 기반 인코더-디코더(seq2seq)가 2014년 번역에 쓰였고[4], 디코더가 입력의 필요한 부분을 골라 보는 어텐션 메커니즘이 더해졌다[5]. 자질을 사람이 설계하지 않아도 된다는 점이 가장 큰 변화였다. 자세한 내용은 워드 임베딩, 텍스트 임베딩 문서 참고.

사전학습 트랜스포머와 대형 언어 모델

편집 원본 편집

2017년 순환 구조 없이 어텐션만으로 문장을 처리하는 트랜스포머가 발표되었다[6]. 병렬 학습이 쉬워지자 대량의 텍스트로 언어 모델을 먼저 학습(사전학습)하고 과제별로 조금 더 학습(미세 조정)하는 전이 학습 방식이 표준이 되었다. 2018년 BERT는 양방향 문맥을 학습해 여러 이해 과제의 기록을 한꺼번에 갈아 치웠다[7].

2020년 GPT-3는 미세 조정 없이 프롬프트에 예시 몇 개만 넣어도 여러 과제를 수행하는 인컨텍스트 러닝 능력을 보였다[8]. 이후 개별 과제마다 모델을 따로 만드는 대신, 범용 대형 언어 모델에 지시를 주는 방식이 많은 응용을 대신하게 되었다. 다만 LLM도 사실과 다른 내용을 그럴듯하게 만드는 할루시네이션, 높은 계산 비용, 저자원 언어 성능 격차 같은 문제를 안고 있다. 자세한 내용은 언어 모델, 대형 언어 모델 문서 참고.

텍스트 표현 방법

편집 원본 편집

컴퓨터가 텍스트를 계산하려면 숫자로 바꿔야 한다. 표현 방식의 발전이 곧 자연어 처리 발전의 축이었다.

표현 방식 장점 한계
원-핫 / Bag of Words 어휘 크기만큼의 벡터에 등장 여부나 횟수를 기록 단순하고 해석이 쉬움 어순과 의미 유사성을 잃고 벡터가 매우 희소함
TF-IDF 단어 빈도에 문서 빈도의 역수를 곱해 가중 흔한 단어의 영향을 줄여 검색·분류에 효과 여전히 의미를 반영하지 못함
N-Gram 연속한 n개 단어 묶음을 단위로 셈 짧은 어순 정보를 반영 n이 커지면 조합이 폭발하고 데이터가 희소해짐
정적 워드 임베딩 Word2Vec, GloVe, FastText처럼 단어마다 고정 벡터 하나 의미 유사도를 코사인 유사도로 계산 가능 문맥에 따라 뜻이 바뀌는 다의어를 하나의 벡터로 표현
문맥 임베딩 ELMo, BERT처럼 문장 안의 위치와 문맥마다 다른 벡터 다의어 구분, 문장 이해 성능 향상 계산 비용이 큼
문장·문서 임베딩 문장 전체를 하나의 벡터로 압축 의미 검색, RAG, 군집화 긴 문서의 세부 정보 손실

문장 임베딩을 만드는 모델은 임베딩 모델, 이를 저장하고 검색하는 시스템은 벡터 데이터베이스 문서 참고.

한국어 처리의 특수성

편집 원본 편집

한국어는 영어 중심으로 발전한 기법을 그대로 쓰기 어려운 특징이 여럿 있다.

  • 교착어: 한국어는 어간에 조사와 어미가 붙어 단어 형태가 바뀌는 교착어다. '학교', '학교에', '학교에서', '학교에서도'가 모두 다른 어절이 되므로, 공백 단위로 자르면 어휘 수가 폭증한다. 그래서 형태소 분석이 영어의 토큰화보다 훨씬 중요하다.
  • 띄어쓰기: 띄어쓰기 규칙이 복잡하고 실제 글에서 잘 지켜지지 않는다. "아버지가방에들어가신다"처럼 띄어쓰기에 따라 뜻이 갈리는 문장도 있어, 자동 띄어쓰기 교정이 별도 과제로 연구된다.
  • 자유로운 어순과 생략: 조사가 문법 관계를 표시하므로 어순이 비교적 자유롭고, 주어와 목적어가 자주 생략된다. 번역이나 의미 분석에서 생략된 성분을 복원해야 하는 경우가 많다.
  • 높임법: 존댓말과 반말, 높임 어미가 문법에 녹아 있어 생성할 때 상대와 상황에 맞는 말투를 골라야 한다.
  • 한글 표기: 한글은 자모를 음절 단위로 모아 쓰는 문자라, 유니코드의 완성형 음절 11,172자를 그대로 쓸지 자모로 분해할지에 따라 처리 방식이 달라진다. 오탈자와 신조어, 자모만 쓴 표현(ㅋㅋ, ㅇㅇ)도 처리해야 한다.
  • 한자어 동음이의어: '사과(沙果·謝過)', '인도(人道·印度)'처럼 같은 소리의 한자어가 많아 중의성 해소가 중요하다.

한국어 형태소 분석기

편집 원본 편집
도구 설명
KoNLPy 여러 한국어 형태소 분석기를 파이썬에서 같은 방식으로 호출하게 묶은 패키지. Hannanum, Kkma(꼬꼬마), Komoran, Mecab, Okt(옛 Twitter) 클래스를 제공한다[9]
Mecab-ko 일본어 형태소 분석기 MeCab을 한국어용으로 고친 것으로, '은전한닢' 프로젝트에서 사전과 함께 공개했다. 빠른 속도 덕에 대량 처리에 쓰인다
Kiwi C++로 작성된 오픈 소스 한국어 형태소 분석기. 파이썬용 Kiwipiepy 등 여러 언어 바인딩을 제공한다[10]
하위 단어 토크나이저 BPE, SentencePiece, WordPiece 같은 방식은 형태소 분석기 없이 말뭉치 통계로 단위를 정한다. 한국어 사전학습 모델 대부분이 이 방식을 쓰거나 형태소 분석과 섞어 쓴다

자연어 처리 과제는 출력 형태에 따라 평가 방식이 다르다.

지표 쓰는 과제 방식
정확도, 정밀도, 재현율, F1 분류, 개체명 인식, 품사 태깅 정답 꼬리표와 비교. 자세한 내용은 혼동 행렬, 정밀도 문서 참고
BLEU 기계 번역 기계 번역문과 사람 번역문(참조) 사이의 n-gram 정밀도에 짧은 번역 벌점을 곱함. 2002년 IBM 연구진이 제안[11]
ROUGE 요약 참조 요약의 n-gram이 생성 요약에 얼마나 들어 있는지(재현율 중심). 2004년 Chin-Yew Lin이 제안[12]
METEOR, chrF, COMET 기계 번역 동의어·어간 일치, 문자 n-gram, 신경망 기반 품질 예측 등으로 BLEU의 한계를 보완. 기계 번역 문서 참고
퍼플렉서티 언어 모델 모델이 다음 토큰을 얼마나 잘 예측하는지. 낮을수록 좋음
WER, CER 음성 인식 단어·글자 단위 편집 거리 기반 오류율. 음성 인식 문서 참고
사람 평가 생성 과제 전반 유창성, 적절성, 사실성 등을 사람이 직접 채점. 비용이 크지만 가장 믿을 만함

n-gram 겹침 지표는 뜻은 같지만 표현이 다른 답을 낮게 평가하는 한계가 있어, 사전학습 모델로 의미 유사도를 재는 BERTScore, COMET 같은 지표와 LLM을 평가자로 쓰는 방식도 쓰인다. 2018년 이후에는 GLUE, SuperGLUE처럼 여러 과제를 묶은 벤치마크로 모델의 종합 성능을 비교하는 관행이 자리 잡았다.

도구와 라이브러리

편집 원본 편집
도구 특징
NLTK 파이썬 교육·연구용 자연어 처리 라이브러리. 토큰화, 품사 태깅, 말뭉치 접근 기능을 제공
spaCy 실무용 파이썬 라이브러리. 토큰화, 품사 태깅, 의존 구문 분석, 개체명 인식 파이프라인 제공
Stanford CoreNLP 스탠퍼드 대학의 자바 기반 도구 모음. 품사 태깅, 개체명 인식, 의존 구문 분석, 상호참조 해결 등
Gensim Word2Vec, 토픽 모델링(LDA) 등 비지도 텍스트 모델링
허깅 페이스 Transformers 사전학습 트랜스포머 모델을 내려받아 쓰고 미세 조정하는 사실상의 표준 라이브러리. 파이토치 등과 함께 쓴다
KoNLPy, Kiwi, Mecab-ko 한국어 형태소 분석

학회와 학술지

편집 원본 편집
이름 성격
ACL (Association for Computational Linguistics) 연차 학술대회 전산언어학회의 대표 학술대회. 학회는 지역 학술대회 NAACL, EACL, AACL도 연다
EMNLP 경험적(데이터 기반) 자연어 처리 방법을 다루는 학술대회
COLING 국제 전산언어학 학술대회
Computational Linguistics, TACL ACL이 발행하는 학술지
SIGIR ACM의 정보 검색 분야 학술대회
한글 및 한국어 정보처리 학술대회 국내 한국어 정보처리 학술대회

ACL 계열 학술대회 논문은 대부분 ACL Anthology에서 무료로 볼 수 있다. 기계 번역 경진대회(WMT 등)는 기계 번역 문서 참고.

연도 사건
1949 워런 위버(Warren Weaver)가 기계 번역 가능성을 논한 메모를 회람해 초기 연구를 자극[13]
1950 앨런 튜링이 기계 지능의 판정 기준으로 대화 시험을 제안. 자세한 내용은 튜링 테스트 참고
1954 조지타운 대학과 IBM이 IBM 701로 러시아어 문장 60여 개를 영어로 자동 번역하는 공개 시연을 함. 어휘 250개와 문법 규칙 6개만 쓴 제한된 시스템이었다[13]
1957 노엄 촘스키가 『통사 구조』를 출간해 생성 문법을 제시
1966 조지프 와이젠바움의 대화 프로그램 ELIZA가 발표됨. 같은 해 미국 정부 자문 위원회 ALPAC이 기계 번역 연구에 비관적인 보고서를 내 연구 지원이 크게 줄었다[14]
1971 테리 위노그래드가 블록 세계에서 영어 명령을 이해하고 실행하는 SHRDLU를 발표[15]
1970~1980년대 개념 의존 이론, 스크립트, 확장 전이망(ATN) 같은 지식 기반 이해 연구와 전문가 시스템형 파서가 이어짐
1990년대 초 IBM 통계 번역 모델과 펜 트리뱅크 발표. 통계적 자연어 처리가 주류가 됨
2001~2003 신경망 확률 언어 모델(벤지오 등)이 제안됨
2006 구글 번역이 통계적 기계 번역 서비스를 공개. 자세한 내용은 기계 번역 참고
2011 IBM 왓슨이 미국 퀴즈 프로그램 '제퍼디!'에서 사람 챔피언을 이김[16]
2013 Word2Vec 발표
2014~2015 seq2seq와 어텐션 기반 신경망 기계 번역 등장
2016 구글이 신경망 기계 번역(GNMT)을 서비스에 적용
2017 트랜스포머 발표
2018 BERT, GPT-1 발표. 사전학습-미세 조정 시대 시작
2020 GPT-3 발표
2022 ChatGPT 공개로 대형 언어 모델이 대중화

ALPAC 보고서 이후의 연구 침체와 그 의미는 AI 겨울, 전체 인공지능 역사 속의 위치는 인공지능의 역사 문서 참고.

  • 중의성: "Time flies like an arrow"는 '시간은 화살처럼 날아간다'로도, '시간파리는 화살을 좋아한다'로도 읽힌다. 품사와 구조가 여러 가지로 해석되는 이 문장은 자연어 처리의 중의성을 보여 주는 고전적인 예로 쓰인다.
  • 상식과 세계 지식: "트로피가 가방에 안 들어간다. 그것이 너무 커서."에서 '그것'이 트로피임을 알려면 물리적 상식이 필요하다(위노그래드 스키마).
  • 비유, 반어, 관용구: 글자 그대로의 뜻과 의도가 다르다.
  • 데이터 불균형: 영어 데이터가 압도적으로 많아 저자원 언어의 성능이 떨어진다.
  • 편향: 학습 말뭉치에 든 사회적 편견을 모델이 그대로 배운다.
  1. ↑ Mitchell P. Marcus, Beatrice Santorini, Mary Ann Marcinkiewicz, 〈Building a Large Annotated Corpus of English: The Penn Treebank〉, Computational Linguistics 19(2), 1993. ACL Anthology J93-2004
  2. ↑ Peter F. Brown 외, 〈The Mathematics of Statistical Machine Translation: Parameter Estimation〉, Computational Linguistics 19(2), 1993. ACL Anthology J93-2003
  3. ↑ Tomas Mikolov 외, 〈Efficient Estimation of Word Representations in Vector Space〉, 2013. arXiv:1301.3781
  4. ↑ Ilya Sutskever, Oriol Vinyals, Quoc V. Le, 〈Sequence to Sequence Learning with Neural Networks〉, NeurIPS 2014. arXiv:1409.3215
  5. ↑ Dzmitry Bahdanau, Kyunghyun Cho, Yoshua Bengio, 〈Neural Machine Translation by Jointly Learning to Align and Translate〉, 2014. arXiv:1409.0473
  6. ↑ Ashish Vaswani 외, 〈Attention Is All You Need〉, NeurIPS 2017. arXiv:1706.03762
  7. ↑ Jacob Devlin 외, 〈BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding〉, 2018. arXiv:1810.04805
  8. ↑ Tom B. Brown 외, 〈Language Models are Few-Shot Learners〉, 2020. arXiv:2005.14165
  9. ↑ KoNLPy 공식 문서; 박은정, 조성준, 〈KoNLPy: 쉽고 간결한 한국어 정보처리 파이썬 패키지〉, 제26회 한글 및 한국어 정보처리 학술대회, 2014.
  10. ↑ Kiwi GitHub 저장소
  11. ↑ Kishore Papineni, Salim Roukos, Todd Ward, Wei-Jing Zhu, 〈BLEU: a Method for Automatic Evaluation of Machine Translation〉, ACL 2002. ACL Anthology P02-1040
  12. ↑ Chin-Yew Lin, 〈ROUGE: A Package for Automatic Evaluation of Summaries〉, Text Summarization Branches Out, 2004. ACL Anthology W04-1013
  13. ↑ 13.0 13.1 John Hutchins, 〈The first public demonstration of machine translation: the Georgetown-IBM system, 7th January 1954〉, 2005. PDF
  14. ↑ National Research Council, Automatic Language Processing Advisory Committee, 《Language and Machines: Computers in Translation and Linguistics》, 1966. National Academies Press
  15. ↑ Terry Winograd, 〈Procedures as a Representation for Data in a Computer Program for Understanding Natural Language〉, MIT AI Technical Report 235, 1971. MIT DSpace
  16. ↑ IBM, Voice recognition (IBM History)
  • Daniel Jurafsky, James H. Martin, 《Speech and Language Processing》 3판 초안. 스탠퍼드 대학 공개본
  • Christopher D. Manning, Hinrich Schütze, 《Foundations of Statistical Natural Language Processing》, MIT Press, 1999.
  • ACL Anthology (전산언어학회 논문 저장소)