{"id":36746,"date":"2022-06-24T10:50:28","date_gmt":"2022-06-24T08:50:28","guid":{"rendered":"https:\/\/www.inovex.de\/?p=36746"},"modified":"2022-11-22T10:22:07","modified_gmt":"2022-11-22T09:22:07","slug":"automatisch-generierte-synonyme-bessere-suchergebnisse","status":"publish","type":"post","link":"https:\/\/www.inovex.de\/de\/blog\/automatisch-generierte-synonyme-bessere-suchergebnisse\/","title":{"rendered":"Automatisch generierte Synonyme f\u00fcr bessere Suchergebnisse"},"content":{"rendered":"<p>Das Durchsuchen gro\u00dfer Textkorpora ist im Jahr 2022 eine fast schon triviale Aufgabe. Verteilte, hochperformante Datenbanken durchsuchen in sekundenschnelle tausende Texte auf der <a title=\"Search\" href=\"https:\/\/www.inovex.de\/de\/leistungen\/search\/\" rel=\"\">Suche<\/a> nach Schlagw\u00f6rtern, Orten oder Namen. Was ist aber, wenn wir gar nicht so genau wissen, wie gesuchte Informationen genau gespeichert wurden?<!--more--><\/p>\n<p>Wir vom Forschungsprojekt <a title=\"Service-Meister\" href=\"https:\/\/www.inovex.de\/de\/leistungen\/internet-of-things\/service-meister\/\" rel=\"\">Servicemeister<\/a> sind \u00fcber das Problem gestolpert, dass wir Servicetechniker:innen Informationen zu Serviceeins\u00e4tzen, wie Reparaturen und Wartungen, aus alten Reports zur Verf\u00fcgung stellen wollen. Diese alten Reports sind allerdings nicht standardisiert ausgef\u00fcllt: W\u00e4hrend Technikerin A schreibt: \u201eDisplay war defekt, habe Ersatzteil XYZ benutzt\u201c, schreibt Techniker B: \u201eBildschirm kaputt, XYZ ausgetauscht\u201c. Die Information, die wir suchen, ist, dass \u201eXYZ&#8220; austauschen scheinbar das Problem behebt, und ist in beiden Texten vorhanden. F\u00fcr einen Menschen ist nat\u00fcrlich leicht zu sehen, dass beide Reports das gleiche Problem und daher auch die gleiche L\u00f6sung beschreiben, f\u00fcr Computer ist das schon schwieriger.<\/p>\n<p>Es springt aber sofort ins Auge, dass gewisse Keywords einfach durch Synonyme ausgetauscht sind, sodass der Inhalt semantisch identisch bleibt. Da wir, wie eingangs erw\u00e4hnt, unsere Textdatenbank problemlos durchsuchen k\u00f6nnen, sollen ausgew\u00e4hlte Teile der Anfragen durch automatisch generierte Synonyme erweitert werden. So k\u00f6nnen wir mehr relevante Reports finden und den Techniker:innen zur Verf\u00fcgung stellen.<\/p>\n<h2>Die Problemstellung<\/h2>\n<p>Die meisten Menschen k\u00f6nnen in ihrer Muttersprache problemlos Synonyme erkennen, verstehen und nutzen. Schon seit Ewigkeiten, in Computerzeit gerechnet, gibt es Thesauri, die dies ebenfalls beherrschen. Komplizierter wird es erst in einer eigenen Sprachdom\u00e4ne, mit Neologismen und speziellen Bedeutungen einzelner W\u00f6rter.<\/p>\n<p>Um das zu verdeutlichen, hier ein Beispiel aus unserem Projekt: KROHNE, unser Partner bei Servicemeister, benutzt beispielsweise den Optiflux 4400, ein magnetisch-induktives Durchflussmessger\u00e4t, das fast identisch zum Optiflux 3400 ist und baulich auch sehr verwandt mit dem Waterflux. Es kann also durchaus helfen, eine Suche nach <strong>Optiflux 4400 Display defekt<\/strong> um \u201e3400\u201c und \u201eWaterflux\u201c zu erweitern und zu schauen, ob in der Vergangenheit bereits ein Display bei einem anderen Optiflux oder Waterflux repariert wurde um so an hilfreiche Informationen zu kommen. Als Search Engine nutzen wir <a href=\"https:\/\/www.elastic.co\/de\/elasticsearch\/\">Elasticsearch<\/a>, was uns erlaubt, Suchbegriffe mit AND\/OR &#8211; Verkn\u00fcpfungen zu kombinieren: Aus der urspr\u00fcnglichen Suche <strong>Optiflux 4400 defekt<\/strong> wird dann durch automatisch generierte Synonyme folgende Suchanfrage:<\/p>\n<p><strong>(Optiflux OR Waterflux) AND (4400 OR 3400) AND (defekt OR kaputt OR funktioniert nicht)<\/strong><\/p>\n<p>Das OR bedeutet, einer oder mehrere der Begriffe einer Gruppe m\u00fcssen vorkommen, ein AND bedeutet, dass aus jeder der Gruppen ein Wort vorkommen muss. Elasticsearch bietet diese Option von Haus aus und durchsucht in wenigen Augenblicken unsere 15.000 Dokumente. Damit bleibt f\u00fcr uns die Aufgabe, sinnvolle Synonyme zu suchen.<\/p>\n<h2>Automatisch generierte Synonyme<\/h2>\n<p>Grunds\u00e4tzlich gibt es drei Ans\u00e4tze, um Synonyme automatisch zu generieren oder zu finden, da sie ja prinzipiell in der Sprache schon vorhanden sind:<\/p>\n<h3>W\u00f6rterbuch-basiert<\/h3>\n<p>Der wohl bekannteste Weg ist es, ein W\u00f6rterbuch zu benutzen. Damit kommt man schon \u00fcberraschend weit, aber das funktioniert (ohne Weiteres) erstmal nur f\u00fcr einzelne W\u00f6rter. Da man auch nicht kontrollieren kann, wie \u201e\u00e4hnlich\u201c sich die Synonyme denn nun wirklich sind, gilt es, vorsichtig zu sein \u2013 gerade wenn man neue S\u00e4tze mit den Synonymen baut. Wenn man in einem Satz zwei W\u00f6rter ver\u00e4ndert, die keine \u201eperfekten\u201c Synonyme sind, kann man schon durchaus den Inhalt \u00e4ndern. Kleines Beispiel? <em>M\u00f6gen<\/em> und <em>Wollen<\/em> sind als Synonyme verzeichnet, genauso wie <em>Kumpel<\/em> und <em>Mitarbeiter<\/em>.<\/p>\n<p>Relevante Ressourcen: <a href=\"https:\/\/www.openthesaurus.de\/\">Openthesaurus<\/a>, Wordnet [1]<\/p>\n<h3>Synonyme mittels Statistical Language Models (SLM)<\/h3>\n<p>Die grunds\u00e4tzliche Idee ist, dass W\u00f6rter durch den Kontext, in dem sie auftauchen, repr\u00e4sentiert werden, meist in Form sogenannter Embeddings. Wenn W\u00f6rter nun immer in \u00e4hnlichen Kontexten auftauchen, wie es bei Synonymen zu erwarten ist, dann sollte diese Repr\u00e4sentation also sehr \u00e4hnlich sein. \u00c4hnlichkeit wird bei Embeddings \u00fcblicherweise in Kosinus-\u00c4hnlichkeit gemessen.<\/p>\n<p>Man kann dann einfach unter allen bekannten W\u00f6rtern das \u00e4hnlichste Wort suchen, und es sollte, so die Theorie, eine enge semantische Verwandtschaft zum urspr\u00fcnglichen Wort haben. Diese Verwandtschaft muss allerdings nicht zwangsl\u00e4ufig \u201esynonym\u201c bedeuten, auch haben beispielsweise unterschiedliche Flexionen von Worten oft sehr \u00e4hnliche Embeddings.<\/p>\n<p>Grob kann man Methoden dieses Ansatzes in zwei Familien einteilen: jene, die kontextuelle SLMs (wie BERT [2]) nutzen und solche, die \u201eklassische\u201c SLMs (wie Word2Vec [3]) nutzen. Erstere haben den Vorteil, dass genutzter Kontext tendenziell bessere Synonyme finden kann, da diese nat\u00fcrlich sehr von diesem abh\u00e4ngig sind. Sie haben jedoch den Nachteil, dass Training und Suche von Synonymen deutlich aufwendiger sind.<\/p>\n<p>Wer sich genauer f\u00fcr den Unterschied von kontextuellen und traditionellen Embeddings interessiert, findet unter anderem <a href=\"https:\/\/medium.com\/swlh\/differences-between-word2vec-and-bert-c08a3326b5d1\">hier<\/a> einen tollen \u00dcbersichtsartikel dazu. Unterschiedliche Methoden zum Thema automatisch generierte Synonyme\u00a0 mit diesem Ansatz gibt es zum Beispiel in dieser aktuellen Survey [4].<\/p>\n<h3>Translation Graphs<\/h3>\n<p>Hier werden bilinguale W\u00f6rterb\u00fccher verwendet um Synonyme zu finden. Es gibt auch hier viele verschiedene Implementierungen, generell aber werden \u00dcbersetzungen eines Wortes gesucht und diese dann wieder in die Ausgangssprache \u00fcbersetzt. Da \u00dcbersetzungen h\u00e4ufig der Form 1:n sind, sprich ein Wort hat mindestens eine, meist aber mehrere \u00dcbersetzungen, erh\u00e4lt man so mehrere Ergebnisse. \u00dcbersetzt man diese Worte dann wieder zur\u00fcck in die Ausgangssprache, erh\u00e4lt man eine Menge an potentiellen Synonymen.<\/p>\n<p>Konkrete Implementationen davon sehen dann z. B. wie folgt aus: Die Autoren von [5] erweitern diesen Ansatz um weitere Levels und stoppen, wenn das Ursprungswort wieder erreicht wird. Oder formaler ausgedr\u00fcckt: Sei \\(a \\) ein Wort in Sprache \\(A \\) und \\(e \\) ein Wort in Sprache \\(E \\) und \\(A \\rightarrow E \\) eine \u00dcbersetzung von \\(A \\) nach \\(E \\) . Dann sind Synonyme wie folgt definiert: Gibt es einen zyklischen Graphen der Form \\((a1\\rightarrow e1 \\rightarrow a2 \\rightarrow e2 \\rightarrow a3 \\rightarrow e3 \\rightarrow a1) \\) dann sind die Sets \\(\\{a1, a2, a3\\} \\) und \\(\\{e1, e2, e3\\} \\) Kandidaten f\u00fcr Synonyme.<\/p>\n<p>Da bilinguale W\u00f6rterb\u00fccher f\u00fcr den Gro\u00dfteil an gesprochenen Sprachen leicht verf\u00fcgbare Ressourcen sind und man i.d.R keine Berechnungen durchgef\u00fchrt werden, sind dieser und verwandte Ans\u00e4tze sehr effizient implementierbar.<\/p>\n<h2>Erweiterbarkeit der Ans\u00e4tze<\/h2>\n<p>Da wir automatisch generierte Synonyme in unserer eigenen Sprachdom\u00e4nde such, m\u00fcssen die Ans\u00e4tze erweiterbar sein. F\u00fcr Thesauri und Wordnets dies manuell in jedem Fall m\u00f6glich. WordNets sind in der Regel allerdings algorithmisch generiert, sodass man mit ausreichend gro\u00dfen Ressourcen diese auch automatisch erweitern k\u00f6nnte. Gleiches gilt f\u00fcr Ans\u00e4tze basierend auf Statistical Language Models. Da diese in der Regel aber ein fixes Vokabular haben, kann es sein, dass man dieses erweitern muss \u2013 ein neues Training des gesamten Modells ist dann notwendig. Generell ist das nat\u00fcrlich machbar, aber gerade f\u00fcr kontextuelle Modelle wie BERT ist es in vielerlei Hinsicht <em>teuer<\/em>.<\/p>\n<p>Translation Graphs zu erweitern macht in diesem Kontext keinen Sinn, da das Vokabular mehr oder weniger um Eigennamen erweitert werden muss.<\/p>\n<h2>Ausgew\u00e4hlter Ansatz<\/h2>\n<p>Wir haben einen Embedding-basierten Ansatz [6] gew\u00e4hlt, der auf Word2Vec basiert. Im Paper werden gute Ergebnisse pr\u00e4sentiert (mehr dazu im Abschnitt Evaluation), der Algorithmus und das Modell sind aber trotzdem einfach und schnell zu trainieren bzw. implementieren und gut nachvollziehbar.<\/p>\n<p>Im Prinzip wird zu einem Target-Wort t ein synonymes Wort s gesucht, das sowohl \u00e4hnlich zu t ist als auch \u00e4hnlich zum aktuellen Kontext c von t. Wenn zum Beispiel ein Synonym f\u00fcr \u201eacquire\u201c gesucht wird, das im Kontext von \u201ecompany\u201c auftaucht, dann w\u00fcrde der Einfluss des Kontexts daf\u00fcr sorgen, dass nicht der n\u00e4chste Nachbar von \u201eacquire\u201c ausgew\u00e4hlt wird (hier im Beispiel \u201elearn\u201c) sondern \u201ebuy\u201c, das in Summe eine h\u00f6here \u00c4hnlichkeit zu t und c hat. Klingt vielleicht erstmal kompliziert, aber in der folgenden Grafik sieht man das Beispiel bildlich dargestellt, sodass es einfacher zu verstehen ist:<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-36756 size-large\" src=\"https:\/\/www.inovex.de\/wp-content\/uploads\/synonyms.drawio-1024x966.png\" alt=\"Koordinatensystem mit Punkten learn, acquire, buy, purchase\" width=\"640\" height=\"604\" srcset=\"https:\/\/www.inovex.de\/wp-content\/uploads\/synonyms.drawio-1024x966.png 1024w, https:\/\/www.inovex.de\/wp-content\/uploads\/synonyms.drawio-300x283.png 300w, https:\/\/www.inovex.de\/wp-content\/uploads\/synonyms.drawio-768x724.png 768w, https:\/\/www.inovex.de\/wp-content\/uploads\/synonyms.drawio-1536x1449.png 1536w, https:\/\/www.inovex.de\/wp-content\/uploads\/synonyms.drawio-2048x1932.png 2048w, https:\/\/www.inovex.de\/wp-content\/uploads\/synonyms.drawio-1920x1811.png 1920w, https:\/\/www.inovex.de\/wp-content\/uploads\/synonyms.drawio-400x377.png 400w, https:\/\/www.inovex.de\/wp-content\/uploads\/synonyms.drawio-360x340.png 360w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/p>\n<p>F\u00fcr \u00c4hnlichkeit werden im Paper die vier folgenden Substituierungsma\u00dfe pr\u00e4sentiert, mit denen der Einfluss des Kontexts c auf s kontrolliert wir:<\/p>\n<p>\\(\\begin{align*} \\text{Add} &amp;= \\frac{cos(s,t) + \\sum_{c \\in C} cos(s,c)}{|C| + 1} \\\\ \\text{BalAdd} &amp;= \\frac{|C| \\times cos(s,t) + \\sum_{c \\in C} cos(s,c)}{2 \\times|C|} \\\\ \\text{Mult} &amp;= \\sqrt[\\leftroot{10} \\uproot{5} |C| + 1] {pcos(s,t) \\times \\prod_{c \\in C} pcos(s,c)} \\\\ \\text{BalMult} &amp;= \\sqrt[\\leftroot{10} \\uproot{5} 2 \\times |C|] {pcos(s,t)^{|C|} \\times \\prod_{c \\in C} pcos(s,c)} \\end{align*} \\)<\/p>\n<p>Jede hiervon hat eigene Vor- und Nachteile, die im Paper kurz erl\u00e4utert werden, generell wird aber probiert, den Kontext st\u00e4rker oder schw\u00e4cher in das Endergebnis mit einzubeziehen und man ist gut damit beraten, alle auszuprobieren.<\/p>\n<h2>Adaption<\/h2>\n<p>Im Original wird Word2Vecf [7] verwendet, eine dependency-based Variante von Word2Vec. Wir nutzen trotzdem letzteres, da wir erstens keine Implementation hierzu gefunden haben, und ein Nachbau den zeitlichen Rahmen gesprengt h\u00e4tte und die Unterschiede auf den ersten Blick nicht signifikant aussehen. Ob das eine gute Entscheidung war, dazu sp\u00e4ter mehr. Generell sollte aber auch das \u201enormale\u201c Word2Vec funktionieren, denn auch hier bekommen Worte, die in \u00e4hnlichem Kontext stehen, \u00e4hnliche Embeddings \u2013 auch wenn diese dann eher \u201efunktionelle anstatt topic Relationship widerspiegeln\u201c [6].<\/p>\n<p>Wir trainieren also ein Word2Vec-Modell und nutzen hierzu wir Wikipedia Dumps, German News Corpora (siehe [8]) und unsere dom\u00e4nenspezifischen Korpora, bestehend aus extrahierten Service Manuals f\u00fcr Krohne-Produkte und den erw\u00e4hnten Reports. Das Training l\u00e4uft wenige Stunden auf unserem Cluster, die Ergebnisse sehen vielversprechend aus, hier sieht man beispielhaft die zehn \u00e4hnlichsten W\u00f6rter zu defekt:<\/p>\n<table>\n<tbody>\n<tr>\n<td><span style=\"font-weight: 400;\">Rang<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Wort<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Cosinus-\u00c4hnlichkeit<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">1. &#8211; 4.<\/span><\/td>\n<td><b>defekt[e, er, es]<\/b><\/td>\n<td><span style=\"font-weight: 400;\">0.8270 &#8211; 0.7323<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">5.<\/span><\/td>\n<td><b>kurzschluss<\/b><\/td>\n<td><span style=\"font-weight: 400;\">0.6960<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">6.<\/span><\/td>\n<td><b>fehlfunktion<\/b><\/td>\n<td><span style=\"font-weight: 400;\">0.6574<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">7.<\/span><\/td>\n<td><b>wegen defekten<\/b><\/td>\n<td><span style=\"font-weight: 400;\">0.6114<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">8.<\/span><\/td>\n<td><b>materialfehler<\/b><\/td>\n<td><span style=\"font-weight: 400;\">0.6074<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">9.<\/span><\/td>\n<td><b>technischer defekt<\/b><\/td>\n<td><span style=\"font-weight: 400;\">0.6040<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">10.<\/span><\/td>\n<td><b>ausfall<\/b><\/td>\n<td><span style=\"font-weight: 400;\">0.5983<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Die \u00e4hnlichsten vier Worte sind allesamt Abwandlungen vom Target selbst. Die darauffolgenden zeigen allerdings schon die St\u00e4rke von SLM: Materialfehler und Kurzschluss sind Hyponyme von defekt in unserer Dom\u00e4ne, also Unterarten von Defekten, die an den Bauteilen auftreten k\u00f6nnen. So weit, so gut!<\/p>\n<h2>Evaluation automatisch generierter Synonyme<\/h2>\n<p>Hier f\u00e4ngt der wirklich schwierige Teil an, da es kein standardisiertes Verfahren gibt, um die Qualit\u00e4t von Synonymen zu pr\u00fcfen. Das gilt insbesondere f\u00fcr die deutsche Sprache, denn f\u00fcr Englisch g\u00e4be es einen SemEval Task [9], der im Paper als Benchmark genutzt wird. Da wir aber gerade an Synonymen in unserer Dom\u00e4ne (und Sprache) interessiert sind, hilft das nicht viel weiter. Es bleibt also nichts anderes \u00fcbrig, als manuell ein Testset zu erstellen.<\/p>\n<p>Evaluiert werden verschiedene Hyperparameter-Settings von Word2Vec sowie diverse Preprocessing-Schritte und die Substituierungsma\u00dfe des Synonym-Algorithmus. Da man, theoretisch gesehen, jedes Wort des Vokabulars als Kandidat c ausprobieren muss, wird ebenfalls evaluiert, ob es ausreicht, die \u00e4hnlichsten \\(n \\) W\u00f6rter zu checken. Die \u00c4hnlichkeitssuche selbst ist aufgrund der genutzten Word2Vec-Implementation (<a href=\"https:\/\/radimrehurek.com\/gensim\/\">Gensim<\/a>) sehr effizient, sodass wir hier potentiell viel Zeit im sp\u00e4teren Produktiveinsatz sparen k\u00f6nnen.<\/p>\n<p>Die Evaluation sah also wie folgt aus: Wir sammeln ein Set von W\u00f6rtern und \u00fcberlegen, was ein passender Kontext w\u00e4re, der im Feldeinsatz auftauchen k\u00f6nnte. Dann versuchen wir, die automatisch generierten Synonyme qualitativ zu evaluieren, obwohl dass als Laie nat\u00fcrlich problematisch sein kann. Das Ganze machen wir dann f\u00fcr die unterschiedlichen Word2Vec-Modelle, sowie unterschiedliche n Kandidaten (zwischen 100 und 10.000) und die vier Substituierungsma\u00dfe. Eine quantitative Evaluation haben wir nicht vorgenommen, da wir hier lediglich mit den Ergebnissen von den dictionary-based Synonymen h\u00e4tten vergleichen k\u00f6nnen \u2013 die ja aber genannte Probleme haben und als Benchmark auch nicht wirklich Sinn machen. Denn wenn diese als Goldstandard dienen sollen gegen den wir vergleichen, wieso benutzen wir sie dann nicht einfach?<\/p>\n<h2>Ergebnisse<\/h2>\n<h3>Servicemeister-Dom\u00e4ne<\/h3>\n<p>Prinzipiell funktioniert der gew\u00e4hlte Ansatz. Die beschriebene <em>most similar-<\/em>Suche in Word2Vec zeigt immer W\u00f6rter an, die aus menschlicher Sicht Sinn ergeben, also eng verwandt mit unserem Target \\(t\\) sind. Zum Beispiel sind die most similar Worte zu Auto: Motorrad, Fahrzeug, Fahrrad, Autos, PKW und Bus. Das Beispiel illustriert das Problem ganz gut: Manche W\u00f6rter sind Synonyme, manche haben das gleiche Hypernym (im Beispiel w\u00e4re dies <em>Fortbewegungsmittel<\/em>), es ist aber Synonymliste und schon gar keine vollst\u00e4ndige Liste. Die Erweiterung um Kontext kann dies nicht verbessern, wie die folgenden Tabellen zeigt.<\/p>\n<p>Da Substituierungsma\u00df Add (1) und BalAdd (2) und Mult (3) und BalMult (4) meist identische Ergebnisse haben, sind diese zusammengefasst. Target beschreibt das Wort, f\u00fcr das Synonyme gesucht werden, Kontext den jeweiligen Kontext.<\/p>\n<table>\n<tbody>\n<tr>\n<td><span style=\"font-weight: 400;\">Target<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Kontext<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Metric 1+2<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Metric 3+4<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Most Similar<\/span><\/td>\n<\/tr>\n<tr>\n<td><b>optiflux<\/b><\/td>\n<td><span style=\"font-weight: 400;\">defekt<\/span><\/td>\n<td><span style=\"font-weight: 400;\">2100c<\/span><\/td>\n<td><span style=\"font-weight: 400;\">ifc3000<\/span><\/td>\n<td><span style=\"font-weight: 400;\">tidalflux<\/span><\/td>\n<\/tr>\n<tr>\n<td><b>optiflux<\/b><\/td>\n<td><span style=\"font-weight: 400;\">nicht erreichbar<\/span><\/td>\n<td><span style=\"font-weight: 400;\">erreichen<\/span><\/td>\n<td><span style=\"font-weight: 400;\">erreichen<\/span><\/td>\n<td><span style=\"font-weight: 400;\">tidalflux<\/span><\/td>\n<\/tr>\n<tr>\n<td><b>display<\/b><\/td>\n<td><span style=\"font-weight: 400;\">defekt<\/span><\/td>\n<td><span style=\"font-weight: 400;\">wackelkontakt<\/span><\/td>\n<td><span style=\"font-weight: 400;\">wackelkontakt<\/span><\/td>\n<td><span style=\"font-weight: 400;\">displays<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<table>\n<tbody>\n<tr>\n<td><span style=\"font-weight: 400;\">Target<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Kontext<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Metric 1+2<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Metric 3+4<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Most Similar<\/span><\/td>\n<\/tr>\n<tr>\n<td><b>optiflux<\/b><\/td>\n<td><span style=\"font-weight: 400;\">bildschirm, defekt, kontakt<\/span><\/td>\n<td><span style=\"font-weight: 400;\">2100c<\/span><\/td>\n<td><span style=\"font-weight: 400;\">ifc100<\/span><\/td>\n<td><span style=\"font-weight: 400;\">tidalflux<\/span><\/td>\n<\/tr>\n<tr>\n<td><b>tidalflux<\/b><\/td>\n<td><span style=\"font-weight: 400;\">bildschirm, defekt, kontakt<\/span><\/td>\n<td><span style=\"font-weight: 400;\">anschlussdose<\/span><\/td>\n<td><span style=\"font-weight: 400;\">platine<\/span><\/td>\n<td><span style=\"font-weight: 400;\">tidalflux<\/span><\/td>\n<\/tr>\n<tr>\n<td><b>ger\u00e4t<\/b><\/td>\n<td><span style=\"font-weight: 400;\">bildschirm, defekt, kontakt<\/span><\/td>\n<td><span style=\"font-weight: 400;\">sensor<\/span><\/td>\n<td><span style=\"font-weight: 400;\">sensor<\/span><\/td>\n<td><span style=\"font-weight: 400;\">ger\u00e4te<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p>Schon dieser kleine Auszug deutet an, dass keine guten Synonyme mittels des Algorithmus gefunden werden, da der Einfluss des Kontext daf\u00fcr sorgte, dass die W\u00f6rter sich zu un\u00e4hnlich wurden. Eventuell w\u00e4re das Word2Vecf-Modell hier doch besser gewesen, das haben wir allerdings (noch) nicht evaluiert.<\/p>\n<p>Mit der Most-Similar-Suche hingegen bekommen wir immer \u00e4hnliche W\u00f6rter, auch wenn es manchmal nur eine andere Flexion ist \u2013 was man aber nat\u00fcrlich noch filtern oder in einem Preprocessing-Schritt l\u00f6sen kann.<\/p>\n<h3>Deutsche Sprachdom\u00e4ne<\/h3>\n<p>Auch au\u00dferhalb unserer Dom\u00e4ne best\u00e4tigt sich dieser Eindruck, wie folgendes Beispiel zeigt:<\/p>\n<table>\n<tbody>\n<tr>\n<td><span style=\"font-weight: 400;\">Target<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Kontext<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Metric 1+2<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Metric 3+4<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Most Similar<\/span><\/td>\n<\/tr>\n<tr>\n<td><b>schoen<\/b><\/td>\n<td><span style=\"font-weight: 400;\">gel\u00f6st<\/span><\/td>\n<td><span style=\"font-weight: 400;\">eben<\/span><\/td>\n<td><span style=\"font-weight: 400;\">eben<\/span><\/td>\n<td><span style=\"font-weight: 400;\">h\u00fcbsch<\/span><\/td>\n<\/tr>\n<tr>\n<td><b>elegant<\/b><\/td>\n<td><span style=\"font-weight: 400;\">gel\u00f6st<\/span><\/td>\n<td><span style=\"font-weight: 400;\">geschmeidig<\/span><\/td>\n<td><span style=\"font-weight: 400;\">wirkende<\/span><\/td>\n<td><span style=\"font-weight: 400;\">stilsicher<\/span><\/td>\n<\/tr>\n<tr>\n<td><b>einfach<\/b><\/td>\n<td><span style=\"font-weight: 400;\">gel\u00f6st<\/span><\/td>\n<td><span style=\"font-weight: 400;\">l\u00f6sen<\/span><\/td>\n<td><span style=\"font-weight: 400;\">l\u00f6sen<\/span><\/td>\n<td><span style=\"font-weight: 400;\">manchmal<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Bei dem Target elegant im Kontext gel\u00f6st sehen wir allerdings auch das erste Mal, dass der Kontext den richtigen Einfluss hat und ein besseres Substitut bildet als die Most-Similar-Funktion. Manchmal funktioniert es wohl doch so, wie im Paper beschrieben.<\/p>\n<p>Auch dieses positive Beispiel \u00e4ndert aber nichts am generellen Eindruck und unserer Entscheidung: Betrachtet man die zehn Most-Similar-Begriffe, st\u00f6\u00dft man neben geschmeidig noch auf anmutig, leichtf\u00fcssig, raffiniert, filigran und l\u00e4ssig, also auf eine ganze Reihe von Synonymen, sodass es aus unserer Sicht mehr Sinn macht, sich darauf zu fokussieren, diese Ergebnisse sinnvoll zu filtern, als weiter am Algorithmus zu schrauben.<\/p>\n<h2>Learnings<\/h2>\n<p>Automatisch generierte Synonyme sind ein \u00fcberraschend komplexes und aktives Forschungsfeld und f\u00fcr einzelne W\u00f6rter ist es auch kein gro\u00dfes Problem, maschinell Synonyme zu finden. Schwierig wird es dann, wenn Kontext eine wichtige Rolle spielt und unserem Spezialfall; einer eigenen Dom\u00e4ne. Diese sorgt daf\u00fcr, dass alle W\u00f6terbuchans\u00e4tze manuell erweitert werden m\u00fcssen, was einerseits aufwendig ist und andererseits Expert:innenwissen in der Dom\u00e4ne erfordert.<\/p>\n<p>Die SLM-Ans\u00e4tze sind dann auf ein erneutes Training angewiesen, was gerade bei aktuelleren Ans\u00e4tzen nicht mehr so einfach auf vorhandener Hardware durchf\u00fchrbar ist. Hinzu kommt, dass man die Ergebnisse schwer evaluieren kann, ohne einfach manuell eine vollst\u00e4ndige Liste an gew\u00fcnschten Synonymen zu erstellen.<\/p>\n<p>Was ich pers\u00f6nlich mitnehme: Es ist extrem wichtig, sich von vornherein intensiv Gedanken darum zu machen, wie man seine L\u00f6sungen evaluieren will, Ressourcen hierf\u00fcr sucht oder erstellt und Metriken bestimmt, sofern dies eben m\u00f6glich ist. Sonst arbeitet man schnell nach Gef\u00fchl, tuned Parameter basierend auf diesem Gef\u00fchl und einem Testset mit gro\u00dfem Bias, sodass der Fortschritt immer schwieriger zu messen ist und man sich schnell in die falsche Richtung bewegen kann.<\/p>\n<p>Da uns am Ende der simple Most-Similar-Ansatz am meisten geholfen hat, f\u00fchlte ich mich auch sehr an das erinnert, was mein Informatik-Professor mir seit dem ersten Semester beibringen will: Keep It Simple, Stupid!<\/p>\n<h2>Literatur<\/h2>\n<p>[1] Fellbaum, Christiane (2005). WordNet and wordnets. In: Brown, Keith et al. (eds.), Encyclopedia of Language and Linguistics, Second Edition, Oxford: Elsevier, 665-670.<\/p>\n<p>[2] Kenton, Jacob, Devlin Ming-Wei Chang, and Lee Kristina Toutanova. &#8222;BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding.&#8220; Proceedings of NAACL-HLT. 2019.<\/p>\n<p>[3] Mikolov, T., Chen, K., Corrado, G., &amp; Dean, J. (2013). Efficient estimation of word representations in vector space. arXiv preprint arXiv:1301.3781.<\/p>\n<p>[4] E. Naser-Karajah, N. Arman and M. Jarrar, &#8222;Current Trends and Approaches in Synonyms Extraction: Potential Adaptation to Arabic,&#8220; 2021 International Conference on Information Technology (ICIT), 2021, pp. 428-434<\/p>\n<p>[5] Jarrar, Mustafa, et al. &#8222;Extracting Synonyms from Bilingual Dictionaries.&#8220; Proceedings of the 11th Global Wordnet Conference. 2021.<\/p>\n<p>[6] Melamud, O., Levy, O., &amp; Dagan, I. (2015, June). A simple word embedding model for lexical substitution. In Proceedings of the 1st Workshop on Vector Space Modeling for Natural Language Processing (pp. 1-7).<\/p>\n<p>[7] Levy, O., &amp; Goldberg, Y. (2014, June). Dependency-based word embeddings. In Proceedings of the 52nd Annual Meeting of the Association for Computational Linguistics (Volume 2: Short Papers) (pp. 302-308).<\/p>\n<p>[8] https:\/\/github.com\/devmount\/GermanWordEmbeddings<\/p>\n<p>[9] Carlo Strapparava and Rada Mihalcea. 2007. <a href=\"https:\/\/aclanthology.org\/S07-1013\">SemEval-2007 Task 14: Affective Text<\/a>. In Proceedings of the Fourth International Workshop on Semantic Evaluations (SemEval-2007), pages 70\u201374, Prague, Czech Republic. Association for Computational Linguistics.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Das Durchsuchen gro\u00dfer Textkorpora ist im Jahr 2022 eine fast schon triviale Aufgabe. Verteilte, hochperformante Datenbanken durchsuchen in sekundenschnelle tausende Texte auf der Suche nach Schlagw\u00f6rtern, Orten oder Namen. Was ist aber, wenn wir gar nicht so genau wissen, wie gesuchte Informationen genau gespeichert wurden?<\/p>\n","protected":false},"author":290,"featured_media":36889,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"ep_exclude_from_search":false,"footnotes":""},"tags":[140,141,381],"service":[76,75],"coauthors":[{"id":290,"display_name":"Fabian Meyer","user_nicename":"fmeyer"}],"class_list":["post-36746","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","tag-machine-learning","tag-nlp","tag-service-meister","service-artificial-intelligence","service-nlp"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Automatisch generierte Synonyme f\u00fcr bessere Suchergebnisse -<\/title>\n<meta name=\"description\" content=\"Wir erweitern Keyword-Suchen durch automatisch generierte Synonyme um mehr thematisch \u00e4hnliche Dokumente zu finden.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.inovex.de\/de\/blog\/automatisch-generierte-synonyme-bessere-suchergebnisse\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Automatisch generierte Synonyme f\u00fcr bessere Suchergebnisse -\" \/>\n<meta property=\"og:description\" content=\"Wir erweitern Keyword-Suchen durch automatisch generierte Synonyme um mehr thematisch \u00e4hnliche Dokumente zu finden.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.inovex.de\/de\/blog\/automatisch-generierte-synonyme-bessere-suchergebnisse\/\" \/>\n<meta property=\"og:site_name\" content=\"inovex GmbH\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/inovexde\" \/>\n<meta property=\"article:published_time\" content=\"2022-06-24T08:50:28+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-11-22T09:22:07+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.inovex.de\/wp-content\/uploads\/search-extension-synonyme.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"1080\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Fabian Meyer\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/www.inovex.de\/wp-content\/uploads\/search-extension-synonyme-1024x576.png\" \/>\n<meta name=\"twitter:creator\" content=\"@inovexgmbh\" \/>\n<meta name=\"twitter:site\" content=\"@inovexgmbh\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fabian Meyer\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"15\u00a0Minuten\" \/>\n\t<meta name=\"twitter:label3\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data3\" content=\"Fabian Meyer\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/blog\\\/automatisch-generierte-synonyme-bessere-suchergebnisse\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/blog\\\/automatisch-generierte-synonyme-bessere-suchergebnisse\\\/\"},\"author\":{\"name\":\"Fabian Meyer\",\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/#\\\/schema\\\/person\\\/c14bb5f6df4d93a100f8791ff49d24e5\"},\"headline\":\"Automatisch generierte Synonyme f\u00fcr bessere Suchergebnisse\",\"datePublished\":\"2022-06-24T08:50:28+00:00\",\"dateModified\":\"2022-11-22T09:22:07+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/blog\\\/automatisch-generierte-synonyme-bessere-suchergebnisse\\\/\"},\"wordCount\":2747,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/blog\\\/automatisch-generierte-synonyme-bessere-suchergebnisse\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.inovex.de\\\/wp-content\\\/uploads\\\/search-extension-synonyme.png\",\"keywords\":[\"Machine Learning\",\"nlp\",\"Service-Meister\"],\"articleSection\":[\"Analytics\",\"General\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.inovex.de\\\/de\\\/blog\\\/automatisch-generierte-synonyme-bessere-suchergebnisse\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/blog\\\/automatisch-generierte-synonyme-bessere-suchergebnisse\\\/\",\"url\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/blog\\\/automatisch-generierte-synonyme-bessere-suchergebnisse\\\/\",\"name\":\"Automatisch generierte Synonyme f\u00fcr bessere Suchergebnisse -\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/blog\\\/automatisch-generierte-synonyme-bessere-suchergebnisse\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/blog\\\/automatisch-generierte-synonyme-bessere-suchergebnisse\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.inovex.de\\\/wp-content\\\/uploads\\\/search-extension-synonyme.png\",\"datePublished\":\"2022-06-24T08:50:28+00:00\",\"dateModified\":\"2022-11-22T09:22:07+00:00\",\"description\":\"Wir erweitern Keyword-Suchen durch automatisch generierte Synonyme um mehr thematisch \u00e4hnliche Dokumente zu finden.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/blog\\\/automatisch-generierte-synonyme-bessere-suchergebnisse\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.inovex.de\\\/de\\\/blog\\\/automatisch-generierte-synonyme-bessere-suchergebnisse\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/blog\\\/automatisch-generierte-synonyme-bessere-suchergebnisse\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.inovex.de\\\/wp-content\\\/uploads\\\/search-extension-synonyme.png\",\"contentUrl\":\"https:\\\/\\\/www.inovex.de\\\/wp-content\\\/uploads\\\/search-extension-synonyme.png\",\"width\":1920,\"height\":1080,\"caption\":\"Ein Suchschlitz mit angedeutetem Suchbegriff in Hellgr\u00fcn und angedeuteten Synonymen in weiteren Gr\u00fcnt\u00f6nen.\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/blog\\\/automatisch-generierte-synonyme-bessere-suchergebnisse\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Automatisch generierte Synonyme f\u00fcr bessere Suchergebnisse\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/#website\",\"url\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/\",\"name\":\"inovex GmbH\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/#organization\",\"name\":\"inovex GmbH\",\"url\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.inovex.de\\\/wp-content\\\/uploads\\\/2021\\\/03\\\/inovex-logo-16-9-1.png\",\"contentUrl\":\"https:\\\/\\\/www.inovex.de\\\/wp-content\\\/uploads\\\/2021\\\/03\\\/inovex-logo-16-9-1.png\",\"width\":1921,\"height\":1081,\"caption\":\"inovex GmbH\"},\"image\":{\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/inovexde\",\"https:\\\/\\\/x.com\\\/inovexgmbh\",\"https:\\\/\\\/www.instagram.com\\\/inovexlife\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/inovex\",\"https:\\\/\\\/www.youtube.com\\\/channel\\\/UC7r66GT14hROB_RQsQBAQUQ\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/#\\\/schema\\\/person\\\/c14bb5f6df4d93a100f8791ff49d24e5\",\"name\":\"Fabian Meyer\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a184b5bc306f33be30a6157b8bd461234dbf832c2112faebd5f2fbba3b624c2f?s=96&d=retro&r=g1c27322ec05f4e5f59765d783f470f8c\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a184b5bc306f33be30a6157b8bd461234dbf832c2112faebd5f2fbba3b624c2f?s=96&d=retro&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a184b5bc306f33be30a6157b8bd461234dbf832c2112faebd5f2fbba3b624c2f?s=96&d=retro&r=g\",\"caption\":\"Fabian Meyer\"},\"url\":\"https:\\\/\\\/www.inovex.de\\\/de\\\/blog\\\/author\\\/fmeyer\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Automatisch generierte Synonyme f\u00fcr bessere Suchergebnisse -","description":"Wir erweitern Keyword-Suchen durch automatisch generierte Synonyme um mehr thematisch \u00e4hnliche Dokumente zu finden.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.inovex.de\/de\/blog\/automatisch-generierte-synonyme-bessere-suchergebnisse\/","og_locale":"de_DE","og_type":"article","og_title":"Automatisch generierte Synonyme f\u00fcr bessere Suchergebnisse -","og_description":"Wir erweitern Keyword-Suchen durch automatisch generierte Synonyme um mehr thematisch \u00e4hnliche Dokumente zu finden.","og_url":"https:\/\/www.inovex.de\/de\/blog\/automatisch-generierte-synonyme-bessere-suchergebnisse\/","og_site_name":"inovex GmbH","article_publisher":"https:\/\/www.facebook.com\/inovexde","article_published_time":"2022-06-24T08:50:28+00:00","article_modified_time":"2022-11-22T09:22:07+00:00","og_image":[{"width":1920,"height":1080,"url":"https:\/\/www.inovex.de\/wp-content\/uploads\/search-extension-synonyme.png","type":"image\/png"}],"author":"Fabian Meyer","twitter_card":"summary_large_image","twitter_image":"https:\/\/www.inovex.de\/wp-content\/uploads\/search-extension-synonyme-1024x576.png","twitter_creator":"@inovexgmbh","twitter_site":"@inovexgmbh","twitter_misc":{"Verfasst von":"Fabian Meyer","Gesch\u00e4tzte Lesezeit":"15\u00a0Minuten","Written by":"Fabian Meyer"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.inovex.de\/de\/blog\/automatisch-generierte-synonyme-bessere-suchergebnisse\/#article","isPartOf":{"@id":"https:\/\/www.inovex.de\/de\/blog\/automatisch-generierte-synonyme-bessere-suchergebnisse\/"},"author":{"name":"Fabian Meyer","@id":"https:\/\/www.inovex.de\/de\/#\/schema\/person\/c14bb5f6df4d93a100f8791ff49d24e5"},"headline":"Automatisch generierte Synonyme f\u00fcr bessere Suchergebnisse","datePublished":"2022-06-24T08:50:28+00:00","dateModified":"2022-11-22T09:22:07+00:00","mainEntityOfPage":{"@id":"https:\/\/www.inovex.de\/de\/blog\/automatisch-generierte-synonyme-bessere-suchergebnisse\/"},"wordCount":2747,"commentCount":0,"publisher":{"@id":"https:\/\/www.inovex.de\/de\/#organization"},"image":{"@id":"https:\/\/www.inovex.de\/de\/blog\/automatisch-generierte-synonyme-bessere-suchergebnisse\/#primaryimage"},"thumbnailUrl":"https:\/\/www.inovex.de\/wp-content\/uploads\/search-extension-synonyme.png","keywords":["Machine Learning","nlp","Service-Meister"],"articleSection":["Analytics","General"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.inovex.de\/de\/blog\/automatisch-generierte-synonyme-bessere-suchergebnisse\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.inovex.de\/de\/blog\/automatisch-generierte-synonyme-bessere-suchergebnisse\/","url":"https:\/\/www.inovex.de\/de\/blog\/automatisch-generierte-synonyme-bessere-suchergebnisse\/","name":"Automatisch generierte Synonyme f\u00fcr bessere Suchergebnisse -","isPartOf":{"@id":"https:\/\/www.inovex.de\/de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.inovex.de\/de\/blog\/automatisch-generierte-synonyme-bessere-suchergebnisse\/#primaryimage"},"image":{"@id":"https:\/\/www.inovex.de\/de\/blog\/automatisch-generierte-synonyme-bessere-suchergebnisse\/#primaryimage"},"thumbnailUrl":"https:\/\/www.inovex.de\/wp-content\/uploads\/search-extension-synonyme.png","datePublished":"2022-06-24T08:50:28+00:00","dateModified":"2022-11-22T09:22:07+00:00","description":"Wir erweitern Keyword-Suchen durch automatisch generierte Synonyme um mehr thematisch \u00e4hnliche Dokumente zu finden.","breadcrumb":{"@id":"https:\/\/www.inovex.de\/de\/blog\/automatisch-generierte-synonyme-bessere-suchergebnisse\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.inovex.de\/de\/blog\/automatisch-generierte-synonyme-bessere-suchergebnisse\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.inovex.de\/de\/blog\/automatisch-generierte-synonyme-bessere-suchergebnisse\/#primaryimage","url":"https:\/\/www.inovex.de\/wp-content\/uploads\/search-extension-synonyme.png","contentUrl":"https:\/\/www.inovex.de\/wp-content\/uploads\/search-extension-synonyme.png","width":1920,"height":1080,"caption":"Ein Suchschlitz mit angedeutetem Suchbegriff in Hellgr\u00fcn und angedeuteten Synonymen in weiteren Gr\u00fcnt\u00f6nen."},{"@type":"BreadcrumbList","@id":"https:\/\/www.inovex.de\/de\/blog\/automatisch-generierte-synonyme-bessere-suchergebnisse\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.inovex.de\/de\/"},{"@type":"ListItem","position":2,"name":"Automatisch generierte Synonyme f\u00fcr bessere Suchergebnisse"}]},{"@type":"WebSite","@id":"https:\/\/www.inovex.de\/de\/#website","url":"https:\/\/www.inovex.de\/de\/","name":"inovex GmbH","description":"","publisher":{"@id":"https:\/\/www.inovex.de\/de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.inovex.de\/de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/www.inovex.de\/de\/#organization","name":"inovex GmbH","url":"https:\/\/www.inovex.de\/de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.inovex.de\/de\/#\/schema\/logo\/image\/","url":"https:\/\/www.inovex.de\/wp-content\/uploads\/2021\/03\/inovex-logo-16-9-1.png","contentUrl":"https:\/\/www.inovex.de\/wp-content\/uploads\/2021\/03\/inovex-logo-16-9-1.png","width":1921,"height":1081,"caption":"inovex GmbH"},"image":{"@id":"https:\/\/www.inovex.de\/de\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/inovexde","https:\/\/x.com\/inovexgmbh","https:\/\/www.instagram.com\/inovexlife\/","https:\/\/www.linkedin.com\/company\/inovex","https:\/\/www.youtube.com\/channel\/UC7r66GT14hROB_RQsQBAQUQ"]},{"@type":"Person","@id":"https:\/\/www.inovex.de\/de\/#\/schema\/person\/c14bb5f6df4d93a100f8791ff49d24e5","name":"Fabian Meyer","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/secure.gravatar.com\/avatar\/a184b5bc306f33be30a6157b8bd461234dbf832c2112faebd5f2fbba3b624c2f?s=96&d=retro&r=g1c27322ec05f4e5f59765d783f470f8c","url":"https:\/\/secure.gravatar.com\/avatar\/a184b5bc306f33be30a6157b8bd461234dbf832c2112faebd5f2fbba3b624c2f?s=96&d=retro&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a184b5bc306f33be30a6157b8bd461234dbf832c2112faebd5f2fbba3b624c2f?s=96&d=retro&r=g","caption":"Fabian Meyer"},"url":"https:\/\/www.inovex.de\/de\/blog\/author\/fmeyer\/"}]}},"_links":{"self":[{"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/posts\/36746","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/users\/290"}],"replies":[{"embeddable":true,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/comments?post=36746"}],"version-history":[{"count":6,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/posts\/36746\/revisions"}],"predecessor-version":[{"id":39359,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/posts\/36746\/revisions\/39359"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/media\/36889"}],"wp:attachment":[{"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/media?parent=36746"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/tags?post=36746"},{"taxonomy":"service","embeddable":true,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/service?post=36746"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/coauthors?post=36746"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}