티스토리 뷰

비정형 분석의 핵심 = 텍스트 분석!

 

1) 텍스트 빈도 분석

- 정규표현식 파악

| 패턴 | 의미 | 예시 |
|------|------|------|
| `.` | 아무 문자 1개 | `a.c` : "abc", "a1c" |
| `?` | 앞 문자 0회 또는 1회 (있어도 되고 없어도 됨) | `ab?c` : "ac", "abc" |
| `*` | 앞 문자 0회 이상 반복 | `ab*c` : "ac", "abc", "abbc" |
| `+` | 앞 문자 1회 이상 반복 | `ab+c` : "abc", "abbc" |
| `{n}` | 앞 문자 정확히 n회 반복 | `a{3}` : "aaa" |
| `{n,}` | 앞 문자 n회 이상 반복 | `a{2,}` : "aa", "aaa", "aaaa" |
| `{n,m}` | 앞 문자 n회 이상 m회 이하 반복 | `a{2,4}` : "aa", "aaa", "aaaa" |
| `\d` | 숫자 (0-9) | `\d+` : "123", "42" |
| `\D` | 숫자가 아닌 문자 (`\d`의 반대) | `\D+` : "abc", "가나다" |
| `\w` | 단어 문자 (유니코드 문자, 숫자, 밑줄 `_`) | `\w+` : "hello", "안녕123" |
| `\W` | 단어 문자가 아닌 문자 (`\w`의 반대) | `\W+` : "!@#", "  " |
| `\s` | 공백 문자 (스페이스, 탭, 줄바꿈) | `\s+` : 연속된 공백 매칭 |
| `\S` | 공백이 아닌 문자 (`\s`의 반대) | `http\S+` : URL 매칭 |
| `[abc]` | a, b, c 중 하나 | `[가-힣]+` : 한글 문자열 |
| `[^abc]` | a, b, c를 제외한 문자 | `[^가-힣]` : 한글이 아닌 모든 문자 |
| `(.)` | 아무 문자 1개를 그룹으로 캡처 | `(.)\1` : 같은 문자 2번 반복 |
| `\1` | 첫 번째 캡처 그룹을 역참조 | `(.)\1{2,}` : 같은 문자 3번 이상 반복 |
| `re.sub(패턴, 대체, 텍스트)` | 패턴을 찾아 대체 | `re.sub(r'\d+', '', text)` => 숫자 제거 |

캡처 = 문자를 저장한다

 r' → 정규표현식 앞에 무조건 넣기!

 

^의 의미 변화

  • 대괄호 밖에서의 ^는 문자의 처음을 의미 ($는 문자의 마지막을 의미)
  • 대괄호 안에서의 ^는 제외를 의미 [^]

 

전체 문서에서 등장하는 단어 빈도수는 많지만(TF) 
그 단어가 등장하는 문서가 적은 정도 (IDF, 적을 수록 값이 커진다!)

TF * IDF = 두개 모두 중요하다! 소수의 문서(IDF값이 커짐)에서 그 문서 하나에서 거북목이 여러번 자주 나오면(TF값이 커짐) => TF-IDF 값이 엄청 높아짐!

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/05   »
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
글 보관함