File size: 6,183 Bytes
b919752
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
import re
from collections import defaultdict
import gradio as gr
import pandas as pd

def create_recommendation_system(pairs):
    sets_by_length = defaultdict(list)

    for pair in pairs:
        sets_by_length[len(pair)].append(set(pair))

    sorted_keys = sorted(sets_by_length.keys(), reverse=True)

    def recommend(restaurant):
        recommended = set()
        for length in sorted_keys:
            for rest_set in sets_by_length[length]:
                if restaurant in rest_set:
                    recommended.update(rest_set - {restaurant})
        return list(recommended)

    return recommend

def recommend(input_string):
    f = open("task1_output_n_c1_sup4 (2).txt", "r")
    data = f.read()
    data = data.split("Frequent Itemsets:")

    clean_string = re.sub(r'\n', '', data[1])
    pattern = r"\([^\)]+\)"

    extracted_tuples = re.findall(pattern, clean_string.replace("'", ""))

    tuple_list = [tuple(s.strip('()').split(', ')) for s in extracted_tuples]

    recommendation_system = create_recommendation_system(tuple_list)

    output_list = recommendation_system(input_string)

    images_labels = [("https://logowik.com/content/uploads/images/aw-restaurants5299.jpg", "A&W Restaurant"),
    ("https://inspirebrands.com/wp-content/uploads/2017/10/Arbys.jpg","Arbys"),
    ("https://www.shutterstock.com/image-vector/vinnytsia-ukraine-october-8-2023-600nw-2372329457.jpg","Burger King"),
    ("https://static.wixstatic.com/media/cc8696_2f0a91e1d9d245efa98b100adfcdd887~mv2.png/v1/crop/x_0,y_0,w_242,h_71/fill/w_339,h_94,al_c,lg_1,q_85,enc_auto/logo.png","California Kitchen"),
    ("https://logos-world.net/wp-content/uploads/2022/11/Carls-Jr.-Logo-500x281.png","Carls Jr."),
    ("https://upload.wikimedia.org/wikipedia/commons/thumb/0/02/Chick-fil-A_Logo.svg/873px-Chick-fil-A_Logo.svg.png","Chick-Fil-A"),
    ("https://upload.wikimedia.org/wikipedia/en/thumb/3/38/CECLogo2019.svg/330px-CECLogo2019.svg.png","Chuck E. Cheese"),
    ("https://upload.wikimedia.org/wikipedia/commons/thumb/c/cc/Culver%27s_logo.svg/558px-Culver%27s_logo.svg.png","Culvers"),
    ("https://upload.wikimedia.org/wikipedia/commons/thumb/a/ae/Dairy_Queen_logo.svg/300px-Dairy_Queen_logo.svg.png", "Dairy Queen"),
    ("https://logowik.com/content/uploads/images/493_dominospizza.jpg", "Dominos Pizza"),
    ("https://logos-world.net/wp-content/uploads/2023/03/Five-Guys-Logo-500x281.png", "Five Guys"),
    ("https://entrackr.com/storage/2023/06/Good-Flippin.jpg", "Good Flippin Burger"),
    ("https://logowik.com/content/uploads/images/hardees4024.jpg", "Hardees"),
    ("https://logos-marques.com/wp-content/uploads/2023/04/In-N-Out-Burger-Logo-768x432.png", "In-N-Out"),
    ("https://logos-world.net/wp-content/uploads/2022/08/Jack-in-the-Box-Logo-500x281.png", "Jack in the Box"),
    ("https://1000logos.net/wp-content/uploads/2021/05/Jollibee-logo-768x432.png", "Jollibee"),
    ("https://logowik.com/content/uploads/images/674_kfc.jpg", "KFC"),
    ("https://visitguernseycounty.com/wp-content/uploads/2022/05/Little-Caesars-Logo-1024x576.jpg", "Little Caesars"),
    ("https://logowik.com/content/uploads/images/mcdonalds-icon.jpg", "McDonalds"),
    ("https://images.squarespace-cdn.com/content/v1/53a47e51e4b0e78ae9ed2e97/4b8df8ab-662a-4381-92a6-97839099d5a7/Papa-Johns-logo.jpg", "Papa Johns"),
    ("https://cdn.nwe.io/files/x/d5/cc/c9810c9ad13188a3e0b2bc6577d7.jpg", "Pizza Inn"),
    ("https://logowik.com/content/uploads/images/294_pizza_hut_new_logo.jpg", "Pizza hut"),
    ("https://upload.wikimedia.org/wikipedia/commons/a/a6/PizzaExpress_Logo.jpg", "PizzaExpress"),
    ("https://images.squarespace-cdn.com/content/v1/53a47e51e4b0e78ae9ed2e97/be0aea01-84cc-4b89-a5e8-314ed394dc3c/Popeyes+logo.jpg", "Popeyes"),
    ("https://upload.wikimedia.org/wikipedia/commons/d/d9/Original_Round_Table_Pizza_Logo.jpg", "Round Table Pizza"),
    ("https://logowik.com/content/uploads/images/328_sbarro.jpg", "Sbarro"),
    ("https://1000logos.net/wp-content/uploads/2023/04/Shake-Shack-Logo-768x432.png", "Shake Shack"),
    ("https://upload.wikimedia.org/wikipedia/en/thumb/6/6d/Shakey%27s_US_logo.svg/330px-Shakey%27s_US_logo.svg.png", "Shakeys Pizza"),
    ("https://upload.wikimedia.org/wikipedia/commons/thumb/f/ff/SONIC_New_Logo_2020.svg/1199px-SONIC_New_Logo_2020.svg.png", "Sonic"),
    ("https://images.getbento.com/accounts/236fb3743b9522eafb90c6d2d20b8115/media/accounts/media/V1G5LTCrSDqyixbNUDpr_logo-tasty-burger.png", "Tasty burger"),
    ("https://cdn.worldvectorlogo.com/logos/uno-pizzeria.svg", "Uno Pizzeria"),
    ("https://upload.wikimedia.org/wikipedia/commons/thumb/2/28/Wahlburgers_Logo.svg/768px-Wahlburgers_Logo.svg.png", "Wahlburgers"),
    ("https://logowik.com/content/uploads/images/866_wendys.jpg", "Wendys"),
    ("https://logowik.com/content/uploads/images/whataburger8433.jpg", "Whataburger"),
    ("https://encrypted-tbn2.gstatic.com/images?q=tbn:ANd9GcTsUZPMFzUmACfaeSrMSZsgGn5gnbXNyYRPxIrS1PfCrFWI9QJhrlkmdG9IhFbi", "White Castle")]

    output = []
    for i in images_labels:
        if(i[1] in output_list):
          output.append(i)

    return output

sorted_unique_restaurants = [
 'A&W Restaurant',
 'Arbys',
 'Burger King',
 'California Kitchen',
 'Carls Jr.',
 'Chick-Fil-A',
 'Chuck E. Cheese',
 'Culvers',
 'Dairy Queen',
 'Dominos Pizza',
 'Five Guys',
 'Good Flippin Burger',
 'Hardees',
 'In-N-Out',
 'Jack in the Box',
 'Jollibee',
 'KFC',
 'Little Caesars',
 'McDonalds',
 'Papa Johns',
 'Pizza Inn',
 'Pizza hut',
 'PizzaExpress',
 'Popeyes',
 'Round Table Pizza',
 'Sbarro',
 'Shake Shack',
 'Shakeys Pizza',
 'Sonic',
 'Tasty burger',
 'Uno Pizzeria',
 'Wahlburgers',
 'Wendys',
 'Whataburger',
 'White Castle']

io = gr.Interface(fn=recommend, inputs=gr.Dropdown(choices=sorted_unique_restaurants, value="Burger King"), outputs=gr.Gallery(label="Generated images", show_label=False, elem_id="gallery", columns=[4], object_fit="contain", height="auto"), title='Restaurant Recommender System', description='Find your ideal restaurant')  
io.queue().launch(share = True, debug = True)