Spaces:
Sleeping
Sleeping
File size: 2,092 Bytes
f44a2e9 4ea53ee f44a2e9 4ea53ee f44a2e9 4ea53ee f44a2e9 4ea53ee f44a2e9 4ea53ee |
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 |
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)
|