TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

O Verificador de Copia

Por:   •  12/6/2021  •  Trabalho acadêmico  •  897 Palavras (4 Páginas)  •  103 Visualizações

Página 1 de 4

import re

def le_assinatura():

'''A funcao le os valores dos tracos linguisticos do modelo e devolve uma assinatura a ser comparada com os textos fornecidos'''

print("Bem-vindo ao detector automático de COH-PIAH.")

wal = float(input("Entre o tamanho medio de palavra:"))

ttr = float(input("Entre a relação Type-Token:"))

hlr = float(input("Entre a Razão Hapax Legomana:"))

sal = float(input("Entre o tamanho médio de sentença:"))

sac = float(input("Entre a complexidade média da sentença:"))

pal = float(input("Entre o tamanho medio de frase:"))

return [wal, ttr, hlr, sal, sac, pal]

def le_textos():

i = 1

textos = []

texto = input("Digite o texto " + str(i) +" (aperte enter para sair):")

while texto:

textos.append(texto)

i += 1

texto = input("Digite o texto " + str(i) +" (aperte enter para sair):")

return textos

def separa_sentencas(texto):

#A funcao recebe um texto e devolve uma lista das sentencas dentro do texto#

sentencas = re.split(r'[.!?]+', texto)

i = 0

while i < len(sentencas):

if sentencas[i] in [" "]:

del sentencas[i]

else:

i += 1

return sentencas

def separa_frases(sentenca):

#A funcao recebe uma sentenca e devolve uma lista das frases dentro da sentenca#

return re.split(r'[,:;]+', sentenca)

def separa_palavras(frase):

#A funcao recebe uma frase e devolve uma lista das palavras dentro da frase#

return frase.split()

def separa_todas_palavras(texto):

#A funcao recebe um texto e devolve uma lista de todas as palavras dentro dele#

s = separa_sentencas(texto)

lista_de_frases = []

for i in s:

g = separa_frases(i)

lista_de_frases.extend(g)

lista_de_palavras = []

for i in lista_de_frases:

g = separa_palavras(i)

lista_de_palavras.extend(g)

return lista_de_palavras

def n_palavras_unicas(lista_palavras):

#Essa funcao recebe uma lista de palavras e devolve o numero de palavras que aparecem uma unica vez#

freq = dict()

unicas = 0

for palavra in lista_palavras:

p = palavra.lower()

if p in freq:

if freq[p] == 1:

unicas -= 1

freq[p] += 1

else:

freq[p] = 1

unicas += 1

return unicas

def n_palavras_diferentes(lista_palavras):

#Essa funcao recebe uma lista de palavras e devolve o numero de palavras diferentes utilizadas#

freq = dict()

for palavra in lista_palavras:

p = palavra.lower()

if p in freq:

freq[p] += 1

else:

freq[p] = 1

return len(freq)

def tamanho_medio_palavra(texto):

#IMPLEMENTAR. Essa funcao recebe um texto e deve devolver o tamanho medio de suas palavras#

p = separa_todas_palavras(texto)

x = []

for i in p:

x.append(len(i))

y = 0

z = 0

while y < len(x):

z = z + x[y]

y += 1

return z/len(p)

def type_token(texto):

lista_palavras = separa_todas_palavras(texto)

return n_palavras_diferentes(lista_palavras)/len(lista_palavras)

def hapax_legomana(texto):

lista_palavras = separa_todas_palavras(texto)

return n_palavras_unicas(lista_palavras)/len(lista_palavras)

def tamanho_medio_sentenca(texto):

...

Baixar como (para membros premium)  txt (5.4 Kb)   pdf (42.2 Kb)   docx (10.5 Kb)  
Continuar por mais 3 páginas »
Disponível apenas no TrabalhosGratuitos.com