Versos muy específicos pero sorprendentes
"En este mundo, sólo los verdaderos amigos te levantarán cuando te caigas, porque sólo ellos verán cómo te duelen las rodillas."
--Autor desconocido
Como joven literario, me gusta coleccionar todo tipo de poemas especializados pero sorprendentes. Aunque este poema es simple, me hace sentir las emociones sinceras entre amigos. Al mismo tiempo, también me gusta explorar varios pasos operativos novedosos. Hoy compartiré con ustedes una operación interesante y de nicho: usar Python para generar poesía.
1. Preparación
Primero, necesitamos instalar Python y pip para instalar bibliotecas de terceros. Luego, necesitamos instalar una biblioteca llamada "pytorch", que es un marco de aprendizaje profundo que puede ayudarnos a entrenar un modelo de red neuronal que pueda generar poesía.
El comando para instalar pytorch es el siguiente:
pipinstalltorch
Después de instalar pytorch, también necesitamos instalar una biblioteca llamada "pytorch-pretrained-bert" , que es un modelo BERT previamente entrenado que puede ayudarnos a generar poemas más hermosos.
El comando para instalar pytorch-pretrained-bert es el siguiente:
pipinstallpytorch-pretrained-bert
Modelo de entrenamiento
A continuación, Necesitamos entrenar un modelo de red neuronal para aprender a generar poesía. Utilicé un modelo llamado "GPT-2", que es un modelo de lenguaje basado en Transformer desarrollado por OpenAI. Podemos entrenar este modelo usando la clase GPT2LMHeadModel de la biblioteca pytorch-pretrained-bert.
Primero, necesitamos preparar algunos datos de poesía. Podemos descargar algunos conjuntos de datos de poesía ya preparados de Internet o podemos escribir algunos poemas nosotros mismos como datos de entrenamiento. Aquí, estoy usando un conjunto de datos de poesía china llamado "poesía china", que se puede descargar desde GitHub.
Después de descargar el conjunto de datos, necesitamos convertirlo a un formato que el modelo pueda procesar. Aquí, estoy usando una clase llamada "PoemProcessor" que convierte los datos de poesía sin procesar a un formato que el modelo pueda procesar.
El código es el siguiente:
``
importos
importjson
importnumpyasnp
frompytorch_pretrained_bertimportGPT2Tokenizer
classPoemProcessor(objeto):
def__init__(self,data_dir,tokenizer):
self.data_dir=data_dir p>
self.tokenizer= tokenizer
defprocess(self):
poems=[]
forfilenameinos.listdir(self.data_dir):
filepath=os.path.join(self.
withopen(filepath,'r',encoding='utf-8')asf:
data= json.load (f)
forpoemindata:
content= poema['párrafos']
iflen(content) =4:
Continuar
content=[self.tokenizer.tokenize(line) forlineincontent]
content=[[self.tokenizer.convert_tokens_to_ids(word)forwordinline]forlineincontent]
content=[line+[self.tokenizer.convert_tokens_to_ids(word)forwordinline]forlineincontent]input_ids=torch.tensor(input_ids,dtype=torch.long,device=self.device).unsqueeze(0)
withtorch .no_grad():
salidas=self.model(input_ids,Ninguno,longitud=longitud,temperatura=temperatura)
predicciones=salidas[0]
predicciones=predicciones[0,len( input_ids[0]):].cpu().numpy()
predicted_ids=[]
paraprediccióninpredicciones:
predicted_id=int(predicción)
ifpredicted_id==self.tokenizer.eos_token_id:
romper
predicted_ids.append(predicted_id)
predicted_text=self.tokenizer.decode(predicted_ids)
returnpredicted_text
``
Cuatro, Resumen
Usando Python para generar poesía, podremos vivir una nueva experiencia literaria. Aunque esta operación es relativamente específica, es interesante y tal vez puedas probarla.
Finalmente, disfrutemos de un poema creado por un modelo generativo:
```
En este mundo,
Solo los verdaderos amigos estarán allí. Te recogerán cuando te caes,
porque son los únicos que te han visto doler la rodilla.
En este mundo,
Sólo el amor verdadero puede darte calidez cuando estás perdido,
Porque sólo él puede ver el vacío de tu corazón.
En este mundo,
sólo la verdadera fe te guiará cuando estés perdido,
porque sólo ella puede ver tu pérdida.
En este mundo,
sólo tu verdadero yo te dará fuerza cuando estés perdido,
porque sólo él te ve perdido.
```
--Modelo generativo
La poesía muy específica pero sorprendente agrega un sabor literario a nuestras vidas y le da a nuestra tecnología creatividad.