Skip to content

Puisi & pantun datasets + generation experiment with GPT-2

License

Notifications You must be signed in to change notification settings

ilhamfp/puisi-pantun-generator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Puisi & Pantun Generator

Puisi and pantun is an Indonesian poetic form. I scraped some puisi & pantun, fine tune GPT-2, and generated one.

Dataset

The dataset was collected by scraping various websites.

  • The puisi dataset contains 7223 Indonesian puisi with its title and author.
  • The pantun dataset contains 440 Indonesian pantun with 18 themes

more details on data dir

Fine-tuning

I finetune Indonesian GPT-2 (pretrained by Cahya Wirawan) on Indonesian puisi & pantun. Both for 2 epoch with 5e-5 learning rate.

The finetuning was done using HuggingFace's run_language_modeling.py script on Kaggle kernel. Link to the kernel:

Generation Example

Here's some cherry picked result:

Puisi without prompt
  HILANG BISA 
  Oleh Azwan 
  
  Aku hanya seorang lelaki 
  Yang selalu hadir dihatimu 
  Yang selalu menemani aku 
  Saat aku masih ada di pelukanmu 
  
  Entah kenapa aku masih merasakannya 
  Seakan aku tak berharap dengan keindahanmu 
  Namun aku tak peduli dengan kesungguhanmu 
  Dan yang membuatku merasa bosan 
  
  Aku terlalu jauh dalam memahamimu 
  Aku terlalu kaku dalam memahamimu 
  Karena dia sangat jarang dapat melupakanmu 
  
  Aku hanya seorang lelaki 
  Yang selalu menyayangimu 
  Seperti dia sendiri 
  
  Aku sangat mencintaimu 
  Meski diriku tidak selalu menghargaimu 
  Tanpa aku tau padamu 
  Aku hanya seorang lelaki 
  Yang selalu menyayangimu 
  
  Dia selalu menyayangiku 
  Dan aku akan selalu mencintaimu 
  
  Aku selalu menyayangimu 
  Karen

We can check that the dataset did not contain this poem at all. The model successfully generated an original title with valid Indonesian words. But whether the content itself makes sense is left for your judgement 😄

Puisi with prompt `SENJA DI PELABUHAN BESAR`
  SENJA DI PELABUHAN BESAR 
  Oleh Anissa N 
  
  Aku sudah tak berdaya 
  Karena ku tahu 
  Aku akan terus saja berlari 
  Tetapi tidak akan berhenti 
  Saat aku tak ada lagi 
  Kau tak sanggup lagi merasakan 
  Menunggu waktu 
  Aku akan segera berpisah 
  Menunggu waktu 
  Berharap waktu sudah tiba 
  Aku akan segera berpisah 
  Menunggu waktu yang tersisa 
  Menunggu waktu yang tersisa 
  Slalu ada 
  Aku akan tetap bersama 
  Aku akan pergi 
  Aku akan pergi 
  Aku akan menunggu waktu yang tersisa 
  Aku akan terus berjuang 
  Aku akan tetap bersama 

🤧🤧🤧🤧🤧

Pantun without prompt
  Datang ke hilir hutan jati 
  Hilang ke pinggir hutan jati 
  Buah kedondong pun buahnya 
  Agar hutan jati di tengah kita 

???!!!

Pantun with prompt `Kalau ada ladang di sumur`
  Kalau ada ladang di sumur 
  Jika ada ladang di sawah 
  Tapi bukan karena tidak suka 
  Yang mana dia yang jahat 

More on the generated-puisi.txt and generated-pantun.txt files.

What's next

Some ideas to improve this experiment:

  • Add restriction to the generation script. The current pantun generation script did not put any restriction on the rhyme of each line. Most of the generated pantun has bad rhymes.
  • Try controllable generation (ex: PPLM)
  • Add more data