Body: <p>I'm building a web application that collects <a href="https://schema.org/" rel="nofollow noreferrer">schema.org</a> data from different webshops as Amazon, Shopify, etc. It collects data every 6h and shows the current and lowest price. It is used for monitoring products and buying at the lowest price.</p>
  
  <p>My goal is to <strong>recognize products from different shops as the same product.</strong> Every shop has its own title for the same product. </p>
  
  <p>Example: </p>
  
  <pre><code>Google Pixel 2 64GB Clearly White (Unlocked) Smartphone 
  Google Pixel 2 GSM/CDMA Google Unlocked (Clearly White, 64GB, US warranty) 
  </code></pre>
  
  <p>Problems:</p>
  
  <ol>
  <li>don't have a lot of data (only products chosen by the user)</li>
  <li>needs to support every new product that app doesn't have data history</li>
  </ol>
  
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2019-05-12T21:36:04.747Z
Comments.Text: "needs to support every new product that app doesn't have data history", to obtain this, you will have to build a model that is able to _generalise_. To do this, you might need to use a _regularisation technique_. Furthermore, if you don't have a lot of data, then you likely don't want to use a very complex model. Is your data labelled?
Comments.UserDisplayName: nbro
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2019-05-12T22:00:26.190Z
Comments.Text: yes and yes. I have data only of the product/site that user add to the app. I have labeled data as on shema.org: title, rating, price, etc. Any ideas?
Comments.UserDisplayName: Mr.Code
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2019-05-12T22:03:22.590Z
Comments.Text: You could try to use an SVM. You train it to predict the label of each product in the training set and validate the results on validation dataset. Given you have only a small amount of data, I would use cross-validation. Have a look at it. If SVM doesn't produce decent results on the validation dataset, then you likely will need more data or you could try to use another model.
Comments.UserDisplayName: nbro
Tags: <machine-learning><datasets><similarity>
Title: String matching algorithm for product recognition
UserDisplayName: Mr.Code
ThreadText: # String matching algorithm for product recognition
  
  (Asked by: username_0 on 2019-05-12)
  
  I'm building a web application that collects schema.org data from different webshops as Amazon, Shopify, etc. It collects data every 6h and shows the current and lowest price. It is used for monitoring products and buying at the lowest price.
  My goal is to recognize products from different shops as the same product. Every shop has its own title for the same product. 
  Example: 
  Google Pixel 2 64GB Clearly White (Unlocked) Smartphone 
  Google Pixel 2 GSM/CDMA Google Unlocked (Clearly White, 64GB, US warranty) 
  
  Problems:
  
  don't have a lot of data (only products chosen by the user)
  needs to support every new product that app doesn't have data history
  
  **Tags:** machine-learning, datasets, similarity
  > **Comments:**
  > **username_1**: "needs to support every new product that app doesn't have data history", to obtain this, you will have to build a model that is able to _generalise_. To do this, you might need to use a _regularisation technique_. Furthermore, if you don't have a lot of data, then you likely don't want to use a very complex model. Is your data labelled?  
  > **username_0**: yes and yes. I have data only of the product/site that user add to the app. I have labeled data as on shema.org: title, rating, price, etc. Any ideas?  
  > **username_1**: You could try to use an SVM. You train it to predict the label of each product in the training set and validate the results on validation dataset. Given you have only a small amount of data, I would use cross-validation. Have a look at it. If SVM doesn't produce decent results on the validation dataset, then you likely will need more data or you could try to use another model.  
  
  ---
  
  ## 0 answers
  
  