-
Notifications
You must be signed in to change notification settings - Fork 1
/
2_3.py
28 lines (20 loc) · 1009 Bytes
/
2_3.py
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
# https://www.youtube.com/watch?v=Iu-HLy9hICg, 24:08
# normalizacja danych - kasujemy dziwne znaki
import string
import re
import os
goodCharacters = string.ascii_letters + string.punctuation + string.digits + 'ąćęłńóśżź' + 'ąćęłńóśżź'.upper() + '\s'
dir = os.getcwd() + "/Process/"
for fileName in os.listdir(dir):
with open(dir + fileName, 'r', encoding='UTF-8') as srcFile:
text = srcFile.read()
text = re.sub(r'[^'+goodCharacters+']', '', text)
text = re.sub('[\s\t\n]+', ' ', text)
with open(dir + fileName, 'w', encoding='UTF-8') as dstFile:
dstFile.write(text)
# od 26:11 prezentujący wspomina o możliwych dodatkowych technikach czyszczenia:
# - usunięcie stopwords, które nic nie wnoszą
# - usunięcie fleksji i pozostawienie tylko rdzenia danego slowa - z tym że ta technika wplynie na działanie kolejnych skryptów
# moim (Tomasz Klim) zdaniem warto tutaj obsłużyć przypadki:
# - skróty z kropkami - "np."
# - liczby z przecinkami i kropkami w treści