CS224n 1강. Natural Language Processing with Deep Learning
in Data on Cs224
Stanfoard Stanfoard CS224n 2017를 요약한 포스팅입니다. 정리 목적이 강한 글입니다! :)
자연어 처리
- 전산 언어학과 동의어
- 컴퓨터 과학과 언어학과 인공 지능의 교차점
- 우리가 하려는 일
- 컴퓨터를 영리하게 하는 것
- 인간의 언어를 이해하고
- 인간처럼 인간 언어를 표현
- 따라서 자연어 처리는 인공지능의 일부로 간주
- 인공지능의 다른 중요한 부분
- 언어의 매우 독특한 특성
- 우리는 언어를 통해 세상에 대해 생각
- 우주의 많은 생물들 중 언어를 사용하는 것은 사람뿐
- 언어는 사고의 도구이자 의사소통의 도구
- 컴퓨터가 인간의 언어를 처리할 수 있는 방법을 배우는 것이 목표
- 거대한 IT 회사들이 시리, 구글 어시스턴트 등으로 사용자와 자연어를 사용해 소통
- 키보드는 입력하기 작고 문자 메세지를 입력하는 속도의 편차가 존재
- 한자는 엄청 더 어려움
- 이 수업에서 들을 수 있는 것은 인간 언어에 대한 감사와 언어에서 레벨이 의미하는 것이 무엇이고 어떻게 처리하는지 등
NLP Levels
- input이 speech 또는 text - 데이터 전처리 - 구문 분석으로 문장의 구조 이해 - 의미론적 이해 - 담화 처리
- Speech recognition이 제일 처음 유용하다고 입증
- 동그라미 친 부분에 집중해서 강의할 예정
NLP Applications
- Spell checking, keyword search, finding synonyms
- 웹사이트에서 정보 추출
- 상품 가격, 날짜, 위치, 사람/회사 이름
- Classifying : 긍정/부정
- Machine transplation : 한국어 to 영어
- Spoken dialog systems
- Complex qeustion answering
NLP in industry
- Search (written and spoken)
- Online advertisement matching
- Automated/assited translation
- Sentiment analysis for marketing or finance/trading
- Speech recognition
- Chatbots/Dialog agents
- Automating customer support
- Controlling devices
- Ordering goods
Special about human language
- 말하는 사람(글쓴 사람)의 의미를 전달하도록 제작
- discrete/symbolic/categorical signaling system
- 기호를 통해 거리가 있어도 안정적으로 신호를 보냄
- 우리의 뇌 역시 지속적인 활성화 패턴을 가지고 있고, 언어를 사용할 때마다 계속 상징적으로 변함
- large vocabulary, symbolic encoding of words가 머신러닝에서 문제 => Sparsity!
Why NLP is difficult
- 인간 언어는 모호하고 프로그래밍 언어는 모호하지 않고 규칙을 가지고 있음
- 사람의 언어는 생략해도 이해할 수 있음
- 효율적으로 빠르게 의사소통하는 것이 목표
- 듣는 사람은 상식이나 상황에 대한 문맥 지식으로 이해하는데 이게 어려운 가장 큰 이유
Word
- 모두 벡터로 나타낼 수 있음(vectorizing)
- 소리, 단어의 부분, 문장
- 벡터를 재구성할 수 있음. 다음 강의에서 Vector에 대해 설명할 예정
Reference
카일스쿨 유튜브 채널을 만들었습니다. 데이터 사이언스, 성장, 리더십, BigQuery 등을 이야기할 예정이니, 관심 있으시면 구독 부탁드립니다 :)
PM을 위한 데이터 리터러시 강의를 만들었습니다. 문제 정의, 지표, 실험 설계, 문화 만들기, 로그 설계, 회고 등을 담은 강의입니다
이 글이 도움이 되셨거나 다양한 의견이 있다면 댓글 부탁드립니다 :)