Skip to main content
added 1539 characters in body
Source Link

I am building an industry classifier. I.e. classifying companies into industries based on a company's description. Each company can only have one industry.

I took 2000 companies and assigned them into 15 industries. Then I trained a few models based on the company's description. All of them performed extremely bad.

So I wanted to get more data (indicated by the learning curves), i.e. more companies. But getting the classification right is difficult. Thus, I decided to try a simple similarity calculation.

For each industry I select words that fit best to this industry. Then I calculate the similarity between each industry and a new company and select the one that fits the best.

For the three industries I tested it worked great. But I am unsure if this will makes sense down the road. I think that the similarity approach is great because:

  • I can clearly define (from a business perspective) what is what
  • It scales nicely

Can anybody tell me if this approach makes sense? All other classification system are build using some model, so I am unsure.

EDIT: I want to build an industry classifier that can classifier "all" existing companies. By all I mean companies that fit the NACE industries (NACE is the industry standard classification system used in the European Union)

The 2000 companies that I used are arbitrary. They do not represent all the industries from NACE. The 15 industries I ended up with are mostly based on NACE. However, I grouped some of them together. Also I made up some industries based on the most frequent keywords across certain companies (sometimes that is very obvious. Example: "dating companies" like Tinder).

The company descriptions come directly from the company (mostly parsed from their website).

I have tried to cluster the companies but I didn't find any combination of clusters that make sense based on NACE.

Yes, I have filtered stopwords (and applied other normalization such as only keeping text characters and stemming).

Regarding objectivity (thanks to @skiddles): I think this is actually another pro-argument for similarity. If I extract all the keywords that are used to describe the industries in the NACE specification I end up (it seems) with at least one recognized standard.

So, I believe, my question should be: I have 20 industries. Each industry is described with 100 distinct words. I get a new company with a description. The words of this company description can be found in the descriptions for the industries. Should I classify the companies into industries based on similarity or use a classification model?

I am building an industry classifier. I.e. classifying companies into industries based on a company's description. Each company can only have one industry.

I took 2000 companies and assigned them into 15 industries. Then I trained a few models based on the company's description. All of them performed extremely bad.

So I wanted to get more data (indicated by the learning curves), i.e. more companies. But getting the classification right is difficult. Thus, I decided to try a simple similarity calculation.

For each industry I select words that fit best to this industry. Then I calculate the similarity between each industry and a new company and select the one that fits the best.

For the three industries I tested it worked great. But I am unsure if this will makes sense down the road. I think that the similarity approach is great because:

  • I can clearly define (from a business perspective) what is what
  • It scales nicely

Can anybody tell me if this approach makes sense? All other classification system are build using some model, so I am unsure.

I am building an industry classifier. I.e. classifying companies into industries based on a company's description. Each company can only have one industry.

I took 2000 companies and assigned them into 15 industries. Then I trained a few models based on the company's description. All of them performed extremely bad.

So I wanted to get more data (indicated by the learning curves), i.e. more companies. But getting the classification right is difficult. Thus, I decided to try a simple similarity calculation.

For each industry I select words that fit best to this industry. Then I calculate the similarity between each industry and a new company and select the one that fits the best.

For the three industries I tested it worked great. But I am unsure if this will makes sense down the road. I think that the similarity approach is great because:

  • I can clearly define (from a business perspective) what is what
  • It scales nicely

Can anybody tell me if this approach makes sense? All other classification system are build using some model, so I am unsure.

EDIT: I want to build an industry classifier that can classifier "all" existing companies. By all I mean companies that fit the NACE industries (NACE is the industry standard classification system used in the European Union)

The 2000 companies that I used are arbitrary. They do not represent all the industries from NACE. The 15 industries I ended up with are mostly based on NACE. However, I grouped some of them together. Also I made up some industries based on the most frequent keywords across certain companies (sometimes that is very obvious. Example: "dating companies" like Tinder).

The company descriptions come directly from the company (mostly parsed from their website).

I have tried to cluster the companies but I didn't find any combination of clusters that make sense based on NACE.

Yes, I have filtered stopwords (and applied other normalization such as only keeping text characters and stemming).

Regarding objectivity (thanks to @skiddles): I think this is actually another pro-argument for similarity. If I extract all the keywords that are used to describe the industries in the NACE specification I end up (it seems) with at least one recognized standard.

So, I believe, my question should be: I have 20 industries. Each industry is described with 100 distinct words. I get a new company with a description. The words of this company description can be found in the descriptions for the industries. Should I classify the companies into industries based on similarity or use a classification model?

Source Link

Use text similarity (cosine) instead of machine learning to classify companies into industries

I am building an industry classifier. I.e. classifying companies into industries based on a company's description. Each company can only have one industry.

I took 2000 companies and assigned them into 15 industries. Then I trained a few models based on the company's description. All of them performed extremely bad.

So I wanted to get more data (indicated by the learning curves), i.e. more companies. But getting the classification right is difficult. Thus, I decided to try a simple similarity calculation.

For each industry I select words that fit best to this industry. Then I calculate the similarity between each industry and a new company and select the one that fits the best.

For the three industries I tested it worked great. But I am unsure if this will makes sense down the road. I think that the similarity approach is great because:

  • I can clearly define (from a business perspective) what is what
  • It scales nicely

Can anybody tell me if this approach makes sense? All other classification system are build using some model, so I am unsure.