Skip to content

Commit

Permalink
Merge pull request #620 from flairNLP/only-unique-topics
Browse files Browse the repository at this point in the history
Adjust `generic_topic_parsing` to return only unique topics
  • Loading branch information
MaxDall authored Sep 30, 2024
2 parents 369a6a3 + f234c83 commit 1ad8c2b
Show file tree
Hide file tree
Showing 6 changed files with 26 additions and 18 deletions.
8 changes: 5 additions & 3 deletions src/fundus/parser/utility.py
Original file line number Diff line number Diff line change
Expand Up @@ -346,14 +346,16 @@ def generic_text_extraction_with_css(doc, selector: XPath) -> Optional[str]:

def generic_topic_parsing(keywords: Optional[Union[str, List[str]]], delimiter: str = ",") -> List[str]:
if not keywords:
return []
topics = []
elif isinstance(keywords, str):
return [cleaned for keyword in keywords.split(delimiter) if (cleaned := keyword.strip())]
topics = [cleaned for keyword in keywords.split(delimiter) if (cleaned := keyword.strip())]
elif isinstance(keywords, list) and all(isinstance(s, str) for s in keywords):
return keywords
topics = keywords
else:
raise TypeError(f"Encountered unexpected type {type(keywords)} as keyword parameter")

return list(dict.fromkeys(topics))


_tz_infos = {"CET": 3600, "CEST": 7200}

Expand Down
3 changes: 0 additions & 3 deletions tests/resources/parser/test_data/au/WestAustralian.json
Original file line number Diff line number Diff line change
Expand Up @@ -40,13 +40,10 @@
"topics": [
"Business",
"CEOs",
"Business",
"Boards",
"Business",
"Economy",
"News",
"Gender equality",
"Business",
"Mining",
"premium"
]
Expand Down
27 changes: 18 additions & 9 deletions tests/resources/parser/test_data/de/SZ.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,31 +25,40 @@
"Landkreis München",
"Grünwald",
"Oberhaching",
"Landkreis München",
"Süddeutsche Zeitung"
]
},
"V1_1": {
"authors": [
"Süddeutsche Zeitung"
"Johannes Knuth"
],
"body": {
"summary": [],
"summary": [
"Beim 50. Berlin-Marathon überrascht die zweite Reihe mit cleverer Taktik. Wie Sebastian Hendel, der Vaterrolle, Teilzeitstudium und Profitum vereint – nachdem er fast schon raus war aus seinem Sport."
],
"sections": [
{
"headline": [],
"paragraphs": [
"Nach Angaben chilenischer Medien ist der konservative Ex-Präsident Sebastian Piñera, 74, bei einem Hubschrauberunglück ums Leben gekommen. Wie die Zeitung La Nación am Dienstag unter Berufung auf diplomatische Kreise berichtete, stürzte der Helikopter in den Lago Ranco in der zentralchilenischen Region Los Ríos ab. Auch die chilenische Zeitung La Tercera berichtete kurz darauf vom Tod des Politikers, der Chile in zwei Amtszeiten von 2010 bis 2014 und von 2018 bis 2022 regiert hatte."
"Als Sebastian Hendel am Sonntag in Berlin die berühmte Weggabelung eines jeden Marathons erreichte – wenn man nach spätestens 35 Kilometern merkt, ob man den körpereigenen Tempomat zu Beginn zu schnell oder genau richtig eingestellt hatte – war der 28-Jährige überrascht. Er war etwas verhaltener in das Rennen gezogen, hatte eine Zeit von 2:08:00 Stunden angepeilt, die vor nicht allzu langer Zeit noch klar unter Arne Gabius’ deutschem Rekord lag. Selbst mit diesem Tempo kämpfte Hendel. Bis er, ab Kilometer 30, „irgendwie ins Rollen“ kam, wie er später berichtete. Ein Läufer nach dem anderen tauchte vor ihm auf, und mit jedem Fang „konnte ich mich selbst belohnen“, sodass die eigenen Schmerzen ein wenig verblassten. Bis irgendwann kein deutscher Kontrahent mehr übrig war, den Hendel hätte passieren können.",
"Der größte und berühmteste aller deutschen Marathons mag zuletzt von Superschuhen, Superzeiten und einem Superpublikum bestimmt worden sein – aber die eisernen Regeln der 42,195 Kilometer kann man dann doch nicht so leicht aus den Angeln heben. Daran hat auch der 50. Berlin-Marathon am Sonntag noch einmal erinnert. Tigist Ketema, die Siegerin aus Äthiopien, musste schon schwer leiden für ihre 2:16:42 Stunden (und sich kurz danach übergeben). Auch dem Schritt von Melat Kejeta, der besten Deutschen, merkte man nach sehr passablen 2:23:40 Stunden das flotte Anfangstempo an.",
"Und die Männer: Die legten zwar auch ohne Topleute, die zuletzt den Olympiamarathon in Paris bestritten hatten, rasant los. Doch nach Kilometer 30 purzelte ein Favorit nach dem anderen aus der Spitze, bis nur noch ein Außenseiter übrig war, der zuvor nicht einmal die 2:05 Stunden unterboten hatte: Milkesa Mengesha, ebenfalls aus Äthiopien. „Es war gut, dass mich niemand zu den Favoriten gezählt hat, deshalb konnte ich entspannt laufen“, sagte Mengesha. So entspannt wie das eben geht bei einer Siegerzeit von 2:03:17 Stunden.",
"Die spannendste Facette aus deutscher Sicht war aber wohl die Geschichte des schnellsten deutschen Mannes sowie seine Zeit von 2:07:33 Stunden, noch immer gut genug für Rang 17 in einem Spitzenfeld. Mit langem Atem an die Spitze, das könnte jedenfalls auch als Überschrift über Sebastian Hendels Karriere hängen. Er ist keiner, der als Jugendlicher Rekorde auf der Strecke oder bei Laktattests sprengte. Er verband, wie immer mehr Athleten aus dem Mittelbau, sein Studium mit einem Sportstipendium an einem US-College. Danach hangelte sich Hendel gewissenhaft von nationalem Meistertitel zu Meistertitel auf der Bahn, von 3000 bis 10 000 Meter. Harter Läuferalltag.",
"Kurz dachte er sogar daran, es ganz sein zu lassen. Denn Hendel hatte am College in New York seine heutige Frau kennengelernt, die Langstreckenläuferin Kristina Hendel, die unter ihrem Mädchennamen Bozic eine Nachwuchshoffnung in Kroatien war. Dass Bozic kurz nach dem Kennenlernen schwanger wurde, war „nicht unbedingt so geplant“, hat Hendel dem Tagesspiegel im vergangenen Frühjahr erzählt: „Wir haben damals überlegt, mit dem Leistungssport aufzuhören, weil beides, der Sport und die Familie, nur schwer miteinander vereinbar ist.“ Das Paar heiratete in Kroatien, kehrte dann in Sebastian Hendels Heimat nach Reichenbach im Vogtland zurück, zu Großeltern und Freunden – und wagte es doch, mit dem Spitzensport und der Familie.",
"Rasch prallten sie an Grenzen: wenn sie das Training an die Stillzeiten anpassen mussten; wenn der eine ein Hoch hatte im Sport und den anderen im Tief trösten musste; wenn beide studierten, weil auch die Mittelschicht des Straßenlaufs nicht reich wird, mit ein paar Sponsoren und einem Verein wie der LG Braunschweig an der Seite. Aber die Hendels sahen, bei allen Rückschlägen, die Erfolge: Sebastian Hendels 2:10:37 Stunden bei der Marathonpremiere vor zwei Jahren in München, die 2:08:51 im vergangenen Frühjahr in Hamburg. Für Olympia reichte das noch nicht, aber während sich die Paris-Starter um den deutschen Rekordhalter Amanal Petros (2:04:59) nun erholten, nutzte Hendel das Scheinwerferlicht eines der größten Stadtmarathons der Welt. Mit seiner Zeit unterbot er auch die Norm für den Bundeskader des Deutschen Leichtathletik-Verbands, das garantiert ein paar wichtige Privilegien auf der steilen deutschen Sportförderleiter.",
"Ein „Riesen-Rennen“ urteilte Hendrik Pfeiffer, am Sonntag zweitbester Deutscher (2:08:20), der nach seiner Ersatzrolle beim Olympiamarathon den DLV zuletzt scharf kritisiert hatte. Auch Pfeiffer hatte sich in Berlin ein Riesen-Rennen vorgenommen, nachdem er in Houston im Januar schon 2:07:14 Stunden angeboten hatte, aber dann sei es erst mit den Tempomachern und dem Anfangstempo „wild“ durcheinandergegangen, ehe er an Magenproblemen litt. Immerhin, fand der 31-Jährige, habe man „eine gute Show geboten“.",
"Es braucht eben nicht immer die Allerschnellsten, um die besten Geschichten freizulegen. Zweitbeste Deutsche hinter Melat Kejeta war am Sonntag Melina Wolf von der LG Region Karlsruhe, eine 31-Jährige, die erst vor elf Jahren mit dem Laufen begonnen hatte, mittlerweile Mutter ist, im Winter hervorragend schwerste Ski-Abfahrten meistert und sich nun die Kräfte ähnlich clever eingeteilt hatte wie Hendel: Sie lief die zweite Hälfte in 72:53 Minuten, 2:27:34 Stunden insgesamt und damit knapp drei Minuten schneller als bei ihrem Debüt vor einem Jahr."
]
}
]
},
"publishing_date": "2024-02-06 21:19:20+01:00",
"title": "Ex-Präsident stirbt bei Hubschrauberabsturz",
"publishing_date": "2024-09-29 15:27:29.697000+00:00",
"title": "Berlin-Marathon: Sebastian Hendel im Porträt",
"topics": [
"Kommentarfunktion",
"Politik",
"Politik",
"Leichtathletik",
"Marathon",
"Sport",
"Leserdiskussion",
"Süddeutsche Zeitung"
]
}
Expand Down
Binary file not shown.
Binary file not shown.
6 changes: 3 additions & 3 deletions tests/resources/parser/test_data/de/meta.info
Original file line number Diff line number Diff line change
Expand Up @@ -167,9 +167,9 @@
"url": "https://www.sueddeutsche.de/muenchen/landkreismuenchen/ranking-fahrradfreundlichkeit-fleissige-bundestagsabgeordnete-kolumne-1.5827206",
"crawl_date": "2023-04-28 20:21:15.488026"
},
"SZ_2024_02_06.html.gz": {
"url": "https://www.sueddeutsche.de/politik/chile-ex-praesident-stirbt-bei-hubschrauberabsturz-1.6345022",
"crawl_date": "2024-02-06 21:46:40.133150"
"SZ_2024_09_30.html.gz": {
"url": "https://www.sueddeutsche.de/sport/berlin-marathon-hendel-lux.GoPAarjxoHNezv1hVvgdhr",
"crawl_date": "2024-09-30 11:55:29.149655"
},
"SpiegelOnline_2023_04_28.html.gz": {
"url": "https://www.spiegel.de/wirtschaft/unternehmen/silicon-valley-bank-federal-reserve-raeumt-versaeumnisse-bei-aufsicht-ein-a-60a0111a-c2d2-46c8-9e93-b16a374e6ba8#ref=rss",
Expand Down

0 comments on commit 1ad8c2b

Please sign in to comment.