Spaces:
Runtime error
Runtime error
| import gradio as gr | |
| from util import summarizer, textproc | |
| from util.examples import entries | |
| import importlib | |
| importlib.reload(summarizer) | |
| importlib.reload(textproc) | |
| model_collection = summarizer.init_models() | |
| patent_summarizer = summarizer.PatentSummarizer(model_collection) | |
| iface = gr.Interface( | |
| patent_summarizer.pipeline, | |
| theme="huggingface", | |
| examples=entries, | |
| examples_per_page=4, | |
| inputs=[ | |
| gr.inputs.Textbox(label="Patent Information", | |
| placeholder="US10125002B2 or https://patents.google.com/patent/US10125002B2 ...", | |
| lines=1, | |
| default="US10125002B2"), | |
| gr.inputs.CheckboxGroup(summarizer.summary_options, | |
| default=summarizer.summary_options, | |
| label="Summaries to Generate"), | |
| gr.inputs.Dropdown(summarizer.model_names, | |
| default=summarizer.model_names[3], | |
| label="Abstract Model"), | |
| gr.inputs.Dropdown(summarizer.model_names, | |
| default=summarizer.model_names[0], | |
| label="Background Model"), | |
| gr.inputs.Dropdown(summarizer.model_names, | |
| default=summarizer.model_names[2], | |
| label="Claims Model"), | |
| gr.inputs.Checkbox(default=True, | |
| label="Collate Claims", | |
| optional=False), | |
| gr.inputs.Slider(minimum=250, | |
| maximum=1000, | |
| step=10, | |
| default=250, | |
| label="Input Document Word Limit"), | |
| ], | |
| outputs=[ | |
| gr.outputs.Textbox(label="Abstract Summary"), | |
| gr.outputs.Textbox(label="Background Summary"), | |
| gr.outputs.Textbox(label="Sample Claims Summary") | |
| ], | |
| title="Patent Summarizer π", | |
| description=""" | |
| βοΈ Provides an interface for user input | |
| π Retrieves and parses the document from Patents Google | |
| π Returns summaries for the abstract, background, and/or claims. | |
| Check the end of the app for more details. | |
| """, | |
| article=""" | |
| 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. | |
| Notes: | |
| - Increasing 'Input Document Word Limit' may improve results but will | |
| cause inference time to increase | |
| - Setting 'Collate Claims' to False will apply summarization across | |
| individual claims. Doing so will greatly increase inference time. | |
| Models explored: | |
| π€ Big Bird: Transformers for Longer Sequences | |
| https://arxiv.org/abs/2007.14062 , https://huggingface.co/google/bigbird-pegasus-large-bigpatent | |
| π€ T5 | |
| https://arxiv.org/pdf/1910.10683.pdf , https://huggingface.co/cnicu/t5-small-booksum | |
| π€ BART: Denoising Sequence-to-Sequence Pre-training for Natural Language Generation, Translation, and Comprehension | |
| https://arxiv.org/abs/1910.13461, https://huggingface.co/sshleifer/distilbart-cnn-6-6 | |
| π€ PEGASUS: Pre-training with Extracted Gap-sentences for Abstractive Summarization | |
| https://arxiv.org/abs/1912.08777 , https://huggingface.co/google/pegasus-xsum | |
| """ | |
| ) | |
| iface.launch(enable_queue=True) |