OpenCalais in Drupal

By mrbagnall | 17 April 2016

It’s no secret that one of the most powerful aspects of the Drupal content management system is the ability to tag content using a variety of vocabularies within its Taxonomy structure. Being able to relate content in this way is a big help to large content, scholastic, government and news related web sites find appropriate tags which can be assigned on a per-vocabulary level to content.
 
The OpenCalais module for Drupal makes this process easier by leveraging the power of the Calais service to provide auto and suggested tagging of content. 
 
This is accomplished by analyzing the title of the article and body content of a given piece of content and assigning or suggesting tags on a per-vocabulary (subject)  level. What makes this even more powerful is that you can utilize different vocabularies within different content types to target subject specific tags for each individual content type and piece of content. You can also set thresholds for which tags are recommended or assigned helping to widen or narrow the field of tags that are suggested or assigned. 
 
In our example above, you can see that a variety of vocabularies are selected for our content type of Article meaning we expect to have many different article subjects contained within that type. Also note the scores assigned to each selected vocabulary. This will indicate that tags below a certain threshold will be ignored and those above will be suggested or assigned.

Using this you can see our article on the sports team the Nashville Predators. Note the suggested and assigned tags in the second figure. This includes suggested social tags. In the areas of Company and City (depending) they will be populated with links to the PermID record for those entities.
 
Once you submit the node (or allow it to auto-tag on creation) you can view the tags on your article display page. The terms are presented as tags separated by vocabulary. There has been an expressed desire to have all the tags presented in a single vocabulary with a custom field for the category of the tag but this presents some technical and logistical limitations that currently prevent this, but it is something being actively looked into.
 
The module is currently available for Drupal 6 and Drupal 7. Because drupal.org has recently stopped supporting Drupal 6, the ability to download that module is limited to the git repository on drupal.org. However, I will be maintain releases on the GitHub page for the OpenCalais project located at: https://github.com/ElusiveMind/opencalais
Note that both releases have some bugs and issues that are under review and development for fixes. I am also planning to begin work on a Drupal 8 version of the module within the next two weeks, but I expect this to take several weeks to a couple of months to develop with my current workload and schedule.
 
Future considerations for the Drupal 7 module include the ability to scan additional fields for keywords to be assigned.