KwabsHug commited on
Commit
b325a26
1 Parent(s): 57c71d4

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +53 -24
app.py CHANGED
@@ -4,6 +4,7 @@ import gradio as gr
4
  import nltk
5
  from nltk.corpus import wordnet
6
  import wikipedia
 
7
 
8
  nltk.download('maxent_ne_chunker') #Chunker
9
  nltk.download('stopwords') #Stop Words List (Mainly Roman Languages)
@@ -152,8 +153,6 @@ def WikiSearch(term):
152
  result = wikipedia.search(item, results=20)
153
  return result
154
 
155
- import re
156
-
157
  def find_string_positions(s, string):
158
  positions = []
159
  start = 0
@@ -195,40 +194,70 @@ def create_dictionary(word_list, word_dict = {}):
195
  word_dict[key].append(word)
196
  return word_dict
197
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
198
  with gr.Blocks() as lliface:
199
  with gr.Tab("Welcome "):
200
- gr.HTML("<h1> Spaces Test - Still Undercontruction </h1> <p> You only learn when you convert things you dont know to known --> Normally Repetition is the only reliable method for everybody </p> <p> Knowledge is a Language </p> <p>LingQ is good option for per word state management</p> <p> Arrows app json creator for easy knowledge graphing and spacy POS graph? </p> <p>https://huggingface.co/spaces/vumichien/whisper-speaker-diarization<br></p>")
 
 
 
201
  gr.Interface(fn=unique_word_count, inputs="text", outputs="text", title="Wordcounter")
202
  gr.Interface(fn=SepHypandSynExpansion, inputs="text", outputs=["text", "text"], title="Word suggestions")
203
- gr.Interface(fn=WikiSearch, inputs="text", outputs="text", title="Unique word suggestions(wiki articles)")
204
- with gr.Tab("LingQ Addons ideas"):
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
205
  gr.HTML("Extra functions needed - Persitent Sentence translation, UNWFWO, POS tagging and Word Count per user of words in their account. Macaronic Text is also another way to practice only the important information")
206
  with gr.Row():
207
- gr.TextArea(label="Paste Roman")
208
- gr.TextArea(label="Paste Word 4 Word")
209
- gr.TextArea(label="Paste Full Meaning")
210
- gr.TextArea(label="Paste Macaronic Text")
211
  with gr.Row():
212
- gr.Button()
 
213
  with gr.Row():
214
- gr.TextArea(label="Output")
215
- gr.Interface(fn=create_dictionary, inputs="text", outputs="text", title="Placeholder for transcript editor functions")
216
  with gr.Tab("Transcribe - RASMUS Whisper"):
217
  gr.HTML("""<p>If this tab doesnt work use the link below ⬇️</p> <a href="https://huggingface.co/spaces/RASMUS/Whisper-youtube-crosslingual-subtitles">https://huggingface.co/spaces/RASMUS/Whisper-youtube-crosslingual-subtitles</a>""")
218
  gr.Interface.load("spaces/RASMUS/Whisper-youtube-crosslingual-subtitles", title="Subtitles")
219
- with gr.Tab("Spelling and Chunks"):
220
- with gr.Tab("Spelling Simplification"):
221
- gr.Interface(fn=create_dictionary, inputs="text", outputs="text", title="Sort Text by first two letters")
222
- with gr.Tab("Chunks"):
223
- gr.Interface(fn=FrontRevSentChunk, inputs=[ChunkModeDrop, "checkbox", "text", langdest], outputs="text")
224
- gr.Interface(fn=keep_nouns_verbs, inputs=["text"], outputs="text", title="Noun and Verbs only (Plus punctuation)")
225
  with gr.Tab("Dictionary from text"):
226
  gr.Interface(fn=create_dictionary, inputs="text", outputs="text", title="Two Letter Dictionary")
227
- with gr.Tab("Timing Practice"):
228
- gr.HTML("""<iframe height="1200" style="width: 100%;" scrolling="no" title="Memorisation Aid" src="https://codepen.io/kwabs22/embed/preview/GRXKQgj?default-tab=result&editable=true" frameborder="no" loading="lazy" allowtransparency="true" allowfullscreen="true">
229
- See the Pen <a href="https://codepen.io/kwabs22/pen/GRXKQgj">
230
- Memorisation Aid</a> by kwabs22 (<a href="https://codepen.io/kwabs22">@kwabs22</a>)
231
- on <a href="https://codepen.io">CodePen</a>.
232
- </iframe>""")
233
 
234
  lliface.launch()
 
4
  import nltk
5
  from nltk.corpus import wordnet
6
  import wikipedia
7
+ import re
8
 
9
  nltk.download('maxent_ne_chunker') #Chunker
10
  nltk.download('stopwords') #Stop Words List (Mainly Roman Languages)
 
153
  result = wikipedia.search(item, results=20)
154
  return result
155
 
 
 
156
  def find_string_positions(s, string):
157
  positions = []
158
  start = 0
 
194
  word_dict[key].append(word)
195
  return word_dict
196
 
197
+ def merge_lines(doc1, doc2, doc3, doc4):
198
+ docs = [doc1, doc2, doc3, doc4]
199
+ merged_lines = []
200
+
201
+ with open("merged_lines.txt", "w") as f:
202
+ for lines in zip(*[open(doc) for doc in docs]):
203
+ merged_line = "\n".join(line.strip() for line in lines)
204
+ f.write(merged_line + "\n")
205
+ merged_lines.append(merged_line)
206
+
207
+ return merged_lines
208
+
209
+ def TTSforListeningPractice(text):
210
+ return "not finished"
211
+
212
  with gr.Blocks() as lliface:
213
  with gr.Tab("Welcome "):
214
+ gr.HTML("""<h1> Spaces Test - Still Undercontruction </h1> <p> You only learn when you convert things you dont know to known --> Normally Repetition is the only reliable method for everybody </p>
215
+ <p> Knowledge is a Language </p> <p>LingQ is good option for per word state management</p> <p> Arrows app json creator for easy knowledge graphing and spacy POS graph? </p>
216
+ <p> Vocab = Glossary + all non text wall(lists, diagrams, etc.)</p>
217
+ <p>https://huggingface.co/spaces/vumichien/whisper-speaker-diarization<br></p>""")
218
  gr.Interface(fn=unique_word_count, inputs="text", outputs="text", title="Wordcounter")
219
  gr.Interface(fn=SepHypandSynExpansion, inputs="text", outputs=["text", "text"], title="Word suggestions")
220
+ gr.Interface(fn=WikiSearch, inputs="text", outputs="text", title="Unique word suggestions(wiki articles)")
221
+ with gr.Tab("Spelling and Chunks"):
222
+ gr.HTML("Spelling is the end goal, you already know many letter orders called words so you need leverage them to remember random sequences")
223
+ with gr.Tab("Spelling Simplification - Use a dual language list"):
224
+ gr.Interface(fn=create_dictionary, inputs="text", outputs="text", title="Sort Text by first two letters")
225
+ with gr.Tab("Chunks"):
226
+ gr.Interface(fn=FrontRevSentChunk, inputs=[ChunkModeDrop, "checkbox", "text", langdest], outputs="text")
227
+ gr.Interface(fn=keep_nouns_verbs, inputs=["text"], outputs="text", title="Noun and Verbs only (Plus punctuation)")
228
+ with gr.Tab("Timing Practice - Repitition"):
229
+ gr.HTML("<p>Run from it, Dread it, Repitition is inevitable - Thanos</p>")
230
+ gr.HTML("""<iframe height="1200" style="width: 100%;" scrolling="no" title="Memorisation Aid" src="https://codepen.io/kwabs22/embed/preview/GRXKQgj?default-tab=result&editable=true" frameborder="no" loading="lazy" allowtransparency="true" allowfullscreen="true">
231
+ See the Pen <a href="https://codepen.io/kwabs22/pen/GRXKQgj">
232
+ Memorisation Aid</a> by kwabs22 (<a href="https://codepen.io/kwabs22">@kwabs22</a>)
233
+ on <a href="https://codepen.io">CodePen</a>.
234
+ </iframe>""")
235
+ with gr.Tab("Knowledge Ideas"):
236
+ gr.HTML("""<p>Good knowledge = ability to answer questions --> find Questions you cant answer and look for hidden answer within them </p>
237
+ <p>My One Word Theory = We only use more words than needed when we have to or are bored --> Headings exist because title is not sufficient, subheadings exist because headings are not sufficient, Book Text exists because subheadings are not sufficient</p>
238
+ <p>Big Picture = Expand the Heading and the subheadings and compare them to each other</p>
239
+ <p>Application of Knowledge = App Version of the text (eg. Jupyter Notebooks) is what you create and learn first</p>
240
+ """)
241
+ with gr.Tab("Beginner - Songs - Chorus"):
242
+ gr.HTML("Essentially if the sounds are repeated or long notes they are easy to remember")
243
+ gr.Interface(fn=TTSforListeningPractice, inputs="text", outputs="text", title="Placeholder - paste chorus here and use TTS")
244
+ with gr.Tab("Advanced - LingQ Addons ideas"):
245
  gr.HTML("Extra functions needed - Persitent Sentence translation, UNWFWO, POS tagging and Word Count per user of words in their account. Macaronic Text is also another way to practice only the important information")
246
  with gr.Row():
247
+ RomanFile = gr.File(label="Paste Roman")
248
+ W4WFile = gr.File(label="Paste Word 4 Word")
249
+ FullMeanFile = gr.File(label="Paste Full Meaning")
250
+ MacaronicFile = gr.File(label="Paste Macaronic Text")
251
  with gr.Row():
252
+ MergeButton = gr.Button()
253
+ MergeButton.click(merge_lines, inputs=["RomanFile", "W4WFile", "FullMeanFile", "MacaronicFile"], outputs=["MergeOutput"])
254
  with gr.Row():
255
+ MergeOutput = gr.TextArea(label="Output")
 
256
  with gr.Tab("Transcribe - RASMUS Whisper"):
257
  gr.HTML("""<p>If this tab doesnt work use the link below ⬇️</p> <a href="https://huggingface.co/spaces/RASMUS/Whisper-youtube-crosslingual-subtitles">https://huggingface.co/spaces/RASMUS/Whisper-youtube-crosslingual-subtitles</a>""")
258
  gr.Interface.load("spaces/RASMUS/Whisper-youtube-crosslingual-subtitles", title="Subtitles")
 
 
 
 
 
 
259
  with gr.Tab("Dictionary from text"):
260
  gr.Interface(fn=create_dictionary, inputs="text", outputs="text", title="Two Letter Dictionary")
261
+
 
 
 
 
 
262
 
263
  lliface.launch()