<p>Have a look at Named Entity Recognition (NER); these algorithms are mainly concerned with recognising that there is an entity, but often also include normalising the name to a canonical form for information retrieval -- this is what you would need.</p>
<p>In a previous job I actually implemented this, using a fuzzy match with variable word order. You would still need to map <em>Corp</em> and <em>Corporation</em> onto each other as exchangable, and deal with acronyms, but that should be tractable.</p>

CC BY-SA 4.0
2021-09-15T10:36:32.960Z
2021-09-15T10:36:32.960Z
Oliver Mason
<p>I am trying to solve a problem where I need to map multiple variations of a company name to a single name. For example: say I have a company named <code>Super Idea Corporation Limited</code>.</p>
<p>I need to resolve the following to <code>Super Idea Corporation Limited</code></p>
<ul>
<li>SICL</li>
<li>Super Idea Corp Ltd</li>
<li>SIC Ltd</li>
<li>SIC Limited</li>
</ul>
<p>Is there a non regex way of doing this? The reason I am averse to using regex is that there are a lot of business names that can be represented in many different ways. I want something that is more flexible and adaptive.</p>

CC BY-SA 4.0
2021-09-15T01:13:27.517Z
Can you explain how this question is related to Artificial Intelligence, as defined in our on-topic page (https://ai.stackexchange.com/help/on-topic)?
nbro
CC BY-SA 4.0
2021-09-15T02:48:26.197Z
@nbro, I am not very well researched on NLP. Asked here to see if there is any work done NLP-wise on this particular kind of problem. Hence the tag.
Clock Slave
<natural-language-processing><python>
Identify whether two companies are the same
Clock Slave
# Identify whether two companies are the same

(Asked by: username_0 on 2021-09-14)

I am trying to solve a problem where I need to map multiple variations of a company name to a single name. For example: say I have a company named `Super Idea Corporation Limited`.

I need to resolve the following to `Super Idea Corporation Limited`

* SICL
* Super Idea Corp Ltd
* SIC Ltd
* SIC Limited

Is there a non regex way of doing this? The reason I am averse to using regex is that there are a lot of business names that can be represented in many different ways. I want something that is more flexible and adaptive.

**Tags:** natural-language-processing, python

> **Comments:**
> **username_1**: Can you explain how this question is related to Artificial Intelligence, as defined in our on-topic page (https://ai.stackexchange.com/help/on-topic)?  
> **username_0**: @username_1, I am not very well researched on NLP. Asked here to see if there is any work done NLP-wise on this particular kind of problem. Hence the tag.  

---

## 1 answers

### Answer by username_2 on 2021-09-15. Score: 1

Have a look at Named Entity Recognition (NER); these algorithms are mainly concerned with recognising that there is an entity, but often also include normalising the name to a canonical form for information retrieval -- this is what you would need.

In a previous job I actually implemented this, using a fuzzy match with variable word order. You would still need to map *Corp* and *Corporation* onto each other as exchangable, and deal with acronyms, but that should be tractable.


---

