yeshpanovrustem commited on
Commit
ea8a569
1 Parent(s): 27cd89f

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +110 -36
app.py CHANGED
@@ -1,4 +1,4 @@
1
- from annotated_text import annotated_text
2
  from razdel import tokenize
3
  from transformers import AutoTokenizer, AutoModelForTokenClassification, pipeline
4
  import streamlit as st
@@ -156,8 +156,8 @@ def label_text(text):
156
  new_tuple = (tuple_first, tuple_second)
157
  modified_output.append(new_tuple)
158
  else:
159
- return st.markdown("<p id = 'warning'>PLEASE INSERT YOUR TEXT</p>", unsafe_allow_html = True)
160
- return modified_output
161
 
162
  #########################
163
  #### CREATE SIDEBAR #####
@@ -166,46 +166,120 @@ def label_text(text):
166
  with open("style.css") as f:
167
  css = f.read()
168
 
 
 
 
 
169
  st.sidebar.markdown(f'<style>{css}</style>', unsafe_allow_html = True)
170
 
171
- st.sidebar.markdown("<h1>Kazakh NER</h1>", unsafe_allow_html = True)
172
- st.sidebar.markdown("<h2>Named entity classes</h2>", unsafe_allow_html = True)
173
-
174
- with st.sidebar.expander("ADAGE"): st.write("Well-known Kazakh proverbs and sayings")
175
- with st.sidebar.expander("ART"): st.write("Titles of books, songs, television programmes, etc.")
176
- with st.sidebar.expander("CARDINAL"): st.write("Cardinal numbers, including whole numbers, fractions, and decimals")
177
- with st.sidebar.expander("CONTACT"): st.write("Addresses, emails, phone numbers, URLs")
178
- with st.sidebar.expander("DATE"): st.write("Dates or periods of 24 hours or more")
179
- with st.sidebar.expander("DISEASE"): st.write("Diseases or medical conditions")
180
- with st.sidebar.expander("EVENT"): st.write("Named events and phenomena")
181
- with st.sidebar.expander("FACILITY"): st.write("Names of man-made structures")
182
- with st.sidebar.expander("GPE"): st.write("Names of geopolitical entities")
183
- with st.sidebar.expander("LANGUAGE"): st.write("Named languages")
184
- with st.sidebar.expander("LAW"): st.write("Named legal documents")
185
- with st.sidebar.expander("LOCATION"): st.write("Names of geographical locations other than GPEs")
186
- with st.sidebar.expander("MISCELLANEOUS"): st.write("Entities of interest but hard to assign a proper tag to")
187
- with st.sidebar.expander("MONEY"): st.write("Monetary values")
188
- with st.sidebar.expander("NON_HUMAN"): st.write("Names of pets, animals or non-human creatures")
189
- with st.sidebar.expander("NORP"): st.write("Adjectival forms of GPE and LOCATION; named religions, etc.")
190
- with st.sidebar.expander("ORDINAL"): st.write("Ordinal numbers, including adverbials")
191
- with st.sidebar.expander("ORGANISATION"): st.write("Names of companies, government agencies, etc.")
192
- with st.sidebar.expander("PERCENTAGES"): st.write("Percentages")
193
- with st.sidebar.expander("PERSON"): st.write("Names of persons")
194
- with st.sidebar.expander("POSITION"): st.write("Names of posts and job titles")
195
- with st.sidebar.expander("PRODUCT"): st.write("Names of products")
196
- with st.sidebar.expander("PROJECT"): st.write("Names of projects, policies, plans, etc.")
197
- with st.sidebar.expander("QUANTITY"): st.write("Length, distance, etc. measurements")
198
- with st.sidebar.expander("TIME"): st.write("Times of day and time duration less than 24 hours")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
199
 
200
  ######################
201
  #### CREATE FORM #####
202
  ######################
203
 
204
  text_field = st.form(key = 'text_field')
205
- form_text = text_field.text_input('Insert your text here')
206
- submit = text_field.form_submit_button('Submit')
207
-
208
- st.markdown('Press **Submit** to have your text labelled')
 
 
 
 
 
 
 
 
209
 
210
  if submit:
211
- annotated_text(label_text(form_text))
 
1
+ from annotated_text import annotated_text, parameters, annotation
2
  from razdel import tokenize
3
  from transformers import AutoTokenizer, AutoModelForTokenClassification, pipeline
4
  import streamlit as st
 
156
  new_tuple = (tuple_first, tuple_second)
157
  modified_output.append(new_tuple)
158
  else:
159
+ return st.markdown("<p id = 'warning'>EN: PLEASE INSERT YOUR TEXT<br>ҚАЗ: МӘТІНДІ ОРНАЛАСТЫРЫҢЫЗ<br>РУС: ВСТАВЬТЕ ТЕКСТ</p>", unsafe_allow_html = True)
160
+ return annotated_text(modified_output)
161
 
162
  #########################
163
  #### CREATE SIDEBAR #####
 
166
  with open("style.css") as f:
167
  css = f.read()
168
 
169
+ languages = ['🇬🇧', '🇰🇿', '🇷🇺']
170
+
171
+ language = st.sidebar.radio("", options = languages, horizontal = True)
172
+
173
  st.sidebar.markdown(f'<style>{css}</style>', unsafe_allow_html = True)
174
 
175
+ if language == languages[0]:
176
+ st.sidebar.markdown("<h1>Kazakh NER</h1>", unsafe_allow_html = True)
177
+ st.sidebar.markdown("<h2>Named entity classes</h2>", unsafe_allow_html = True)
178
+
179
+ with st.sidebar.expander("ADAGE"): st.write("Well-known Kazakh proverbs and sayings")
180
+ with st.sidebar.expander("ART"): st.write("Titles of books, songs, television programmes, etc.")
181
+ with st.sidebar.expander("CARDINAL"): st.write("Cardinal numbers, including whole numbers, fractions, and decimals")
182
+ with st.sidebar.expander("CONTACT"): st.write("Addresses, emails, phone numbers, URLs")
183
+ with st.sidebar.expander("DATE"): st.write("Dates or periods of 24 hours or more")
184
+ with st.sidebar.expander("DISEASE"): st.write("Diseases or medical conditions")
185
+ with st.sidebar.expander("EVENT"): st.write("Named events and phenomena")
186
+ with st.sidebar.expander("FACILITY"): st.write("Names of man-made structures")
187
+ with st.sidebar.expander("GPE"): st.write("Names of geopolitical entities")
188
+ with st.sidebar.expander("LANGUAGE"): st.write("Named languages")
189
+ with st.sidebar.expander("LAW"): st.write("Named legal documents")
190
+ with st.sidebar.expander("LOCATION"): st.write("Names of geographical locations other than GPEs")
191
+ with st.sidebar.expander("MISCELLANEOUS"): st.write("Entities of interest but hard to assign a proper tag to")
192
+ with st.sidebar.expander("MONEY"): st.write("Monetary values")
193
+ with st.sidebar.expander("NON_HUMAN"): st.write("Names of pets, animals or non-human creatures")
194
+ with st.sidebar.expander("NORP"): st.write("Adjectival forms of GPE and LOCATION; named religions, etc.")
195
+ with st.sidebar.expander("ORDINAL"): st.write("Ordinal numbers, including adverbials")
196
+ with st.sidebar.expander("ORGANISATION"): st.write("Names of companies, government agencies, etc.")
197
+ with st.sidebar.expander("PERCENTAGE"): st.write("Percentages")
198
+ with st.sidebar.expander("PERSON"): st.write("Names of persons")
199
+ with st.sidebar.expander("POSITION"): st.write("Names of posts and job titles")
200
+ with st.sidebar.expander("PRODUCT"): st.write("Names of products")
201
+ with st.sidebar.expander("PROJECT"): st.write("Names of projects, policies, plans, etc.")
202
+ with st.sidebar.expander("QUANTITY"): st.write("Length, distance, etc. measurements")
203
+ with st.sidebar.expander("TIME"): st.write("Times of day and time duration less than 24 hours")
204
+
205
+ elif language == languages[1]:
206
+ st.sidebar.markdown("<h1>Атаулы мәндерді анықтау</h1>", unsafe_allow_html = True)
207
+ st.sidebar.markdown("<h2>Атаулы мән түрлері</h2>", unsafe_allow_html = True)
208
+
209
+ with st.sidebar.expander("ADAGE >> НАҚЫЛ СӨЗ"): st.write("Қазақ мақал-мәтелдері")
210
+ with st.sidebar.expander("ART >> ТУЫНДЫ"): st.write("Өнер туындылары, теледидар бағдарламалары, ғылыми мәтіндер атаулары")
211
+ with st.sidebar.expander("CARDINAL >> ЕСЕПТІК САН"): st.write("Бүтін сандар мен (ондық) бөлшектер")
212
+ with st.sidebar.expander("CONTACT >> БАЙЛАНЫС ДЕРЕКТЕРІ"): st.write("Мекенжайлар, телефон нөмірлері, сілтемелер және электрондық пошта адрестері")
213
+ with st.sidebar.expander("DATE >> ДАТА"): st.write("Даталар, күндер, апталар, айлар, атауы бар белгілі кезеңдер, мезгілдер, жылдар")
214
+ with st.sidebar.expander("DISEASE >> АУРУ"): st.write("Ауру немесе бұзылу атаулары")
215
+ with st.sidebar.expander("EVENT >> ОҚИҒА"): st.write("Атауы бар оқиғалар мен табиғи құбылыстар")
216
+ with st.sidebar.expander("FACILITY >> ҚҰРЫЛЫС"): st.write("Адам қолымен жасалынған құрылымдардың атаулары")
217
+ with st.sidebar.expander("GPE >> ГӘС"): st.write("Географиялық әкімшілік бірліктерінің атаулары")
218
+ with st.sidebar.expander("LANGUAGE >> ТІЛ"): st.write("Тіл атаулары")
219
+ with st.sidebar.expander("LAW >> ЗАҢ"): st.write("Заңдастырылған құжаттар атаулары")
220
+ with st.sidebar.expander("LOCATION >> МЕКЕН"): st.write("GPE атаулы мәніне жатпайтын географиялық нысандардың атаулары")
221
+ with st.sidebar.expander("MISCELLANEOUS >> АРАЛАС"): st.write("Атаулы мәнді анықтауға қиыншылық тудыратын сөздер, фразалар")
222
+ with st.sidebar.expander("MONEY >> АҚША БІРЛІГІ"): st.write("Құрамында сан және ақша бірлігі айқын берілген фразалар.")
223
+ with st.sidebar.expander("NON_HUMAN >> АДАМ ЕМЕС"): st.write("Жануарлардың және ойдан шығарылған жануар-кейіпкерлердің лақап аттары")
224
+ with st.sidebar.expander("NORP >> ҰДСҚ"): st.write("GPE және LOCATION атаулы мәндеріне қатыстылықты білдіретін сөздер")
225
+ with st.sidebar.expander("ORDINAL >> РЕТТІК САН"): st.write("Реттік сандар және реттік сандардан құрылған сын есімдер мен қыстырма сөздер")
226
+ with st.sidebar.expander("ORGANISATION >> ҰЙЫМ"): st.write("Ұйым атаулары")
227
+ with st.sidebar.expander("PERCENTAGE >> ПАЙЫЗ"): st.write("Құрамында сан және пайыз, процент сөздері немесе % белгісі бар фразалар")
228
+ with st.sidebar.expander("PERSON >> АДАМ"): st.write("Адам есімі, фамилиясы, әкесінің аты")
229
+ with st.sidebar.expander("POSITION >> ОРЫН"): st.write("Адамның белгілі бір ұйымның иерархиялық жүйесіндегі орны немесе атқаратын қызметі")
230
+ with st.sidebar.expander("PRODUCT >> ӨНІМ"): st.write("Өнім атаулары")
231
+ with st.sidebar.expander("PROJECT >> ЖОБА"): st.write("Жобалар, жоспарлар, бастамалар, стратегиялардың атаулары")
232
+ with st.sidebar.expander("QUANTITY >> ӨЛШЕМ"): st.write("Құрамында сан және өлшем бірлігі айқын берілген фразалар")
233
+ with st.sidebar.expander("TIME >> УАҚЫТ"): st.write("Бір тәуліктен қысқа кезеңдер")
234
+
235
+ elif language == languages[2]:
236
+ st.sidebar.markdown("<h1>Распознавание именованных сущностей</h1>", unsafe_allow_html = True)
237
+ st.sidebar.markdown("<h2>Именованные сущности</h2>", unsafe_allow_html = True)
238
+
239
+ with st.sidebar.expander("ADAGE >> ПОСЛОВИЦА"): st.write("Известные казахские пословицы и поговорки")
240
+ with st.sidebar.expander("ART >> ИСКУССТВО"): st.write("Названия книг, песен, телевизионных и радиопрограмм и др.")
241
+ with st.sidebar.expander("CARDINAL >> КОЛИЧ. ЧИСЛ."): st.write("Количественные числительные (целые числа, дроби и десятичные дроби)")
242
+ with st.sidebar.expander("CONTACT >> КОНТ. ДАННЫЕ"): st.write("Адреса, номера телефонов, URL-адреса и др")
243
+ with st.sidebar.expander("DATE >> ДАТА"): st.write("Даты или периоды, продолжительность которых составляет 24 часа и более")
244
+ with st.sidebar.expander("DISEASE >> БОЛЕЗНЬ"): st.write("Названия болезней, заболеваний, различных расстройств и недомоганий")
245
+ with st.sidebar.expander("EVENT >> СОБЫТИЕ"): st.write("Названия мероприятий и природных явлений")
246
+ with st.sidebar.expander("FACILITY >> СООРУЖЕНИЕ"): st.write("Названия зданий и сооружений, созданных руками человека")
247
+ with st.sidebar.expander("GPE >> ГПС"): st.write("Названия геополитических объектов")
248
+ with st.sidebar.expander("LANGUAGE >> ЯЗЫК"): st.write("Наименования и самоназвания языков")
249
+ with st.sidebar.expander("LAW >> ЗАКОН"): st.write("Наименования юридических документов")
250
+ with st.sidebar.expander("LOCATION >> МЕСТО"): st.write("Названия географических местоположений, отличных от GPE")
251
+ with st.sidebar.expander("MISCELLANEOUS >> РАЗНОЕ"): st.write("Сущности, представляющие сложность при классификации")
252
+ with st.sidebar.expander("MONEY >> ДЕНЬГИ"): st.write("Номинал и наименования денежных единиц")
253
+ with st.sidebar.expander("NON_HUMAN >> НЕЧЕЛОВЕК"): st.write("Имена и клички домашних животных, зверей, вымышленных созданий")
254
+ with st.sidebar.expander("NORP >> НОРП"): st.write("Прилагательные, образованные от сущностей GPE и LOCATION")
255
+ with st.sidebar.expander("ORDINAL >> ПОРЯД. ЧИСЛ."): st.write("Порядковые числительные")
256
+ with st.sidebar.expander("ORGANISATION >> ОРГАНИЗАЦИЯ"): st.write("Наименования компаний, правительственных учреждений и т. д.")
257
+ with st.sidebar.expander("PERCENTAGE >> ПРОЦЕНТ"): st.write("Обозначение процентных соотношений")
258
+ with st.sidebar.expander("PERSON >> ЧЕЛОВЕК"): st.write("Имена людей")
259
+ with st.sidebar.expander("POSITION >> ДОЛЖНОСТЬ"): st.write("Наименования должностей")
260
+ with st.sidebar.expander("PRODUCT >> ПРОДУКТ"): st.write("Названия продуктов/изделий различных видов производства")
261
+ with st.sidebar.expander("PROJECT >> ПРОЕКТ"): st.write("Наименования проектов, планов, стратегий, кампаний, референдумов и др")
262
+ with st.sidebar.expander("QUANTITY >> ВЕЛИЧИНА"): st.write("Наименования единиц измерения (длина, расстояние, вес, напряжение, др.)")
263
+ with st.sidebar.expander("TIME >> ВРЕМЯ"): st.write("Обозначение времени, продолжительность которого менее 24 часов")
264
+
265
 
266
  ######################
267
  #### CREATE FORM #####
268
  ######################
269
 
270
  text_field = st.form(key = 'text_field')
271
+ if language == languages[0]:
272
+ form_text = text_field.text_input('Insert your text here')
273
+ submit = text_field.form_submit_button('Submit')
274
+ st.markdown('Press **Submit** to have your text labelled')
275
+ elif language == languages[1]:
276
+ form_text = text_field.text_input('Мәтінді орналастырыңыз')
277
+ submit = text_field.form_submit_button('Анықтау')
278
+ st.markdown('Мәтінді белгілеу үшін **Анықтау** батырмасын басыңыз')
279
+ elif language == languages[2]:
280
+ form_text = text_field.text_input('Вставьте текст')
281
+ submit = text_field.form_submit_button('Распознать')
282
+ st.markdown('Нажмите кнопку **Распознать**, чтобы разметить текст')
283
 
284
  if submit:
285
+ label_text(form_text)