Spaces:
Runtime error
Runtime error
File size: 3,953 Bytes
dee848c b796027 dee848c b796027 6783b8c b796027 6783b8c b796027 6783b8c b796027 6783b8c bd71cd3 6783b8c bd71cd3 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 108 109 110 111 |
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() |