kikikita commited on
Commit
6f32d95
·
1 Parent(s): 4e70a20
Files changed (2) hide show
  1. app.py +56 -0
  2. movies_prepared.csv +0 -0
app.py ADDED
@@ -0,0 +1,56 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import pandas as pd
2
+ import streamlit as st
3
+
4
+ df = pd.read_csv("movies_prepared.csv")
5
+
6
+ # Определяем список эмоций
7
+ emotions = ["Positive", "Neutral", "Negative"]
8
+
9
+
10
+ # Определяем Streamlit app
11
+ def app():
12
+ st.title("Приложение для аннотации эмоций в диалоге")
13
+
14
+ # Просим пользователя выбрать фильм
15
+ movies = df["movie_title"].unique()
16
+ movie = st.selectbox("Выберите фильм", movies, key='movie_select')
17
+
18
+ # Фильтруем данные по выбранному фильму
19
+ data = df[df["movie_title"] == movie].copy()
20
+
21
+ # Создаем новую колонку для выбранных эмоций
22
+ data["emotions"] = [[] for _ in range(len(data))]
23
+
24
+ # Отображаем диалоги для выбранного фильма
25
+ for i, row in data.iterrows():
26
+ names = eval(row["names"])
27
+ dialog = eval(row["dialog"])
28
+ dialogues = [f"{name}: {replic}" for name,
29
+ replic in zip(names, dialog)]
30
+ dialogue_text = "\n\n".join(dialogues)
31
+ st.write(f"**Dialogue {i + 1}** \n\n {dialogue_text}")
32
+
33
+ # Просим пользователя выбрать эмоции для диалога
34
+ emotions_selected = []
35
+ for j, replic in enumerate(dialog):
36
+ emotion = st.multiselect(f"Выберите эмоции для реплик(и) {j+1}",
37
+ emotions, key=f'emotions_select_{i}_{j}')
38
+ emotions_selected.append(emotion)
39
+
40
+ # Отображаем выбранные эмоции
41
+ st.write("Выбранные эмоции:", emotions_selected)
42
+
43
+ # Добавляем выбранные эмоции в датафрейм
44
+ data.at[i, "emotions"] = emotions_selected
45
+
46
+ # Добавляем разделитель
47
+ st.markdown("---")
48
+
49
+ # Добавляем кнопку для загрузки размеченных данных
50
+ if st.button("Сохранить размеченные данные"):
51
+ # Сохраняем размеченные данные в csv-файл
52
+ data.to_csv("my_movies_prepared.csv", index=False)
53
+
54
+
55
+ if __name__ == "__main__":
56
+ app()
movies_prepared.csv ADDED
The diff for this file is too large to render. See raw diff