[KD3 - 인공지능(AI) Ⅲ(NLP, 챗봇)] |
[01] 토크나이징(Tokenizing)
- 자연어는 수치 연산을 처리하는 컴퓨터는 이해 할 수 없음.
- 문장을 이해 할 수 없음으로 최소 의미를 갖는 단어의 형태인 형태소로 분할해야하며 이렇게 분할된 단어를 토큰이라고함.
- 토큰으로 분리하는 토크나이징은 언어의 문법을 알아야하며 이런 과정은 어렵기 때문에 각 언어를 지원하는 토크나이징 package를 이용함.
- 한국어 토크나이징을 위해서 KoNLPy가 존재함.
kd_ml에 NLP 폴더(네추럴 랭귀지 ~~~)
~~~http://nulunggi.pe.kr/pds/read.jsp?pdsgrpno=520&pdsno=22846&grpno=&col=&word=¤tPage=0&visible=환경구축
tsv는 tab으로 구분된 파일
# 사용자 사전의 사용
from konlpy.tag import Komoran
# 형태소 분석기 객체 생성
komoran = Komoran(userdic='user_dic.tsv')
text = "슈룹 주문 하고싶어요"
morphs = komoran.morphs(text) # 형태소 추출
print('형태소 추출:', morphs)
# POS(Part-Of-Speech)
pos = komoran.pos(text)
print('형태소와 품사 태그 추출:', pos)
nouns = komoran.nouns(text)
print('명사만 추출:', nouns)
=>>
<code />
형태소 추출: ['슈룹', '주문', '하', '고', '싶', '어요']
형태소와 품사 태그 추출: [('슈룹', 'NA'), ('주문', 'NNP'), ('하', 'VV'), ('고', 'EC'), ('싶', 'VX'), ('어요', 'EC')]
명사만 추출: ['주문']
===============
컴퓨터는 자연어를 숫자나 벡터(크기를 나타내는값, 방향성 ㅇ)로 변경해야 처리 가능해 자연어를 수치화
단순 배열:숫자->배열
벡터 배열 : 숫자->배열,문장->숫자->배열->긍정문장/부정문장->벡터
단어 100개면 벡터는 100차원? 출력도 100가지?
다중분류, 단어 많아지면 심한 메모리 낭비
뭔소리지?
'공부 > 학원 수강 기록' 카테고리의 다른 글
form에서 보내는 값들이 VO 외의 데이터가 있으면 어떻게 해야됨? (0) | 2022.12.23 |
---|---|
JSTL에서 문자열과 문자 비교해야 할 때 (0) | 2022.12.23 |
인공지능(AI) 1[11] 이항분류? (0) | 2022.11.30 |
인공지능 (0) | 2022.11.29 |
인공지능 강의 시작 (0) | 2022.11.28 |