Spaces:
Sleeping
Sleeping
import random | |
import numpy as np | |
import streamlit as st | |
from visualization import heatmap, html_hext | |
ID2CAT = { | |
0: "マイクロアグレッションではない", | |
1: "マイクロアグレッションである", | |
} | |
explanation_text = """ | |
このマイクロアグレッションチェッカーは、機械学習(AI技術のようなもの)によって、マイクロアグレッションらしい言語を検出できるように設計されています。 | |
""" | |
attention_text = """ | |
この技術は「文中にマイクロアグレッションに結びつく要素が含まれているかどうか」を判定するモデルになっています。 | |
必ずしも「この文章の書き手がマイクロアグレッションをしている」ことを明確に示すものではありません。 | |
判定結果を元に、改めて人間同士で「なぜ/どのようにしてマイクロアグレッションたりうるか」議論をするために利用してください。 | |
""" | |
provide_by = """提供元: オールマイノリティプロジェクト | |
[https://all-minorities.com/](https://all-minorities.com/) | |
""" | |
st.title("マイクロアグレッション判別モデル") | |
st.markdown(explanation_text) | |
user_input = st.text_input("文章を入力してください:", key="user_input") | |
if st.button("判定"): | |
if not user_input: | |
st.write("入力が空です。何か入力してください。") | |
else: | |
st.markdown(attention_text) | |
st.divider() | |
random_id = random.randint(0, 1) # TODO: make dummy data | |
st.markdown(f"判定結果: **{ID2CAT[random_id]}**") | |
if random_id == 1: | |
rng = np.random.default_rng() # TODO: make dummy data | |
html_hext_result = html_hext(((f"単語{i}", rng.random()) for i in range(7))) # TODO: make dummy data | |
st.markdown(html_hext_result, unsafe_allow_html=True) | |
data = rng.random((10, 1)).reshape(-1, 1) # TODO: make dummy data | |
st.plotly_chart(heatmap(data), use_container_width=True) | |
st.divider() | |
st.markdown(provide_by) | |