The module suggests tags to the user depending upon the content of the post using Learning Algorithms. Based on an algorithm and a ranking mechanism the user will be provided with a list of tags from which he can select those that best describe the article and also train a user-content learning model in the background. The model trains on the user's past tagging patterns and posts on the website which are then used to propose tags.

The users get 2 sets of Tags to choose from-
1.Implicit Tags- which are derived only from the current content and ranked according to their chi square value.
2.Learned Tags- derived using the Trained Model and the learning algorithm.

Research Background

Currently the Algorithms in place are the "Word Co-occurrence Statistical Algorithm" proposed by Y. Matsuo and M. Ishizuka - and a "Frequency Based Algorithm." The co-occurrence algorithm has been extended to incorporate learning as well.


  • MLTag is not dependent upon any External Services as it has in-built NLP Libraries for it's use.
  • Users have the flexibility to enable MLTag for specific content types, specify fields from which content will be captured and passed to the tagging / learning algorithm, specify taxonomies associated etc.
  • Users also have the flexibility of adding custom high-priority terms to the Trained Model by choosing appropriate vocabularies from the Taxonomy Module.

Currently MLTag is for Drupal version 7.x

For more details on the Research behind the Project and how to use it , take a look at this Screencast-
Project Wiki-


MLTag requires the following module as a dependency-

Project information