OCR for Devanagari (Hindi / Marathi / Sanskrit) - image-processing

Does anybody have any idea about any recent work being done on optical character recognition for Indian scripts using modern Machine Learning techniques ? I know of some research being done at ISI, calcutta, but nothing new has come up in the last 3-4 years to the best of my knowledge, and OCR for Devanagari is sadly lacking!

FYI: There's an article in the New York Times from 2003 referencing a tool called ILT.

This is surely too old to be useful, but is cool: a video of the Ingalls speaking on Sanskrit and OCR. (Daniel H. H. Ingalls, Sr., Sanskrit professor and translator, and his son Dan Ingalls, computer scientist involved with Smalltalk etc.) The first half is Ingalls Sr. describing a project to automatically analyze text, and the second is by Ingalls Jr. describing how he implemented OCR for Sanskrit from scratch.

Related

Tips for writing an algorithm for paraphrasing sentences(machine learning)

I am doing a project at the university and I need to train an algorithm to rephrase sentences, what can you advise for implementation? Is it possible to use a translator to translate into another language in the end to get a paraphrased sentence? Also i want to use Word2Vec, or it's a bad idea?
This kind of broad-advice question – and about a very-tough problem, paraphrasing text, that is still a very active research problem – would be better answered by surveyin the research literature.
A great site for searching relevant papers – and then finding other related papers once you've set some positive examples – is http://www.arxiv-sanity.com/.
Searching for [paraphrasing] or [summarization] would give you a running start in seeing major techniques & their limitations. And, once you start bookmarking papers by the little 'disk' icon, it can autosuggest important related papers... so even if your 1st few finds are tangential or far-from-usefulness, it can lead you to the seminal papers, & prevailing cutting-edge algorithms/libraries, pretty quickly.

What is the meaning of the decision tree algorithm name "c4.5"?

I'm learning Machine Learning. In this subject, I see a decision tree name "c4.5" but I do not know "c4.5" stand for what. Is there anyone help me? I search about it a lots but I still do not have the answer :D
In the book "C4.5: Programs for Machine Learning" by Quinlan I wasn't able to quickly find an description of why that name was chosen (it's about 300 pages including appendices with lots of source code though, so didn't read all that).
The story I heard is that the "C" simply indicates that the algorithm was implemented in C, and that Quinlan was maybe very proud of the fact that he was able to program in C. Then I suppose the "4.5" is simply a version number of the software.
Note that a Java implementation of the same / a similar algorithm in Weka is named "J48".

Q: Can a Machine Learning model solve rule-based problems?

Can Machine Learning be used to validate statements or catch errors in text documents?
For example, if you teach a classifier that "You should eat apples twice per day", but in a document that you're testing on, the statement is "You should eat apples three times per day", can the statement be flagged?
Obviously you can build some rules-based software that catches these, but my question centers around training an ML model to catch these, as rules change.
I have looked at word2vec and NLTK and performed some tests with them, but can't connect the dots for teaching the classifier.
If it's possible, how would one go about it or provide some direction?
Thanks, Doug
(Got too long for a comment. )
Yes it can. However, it is freakingly complicated. This kind of reasoning and analysis is done by Watson for example. IBM is calling these cognitive computing. As you wrote rule based (or logical reasoning) systems can solve such tasks. So the question you should ask yourself is how you can extract the required facts from text. => NLP , Part Of Speech, Named Entity,... However the task is extremely hard because " not more then 100times" a day is not contradicting the sentence. So reasoning would require rich background knowledge.
As said it is an extremely broad topic. You would have to sketch the solution and then pick a tiny piece, which would be called a PhD thesis ;).
Which is illustrated in this nice image http://matt.might.net/articles/phd-school-in-pictures/
So looking with the right keywords for PhD thesis's turned up http://nakashole.com/papers/2012-phd-thesis.pdf . This one might provide you a few nights of reading.
If you want to try something hands on with NLTK I would generate parse trees for the sentences you want to analyse. Afterwards you could try to align these and check for overlaps and deviations. However I'm not sure how to draw conclusions. A slightly simpler version would be to match word by word. Something along Levenstein Distance calculations.

Is there an algorithm to describe a portrait of a person in words?

I'm looking an algorithm that analyzes a portrait-photo of a person and outputs a descriptive text like "young man, rather long nose, green eyes".
It doesn't matter if the output is very precise or not; it is for an art installation. But it should be possible to do it automatic.
I found this one: https://code.google.com/p/deep-learning-faces/, but it is impossible for me to fulfill the hardware and software requirements (NVIDIA Fermi GPUs & matlab)
Do you know of anything more accessible?
There are a few free face analyser APIs that are fairly easy to use:
Rekognition, by Orbeus
MP Face Analyzer SDK (evaluation) by MotionPortrait
Faceplusplus (linked above)
You might have to take measurements of an "average face" to make interpretations like "long nose". ToonifyMe is an app that caricatures faces using this approach.
Some of these API's can actually work on a Pi. Recognition does the analysis in the cloud, so that should be doable.
This is one of the hardest problems in computer vision. I'd recommend you watch the ted talk by Fei-Fei Li to get an understanding of it:
https://www.ted.com/talks/fei_fei_li_how_we_re_teaching_computers_to_understand_pictures
In short: If you want to use any of the state-of-the-art methods you will need a lot of processing power. A lot more than just a single high-end graphics card, I'm talking about super computing here.
And unless you're really lucky and find a research group that has released their implementation, this also requires a huge amount of engineering.
I found this online service that describes faces: http://www.faceplusplus.com/
It has a very well documented API and seems to be free of charge. Or at least I didn't find any information about pricing.

DSP Algorithms Book [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 6 years ago.
Improve this question
I'm looking for a book similar to "Introduction to Algorithms" by Thomas Cormen geared towards DSP algorithms. Is there anything as thorough as Cormen on the DSP market?
EDIT
I should say I'm looking for a book that's analogous to The Joy of Cooking.
Disclaimer - I am not familiar with the Cormen book so I'm not quite sure what you're looking for.
I'm a huge fan of "A Digital Signal Processing Primer" by Ken Steiglitz. It introduces DSP concepts like sampling, as well as simple filtering implementations, without relying just on math for explanation. Cookbook equivalent: You know how to boil water on a stove, but you're nervous about the rest.
A more advanced book, more of a practitioner's handbook than a text, is "Theory and Application of Digital Signal Processing" by Lawrence Rabiner and Bernard Gold. Their explanation of the overlap-save FFT technique for convolution, in particular, is the best I've ever come across. Cookbook equivalent: Maybe Joy of Cooking, maybe the Cordon Bleu tome.
And "Telecommunications Breakdown" by Richard Johnson and William Sethares is great for taking some DSP concepts and bringing them to life by implementing a radio in software. Cookbook equivalent: A tour through a specific cuisine, and explains what "braising" is along the way.
Hope these are of use to you!
For theory, I like Understanding DSP by Rick Lyons, which also has some nice "recipe-type nuggets".
More practical, and much more "nuggetty" is Streamlining DSP, same author. There's some really interesting stuff in there (IMHO!). Some of it is of the "lost knowledge" variety - especially in these days of just running Matlab's filter design functions. Some of it relates to limited hardware machines (which is great for tiny microcontroller or FPGA implementations).
The articles are written by serious, practicing DSP engineers (many of whom hang out on news:comp.dsp) in a very accessible style.
(I'm afraid I'm no good with cooking analogies though :)
Just for the record and benefit to others, I would recommend The Scientist and Engineer's Guide to Digital Signal Processing.
This is a good book for beginners.
There are a few online books available as well at the great DSPRelated.com:
INTRODUCTION TO DIGITAL FILTERS WITH AUDIO APPLICATIONS by JULIUS O. SMITH
MATHEMATICS OF THE DISCRETE FOURIER TRANSFORM (DFT) WITH AUDIO APPLICATIONS by JULIUS O. SMITH
This is not a book but I'm sure it'll be a valuable resource: The Ecole Polythechnique de Lausanne is starting a free online course on digital signal processing on February 18th 2013: https://www.coursera.org/course/dsp.
Also, the guys teaching it co-authored a book on the topic: http://www.sp4comm.org/
A second vote for the Rick Lyons book. You might also want to get a couple of DSP "bibles", e.g. Oppenheim & Schafer and Proakis & Manolakis, which are more theoretical but cover more ground.
The DSP handbook: algorithms, applications and design techniques - Bateman, Andrew, Paterson-Stephens, Iain 2002
and
Introduction to digital signal processing - Meddins, Bob 2000
Have basically made my ADSP module a breeze (so far). They are also at the top of the suggested reading list. As such, both are fairly beginner friendly, and the latter includes Matlab examples.
The former is probably more Delia, while the latter is more 'my first cook book'.
I will also add Vetterli, Kovacevic, and Goya's Foundations of Signal Processing, which can be downloaded for free.

Resources