dushkindigital / marketmap

New, clean repo for Shekhar
2 stars 0 forks source link

Map Category enum with ebay categoryId #5

Open shekhargulati opened 12 years ago

prp commented 12 years ago

Hi Shekhar,

Can you describe this problem in more detail, so we can decide how to sort this out? Thanks.

Cheers, Peter

pdushkin commented 12 years ago

Hi Peter,

I think Shekhar is referring to the category mappings, or lack thereof. Right now the Libereco category enum does not lto point to the correct eBay category ID when the listing is submitted. This question is slated to be resolved under the "Simplified Taxonomy Mappings" section of the project plan. I have also provided Shekhar with a lengthily explanation of our intended solution to this problem during our email exchanges last week. He has posted my response here;

https://github.com/dushkindigital/marketmap/issues/33

@Shekhar, am I correct that this is what you are referring to?

Thanks, Peter

prp commented 12 years ago

Right, that's what I thought. What confused me is why there were two issues in GitHub regarding this.

Cheers, Peter

On 18 Jun 2012, at 03:21, "pdushkin" reply@reply.github.com wrote:

Hi Peter,

I think Shekhar is referring to the category mappings, or lack thereof. Right now the Libereco category enum does not lto point to the correct eBay category ID when the listing is submitted. This question is slated to be resolved under the "Simplified Taxonomy Mappings" section of the project plan. I have also provided Shekhar with a lengthily explanation of our intended solution to this problem during our email exchanges last week. He has posted my response here;

https://github.com/dushkindigital/marketmap/issues/33

@Shekhar, am I correct that this is what you are referring to?

Thanks, Peter


Reply to this email directly or view it on GitHub: https://github.com/dushkindigital/marketmap/issues/5#issuecomment-6386931

pdushkin commented 12 years ago

Agreed, it is confusing. Shekhar, maybe we can merge the two?

shekhargulati commented 12 years ago

The two issues are about category mapping but their context is different. This issue is about coming up with the solution for first version. By mapping Category enum that we have with category id. The issue https://github.com/dushkindigital/marketmap/issues/33 was a question that I had in mind about the proper fix for category mapping. I use question label for issues which are things I need clarification on.

So, I would say lets keep them different.

prp commented 12 years ago

By the way, I added a new label for issues that we want to discuss at our next call. Please use it if you want to flag anything.

Cheers, Peter

On 19/06/2012 17:23, Shekhar Gulati wrote:

The two issues are about category mapping but their context is different. This issue is about coming up with the solution for first version. By probably mapping Category enum that we have with category id. The issue questions https://github.com/dushkindigital/marketmap/issues/33 was a question that I had in mind about the proper fix for category mapping. I use question label for issues which are things I need clarification on.


Reply to this email directly or view it on GitHub: https://github.com/dushkindigital/marketmap/issues/5#issuecomment-6429902

shekhargulati commented 12 years ago

I spent some time figuring out how to map ebay categories with libereco category so that we can specify the correct categoryId while making request. I looked at the API and found out that there is an API to fetch all the categories Ebay support. The number of categories came out to be 1811. The enum constants that we have are 9.So, for first version I have used the best possible categoryIds and mapped them to enum constants. You can view all the ebay categories at https://github.com/dushkindigital/marketmap/blob/master/web/src/test/resources/ebay-category-listing.log. I would like to hear your thoughts on it.

pdushkin commented 12 years ago

Hi Shekhar, i think this is what you were referring to during our call? I like that we have API level access to the full eBay categories - good find! However, I have some questions: 1) How are you determining the nodes you selected? 2) How are libereco users selecting the category path or are you creating a path based on a single category selection? 3) How are you intending to map the category relationships between the various marketplaces? 4) How is the approach you are suggesting more advantageous than copying the full eBay category listing and mapping Etsy and Amazons category paths to it?

Thanks Shekhar.

Cheers, Peter D

shekhargulati commented 12 years ago

Honestly speaking I don't have any answers to the questions you posted. The approach that I listed in comment above is just using the top level categoryIds(ebay category id) corresponding to the value selected from the drop down by the user in our application. I think it is just a hack and we need to think about proper solution. The LiberecoListing currently support only 9 generic values and we have to map them to 1811 categoryIds ebay support. To me it looks like a machine learning problem which we can solve using classification and clustering algorithms. The proper fix will require time and effort as I am not very proficient in machine learning.We need to have some training data which we can use in classification. The approach you suggested will also work but that would require lot of manual work in mapping 1800 ebay categories with categories from etsy and amazon. We also need to change our current LiberecoListing design as it just have one enum named category with 9 values. If we have to take this approach then we also have to show user these many categories probably by means of sub categories. For example we will first ask if it is a mobile or a book and if he/she selects book then we will show book sub categories and if he/she select mobile then mobile sub categories. What are your thoughts on it?

pdushkin commented 12 years ago

Yes, exactly. Agreed on all counts. We have two options:

1) Automated ontology mapping / merging

Peter P and I spent a good deal of time on this already. We worked with another engineer on automating this process. It works using crawlers to download a marketplace's taxonomy as an XML file. The file is then translated into OWL syntax and then merged with those of the other marketplaces, creating a master libereco category tree. This part of the project lives in a different repository on github. We elected to table development until the minimum viable product was completed, then revisit it and complete the automated logic.

2) Manual mapping.

Unfortunately manual mapping is tedious but it is more achievable in the near-term. Accordingly (and, to your point) we need a few things:

a) To use the eBay API to reflect its full category tree on the client b) To design the client so it is able to queue category selections until a final path is selected c) To store the manually mapped marketplace category associations in the database (for Etsy and Amazon).

Next Steps

The next step is for item 2.c. to be completed. This is going to require a good deal of very low-skill manual effort. I am thinking that the usability tester that we bring on should be open to doing this. I am in the process of creating the listing (I'll send it to you for edits before I post it). Once the mapping is done, we will need you (or possibly our usability tester if he is technical enough) to add the results to the database and then update our GUI so the eBay categories can be selected.

Let me know if the above sounds reasonable to you.

pdushkin commented 12 years ago

I have added the job listing for the UX Test Engineer position. Take a look when you have a moment and make edits where you feel appropriate. Once completed, I will post to University and online job boards. Please don't spend too much time with this - post here with suggestions if you'd like me to make the edits.