Skip navigation.
Semantic Software Lab
Concordia University
Montréal, Canada

Natural Language Processing for Web Portals: First release of the Semantic Assistants-Liferay Integration

Printer-friendly versionPrinter-friendly versionPDF versionPDF version

1. Overview

We are happy to announce the first release of our Semantic Assistants integration for Liferay-based web portals [1]. Portals are web-based software applications that can provide a central entry point to a multitude of heterogeneous data sources. Liferay is an open source, JSR 286-compliant enterprise portal system written in Java. The motivation behind our integration is to bring the power of Natural Language Processing (NLP) techniques to web portals, with the ultimate goal of enabling portal systems to automatically process their embedded textual content. In this way, 'intelligent' portals can start to offer content analysis services to their users, taking into account contextual information beyond their roles and permissions.

Our open-source solution is the first custom portlet for Liferay that allows any other portlets in the portal to invoke various NLP pipelines deployed in the General Architecture for Text Engineering (GATE) on their content. These NLP pipelines are brokered to the portal as W3C standard web services through our Semantic Assistants framework. This integration provides for a multitude of novel applications in the context of portal systems, such as named entity recognition, automatic summarization, quality assurance, among others.

Semantic Assistants NLP Integration into Liferay PortalSemantic Assistants NLP Integration into Liferay Portal

2. Features

This first release includes the following features:

Light-weight Semantic Assistants Liferay Portlet
NLP capabilities are embedded into a Liferay portal by installing the custom 'Semantic Assistants' portlet. Without requiring modifications on the portal core, this portlet can exchange textual content and NLP results with other arbitrary portlets through rendering parameters in the portal system. This portlet also provides a jQuery-based user interface, through which users can inquire about and invoke NLP services on a portal's content.
NLP Pipeline Independent Architecture
The SA-Liferay integration is backed by the Semantic Assistants server, which provides a service-oriented solution for offering NLP capabilities in a portal system. This way, any NLP service available in a given Semantic Assistants server can be invoked through our integration on a portal's content. Likewise, the same NLP pipeline can be consumed by other clients, such as the MediaWiki-NLP integration.
Flexible NLP Result Handling
Depending on the nature of the natural language analysis techniques (e.g., entity recognition, summarization, index generation), NLP pipelines can produce different types of results, such as annotations or new documents. Our SA-Liferay integration offers flexible format handling, based on JSON and XML, which provides for a convenient separation of NLP pipelines' results from their visual representation.

Semantic Assistants Portlet in LiferaySemantic Assistants Portlet in Liferay

3. Download & Installation

The SA-Liferay integration is released as an extension to the Semantic Assistants framework as open-source software under the APGLv3 license. You can download the Semantic Assistants portlet from our public distribution. For more information on how to deploy the Semantic Assistants portlet on your portal, please consult our Semantic Assistants documentation.

4. Acknowledgments

The Semantic Assistants-Liferay integration is a collaborative project between the Semantic Software Lab and the FUSION research group at the Friedrich-Schiller University of Jena in Germany. The funding for this project was generously provided by the Natural Sciences and Engineering Research Council of Canada (NSERC) and the German Academic Exchange Service (DAAD).


  1. Löffler, F., B. Sateli, B. König-Ries, and R. Witte, "Semantic Content Processing in Web Portals", 4th Canadian Semantic Web Symposium (CSWS 2013), vol. 1054, Montréal, QC, Canada :, pp. 50–51, 07/2013.