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.
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
258af4eb7e254c2caed9fcd9a6900456f9a158662deb61495086258b384fee28
|
|
| MD5 |
03cc7f631f55e76252c832f0287530eb
|
|
| BLAKE2b-256 |
3e6cf2b80c5800aeb69623db0ffd1072e4c388ae27b79fe2e2f940cf08270f73
|