What are the language understanding capacities of Infermedica’s NLP?

Infermedica's NLP engine attempts to capture mentions of symptoms and risk factors that are present in our Medical Knowledge Base.

The engine is able to capture symptoms communicated in different forms, like “my leg hurts”, “leg ache”, “painful leg” — these all refer to pain in the lower limb. The engine was built with the needs of regular users in mind. It will work much better for patients reporting their complaints rather than EHR notes or patient vignettes.

We’ve made efforts to let the users be understood despite usage of non-standard language and typos. Still, the highest accuracy is to be expected for simple mentions of individual symptoms or several symptoms in simple phrases such as “sore throat and dry cough”

The engine is usually able to spot negated mentions (“I don’t have headache”, “no leg pain”, “the patient denies diarrhea”). It is, however, not well fitted to handle more complex stories, hypothetical or past observations (as in “I was prescribed Tylenol for my headaches and now I have only stomach ache”). The user messages should only focus on current complaints and communication around tools like a chatbot should encourage that.

Some concepts are not (yet) in our Medical Knowledge Base and, as such, will not be captured by the NLP Engine. Also, due to the ambiguity of natural languages and the endless spectrum of possible language expressions that may be used to convey an idea, we cannot guarantee that the recognition will be 100% accurate.

For this reason, one of the good practices is asking users to confirm their symptoms.

ARa, AKw