0 votes
1 view
in Machine Learning by (15.7k points)

I am currently working on a solution to get the type of food served in a database with 10k restaurants based on their description. I'm using lists of keywords to decide which kind of food is being served.

I read a little bit about machine learning but I have no practical experience with it at all. Can anyone explain to me if/why it would a be better solution to a simple problem like this? I find accuracy more important than performance!

simplified example:

["China", "Chinese", "Rice", "Noodles", "Soybeans"]

["Belgium", "Belgian", "Fries", "Waffles", "Waterzooi"]

a possible description could be:

"Hong's Garden Restaurant offers savory, reasonably priced Chinese to our customers. If you find that you have a sudden craving for rice, noodles or soybeans at 8 o’clock on a Saturday evening, don’t worry! We’re open seven days a week and offer carryout service. You can get fries here as well!"

1 Answer

0 votes
by (33.2k points)

To solve your problem, here are the steps you should do:

  1. Create a feature extractor - that given a description of a restaurant, returns the "features" (under the Bag Of Words model explained above) of this restaurant (denoted as an example in the literature).
  2. Manually label a set of examples, each will be labeled with the desired class (Chinese, Belgian, Junk food,...)
  3. Feed your labeled examples into a learning algorithm. It will generate a classifier. From personal experience, SVM usually gives the best results, but there are other choices such as Naive BayesNeural Networks and Decision Trees, each has its own advantage.
  4. When a new (unlabeled) example (restaurant) comes - extract the features and feed it to your classifier - it will tell you what it thinks it is (and usually - what is the probability the classifier is correct).

For a training point of view, check out the SVM Algorithm Tutorials. Also, Neural Network Tutorial would also be one of the better procedures in understanding various 

Welcome to Intellipaat Community. Get your technical queries answered by top developers !