Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import spacy
- import wikipedia
- wikipedia.set_lang("pt")
- #Carregar interpretador
- nlp = spacy.load("pt_core_news_sm")
- #Leitura do arquivo de entrada
- arquivo = open('texto.txt', 'r', encoding="utf-8")
- wiki = arquivo.readline().__str__().rstrip().lstrip()
- #Verificar se a primeira linha contém wiki, para assim, realizar uma busca na wikipedia
- if wiki == "wiki":
- termo = arquivo.readline()
- wiki = wikipedia.page(termo)
- doc = nlp(wiki.content)
- else:
- arquivo.close()
- arquivo = open('texto.txt', 'r', encoding="utf-8")
- doc = nlp(arquivo.read())
- #Variaveis de controle de quantidade dos termos
- lista = []
- c1 = c2 = c3 = c4 = c5 = c6 = c7 = c8 = c9 = c10 = c11 = c12 = c13 = c14 = c15 = c16 = c17 = 0
- #Tratamento/formatação das palavras
- for token in doc:
- if(token.pos_ == "NOUN"):
- c1 += 1
- lista.append(token.orth_ + " - sendo este classificado como: [Substantivo]")
- elif(token.pos_ == "ADP"):
- c2 += 1
- lista.append(token.orth_ + " - sendo este classificado como: [Adesão]")
- elif(token.pos_ == "VERB"):
- c3 += 1
- lista.append(token.orth_ + " - sendo este classificado como: [Verbo]")
- elif(token.pos_ == "CCONJ"):
- c4 += 1
- lista.append(token.orth_ + " - sendo este classificado como: [Conjunção]")
- elif (token.pos_ == "ADJ"):
- c5 += 1
- lista.append(token.orth_ + " - sendo este classificado como: [Adjetivo]")
- elif (token.pos_ == "DET"):
- c6 += 1
- lista.append(token.orth_ + " - sendo este classificado como: [Determinante]")
- elif (token.pos_ == "SCONJ"):
- c7 += 1
- lista.append(token.orth_ + " - sendo este classificado como: [Conjunção subordinada]")
- elif (token.pos_ == "AUX"):
- c8 += 1
- lista.append(token.orth_ + " - sendo este classificado como: [Verbo Auxiliar]")
- elif (token.pos_ == "PUNCT"):
- c9 += 1
- lista.append(token.orth_ + " - sendo este classificado como: [Pontuação]")
- elif (token.pos_ == "PROPN"):
- c10 += 1
- lista.append(token.orth_ + " - sendo este classificado como: [Nome próprio]")
- elif (token.pos_ == "ADV"):
- c11 += 1
- lista.append(token.orth_ + " - sendo este classificado como: [Adverbio]")
- elif (token.pos_ == "CCONJ"):
- c12 += 1
- lista.append(token.orth_ + " - sendo este classificado como: [Conjunção Coordenativa]")
- elif (token.pos_ == "INTJ"):
- c13 += 1
- lista.append(token.orth_ + " - sendo este classificado como: [Interjeição]")
- elif (token.pos_ == "PART"):
- c14 += 1
- lista.append(token.orth_ + " - sendo este classificado como: [Particula]")
- elif (token.pos_ == "PRON"):
- c15 += 1
- lista.append(token.orth_ + " - sendo este classificado como: [Pronome]")
- elif (token.pos_ == "SYM"):
- c16 += 1
- lista.append(token.orth_ + " - sendo este classificado como: [Simbolo]")
- else:
- c17 += 1
- lista.append(token.orth_ + token.pos_ + "Não identificado pela API Spacy")
- #Preparação de saída do txt
- saida = open("log_palavras.txt", "w+", encoding="utf-8")
- saida.writelines("=====================================\n Relatorio de analise textual"
- "\n=====================================\n")
- saida.writelines("\nTEXTO ENCONTRADO: ")
- saida.writelines(doc.__str__() + "\n")
- saida.writelines("\n===============================================\n Lista de palavras entradas e categorizadas: "
- "\n===============================================\n")
- for x in lista:
- saida.writelines(x + "\n")
- saida.writelines(f"\n================================================================\n Relação referente a "
- f"quantidade de termos em suas categorias:\n"
- f"================================================================\nSubstantivo: {c1}\n"
- f"Adesão: {c2}\nVerbos: {c3}\nConjunções: {c4}\nAdjetivo: {c5}\nDeterminante: {c6}\nConjunção subordinada: {c7}\n"
- f"Verbo Auxiliar: {c8}\nPontuação: {c9}\nNome próprio: {c10}\nAdverbio: {c11}\nConjunção Coordenativa: {c12}"
- f"\nInterjeição: {c13}\nParticula: {c14}\nPronome: {c15}\nSimbolo: {c16}\nNão identificado pela API Spacy: {c17}\nTotal de Palavras: {len(doc.__str__().split())}"
- f"\n============================================================")
- arquivo.close()
- saida.close()
- #Preparação de saída do HTML
- dados = open("log_palavras.txt", "r", encoding="utf-8")
- x = dados.read()
- html = open("atividade_IA.html", "w+", encoding="utf-8")
- html.write(f"<html>"
- f" <head>"
- f" <title> "
- f" IA Primeira Entrega\n \
- </title>"
- f" </head>"
- f" <body> "
- f" <p> ===================================== <br> Relatorio de analise textual <br> ==="
- f"================================== <br>"
- f" </p>"
- f" <p> <br> TEXTO ENCONTRADO: {doc.__str__()}=============================================== <br> "
- f"Lista de palavras entradas e categorizadas: "
- "<br> =============================================== <br>"
- f"{lista}"
- f"<br>================================================================<br> "
- f"Relação referente a quantidade de termos em suas categorias:<br>"
- f"================================================================<br>Substantivo: {c1}<br>"
- f"Adesão: {c2}<br>Verbos: {c3}<br>Conjunções: {c4}<br>Adjetivo: {c5}<br>Determinante: {c6}<br>Conjunção subordinada: {c7}<br>"
- f"Verbo Auxiliar: {c8}<br>Pontuação: {c9}<br>Nome próprio: {c10}<br>Adverbio: {c11}<br>Conjunção Coordenativa: {c12}"
- f"<br>Interjeição: {c13}<br>Particula: {c14}<br>Pronome: {c15}<br>Simbolo: {c16}<br>Não identificado pela API Spacy: {c17}<br>"
- f"Total de Palavras: {len(doc.__str__().split())}<br>"
- f"<br>============================================================"
- f" </p>"
- f" </body>"
- f"</html>")
- html.close()
Add Comment
Please, Sign In to add comment