-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathabuso.py
executable file
·72 lines (46 loc) · 2.02 KB
/
abuso.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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
from nltk.corpus import stopwords
from nltk.stem import RSLPStemmer
from nltk import FreqDist, NaiveBayesClassifier
from nltk.classify import apply_features
# import nltk
# nltk.download('rslp')
# nltk.download('stopwords')
sujeito = 'Eu vi teu perfil e fiquei interessado'
frases_padrao = [
('vi observei olhei passei olhando indicação sujestão comun passando interessado afim fiquei queria quero perfil conta', 'suspeitar'),
('amigo amiga colega conhecido conhecida primo prima alguem fulano pessoa ciclano irmão irmã tio tia filho filha', 'duvidar'),
('contato número adicionar add passar pode porfavor favor poderia inportaria gentileza falar conversar', 'medo'),
]
# remove preposição artigo pronome
def removestopwords(texto):
frases = []
for (palavras, emocao) in texto:
semstop = [p for p in palavras.split() if p not in stopwords.words('portuguese')]
frases += [(semstop, emocao)]
return frases
def encontrarpalavras(frases):
todaspalavras = []
for (palavras, emocao) in frases:
todaspalavras.extend(palavras)
return todaspalavras
palavras = encontrarpalavras(removestopwords(frases_padrao))
def buscafrequencia(palavras):
palavras = FreqDist(palavras)
return palavras
def encontrarpalavrasunicas(frequencia):
freq = frequencia.keys()
return freq
palavrasunicas = encontrarpalavrasunicas(buscafrequencia(palavras))
def extratorpalavras(documento):
doc = set(documento)
caracteristicas = {}
for palavra in palavrasunicas:
caracteristicas['%s' % palavra] = (palavra in doc)
return caracteristicas
classificador = NaiveBayesClassifier.train(apply_features(extratorpalavras, removestopwords(frases_padrao)))
testestemming = []
stemmer = RSLPStemmer()
for (palavrastreinamento) in sujeito.split():
comstem = [p for p in palavrastreinamento.split()]
testestemming.append(str(stemmer.stem(comstem[0])))
print('individuo: %s - <reação da vitima = %s> ' % (sujeito, classificador.classify(extratorpalavras(testestemming))))