5 ms·
Solving the KAYAK crossword puzzle with code
- nhstanley 12y agoWas the use of ANN necessary, or simply done because it was cool to do? Because at least in my mind it looks like extracting the text and running a brute force program on it would be faster, no?
- biot 12y agoIf my reading is correct, the neural network was used to OCR the image, extracting the text. From there, it is indeed a simple brute-force string search.
- quadrature 12y agoYeah, but the type is pretty regular and and the alphabet is small. I bet you could just use convolution.
- stepanbujnak 12y agoThe use of ANN was completely unnecessary, as there are only 3 characters in the crossword puzzle. I wanted to try out the OpenCV ANN implementation though and since it's not a real world application it doesn't really matter.
- garethadams 12y agoThis seems like a good place to link to the UsVsTh3m one-word-wordsearch generator: http://games.usvsth3m.com/one-word-wordsearch/#MTAsS0FZQUssNzk3MjE= http://games.usvsth3m.com/one-word-wordsearch/#MTAsS0FZQUssN...
- column 12y agoIn the source: "bastardTouchMoveWhatTheHellIsWrongWithMobileBrowsersSeriously"
- gokhan 12y agoSimilar: https://projecteuler.net/problem=11 https://projecteuler.net/problem=11
- yen223 12y agoFWIW that's not a crossword puzzle. As a crossword enthusiast, I would be very interested in the implementation of an AI-backed crossword puzzle solver!
- splike 12y agoJust a thought, but I bet word2vec would be a pretty good starting point for a crossword solver https://code.google.com/p/word2vec/ https://code.google.com/p/word2vec/
- skellystudios 12y agoFor my masters thesis I wrote some software to solve UK-style cryptic crosswords[1]. We're cleaning up the code now for release as an AI paper, so as soon as we're done I'll release the code on Github. [1] http://en.wikipedia.org/wiki/Cryptic_crossword http://en.wikipedia.org/wiki/Cryptic_crossword
- bvm 12y agoWhat a great idea. What's your success rate like? Cryptic crosswords (at least good ones) play with conventions so much, I imagine it must be quite a challenge.
- gjm11 12y agoExcellent! How does its performance compare with Crossword Maestro (http://www.crosswordtools.com/cm/ http://www.crosswordtools.com/cm/) which I think is the current state of the art?
- column 12y agoHow I did it: 0. Download and install Tesseract https://code.google.com/p/tesseract-ocr/ https://code.google.com/p/tesseract-ocr/ 1. Crop and adjust curves of the image in Paint.Net (= get a better contrast) to ease OCR 2. Save as PNG in the folder of Tesseract 3. Open cmd in Tesseract folder, type tesseract kayak.png kayak (produces kayak.txt) 4. Open kayak.txt in Notepad++, remove empty lines (to have correct indexes), CTRL+F "KAYAK"
- brusch64 12y agoHow do you do OCR in Paint.Net ?
- column 12y agoIn Paint.Net I only adjusted the curves (CTRL+SHIFT+M) to get a better contrast. The OCR is done by Tesseract. This solution is all about using the right tool for the job.
- brusch64 12y agoSorry I misunderstood your comment. Was just wondering how you are doing OCR in Paint.Net. Thank you for your clarification.
- column 12y agoThis is the output of Tesseract (once empty lines are removed): AAYKAKAYKAYYKKAAKAYAAAYKYKYAYK KYYAKYAAAYKAAKKYAKKKAAAKAAYKAA KKKYAKAKAYKKYKKYKKAKYAAAAKAAKK YKAAKYAAKKKKKAYAYYYYYAAKAAKKKK KKAYYAAKKYYAYAAKAAKKAAYKAKKAAK KKAAAKAAAKKAKKKYAAAYKYAYAKYKAA KKYKAAAAAAAAAAKKAAAKYYAKAKAKKY KKKKKKAKYYKYYKKAAYAKAAAKYAKKAA KAKKAKAYKAAYAKYYKKAYKKKAAAAAKA KKAKAKAKAAAKAYAYKAKAYYAYKKAKYY AAAYAKKKAKKAKYKAYKKAKKYKAAKKYY YKKKYKKYAAAKKKKAKAYKKKKKAAKKKY KKAKAYKAAKAKKYYAKAYAAKYAAAAAAA AAAAKKYAAKKAAYKKAAAYAYAKYAKAYK AKKAKKAYKAAYKYKAKYAAKKYKKKKKKA KYKAAKKYAYKAKKKYKAKAYAYKYAAAKK KAYYKKAKYKAYAAKAYAAYYYAKKYKYKK KKKKAKAYAAAKKAYAYKKYAKAAAAYKAY AYKAKKKAAKAKAYAAAKKYKKAYKAYAYY KYAYKAYAKAKYYKYKAKAAYKYKKAYKAK AKAKKAKKAKKKKAAAKYYYYKAKAAAAAK KAKYYKAKKYKYAKYAAAAAKAKAYAAKKA KKAAAKKAKAKKAAKAYAAYAAAKKAAYYA KAKKYYKKAYAYKKAKKYYKYKYKKAAAKA
- xigency 12y agoFound it in a couple minutes by hand. I started from the position (3,3) and circled the board looking for "Y" surrounded by two A's, and checking for the phrase. Working inward it's only a matter of time before you find it. There are also the borders to check then.