Skip to main content

Gerador de lero-lero em formato de frases e textos.

Project description

Gerador de Lero-Lero em Python

Este é um pacote Python para gerar frases e textos completos no estilo "lero-lero" corporativo em português do Brasil. Ideal para dar uma leve descontraída em apresentações, relatórios e e-mails que precisam soar complexos e estratégicos.

Python Version License

Instalação

Você pode instalar o pacote diretamente do PyPI:

pip install pylerolero

Importação

Para importar o pacote no seu código e ter acesso à classe e suas funções basta realizar um import seguindo o formato padrão, sem segredos:

from pylerolero import PyLeroLero

Conhecendo as Funções

A classe do pacote oferece três funções principais para a geração de frases, parágrafos e textos, onde cada uma dessas funções possui um parâmetro para definição de uma semente, permitindo a geração consistente sempre que necessário:

Frase:

"""
  Gerando uma frase a partir de uma semente.

  Args:
    seed (any, opcional): Valor que será utilizado como semente nas funções de
      randomização durante a geração da frase. (Padrão: None).

  Returns:
    string: A frase gerada pela concatenação de um elemento de cada
      lista de segmento.
"""
def generate_phrase(self, seed=None):

Parágrafo:

"""
  Gerando um parágrafo de um tamanho específico a partir de uma semente.

  Args:
    density (int, opcional): Densidade do parágrafo em quantidade de frases.
      (Padrão: 3).
    seed (any, opcional): Valor que será utilizado como semente nas funções de randomização durante a geração do parágrafo.
      (Padrão: None).

  Returns:
    string: O parágrafo gerado pela concatenação das frases geradas.
"""
def generate_paragraph(self, density=3, seed=None):

Texto:

"""
  Gerando um texto de um tamanho específico a partir de uma semente.

  Args:
    size (int, opcional): Tamanho do texto em quantidade de parágrafos.
      (Padrão: 3).
    density (int, opcional): Tamanho dos parágrafos que compõe o texto.
      (Padrão: 3).
    seed (any, opcional): Valor que será utilizado como semente nas funções de
      randomização durante a geração do texto. (Padrão: None).

  Returns:
    string: O texto gerado pela concatenação dos parágrafos gerados.
"""
def generate_text(self, size=3, density=3, seed=None):

Gerando Frases:

Você pode gerar frases de forma aleatória ou de forma controlada, utilizando uma semente como parâmetro opcional através da função generate_phrase(seed=None). Quando omitido o parâmetro da semente, uma semente aleatória será gerada através de um random.randint(0,99999).

from pylerolero import PyLeroLero

# Instancia a classe do PyLeroLero:
pll = PyLeroLero()

# Exemplo de uso:
if __name__ == "__main__":
    
  # Gerando uma frase sem semente:
  print("\n----------\n[FRASE 1]:", pll.generate_phrase())

  # Gerando uma frase com semente:
  print("\n----------\n[FRASE 2]:", pll.generate_phrase(seed="Luke, eu sou seu pai!"))

Resultados:

----------
[FRASE 1]: Pensando mais a longo prazo, a consulta aos diversos militantes obstaculiza a apreciação da importância das condições inegavelmente apropriadas.

----------
[FRASE 2]: Podemos já vislumbrar o modo pelo qual o desafiador cenário globalizado exige a precisão e a definição do orçamento setorial.

As frases são geradas a partir de quatro listas de segmentos, onde um elemento de cada lista é concatenado ao outro seguindo o seguinte padrão:

"seg1 seg2 seg3 seg4"

Para que as frases geradas sejam minimamente coesas, as listas de segmentos estão organizadas da seguinte forma semântica:

SEGMENTO 1 DA FRASE:
  O [seg1] serve como um adjunto adverbial de início de frase ou conectivo.
  Ele estabelece a ligação lógica da frase com o que a precede, indicando uma
  relação de oposição ("No entanto"), tempo ("Pensando mais a longo prazo"),
  causa/consequência ("Por conseguinte") ou simplesmente introduzindo o
  assunto ("Caros amigos,").

SEGMENTO 2 DA FRASE:
  O [seg2] é o sujeito da oração. Geralmente, ele é composto por um
  substantivo ou uma expressão substantivada (como "a execução dos pontos do
  programa") que realiza a ação expressa pelo verbo. É o "quem" ou "o que"
  da frase.

SEGMENTO 3 DA FRASE:
  O [seg3] é o verbo da oração, acompanhado, na maioria dos casos, de um
  complemento verbal (como "nos obriga à análise"). Ele expressa a ação,
  estado ou fenômeno realizado pelo sujeito. É o coração da frase, que
  indica o que está acontecendo.

SEGMENTO 4 DA FRASE:
  O [seg4] funciona como o complemento do complemento verbal (adjunto
  adverbial ou complemento nominal) do seg3. Ele complementa o sentido do
  verbo e da expressão anterior, detalhando a ação, a análise,
  a formulação, etc. Geralmente, é introduzido por uma preposição
  (como "das condições", "do sistema") e especifica sobre o que a ação
  do verbo se refere.

Gerando Parágrafos:

Você pode gerar parágrafos de forma aleatória ou de forma controlada, utilizando uma semente como parâmetro opcional através da função generate_paragraph(density=3, seed=None). Adicionalmente, você pode definir o tamanho do seu parágrafo através do parâmetro de densidade (o padrão é 3). Quando omitido o parâmetro da semente, uma semente aleatória será gerada através de um random.randint(0,99999).

from pylerolero import PyLeroLero

# Instancia a classe do PyLeroLero:
pll = PyLeroLero()

# Exemplo de uso:
if __name__ == "__main__":

  # Gerando um parágrafo de densidade 3 sem semente:
  print("\n----------\n[PARÁGRAFO 1]:", pll.generate_paragraph(density=3))
  
  # Gerando um parágrafo de densidade 3 com semente:
  print("\n----------\n[PARÁGRAFO 2]:", pll.generate_paragraph(density=3, seed="Luke, eu sou seu pai!"))

Resultados:

----------
[PARÁGRAFO 1]: Assim mesmo, o consenso sobre a necessidade de qualificação afeta positivamente a correta previsão das formas de ação. As experiências acumuladas demonstram que a mobilidade dos capitais internacionais deve passar por modificações independentemente das condições inegavelmente apropriadas. A certificação de metodologias que nos auxiliam a lidar com o julgamento imparcial das eventualidades estimula a padronização de alternativas às soluções ortodoxas.

----------
[PARÁGRAFO 2]: Não obstante, a revolução dos costumes não pode mais se dissociar dos relacionamentos verticais entre as hierarquias. Pensando mais a longo prazo, a determinação clara de objetivos acarreta um processo de reformulação e modernização das condições financeiras e administrativas exigidas. Todas estas questões, devidamente ponderadas, levantam dúvidas sobre se o novo modelo estrutural aqui preconizado apresenta tendências no sentido de aprovar a manutenção das posturas dos órgãos dirigentes com relação às suas atribuições.

Gerando Textos:

Você pode gerar textos de forma aleatória ou de forma controlada, utilizando uma semente como parâmetro opcional através da função generate_text(size=3, density=3, seed=None). Adicionalmente, você pode definir o tamanho do seu texto através do parâmetro de tamanho (o padrão é 3). Pode também definir a densidade dos parágrafos que compõe o texto através do parâmetro de densidade (o padrão é 3). Quando omitido o parâmetro da semente, uma semente aleatória será gerada através de um random.randint(0,99999).

from pylerolero import PyLeroLero

# Instancia a classe do PyLeroLero:
pll = PyLeroLero()

# Exemplo de uso:
if __name__ == "__main__":

  # Gerando um texto de tamanho 3 sem semente:
  print("\n----------\n[TEXTO 1]:", pll.generate_text(size=3))
  
  # Gerando um texto de tamanho 3 com semente:
  print("\n----------\n[TEXTO 2]:", pll.generate_text(size=3, seed="Luke, eu sou seu pai!"))

Resultados:

----------
[TEXTO 1]: Por outro lado, o acompanhamento das preferências de consumo acarreta um processo de reformulação e modernização das novas proposições. O incentivo ao avanço tecnológico, assim como a determinação clara de objetivos pode nos levar a considerar a reestruturação do processo de comunicação como um todo. Por conseguinte, o início da atividade geral de formação de atitudes possibilita uma melhor visão global das formas de ação.

A certificação de metodologias que nos auxiliam a lidar com a expansão dos mercados mundiais estende o alcance e a importância das diversas correntes de pensamento. O cuidado em identificar pontos críticos no aumento do diálogo entre os diferentes setores produtivos assume importantes posições no estabelecimento dos relacionamentos verticais entre as hierarquias. O incentivo ao avanço tecnológico, assim como a percepção das dificuldades acarreta um processo de reformulação e modernização dos paradigmas corporativos.

No entanto, não podemos esquecer que a mobilidade dos capitais internacionais causa impacto indireto na reavaliação das posturas dos órgãos dirigentes com relação às suas atribuições. Evidentemente, a consolidação das estruturas acarreta um processo de reformulação e modernização das direções preferenciais no sentido do progresso. No mundo atual, a complexidade dos estudos efetuados faz parte de um processo de gerenciamento do remanejamento dos quadros funcionais.

----------
[TEXTO 2]: É importante questionar o quanto o acompanhamento das preferências de consumo desafia a capacidade de equalização de todos os recursos funcionais envolvidos. No mundo atual, o desafiador cenário globalizado aponta para a melhoria das condições financeiras e administrativas exigidas. Por conseguinte, a consolidação das estruturas apresenta tendências no sentido de aprovar a manutenção do investimento em reciclagem técnica.

Percebemos, cada vez mais, que a consulta aos diversos militantes possibilita uma melhor visão global dos paradigmas corporativos. Por outro lado, a estrutura atual da organização prepara-nos para enfrentar situações atípicas decorrentes das novas proposições. Nunca é demais lembrar o peso e o significado destes problemas, uma vez que a estrutura atual da organização faz parte de um processo de gerenciamento dos índices pretendidos.

O que temos que ter sempre em mente é que a consolidação das estruturas ainda não demonstrou convincentemente que vai participar na mudança do fluxo de informações. Por conseguinte, o desafiador cenário globalizado cumpre um papel essencial na formulação de todos os recursos funcionais envolvidos. Não obstante, o aumento do diálogo entre os diferentes setores produtivos talvez venha a ressaltar a relatividade das posturas dos órgãos dirigentes com relação às suas atribuições.

Personalização

O pacote agora oferece também a capacidade de personalizar a geração de frases, parágrafos e textos através da injeção de novos segmentos na classe. Para isso, utilize a função de injeção passando por parâmetro um JSON com o modo de injeção e os novos termos em cada segmento:

'''
  Injetando novos segmentos para personalizar a geração de frases,
  parágrafos e textos.
  
  Args:
    injection (json): JSON contendo o modo desejado e as listas de
      termos para cada segmento.
      
  Returns:
    json: Retorna um JSON com o resultado final dos segmentos
      após a injeção.
'''
def inject(self, injection=None):

Exemplo de JSON para Injeção:

Existem duas opções possíveis para o mode:

  • "append": irá adicionar os novos segmentos aos segmentos já existentes;
  • "replace": irá substituir todos os segmentos existentes pelos novos segmentos.
{
  "mode": "append",
  "segments": {
    "adjuntos": [
      "Neste exemplo ",
      "No exemplo a seguir "
    ],
    "sujeitos": [
      "o sujeito um ",
      "o sujeito dois "
    ],
    "verbos": [
      "foi injetado ",
      "foi adicionado "
    ],
    "complementos": [
      "para personalizar a geração de frases.",
      "para adicionar novos segmentos."
    ]
  }
}

Exemplo de Injeção:

Injetando o JSON exemplificado acima no modo "replace":

import json
from pylerolero import PyLeroLero

# Exemplo de uso:
if __name__ == "__main__":
    
  # Instancia a classe do PyLeroLero:
  pll = PyLeroLero()
  
  # Lendo um arquivo JSON para injetar novos segmentos no PyLeroLero:
  with open("inject.json", "r", encoding="utf-8") as f:
    injection = json.load(f)
    print(pll.inject(injection))
  
  # Gerando um texto de tamanho 3 sem semente:
  print("\n----------\n[TEXTO 1]:", pll.generate_text(size=3))
  
  # Gerando um texto de tamanho 3 com semente:
  print("\n----------\n[TEXTO 2]:", pll.generate_text(size=3, seed="Luke, eu sou seu pai!"))

Resultado obtido:

----------
[TEXTO 1]: Neste exemplo o sujeito dois foi injetado para adicionar novos segmentos. No exemplo a seguir o sujeito dois foi injetado para personalizar a geração de frases. Neste exemplo o sujeito dois foi adicionado para adicionar novos segmentos.

Neste exemplo o sujeito dois foi injetado para personalizar a geração de frases. Neste exemplo o sujeito um foi adicionado para adicionar novos segmentos. Neste exemplo o sujeito dois foi adicionado para personalizar a geração de frases.

No exemplo a seguir o sujeito dois foi injetado para adicionar novos segmentos. No exemplo a seguir o sujeito dois foi injetado para adicionar novos segmentos. Neste exemplo o sujeito um foi adicionado para personalizar a geração de frases.

----------
[TEXTO 2]: No exemplo a seguir o sujeito um foi injetado para personalizar a geração de frases. Neste exemplo o sujeito um foi injetado para adicionar novos segmentos. No exemplo a seguir o sujeito dois foi injetado para adicionar novos segmentos.

Neste exemplo o sujeito um foi injetado para personalizar a geração de frases. Neste exemplo o sujeito um foi injetado para personalizar a geração de frases. No exemplo a seguir o sujeito dois foi adicionado para adicionar novos segmentos.

Neste exemplo o sujeito dois foi adicionado para personalizar a geração de frases. No exemplo a seguir o sujeito dois foi adicionado para adicionar novos segmentos. No exemplo a seguir o sujeito um foi injetado para adicionar novos segmentos.

Contribuições

Contribuições são sempre bem-vindas! Se você tiver mais palavras ou frases para adicionar, sinta-se à vontade para abrir uma pull request.

  • Faça um Fork do projeto.
  • Crie uma nova branch git checkout -b feature/sua-feature;
  • Adicione suas alterações git add .;
  • Faça um Commit git commit -m 'Adiciona nova feature';
  • Envie para o GitHub git push origin feature/sua-feature;
  • Abra um Pull Request.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pylerolero-1.0.0.tar.gz (12.1 kB view details)

Uploaded Source

File details

Details for the file pylerolero-1.0.0.tar.gz.

File metadata

  • Download URL: pylerolero-1.0.0.tar.gz
  • Upload date:
  • Size: 12.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for pylerolero-1.0.0.tar.gz
Algorithm Hash digest
SHA256 258af4eb7e254c2caed9fcd9a6900456f9a158662deb61495086258b384fee28
MD5 03cc7f631f55e76252c832f0287530eb
BLAKE2b-256 3e6cf2b80c5800aeb69623db0ffd1072e4c388ae27b79fe2e2f940cf08270f73

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page