Enhancement: Wikipedia-Treffer durch Positivliste für Kategorien validiert
- Neue Konstante WHITELIST_KATEGORIEN definiert (z. B. „Unternehmen“, „Produktion“, „Maschinenbau“) - Wenn keine Branche aus Infobox extrahiert wird, wird geprüft, ob eine der Wikipedia-Kategorien zur Whitelist passt - Andernfalls wird der Artikel verworfen (→ Rückgabe „k.A.“)
This commit is contained in:
@@ -97,6 +97,17 @@ system_prompt = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# === WIKIPEDIA DATEN LADEN ===
|
# === WIKIPEDIA DATEN LADEN ===
|
||||||
|
# Positivliste für Wikipedia-Kategorien, die auf Unternehmen hinweisen können
|
||||||
|
WHITELIST_KATEGORIEN = [
|
||||||
|
"Unternehmen",
|
||||||
|
"Hersteller",
|
||||||
|
"Produktion",
|
||||||
|
"Industrie",
|
||||||
|
"Maschinenbau",
|
||||||
|
"Technik",
|
||||||
|
"Dienstleistungsunternehmen"
|
||||||
|
]
|
||||||
|
|
||||||
def get_wikipedia_data(name, website_hint=""):
|
def get_wikipedia_data(name, website_hint=""):
|
||||||
begriffe = [name.strip(), " ".join(name.split()[:2])]
|
begriffe = [name.strip(), " ".join(name.split()[:2])]
|
||||||
if website_hint:
|
if website_hint:
|
||||||
@@ -109,6 +120,12 @@ def get_wikipedia_data(name, website_hint=""):
|
|||||||
for title in results:
|
for title in results:
|
||||||
try:
|
try:
|
||||||
page = wikipedia.page(title)
|
page = wikipedia.page(title)
|
||||||
|
# Titelprüfung verbessern
|
||||||
|
if any(x in page.title.lower() for x in ["krankenkasse", "versicherung"]):
|
||||||
|
continue
|
||||||
|
if website_hint:
|
||||||
|
if website_hint.lower().split(".")[0] not in html.lower():
|
||||||
|
continue
|
||||||
if name.lower().split()[0] not in page.title.lower():
|
if name.lower().split()[0] not in page.title.lower():
|
||||||
continue
|
continue
|
||||||
url = page.url
|
url = page.url
|
||||||
@@ -137,7 +154,10 @@ def get_wikipedia_data(name, website_hint=""):
|
|||||||
umsatz = match.group(1).replace(",", ".")
|
umsatz = match.group(1).replace(",", ".")
|
||||||
if not branche:
|
if not branche:
|
||||||
cats = page.categories
|
cats = page.categories
|
||||||
branche = cats[0] if cats else "k.A."
|
if any(any(w.lower() in c.lower() for w in WHITELIST_KATEGORIEN) for c in cats):
|
||||||
|
branche = cats[0]
|
||||||
|
else:
|
||||||
|
return "", "k.A.", "k.A."
|
||||||
return url, branche or "k.A.", umsatz or "k.A."
|
return url, branche or "k.A.", umsatz or "k.A."
|
||||||
except:
|
except:
|
||||||
continue
|
continue
|
||||||
|
|||||||
Reference in New Issue
Block a user