Update node.js mobile app: replace lexical matching with semantic matching using NER

Job ID: 37964261

Budget: €250 – €750 EUR

The project has 2 tasks outlined in detail below. The app will need uploaded to github, AWS, and app stores following update. Light documentation of the semantic matching endpoint implementation should be provided.

Task 1:
The app begins pricing collectibles from the 'items' documents in 2 ways:

When he user uploads an item, the app will query matching and similar items from ebay
Daily, all collectibles previously uploaded to the 'items' documents will query matching and similar items from ebay
An item is classified as 'matching' if a lexical score comparing its title to the queried items title is above a threshold. If its below that threshold, its classified as 'similar'. 'Matching' items are shown on the first horizontal scroll bar in an 'items' info page. 'Similar' items are shown on the second horizontal scroll bar in an 'items' info' page.

Produce 20 examples of matching and similar titles for 20 different items. Then replace the lexical scoring with a NER (Named Entity Recognition) module from a hugging face BERT, or some other end point. Create 20 more examples of matching and similar items with the new NER classifier for the same set of 20 example items used before.

Task 2:
When the 'items' documents create the opening vertically scrolling item list, ranking is based on how old it is in 'items'. The ranking should be based on the opportunity of each item in a user's items list.

The opportunity should be calculated based on the following formula for each item: item median price minus each matching item price that day. Then opportunity is the sum of those differences where matching item price is less than median by more than a variable x. Currently set the value of X at 10% the median value.

The UI with all of a user's ranked items should have the displayed information changed. Currently the opening page shows an items average, median, high, and low value. Replace this with an items median, displayed opportunity rounded to nearest $10, number of items in that opportunity. Labels on the UI can be 'median price', 'opportunity', 'items'.
Related categories: JavaScript Android Node.js MongoDB React Native