My group and I have recently been taking a better look at the kind of conversational analysis that we wish our device to undertake. We have two goals that we wish to achieve through conversational analysis;

  1. Keep the conversation happening around the device on topic and effective, to produce the most useful data;
  2. Provide additional information and context to the conversation, in order to help develop ideas faster and increase the effectiveness of the conversation further.


Early on in the conceptual process, the team and I decided to use NodeJS as the backbone technology of the project. Node is extremely well established and supported, while our personal collective knowledge of web technologies (particularly Javascript and Node server applications) led us to a confident decision to use this technology.

We therefore set about looking for tools that we could use in conjunction with NodeJS that allowed us to implement our designs for conversation analysis, and in our research we discovered the Alchemy Language and Personality Insights services by IBM. Both of these technologies are a part of IBM Watson’s Developer Cloud, and are accessible through a RESTful API service.

These tools fit perfectly with our plan to use NodeJS. By using Node, including these services in our project is as simple as a single terminal command and a few lines of Javascript code. And with Node being a solid web technology, making requests to the services’ API endpoints over HTTP is extremely fast and efficient.

Screen Shot 2017-01-02 at 17.07.05

Screen Shot 2017-01-02 at 17.10.37From the Alchemy service we are able to extract entities and keywords (among other data) from our conversation. This data will allow us to intelligently determine the topic of the conversation being had, so that we can compare the contents of the conversation to the topic in order to calculate how effective the conversation is. IBM already provide a certain level of calculation in this regard, by calculating a “relevance” score for each entity and keyword.

Meanwhile, the Personality Insights service calculates, among others, scores for each of the Big Five personality traits. Details about the traits can be read here, but for the sake of conciseness I have copied IBM’s definitions below;


Big Five personality characteristics represent the most widely used model for generally describing how a person engages with the world. The model includes five primary dimensions:

  • Agreeableness is a person’s tendency to be compassionate and cooperative toward others.
  • Conscientiousness is a person’s tendency to act in an organized or thoughtful way.
  • Extraversion is a person’s tendency to seek stimulation in the company of others.
  • Emotional Range, also referred to as Neuroticism or Natural Reactions, is the extent to which a person’s emotions are sensitive to the person’s environment.
  • Openness is the extent to which a person is open to experiencing a variety of activities.

Screen Shot 2017-01-02 at 17.20.55While the these traits are intended to be applied to an individual, we plan to apply them to the group conversation regardless. We believe that the service should not need to distinguish between the words of an individual or a collective group of people, and should be able to determine the average “personality” or tone of the conversation as if it were spoken or written by one individual.

From this data, we should be able to detect when the conversation is no longer effective, thus no longer producing the most valuable data for our data collection system and database. Helpguide.org define four barriers to effective communication, two of which we can determine from the data received from IBM:

Stress and out-of-control emotion. When you’re stressed or emotionally overwhelmed, you’re more likely to misread other people, send confusing or off-putting nonverbal signals, and lapse into unhealthy knee-jerk patterns of behavior. Take a moment to calm down before continuing a conversation.

Lack of focus. You can’t communicate effectively when you’re multitasking. If you’re planning what you’re going to say next, daydreaming, checking text messages, or thinking about something else, you’re almost certain to miss nonverbal cues in the conversation. You need to stay focused on the moment-to-moment experience.


When the conversation has lost relevance to the subject, or the tone of the conversation has become unproductive then we plan to alert the members of the conversation through audio or light cues. For example, if IBM determines the agreeableness of the conversation to be low, then we can determine that the conversation has hit a snag.

Alerting the users to this fact should allow them regroup and continue the conversation more effectively. By doing this, the conversation should always remain on topic, effective, and engaging, thus our device collects the most effective data possible at all times, improving the quality of the information in our conversation database and improving the chances of discovering important trends or patterns hidden within the collective data.