Applying natural language understanding to draw insights from documents when working in a team.

The goal of the application is to help users draw helpful insights from their documents, easily find important topics in the content, and write documentation that may be easier to read and understandable.

What it does

Uses the IBM Watson Natural Language Processing APIs for text analytics on Confluence documents.

Includes four modules:

  • Confluence Macro for Concepts

    • Shows the high-level concepts in the content, it's relevance to the document, and a link to the DBpedia resource on the concept
    • Concepts Macro
  • Confluence Macro for Keywords

    • Shows the important keywords in the content, it's relevance to the document, a sentiment score (positive, neutral, negative), and the emotion associated with the keyword in the content (sadness, joy, fear, disgust, anger)
    • Keywords Macro
  • Confluence Context Menu

    • Shows the analysis of the emotional and language tones of the selected text
    • Context Menu
    • Menu Dialog
  • Confluence Content Action

    • Shows the analysis of the emotional and language tones of the document
    • Content Action
    • Action Modal

How I built it

Built using Forge for Confluence. The application is written in Node.js and makes use of @forge/ui and @forge/api for components and API calls to the IBM Watson Natural Language Understanding and IBM Watson Tone Analyzer APIs.

Challenges I ran into

Working within the limitations of Forge. As a mainly React developer, getting used to working with the Forge UI components such as <Fragment /> and <Text />. As well as using api.fetch from Forge API to make calls to the IBM Watson APIs with _ Forge environment variables _.

Accomplishments that I'm proud of

Successfully creating a Forge application that can make third-party API requests and display them in four distinct modules.

What I learned

Learned about Forge and more about the Atlassian platform including products like Jira and Confluence. First time using the IBM Watson APIs as well.

What's next for Confluence Text Analytics

  • More configuration options for Macro modules, i.e. the option to change the number of concepts and keywords returned by the API
  • Extending functionality to Jira
  • A wider set of analytics options available
Share this project: