Skip to content

My BSc thesis - solver for crossword with hints in natural language

License

Notifications You must be signed in to change notification settings

horrorschau105/crossword-solver

Repository files navigation

crossword-solver

Hi, this is a crossword solver I've written for my BSc thesis.

What is needed to run

Usage

To solve a crossword, simply run

python main.py <vectors file> <crossword file> <frequencies file>

To compare different sentence_vector method, simply add it to ranker.py and run

python main.py <vectors file> <crossword file> <frequencies file>

About the solver

The main idea is to use A* for searching a solution in a huge tree of partially filled crosswords, with root as an empty grid. We need to generate lists of fitting words for each clue. To do it, we count a weightened average of vectors of words in the clue, with weight function as a logarithm of a frequence of the word. A heuristic function ranking a crossword will prefer words more accurate to the hints, that's way solution will be rather correct. See thesis.pdf for more detailed abstract and pseudocodes of used algorithms.

About

My BSc thesis - solver for crossword with hints in natural language

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages