renix1

Pesquisa contextual, português

Aug 22nd, 2016
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 8.29 KB | None | 0 0
  1. # coding: utf-8
  2.  
  3. from functools import lru_cache
  4.  
  5. string = """Vapor Barato, um mero serviçal do narcotráfico,
  6. Foi encontrado na ruína de uma escola em construção
  7. Aqui tudo parece que é ainda construção e já é ruína
  8. Tudo é menino e menina no olho da rua
  9. O asfalto, a ponte, o viaduto ganindo pra lua
  10. Nada continua
  11. E o cano da pistola que as crianças mordem
  12. Reflete todas as cores da paisagem da cidade
  13. que é muito mais bonita e muito mais intensa
  14. do que um cartão postal
  15.  
  16. Alguma coisa está fora da ordem
  17. Fora da nova ordem mundial
  18.  
  19. Escuras coxas duras tuas duas de acrobata mulata,
  20. Tua batata da perna moderna, a trupe intrépida em que fluis
  21.  
  22. Te encontro em Sampa de onde mal se vê
  23. quem sobe ou desce a rampa
  24. Alguma coisa em nossa transa é quase luz forte demais
  25. Parece pôr tudo à prova, parece fogo, parece, parece paz Parece paz
  26. Pletora de alegria, um show de Jorge Benjor dentro de nós
  27. É muito, é grande, é total
  28.  
  29. Alguma coisa está fora da ordem
  30. Fora da nova ordem mundial
  31.  
  32. Meu canto esconde-se como
  33. um bando de ianomânis na floresta
  34. Na minha testa caem, vêm colar-se plumas de um velho cocar
  35.  
  36. Estou de pé em cima do monte de imundo lixo baiano
  37. Cuspo chicletes do ódio no esgoto exposto do Leblon
  38. Mas retribuo a piscadela do garoto de frete do Trianon
  39. Eu sei o que é bom
  40. Eu não espero pelo dia em que todos os homens concordem
  41.  
  42. Apenas sei de diversas harmonias bonitas
  43. possíveis sem juízo final
  44.  
  45. Alguma coisa está fora da ordem
  46. Fora da nova ordem mundial"""
  47.  
  48. string = string.lower()
  49.  
  50.  
  51. @lru_cache(maxsize=None)
  52. def analisar_pronomes(texto):
  53.     pronomes = ['meu', 'teu', 'seu', 'nosso', 'vosso', 'seu',
  54.     'meus', 'teus', 'seus', 'nossos', 'vossos', 'seus',
  55.     'minha', 'tua', 'sua', 'nossa', 'vossa', 'sua','minhas',
  56.     'tuas', 'suas', 'nossas', 'vossas', 'suas', 'eu', 'tu', 'ele', 'ela',
  57.     'nós', 'vós', 'eles', 'elas', 'me', 'te', 'se', 'o', 'a', 'lhe', 'nos',
  58.     'vos', 'se', 'os', 'as', 'lhes', 'mim', 'comigo', 'ti', 'contigo', 'si', 'ele',
  59.     'consigo', 'nós', 'conosco', 'vós', 'convosco', 'si', 'eles', 'consigo',
  60.     'este', 'esse', 'qualquer', 'algo', 'cada', 'algum', 'que?', 'quem?', 'qual?', 'onde', 'cujo'
  61.     'cuja', 'qual']
  62.     pronomes_contidos = []
  63.     texto = texto.split()
  64.     for pronome in pronomes:
  65.         if pronome in texto:
  66.             pronomes_contidos.append(pronome)
  67.     else:
  68.         if len(pronomes_contidos) > 1:
  69.             print("\nPronomes contidos: {}" .format(", ".join(pronomes_contidos))+'.')
  70.         else:
  71.             print("Não há pronomes!\n")
  72.  
  73. @lru_cache(maxsize=None)
  74. def analisar_substantivos(texto):
  75.     substantivos = ['bode', 'boi', 'cão', 'carneiro', 'cavaleiro', 'cavalheiro',
  76.     'cavalo', 'compadre', 'frade', 'frei', 'genro', 'homem', 'padrasto', 'padre',
  77.     'pai', 'veado', 'zangado', 'cabra', 'vaca', 'cadela', 'ovelha', 'amazona',
  78.     'dama', 'égua', 'comadre', 'freira', 'sóror', 'nora', 'mulher', 'madrasta',
  79.     'madre', 'mãe', 'cerva', 'abelha', 'amigo', 'amiga', 'chapéu', 'forno',
  80.     'fogo', 'mão', 'mala', 'nariz', 'navio', 'pedra', 'povo', 'rapaz', 'voz',
  81.     'amigaço', 'amigalhaço', 'amigão', 'animalaço', 'animalão', 'bocarra',
  82.     'boqueirão', 'bocaça', 'cabeçorra', 'cabeção', 'canzarrão', 'canaz',
  83.     'chapelão', 'chapeirão', 'copázio', 'coparrão', 'bola', 'madeira'
  84.     'criançona', 'cruzeiro', 'dentão', 'dentilhão', 'fogáreu', 'fornalha',
  85.     'colo', 'cruz', 'dente', 'livro', 'jornal', 'homem', 'mulher', 'gato',
  86.     'gata', 'criança', 'corja', 'alcateia', 'arquipélago', 'banca', 'bando',
  87.     'cáfila', 'cancioneiro', 'cardume', 'chusma', 'elenco', 'feixe', 'girândola',
  88.     'manada', 'junta', 'molho', 'ninhada', 'quadrilha', 'ramalhete', 'recua', 'vara',
  89.     'armento', 'atilho', 'banda', 'cacho', 'caravana', 'choldra', 'constelação',
  90.     'coro', 'falange', 'fato', 'erota', 'legião', 'matilha', 'multidão', 'plêiade',
  91.     'romanceiro', 'rebanho', 'réstia', 'súcia', 'iconoteca', 'panapaná',
  92.     'balão', 'balões', 'canção', 'canções', 'confissão', 'confissões', 'coração',
  93.     'corações', 'eleição', 'eleições', 'estação', 'estações', 'fração', 'frações',
  94.     'gavião', 'gaviões', 'limão', 'limões', 'mamão', 'mamões', 'nação', 'nações',
  95.     'operação', 'operações', 'questão', 'questões', 'tubarão', 'tubarões', 'leão',
  96.     'leões', 'varão', 'varões', 'guaraná', 'gambá', 'laringe', 'pernoite', 'sabiá',
  97.     'diabete', 'fênix', 'língua', 'pessoa', 'luz', 'matéria', 'escola', 'chicletes',
  98.     'chiclete', 'perna', 'homens', 'mulheres', 'baiano', 'Jorge', 'trupe', 'acrobáta',
  99.     'cidade', 'crianças', 'asfalto', 'ponte', 'rua', 'caminho', 'viaduto', 'Leblon',
  100.     'testa', 'escola', 'caneta', 'papel', 'casa', 'flor', 'guarda-roupa', 'girassol',
  101.     'passatempo', 'pombo-correio', 'folha', 'árvore', 'fruta', 'terra', 'terreiro', 'pedregulho',
  102.     'folhagem', 'florista', 'saci', 'sereia', 'fada', 'água', 'fogo', 'honestidade', 'tristeza',
  103.     'amor', 'beijo', 'felicidade', 'abraço', 'animal', 'país', 'praça', 'mulher', 'biblioteca',
  104.     'fauna', 'matilha', 'penca', 'batalhão', 'menino', 'menina', 'sampa', 'ianomânis', 'benjor',
  105.     'garoto', 'garotos', 'garota', 'garotas', 'meninos', 'meninas', 'batata', 'serviçal',
  106.     'alegria', 'floresta', 'esgoto', 'cocar', 'pluma', 'plumas', 'forte', 'pistola', 'cano',
  107.     'pé', 'trabalho', 'lugar', 'local', 'mundo', 'jorge'
  108.     ]
  109.  
  110.     substantivos_pos = 'Chinelos, vaso, descarga. Pia, sabonete. Água. Escova, creme dental, água, espuma, creme de barbear, pincel, espuma, gilete, água, cortina, sabonete, água fria, água quente, toalha. Creme para cabelo; pente. Cueca, camisa, abotoaduras, calça, meias, sapatos, gravata, paletó. Carteira, níqueis, documentos, caneta, chaves, lenço, relógio, maços de cigarros, caixa de fósforos. Jornal. Mesa, cadeiras, xícara e pires, prato, bule, talheres, guardanapos. Quadros. Pasta, carro. Cigarro, fósforo. Mesa e poltrona, cadeira, cinzeiro, papéis, telefone, agenda, copo com lápis, canetas, blocos de notas, espátula, pastas, caixas de entrada, de saída, vaso com plantas, quadros, papéis, cigarro, fósforo. Bandeja, xícara pequena. Cigarro e fósforo. Papéis, telefone, relatórios, cartas, notas, vales, cheques, memorandos, bilhetes, telefone, papéis. Relógio. Mesa, cavalete, cinzeiros, cadeiras, esboços de anúncios, fotos, cigarro, fósforo, bloco de papel, caneta, projetos de filmes, xícara, cartaz, lápis, cigarro, fósforo, quadro-negro, giz, papel. Mictório, pia, água. Táxi. Mesa, toalha, cadeiras, copos, pratos, talheres, garrafa, guardanapo, xícara. Maço de cigarros, caixa de fósforos'
  111.     substantivos_pos = substantivos_pos.lower()
  112.     substantivos_pos = substantivos_pos.split()
  113.     texto = texto.split()
  114.     for substantivo in substantivos_pos:
  115.         if substantivo == 'de':
  116.             substantivos_pos.remove('de')
  117.         elif substantivo == 'com':
  118.             substantivos_pos.remove('com')
  119.         elif substantivo == 'e':
  120.             substantivos_pos.remove('e')
  121.         elif substantivo == 'para':
  122.             substantivos_pos.remove('para')
  123.         else:
  124.             pass
  125.  
  126.  
  127.     substantivos += substantivos_pos
  128.  
  129.     substantivos_contidos = []
  130.  
  131.     for substantivo in substantivos:
  132.         if substantivo in texto:
  133.             substantivos_contidos.append(substantivo)
  134.     else:
  135.         if len(substantivos_contidos) > 1:
  136.             print("\nSubstantivos contidos: {}" .format(", ".join(substantivos_contidos))+'.')
  137.         else:
  138.             print("Não há substantivos!\n")
  139.  
  140. @lru_cache(maxsize=None)
  141. def analisar_artigos(texto):
  142.     artigos = ['o', 'ao', 'do', 'no', 'pelo', 'a', 'à', 'da', 'na', 'pela'
  143.     'os', 'aos', 'dos', 'nos', 'pelos', 'as', 'às', 'das', 'nas', 'pelas',
  144.     'um', 'uma', 'uns', 'umas']
  145.  
  146.     artigos_contidos = []
  147.     texto = texto.split()
  148.     for artigo in artigos:
  149.         if artigo in texto:
  150.             artigos_contidos.append(artigo)
  151.     else:
  152.         if len(artigos_contidos) > 1:
  153.             print("\nArtigos contidos: {}" .format(", ".join(artigos_contidos))+'.')
  154.         else:
  155.             print("Não há artigos!\n")
  156.  
  157. @lru_cache(maxsize=None)
  158. def analisar_preposicoes(texto):
  159.     preposicoes = ['a', 'de', 'em', 'por', 'per']
  160.  
  161.     preposicoes_contidas = []
  162.     texto = texto.split()
  163.     for preposicao in preposicoes:
  164.         if preposicao in texto:
  165.             preposicoes_contidas.append(preposicao)
  166.     else:
  167.         if len(preposicoes_contidas) > 1:
  168.             print("\nPreposições contidas: {}" .format(", ".join(preposicoes_contidas))+'.')
  169.         else:
  170.             print("Não há preposições!\n")
  171. analisar_pronomes(string)
  172. analisar_preposicoes(string)
  173. analisar_artigos(string)
  174. analisar_substantivos(string)
Advertisement
Add Comment
Please, Sign In to add comment