Create leaderboard.py
Browse files- crs_arena/leaderboard.py +40 -0
crs_arena/leaderboard.py
ADDED
@@ -0,0 +1,40 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
"""Static leaderboard page."""
|
2 |
+
|
3 |
+
import pandas as pd
|
4 |
+
import streamlit as st
|
5 |
+
|
6 |
+
# Add button to go back to the CRS Arena
|
7 |
+
if st.button("Back to :gun: CRS Arena"):
|
8 |
+
st.switch_page("arena.py")
|
9 |
+
|
10 |
+
st.title(":trophy: CRS Arena Leaderboard")
|
11 |
+
st.write(
|
12 |
+
"This leaderboard ranks conversational recommender systems present in the CRS Arena based on different metrics, including Elo rating and user satisfaction."
|
13 |
+
)
|
14 |
+
|
15 |
+
st.write("*Last update: 2024-10-04*")
|
16 |
+
|
17 |
+
df_leaderboard = pd.DataFrame(
|
18 |
+
{
|
19 |
+
"CRS": [
|
20 |
+
"BARCOR_OpenDialKG",
|
21 |
+
"BARCOR_ReDial",
|
22 |
+
"CRB-CRS_ReDial",
|
23 |
+
"ChatGPT_OpenDialKG",
|
24 |
+
"ChatGPT_ReDial",
|
25 |
+
"KBRD_OpenDialKG",
|
26 |
+
"KBRD_ReDial",
|
27 |
+
"UniCRS_OpenDialKG",
|
28 |
+
"UniCRS_ReDial",
|
29 |
+
],
|
30 |
+
"Elo rating*": [968, 1052, 930, 1056, 1036, 966, 1027, 974, 991],
|
31 |
+
"% Satisfaction": [17.2, 30.4, 5.4, 50, 58.6, 2.6, 8.6, 9.5, 18.2],
|
32 |
+
}
|
33 |
+
)
|
34 |
+
|
35 |
+
# Sort DataFrame by Elo rating
|
36 |
+
df_leaderboard = df_leaderboard.sort_values(by="Elo rating*", ascending=False)
|
37 |
+
|
38 |
+
st.dataframe(df_leaderboard, hide_index=True, use_container_width=True)
|
39 |
+
|
40 |
+
st.write("*Initial rating is set to 1000 and K-factor is 16")
|