# How to extract characteristics from text using machine learning?

I would like to develop some kind of model/algorithm that allows me to extract the characteristics of a given product name. (let's say the brand, model and color).

I am looking for a solution similar to the one offered by MonkeyLearn and its model Laptop Feature Extract.

For example:

Given the item "Apple iPhone 6s, 64GB Silver", It should compute:

{
brand: "iPhone",
model: "6s",
capacity: "64Gb",
color: "Silver"
}


Any suggestions will be appreciated. Thank you.

What you need to look for is called "Named Entity recognition". From Wikipedia

Named-entity recognition (NER) (also known as entity identification, entity chunking and entity extraction) is a subtask of information extraction that seeks to locate and classify named entity mentions in unstructured text into pre-defined categories such as the person names, organizations, locations, medical codes, time expressions, quantities, monetary values, percentages, etc.

There are already trained models for that, but most of them are for generic usage. For example in Python

import spacy

doc = nlp('European authorities fined Google a record $5.1 billion on Wednesday for abusing its power in the mobile phone market and ordered the company to alter its practices') print([(X.text, X.label_) for X in doc.ents])  The output is [('European', 'NORP'), ('Google', 'ORG'), ('$5.1 billion', 'MONEY'),