Answers.Body: <p>Take a look at using a <em>skip gram model</em> to find what the abbreviated text is. The skip gram model turns a word into a vector, which allows it to be processed by other machine learning algorithms. Or, alternatively you can do some really cool addition and subtraction problems with the resulting vectors. With the skip gram model in your case you could generate a vector for your input and then compare it with other skip gram vectors and once you have found a near perfect match then that is the unabbreviated word.</p>
  <p>You could also look at using sparse distributed representations of words to do this. This approach is similar to the skip gram model except that instead of a vector with maybe 500 values a sparse representation may contain thousands of binary digits of which only a couple are positive or 1.</p>
  <p>If you would like to look at this approach take a look at cortical.io which has free API that you can use.</p>
  <p>So, you could use a deep neural network in combination with the skip gram model to produce your output.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-03-07T16:39:36.750Z
Answers.Text: Thank you, Aiden! This sounds like a good starting point to try to solve this problem.
Answers.UserDisplayName: Neo_999
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2017-03-07T02:19:35.290Z
Answers.LastActivityDate: 2022-05-19T08:27:28.390Z
Answers.LastEditDate: 2022-05-19T08:27:28.390Z
Answers.UserDisplayName: Aiden Grossman
Body: <p>I want to write a program that looks at abbreviated words, then figures out what the words are. For example, the abbreviation is "blk comp", and the translation is "black computer". </p>
  
  <p>In order to give it context for more ambiguous terms, I will be inputting sets of words with each request. So, if I input the set "keyboard, software, mouse, monitor", I would expect to get "black computer". On the other hand, if I input "Honda, transmission, mileage, Ford", I then would expect to get "black compact", or at least something that has anything to do with cars. </p>
  
  <p>Basing on the above case scenario, what kind of an algorithm should be applied in this case?</p>
  
Tags: <natural-language-processing><algorithm-request>
Title: Which algorithm can I use to convert abbreviated words to the original ones?
UserDisplayName: Neo_999
ThreadText: # Which algorithm can I use to convert abbreviated words to the original ones?
  
  (Asked by: username_0 on 2017-03-06)
  
  I want to write a program that looks at abbreviated words, then figures out what the words are. For example, the abbreviation is "blk comp", and the translation is "black computer".
  
  In order to give it context for more ambiguous terms, I will be inputting sets of words with each request. So, if I input the set "keyboard, software, mouse, monitor", I would expect to get "black computer". On the other hand, if I input "Honda, transmission, mileage, Ford", I then would expect to get "black compact", or at least something that has anything to do with cars.
  
  Basing on the above case scenario, what kind of an algorithm should be applied in this case?
  
  **Tags:** natural-language-processing, algorithm-request
  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_1 on 2017-03-07. Score: 2 | Accepted answer
  
  Take a look at using a *skip gram model* to find what the abbreviated text is. The skip gram model turns a word into a vector, which allows it to be processed by other machine learning algorithms. Or, alternatively you can do some really cool addition and subtraction problems with the resulting vectors. With the skip gram model in your case you could generate a vector for your input and then compare it with other skip gram vectors and once you have found a near perfect match then that is the unabbreviated word.
  
  You could also look at using sparse distributed representations of words to do this. This approach is similar to the skip gram model except that instead of a vector with maybe 500 values a sparse representation may contain thousands of binary digits of which only a couple are positive or 1.
  
  If you would like to look at this approach take a look at cortical.io which has free API that you can use.
  
  So, you could use a deep neural network in combination with the skip gram model to produce your output.
  
  > **Comments:**
  > **username_0**: Thank you, username_1! This sounds like a good starting point to try to solve this problem.  
  
  ---
  
  