Is there any specific algorithm for handwriting recognition?
The algorithm should recognize the hand written letter.
Any one could help would be greatly appreciated in advance.
Thank you
You can use a genetic algorithm:
http://www.foibg.com/ibs_isc/ibs-02/IBS-02-p03.pdf
You can use Greedy Point Match:
http://www.cs.berkeley.edu/~fateman/msw/GreedyPointMatchWriteup.pdf
I would suggest reading this paper:
On-Line and Off-Line Handwriting Recognition: A Comprehensive Survey
OCR might be a good starting point.
There's the dollar family of recognizers which you can use to recognize single or multistroke gestures (and potentially map that to your alphabet) The lastest member of this family is the $P Recognizer. Here's a starting point: http://depts.washington.edu/aimgroup/proj/dollar/pdollar.html
Google has released an open source OCR engines Tesseract OCR, and It has an Python binding.
Hope this helps.
This one seems to win all the major competitions lately: https://github.com/alexgraves/RNNLIB/wiki
Related
AIML files: http://www.alicebot.org/aiml/aaa/
I want to make these AIML files the knowledge base of my Prolog program.
Help me. Thanks in advance.
P.S. Excuse my bad english.
http://pycdep.sourceforge.net contains something AIML-like implemented in prolog.
Maybe it can serve as a starting point.
You might want to consult (rent it from your local library, don't buy the whole book) the following book:
An Introduction to Language Processing with Perl and Prolog
Pierre M. Nugues (Autor)
Text Book
Before delving into chart parsers and the like, the book contains two sections that deal with eliza like template matching. The sections are:
9.2 Word Spotting and Template Matching
9.3 Multiword Detection
It has Prolog code snipets. The code snipets are not optimized for speed or large volumes, but they show the general idea of the algorithms.
The book is good in computer linguistics, but you might want to consult additional sources for Q&A logic etc..
Best Regards
P.S.: Currently working as well on a Prolog port of a Java/Prolog hybrid extraction pipeline
CAT
I have a friend that is starting up a new project. He wants to be able to use some sort of OCR in order to detect and translate Kanji symbols into other languages. He has hit a bit of a brick wall in finding available algorithms in order to do so, since these symbols are a bit more complex than the English characters that we're used to.
We suggested he start looking into 2D convolution and Fourier transforms to start the pattern recognition process, but he is looking for a good starting point.
Unfortunately my knowledge of OCR is extremely limited, so any suggestions that I can pass along will probably be most helpful!
Have a look at nhocr.
(Also, there is tesseract, but I'm not sure if they actually support CJK.)
There are quite a few questions with information about OCR on SO, for instance, try this search.
I am planning to implement spam filter using Naive Bayesian classification model.
Online I see a lot of info on Naive Bayesian classification, but the problem is its a lot of mathematical stuff, than clearly stating how its done. And the problem is I am more of a programmer than a mathematician (yes I had learnt Probability and Bayesian theorem back in school, but out of touch for a long long time, and I don't have luxury of learning it now (Have nearly 3 weeks to come-up with a working prototype)).
So if someone can explain or point me to location where its explained for programmers than a mathematician, it would be a great help.
PS: By the way I have to implement it in C, if you want to know. :(
Regards,
Microkernel
The book Programming Collective Intelligence has chapter that covers this and other methods. The chapter (#6) can be understood without reference to previous chapters, is written clearly, and discusses only the minimal mathematics necessary to get the job done.
You could try this website. It's got some source code.
I would highly recommend Andrew Moore's tutorials and I think you should start with this one.
You could also take a look at POPFile, an open source spam filter engine.
Have you looked at dspam?
http://dspam.irontec.com/faq.shtml#1.0
http://www.nuclearelephant.com/
I have started some simple project about Text Detection in images. And one of steps in solving this problem is implementation of Edge detector. I wanted to implement Shen Castan, because it gives better results with noisy images. Problem is that I cannot find anywhere some usefull resources about this algorithm. Does anyone knows how Shan Castan works ? Or have some article about this ?
Thanks in Advance
It's quite expensive, but if you're serious about edge detection, I'd highly recommended the book Algorithms for Image Processing and Computer Vision. It's a techniques cookbook, and also comes with a CD of C source code implementations. Here's a review that specifically mentions the Canny and Shen-Castan techniques.
This describes both the Canny and Shen-Castan methods: http://www.comput-vision.net/Computer.vision-Advanced.Edge/
I've been reading things here and there for a while now about using an "ant colony" model as a heuristic approach to optimizing various types of algorithms. However, I have yet to find an article or book that discusses ant colony optimizations in an introductory manner, or even in a lot of detail. Can anyone point me at some resources where I can learn more about this idea?
On the off chance that you know German (yes, sorry …), a friend and I have written an introduction with code about this subject which I myself find quite passable. The text and code uses the example of TSP to introduce the concept.
Even if you don't know German, take a look at the code and the formulas in the text, this might still serve.
link Wikipedia actually got me started. I read the article and got to coding. I was solving a wicked variation of the traveling salesman problem. It's an amazing meta-heuristic. Basically, any type of search problem that can be put into a graph (nodes & edges, symmetric or not) can be solved with an ACO.
Look out for the difference between global and local pheromone trails. Local pheromones discourage one generation of ants from traversing the same path. They keep the model from converging. Global pheromones are attractors and should snag at least one ant per generation. They encourage optimum paths over several generations.
The best suggestion I have, is simply to play with the algorithm. Setup a basic TSP solver and some basic colony visualization. Then have some fun. Working with ants, conceptually, is way cool. You program their basic behaviors and then set them loose. I even grow fond of them. :)
ACOs are a greedier form of genetic algorithms. Play with them. Alter their communicative behaviors and pack behavior. You'll rapidly begin to see network / graph programming in an entirely different way. That's their biggest benefit, not the recipe that most people see it as.
You just gotta play with it to really understand it. Books & research papers only give a general sky-high understanding. Like a bike, you just gotta start riding. :)
ACOs, by far, are my favorite abstraction for graph problems.
National Geographic wrote an interesting article awhile back talking about some of the theories.
The best resource for these topics is Google scholar. Ive been working on Ant Colony Optimization algorithms for a while, here are some good papers:
Ant Colony Optimization - A New Metaheuristic
Ant Colony Optimization - Artificial Ants as a Computational Intelligence Technique
Just search for "Ant Colony" on google scholar.
Also, search for papers published by Marco Dorigo.
I am surprised nobody has mentioned the bible of ACO:
Marco Dorigo & Thomas Stützle: Ant Colony Optimization
This book is written by the author of ACO and it is highly readable. You can take it to the beach and have fun reading it. But it is also the most complete resource of all, great as a reference when implementing the thing.
You can read some excerpts on Google Books
Another great source of wisdom is the ACO Homepage
See for example this article on scholarpedia.
There is also discussion here in the What is the most efficient way of finding a path through a small world graph? question.
At first glance this seems to be closely related to (or prehaps a special case of) the Metropolis algorithm. So that's another possible direction for searching.
Addition: This PDF file includes a reference to the original Metropolis paper from 1953.
Well, i found the Homepage of Eric Rollins and his different Implementations (Haskell, Scala, Erlang,...) of a ACO Algorithm helpfull.
And also the Book from Enrique Alba, titled "Parallel Metaheuristics: A New Class of Algorithms" where you can find a whole chapter of explanation about ACO Algorithms and their different usages.
Hth