shripadbhat commited on
Commit
a5f44ac
·
1 Parent(s): 7ba3536

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +20 -4
app.py CHANGED
@@ -2,6 +2,11 @@ import gradio as gr
2
  import pysbd
3
  from transformers import pipeline
4
  from sentence_transformers import CrossEncoder
 
 
 
 
 
5
 
6
  sentence_segmenter = pysbd.Segmenter(language='en',clean=False)
7
  passage_retreival_model = CrossEncoder('cross-encoder/ms-marco-MiniLM-L-6-v2')
@@ -21,15 +26,26 @@ def fetch_answers(question, clincal_note ):
21
  for query, passage in top_5_query_paragraph_list:
22
  passage_sentences = sentence_segmenter.segment(passage)
23
  answer = qa_model(question = query, context = passage)['answer']
24
-
25
  for i in range(len(passage_sentences)):
26
  if answer.startswith('.') or answer.startswith(':'):
27
  answer = answer[1:].strip()
28
  if answer in passage_sentences[i]:
29
- passage_sentences[i] = "**"+passage_sentences[i].strip()+"**"
 
30
 
31
- result_str = "# RESULT NO: "+str(count)+"\n"
32
- result_str = result_str + " ".join(passage_sentences) + "\n\n"
 
 
 
 
 
 
 
 
 
 
33
  top_5_query_paragraph_answer_list += result_str
34
  count+=1
35
 
 
2
  import pysbd
3
  from transformers import pipeline
4
  from sentence_transformers import CrossEncoder
5
+ from transformers import AutoTokenizer, AutoModelWithLMHead, pipeline
6
+
7
+ model_name = "MaRiOrOsSi/t5-base-finetuned-question-answering"
8
+ tokenizer = AutoTokenizer.from_pretrained(model_name)
9
+ model = AutoModelWithLMHead.from_pretrained(model_name)
10
 
11
  sentence_segmenter = pysbd.Segmenter(language='en',clean=False)
12
  passage_retreival_model = CrossEncoder('cross-encoder/ms-marco-MiniLM-L-6-v2')
 
26
  for query, passage in top_5_query_paragraph_list:
27
  passage_sentences = sentence_segmenter.segment(passage)
28
  answer = qa_model(question = query, context = passage)['answer']
29
+ evidence_sentence = None
30
  for i in range(len(passage_sentences)):
31
  if answer.startswith('.') or answer.startswith(':'):
32
  answer = answer[1:].strip()
33
  if answer in passage_sentences[i]:
34
+ evidence_sentence = passage_sentences[i]
35
+ break
36
 
37
+ model_input = f"question: {query} context: {evidence_sentence}"
38
+ encoded_input = tokenizer([model_input],
39
+ return_tensors='pt',
40
+ max_length=512,
41
+ truncation=True)
42
+
43
+ output = model.generate(input_ids = encoded_input.input_ids,
44
+ attention_mask = encoded_input.attention_mask)
45
+ output_answer = tokenizer.decode(output[0], skip_special_tokens=True)
46
+
47
+ result_str = "# RESULT NO: "+str(count)+ output_answer +"\n"
48
+ result_str = result_str + "REFERENCE: "+ evidence_sentence + "\n\n"
49
  top_5_query_paragraph_answer_list += result_str
50
  count+=1
51