Technologische Neuigkeiten, Bewertungen und Tipps!

(Teilfinal) Förderung sozialer Auswirkungen mit Data Science – Auf dem Weg zur KI

Hinweis: Der folgende Artikel hilft Ihnen dabei: (Teilfinal) Förderung sozialer Auswirkungen mit Data Science – Auf dem Weg zur KI

Ursprünglich veröffentlicht auf Towards AI, dem weltweit führenden Nachrichten- und Medienunternehmen für KI und Technologie. Wenn Sie ein KI-bezogenes Produkt oder eine KI-bezogene Dienstleistung entwickeln, laden wir Sie ein, darüber nachzudenken, KI-Sponsor zu werden. Bei Towards AI helfen wir bei der Skalierung von KI- und Technologie-Startups. Wir helfen Ihnen dabei, Ihre Technologie der breiten Masse zugänglich zu machen.

Eine datengesteuerte Analyse der DC-Verhaftungsdaten des Uniform Crime Report 2021

Der letzte Teil unseres Bildes: Wrapping Up

In den letzten beiden Beiträgen dieser Serie haben wir die Prozesse der Bereinigung eines öffentlichen Datensatzes durchlaufen, das Wesentliche an Daten verstanden und eine Geschichte darüber erzählt, wer im vergangenen Jahr in DC verhaftet wurde. Heute werden wir in diesem letzten Teil unsere Geschichte damit vervollständigen, dass wir darüber sprechen, was die Menschen getan haben, die zu ihrer Verhaftung geführt haben: Welche Verbrechen haben sie begangen? Haben sie eine Waffe benutzt? Diese Fragen sind von zentraler Bedeutung für eine Vielzahl politischer und rechtlicher Diskussionen, weshalb es wichtig ist, ein tieferes Verständnis für sie zu erlangen. Als Abschlussbeitrag dieser Trilogie werde ich die Schlussnote dieses Orchesters verfassen, indem ich unsere Daten modelliere, um einige Schlussfolgerungen zu ziehen und darzulegen, wie man Datenwissenschaft auf eine nicht schädliche Art und Weise betreibt: Datenwissenschaft soll ethisch sein und zur Förderung sozialer und sozialer Aspekte eingesetzt werden Strafrecht und Gerechtigkeit, aber es ist leicht, einen Fehler zu machen.

Dennoch laden wir zuerst unsere Daten und Bibliotheken.

Bibliothek (Tidyverse) # Verwenden Sie das Tidyverse-Universum. Bibliothek (ggtext) # Formatieren Sie Texte/Anmerkungen in ggplots. Bibliothek (GGally). Schön aussehende Regression tablelibrary(sjmisc)library(sjlabelled) Load(“data/final_data.rda”)

Sind sie Kriminelle?: Das „Wie“-Stück

Durch Beleidigung

Es gibt mehr als eine Möglichkeit, ein Verbrechen zu klassifizieren. Begriffe wie „Indexverbrechen“, „Gewaltverbrechen“ und „Drogenverbrechen“ sind uns oft vertraut, aber nur wenige wissen, dass sie unterschiedliche Klassifizierungssysteme darstellen, die von verschiedenen Strafverfolgungsbehörden verwendet werden. Beispielsweise sind Gewaltverbrechen oft mit Gewalt verbunden und beinhalten die Zufügung schwerer Körperverletzung. Bei Eigentumsdelikten geht es dagegen in der Regel um den Verlust oder die Beschädigung von Eigentum. Allerdings sind Eigentumsdelikte nicht unbedingt gewaltfrei und umgekehrt. Im Gegensatz zum gewalttätigen vs. gewaltfreien Dialog ist Indexkriminalität der vom FBI verwendete Begriff, der einige der wichtigsten Kategorien repräsentiert, von denen einige besonders abscheulich und grausam sind (z. B. Mord), während andere wirklich minderjährig sind (z. B. Diebstahl), aber sie alle gefährden unsere Freiheiten. Das Kodierungssystem des FBI wird nicht von jeder Strafverfolgungsbehörde im Land verwendet. Beispielsweise hat die Polizei von Chicago über 50 Arten von Straftaten in ihrem CLEAR-System (Citizen Law Enforcement Analysis and Reporting) kodiert (sie kombinierte seltsamerweise schwere und einfache Angriffe in einer Kategorie – Körperverletzung).

Im Einklang mit der Art und Weise, wie ich die Daten in Teil 1 der Serie verarbeitet habe, habe ich hier den rechtlichen Rahmen angewendet, um diese zwölf Arten von Straftaten in drei Gruppen einzuteilen: Verbrechen gegen die Person, Verbrechen gegen Eigentum und Verbrechen gegen die Gesellschaft. Diese ebenfalls weit verbreitete Struktur betont, wer die Last von Verbrechen trägt – eine Person, Eigentum oder die gesamte Gesellschaft. Ähnlich wie bei diesem Klassifizierungsansatz gibt es auch die Unterscheidung zwischen Vergehen und Verbrechen, die auf der verurteilten Zeit im Gefängnis basiert.

Wie wir aus der folgenden Tabelle ersehen können, machten einfache Körperverletzung oder Einschüchterung fast die Hälfte aller Straftaten aus, die im Jahr 2021 in Washington, D.C. zu einer Verhaftung führten, und sind zahlenmäßig fast fünfmal so hoch wie die zweithöchste Kategorie, Kriminalität gegen die Gesellschaft, die im wahrsten Sinne des Wortes steht für Verbrechen wie Prostitution! Wenn wir diese Kategorie ausschließen (im Gegensatz zu schweren Übergriffen handelt es sich bei einfachen Übergriffen in der Regel um leichte Übergriffe, ohne Schusswaffe/Waffe und ohne große Körperverletzung), ist die Zahl der Festnahmen aufgrund von Gewaltverbrechen in etwa gleich groß wie die der anderen zwei Kategorien, was insofern seltsam ist, als Gewaltverbrechen normalerweise die seltensten aller Verbrechen sind. Gibt es einen Grund für die wahnsinnige Zahl an Übergriffen und Gewaltverbrechen? Wir können diese Frage mit unseren Daten nicht beantworten, aber das ist eine tolle Idee für die Forschung.

dc21 %>%group_by(offense) %>%summarise(count = n()) %>%mutate(`Percent (%)` = Round(count/sum(count)*100,2)) %>%gt( ) %>%cols_align(align = “left”,columns = offensive) %>%cols_label(offense = “Offense”,count = “Count”) %>%tab_row_group(label = “Other Crimes”,rows = 11:12 ) %>%tab_row_group(label = “Volksverbrechen/Verbrechen gegen Eigentum”,rows = 7:10) %>%tab_row_group(label = “Gewaltverbrechen/Verbrechen gegen Personen”,rows = 1:6) %>%tab_options( Column_labels.border.top.width = px(3),column_labels.border.top.color = “transparent”,table.border.top.color = “transparent”,table.border.bottom.color = “transparent”,data_row .padding = px(3),source_notes.font.size = 12,heading.align = “left”,#Gruppierte Zeilen anpassen, damit sie hervorstechen outrow_group.background.color = “#e3e3e3”) %>%tab_style(locations = cell_column_labels(columns = everything()),style = list(cell_borders(sides = “bottom”, Weight = px(3)),cell_text(weight = “bold”)))

Die folgende Tabelle erzählt die gleiche Geschichte auf optisch ansprechendere Weise. Ich habe die Balken entsprechend der Angriffsgruppe, zu der sie gehören, eingefärbt und überflüssige Gitterlinien entfernt.

dc21 %>%group_by(offense) %>%summarise(count = n()) %>%ggplot(aes(x = offensive, y = count)) +geom_col(fill = “#12719e”) +coord_flip() + scale_x_discrete(limits=rev) +theme_classic() +scale_y_continuous(expand = c(0, 0),limits = c(0, 2200), breaks = c(0,100,seq(250, 2000, 250), 4500)) + theme(# text = element_text(family = “sans”), #andere Standardschriftarten sind nicht gut für das Webtitle =element_text(size=11, face=’bold’),panel.grid.major.y = element_blank(), panel.grid.minor.y = element_blank(),panel.grid.major.x = element_line(),axis.line.y = element_line(),axis.line.x = element_blank()) + labs(x = ” “, y = “”,caption = “Quelle: Daten des Uniform Crime Report 2021”) +geom_vline(xintercept = 2.5,colour = “red”, size = 1.5) +annotate(“text”, y = 1000, x = 1.5 , label = „Andere Verbrechen“, color = „#af1f6b“) +geom_vline(xintercept = 6.6, color = „red“, size = 1.5) +annotate(“text“, y = 1000, x = 10, label = „ Gewaltverbrechen”, color = “#af1f6b”) +annotate(“text”, y = 1000, x = 5, label = “(Gewalt-) Eigentumsverbrechen”,color = “#af1f6b”) +ggtitle(“Verhaftungen in DC Fläche nach Straftattyp im Jahr 2021”)

Mit der Waffe

Das Problem der Waffen ist ein gravierendes Problem, mit dem die Nation konfrontiert ist, aber nicht alle Verbrechen sind mit einer Waffe verbunden. Als Student und Forscher der Kriminalpolitik erlebe ich oft, wie dieses Thema von Politikern verdreht und manipuliert wird, um ihrer Agenda zu dienen und ihre Ideen zu verbreiten. Tatsache ist, dass bei den meisten Straftaten weder eine Waffe noch eine Schusswaffe im Spiel waren. Obwohl laut einer aktuellen Umfrage des Pew Research Center die Zahl der durch Schusswaffen ausgelösten Tötungsdelikte in den letzten Jahren zugenommen hat, stellen Verbrechen mit Schusswaffen noch immer einen kleinen Prozentsatz aller begangenen Straftaten dar, und über die Hälfte dieser Opfer im Zusammenhang mit Schusswaffen waren Selbstmorde. Darüber hinaus gibt es nur sehr wenige Forschungsergebnisse, die auf einen kausalen Zusammenhang zwischen Waffenbesitz und Straftaten hinweisen.

Dennoch ist es für uns wichtig zu wissen, wie viele Fälle im Zusammenhang mit Waffen standen, wer eine Waffe benutzte und welche Waffentäter eingesetzt wurden, um unsere Neugier zu stillen, gezieltere und wirksamere Maßnahmen zur Kriminalprävention zu formulieren und zu verhindern, dass noch mehr Unschuldige ihr Leben verlieren wertvolle Community-Mitglieder. Dazu dient auch die Forschung: eine bessere Zukunft aufzubauen, in der das Leben der Menschen geschätzt wird.

Aus unseren Daten geht hervor, dass die absolute Mehrheit der Festnahmen (etwa 80 %) nicht durch den Einsatz von Waffen durch die Täter verursacht wurde. Dies gilt für Straftäter aller Rassen, Geschlechter und Altersgruppen.

dc21 %>%count(race_new, Waffe) %>%gt() %>%cols_align(align = “left”,columns = race_new) %>%cols_align(align = “left”,columns = Waffe) %>%cols_label (n = „Count“,weapon = „Weapon“,race_new = „Race“)

Laut dem horizontal gestapelten Balkendiagramm hatten Weiße den niedrigsten Anteil an Festnahmen (ca. 8 %), bei denen es um Schusswaffen wie Schusswaffen oder Gewehre ging. Andererseits hatten Schwarze den höchsten Anteil (ca. 15 %) an waffenbedingten Verhaftungen. Dies hängt möglicherweise mit der Existenz schwarzer Banden in der berüchtigten südöstlichen Region der Stadt zusammen, in der Bandenkämpfe und Schießereien an der Tagesordnung sind und in bestimmten Straßen Probleme mit schädlicher Bandenregulierung und unzureichender Polizeiarbeit vorherrschen.

Unabhängig von der Rassengruppe wurden die Verhaftungen jedoch überwiegend mit Personen in Verbindung gebracht, die keine Waffen trugen (dies bedeutet nicht, dass die gleiche Anzahl an Fällen gewaltfrei ist).

dc21 %>%mutate(weapon = fct_rev(weapon)) %>%group_by(race_new, Waffe) %>%summarise(count = n()) %>%ggplot(aes(x = race_new, y = count, fill = Waffe)) +geom_col(position = “fill”, width = .8) +coord_flip() +labs(title = “Ein höherer Anteil an Afroamerikanern wurde wegen Verbrechen im Zusammenhang mit Schusswaffen verhaftet\n als bei anderen Rassen in DC”, Bildunterschrift = „Quelle: Daten des Uniform Crime Report 2021“,y = „“,x = „“) +theme_classic() +theme(title =element_text(size=10, face=’bold’),axis.line.x = element_blank (),panel.grid.major.x = element_line(color = “gray60”, size = 0.6,linetype = “solid”)) +scale_x_discrete(limits = rev, labels = c(“Andere Rassen”, “Schwarze oder Afrikaner \nAmericans”, “Whites”)) +scale_y_continuous(expand = c(0,0),breaks = seq(0,1,.2),labels = scales::percent) +guides(fill = guide_legend(title = NULL )) +scale_fill_manual(values=c(“#e46aa7”, “#46abdb”, “#d2d2d2”))

Von EDA zur statistischen Modellierung

In vielen Projekten endete die Analyse mit der explorativen Datenanalyse, wie wir es im letzten Abschnitt durchgeführt haben. In vielen anderen Fällen müssen wir mehr Modellierung betreiben, um Schlussfolgerungen zu ziehen. Die Frage, ob wir Datenmodellierung betreiben oder nicht, hängt vom Ziel unserer Forschung ab. Wenn wir daran interessiert sind, über das „Was“ und das „Wie“ – die inneren Mechanismen von Daten – hinauszugehen, ist die Ausführung einiger Modelle auf den Daten ein Muss. Grafiken und Tabellen können Ihnen die Zahlen verraten, aber sie können Ihnen nicht das „Wie“ sagen: Wir können nicht sagen, dass zwei Dinge zusammenhängen oder kausal zusammenhängen, ohne einige statistische Tests durchzuführen. Wenn Sie etwas sagen möchten wie „A hat B um xxx (eine Zahl/ein Niveau) erhöht/verringert“, müssen Sie eine Modellierung durchführen.

Es gibt unzählige statistische Modelle, die verschiedene Arten von Daten anpassen, von Regression und mehrstufiger Modellierung bis hin zu randomisierten kontrollierten Studien, Differenz-in-Differenz-Modellen (für kausale Schlussfolgerungen), maschinellem Lernen und Deep Learning. Dabei geht es um die Frage, wie die Daten aussehen und welche Fragen das Team beantworten möchte. Meistens wird das Problem durch eine Regression gelöst, aber manchmal wird die Sache schwieriger. Dies liegt insbesondere daran, dass die meisten Modelle das Bestehen bestimmter Annahmen voraussetzen und jede Verletzung zur Unzuverlässigkeit unserer Ergebnisse führt. Daher ist es eine gängige Praxis, die Annahmen zu überprüfen, sobald das Modell geschrieben ist.

Da unsere Daten nur verhaftete Personen umfassen, ist eine Regression nicht einfach. Eine gute Frage wäre vielmehr, was mit dem Einsatz von Schusswaffen bei einer Straftat zusammenhängt. Benutzen bestimmte sozioökonomische Gruppen in Washington eher Schusswaffen? Wir beantworten diese Frage mit einem verallgemeinerten linearen Modell (GLM).

Verallgemeinerte lineare Regression

Ein allgemeines lineares Modell wird verwendet, um alle Daten zu modellieren, die keiner Normalverteilung folgen, sodass die OLS-Annahme nicht unterstützt wird. Im klassischsten Fall haben diese Modelle eine kategoriale Variable als abhängige Variable (y) und folgen einer Binomialverteilung (mit 0/1 oder zwei Gruppen als Werte). Es gibt jedoch viele Ausnahmen von dieser Regel, die jedoch nicht Gegenstand dieser Diskussion sind. Die Verteilung, der die Daten folgen, wird häufig als „Link-Funktion“ bezeichnet. Der Gleichung folgt ein verallgemeinertes lineares Modell mit einer binomialen Verknüpfungsfunktion

, wobei die Verknüpfungsfunktion und die unabhängige Variable sind. GLM geht nicht von vielen Annahmen aus, daher können wir diesen Schritt normalerweise überspringen, solange wir sicherstellen können, dass die Beobachtungen in den Daten unabhängig sind, was eine Frage des Forschungsdesigns (Datenerhebung) ist.

In meiner Forschungsfrage 2 geht es darum, ob die Anwendung von Gewalt die Wahrscheinlichkeit erhöht, verhaftet zu werden. Dieser Frage wird im letzten Abschnitt nachgegangen. An dieser Stelle möchte ich näher auf diese Frage eingehen und fragen: Ist die Wahrscheinlichkeit, dass bestimmte Gruppen Gewalt anwenden, höher? Um das zu beantworten, habe ich eine Dummy-Variable erstellt (eine Dummy-Variable ist eine Variable mit 0 oder 1/Wahr oder Falsch), die angibt, ob der Festgenommene Gewalt angewendet hat. Mit Gewalt meine ich den Einsatz von Schusswaffen oder anderen Schusswaffen wie Gewehren. Auf der x-Achsenseite habe ich drei Variablen eingefügt: , und.

In einem GLM-Modell beziehen sich die Schätzungen auf die logarithmischen Quoten der Koeffizienten, sodass wir sie nicht auf die Art und Weise interpretieren können, wie wir diese Statistiken in einem linearen Regressionsmodell interpretieren. Ein üblicher Ansatz besteht darin, die Koeffizienten zu potenzieren, mit denen wir die Quotenverhältnisse erhalten, und sie in der Konvention „die Quote von Gruppe A vs. die Quote von Gruppe B“ zu interpretieren.

Der P-Wert ist eine weitere Statistik, die wir uns ansehen. Ein p-Wert kleiner als 0,001/0,05 deutet auf eine robuste statistische Korrelation hin, während ein p-Wert kleiner als 0,01 einige Korrelationen darstellt. Ein p-Wert größer als 0,01 deutet auf keinen statistischen Zusammenhang hin (normalerweise reicht ein p-Wert größer als 0,05 aus, um dasselbe zu sagen).

Wie bei linearen Regressionen können wir alle Statistiken mit der Funktion in Basis R erhalten. Wir können auch einen ANOVA-Test durchführen, um die Varianz zu untersuchen.

dc21_mod <-dc21 %>%mutate(use_force = if_else(weapon == “Firearm-involved”, 1, 0)) mod <- glm(use_force ~ race_new + sex + age, family = "binomial",data = dc21_mod) Zusammenfassung (Mod)

Ich liebe die Funktion, aber die Ausgabe ist nicht schön genug, um sie auf Papier zu bringen. Glücklicherweise bietet das Paket einige Hilfsfunktionen, die unsere verallgemeinerte Regressionstabelle zur Veröffentlichungsqualität machen. Die Funktion wandelt für uns automatisch Log-Quoten in Quotenverhältnisse um, sodass wir diese Transformation nicht manuell durchführen müssen.

Anhand der Tabelle können wir einiges erkennen. Erstens ist die Wahrscheinlichkeit, eine Schusswaffe zu benutzen oder keine Schusswaffe zu benutzen, bei Schwarzen um den Faktor 1,90 höher als bei Weißen. Geschlechterweit steigt die Wahrscheinlichkeit, eine Schusswaffe zu benutzen, um den Faktor 2,34, wenn es sich bei der Person um einen Mann handelt. Schließlich hat das Alter einen irgendwie negativen Zusammenhang mit dem Gebrauch einer Schusswaffe, dieser Effekt ist jedoch gering. Bei einem Anstieg des Alters um eine Einheit sehen wir einen ungeraden Rückgang um 0,03. Als asiatischer oder pazifischer Insulaner ist die Wahrscheinlichkeit, eine Waffe zu benutzen, nicht größer als der Weiße (p ist unbedeutend).

Überrascht es Sie, dass Sex stärkere Auswirkungen hat als Rasse? Es wäre interessant zu wissen, ob die starke Wirkung des Geschlechts durch männliche Hormone oder andere soziale Faktoren (z. B. Bandenbeteiligung, Grad der Wohnsegregation, Abbrecherquote) hervorgerufen wird.

sjPlot::tab_model(mod, collaps.ci = TRUE, pred.labels = c(“Weiße oder Frauen (Basisgruppe)”, “Schwarze oder Afroamerikaner”, “Asiaten oder indigene Völker”, “Männer”, “Alter” ),dv.labels = “Modell 1: Wahrscheinlichkeit der Verwendung einer Schusswaffe”,string.p = “P-Wert”)

Mit dem Modell sind wir in der Lage, die Wahrscheinlichkeit zu berechnen, dass Personen aus Gründen im Zusammenhang mit Schusswaffen verhaftet werden, wenn ihre Rasse, ihr Alter und ihr Geschlecht bekannt sind. Ich bin ausdrücklich daran interessiert, die Wahrscheinlichkeit von Menschen zu erfahren, die schwarze Männer/Frauen und weiße Männer/Frauen sind und sich in zwei Altersstufen befinden: 15 und 25 Jahre alt.

Laut der folgenden Tabelle besteht bei schwarzen männlichen Festgenommenen, die im Jahr 2021 etwa 15 Jahre alt waren, eine Wahrscheinlichkeit von 30,4 %, wegen des Gebrauchs von Schusswaffen verhaftet zu werden. Die Chance verringert sich auf die Hälfte, wenn es sich bei der jungen schwarzen Person um eine Frau handelt. Bei Weißen liegt die Wahrscheinlichkeit zwischen 6,8 % und 18,8 %. Kurz gesagt, die Wahrscheinlichkeit, wegen des Gebrauchs von Schusswaffen verhaftet zu werden, ist für Frauen unabhängig von ihrer Rasse und ihrem Alter gering (< 15 %).

sample_pop <- data.frame(race_new = c(rep("Schwarzer oder Afroamerikaner", 4), rep("Weiß", 4)),sex = c(rep(c("Männlich", "Männlich", " Weiblich“, „Weiblich“), 2)),age = rep(c(15, 25), 4)) sample_pop$prob = Round(predict(mod,newdata = sample_pop, type = „response“), 4) sample_pop <-sample_pop %>%mutate(prob = prob *100) %>%rename(race = race_new ,`probability (%)` = prob) %>%rename_with(str_to_title) # alles in Groß- und Kleinschreibung umwandeln sample_pop %>%gt () %>%tab_options(column_labels.border.top.width = px(3),column_labels.border.top.color = “transparent”,table.border.top.color = “transparent”,table.border.bottom. color = “transparent”,data_row.padding = px(3),source_notes.font.size = 12,heading.align = “left”,#Gruppierte Zeilen anpassen, damit sie hervorstechen outrow_group.background.color = “#e3e3e3”) %>%tab_style(locations = cell_column_labels(columns = everything()),style = list(cell_borders(sides = “bottom”, Weight = px(3)),cell_text(weight = “bold”))) %>%tab_header (title = md(“**Wahrscheinlichkeit, dass Einwohner von DC im Jahr 2021 von einem MPD-Beamten wegen Schusswaffengebrauchs verhaftet werden**”),subtitle = md(“unter Berücksichtigung von „Rasse“, „Geschlecht“ und „Alter“. “))

Am Ende

Daten bedeuten keine Objektivität. Statistiken werden häufig von Politikern zur Unterstützung ihrer Propaganda missbraucht. Zum Beispiel könnten Menschen die Tatsache rationalisieren, dass Beamte mehr Schwarze als jede andere Rassengruppe wegen Gewaltverbrechen in Washington, D.C. verhaftet haben, weil Schwarze von Natur aus gewalttätiger sind. Menschen, die das sagen, verstehen jedoch oft nicht das Gesamtbild hinter diesen Zahlen: Im Vergleich zu Weißen und Asiaten leben Schwarze mit größerer Wahrscheinlichkeit in segregierten Gebieten und Gebieten mit niedrigem Einkommen, erleben täglich Gewalt und erhalten weniger Unterstützung von der Bevölkerung Regierung, besuchen unterfinanzierte Schulen und werden durch systematischen Rassismus geschädigt. Kriminalität ist komplex. Viele Faktoren könnten das Auf und Ab der Kriminalität beeinflussen. Hinter diesen Kriminalstatistiken stehen Geschichten, Geschichten von Menschen, von denen viele Tragödien sind. Datenwissenschaft bringt nicht immer Lösungen für Probleme. Das könnte sein, aber die Voraussetzung dafür ist, dass wir Daten mit einem objektiven Blick behandeln und unsere Ergebnisse mit größtmöglicher Vorsicht interpretieren. Es ist leicht, Schlussfolgerungen zu ziehen, aber Worte können Ihnen schaden. Der eigentliche Zweck der Datenwissenschaft besteht darin, dass sie uns hilft, das „Was“ zu erkennen, das die Grundlage jeder politischen Änderung ist.


(Teilfinal) Fostering Social Impacts with Data Science wurde ursprünglich in Towards AI auf Medium veröffentlicht, wo die Leute das Gespräch fortsetzen, indem sie diese Geschichte hervorheben und darauf reagieren.

Veröffentlicht über Towards AI