Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 코딩테스트
- 데이터분석
- 멋쟁이사자처럼 ai school 7기
- 고객데이터분석
- Onehot인코딩
- RFM분석
- 앨리스
- 코드업
- ai school
- RFM
- 코드업 기초100제
- 멋쟁이사자처럼
- 소프트맥스함수
- 데이터분석가
- 2022 AI 온라인 실무 교육
- 고객세그먼트
- ai 스쿨 7기
- 딥러닝
- 데이터 분석
- OneHotEncoding
- 데이터마케팅분석
- 머신러닝
- 기초100제
- 멋사 ai
- AI 데이터 분석 트랙
- Python
- 캐글데이터분석
- 파이썬
- 시그모이드함수
- 코드업100제
Archives
- Today
- Total
초봉5센티미터
TIL 37. 딥러닝 - 자연어처리 (NLP) 2 본문
728x90
OW : Bag of words
- 단어들의 순서는 전혀 고려하지 않고, 단어들의 출현 빈도에만 집중하는 텍스트 데이터의 수치화 표현 방법
n-gram 언어 모델
- 모든 단어를 고려하는 것이 아니라 일부 단어만 고려하는 접근 방법 사용
- n-gram에서의 n의 의미 : 단어의 수
문서 단어 행렬 DTM
- Document-Term Matrix
- 다수의 문서에서 등장하는 각 단어들의 빈도를 행렬로 표현한 것
- 각 문서에 대한 BOW를 하나의 행렬로 만든 것
TF-IDF
- 단어 빈도(TF)와 문서 빈도의 역수(IDF)를 곱한 값
단어 카운트 가중치
- CountVectorizer는 각 단어가 문서에서 몇 번 출현했는지를 기반으로 문서를 벡터화하는 방법이다.
- 그러나 CountVectorizer를 통해 자연어를 벡터화하는 경우 의미 없이 자주 사용되는 단어의 가중치가 증가한다는 한계점이 있었다.
정규표현식으로 문자열 변환
- 원하는 문자열 치환하기*
- : re.sub()*
- 파이썬의 정규표현식 모듈
- 주어진 문자열(찾을 패턴)에서 일치하는 모든 패턴을 (변경할 내용으로)바꾼다.
- 두번째 인자는 특정 문자열이거나 함수가 될 수도 있다.
| 정규표현식 | 의미 |
| --- | --- |
| . | 줄바꿈 문자를 제외한 1글자 |
| ^ | 문자열의 시작 또는 not |
| $ | 문자열의 끝 |
| | | or |
| * | 0회 이상 반복 |
| + | 1회 이상 반복 |
| ? | 0회 또는 1회 반복 |
| [] | 문자열의 집합
ex )
[abc] = a or b or c
[a-z] = a ~ z
[^a] = a를 제외한 모든 알파벳 |
| () | 어떤 정규식을 하나의 그룹으로 묶음 |
| {n} | 앞의 문자가 n회 반복 |
| {m,n} | 앞의 문자가 m회 이상 n회 반복 |
| {m,} | 앞의 문자가 m회 이상 반복 |
| \w | (unicode) 숫자, _를 포함하는 모든 문자 |
| \W | (unicode) 숫자, _를 제외한 나머지 문자 |
| \d | (unicode) 숫자 |
| \D | (unicode) 숫자를 제외 |
| \b |
(unicode) 단어의 시작과 끝에 존재하는 공백
|
| \B | (unicode) 단어의 시작과 끝 외에 존재하는 공백 |
scikit-learn의 feature extraction
DictVectorizer
- 각 단어의 수를 세어놓은 사전에서 BOW 인코딩 벡터를 생성
- 문서에서 단어 빈도를 나타내는 딕셔너리 정보를 입력받아 BOW 인코딩한 수치 벡터로 변환 !
CountVectorizer
- 단어 토큰을 생성하고 단어의 수를 세어 BOW 벡터 생성
- stop_words : 불용어 지정
- token_pattern : 토큰 정의용 정규 표현식
- ngram_range : n-gram 범위
- analyzer : 단어 n-gram, 문자 n-gram, 단어 내의 문자 n-gram
- ‘word’, ‘char’, ‘char_wb’ 혹은 함수
- max_df, min_df : 단어장에 포함되기 위한 최대 / 최소 빈도
- min_df : 오타, 희귀 단어 제거
- max_df : 불용어 제거
-> 텍스트 데이터를 사용할 때 가장 간단하게 시간을 줄일 수 있는 방법은 max_features를 작게 조정하는 것이다
'교육 > 멋쟁이사자처럼 AI School 7기' 카테고리의 다른 글
TIL 39. 딥러닝 - 자연어처리 (NLP) 4 (0) | 2022.12.17 |
---|---|
TIL 38. 딥러닝 - 자연어처리 (NLP) 3 (0) | 2022.12.15 |
TIL 36. 딥러닝 - 자연어처리 (NLP) (0) | 2022.12.12 |
TIL 35. 딥러닝 - CNN(3) (0) | 2022.12.08 |
TIL 34. 딥러닝 - CNN (2) (0) | 2022.12.08 |
Comments