[blog; Github] We present the Berkeley Crossword Solver, a state-of-the-art approach for automatically solving crossword puzzles.
Our system works by generating answer candidates for each crossword clue using neural question answering models and then combines loopy belief propagation with local search [using ByT5 to handle puns/humor/word-play] to find full puzzle solutions.
Compared to existing approaches [like Dr.Fill], our system improves exact puzzle accuracy 57% → 82% on crosswords from The New York Times and obtains 99.9% letter accuracy on themeless puzzles. Our system also won first place at the top human crossword tournament, which marks the first time that a computer program has surpassed human performance at this event.
To facilitate research on question answering and crossword solving, we analyze our system’s remaining errors and release a dataset of over 6 million question-answer pairs.
Figure 2: An overview of the Berkeley Crossword Solver. We use a neural question answering model to generate answer probabilities for each question, and then refine the probabilities with loopy belief propagation. Finally, we fill the grid with greedy search and iteratively improve uncertain areas of the puzzle using local search.