Spaces:
Runtime error
Runtime error
File size: 3,944 Bytes
46a030d 926183f 75e63cc 02ccaba da90a83 46a030d 5dc1676 46a030d 926183f 46a030d 926183f 46a030d 5dc1676 46a030d 6ffd015 46a030d 4295a5f 2514837 46a030d 2514837 46a030d 4295a5f 46a030d 4295a5f 46a030d |
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 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 |
import streamlit as st
import numpy as np
from pandas import DataFrame
import run_segbot
from functionforDownloadButtons import download_button
import os
import json
os.system('git clone --depth 1 https://github.com/neologd/mecab-ipadic-neologd.git && cd mecab-ipadic-neologd && ./bin/install-mecab-ipadic-neologd -n -y -u -p $PWD')
os.system('git clone --depth 1 https://github.com/neologd/mecab-unidic-neologd.git && cd mecab-unidic-neologd && ./bin/install-mecab-unidic-neologd -n -y -u -p $PWD')
st.set_page_config(
page_title="Clinical segment splitter",
page_icon="๐",
layout="wide"
)
def _max_width_():
max_width_str = f"max-width: 1400px;"
st.markdown(
f"""
<style>
.reportview-container .main .block-container{{
{max_width_str}
}}
</style>
""",
unsafe_allow_html=True,
)
#_max_width_()
#c30 = st.columns([1,])
#with c30:
# st.image("logo.png", width=400)
st.title("๐ Clinical segment splitter")
st.header("")
with st.expander("โน๏ธ - About this app", expanded=True):
st.write(
"""
- The *Clinical segment splitter* app is an implementation of our paper.
>Kenichiro Ando, Takashi Okumura, Mamoru Komachi, Hiromasa Horiguchi, Yuji Matsumoto (2022) [Exploring optimal granularity for extractive summarization of unstructured health records: Analysis of the largest multi-institutional archive of health records in Japan.](https://doi.org/10.1371/journal.pdig.0000099) PLOS Digital Health 1(9): e000009.
- This app automatically splits Japanese sentences into smaller units representing medical meanings.
"""
)
st.markdown("")
st.markdown("")
st.markdown("## ๐ Paste document")
@st.cache(allow_output_mutation=True)
def model_load():
return run_segbot.setup()
model,fm,index = model_load()
with st.form(key="my_form"):
ce, c1, ce, c2, c3 = st.columns([0.07, 1, 0.07, 5, 0.07])
with c1:
ModelType = st.radio(
"Choose the method of sentence split",
["fullstop & linebreak (Default)", "pySBD"],
help="""
At present, you can choose between 2 methods to split your text into sentences.
The fullstop & linebreak is naive and robust to noise, but has low accuracy.
pySBD is more accurate, but more complex and less robust to noise.
""",
)
if ModelType == "fullstop & linebreak (Default)":
split_method="fullstop"
else:
split_method="pySBD"
with c2:
doc = st.text_area(
"Paste your text below",
height=510,
placeholder="""
ใฐใฉใ ๆ่ฒใใใๆใใใช่ใ่ฆใคใใใใ ้ซๆถฒๅน้คใงใๅชไฝใช่ใฏๅน้คใใใชใใฃใใ
็ดฐ่ๆง้ซ่็ใซๅฏพใใใฐใฉใ ๆ่ฒใฎๆๅบฆใฏ60%็จๅบฆใงใใใๅน้คใซ้ขใใฆใๆๅบฆใฏ้ซใใชใใ
ใพใ้ซๆถฒไธญใฎ็ณใฏใใๅฐใๆธใใฎใงใฏใชใใ ใใใใ็ขบๅฎ่จบๆญใฏใคใใชใใใฎใฎใๆใ็ใใใ็พๆฃใงใใฃใใ
่ตทๅ ่ใฏMRSA,่
ธๅ
็ดฐ่็ญใๅบๅใซใซใใผใใใใใใณใณใใคใทใณ,ใกใญใใใ (้ซ่็dose)ใจใใใ
""",
)
submit_button = st.form_submit_button(label="Go to split ๐")
if not submit_button:
st.stop()
keywords = run_segbot.generate(doc, model, fm, index, split_method)
st.markdown("## Results")
st.header("")
cs, c1, c2, c3, cLast = st.columns([2, 1.5, 1.5, 1.5, 2])
st.header("")
df = DataFrame(keywords)
df.index += 1
df.columns = ['Segment']
print(df)
with c1:
CSVButton2 = download_button(keywords, "Data.csv", "๐ฅ Download (.csv)")
with c2:
CSVButton2 = download_button(keywords, "Data.txt", "๐ฅ Download (.txt)")
with c3:
CSVButton2 = download_button(keywords, "Data.json", "๐ฅ Download (.json)")
#with c2:
st.table(df)
|