-
Notifications
You must be signed in to change notification settings - Fork 0
/
test_similarity.py
45 lines (34 loc) · 22.3 KB
/
test_similarity.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
import difflib
# Example data from the user's query
queries = [{'id': 'nav-top', 'llm_link_text': 'ID:nav-top'}, {'id': 'skiplink', 'text': 'Skip to main content', 'llm_link_text': 'ID:skiplink'}, {'id': 'nav-logo-sprites', 'text': '.ca', 'llm_link_text': 'ID:nav-logo-sprites'}, {'id': 'nav-global-location-popover-link', 'text': 'Deliver to Vincent\nToronto M2M 1W\u200c', 'llm_link_text': 'ID:nav-global-location-popover-link'}, {'id': 'unifiedLocation1ClickAddress', 'type': 'hidden', 'llm_link_text': 'ID:unifiedLocation1ClickAddress'}, {'id': 'ubbShipTo', 'type': 'hidden', 'llm_link_text': 'ID:ubbShipTo'}, {'id': 'glowValidationToken', 'type': 'hidden', 'llm_link_text': 'ID:glowValidationToken'}, {'id': 'glowDestinationType', 'type': 'hidden', 'llm_link_text': 'ID:glowDestinationType'}, {'id': 'twotabsearchtextbox', 'type': 'text', 'placeholder': 'Search Amazon.ca', 'llm_link_text': 'ID:twotabsearchtextbox'}, {'id': 'nav-search-submit-button', 'type': 'submit', 'llm_link_text': 'ID:nav-search-submit-button'}, {'id': 'icp-nav-flyout', 'text': 'EN', 'llm_link_text': 'ID:icp-nav-flyout'}, {'id': 'nav-link-accountList', 'text': 'Hello, Vincentzs\nAccount & Lists', 'llm_link_text': 'ID:nav-link-accountList'}, {'llm_link_text': 'Text:Not Vincentzs? Sign Out'}, {'id': 'nav-orders', 'text': 'Returns\n& Orders', 'llm_link_text': 'ID:nav-orders'}, {'id': 'nav-cart', 'text': '1\nCart', 'llm_link_text': 'ID:nav-cart'}, {'llm_link_text': 'Text:Create a Wish List'}, {'llm_link_text': 'Text:Wish from Any Website'}, {'llm_link_text': 'Text:Find a Gift'}, {'llm_link_text': 'Text:Baby Registry'}, {'llm_link_text': 'Text:Wedding Registry'}, {'llm_link_text': 'Text:Discover Your Style'}, {'llm_link_text': 'Text:Explore Showroom'}, {'llm_link_text': 'Text:Your Account'}, {'id': 'nav_prefetch_yourorders', 'llm_link_text': 'ID:nav_prefetch_yourorders'}, {'llm_link_text': 'Text:Keep shopping for'}, {'llm_link_text': 'Text:Your Recommendations'}, {'llm_link_text': 'Text:Recalls and Product Safety Alerts'}, {'llm_link_text': 'Text:Your Subscribe & Save Items'}, {'llm_link_text': 'Text:Your Prime Membership'}, {'llm_link_text': 'Text:Memberships & Subscriptions'}, {'llm_link_text': 'Text:Your Amazon Credit Card'}, {'llm_link_text': 'Text:Content Library'}, {'llm_link_text': 'Text:Devices'}, {'llm_link_text': 'Text:Your Music Library'}, {'llm_link_text': 'Text:Your Prime Video'}, {'llm_link_text': 'Text:Your Amazon Photos'}, {'llm_link_text': 'Text:Your Apps & Devices'}, {'llm_link_text': 'Text:Register for a free Business Account'}, {'id': 'nav-item-switch-account', 'llm_link_text': 'ID:nav-item-switch-account'}, {'id': 'nav-item-signout', 'llm_link_text': 'ID:nav-item-signout'}, {'id': 'nav-hamburger-menu', 'text': 'All', 'llm_link_text': 'ID:nav-hamburger-menu'}, {'text': 'Deals Store', 'llm_link_text': 'Text:Deals Store'}, {'text': 'Buy Again', 'llm_link_text': 'Text:Buy Again'}, {'id': 'nav-recently-viewed', 'text': 'Browsing History', 'llm_link_text': 'ID:nav-recently-viewed'}, {'id': 'nav-ab-cat-acquisition', 'text': 'Amazon Business', 'llm_link_text': 'ID:nav-ab-cat-acquisition'}, {'text': 'Kindle Books', 'llm_link_text': 'Text:Kindle Books'}, {'id': 'nav-your-amazon', 'text': "Vincentzs's Store", 'llm_link_text': 'ID:nav-your-amazon'}, {'text': 'Books', 'llm_link_text': 'Text:Books'}, {'text': 'Best Sellers', 'llm_link_text': 'Text:Best Sellers'}, {'text': 'Coupons', 'llm_link_text': 'Text:Coupons'}, {'text': 'Gift Cards', 'llm_link_text': 'Text:Gift Cards'}, {'text': 'Gift Ideas', 'llm_link_text': 'Text:Gift Ideas'}, {'text': 'New Releases', 'llm_link_text': 'Text:New Releases'}, {'text': 'Home', 'llm_link_text': 'Text:Home'}, {'llm_link_text': 'Text:Health & Household'}, {'llm_link_text': 'Text:Beauty & Personal Care'}, {'llm_link_text': 'Text:Home Improvement'}, {'llm_link_text': 'Text:Fashion'}, {'llm_link_text': 'Text:Electronics'}, {'llm_link_text': 'Text:Sports & Outdoors'}, {'llm_link_text': 'Text:Computers'}, {'llm_link_text': 'Text:Computer & Video Games'}, {'id': 'nav-link-amazonprime', 'llm_link_text': 'ID:nav-link-amazonprime'}, {'llm_link_text': 'Text:Toys & Games'}, {'llm_link_text': 'Text:Customer Service'}, {'llm_link_text': 'Text:Automotive'}, {'llm_link_text': 'Text:Pet Supplies'}, {'llm_link_text': 'Text:Subscribe & save'}, {'llm_link_text': 'Text:Audible'}, {'llm_link_text': 'Text:Baby'}, {'llm_link_text': 'Text:Sell'}, {'llm_link_text': 'Text:Registry'}, {'id': 'skippedLink', 'llm_link_text': 'ID:skippedLink'}, {'llm_link_text': 'Text:Previous slide'}, {'llm_link_text': 'Text:Next slide'}, {'text': 'Seachem Reef Zooplan…', 'llm_link_text': 'Text:Seachem Reef Zooplankton, 250ml/8.5-Fluid OunceSeachem Reef Zooplan…'}, {'text': 'Seachem Reef Phytopl…', 'llm_link_text': 'Text:Seachem Reef Phytoplankton, 500ml/17-Fluid OunceSeachem Reef Phytopl…'}, {'text': 'Seachem Reef Zooplan…', 'llm_link_text': 'Text:Seachem Reef Zooplankton, 500ml/17-Fluid OunceSeachem Reef Zooplan…'}, {'text': 'Greenwaterfarm Conce…', 'llm_link_text': 'Text:Greenwaterfarm Concentrated Chlorella Powder for Feeding Crustaceans - Daphnia, Moina, Rotifer, Fairy Shrimp, and Other...Greenwaterfarm Conce…'}, {'text': 'See more', 'llm_link_text': 'Text:See moreSee more'}, {'text': 'More in Buy Again', 'llm_link_text': 'Text:More in Buy AgainMore in Buy Again'}, {'text': 'Aquarium lights', 'llm_link_text': 'Text:Aquarium lightsAquarium lights'}, {'text': 'Aquarium air pumps', 'llm_link_text': 'Text:Aquarium air pumpsAquarium air pumps'}, {'text': 'Aquarium water cha…', 'llm_link_text': 'Text:Aquarium water changersAquarium water cha…'}, {'text': 'String lights', 'llm_link_text': 'Text:String lightsString lights'}, {'text': 'Explore now', 'llm_link_text': 'Text:Explore nowExplore now'}, {'text': 'Sponsored', 'llm_link_text': 'Text:Sponsored'}, {'text': 'Start watching on Prime Video', 'llm_link_text': 'Text:Start watching on Prime Video'}, {'text': '14% off\nLimited time deal\n$29.99Was:\n$34.99\nSoluna Solar Eclipse Glasses', 'llm_link_text': 'Text:14% offLimited time deal$29.99$29.99Was: $34.99$34.99Soluna Solar Eclipse Glasses'}, {'text': 'Shop all deals', 'llm_link_text': 'Text:Shop all deals'}, {'text': 'Shop now', 'llm_link_text': 'Text:Shop now'}, {'llm_link_text': 'Text:Explore now'}, {'text': 'See all deals', 'llm_link_text': 'Text:See all deals'}, {'text': '14% off\nLimited time deal\n$29.99Was:\n$34.99\nSoluna Solar Eclipse Glasses', 'llm_link_text': 'Text:14% offLimited time deal$29.99$29.99Was: $34.99$34.99Soluna Solar Eclipse GlassesSoluna Solar Eclipse Glasses'}, {'text': 'Up to 40% off\nLimited time deal\nFire TV Devices', 'llm_link_text': 'Text:Up to 40% offLimited time dealFire TV DevicesFire TV Devices'}, {'text': 'Up to 33% off\nLimited time deal\nBLUETTI Power Station and Solar Panel', 'llm_link_text': 'Text:Up to 33% offLimited time dealBLUETTI Power Station and Solar PanelBLUETTI Power Station and Solar Panel'}, {'text': 'Up to 42% off\nLimited time deal\nDeals on DEWALT Tools and Accessories', 'llm_link_text': 'Text:Up to 42% offLimited time dealDeals on DEWALT Tools and AccessoriesDeals on DEWALT Tools and Accessories'}, {'text': 'Up to 42% off\nLimited time deal\nPhilips Espresso Machines, Air Fryers a…', 'llm_link_text': 'Text:Up to 42% offLimited time dealPhilips Espresso Machines, Air Fryers and morePhilips Espresso Machines, Air Fryers a…'}, {'text': 'Up to 35% off\nLimited time deal\nEcho Show Devices', 'llm_link_text': 'Text:Up to 35% offLimited time dealEcho Show DevicesEcho Show Devices'}, {'llm_link_text': 'Text:33% offLimited time deal$19.95$19.95Was: $29.95$29.95Galaxium Solar Eclipse Glasses AAS Approved 2024 - [6 Pack] Trusted for Canada Direct Solar Eclipse Viewing - ISO 12312-2 & CE Certified Lunette Eclipse - lunette eclipse solaireGalaxium Solar Eclipse Glasses AAS Ap…'}, {'llm_link_text': 'Text:Up to 29% offLimited time dealRing Doorbells and Cameras.Ring Doorbells and Cameras.'}, {'llm_link_text': 'Text:Up to 40% offLimited time dealAqua Plus Paddle BoardAqua Plus Paddle Board'}, {'llm_link_text': 'Text:Up to 18% offLimited time dealMolblly Gel Memory Foam MattresseMolblly Gel Memory Foam Mattresse'}, {'llm_link_text': 'Text:Up to 28% offEnds in 01:24:09Crucial drives and memoryCrucial drives and memory'}, {'llm_link_text': 'Text:Up to 35% offLimited time dealGarmin Smartwatches & Navigation DevicesGarmin Smartwatches & Navigation D…'}, {'llm_link_text': 'Text:Up to 27% offLimited time dealSeagate drivesSeagate drives'}, {'llm_link_text': 'Text:Up to 36% offLimited time dealEcho Smart SpeakersEcho Smart Speakers'}, {'llm_link_text': 'Text:Up to 33% offLimited time dealLane Linen Egyptian Cotton Bedding and Bath TowelsLane Linen Egyptian Cotton Bedding a…'}, {'llm_link_text': 'Text:Up to 41% offLimited time dealJBL Speaker and HeadsetsJBL Speaker and Headsets'}, {'llm_link_text': 'Text:Up to 43% offLimited time dealeufy Security Home Safety Collectioneufy Security Home Safety Collection'}, {'llm_link_text': 'Text:Up to 27% offLimited time dealFictionFiction'}, {'llm_link_text': 'Text:44% offLimited time deal$49.99$49.99Was: $89.99$89.99soundcore by Anker Q20i Hybrid Active Noise Cancelling Headphones, Wireless Over-Ear Bluetooth, 40H Long ANC Playtime, Hi-Res Audio, Big Bass, Customize via an App, Transparency Mode, Ideal for Travelsoundcore by Anker Q20i Hybrid Activ…'}, {'llm_link_text': 'Text:Up to 23% offLimited time dealSave on Asus PCSave on Asus PC'}, {'text': 'See more', 'llm_link_text': 'Text:See more'}, {'text': 'Smart Tape Measure RENPHO Bluetooth Measuring Tapes for Body Measurement Muscle Gain Fitness…\n$39\n99List:\n$44.99', 'llm_link_text': 'Text:Smart Tape Measure RENPHO Bluetooth Measuring Tapes for Body Measurement Muscle Gain Fitness Bodybuilding Retractable...Smart Tape Measure RENPHO Bluetooth Measuring Tapes for Body Measurement Muscle Gain Fitness…$39.99$39.99List:$44.99$44.99'}, {'llm_link_text': 'Text:RENPHO Food Scale, Kitchen Scale for Food Ounces and Grams, Smart Cooking and Coffee Scale with Timer, Nutritional...RENPHO Food Scale, Kitchen Scale for Food Ounces and Grams, Smart Cooking and Coffee Scale with Timer, Nutritional...$29.99$29.99List:$33.99$33.99'}, {'llm_link_text': 'Text:Body Measuring Tape, 1.5m Dual Sided Tape Measure for Body Measuring, Soft Measuring Tape Ruler for Fabric Tailor and...Body Measuring Tape, 1.5m Dual Sided Tape Measure for Body Measuring, Soft Measuring Tape Ruler for Fabric Tailor and...$6.49$6.49'}, {'llm_link_text': 'Text:CROWNFUL Digital Food Scales, 11lb Kitchen Scale Weight Grams and Ounces for Cooking and Baking, 5 Units with Tare...CROWNFUL Digital Food Scales, 11lb Kitchen Scale Weight Grams and Ounces for Cooking and Baking, 5 Units with Tare...$16.99$16.99List:$21.99$21.99'}, {'id': 'a-autoid-0-announce', 'llm_link_text': 'ID:a-autoid-0-announce'}, {'id': 'a-autoid-1-announce', 'llm_link_text': 'ID:a-autoid-1-announce'}, {'id': 'a-autoid-2-announce', 'llm_link_text': 'ID:a-autoid-2-announce'}, {'id': 'a-autoid-3-announce', 'llm_link_text': 'ID:a-autoid-3-announce'}, {'text': 'VAYDEER Keyboard an…\n$20\n99\n$23.39', 'llm_link_text': 'Text:VAYDEER Keyboard and Mouse Wrist Rest Set Gaming Memory Foam Ergonomic Hand Palm Rest Support for Computer, PC, Laptop,...$20.99$20.99$23.39$23.39'}, {'text': 'Uplayteck Black Keybo…\n$19\n99', 'llm_link_text': 'Text:Uplayteck Black Keyboard and Mouse Wrist Rest 2 Pcs Kit Ergonomic Computer Desk Wrist Support Pad Set for Office...$19.99$19.99'}, {'text': 'Logitech MX Palm Rest…\n$29\n99', 'llm_link_text': 'Text:Logitech MX Palm Rest for MX Keys, Premium, No-Slip Support for Hours of Comfortable Typing, Black$29.99$29.99'}, {'text': '3M Keyboard Wrist Re…\n$30\n75', 'llm_link_text': 'Text:3M Keyboard Wrist Rest, 19" Long, Ergonomic Gel, Black Leatherette$30.75$30.75'}, {'text': 'See more', 'llm_link_text': 'Text:See more'}, {'text': 'Amazon Basics 4-Shelf…\n$80\n03', 'llm_link_text': 'Text:Amazon Basics 4-Shelf Adjustable, Heavy Duty Storage Shelving Unit (350 lbs loading capacity per shelf), Steel Organizer...$80.03$80.03'}, {'text': 'Simple Deluxe 5-Shelf…\n$84\n99', 'llm_link_text': 'Text:Simple Deluxe 5-Shelf Shelving Unit - Heavy Duty Storage Shelving, Metal Wire Shelving, Storage Organizer Standing Rack...$84.99$84.99'}, {'text': 'Garage Shelving Units…\n$94\n99', 'llm_link_text': 'Text:Garage Shelving Units - 71" H x 35" L x 12" W - Heavy Duty Racking - Shelves for Storage -1 Bay - Blue - 5 Tier - 2000LB...$94.99$94.99'}, {'text': 'HCY 5-Tier Storage Sh…\n$66\n56', 'llm_link_text': 'Text:HCY 5-Tier Storage Shelf Heavy Duty Storage Shelving Unit NSF Height Adjustable Metal Storage Rack for Laundry Bathroom...$66.56$66.56'}, {'text': 'See more', 'llm_link_text': 'Text:See more'}, {'text': 'Sponsored', 'llm_link_text': 'Text:Sponsored'}, {'text': 'Watch now', 'llm_link_text': 'Text:Watch now'}, {'text': 'Inkbird Temperature Controller ITC-306T Digital Thermostat Smart Day Night Cycle Dual Heating…\n$42\n99', 'llm_link_text': 'Text:Inkbird Temperature Controller ITC-306T Digital Thermostat Smart Day Night Cycle Dual Heating OutletInkbird Temperature Controller ITC-306T Digital Thermostat Smart Day Night Cycle Dual Heating…$42.99$42.99'}, {'llm_link_text': 'Text:Inkbird ITC-308 Digital Temperature Controller Outlet Thermostat Plug, 2-Stage Outlet Heating and Cooling Mode 1100w,...Inkbird ITC-308 Digital Temperature Controller Outlet Thermostat Plug, 2-Stage Outlet Heating and Cooling Mode 1100w,...$49.50$49.50'}, {'llm_link_text': 'Text:Inkbird Temperature Controller ITC-306T Aquarium Thermostat Heating Outlet Plastic Probe Suction CupInkbird Temperature Controller ITC-306T Aquarium Thermostat Heating Outlet Plastic Probe Suction Cup$42.99$42.99'}, {'llm_link_text': 'Text:Inkbird ITC-308 1200W Temperature Controller with Heating Cooling Power Socket Dual Display Digital Thermostat for...Inkbird ITC-308 1200W Temperature Controller with Heating Cooling Power Socket Dual Display Digital Thermostat for...$39.96$39.96List:$59.99$59.99'}, {'id': 'a-autoid-4-announce', 'llm_link_text': 'ID:a-autoid-4-announce'}, {'id': 'a-autoid-5-announce', 'llm_link_text': 'ID:a-autoid-5-announce'}, {'id': 'a-autoid-6-announce', 'llm_link_text': 'ID:a-autoid-6-announce'}, {'id': 'a-autoid-7-announce', 'llm_link_text': 'ID:a-autoid-7-announce'}, {'text': 'See more', 'llm_link_text': 'Text:See moreSee more'}, {'text': 'See more', 'llm_link_text': 'Text:See more'}, {'text': 'See more', 'llm_link_text': 'Text:See more'}, {'text': 'Smartphones', 'llm_link_text': 'Text:Smartphones'}, {'text': 'Watches', 'llm_link_text': 'Text:Watches'}, {'text': 'GPS', 'llm_link_text': 'Text:GPS'}, {'text': 'Tablets', 'llm_link_text': 'Text:Tablets'}, {'text': 'See more from Amazon Renewed', 'llm_link_text': 'Text:See more from Amazon Renewed'}, {'text': 'Seachem Replenish 500ml (16.9oz)\n$29\n70', 'llm_link_text': 'Text:Seachem Replenish 500ml (16.9oz)Seachem Replenish 500ml (16.9oz)$29.70$29.70'}, {'llm_link_text': 'Text:Seachem Reef Complete 500mlSeachem Reef Complete 500ml$24.45$24.45'}, {'llm_link_text': 'Text:Seachem Reef Carbonate 500mlSeachem Reef Carbonate 500ml$23.91$23.91'}, {'llm_link_text': 'Text:API SALTWATER MASTER TEST KIT 550-Test Saltwater Aquarium Water Test KitAPI SALTWATER MASTER TEST KIT 550-Test Saltwater Aquarium Water Test Kit$48.96$48.96'}, {'id': 'a-autoid-8-announce', 'llm_link_text': 'ID:a-autoid-8-announce'}, {'id': 'a-autoid-9-announce', 'llm_link_text': 'ID:a-autoid-9-announce'}, {'id': 'a-autoid-10-announce', 'llm_link_text': 'ID:a-autoid-10-announce'}, {'id': 'a-autoid-11-announce', 'llm_link_text': 'ID:a-autoid-11-announce'}, {'text': 'See more', 'llm_link_text': 'Text:See moreSee more'}, {'text': "SunSun Tech'n'Toy HW-602B 106 GPH 3-Stage External Canister Filter\n$104\n37", 'llm_link_text': "Text:SunSun Tech'n'Toy HW-602B 106 GPH 3-Stage External Canister FilterSunSun Tech'n'Toy HW-602B 106 GPH 3-Stage External Canister Filter$104.37$104.37"}, {'llm_link_text': 'Text:AMOSIJOY 172GPH Canister Filter, Ultra-Quiet External Aquarium Filter with Free Media for Large Fish Tanks and Aquariums...AMOSIJOY 172GPH Canister Filter, Ultra-Quiet External Aquarium Filter with Free Media for Large Fish Tanks and Aquariums...$127.77$127.77'}, {'llm_link_text': 'Text:Fluval U2 Underwater Filter, Freshwater and Saltwater Aquarium Filter, A470Fluval U2 Underwater Filter, Freshwater and Saltwater Aquarium Filter, A470$63.79$63.79Was:$69.99$69.99'}, {'llm_link_text': 'Text:AQQA Aquarium Electric Power Sponge Filter,3W/5W Silence Submersible Foam Filter,Sponges Bio Ceramic Media Balls Double...AQQA Aquarium Electric Power Sponge Filter,3W/5W Silence Submersible Foam Filter,Sponges Bio Ceramic Media Balls Double...$29.99$29.99'}, {'id': 'a-autoid-12-announce', 'llm_link_text': 'ID:a-autoid-12-announce'}, {'id': 'a-autoid-13-announce', 'llm_link_text': 'ID:a-autoid-13-announce'}, {'id': 'a-autoid-14-announce', 'llm_link_text': 'ID:a-autoid-14-announce'}, {'id': 'a-autoid-15-announce', 'llm_link_text': 'ID:a-autoid-15-announce'}, {'text': 'See more', 'llm_link_text': 'Text:See moreSee more'}, {'text': 'Sponsored', 'llm_link_text': 'Text:Sponsored'}, {'llm_link_text': 'Text:View or edit your browsing history'}, {'id': 'navBackToTop', 'text': 'Back to top', 'llm_link_text': 'ID:navBackToTop'}, {'text': 'Careers', 'llm_link_text': 'Text:Careers'}, {'text': 'Amazon and Our Planet', 'llm_link_text': 'Text:Amazon and Our Planet'}, {'text': 'Investor Relations', 'llm_link_text': 'Text:Investor Relations'}, {'text': 'Press Releases', 'llm_link_text': 'Text:Press Releases'}, {'text': 'Amazon Science', 'llm_link_text': 'Text:Amazon Science'}, {'text': 'Sell on Amazon', 'llm_link_text': 'Text:Sell on Amazon'}, {'text': 'Supply to Amazon', 'llm_link_text': 'Text:Supply to Amazon'}, {'text': 'Become an Affiliate', 'llm_link_text': 'Text:Become an Affiliate'}, {'text': 'Protect & Build Your Brand', 'llm_link_text': 'Text:Protect & Build Your Brand'}, {'text': 'Sell on Amazon Handmade', 'llm_link_text': 'Text:Sell on Amazon Handmade'}, {'text': 'Advertise Your Products', 'llm_link_text': 'Text:Advertise Your Products'}, {'text': 'Independently Publish with Us', 'llm_link_text': 'Text:Independently Publish with Us'}, {'text': 'Host an Amazon Hub', 'llm_link_text': 'Text:Host an Amazon Hub'}, {'text': 'Amazon.ca Rewards Mastercard', 'llm_link_text': 'Text:Amazon.ca Rewards Mastercard'}, {'text': 'Shop with Points', 'llm_link_text': 'Text:Shop with Points'}, {'text': 'Reload Your Balance', 'llm_link_text': 'Text:Reload Your Balance'}, {'text': 'Amazon Currency Converter', 'llm_link_text': 'Text:Amazon Currency Converter'}, {'text': 'Gift Cards', 'llm_link_text': 'Text:Gift Cards'}, {'text': 'Amazon Cash', 'llm_link_text': 'Text:Amazon Cash'}, {'text': 'Shipping Rates & Policies', 'llm_link_text': 'Text:Shipping Rates & Policies'}, {'text': 'Amazon Prime', 'llm_link_text': 'Text:Amazon Prime'}, {'text': 'Returns Are Easy', 'llm_link_text': 'Text:Returns Are Easy'}, {'text': 'Manage your Content and Devices', 'llm_link_text': 'Text:Manage your Content and Devices'}, {'text': 'Recalls and Product Safety Alerts', 'llm_link_text': 'Text:Recalls and Product Safety Alerts'}, {'text': 'Customer Service', 'llm_link_text': 'Text:Customer Service'}, {'id': 'icp-touch-link-language', 'text': 'English', 'llm_link_text': 'ID:icp-touch-link-language'}, {'id': 'icp-touch-link-country', 'text': 'Canada', 'llm_link_text': 'ID:icp-touch-link-country'}, {'text': 'Amazon Music\nStream millions\nof songs', 'llm_link_text': 'Text:Amazon MusicStream millionsof songs'}, {'text': 'Amazon Advertising\nFind, attract and engage customers', 'llm_link_text': 'Text:Amazon Advertising Find, attract and engage customers'}, {'text': 'Amazon Business\nEverything for\nyour business', 'llm_link_text': 'Text:Amazon BusinessEverything foryour business'}, {'text': 'Amazon Drive\nCloud storage\nfrom Amazon', 'llm_link_text': 'Text:Amazon DriveCloud storagefrom Amazon'}, {'text': 'Amazon Web Services\nScalable Cloud\nComputing Services', 'llm_link_text': 'Text:Amazon Web ServicesScalable CloudComputing Services'}, {'text': 'Goodreads\nBook reviews\n& recommendations', 'llm_link_text': 'Text:GoodreadsBook reviews& recommendations'}, {'text': 'IMDb\nMovies, TV\n& Celebrities', 'llm_link_text': 'Text:IMDbMovies, TV& Celebrities'}, {'text': 'Amazon Photos\nUnlimited Photo Storage\nFree With Prime', 'llm_link_text': 'Text:Amazon PhotosUnlimited Photo StorageFree With Prime'}, {'text': 'Shopbop\nDesigner\nFashion Brands', 'llm_link_text': 'Text:ShopbopDesignerFashion Brands'}, {'text': 'Warehouse Deals\nOpen-Box\nDiscounts', 'llm_link_text': 'Text:Warehouse DealsOpen-BoxDiscounts'}, {'text': 'Whole Foods Market\nWe Believe in\nReal Food', 'llm_link_text': 'Text:Whole Foods MarketWe Believe inReal Food'}, {'text': 'Amazon Renewed\nLike-new products\nyou can trust', 'llm_link_text': 'Text:Amazon RenewedLike-new productsyou can trust'}, {'text': 'Blink\nSmart Security\nfor Every Home', 'llm_link_text': 'Text:BlinkSmart Securityfor Every Home'}, {'text': 'Conditions of Use', 'llm_link_text': 'Text:Conditions of Use'}, {'text': 'Privacy Notice', 'llm_link_text': 'Text:Privacy Notice'}, {'text': 'Interest-Based Ads', 'llm_link_text': 'Text:Interest-Based Ads'}]
# # Function to find the most similar string in a list to a target string
# def find_most_similar(target, queries):
# highest_score = 0
# most_similar = None
# for query in queries:
# llm_link_text = query.get('llm_link_text', '')
# similarity = difflib.SequenceMatcher(None, target, llm_link_text).ratio()
# if similarity > highest_score:
# highest_score = similarity
# most_similar = llm_link_text
# return most_similar
from sklearn.metrics.pairwise import cosine_similarity
from sklearn.feature_extraction.text import TfidfVectorizer
def find_most_similar(target, strings):
# Adding the target string to the list for vectorization
for i in range(len(strings)):
strings[i] = strings[i]['llm_link_text']
strings_with_target = [target] + strings
vectorizer = TfidfVectorizer().fit(strings_with_target)
vectors = vectorizer.transform(strings_with_target)
# The first vector represents the target text
target_vector = vectors[0]
# Compute cosine similarity between the target and the rest of the strings
similarities = cosine_similarity(target_vector, vectors[1:])[0]
# Finding the index of the highest similarity score
most_similar_index = similarities.argmax()
return strings[most_similar_index]
# Example usage
target_string = "click on green water farm"
most_similar_string = find_most_similar(target_string, queries)
print(most_similar_string)