Spaces:
Runtime error
Runtime error
File size: 3,933 Bytes
dee848c b796027 dee848c b796027 6783b8c b796027 6783b8c b796027 6783b8c b796027 6783b8c b796027 dee848c |
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 |
import gradio as gr
import pandas as pd
from util import summarizer, parser
def patent_summarizer(patent_information, summaries_generated, min_char_abs, min_char_bg, min_char_claims):
# TODO: add checker if valid patent info, return None if invalid
# TODO: add scraper to get document
# TODO: add parser to get the following info from the base document:
abstract, background, claims = None, None, None
summaries = list()
if "Abstract" in summaries_generated:
abstract_summary = summarizer.generate_abs_summary(abstract, min_char_abs)
summaries.append(abstract_summary)
else:
summaries.append(None)
if "Background" in summaries_generated:
background_summary = summarizer.generate_bg_summary(background, min_char_bg)
summaries.append(background_summary)
else:
summaries.append(None)
if "Claims" in summaries_generated:
claims_summary = summarizer.generate_claims_summary(claims, min_char_claims)
summaries.append(claims_summary)
else:
summaries.append(None)
return summaries
summary_options = ["Abstract", "Background", "Claims"]
iface = gr.Interface(
patent_summarizer,
theme="huggingface",
examples=[
[
"US9820315B2",
summary_options,
50,
250,
100
],
[
"https://patents.google.com/patent/US9820315B2",
summary_options,
50,
250,
100
],
[
"https://patents.google.com/patent/US10263802B2/en?q=smart+user+interface&oq=smart+user+interface",
summary_options[:-1],
75,
200,
125
]
],
inputs=[
gr.inputs.Textbox(label="Patent Information",
placeholder="US9820315B2 or https://patents.google.com/patent/US9820315B2 ...",
lines=1),
# gr.inputs.Radio(["Link", "Patent Code"]), # Can be figured out automatically via parsing
# gr.inputs.Dropdown(["model type 1", "model type 2", "model type 3"]), # Change model type
gr.inputs.CheckboxGroup(summary_options,
default=summary_options,
label="Summaries to Generate"),
gr.inputs.Slider(minimum=50,
maximum=500,
step=1,
default=75,
label="Minimum Characters (Abstract Summary)"),
gr.inputs.Slider(minimum=50,
maximum=500,
step=1,
default=200,
label="Minimum Characters (Background Summary)"),
gr.inputs.Slider(minimum=50,
maximum=500,
step=1,
default=100,
label="Minimum Characters (Per Claims Summary)")
],
outputs=[
gr.outputs.Textbox(label="Abstract Summary"),
gr.outputs.Textbox(label="Background Summary"),
gr.outputs.Textbox(label="Claims Summary")
],
title="Patent Summarizer π",
description="""
v.1.0.0
Reading through patent documents is oftentimes a long and tedious task. There are cases wherein one has to manually go through several pages in order to determine if the patent is relevant to the prior art search.
This application is meant to automate the initial phase of going through patents so that the potential inventor or researcher may lessen the time spent trying to filter documents.
The Patent Summarizer:
βοΈ Provides an interface for user input
π Retrieves and parses the document based on the given patent information
π Returns summaries for the abstract, background, and/or claims.
"""
)
iface.launch() |