%pylab inline
from nltk.corpus import stopwords
import wikipedia
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.decomposition import TruncatedSVD
Populating the interactive namespace from numpy and matplotlib
figsize(10, 8)
plt.style.use(['dark_background'])
stopw = stopwords.words("portuguese") +\
stopwords.words("english")
wikipedia.set_lang("pt")
text = wikipedia.page("Alan_Turing").content
tfidf = TfidfVectorizer(stop_words=stopw)
X = tfidf.fit_transform(text.splitlines())
X.shape
(61, 664)
X
<61x664 sparse matrix of type '<class 'numpy.float64'>' with 862 stored elements in Compressed Sparse Row format>
ft_name = tfidf.get_feature_names()
top_10_tfidf_sklearn = X[0].transpose().toarray().argsort(axis=0)[::-1]
for i in top_10_tfidf_sklearn[:10]:
print(ft_name[i[0]])
computação cheshire junho ciência influente algoritmo east lógico desenvolvimento desempenhando
fig, ax = subplots(figsize=(10, 8))
ax.matshow(X.todense())
savefig("../images/lsa.png", transparent=True)
X.shape
(61, 664)
lsa = TruncatedSVD(n_components=61, n_iter=1000)
lsa.fit(X)
TruncatedSVD(algorithm='randomized', n_components=61, n_iter=1000, random_state=None, tol=0.0)
lsa.components_.shape
(61, 664)
ft_name = tfidf.get_feature_names()
ft_name[234]
'desenvolveu'
for i, comp in enumerate(lsa.components_):
terms_in_comp = zip(ft_name, comp)
sorted_terms = sorted(terms_in_comp, key=lambda x: x[1], reverse=True)[:10]
print(f"paragrafo: {i}")
for t in sorted_terms:
print(t[0])
print("-"*20)
paragrafo: 0 turing máquina alan prêmio memorial guerra enigma bletchley park computação -------------------- paragrafo: 1 inglês isbn cambridge ed history massachusetts mit press 262 alan -------------------- paragrafo: 2 morte governo ministro pedido perdão anos cianeto britânico devido reino -------------------- paragrafo: 3 alan turing memorial prêmio pai genealogy mathematics project família havia -------------------- paragrafo: 4 computação ser poderia artificial sistema computabilidade respostas teórica fazer ciência -------------------- paragrafo: 5 morte pai índia família havia julius sido stoney trabalho maçã -------------------- paragrafo: 6 morte maçã cianeto alan bletchley park junho memorial 1954 meio -------------------- paragrafo: 7 inglês biografia mactutor genealogy mathematics project bletchley park pai família -------------------- paragrafo: 8 química onde inglês biografia mactutor laboratório base sobre prêmio interpretado -------------------- paragrafo: 9 prêmio máquina turing dados estados segura transatlânticos transmissão unidos projeto -------------------- paragrafo: 10 forma dados estados segura transatlânticos transmissão unidos projeto bletchley park -------------------- paragrafo: 11 referências ver homofobia bibliografia cinebiografias marian rejewski 1947 morte memorial -------------------- paragrafo: 12 homofobia dedicação externas ligações ver desculpa oficiais pedidos referências marian -------------------- paragrafo: 13 ver dedicação externas ligações cinebiografias bibliografia consagração marian rejewski alan -------------------- paragrafo: 14 cinebiografias ver carreira juventude homofobia marian rejewski externas ligações desculpa -------------------- paragrafo: 15 consagração homofobia ver marian rejewski cinebiografias bibliografia biografia mactutor inglês -------------------- paragrafo: 16 dedicação carreira juventude homofobia referências bibliografia externas ligações consagração máquina -------------------- paragrafo: 17 bibliografia desculpa oficiais pedidos marian rejewski homofobia externas ligações ver -------------------- paragrafo: 18 referências marian rejewski cinebiografias consagração externas ligações desculpa oficiais pedidos -------------------- paragrafo: 19 marian rejewski dedicação ver carreira juventude desculpa oficiais pedidos prêmio -------------------- paragrafo: 20 cinebiografias dedicação desculpa oficiais pedidos homofobia bibliografia forma dados estados -------------------- paragrafo: 21 desculpa oficiais pedidos referências consagração ver carreira juventude dedicação 1954 -------------------- paragrafo: 22 junho bletchley park computação 1954 cheshire meio dados estados segura -------------------- paragrafo: 23 prêmio morte máquina 1950 computadores condenado crescer declarado equivalia estrogênio -------------------- paragrafo: 24 morte 7538 2200 david invention knew leavitt man much phoenix -------------------- paragrafo: 25 interpretado prêmio castração 1996 2014 alex além ator benedict breaking -------------------- paragrafo: 26 prêmio bletchley park memorial laboratório turing ser comprovados dedicava formado -------------------- paragrafo: 27 morte memorial computação alan londres genealogy mathematics project ciência mathison -------------------- paragrafo: 28 memorial alan genealogy mathematics project pode mãe acidental cena conduzida -------------------- paragrafo: 29 computação biografia mactutor prêmio ciência mathison bletchley park londres stoney -------------------- paragrafo: 30 bletchley park sistema sistemas artificial filhos inglaterra john pode computador -------------------- paragrafo: 31 sistema sistemas stoney ser prêmio formal operador símbolos meio artificial -------------------- paragrafo: 32 genealogy mathematics project prêmio inglês códigos eletromecânica inteligência chefe centro -------------------- paragrafo: 33 memorial códigos eletromecânica prêmio alemães centro definições encontrar especializado frota -------------------- paragrafo: 34 homossexualidade aceitou 1952 algumas alguns alternativa aniversário antes aparente apesar -------------------- paragrafo: 35 máquina bletchley park turing química 04 1983 books burnett intelligence -------------------- paragrafo: 36 01202 agar government jon machine revolutionary 2003 978 computer computação -------------------- paragrafo: 37 ainda acidental 55 alemães 53169 afirmado 42 510060 01202 2003 -------------------- paragrafo: 38 53169 afirma 510060 2003 42 acompanhar 1996 alemã abstração 12º -------------------- paragrafo: 39 acidental 55 53169 aceitou agar afirmado afirma 510060 04 7538 -------------------- paragrafo: 40 afirma ace acidentes 55 01202 978 memorial 000 1912 1881 -------------------- paragrafo: 41 ainda agar 55 aceitou 1912 alemanha 24 7538 memorial 000 -------------------- paragrafo: 42 acidentes acidental 55 alegre 978 alan 12 ajudou 12º 01202 -------------------- paragrafo: 43 aceitou ace acidental alan 262 acompanhar 42 alemães 2009 12 -------------------- paragrafo: 44 55 978 alemães 7538 alan alemã afirmativo 1998 alemanha acompanhar -------------------- paragrafo: 45 55 alemães alan alegre agar afirma abstração ajudaria 2009 2007 -------------------- paragrafo: 46 afirmado 55 alemã acompanhar 01202 afirmativo acordo isbn alan 2003 -------------------- paragrafo: 47 alegre aceitou ajudaria 978 afirmado alemanha 1998 abstração 55 42 -------------------- paragrafo: 48 aceitou acidentes ainda alemães 55 alemanha afirmado 7538 01202 afirmativo -------------------- paragrafo: 49 978 aceitou ainda 53169 agar acompanhar ajudou 2007 1912 55 -------------------- paragrafo: 50 aceitou ajudaria acompanhar alemã 978 37 afirmado ainda 7538 000 -------------------- paragrafo: 51 acordo acompanhar ajudou alemanha 24 ajudaria 7538 1983 1996 2200 -------------------- paragrafo: 52 abstração acordo alemã ajudaria aceitou afirmado 978 55 11 ajudou -------------------- paragrafo: 53 alemã alemanha acompanhar ajudaria alegre acidentes 2014 2200 510060 aceitou -------------------- paragrafo: 54 ajudaria acidentes alemã ajudou 510060 afirma 1912 2200 12º aceitou -------------------- paragrafo: 55 alegre ajudou alemã acordo afirmativo ajudaria aceitou acompanhar 510060 ace -------------------- paragrafo: 56 alemã acordo alegre alemanha acidentes 510060 afirma 37 12º 2007 -------------------- paragrafo: 57 ajudaria afirmativo acompanhar alemanha acordo alegre acidentes 1996 24 510060 -------------------- paragrafo: 58 alan ainda 510060 afirma 10 978 afirmado acidentes 12 12º -------------------- paragrafo: 59 510060 ace 55 53169 memorial 01202 alemanha 7538 000 24 -------------------- paragrafo: 60 510060 alemães acidental afirma aceitou 978 55 ceruzzi computing modern --------------------