Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -2,15 +2,15 @@ import gradio as gr
|
|
2 |
import pdfplumber
|
3 |
from transformers import pipeline
|
4 |
|
5 |
-
# L偶ejszy model NER
|
6 |
-
extractor = pipeline("ner", model="
|
7 |
|
8 |
def extract_seller(pdf_file):
|
9 |
with pdfplumber.open(pdf_file) as pdf:
|
10 |
-
# Pobranie tekstu
|
11 |
full_text = "\n".join(page.extract_text() for page in pdf.pages if page.extract_text())
|
12 |
|
13 |
-
# Podzia艂 na kr贸tkie fragmenty (maks. 512 znak贸w
|
14 |
chunks = [full_text[i:i+512] for i in range(0, len(full_text), 512)]
|
15 |
|
16 |
seller_name = None
|
@@ -19,23 +19,4 @@ def extract_seller(pdf_file):
|
|
19 |
entities = extractor(chunk)
|
20 |
|
21 |
for entity in entities:
|
22 |
-
if "ORG" in entity["entity_group"]: #
|
23 |
-
seller_name = entity["word"]
|
24 |
-
break # Pobieramy pierwsz膮 wykryt膮 firm臋 jako sprzedawc臋
|
25 |
-
|
26 |
-
if seller_name: # Je艣li znaleziono sprzedawc臋, przerywamy p臋tl臋
|
27 |
-
break
|
28 |
-
|
29 |
-
return {"Sprzedawca": seller_name if seller_name else "Nie znaleziono"}
|
30 |
-
|
31 |
-
# Interfejs u偶ytkownika w Hugging Face Spaces
|
32 |
-
iface = gr.Interface(
|
33 |
-
fn=extract_seller,
|
34 |
-
inputs=gr.File(label="Wybierz plik PDF"),
|
35 |
-
outputs="json",
|
36 |
-
title="Ekstrakcja Sprzedawcy z Faktury",
|
37 |
-
description="Prze艣lij plik PDF, aby wydoby膰 nazw臋 sprzedawcy."
|
38 |
-
)
|
39 |
-
|
40 |
-
if __name__ == "__main__":
|
41 |
-
iface.launch()
|
|
|
2 |
import pdfplumber
|
3 |
from transformers import pipeline
|
4 |
|
5 |
+
# L偶ejszy model NER (publicznie dost臋pny)
|
6 |
+
extractor = pipeline("ner", model="dbmdz/bert-large-cased-finetuned-conll03-english", aggregation_strategy="simple")
|
7 |
|
8 |
def extract_seller(pdf_file):
|
9 |
with pdfplumber.open(pdf_file) as pdf:
|
10 |
+
# Pobranie tekstu z PDF
|
11 |
full_text = "\n".join(page.extract_text() for page in pdf.pages if page.extract_text())
|
12 |
|
13 |
+
# Podzia艂 tekstu na kr贸tkie fragmenty (maks. 512 znak贸w)
|
14 |
chunks = [full_text[i:i+512] for i in range(0, len(full_text), 512)]
|
15 |
|
16 |
seller_name = None
|
|
|
19 |
entities = extractor(chunk)
|
20 |
|
21 |
for entity in entities:
|
22 |
+
if "ORG" in entity["entity_group"]: #
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|