-
Notifications
You must be signed in to change notification settings - Fork 15
The "Add This Product" button is wrongly actionable on Walmart shopping cart page when the cart has saved items #181
Comments
@erikrose Thoughts on how to handle this? |
How are you testing to see whether Add This Product should be actionable? One idea is to improve that. The other, which I bet I'll like better once I know the answer to my question, is to make the price detection better. You're getting the right image, after all. I'll see what I can do. |
It should be actionable when the user is viewing a product page on a shopping website that features one primary product to purchase. Shopping carts and other pages that feature multiple products in equal proximity to each other shouldn't make the button actionable (see #86). My thought is that this is something we ask Fathom: "What is the primary product on this page?", to which an answer could be "There's multiple products on this page", or "This page doesn't seem to be a single product page". The latter is what I'd expect for a shopping cart with one item. It's clearly not a single product page. I suspect this isn't something we can finagle out of Fathom in a week and some change, so for now I guess our best bet is something like filtering by URL to specific product pages on our supported domains.
If we had a better plan for detecting multiple products on a single page (#86 again) then this would probably be a good idea. |
One way to do that is to ask for the product images and see if there's a clear leader score-wise. I don't have time to test that myself, but it would be a quick win if it worked. |
@erikrose is rewriting our ruleset so that the scores we return are between 0 and 1; that work is a blocker to our current fix for this, which adds a new rule that drops the score for items whose ancestor nodes have I'll reassign this to myself once his work lands. |
In the meantime, somebody could be collecting cart-page samples, which we'll need to pick a confidence threshold. |
I revised the ruleset to get each rule between 0..1 and made some other things I guessed were improvements as well. Trained it and got it to 100% on everything: price, title, and image. But then I ran it on the testing corpus and found I had actually made things universally worse. So, I will induct the test set into the training one and go back to the old drawing board! In the meantime, I'll try to find a way to share my work with you. |
…robes * Update 'method' extra key for 'complete_extraction' event to have values of 'fathom', 'css_selectors', 'open_graph' or 'none' to distinguish between the two fallback extraction methods to Fathom: CSS Selectors or Open Graph attributes. * Note: Since none of our five supported sites use Open Graph attributes currently for product information, we should not expect to see any successful extraction using that method for the MVP. * Important caveats for making conclusions using these probes as-is: * The coverage values that these probes will suggest will not be very accurate initially until we ensure we are extracting on only **product pages** for a supported site, rather than any page on the site (see Issues mozilla#225 and mozilla#181). * Successful extraction does not mean that the information extracted for the product is correct. It only means that _a_ value was extracted for each product feature (i.e. title, image and price) on the page.
…robes * Update 'method' extra key for 'complete_extraction' event to have values of 'fathom', 'css_selectors', 'open_graph' or 'none' to distinguish between the two fallback extraction methods to Fathom: CSS Selectors or Open Graph attributes. * Note: Since none of our five supported sites use Open Graph attributes currently for product information, we should not expect to see any successful extraction using that method for the MVP. * Important caveats for making conclusions using these probes as-is: * The coverage values that these probes will suggest will not be very accurate initially until we ensure we are extracting on only **product pages** for a supported site, rather than any page on the site (see Issues mozilla#225 and mozilla#181). * Successful extraction does not mean that the information extracted for the product is correct. It only means that _a_ value was extracted for each product feature (i.e. title, image and price) on the page.
…robes * Update 'method' extra key for 'complete_extraction' event to have values of 'fathom', 'css_selectors', 'open_graph' or 'none' to distinguish between the two fallback extraction methods to Fathom: CSS Selectors or Open Graph attributes. * Note: Since none of our five supported sites use Open Graph attributes currently for product information, we should not expect to see any successful extraction using that method for the MVP. * Important caveats for making conclusions using these probes as-is: * The coverage values that these probes will suggest will not be very accurate initially until we ensure we are extracting on only **product pages** for a supported site, rather than any page on the site (see Issues mozilla#225 and mozilla#181). * Successful extraction does not mean that the information extracted for the product is correct. It only means that _a_ value was extracted for each product feature (i.e. title, image and price) on the page.
…robes * Update 'method' extra key for 'complete_extraction' event to have values of 'fathom', 'css_selectors', 'open_graph' or 'none' to distinguish between the two fallback extraction methods to Fathom: CSS Selectors or Open Graph attributes. * Note: Since none of our five supported sites use Open Graph attributes currently for product information, we should not expect to see any successful extraction using that method for the MVP. * Important caveats for making conclusions using these probes as-is: * The coverage values that these probes will suggest will not be very accurate initially until we ensure we are extracting on only **product pages** for a supported site, rather than any page on the site (see Issues mozilla#225 and mozilla#181). * Successful extraction does not mean that the information extracted for the product is correct. It only means that _a_ value was extracted for each product feature (i.e. title, image and price) on the page.
In talking with Erik, we agreed that it'd be great to include a suitable number of sample pages in our test set to ensure Fathom does not find a product on non-product pages for supported sites. Below is a stub where I was able to reproduce the related, corresponding issue on a particular page. In some cases, the content for the initially reported page has changed, so I included pages displaying a similar symptom and froze them via FathomFox (see below). Actionable issues where we are finding a "product" when there should be none:
You can find the frozen pages on the Commerce team drive: Commerce > Engineering > extraction_bugs.zip. The naming convention for each frozen page is: @erikrose Would your SoftVision resource be able to help you generate some more example pages for these kinds of symptoms for training? I realize we likely need many more pages to be confident about adressing these issues. For fun, here is a screenshot of me tracking some "products" extracted by many of these bugs: |
Sure he could. Do you have a sense what users' current biggest problem is? Is it failed extraction from product pages or these false positives from non-product pages? It seems to me the latter is more of an annoyance than an impediment to use. |
Users hate the former more, but the latter is problematic mainly because of the odd data it introduces into the data store, which sometimes breaks the UI in unrecoverable ways. |
Could we put some kind of plug in place so the bad data doesn't get in? (Are we just calling |
We should do both, we just haven't gotten around to it. |
This appears to have been fixed in #275 and should be fixed in v15.0.0 which has been released. |
I have verified this issue using the latest Price Wise TP (15.0.0) version and the issue is no longer reproducible. Tested on Windows 10x64, Mac 10.13 and Arch Linux 4.16.6 x64. |
[Affected versions]:
[Affected Platforms]:
[Prerequisites]:
[Steps to reproduce]:
[Expected result]:
[Actual result]:
[Notes]:
The text was updated successfully, but these errors were encountered: