Problem E
Michaelin Suns
Languages
en
sv
You run Pizzeria Dinos in Falkkulle and are striving to get your first Michaelin Sun, a very prestigious award for a restaurant. Unfortunately, your competitor has tried to sabotage this attempt by managing to hack into your server and has deleted all the reviews that existed for the restaurant. Since this can have major consequences for your chances of getting a Michaelin Sun, you have decided to steal other products’ and restaurants’ reviews. You have managed to acquire many reviews in several languages written by humans. But there is a problem, since you want to extract the most positive reviews and you only have them in text, you need to create an AI that can figure out what rating was given based on the written review.
For this task, the training data is provided and it is not allowed to find your own training data on the internet.
Input
Download the zip file with training data and test data. This can be found at the bottom under "attachments". You will receive a zip file that contains:
-
train.csv - Text reviews and their ratings.
-
test.csv - Text reviews without ratings; the predicted ratings for these must be submitted to Kattis.
-
baseline.ipynb - How downloading of the only model you are allowed to use works; copy this directly into your solution.
-
baseline.py - An example of what a submission to Kattis should look like.
Output
For each text review in test.csv you must output what the rating is, one per line.
Scoring
If $S$ is the average of all squared differences between your rating and the true rating for the given text review. In other words, $S = \frac{1}{n}\sum _{i=1}^{n}(X_i - Y_i)^2$ where $X$ and $Y$ are the ratings you predict and the true ratings, respectively.
The final score is calculated using a baseline and best-case reference, where $\text{baseline} = 3.5$ and $\text{best} = 0.5$, as follows:
\[ \text{Score} = \max (0, \min (100, \frac{\text{baseline} - S}{\text{baseline} - \text{best}}\times 100 )) \]At the end of the competition, all solutions will be retested on the remaining 70% of the data. Your final score at the end of the competition will only be based on the remaining 70% of the data; the 30% tested during the competition will have no effect. It is guaranteed that the 30% tested during the competition were chosen uniformly at random and are entirely disjoint from the 70% tested at the end. Therefore, the results on the 30% tested during the competition should be seen as a strong indicator of how well your solution performs. At the same time, it is detrimental to overfit your solution to the test data.
