What are the advantages and disadvantages of using Rule based approaches in NLP?

    1. Cold start: Many a times when we have the cold start problem (No data to begin with) in Machine Learning, rule based approaches make sense.
      1. For example, you want to recommend products to customers, but how do you start without data. It makes sense to build rules so that the system can start delivering.  This will ensure data is collected eventually.
      2. Another example: Imagine you want to build a sentiment analysis engine, but have no labelled data. rules like sentences having positive emotion words like “good”, “nice”, “beautiful”, “awesome”, “best”, “great”etc(and vice versa for negative emotions), can be classified to a positive sentiment(negative sentiment in other case) and can give a good prediction accuracy. Eventually you can get labelled data to build supervised ML models.
    2. Incorporating Domain Knowledge: Rule based algorithms come in  handy even when data is available.
      1. For ex., for Named Entity Recognition, rules like entities name should start with a capital word can improve accuracy of a Machine Learning algorithm.
    • Advantages of rule based approaches:
      • Training data not required
      • High precision
      • Can be a good way to collect data as one can start the system with rules and let data come by naturally as people use the system.  
    • Disadvantages of rule based approaches
      • Lower recall
      • Difficult and tedious to list all the rules