# NLP: Information extraction

I need to extract product names from a text column in a dataset. Currently I'm using regular expressions to extract the product names from the middle of the text, but sometimes the product name is misspelled, incomplete or even amended in another word, which means that I am unable to identify and extract the product name.

We currently have around 1500-2000 products on that list and I have a data set with those products already identified from approximately 30,000 lines. Is there an approach that I can use this historical data to improve the identification of products that have not yet been identified?

Just an example:

The product X produced by the Company Y is used to treat skin diseases


Note: The product names doesn't appear in a fixed position.

• String similarity measures would be an option, but it would probably require too much computation time to compare every subsequence of a sentence against every candidate name. A possible idea in this somewhat related question. Dec 19 '20 at 0:27