The idea behind this DAFSA rhymer is just twists & turns to one of the questions from my Algorithmic assignment.

In my implementation, I have used the concept of DAFSA to find out the characters that are responsible for rhyming from the list of rhyming words.
For this, I have used “pronouncing” inbuilt python library that generates the list of rhyming words from the user input word.
After the list of rhyming words are generated, I passed it through my self made DAFSA function.

The DAFSA function checks the list by taking a pair of all possible combinations. The pairs are checked in left to right sequence.

The pair of rhyming words are then stored in the list which is of dictionary format. Were key represents the sequence of characters not responsible for rhyming and value represents the sequence of characters responsible for rhyming.

Fig.1 Flowchart of DAFSA rhymer

This code work is spotting rhyming characters from rhyming words using the concept of DAFSA.

Fig.2 Execution log of DAFSA rhymer

Below is the Git link to my implementation:

Thanks for reading!!! I hope you found this blog interesting :)

Reference:

https://en.wikipedia.org/wiki/Deterministic_acyclic_finite_state_automaton

MSc. in Computer Science with AI | University Of Tartu