Jam, I need you to…

Jam, I need you to…

After completing his secondary education with university entrance qualification, Paul, a french student, is quickly confronted with many questions: 

  • Which university/preparatory class to choose? 
  • Where finding a not too expensive housing?
  • Where finding a summer job?
  • Where drinking in a nice place in Paris?
  • Which doctor is the closest to my home?
  • I go to London to study. What are the cheapest aircraft tickets?

Web? App? Bot?
Web is an information source for Paul but informations are not presented according to its constraints (e.g. location, budget …). The principle There is an app for That obliges him to download an app for each of its above questions (e.g. Yelp, Skyscanner …). But, Paul is left with a multitude of applications on their smartphone even sometimes requiring juggling from one to the other.


There is a third possibility for Paul to live serenely his student life: using a bot. I will introduce you  JAM. This is the bot chat for French students. It is also their friend, their confidant and their advisor.

The supervised artificial intelligence
that caprovide answers to all of students’ questions

Jam is not a concierge service like Claque des doigts or a conversational commerce app like Magic and many others.

Jam is thought out to be the best friend of French students. Jam will help Paul for each step of his student life (housing, job, cultural outings…), motivate him at his examinations and remind him appointments. And all this for free … like a friend. Jam always find the info needed by Paul in minutes or hours if the need is complex. There is no commercial transaction with Jam.

A simple SMS to Jam, a message on Facebook Messenger or on @hellojam_ DM (Twitter) and the experience begins.

First experience with Jam

Jam works with an artificial intelligence supervised by humans. When Jam understands the nature of user need, it looks for the most appropriate information by connecting to existing APIs.

When the user’s message is not completely understood  by AI, the bakers (name given by Jam for humans caring supervision), take over to meet the need. Using a classification brick, AI aids the work of bakers by classifying posts by categories and priority (e.g. information on hourly bus or train).

Launched in April 2015 by Marjolaine Grondin (CEO) and Loïc Delmaire (CTO), Jam knows since few months an explosive growth among students: from 3 000 to 25 000 users in just 4 months. In order to find the best answer to the needs of a student, Jam has over 40 partners such as Airbnb, BlaBlaCar, Uber, Deliveroo, Engie … and around sixty bakers.

In view of this undeniable success, the young French start-ups raised € 1 million from ISAI (investment fund of internet entrepreneurs) in January. This fundraiser has mainly to supplement the existing team with specialized profiles techs including Machine Learning, Data Science and NLP … to improve the automation of responses. Today, Jam receives about 30 000 messages per month and automatically treats about 30% of these messages. 50% of messages are processed in human-machine pairs and the remaining 20% are paid entirely by the bakers.

The repercussions in the press of the fundraiser was to significantly increase the number of users Jam. Therefore, the main challenge of the young Jam team for the coming months is to increase the quality and speed of service. information extraction, clustering, Natural Language Generation (NLG) are some obstacles to be overcome to achieve this next NLP!

Technological locks in Natural Language Processing for an usable chatbot 

Understanding semantics to understand user

  • Named Entity Recognition (NER) in general (addresses, persons, objects, dates, places, prices,…)
  • Contextual informations processing (e.g. “What movies playing tomorrow night“,  “Who is the doctor nearest to me?)
  • Messages clustering
  • Coreferences processing
  • Understanding multi-criteria needs (e.g. “I’m searching a 3 seat white sofa-bed)
  • Understanding degraded text (text-messaging language, spelling mistakes)
  • Sentiment analyse to understand the user’s satisfaction

Dialogue manager

  • Anticipation of the interaction with the user, establishment of conversational scenarios
  • Detection of missing information to reduce interactions

Automatic generation of the response

  • Varied Generation according to input data information given by user
  • Simplified generation for some complex responses (e.g. reimbursement rate for a given care) or for some users with reduced cognitive abilities (e.g. mental disability, old age)
  • Adjusted Generation  according to the user’s satisfaction
  • Emotional generation based on user personal problems (e.g. rape, theft, assault, breaking, suicide…)

Chat Bots, Conversational Apps, Invisible Apps, Platforms Bots…What business plan?

The year 2016 is the conversational app year. Indeed, before the announcement of Facebook M scheduled for April 2016, many startups are already positioned.

There are conversational apps focused on shopping (Assist,  KipiAdvize…), travel organization (GoButlerTaylor), news (Quartz), health (Tess), DHR (Tara)…
Many verticals are affected by bot mania. These bots are intended to make life easier for users, but one of the criticisms we can make is that some bots (e.g. Prompt) allow only calibrated interaction as a command line.

It is not surprising to see these chatbots launched on app messaging (Telegram, Line, Facebook, …) or platforms (KikSlackSkype …) to find you the perfect little summer dress, the cheapest flight to Rome or the typical restaurant in Lisbon. Manna is huge for publishers of these bots when their business model would be to take a commission on each sale made or to charge for brands wishing to launch their bot on these platforms.

Brands look favorably bots:

  • First, chatbots are decidedly more customized to the user insofar as the information they refer adapt to the needs without having to change around the interface which is not the case for applications blinds. Finished the time spent to develop apps
  • Second, messaging applications are now more users than social networks. The chatbot can increase the hearing and have a better understanding of customer needs involving more targeted sales.

However, the business around bots on messaging app and platforms must still be determined to become either a dynamic ecosystem or a slump bots. There are two possible perspectives. On the one hand, platforms like Facebook and Slack may decide to play on the verticals (health, travel, news …) such as Chinese WeChat.This gives them many benefits, services will be well integrated with specific language (eg @ to call the basketball game on Facebook Messenger) but this will limit innovation in the field because bots-human interactions will limited by a specific language determined by the platforms. Furthermore, dependence on a platform that can change the operating rules along the way as is the case today with the stores would flee developers in favor of more stable environments. On the other hand, bots as Jam, bots-free-for-all, would bring many innovations because they rely on the free expression of the user involving the development of a natural language understanding technology but there will be many challenges regarding quality of service.

For more information on JAM



CEO: marjolaine@hellojam.fr
CTO: loic@hellojam.fr
CPO: anas@hellojam.fr

There’s more than one side to every story with Trooclick

I test applications using a natural language interface or a natural language technology and I write an article about my experience with it.

This week, I tested Trooclick, a free Opinion-Driven Search Engine.

A New Approach of Opinion Mining with Trooclick’s Opinion-Driven Search Engine

An important part of our information-gathering behavior has always been to find out what other people think. With the growing availability and popularity of opinion-rich resources such as online review sites and personal blogs, new opportunities and challenges arise as people now can, and do, actively use information technologies to seek out and understand the opinions of others. The sudden eruption of activity in the area of opinion mining and sentiment analysis, which deals with the computational treatment of opinion, sentiment, and subjectivity in text, has thus occurred at least in part as a direct response to the surge of interest in new systems that deal directly with opinions as a first-class object.

There are listening platforms identifying a list of articles talking about a brand, a business or a personality and offering opinion analysis tools: SenticNet, Luminoso and Attensity.

The problem with these solutions is that they apply a very wide crawl reporting data without much interest. The completeness of these platforms can be brought into question. Although the approach certainly is of interest in “quantifying” data, we cannot get something out of it in the “qualified” perspective. First, the result is often a hodgepodge of heterogeneous texts, often highly redundant, with little real opinions expressed (hence the category “neutral” as many opinions analysis systems put next to “positive” and “negative”) category has little value in most cases. Finally, eReputation platforms offering a function of “sentiment analysis” do this for the entire document, which quickly becomes unusable when several points of view are expressed in the same document .

Trooclick’s Opinion-Driven Search Engine (beta) uses natural language processing (NLP) technology to gather quotes (Screenshot 1) from online sources of news and opinions – including content from publishers, blogs, and Twitter (soon expanding to radio and TV). After quotes are extracted, the speakers are categorized (categories include executives, analysts, politicians, clients – 16 total).  They then use this data to rank news articles for quality. Unsurprisingly, for a company that emphasizes the importance of different points of view to understand the news, in the Trooclick universe more points of view from more people means a higher ranking. For now they have two ranking criteria active (number of speakers and quote score) with about 30 more in the pipes (Screenshot 2).

Capture d’écran 2015-07-07 à 11.50.36
Screenshot 1
Capture d’écran 2015-07-07 à 11.50.53
Screenshot 2

The software, based on advanced text mining and semantic analysis technologies, performs several tasks:

  • Quality ranking of articles per event
  • extracting quotes and identifying the speaker, the media, the date of the publication
  • classification of the speaker into categories (manager, analyst, customer, employee, etc …)

Still in beta, the Trooclick’s solution is currently only available in the English-speaking media.

Automatic Detection of quotes

Trooclick tracks quotes from news sites and social media. The system identifies quotes in different ways. As a result not only does the site pull up direct quotes like this:

McDonalds will stop serving antibiotic-raised poultry,said McDonalds President, Mike Andres.

…But also indirect ones like this:

Mike Andres, McDonalds President, said McDonalds will stop serving antibiotic-raised poultry.

And some quotes come from opinion columns (“Hopefully chicken is just the start – I hope the Big Mac and McRib will be next”) and analysis (“McDonald’s decision to sell milk produced without rBST was a good step because the growth hormone can cause health problems in dairycows.”)

Automation of Fact-Checking for Journalism

Fact checking is the task of assessing the truthfulness of claims made by public figures such as politicians, pundits, etc. It is commonly performed by journalists employed by news organisations in the process of news article creation. Fact-checking is a time-consuming process » (Vlachos & Riedel 2014).

Journalism is about finding facts, interpreting their importance, and then sharing that information with the audience. That’s all journalists do: find, verify, enrich and then disseminate information. It sounds easy, doesn’t it, observing what is going on, asking questions, uncovering facts and then telling the public what we have discovered. But we are dealing with volatile raw material. Handled carelessly, the facts we uncover, research and present have the power to cause misunderstandings, damage and could, potentially, change the course of history. That’s why it’s essential that we apply robust fact-checking to all our journalism.

But, fact-checking is a time-consuming process. Automating the process of fact checking has recently been discussed in the context of computational journalism (Cohen et al., 2011Flew et al., 2012). Inspired by the recent progress in natural language processing, databases and information retrieval, the vision is to provide journalists with tools that would allow them to perform this task automatically,

One way to solve that problem is by presenting different points of view as Trooclick’s Opinion-Driven Search Engine. There are other solutions in the area of fact-checking such as Truth Teller: this Washington Post initiative transcribes political videos and checks them against a database that draws on PolitiFact, FactCheck.org, and the paper’s own Fact Checker blog. The program then tells viewers which statements are true and which are false. In 2015, the Post plans to annotate videos in real time.

There are also approaches based on crowdsourcing as Fiskkit and Grasswire, a platforms that invites the public to fact-check breaking news stories.

Trooclick’s Opinion-Driven Search Engine is available online on http://trooclick.com

Here a video presentation of Trooclick:

To contact Trooclick

earth Web Site        twitter @Trooclick      mail Email

What do you think about Trooclick’s solution ? Please, don’t hesitate to drop your comments below.

Versus, a comparison engine that shows the differences between things with text

Every week, I test an application using a natural language interface or a natural language technology and I write an article about my experience with this application.

VersusLogoLast week, I tested Versus, a free comparison engine available on Android and the website of the application. Versus is developped by the Berlin’s startup URGE IO.

Comparison shopping engines

We compare all the time and anything to decide which product to buy, which holiday destination to choose, which person to recruit or also to find housing.

Before the development of Internet and the mobile technology, we were going to stores for comparing products in the same category according their price, their technical caracteristics, their dimension, their usability and for buying one of them.

Now, it’s possible to do this tasks from home or outdoor with mobile application. The commercial websites have implemented some functionalities (e.g. shopping basket) to facilitate the buying decision process. Because the user interface is intuitive, the user is able to quickly search his product, pay and confirm the order, which arrives within a matter of days. The commercial websites have adapted the shop surroundings to the numeric with solutions such as ontologies (e.g. Ding, Fensel, Klein, Omelayenko & Schulten, 2003) for representing the supermarket shelves, conversational agents (e.g. Anna on Ikea website, Nina of Nuance, see also the article of Lester, Branting & Mott, 2004) and search engines (e.g. Inbenta) as a substitutes of the seller.

Some commercial websites have an overabundant offer for the user. So, the challenge of comparison engines is to assist the user in determining which product is better according to his personal use, as a seller would do in store. More than eight out of ten users of commercial websites compare the product by price, 50% the comments of people and 45% the technical caracteristics of the product according a study of Click IQ in 2012.

There are many comparison engines. Some are specialized in an area (e.g. Kayak compares the airline tickets by price, duration, times of departure and return), some engines compare according only one criteria (e.g. price comparison engines like Google Shopping or Twenga). Finally, some engines allow to compare products in many areas and according many criterias like findthebest and Versus.

What Versus brings more?

According Versus, the other comparison engines reckons that they often suffer from what the company describes as “the same confused and uninviting data dump approach”. Versus aims to present results more clearly with a better user interface (screenshot 1) and a NLP technology that summarizes the informations (screenshot 2), translates the differences with specific adverbs (screenshot 3) and explains why the criteria is pro with world knowledge (screenshot 4).

Screenschot 1
Screenshot 2
Screenshot 3
Screenshot 4

The use of Versus is simple. A user simply searches for two cities, as Paris vs London, using the provided text boxes. Versus compares the two cities based on a list of criteria (weather, demography, number of museums etc.) presented in an easy way to understand. Versus compares absolute datas like numbers or finite answers (yes or no) obtained by closed questions.

What is particularly astute on Versus IO is that you can compare the products that are not like-for-like. How to compare the iPhone 5 with a Canon camera, for example? It is more useful than it may seem at first – many people want to know if it is worth buying a point-and-shoot when the camera in their phone is good enough for many circumstances.

Currently, Versus is able to compare mobile phones, cameras, tablets, headphones, messaging apps, weather apps, graphics cards, pc and gaming headsets, sport watches, cities, monitors, game consoles, e-readers and universities. Versus is already available in 18 languages (e.g. english, french, german, japanese, etc.).

Some suggestions

Versus illustrates the fact that the differences between things are better showed with a text than a table as does findthebest (screenshot 5). Maybe it’s why Versus is skyrocketing showing an average growth of 35% per month.

Capture d’écran 2014-05-11 à 18.48.28
Screenshot 5

However, the application would be even more effective on mobile:

  • Personalized comparison

Versus does not include personalized comparison which is considered by FindTheBest using filters. Currently, Versus assumes a thin device is better without wondering what is the need of user. The comparison is always according to personal criteria. If we compare two smartphone it’s to know which is the cheapest, lightest or fastest. Versus lists the differences without allowing the user to sort them according his personal criteria. An appropriate functionality to the mobile would be to have a single search box and/or a speech recognition technology with a linguistic analysis engine to understand what the user wants to compare (e.g. “What are the mobiles with 4G running Android?”). We have the informations (screenshot 6), why do not use them into a linguistic analysis engine?

Screenshot 6

It would be even possible to make comparisons on usage based. Everybody has not the appropriate technical vocabulary for comparing products. Rather than comparing incomprehensible technical specifications, the user could simply indicate his personal use (e.g. “I navigate on the web and I watch videos”) and the comparison engine could list some mobiles with 4G, a screen resolution of 240×320, a diagonal measurement of 2,5 inches for the comfort. See Wepingo, an e-commerce engine that identifies the need of user with some questions.

  • Comparison of user comments

As we said, 50% of the users compare the comments of people. The comparison of these comments could allow to obtain non available informations like the datas about user experience (e.g. the security of an university, the quality of an after-sales service, etc.). This requires reflection on understanding the altered language containing misspellings, abbreviations, emoticons. A survey about the different types of noise that might affect text mining is in (Subramaniam & al., 2009), while an analysis of how noise phenomena, commonly occurring in blogs, affect an opinion mining application is in (Dey and Haque, 2009). Concerning spelling correction literature, there is many works based on word similarity measures, such as the edit distance (Mitton, 1995), anagram hashing (Reynaert, 2006), and semantic distance based on WordNet (Hirst and Budanitsky, 2005)

  • Generation of comparative descriptives

For more comprehension, it would be possible to generate comparative descriptives entirely (see approaches en natural language generation, Reither & Dale 2000) as if they have written by a human. How? what approach to obtain a result as below?

“Part of the reason for the size differences is just how heavily the screen dominates each handset. As with nigh-on all modern smartphones, the screen is very much the focal feature.
The iPhone 5S comes with a 4-inch Retina display; a 1136 x 640 resolution resulting in 326ppi. Opting for a ‘bigger is better’ mantra, the Galaxy S4 comes with a 5-inch Full HD Super AMOLED display meaning a 1920 x 1080 resolution and a massive 441ppi.
This added screen real estate means that it perfect for watching movies, or for playing one of the many games that grace the Google Play Store. Being Super AMOLED as well means that colours come highly saturated, although this can be toned down within the settings menu.
There are many that continue to mock Apple for not (yet at least) building a larger iPhone, but equally there are many that feel larger devices are less suited to making phone calls and also doing things like browsing the web more easily with one hand.
Whilst those looking or serious mobile gaming devices might assume the Galaxy S4 is the better choice, they shouldn’t completely write off the iPhone, as even the smaller screen size doesn’t spoil the fact it’s excellent at graphical reproduction” (Source).

I think the combination of a motor language analysis to understand user needs and a motor for generating comparative adapted to the needs is the key to a powerful comparison engine. Personalization is very important in this case!


earth Facebooktwitter

Indigo, a personal assistant really intelligent

Every week, I test an application using a natural language interface or natural language technology and I write an article about my experience with this application.


Last week, I tested Indigo, a free personal assistant for smartphone, tablet and computer.

Personal assistant

A personal assistant is a person who helps someone in a variety of life management tasks on various domains. For example, arranging travel (purchasing airline tickets, reserving hotel rooms, finding directions), shopping (shopping list, meal planning) or health (exercice monitoring and motivation). But having a such personal assistant is expensive!

There is a less expensive solution: an intelligent software assistant. The purpose of an intelligent software assistant is to help people be more efficient in their daily tasks with approaches in artificial intelligence.

Intelligent software assistants have become a major business opportunity with the need for computers to better understand their users in order to customise information. Reseach and Markets profiles 17 companies operating in the intelligent personal assistants arena worldwide like Apple (Siri), Google (Google Now), Microsoft (Cortana), Samsung (S Voice), Creative Virtual (V-Person).

ArtificialSolutionsLogoIn this article, I present Indigo, a free intelligent software assistant developped by the company Artificial Solutions. What can do Indigo? is it easier to use? Where can use Indigo?


Indigo is a cross-platform software assistant

Indigo is available on iPhone and iPad, on Android and Windows Phone 8 device unlike the famous software assistants like Siri and Google Now. The query understanding is made over a connection at a server. So, it’s necessary to be connected to a WiFi network to use Indigo. On some occasions like in the subway, an embarked solution would be more useful because there is not always WiFi network available.

Indigo manages pre-installed apps

Indigo manages pre-installed apps such as contacts, weather, maps, calendars, reminders and alarms as well as composing and sending texts, updating Facebook and sending tweets; all through the power of voice or written.

Why Indigo is really intelligent

Indigo is able to take account some linguistic and contextual difficulties:

  1. The software assistant identify the missing informations when I added an event into the calendar (screenshot 1, 2 and 3)
photo 2
Screenshot 1
photo 3
Screenshot 2
photo 4
Screenshot 3
  • Indigo understands inference as is show by screenshot 4.

From a sentence (e.g. I want to watch a movie), the application is able to infer a need (e.g. searching a cinema).

photo 29
Screenshot 4

Indigo remembers the subject (e.g. the president of Italy) and is able to associate it with an anaphoric pronoun (e.g. his).

photo 31
Screenshot 5
photo 32
Screenshot 6

The software is also able to do that with a coordination (screenshot 7 and 8).

photo 39
Screenshot 7
photo 40
Screenshot 8
  • Indigo takes into account the contextual informations (screenshot 9 and screenshot 10)
Screenshot 9
Screenshot 10

Indigo uses external applications for some specific requests

When the request concerns a place, Indigo uses the categories of places of Yelp. So, the software assistant understands request about restaurants, clothing stores, DIY stores, nightclub…). Moreover, it’s also possible to find a restaurant according to information provided by Yelp like the distance (e.g. search the nearest restaurant), the opening days (e.g. search a restaurant opened monday), the reviews (e.g. search the best restaurant), the characteristics of restaurant (e.g. search a restaurant with terrace).

Concerning the requests about general knowledge (screenshot 11), Indigo uses the Wolfram engine. Wolfram is a computational knowledge engine that generates output by doing computations from its own internal knowledge base. So, for example, you can request to Indigo to compare banana and apple.

Screenshot 11

Here, Indigo via Wolfram, proposes a list of dietary characteristics. Wolfram is more effective than search engine because it can compare the information to provide a single answer instead of a list of links (screenshot 12).

Screenshot 12


Some suggestions

  • Using Indigo without Wifi network or internet connection
  • Indigo understands abbreviations for conversions (e.g. convert 15 kg into gr) but it would be nice to extend it to any kind of query (e.g. search a rest [for restaurant] with terrace, what time is it at LA). For that, see a based approach on local grammar (Bsiri, Geierhos and Ringlstetter) and tools for building local grammaires in multiple language (Unitex, Nooj)
  • Some scenarios of daily life are not taken into account as seek a recipe or a tv program (for the later, see the french application assistanTV)
  • As we have seen, Indigo via Wolfram is able to find a definite answer from a single source. In the future, it would be even more ambitious summarize various sources of information to take into account more complex questions such as “what are the techniques to open a locked door”.

Personally, I’ll keep this software assistant among my iPad applications because it is really intelligent, is more efficient than a search engine because it provides an single reply and facilitates the implementation of daily tasks such as adding a new event in the calendar.
However, Indigo and other software assistants, does not meet all the needs of daily life. For example, I love to cook but I hate wasting time to find a recipe because usually I’m already hungry. At the same time, I think special requests are best handled by dedicated applications. So, I’m looking of such application for a next app review!


Here a video presentation of the application:





Discover, Read, Share & Collect quickly with Reverb

Every week, I test an application using a natural language interface or natural language technology and I write an article about my experience with this application.

ReverbLogoLast week, I tested Reverb, a free news aggregator for iPad. How Reverb meets challenges of news aggregation?

News Recommander Systems

Before to answer at this question, it is necessary to present briefly the news recommendation problem.

The amount of available data on internet has considerably increased and has led to the problem of information overload. Recommender systems try to tackle this issue by offering personalized suggestions. News recommendation is an application of such systems. “The online reading practice leads to the so-called post-click news recommendation problem: when a user has clicked on a news link and is reading an article, he or she is likely to be interested in other related articles. This is still a typical editor’s task, namely an expert who manually looks for relevant content and builds a recommendation set of links, which will be displayed below or next to the current article. News recommender systems attempt to automate such task. Current strategies can be clustered into 3 main categories, namely (a) collaborative filtering focuses on the similarities between users of a service, thus relying on user pro-files data, (b) content-based recommendation that leverages term-driven information retrieval techniques to compute similarities between items, and (c) knowledge-based recommendation mines external data to enrich item descriptions” [Fossati, Giuliano & Tummarello 2012].

I think the application Reverb uses the strategie (b).

Reverb is personnalized

During the first experience, I added my interests on a Word Wall (screenshot 1) like “Natural Language Processing”, “Semantics, Linguistics”, “Machine Learning” simply by writing them (screenshot 2). Then,  Reverb created a tailored feed based on my personal interests.

photo 1
Screenshot 1
photo 6
Screenshot 2

The Word Wall, a technology developped by Reverb, adapts itself according my use. For example, if I read more articles about Machine Learning, this interest comes on the beginning of the Word Wall.

Reverb is simple

With just a tap on an interest, I can read related articles (screenshot 3). By interest, the  articles are organized by chronology and by thematic. For example, in the interest “Natural Language Processing”, Reverb proposes some related interests like “Information Extraction”. It is also possible to accede at related news by an article (screenshot 4).

photo 3
Screenshot 3
photo 4
Screenshot 4

Personally, I’ll keep this news-reading among my iPad applications because the interface gives me the freedom to discover news quickly with the Word Wall and the articles organisation by interests (i.e. Natural Langage Processing) and sub-interests (i.e. information extraction).

Some suggestions

  • Keep the links of the articles on the web to access directly at the website of a company for example
  • Delete the articles which talk about the same news (see approaches of measuring semantic similarity of texts, for example the Latent Semantic Analysis Landauer, Foltz, & Laham (1998))
  • A functionality that summarizes a recurrent news like sport results (see approaches of automatic summarization, Radev, McKeown & Hovy 2002)

Reverb is available on the App Store.

Here a video presentation of the application:








What do you think about the app? Don’t hesitate to drop your comments below.