DE10112587A1 - Verfahren und Vorrichtung zum rechnergestützten Ermitteln der Ähnlichkeit einer elektronischen ersten Zeichenkette mit einer elektronischen zweiten Zeichenkette, Computerlesbares Speichermedium und Computerprogramm-Element - Google Patents

Verfahren und Vorrichtung zum rechnergestützten Ermitteln der Ähnlichkeit einer elektronischen ersten Zeichenkette mit einer elektronischen zweiten Zeichenkette, Computerlesbares Speichermedium und Computerprogramm-Element

Info

Publication number
DE10112587A1
DE10112587A1 DE10112587A DE10112587A DE10112587A1 DE 10112587 A1 DE10112587 A1 DE 10112587A1 DE 10112587 A DE10112587 A DE 10112587A DE 10112587 A DE10112587 A DE 10112587A DE 10112587 A1 DE10112587 A1 DE 10112587A1
Authority
DE
Germany
Prior art keywords
character
character string
string
register
similarity
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE10112587A
Other languages
English (en)
Inventor
Michael Brown
Christiane Foertsch
Dieter Wissmann
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Original Assignee
Siemens AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens AG filed Critical Siemens AG
Priority to DE10112587A priority Critical patent/DE10112587A1/de
Publication of DE10112587A1 publication Critical patent/DE10112587A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90344Query processing by using string matching techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Zwei Zeichenketten werden miteinander verglichen, indem jedem Zeichen einer ersten Zeichenkette ein Zeichenregister und ein Umsetzungskostenregister zugeordnet wird. Die Position miteinander übereinstimmender Zeichen der ersten Zeichenkette und der zweiten Zeichenkette wird in dem Zeichenregister und ein Umsetzungskostenwert in dem Umsetzungskostenregister für das jeweilige Zeichen gespeichert. Unter Verwendung der Positionswerte und der Umsetzungskostenwerte wird ein Ähnlichkeitswert ermittelt.

Description

Die Erfindung betrifft ein Verfahren und eine Vorrichtung zum rechnergestützten Ermitteln der Ähnlichkeit einer elektronischen ersten Zeichenkette mit einer elektronischen zweiten Zeichenkette.
Insbesondere bei der Planung und Durchführung eines großen Industrieprojekts, beispielsweise bei der Entwicklung und dem Bau einer neuen großen Industrieanlage oder eines neuen Kraftwerks, beispielsweise eines Gas-Turbinen-Kraftwerks oder eines Kernkraftwerks, eines neuen Verkehrssystems oder ähnlichem sind eine große Anzahl von Information in mehreren technischen Dokumenten zu berücksichtigen.
Diese technischen Dokumente sind beispielsweise Lastenhefte, Pflichtenhefte, Produktbeschreibungen, Verträge, usw.
Die technischen Dokumente sind von einer Vielzahl unterschiedlicher Experten für unterschiedliche Spezialgebiete zu analysieren und zu erfassen.
Für die Experten besteht jedoch ein erhebliches Problem darin, eine spezifische gewünschte Information innerhalb der großen Anzahl technischer Dokumente zu finden.
Um dieses Problem zu mindern ist es bekannt, die technischen Dokumente mittels eines Scanners elektronisch zu erfassen und mittels eines Zeichenerkennungs-Verfahrens (Optical Character Recognition, OCR) das elektronisch erfasste Dokument jeweils zu analysieren und den jeweiligen Inhalt des Dokuments, das heißt die einzelnen Zeichenketten, d. h. Wörter und numerische Zeichenketten, innerhalb des Dokuments zu erkennen.
Ist die Information mittels eines OCR-Verfahrens umgesetzt und gespeichert, kann beispielsweise mittels bekannter rechnergestützter Suchverfahren gewünschte Information durch Eingabe von Suchbegriffen in den gespeicherten elektronischen Dokumenten gesucht werden.
Die bekannten Standard-Suchverfahren erlauben es einem Benutzer, eine Suchanfrage als eine Liste eines oder mehrerer Suchbegriffe zu formulieren und in einen Computer einzugeben.
Nach Eingabe der Suchbegriffe wird das Suchverfahren unter Verwendung der Suchbegriffe als Suchparameter durchgeführt, d. h. die gespeicherten technischen Dokumente werden analysiert und es werden die gesuchten Begriffe innerhalb der technischen Dokumente ermittelt. Dem Benutzer werden die ermittelten Positionen, an denen die Begriffe innerhalb der technische Dokumente ermittelt worden sind, vorzugsweise graphisch dargestellt.
Bei den bekannten Begriffen im Suchverfahren ist es üblich, dass eine genaue Übereinstimmung der jeweiligen Suchbegriffe mit den ermittelten Begriffen in den technischen Dokumenten erforderlich ist, damit ein entsprechender Begriff in einem technischen Dokument als dem Suchbegriff entsprechend dem Benutzer ausgegeben wird.
Aus dem Erfordernis der exakten Übereinstimmung resultiert jedoch die Gefahr, dass manche relevanten Teile der elektronischen Dokumente nicht durch das Suchverfahren ermittelt werden, weil nur eine Variante des ursprünglich eingegebenen Suchbegriffs in dem jeweiligen technischen Dokument zu finden ist.
Im Allgemeinen können Begriffsvarianten aus unterschiedlichen Gründen entstehen, beispielsweise
  • - durch menschliche Fehler, das heißt Tippfehler oder auch Buchstabierfehler (beispielsweise Buchstabendreher),
  • - durch Fehler bei der optischen Zeichenerkennung, das heißt im OCR-Verfahren, oder
  • - aus linguistischen Gründen, das heißt durch Bilden des Plurals eines Begriffs, durch Verbvarianten, durch Wortzusammensetzungen und Wortneubildungen, usw..
Dieses Problem wird insbesondere bei technischen Beschreibungen noch wesentlich erschwert, da viele domänenspezifische bzw. anwendungsspezifische Begriffe, Komponentennamen usw. verwendet werden, die in allgemeinen Wörterbüchern üblicherweise nicht zu finden sind und deshalb insbesondere bei Einsatz eines OCR-Verfahrens unter Verwendung allgemeiner elektronischer Lexika nicht erkannt werden können.
Um die Suche nach gewünschter Information innerhalb einer Vielzahl technischer Dokumente zuverlässiger zu gestalten, das heißt um die Wahrscheinlichkeit dafür zu minimieren, dass ein wichtiger Textbestandteil innerhalb der technischen elektronischen Dokumente nicht ermittelt wird, ist somit ein Verfahren erforderlich, welches auch unterschiedliche, das heißt eine Vielzahl von Varianten eines Suchbegriffs ermitteln kann.
Ein solches Verfahren sollte generisch sein.
Insbesondere sollte es domänenspezifische Begriffe erkennen und verarbeiten können.
Ferner sollte es auch sprachenunabhängig sein, das heißt unabhängig sein von der gewählten Sprache, beispielsweise Deutsch, Englisch, Französisch, etc.
Übliche Wortvarianten, beispielsweise die Pluralform eines Begriffs, können durch Einsatz der sogenannten morphologischen Analyse behandelt werden.
Eine Komponente zur morphologischen Analyse enthält üblicherweise zwei Arten von Daten:
  • - Allgemein sprachabhängige Regeln, und
  • - alle Ausnahmen zu den Regeln, die es in der jeweiligen Sprache gibt.
Diese Daten erlauben eine Entscheidung, ob oder ob nicht zwei gegebene Wörter Varianten voneinander sind.
Die morphologische Analyse hat sich jedoch als eher ungeeignet insbesondere für den Einsatz bei domänenspezifischen Begriffen, wie beispielsweise Akronymen ("CAD", "CACD", "CAM" usw.) oder auch Kunstwörtern (beispielsweise "ISO 9000", "ISO 9001") herausgestellt.
Ferner ist es bekannt, für solche Standard-Suchverfahren Thesauri einzusetzen, um Wortvarianten zu erkennen.
Unter einem Thesaurus ist ein elektronisches strukturiertes Wörterbuch zu verstehen, bei dem einem Begriff jeweils Beziehungen zugeordnet sind, beispielsweise Synonym- Beziehungen, Akronym-Beziehungen, Oberbegriffs-Unterbegriffs- Beziehungen, etc.. Ein elektronischer Thesaurus kann somit beliebig relational oder auch hierarchisch strukturiert sein.
Bei einem elektronisches Thesaurus ist die Erweiterung einer Suchbegriffsliste mit jeder Variante des ursprünglichen Suchbegriffs möglich, mit der nach entsprechenden Textstellen innerhalb eines technischen Dokuments gesucht wird.
Ein Nachteil eines elektronischen Thesaurus ist jedoch darin zu sehen, dass insbesondere ein domänenspezifischer elektronischer Thesaurus nur selten vorhanden ist und die Erzeugung eines solchen manuell erfolgen muss und somit sehr aufwendig zu erstellen ist.
Weiterhin ist aus [1] ein sogenanntes "Wortähnlichkeits- Ermittlungsverfahren" bekannt.
Der in [1] beschriebene Algorithmus wird auch als "Levenshtein Distance" (auch "Edit Distance" genannt) bezeichnet.
Anschaulich ausgedrückt findet bei diesem Verfahren die Ähnlichkeitsbildung dadurch statt, dass der Abstand zwischen zwei elektronischen Zeichenketten ermittelt wird, basierend auf der minimalen Anzahl von Buchstabenbewegungen innerhalb der jeweiligen elektronischen Zeichenketten, die erforderlich sind, um die beiden Zeichenketten ineinander umzuwandeln.
Unter einer elektronischen Zeichenkette ist in diesem Zusammenhang eine Folge zusammenhängender Zeichen, beispielsweise ein Wort oder eine Zeichenfolge wie Abkürzungen oder Zeichenfolgen mit anderem Begriffsinhalt zu verstehen.
Die Levenshtein Distance ermöglicht zwar einen systematischen Vergleich zwischen zwei elektronischen Zeichenketten, weist jedoch den Nachteil auf, dass er eine geringere Ähnlichkeit für zwei Zeichenketten liefert, die nur einen überlappenden Teil innerhalb beider Zeichenketten aufweisen, beispielsweise bei den beiden Begriffen "Zugfolgezeit" und "Zugwechselzeit".
Ferner hat es sich herausgestellt, dass das aus [1] bekannte Verfahren insbesondere schlechte Ergebnisse liefert, wenn einzelne Teile innerhalb zweier Zeichenketten in ihrer Reihenfolge verschoben sind.
Somit liegt der Erfindung das Problem zugrunde, die Ähnlichkeit zweier elektronischer Zeichenketten miteinander zu ermitteln, wobei die ermittelte Ähnlichkeit hinsichtlich der tatsächlichen Übereinstimmung eine verbesserte Verlässlichkeit aufweist als die bekannten, oben beschriebenen Verfahren.
Das Problem wird durch das Verfahren und die Vorrichtung zum Ermitteln der Ähnlichkeit einer elektronischen ersten Zeichenkette mit einer elektronischen zweiten Zeichenkette sowie durch das Computerlesbare Speichermedium und das Computerprogramm-Element mit den Merkmalen gemäß den unabhängigen Patentansprüchen gelöst.
Bei einem Verfahren zum rechnergestützten Ermitteln der Ähnlichkeit einer elektronischen ersten Zeichenkette mit einer elektronischen zweiten Zeichenkette wird jedem Zeichen der ersten Zeichenkette ein Zeichenregister und ein Umsetzungskostenregister zugeordnet.
Für jedes Zeichen der ersten Zeichenkette wird die Position eines Zeichens innerhalb der zweiten Zeichenkette ermittelt, welches Zeichen der zweiten Zeichenkette dem Zeichen der ersten Zeichenkette gemäß einem vorgegebenen Kriterium mit ausreichender Genauigkeit entspricht.
Die ermittelte Position, wenn ein solches Zeichen innerhalb der zweiten Zeichenkette überhaupt ermittelt worden ist, wird in dem dem jeweiligen Zeichen der ersten Zeichenkette zugeordneten Zeichenregister gespeichert.
Weiterhin wird für jedes Zeichen der ersten Zeichenkette, für das ein Zeichen innerhalb der zweiten Zeichenkette ermittelt worden ist, das dem Kriterium genügt, ein Umsetzungskostenwert ermittelt, der in dem dem entsprechenden Zeichen zugeordneten Umsetzungskostenregister gespeichert wird.
Mit dem Umsetzungskostenwert wird jeweils die Ähnlichkeit des Zeichens der ersten Zeichenkette mit dem entsprechenden ermittelten Zeichen der zweiten Zeichenkette beschrieben. Unter Verwendung der in dem ersten Zeichenregister gespeicherten Positionen und der in dem Umsetzungskostenregister gespeicherten Umsetzungskostenwerte wird eine Ähnlichkeitswert ermittelt, mit dem die Ähnlichkeit der ersten Zeichenkette mit der zweiten Zeichenkette beschrieben wird.
Eine Vorrichtung zum Ermitteln der Ähnlichkeit einer elektronischen ersten Zeichenkette mit einer elektronischen zweiten Zeichenkette weist einen Prozessor auf, der derart eingerichtet ist, dass die oben beschriebenen Verfahrensschritte durchführbar sind.
Zusätzlich oder alternativ ist jeweils ein Mittel bzw. eine Einheit vorgesehen zur Durchführung eines oder mehrerer weiter oben beschriebenen Verfahrensschritte.
Ein Computerprogramm-Element zum Ermitteln der Ähnlichkeit einer elektronischen ersten Zeichenkette mit einer elektronischen zweiten Zeichenkette weist die oben beschriebenen Verfahrensschritte auf, wenn es von einem Prozessor ausgeführt wird.
In einem Computerlesbaren Speichermedium ist ein Computerprogramm gespeichert, das bei dessen Ausführung durch einen Prozessor die oben beschriebenen Verfahrensschritte aufweist.
Durch die Erfindung werden insbesondere folgende Vorteile realisiert:
  • - Die Vorgehensweise zur Ermittlung der Ähnlichkeit der zwei Zeichenketten ist generisch, das heißt sie enthält keinen domänenspezifisches oder sprachenspezifisches Wissen und kann somit für alle Zeichenkettenpaare unabhängig von deren Bedeutungsinhalt oder Sprache oder auch Zusammensetzung verwendet werden.
  • - Somit ist es insbesondere auch möglich, Zeichenkettenkombinationen, die sowohl Buchstaben als auch andere Arten von Zeichen, beispielsweise Zahlen, Symbolzeichen oder auch Satzzeichen enthält, auf verlässliche Weise miteinander zu vergleichen.
Anschaulich wird das sprachenspezifische Wissen, welches für die Erweiterung der oben beschriebenen Vorgehensweise bei bekannten Verfahren erforderlich ist, erfindungsgemäß durch statistische Verfahren ersetzt.
Das Verfahren ist sehr flexibel und kann aufgrund der Basisinformation der Positionen der einzelnen Zeichen innerhalb der Zeichenketten sowie der Umsetzungskostenwerte abhängig von unterschiedlichen, teilweise äußerst aussagekräftigen Faktoren, insbesondere von semantischen Faktoren, verbessert werden, wie dies im Weiteren noch detailliert erläutert wird.
Weiterhin ist die Ermittlung der Ähnlichkeit zweier Zeichenketten sehr schnell durchführbar, was insbesondere zurückzuführen ist auf den Einsatz eines Zeichenregisters und des Umsetzungskostenregisters, da durch diese sehr einfache Vorgehensweise verglichen mit den bekannten Verfahren relativ wenige Verfahrensschritte durchgeführt werden müssen.
Auf diese Weise ist insbesondere die Berechnung der im Weiteren beschriebenen semantischen Faktoren, die insbesondere zur Ähnlichkeitsermittlung eingesetzt werden können, sehr schnell möglich.
Weiterhin ist die Ähnlichkeitsfunktion sehr flexibel und sehr leicht erweiterbar und damit kann die Menge von unterschiedlichen Faktoren, die im Rahmen der Ermittlung des Ähnlichkeitswerts verwendet werden, für unterschiedliche Anwendungen unterschiedlich an die jeweilige Anwendung angepasst werden.
Bevorzugte Weiterbildungen der Erfindung ergeben sich aus den abhängigen Ansprüchen.
Die Weiterbildungen betreffen das Verfahren, die Vorrichtung, das Computerlesbare Speichermedium und das Computerprogramm- Element.
Gemäß einer Ausgestaltung der Erfindung erfolgt das Ermitteln des Ähnlichkeitswerts zumindest unter Berücksichtigung einer der folgenden Faktoren:
  • - Dem Unterschied, vorzugsweise dem relativen Unterschied der Zeichen der ersten Zeichenkette und der Anzahl der Zeichen der zweiten Zeichenkette, das heißt anschaulich der Längendifferenz der beiden Zeichenketten, vorzugsweise bezogen auf die Länge, das heißt die Anzahl der Zeichen der ersten Zeichenkette oder der Anzahl der Zeichen der zweiten Zeichenkette; und/oder
  • - der Wert der größten Anzahl unmittelbar benachbarter Zeichen einander zugeordneter Zeichen der ersten Zeichenkette und der zweiten Zeichenkette; und/oder
  • - die Anzahl von Zeichen der ersten Zeichenkette, für die jeweils kein Zeichen der zweiten Zeichenkette ermittelt werden konnte, das den Zeichen der ersten Zeichenkette gemäß dem vorgegebenen Kriterium entspricht, das heißt anschaulich eine Anzahl von Zeichen, für die kein entsprechendes Zeichen der zweiten Zeichenkette ermittelt werden konnte; mit diesem Faktor wird anschaulich die Unähnlichkeit beider Zeichenketten beschrieben; und/oder
  • - ein Zusammenhängigkeitswert, mit dem die Anzahl von Teilsequenzen einander zugeordneter Zeichen der ersten Zeichenkette und der Zeichen der zweiten Zeichenkette angegeben wird; und/oder
  • - die Reihenfolge von Teilsequenzen aus mehreren Zeichen einer Zeichenkette, welche Teilsequenzen einander zugeordnete Zeichen der ersten Zeichenketten und Zeichen der zweiten Zeichenkette aufweist; und/oder
  • - ein Faktor, mit dem beschrieben wird, ob das erste Zeichen der ersten Zeichenkette mit dem ersten Zeichen der zweiten Zeichenkette gemäß dem vorgegebenen Kriterium übereinstimmt, und/oder
  • - ein Faktor, mit dem angegeben wird, ob zumindest eine Teilsequenz einander zugeordneter Zeichen der ersten Zeichenkette und der Zeichen der zweiten Zeichenkette mit einem Teil einer weiteren Teilsequenz einander zugeordneter Zeichen der ersten Zeichenkette und der Zeichen der zweiten Zeichenkette gemäß dem vorgegebene Kriterium übereinstimmt.
Als Wert der größten Anzahl unmittelbar benachbarter Zeichen kann ein relativer Wert bezogen auf die Anzahl der Zeichen der ersten Zeichenkette oder der Anzahl der Zeichen der zweiten Zeichenkette verwendet werden.
Die oben beschriebenen Parameter weisen bei deren Berücksichtigung jeweils eine sehr vorteilhafte Aussagekraft hinsichtlich der Übereinstimmung der miteinander zu vergleichenden Zeichenketten auf, wodurch der ermittelte Ähnlichkeitswert einen verbesserten Bedeutungsgehalt aufweist.
Aus dem Ähnlichkeitswert kann beispielsweise mittels einer vorgegebenen oder adaptiv aufgrund von Trainingsdaten, beispielsweise aufgrund von Daten technischer Dokumente ermittelte Konvertierungsfunktion ein Wahrscheinlichkeitswert ermittelt werden, mit dem eine Wahrscheinlichkeit dafür jeweils beschrieben wird, dass die erste Zeichenkette mit der zweiten Zeichenkette übereinstimmt.
Aufgrund des gebildeten Wahrscheinlichkeitswertes ist es möglich, einen für einen Benutzer des Systems anschaulichen Bedeutungsgehalt des Ähnlichkeitswerts zu vermitteln, so dass der Benutzer auf einfache Weise ermitteln kann, in welchem Grad die zu vergleichenden Zeichenketten tatsächlich miteinander übereinstimmen.
Für mindestens eine Zeichenketten-Teilsequenz einer Zeichenkette kann genau eine Position und ein Umsetzungskostenwert zugeordnet werden und als genau ein Zeichen hinsichtlich der Ermittlung des Ähnlichkeitswerts berücksichtigt werden.
Durch diese Ausgestaltung ist es möglich, insbesondere häufig auftretende Buchstabenfolgen, allgemein häufig auftretende Zeichenfolgen einer Sprache oder auch einer Domäne zu ermitteln und somit die Übereinstimmung solcher sehr häufig auftretender Zeichenfolgen, bei deren Übereinstimmung der einzelnen Buchstaben ein großer Informationsgehalt hinsichtlich der Übereinstimmung der beiden Zeichenketten nicht gegeben ist, entsprechend gewichtet zu berücksichtigen.
Durch diese Weiterbildung wird die Aussagekraft des ermittelten Ähnlichkeitswerts und damit die mögliche Erkennungswahrscheinlichkeit einer tatsächlichen Übereinstimmung weiter erhöht.
Gemäß einer weiteren Ausgestaltung der Erfindung ist es vorgesehen, aus mindestens einem elektronischen Dokument oder einer Vielzahl elektronischer Dokumente mehrere erste Zeichenketten und mehrere zweite Zeichenketten zu ermitteln und das Verfahren für jede ermittelte erste Zeichenkette und jede ermittelte zweite Zeichenkette durchzuführen.
Insbesondere eignet sich die Erfindung für den Einsatz im Rahmen der Texterkennung und damit insbesondere auch für Suchverfahren innerhalb eines technischen elektronischen Dokuments, was den Einsatz zum Ermitteln spezifischer Information innerhalb einer großen Menge technischer elektronischer Dokumente, beispielsweise in Industrieprojekten oder auch bei anderen großen Projekten, ermöglicht.
Weiterhin ist die Erfindung vorteilhaft einsetzbar beispielsweise bei sogenannten Suchmaschinen, allgemein bei jedem Suchverfahren innerhalb technischer elektronischer Dokumente, insbesondere auch bei Internet-Suchmaschinen.
Die Erfindung kann sowohl mittels einer elektronischen Spezialschaltung, das heißt in Hardware, als auch mittels eines Computerprogramms, das heißt in Software, realisiert werden.
Ein Ausführungsbeispiel der Erfindung ist in den Figuren dargestellt und wird im Weiteren näher erläutert.
Es zeigen
Fig. 1 ein Ablaufdiagramm, in dem die einzelnen Verfahrensschritte des Verfahrens gemäß einem Ausführungsbeispiel der Erfindung dargestellt sind;
Fig. 2 ein Blockdiagramm, in dem ein Scanner und ein Computer zum Erfassen und Speichern elektronischer Dokumente gemäß einem Ausführungsbeispiel der Erfindung dargestellt sind;
Fig. 3a und 3b zwei Beispiele der Initialisierung eines Buchstabenregisters und eines Umsetzungskostenregisters anhand zweier unterschiedlicher Zeichenketten;
Fig. 4a und 4b zwei Beispiele des Inhalts des Buchstabenregisters und des Umsetzungskostenregisters für zwei unterschiedliche Vergleiche zweier Zeichenketten gemäß einem Ausführungsbeispiel der Erfindung;
Fig. 5 eine Skizze einer Konvertierungsfunktion, mit der ein Ähnlichkeitswert auf einen Wahrscheinlichkeitswert abgebildet wird;
Fig. 6 ein Blockdiagramm, in dem die Erweiterung von Suchbegriffen unter Verwendung des Verfahrens gemäß einem Ausführungsbeispiel der Erfindung dargestellt ist.
Fig. 2 zeigt ein elektronisches Dokumentationssystem 200, mittels dem eine Vielzahl technischer Dokumente 201, beispielsweise Lastenhefte, Pflichtenhefte, Produktbeschreibungen, Projektverträge etc. erfasst, verarbeitet und gespeichert werden.
Die technischen Dokumente 201 werden mittels eines Scanners 202 erfasst, digitalisiert und als digitalisierte Dokumente 204 einem Computer 209, der mit dem Scanner 202 über eine Leitung 203 oder einer Funkverbindung oder einer Infrarotverbindung verbunden ist, zugeführt.
Der Computer 209 weist eine Eingangs-/Ausgangs-Schnittstelle 205 auf, die über einen Computerbus 208 mit einem Prozessor 207 und einem Speicher 206 des Computers 209 gekoppelt ist.
Ferner ist der Computer 209 über die Eingangs-/Ausgangs- Schnittstelle 205 über eine zweite Leitung 210 mit einem Bildschirm 211 zur Darstellung von ermittelter Ergebnisinformation verbunden.
Weiterhin ist der Computer 209 über die Eingangs-/Ausgangs- Schnittstelle 205 über eine dritte Leitung 212 mit einer Computermaus 213 und über eine vierte Leitung 214 mit einer Tastatur 215 verbunden.
Die digitalisierten technischen elektronischen Dokumente 204 werden in dem Speicher 206 des Computers 209 gespeichert und es wird ein Zeichenerkennungsverfahren (OCR-Verfahren) auf die technischen digitalisierten Dokumente 204 durchgeführt mittels des Prozessors 207, wodurch OCR-bearbeitete technische elektronische Dokumente erzeugt werden, die wiederum in dem Speicher 206 des Computers 209 gespeichert werden.
Die technischen elektronischen Dokumente liegen nach der OCR- Bearbeitung als elektronische Zeichenketten vor, die beispielsweise gemäß dem ASCII-Standard codiert sind.
Ein Benutzer des Systems 200 gibt beispielsweise anschließend einen oder mehrere Suchbegriffe über die Tastatur 215 in den Computer 209 ein.
Jeder Suchbegriff bildet eine elektronische erste Zeichenkette, für die für zumindest einen Teil der in dem Speicher 206 gespeicherten OCR-bearbeitete elektronischen Dokumente dem jeweiligen Suchbegriff entsprechende Begriffe gesucht werden.
Dies erfolgt beispielsweise unter Verwendung und Bildung eines Ähnlichkeitswerts für jedes Paar von erster Zeichenkette und zweiter Zeichenkette, wie im Weiteren näher erläutert wird.
Wie in Fig. 1 gezeigt ist, ist für jedes Zeichen einer ersten Zeichenkette 101 ein Zeichenregister 102 vorgesehen, welchem Zeichenregister 102 jeweils ein Umsetzungskostenregister 103 zugeordnet ist.
In den Zeichenregister 102 wird, wie im Weiteren näher erläutert wird, die Zuordnung zwischen je zwei Zeichen der ersten Zeichenkette 101 und einer jeweils berücksichtigten zweiten Zeichenkette 104 gespeichert.
In einem Umsetzungskostenregister 103 wird, wie im Weiteren ebenfalls näher erläutert wird, jeweils der Unterschied zwischen zwei einander zugeordneten Zeichen der ersten Zeichenkette 101 und der zweiten Zeichenkette 104 gespeichert.
Gemäß diesem Ausführungsbeispiel wird jedes Zeichenregister 102 mit einem ersten Wert (gemäß diesem Ausführungsbeispiel dem Wert "-1") initialisiert.
Ferner wird jedes Umsetzungskostenregister 103 mit einem zweiten Wert (gemäß diesem Ausführungsbeispiel mit dem Wert "1") initialisiert.
Fig. 3a zeigt die Initialisierung der Buchstabenregister 102 sowie der Umsetzungskostenregister 103 für das Wort "Sitzplatz" als erste Zeichenkette 101.
Wie Fig. 3a zu entnehmen ist, sind für das Wort "Sitzplatz" neun Buchstabenregister 102 und neun Umsetzungskostenregister 103 vorgesehen, was der Länge des Wortes, das heißt der Anzahl der Buchstaben, allgemein der Zeichen, in der ersten Zeichenkette 101 entspricht.
Gemäß dem in Fig. 3a dargestellten Ausführungsbeispiel ist die Zeichenfolge "Plätze(sitze)" als zweite Zeichenkette 104 gewählt.
Gemäß Fig. 3b ist die Initialisierung für ein Beispiel dargestellt, bei dem der Ausdruck "Plätze(sitze)" als erste Zeichenkette 104 gewählt wurde und der Ausdruck "Sitzplatz" als zweite Zeichenkette 104.
Wie Fig. 3b zu entnehmen ist, sind für diesen Fall dreizehn Zeichenregister 102 und Umsetzungskostenregister 103 vorgesehen, die mit dem entsprechenden Wert "-1" (Zeichenregister 102) bzw. "1" (Umsetzungskostenregister 103) initialisiert werden, entsprechend der Anzahl der Zeichen in dem Ausdruck "Plätze(sitze)".
In einem weiteren Schritt wird die Position eines Zeichens der zweiten Zeichenkette 104 für ein Zeichen der ersten Zeichenkette 101 ermittelt und in das dem jeweiligen Zeichen der ersten Zeichenkette 101 zugeordnete Buchstabenregister eingetragen, das heißt gespeichert, wobei die Position desjenigen Zeichens der zweiten Zeichenkette 104 gespeichert wird, die gemäß einem vorgegebenen Kriterium zu dem entsprechenden Zeichen der ersten Zeichenkette, das gerade betrachtet wird, passt.
Anschaulich bedeutet dies beispielsweise, dass für jedes Zeichen der ersten Zeichenkette 101 ein Zeichen innerhalb der zweiten Zeichenkette 104 gesucht wird, welches mit dem Zeichen der ersten Zeichenkette übereinstimmt oder diesem zumindest gemäß einer vorgegebenen Ähnlichkeitsliste ausreichend ähnlich ist.
So kann beispielsweise in einer Ähnlichkeitsliste vorgesehen sein, dass ein Buchstabe zwar gleich ist, dieser jedoch einmal klein und einmal groß geschrieben sein kann.
Weiterhin kann ein Zeichen der ersten Zeichenkette 101 als einem Zeichen der zweiten Zeichenkette 104 gemäß dem vorgegebenen Kriterium ausreichend ähnlich angesehen werden, wenn eines der Zeichen der Umlaut des jeweiligen anderen Zeichens ist, das heißt das Zeichen der ersten Zeichenkette 101 und das Zeichen der zweiten Zeichenkette 104, welches dem Kriterium genügt, bilden ein "Umlautpaar" gemäß der deutschen Sprache, beispielsweise "a-ä", "o-ö", "u-ü".
Weiterhin kann vorgesehen sein, dass zwei Zeichen dem Kriterium genügen, wenn beide Zeichen Ziffern sind, der Wert der Ziffer jedoch unterschiedlich ist.
Weiterhin können auch unterschiedliche Satzzeichen, beispielsweise einmal ein Fragezeichen und ein Zeichen der anderen Zeichenkette ein Ausrufezeichen oder auch ein Punkt und ein Komma bzw. ein Komma und ein Strichpunkt, usw. als Zeichen der beiden Zeichenketten 101, 104 dem Kriterium genügen.
Weiterhin können auch unterschiedliche Klammerformen als einander ausreichend ähnlich angesehen werden und damit dem Kriterium genügen, beispielsweise jeweils eine runde Klammer und eine geschweifte Klammer und/oder eine eckige Klammer.
In der Ähnlichkeitsliste ist für jedes gebildete Zeichenpaar, welches überhaupt zulässig ist, ein Umsetzungskostenwert gespeichert, mit dem angegeben wird, wie stark sich die beiden Zeichen des jeweiligen Zeichenpaars voneinander unterscheiden.
Sind die zwei ermittelten Zeichen der ersten Zeichenkette 101 bzw. der zweiten Zeichenkette 104 exakt gleich, so wird dem entsprechenden Umsetzungskostenregister 103 der Umsetzungskostenwert mit dem Wert "0" zugeordnet.
Die Umsetzungskosten für zwei einander zugeordnete Zeichen können jedoch bei unterschiedlichen Buchstaben entsprechend der gewählten Unähnlichkeit, wie er beispielsweise durch einen Benutzer vorgegeben wird und in der Ähnlichkeitsliste gespeichert wird, gewählt werden.
Wenn mehrere Zeichen der zweiten Zeichenkette 104 zu einem Zeichen der ersten Zeichenkette 101 passen würden, wird die Position der zweiten Zeichenkette 104 in das entsprechende Zeichenregister 102 eingetragen, die zu der größten Überlappung zweier Zeichenketten gehört, wie sie im Weiteren noch näher erläutert wird.
Wenn die einander zugeordneten Zeichen der zwei Zeichenketten 101, 104 nicht gleich sind, werden die entsprechenden Umsetzungskostenwerte in das Umsetzungskostenregister 103 gespeichert.
Wenn kein Zeichen der zweiten Zeichenkette zu einem Zeichen der ersten Zeichenkette 101 gemäß dem vorgegebenen Kriterium passt, bleiben die Werte aus der Initialisierungsphase, das heißt der gemäß dem Ausführungsbeispiel der Wert "-1", in dem Zeichenregister 102 bzw. der Werte "1" für das Umsetzungskostenregister 103 gespeichert.
Fig. 4a zeigt das Buchstabenregister 102 und das Umsetzungskostenregister 103 für den Ausdruck "Sitzplatz" als erste Zeichenkette 104 und den Ausdruck "Plätze(sitze)" nach erfolgter Zuordnung der Zeichen der beiden Zeichenketten 101, 104 zueinander.
Wie Fig. 4a zu entnehmen ist, ist in einem ersten Buchstabenregister 401, welches dem Zeichen "S" des Wortes "Sitzplatz" zugeordnet ist, der Wert "7" gespeichert, welcher der Position des Buchstabens "s" innerhalb des Wortes "Plätze(sitze)" als zweite Zeichenkette 104 entspricht, wie dies in Fig. 4a mit der Abbildungslinie 402 dargestellt ist.
Da der Buchstabe "S" in dem Wort Sitzplatz groß geschrieben ist und in dem Wort "Plätze(sitze)" klein geschrieben ist, ist in dem ersten Zeichenregister 401 zugeordneten ersten Umsetzungskostenregister 403 der Umsetzungskostenwert "0,5" gespeichert.
In einem zweiten Zeichenregister 404, welches dem Buchstaben "1" der ersten Zeichenkette 101 zugeordnet ist, ist der Wert "8" gespeichert, da in der zweiten Zeichenkette 104 der Buchstabe "i" an neunter Position steht.
In diesem Zusammenhang ist anzumerken, dass gemäß dem Ausführungsbeispiel die erste Position als Position "0" bezeichnet wird.
Da die beiden Buchstaben "i" exakt miteinander übereinstimmen, ist in dem dem zweiten Zeichenregister 404 zugeordneten zweiten Umsetzungskostenregister 405 der Wert "0" gespeichert.
Entsprechend sind die weiteren Zeichenregister 102 und die weiteren Umsetzungskostenregister 103 mit den entsprechend gemäß den durch die Abbildungslinien 402 in Fig. 4a dargestellten Zuordnungen gespeichert.
Fig. 4b zeigt die entsprechende Vorgehensweise und den entsprechenden gespeicherten Wert in den Zeichenregistern 102 und den Umsetzungskostenregistern 103 für den Ausdruck "Plätze(sitze)" als erste Zeichenkette 101 und den Ausdruck "Sitzplatz" als zweite Zeichenkette 104.
Wie Fig. 4b zu entnehmen ist, kann für den Buchstaben "e" sowie für die Klammern in der ersten Zeichenkette 101 kein entsprechendes Zeichen in der zweiten Zeichenkette 104 ermittelt werden, weshalb in den entsprechenden weiteren Zeichenregistern 406 weiterhin der Initialisierungswert "-1" gespeichert ist.
In den weiteren Zeichenregistern 406 zugeordneten weiteren Umsetzungskostenregistern 407 bleibt weiterhin der Initialisierungswert "1" gespeichert.
In einem weiteren Schritt werden ausgehend von den Positionswerten, die in den Zeichenregistern 102 gespeichert sind und den den Positionswerten zugeordneten Umsetzungskostenwerten, die in den Umsetzungskostenregistern 103 gespeichert sind, Ähnlichkeitsfaktoren 107 ermittelt, unter deren Verwendung ein Ähnlichkeitswert zur Beschreibung der Ähnlichkeit der ersten Zeichenkette 101 mit der zweiten Zeichenkette 104 beschrieben wird, wie im Weiteren näher erläutert wird.
Gemäß diesem Ausführungsbeispiel beschreibt jeder Faktor 107 anschaulich einen semantischen Aspekt, weshalb aus semantischen Gründen jeweils zwei miteinander zu vergleichende Zeichenketten einander ähnlich sein können.
Jeder Faktor 107 kann einen positiven und/oder einen negativen Einfluss auf die gesamte Ähnlichkeit aufweisen.
Es ist in diesem Zusammenhang darauf hinzuweisen, dass grundsätzlich jeder Faktor 107, der einen Einfluss auf die Ähnlichkeit zweier miteinander zu vergleichender Zeichenketten haben kann, gemäß der Erfindung verwendet werden kann.
Gemäß diesem Ausführungsbeispiel werden folgende Faktoren 107 gebildet und berücksichtigt:
  • - Erster Faktor (F1): relative Größe der zwei Zeichenketten (vgl. Beispiel in Fig. 3a):

    F1 = Min(Len(Wort1), Len(Wort2))/ Max(Len(Wort1), Len(Wort2)) = 9/13 = 0,69.
    Je größer der "relative Unterschied", das heißt auf die Länge der ersten Zeichenkette bzw. der zweiten Zeichenkette bezogene Unterschied der Länge der zwei Zeichenketten ist, um so geringer ist die gesamte Ähnlichkeit der zwei Zeichenketten.
    Gemäß dem Ausführungsbeispiel ist die Differenz der Anzahl von Zeichen, die in den Zeichenketten 101, 104 enthalten sind, 4 (13 - 9 = 4).
    Somit ergibt sich ein relativer Unterschied als erster Faktor als 4/9 bei dem Ausdruck "Sitzplatz" für die erste Zeichenkette oder 4/13 für den Ausdruck "Plätze(sitze)" als erste Zeichenkette;
  • - Zweiter Faktor (F2): die relative Länge der größten Überlappung der zwei Zeichenketten (vgl. Beispiel in Fig. 3a)
    F2 = LongestSubsequence(Wort1, Wort2)/ Min(Len(Wort1), Len(Wort2)) = 6/9 = 0,66.
    Eine Überlappung wird gemäß diesem Ausführungsbeispiel als fortlaufende Sequenz von positiven Nummern, das heißt positiven Positionswerten in den Zeichenregistern 102 identifiziert, da ja für den Fall, dass kein entsprechendes Zeichen in der zweiten Zeichenkette für ein Zeichen der ersten Zeichenkette 101 ermittelt werden konnte, der Initialisierungswert "-1" mit negativem Vorzeichen in dem entsprechenden Zeichenregister 101 gespeichert bleibt, wodurch eine Unterbrechung positiver Positionswerte in den Zeichenregistern 102 erzeugt würde.
    Die Länge der größten Überlappung wird gemäß diesem Ausführungsbeispiel relativ zur maximalen Überlappung, das heißt zur Länge der kürzeren Zeichenkette, gebildet.
    Je größer die (relative) Überlappung der zwei Zeichenketten 101, 104 ist, um so größer ist die gesamte Ähnlichkeit, das heißt der zu ermittelnde Ähnlichkeitswert.
    Gemäß diesem Ausführungsbeispiel ist die größte absolute Überlappung gleich 5 (Teilsequenz "Platz" für den Ausdruck "Sitzplatz" als erste Zeichenkette bzw. für die Teilsequenz "Plätz" für den Ausdruck "Plätze(sitze)".
    Somit ergibt sich der zweite Faktor zu 5/9 bei dem Ausdruck "Sitzplatz" für die erste Zeichenkette und zu 5/13 für den Ausdruck "Plätze(sitze)" als erste Zeichenkette.
  • - Dritter Faktor (F3): Anteil der fehlenden Zeichen der ersten Zeichenkette, das heißt der Anteil der Zeichen der ersten Zeichenkette, für die kein entsprechendes Zeichen in der zweiten Zeichenkette ermittelt werden konnte (vgl. Beispiel in Fig. 3a):
    F3 = 1 - (NumbMissingLetters(Wort1)/Len(Wort1)) = 1.
    Die Anzahl der fehlenden Zeichen entspricht der Anzahl der in den Zeichenregistern 103 gespeicherten Initialisierungswerten "-1" nach erfolgter Eintragung der Zuordnungen, das heißt der Positionswerte in die Zeichenregister 102.
    Je größer der Anteil der fehlenden Zeichen ist, um so geringer ist die gesamte Ähnlichkeit der beiden zu vergleichenden Zeichenketten 101, 104.
    Gemäß dem Ausführungsbeispiel ist der dritte Faktor gleich 1 für den Ausdruck "Sitzplatz" als erste Zeichenkette und gleich 4 für den Ausdruck "Plätze(sitze)" als erste Zeichenkette.
  • - Vierter Faktor (F4): Unzusammenhängigkeit (vgl. Beispiel in Fig. 3a):
    F4 = sqrt(1.0 - (NumbSequences(Wort1,Wort2)/Len(Wort1))) = sqrt(1.0 - 1/9) = 0,94.
    Die Unzusammenhängigkeit entspricht der Anzahl der Teilsequenzen von Zeichen zwischen den zwei Zeichenketten 101, 104. Der Anfang einer Teilsequenz in einem Zeichenregister 102 kann als positiver Wert, dessen Wert, der nicht um mehr als um einen Wert "1" größer ist als der in dem für das vorangegangene Zeichen der ersten Zeichenkette zugeordneten Zeichenregister 102 ist, ermittelt werden.
    Je größer die Anzahl von Teilsequenzen ist, um so geringer ist die gesamte Ähnlichkeit der beiden Zeichenketten 101, 104.
    Gemäß dem Ausführungsbeispiel weist der vierte Faktor für beide Beispiele den Wert 2 auf.
  • - Fünfter Faktor (F5): Reihenfolge der Teilsequenzen:
    F5 = sqrt(1.0 - (NumbReversals(wort1,Wort2)/Len(Wort1))) = sqrt (1.0 - 1/9) = 0,94.
    Der fünfte Faktor beschreibt, wie konsequent die zweite Zeichenkette die Zeichenreihenfolge der ersten Zeichenkette einhält, das heißt dieser entspricht.
    Ein Wechsel in der Reihenfolge wird in den Zeichenregistern 102 als positiver Wert identifiziert, der kleiner ist als der letzte positive Wert, der in einem vorangegangenen, das heißt einem vorangegangenen Zeichen innerhalb der ersten Zeichenkette zugeordneten Zeichenregister 102 gespeicherten Wert ist.
    Initialisierungswerte mit dem Wert "-1", die in dem Zeichenregister 102 noch gespeichert sind, die zwischen den zwei positiven Werten liegen, werden im Rahmen der Ermittlung des fünften Faktors gemäß diesem Ausführungsbeispiel ignoriert.
    Je größer die Anzahl von "Reihenfolgeumkehrungen" ist, um so geringer ist die gesamte Ähnlichkeit der beiden Zeichenketten 101, 104.
  • - Sechster Faktor (F6): Der erste Buchstabe beider Zeichenketten 101, 104 ist gleich (vgl. Beispiel in Fig. 3a):
    F6 = 1,5 wenn Erste(Wort1) == Erste(Wort2)
    sonst
    F6 = 1.
    Wenn die ersten Zeichen der zwei Zeichenketten 101, 104 einander zugeordnet sind, das heißt wenn der Wert des ersten Buchstabe des Zeichenregisters 401 den Wert "0" aufweist, wird die gesamte Ähnlichkeit, das heißt der Ähnlichkeitswert erhöht.
  • - Siebter Faktor (F7): Umsetzungskosten (vgl. Beispiel in Fig. 3a):

    F7 = 1 - (Summe(Umsetzungskostenregister)/Len(Wort1) = 1 - (1.5/9) = 0,83.
    Der siebte Faktor wird aus den Werten, die in den Umsetzungskostenregistern 103, das heißt den Umsetzungskostenwerten, berechnet.
    Je größer die Umsetzungskostenwerte sind, um so kleiner ist die gesamte Ähnlichkeit der beiden miteinander verglichenen Zeichenketten.
  • - Achter Faktor (F8): Eine Zeichenkette ist Teilkette der anderen Zeichenkette (vgl. Beispiel in Fig. 3a):
    wenn LongestSubsequence(Wort1,Wort2) == Len(Wort1) F8 = Sqrt (F1)
    sonst
    F8 = F1 = 9/13 = 0,69.
    Der achte Faktor bedeutet anschaulich, dass die Länge der größten Überlappung (vgl. zweiter Faktor) gleich der Länge der kürzeren Zeichenkette ist.
    In diesem Fall wird die gesamte Ähnlichkeit der beiden miteinander verglichenen Zeichenketten erhöht.
Die oben beschriebenen Faktoren 107 werden berücksichtigt, um einen Ähnlichkeitswert A 108 zu ermitteln. Der Ähnlichkeitswert A 108 wird gemäß dem vorliegenden Ausführungsbeispiel gemäß folgender Vorschrift ermittelt (vgl. Beispiel in Fig. 3a):
Ähnlichkeit(Wort1,Wort2) = F2.F3.F4.F5.F6.F7.F8 = 0,6.1.0,94.0,94.1.0,83.0,69 = 0,33.
Es ist in diesem Zusammenhang anzumerken, dass die einzelnen Faktoren 107 grundsätzlich beliebig gewichtet werden können, abhängig von der jeweiligen Anwendung.
Auch kann grundsätzlich jede geeignete Funktion verwendet werden, um den Ähnlichkeitswert A 108 zu bilden.
Gemäß Vorschrift (1) weist der gebildete Ähnlichkeitswert A 108 einen absoluten Wert auf, der insbesondere im Vergleich mit einem weiteren Ähnlichkeitswert A 108 den Aussagegehalt hat, dass die jeweiligen Zeichenketten dann einander ähnlicher sind als andere Zeichenketten, für die der weitere Ähnlichkeitswert A 108 gebildet wurde, wenn ein Ähnlichkeitswert A 108 größer ist als ein weiterer Ähnlichkeitswert.
Es ist jedoch aufgrund des Ähnlichkeitswerts A 108 noch keine statistische Aussage darüber möglich, wie ähnlich die beiden verglichenen Zeichenketten einander tatsächlich sind.
Um einen für einen Benutzer anschaulicheren Wert in Form einer Übereinstimmungswahrscheinlichkeit darzustellen, wird eine Konvertierungsfunktionenschar 501 verwendet, wie sie in Fig. 5 dargestellt ist.
Mittels der Konvertierungsfunktionenschar 501 wird jeweils der ermittelte Ähnlichkeitswert 502 in einen Wahrscheinlichkeitswert 503 umgewandelt (Block 108 in Fig. 1).
Gemäß diesem Ausführungsbeispiel sind die erzeugten Wahrscheinlichkeitswerte in folgendem Sinne zu interpretieren:
  • - Wahrscheinlichkeitswert = 0.9000 (503):
    1 von 10 zufälligen Zeichenkettenpaaren wird mindestens so ähnlich sein;
  • - Wahrscheinlichkeitswert = 0.9900 (503):
    1 von 100 zufälligen Zeichenkettenpaaren wird mindestens so ähnlich sein;
  • - Wahrscheinlichkeitswert = 0.9990 (503):
    1 von 1000 zufälligen Zeichenkettenpaaren wird mindestens so ähnlich sein;
  • - Wahrscheinlichkeitswert = 0.9999 (503):
    1 von 10000 zufälligen Zeichenkettenpaaren wird mindestens so ähnlich sein;
  • - usw.
Wie in Fig. 5 dargestellt ist, wird die Konvertierungsfunktionenschar 501 gebildet aus einer Schar unterschiedlicher Konvertierungsfunktionen 504, 505, 506, 507, 508, die eine unterschiedliche Abbildungsfunktion darstellen abhängig von der Länge der jeweiligen Zeichenkette als Scharparameter.
Die Konvertierungsfunktionenschar 501 kann bei Existenz einer Vielzahl technischer elektronischer Dokumente, die in dem Speicher 206 des Computers 209 gespeichert sind, mittels statistischer Analysen approximiert werden.
Eine Vielzahl von Zeichenkettenpaaren werden in diesem Fall zufällig aus den technischen Dokumenten ausgewählt.
Die Ähnlichkeit jedes Zeichenkettenpaars wird berechnet und die Frequenz jedes Ähnlichkeitswerts A 108 wird gespeichert.
Verschiedene Zeichenkettenlängen können verschiedene Konvertierungsfunktionen 504, 505, 506, 507, 508 benötigen, weshalb die Vielzahl von Konvertierungsfunktionen 504, 505, 506, 507, 508 abhängig von der Zeichenkettenlänge als Scharparameter eingesetzt werden.
Die Konvertierungsfunktionen 504, 505, 506, 507, 508 können auch sprachenabhängig, das heißt für die Sprache Deutsch, Englisch, Französisch usw. unterschiedlich ausgestaltet und der entsprechend eingesetzten Sprache angepasst werden.
Gemäß dem vorliegenden Ausführungsbeispiel wird folgende Konvertierungsfunktionenschar 501 eingesetzt:
Wahrscheinlichkeit = K(Len(Wort1)) + ((1 - K(Len(Wort1)).exp(Ähnlichkeit, P(Len(Wort1)))
K und P sind über statistische Mittel für eine bestimmte Wortlänge festgelegt.
Es hat sich ein Wahrscheinlichkeitswert von ≧ 0.999 als eine geeignete Grenze bei dem Einsatz des Verfahrens im Rahmen der Texterkennung für die tatsächliche Übereinstimmung der beiden Zeichenketten erwiesen.
Dies entspricht gemäß dem Ausführungsbeispiel einem Ähnlichkeitswert A 108 von ungefähr 0.4.
Gemäß einer alternativen Ausgestaltung der Erfindung ist der Erkenntnis Rechnung getragen worden, dass in vielen natürlichen Sprachen gewisse Sequenzen von Zeichen, insbesondere von Buchstaben, häufig vorkommen, die somit bei einem spezifischen Vergleich zweier Zeichenketten hinsichtlich ihrer spezifischen Ähnlichkeit nur einen geringen Informationsgehalt aufweisen.
Beispiele dafür sind Wortendungen wie "ung" und "keit" in der deutschen Sprache oder auch Buchstabensequenzen wie "ment", "sion" und "tion" in der englischen Sprache.
Solche Buchstabensequenzen können für die Wortähnlichkeitsfunktionen problematisch sein, da in diesem Fall nur oberflächliche Merkmale betrachtet werden, weil sie einen hohen Ähnlichkeitswert für Wortpaare, die keine tiefere Ähnlichkeit zueinander aufweisen, verursachen können.
Aufgrund dieser Erkenntnis ist es gemäß einer Ausgestaltung der Erfindung vorgesehen, solche Buchstabensequenzen, beispielsweise mittels statistischer Analysen (Häufigkeitsanalyse) in den gespeicherten technischen Dokumenten zu ermitteln und für die ermittelten, beispielsweise für die am häufigsten vorkommenden Buchstabenkombinationen diese als einzelnes logisches Zeichen zu betrachten und innerhalb des Verfahrens zum Bilden der Ähnlichkeitswerte und der entsprechenden Register zu berücksichtigen.
In diesem Fall wird die Länge der entsprechenden Zeichenketten und die Anzahl der verwendeten Zeichenregister 102 und Umsetzungskostenregister 103 entsprechend angepasst.
Fig. 6 zeigt den Einsatz des oben beschriebenen Verfahrens für eine verbesserte Textsuche in technischen elektronischen Dokumenten 601, aus denen die Wörter 602 des Dokuments 601 ermittelt worden sind.
Bei diesem Verfahren wird für einen eingegebenen Suchbegriff 603 für jedes Wort 602 des Dokuments 601 (Schritt 604) jeweils eine Übereinstimmungswahrscheinlichkeit gemäß dem oben beschriebenen Verfahren ermittelt (Schritt 605) und es wird überprüft (Überprüfungsschritt 606), ob der ermittelte Übereinstimmungswahrscheinlichkeitswert einen vorgegebenen Schwellenwert 607, gemäß diesem Ausführungsbeispiel einem Schwellenwert einer Wahrscheinlichkeit von 0.999 überschreitet.
Ist dies der Fall, so wird das entsprechende Wort 602 des technischen Dokuments 601 einer Suchbegriffsdatenbank 608 hinzugefügt (Schritt 609), das heißt in einem anschließenden Textsuchverfahren (Schritt 610) wird dieses Wort 602 des Dokuments ebenfalls als erste Zeichenkette berücksichtigt.
Ist der Schwellenwert jedoch nicht überschritten, so wird das entsprechende Wort 602 des Dokuments der Suchbegriffsdatenbank 608 nicht hinzugefügt.
In diesem Dokument ist folgende Veröffentlichung zitiert:
[1] VLSI Circuit Structure for Determining the Edit Distance Between Strings N. Ranganathan and Raghu Sastry, University of South Florida, Center for Microelectronics. US Patent 5,553,272 USF Reference: Ranganathan 93A10

Claims (12)

1. Verfahren zum rechnergestützten Ermitteln der Ähnlichkeit einer elektronischen ersten Zeichenkette mit einer elektronischen zweiten Zeichenkette
bei dem jedem Zeichen der ersten Zeichenkette ein Zeichenregister und ein Umsetzungskostenregister zugeordnet wird,
bei dem für jedes Zeichen der ersten Zeichenkette die Position eines Zeichens innerhalb der zweiten Zeichenkette, welches Zeichen der zweiten Zeichenkette dem Zeichen der ersten Zeichenkette gemäß einem vorgegebenen Kriterium entspricht, ermittelt wird und in dem dem jeweiligen Zeichen der ersten Zeichenkette zugeordneten Zeichenregister gespeichert wird,
bei dem für jedes Zeichen der ersten Zeichenkette ein Umsetzungskostenwert ermittelt wird und in dem entsprechenden Umsetzungskostenregister gespeichert wird, wobei mit dem Umsetzungskostenwert jeweils die Ähnlichkeit des Zeichens der ersten Zeichenkette mit dem entsprechenden Zeichen der zweiten Zeichenkette beschrieben wird,
bei dem unter Verwendung der in dem Zeichenregister gespeicherten Positionen und der in dem Umsetzungskostenregister gespeicherten Umsetzungskostenwerte ein Ähnlichkeitswert ermittelt wird, mit dem die Ähnlichkeit der ersten Zeichenkette mit der zweiten Zeichenkette beschrieben wird.
2. Verfahren nach Anspruch 1,
bei dem jedes Zeichenregister mit mindestens einem ersten Wert initialisiert wird, und
bei dem jedes Umsetzungskostenregister mit mindestens einem zweiten Wert initialisiert wird.
3. Verfahren nach Anspruch 1 oder 2, bei dem zum Ermitteln des Ähnlichkeitswerts zumindest einer der folgenden Faktoren berücksichtigt wird:
der Unterschied zwischen der Anzahl der Zeichen der ersten Zeichenkette und der Anzahl der Zeichen der zweiten Zeichenkette, und/oder
der Wert der größten Anzahl unmittelbar benachbarter Zeichen einander zugeordneter Zeichen der ersten Zeichenkette und der zweiten Zeichenkette, und/oder
eine Anzahl von Zeichen der ersten Zeichenkette, für die jeweils kein Zeichen der zweiten Zeichenkette ermittelt werden konnte, das dem Zeichen der ersten Zeichenkette gemäß dem vorgegebenen Kriterium entspricht, und/oder
ein Zusammenhängigkeitswert, mit dem die Anzahl von Teilsequenzen einander zugeordneter Zeichen der ersten Zeichenkette und der Zeichen der zweiten Zeichenkette angegeben wird, und/oder
die Reihenfolge von Teilsequenzen einander zugeordneter Zeichen der ersten Zeichenkette und der Zeichen der zweiten Zeichenkette angegeben wird, und/oder
ein Faktor, mit dem beschrieben wird, ob das erste Zeichen der ersten Zeichenkette mit dem ersten Zeichen der zweiten Zeichenkette gemäß dem vorgegebenen Kriterium übereinstimmt, und/oder
ein Faktor, mit dem angegeben wird, ob zumindest eine Teilsequenz einander zugeordneter Zeichen der ersten Zeichenkette und der Zeichen der zweiten Zeichenkette mit einem Teil einer weiteren Teilsequenz einander zugeordneter Zeichen der ersten Zeichenkette und der Zeichen der zweiten Zeichenkette gemäß dem vorgegebenen Kriterium übereinstimmt.
4. Verfahren nach Anspruch 3, bei dem als Unterschied zwischen der Anzahl der Zeichen der ersten Zeichenkette und der Anzahl der Zeichen der zweiten Zeichenkette der relative Unterschied der Anzahl der Zeichen bezogen auf die Anzahl der Zeichen der ersten Zeichenkette oder der Anzahl der Zeichen der zweiten Zeichenkette verwendet wird.
5. Verfahren nach Anspruch 3 oder 4, bei dem als Wert der größten Anzahl unmittelbar benachbarter Zeichen der relative Wert der größten Anzahl unmittelbar benachbarter Zeichen einander zugeordneter Zeichen der ersten Zeichenkette und der zweiten Zeichenkette bezogen auf die Anzahl der der Zeichen der ersten Zeichenkette oder der Anzahl der Zeichen der zweiten Zeichenkette verwendet wird.
6. Verfahren nach einem der Ansprüche 1 bis 5, bei dem aus dem Ähnlichkeitswert ein Wahrscheinlichkeitswert ermittelt wird, mit dem eine Wahrscheinlichkeit dafür beschrieben wird, das die erste Zeichenkette mit der zweiten Zeichenkette übereinstimmt.
7. Verfahren nach einem der Ansprüche 1 bis 6, bei dem für mindestens eine Zeichenketten-Teilsequenz einer Zeichenkette genau eine Position und ein Umsetzungskostenwert zugeordnet wird und als ein Zeichen hinsichtlich der Ermittlung des Ähnlichkeitswerts berücksichtigt wird.
8. Verfahren nach einem der Ansprüche 1 bis 7,
bei dem aus mindestens einem elektronischen Dokument mehrere erste Zeichenketten und mehrere zweite Zeichenketten ermittelt werden, und
bei dem das Verfahren für jede ermittelte erste Zeichenkette und zweite Zeichenkette durchgeführt wird.
9. Verfahren nach einem der Ansprüche 1 bis 8,
bei dem aus mindestens einem elektronischen Dokument mehrere Zeichenketten ermittelt werden,
bei dem auf die ermittelten Zeichenketten eine statistische Analyse durchgeführt wird, wodurch zumindest eine Zeichenketten-Teilsequenz ermittelt wird, die gemäß der statistischen Analyse eine Auftrittswahrscheinlichkeit aufweist, die größer ist als ein vorgegebener Schwellenwert.
10. Vorrichtung zum Ermitteln der Ähnlichkeit einer elektronischen ersten Zeichenkette mit einer elektronischen zweiten Zeichenkette, mit einem Prozessor, der derart eingerichtet ist, dass folgende Verfahrensschritte durchführbar sind:
jedem Zeichen der ersten Zeichenkette wird ein Zeichenregister und ein Umsetzungskostenregister zugeordnet,
für jedes Zeichen der ersten Zeichenkette wird die Position eines Zeichens innerhalb der zweiten Zeichenkette, welches Zeichen der zweiten Zeichenkette dem Zeichen der ersten Zeichenkette gemäß einem vorgegebenen Kriterium entspricht, ermittelt und in dem dem jeweiligen Zeichen der ersten Zeichenkette zugeordneten Zeichenregister gespeichert,
für jedes Zeichen der ersten Zeichenkette wird ein Umsetzungskostenwert ermittelt und in dem entsprechenden Umsetzungskostenregister gespeichert, wobei mit dem Umsetzungskostenwert jeweils die Ähnlichkeit des Zeichens der ersten Zeichenkette mit dem entsprechenden Zeichen der zweiten Zeichenkette beschrieben wird,
unter Verwendung der in dem Zeichenregister gespeicherten Positionen und der in dem Umsetzungskostenregister gespeicherten Umsetzungskostenwerte wird ein Ähnlichkeitswert ermittelt, mit dem die Ähnlichkeit der ersten Zeichenkette mit der zweiten Zeichenkette beschrieben wird.
11. Computerlesbares Speichermedium, in dem ein Computerprogramm zum Ermitteln der Ähnlichkeit einer elektronischen ersten Zeichenkette mit einer elektronischen zweiten Zeichenkette gespeichert ist, das, wenn es von einem Prozessor ausgeführt wird, folgende Verfahrensschritte aufweist:
jedem Zeichen der ersten Zeichenkette wird ein Zeichenregister und ein Umsetzungskostenregister zugeordnet,
für jedes Zeichen der ersten Zeichenkette wird die Position eines Zeichens innerhalb der zweiten Zeichenkette, welches Zeichen der zweiten Zeichenkette dem Zeichen der ersten Zeichenkette gemäß einem vorgegebenen Kriterium entspricht, ermittelt und in dem dem jeweiligen Zeichen der ersten Zeichenkette zugeordneten Zeichenregister gespeichert,
für jedes Zeichen der ersten Zeichenkette wird ein Umsetzungskostenwert ermittelt und in dem entsprechenden Umsetzungskostenregister gespeichert, wobei mit dem Umsetzungskostenwert jeweils die Ähnlichkeit des Zeichens der ersten Zeichenkette mit dem entsprechenden Zeichen der zweiten Zeichenkette beschrieben wird,
unter Verwendung der in dem Zeichenregister gespeicherten Positionen und der in dem Umsetzungskostenregister gespeicherten Umsetzungskostenwerte wird ein Ähnlichkeitswert ermittelt, mit dem die Ähnlichkeit der ersten Zeichenkette mit der zweiten Zeichenkette beschrieben wird.
12. Computerprogramm-Element zum Ermitteln der Ähnlichkeit einer elektronischen ersten Zeichenkette mit einer elektronischen zweiten Zeichenkette, das, wenn es von einem Prozessor ausgeführt wird, folgende Verfahrensschritte aufweist:
jedem Zeichen der ersten Zeichenkette wird ein Zeichenregister und ein Umsetzungskostenregister zugeordnet,
für jedes Zeichen der ersten Zeichenkette wird die Position eines Zeichens innerhalb der zweiten Zeichenkette, welches Zeichen der zweiten Zeichenkette dem Zeichen der ersten Zeichenkette gemäß einem vorgegebenen Kriterium entspricht, ermittelt und in dem dem jeweiligen Zeichen der ersten Zeichenkette zugeordneten Zeichenregister gespeichert,
für jedes Zeichen der ersten Zeichenkette wird ein Umsetzungskostenwert ermittelt und in dem entsprechenden Umsetzungskostenregister gespeichert, wobei mit dem Umsetzungskostenwert jeweils die Ähnlichkeit des Zeichens der ersten Zeichenkette mit dem entsprechenden Zeichen der zweiten Zeichenkette beschrieben wird,
unter Verwendung der in dem Zeichenregister gespeicherten Positionen und der in dem Umsetzungskostenregister gespeicherten Umsetzungskostenwerte wird ein Ähnlichkeitswert ermittelt, mit dem die Ähnlichkeit der ersten Zeichenkette mit der zweiten Zeichenkette beschrieben wird.
DE10112587A 2001-03-15 2001-03-15 Verfahren und Vorrichtung zum rechnergestützten Ermitteln der Ähnlichkeit einer elektronischen ersten Zeichenkette mit einer elektronischen zweiten Zeichenkette, Computerlesbares Speichermedium und Computerprogramm-Element Withdrawn DE10112587A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE10112587A DE10112587A1 (de) 2001-03-15 2001-03-15 Verfahren und Vorrichtung zum rechnergestützten Ermitteln der Ähnlichkeit einer elektronischen ersten Zeichenkette mit einer elektronischen zweiten Zeichenkette, Computerlesbares Speichermedium und Computerprogramm-Element

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10112587A DE10112587A1 (de) 2001-03-15 2001-03-15 Verfahren und Vorrichtung zum rechnergestützten Ermitteln der Ähnlichkeit einer elektronischen ersten Zeichenkette mit einer elektronischen zweiten Zeichenkette, Computerlesbares Speichermedium und Computerprogramm-Element

Publications (1)

Publication Number Publication Date
DE10112587A1 true DE10112587A1 (de) 2002-09-26

Family

ID=7677645

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10112587A Withdrawn DE10112587A1 (de) 2001-03-15 2001-03-15 Verfahren und Vorrichtung zum rechnergestützten Ermitteln der Ähnlichkeit einer elektronischen ersten Zeichenkette mit einer elektronischen zweiten Zeichenkette, Computerlesbares Speichermedium und Computerprogramm-Element

Country Status (1)

Country Link
DE (1) DE10112587A1 (de)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100399705C (zh) * 2003-01-24 2008-07-02 株式会社理光 字符串处理装置、字符串处理方法和成像装置
DE102007010259A1 (de) 2007-03-02 2008-09-04 Volkswagen Ag Sensor-Auswertevorrichtung und Verfahren zum Auswerten von Sensorsignalen
EP2273383A1 (de) 2009-07-06 2011-01-12 Siemens Aktiengesellschaft Verfahren und Vorrichtung zur automatischen Suche nach Dokumenten in einem Datenspeicher
CN101079023B (zh) * 2003-01-24 2012-03-21 株式会社理光 字符串处理装置、字符串处理方法和成像装置
CN112733524A (zh) * 2020-12-31 2021-04-30 浙江省方大标准信息有限公司 标准编号自动校正及标准状态批量核查方法、系统、装置
WO2024091234A1 (en) * 2022-10-26 2024-05-02 Visa International Service Association System and method for performing a fast limited character search

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100399705C (zh) * 2003-01-24 2008-07-02 株式会社理光 字符串处理装置、字符串处理方法和成像装置
CN101079023B (zh) * 2003-01-24 2012-03-21 株式会社理光 字符串处理装置、字符串处理方法和成像装置
DE102007010259A1 (de) 2007-03-02 2008-09-04 Volkswagen Ag Sensor-Auswertevorrichtung und Verfahren zum Auswerten von Sensorsignalen
EP2273383A1 (de) 2009-07-06 2011-01-12 Siemens Aktiengesellschaft Verfahren und Vorrichtung zur automatischen Suche nach Dokumenten in einem Datenspeicher
DE102009031872A1 (de) * 2009-07-06 2011-01-13 Siemens Aktiengesellschaft Verfahren und Vorrichtung zur automatischen Suche nach Dokumenten in einem Datenspeicher
CN112733524A (zh) * 2020-12-31 2021-04-30 浙江省方大标准信息有限公司 标准编号自动校正及标准状态批量核查方法、系统、装置
WO2024091234A1 (en) * 2022-10-26 2024-05-02 Visa International Service Association System and method for performing a fast limited character search

Similar Documents

Publication Publication Date Title
DE69726339T2 (de) Verfahren und Apparat zur Sprachübersetzung
DE69829074T2 (de) Identifizierung der sprache und des zeichensatzes aus text-repräsentierenden daten
DE69934371T2 (de) Apparat und Verfahren zum Verarbeiten einer natürlichen Sprache
DE60029732T2 (de) Phrasenübersetzungsverfahren und -system
DE69829389T2 (de) Textnormalisierung unter verwendung einer kontextfreien grammatik
DE60029845T2 (de) System zum identifizieren der verhältnisse zwischen bestandteilen in aufgaben vom typ informations-wiederauffindung
DE60304331T2 (de) Abrufen übereinstimmender dokumente durch abfragen in einer nationalen sprache
DE112007000053T5 (de) System und Verfahren zur intelligenten Informationsgewinnung und -verarbeitung
EP3100174A1 (de) Verfahren zur automatischen sinnerkennung und messung der eindeutigkeit von text
DE4232507A1 (de) Verfahren zum Kennzeichnen, Wiederauffinden und Sortieren von Dokumenten
DE102004003878A1 (de) System und Verfahren zum Identifizieren eines speziellen Wortgebrauchs in einem Dokument
DE112018006345T5 (de) Abrufen von unterstützenden belegen für komplexe antworten
EP0792492A1 (de) Verfahren zur erzeugung von deskriptoren für die klassifikation von texten
DE10308550A1 (de) System und Verfahren zur automatischen Daten-Prüfung und -Korrektur
DE69934195T2 (de) Identifikation einer Wortgruppe durch modifizierte Schlüsselwörter, die aus Transformationen von aufeinanderfolgenden Suffixen erzeugt sind
DE112018005272T5 (de) Suchen von mehrsprachigen dokumenten auf grundlage einer extraktion der dokumentenstruktur
DE112010004914B4 (de) Indexieren von Dokumenten
DE112020005268T5 (de) Automatisches erzeugen von schema-annotationsdateien zum umwandeln von abfragen in natürlicher sprache in eine strukturierte abfragesprache
DE112007000051T5 (de) Dreiteiliges-Modell-basiertes Verfahren zur Informationsgewinnung und -verarbeitung
DE102019212421A1 (de) Verfahren und Vorrichtung zur Ermittlung ähnlicher Dokumente
DE102021209171A1 (de) System zum wählen eines lernenden modells
DE10112587A1 (de) Verfahren und Vorrichtung zum rechnergestützten Ermitteln der Ähnlichkeit einer elektronischen ersten Zeichenkette mit einer elektronischen zweiten Zeichenkette, Computerlesbares Speichermedium und Computerprogramm-Element
DE112020003767T5 (de) Erzeugen eines ausführbaren verfahrens aus einer textbeschreibung, die in einer natürlichen sprache geschrieben ist
DE112021006602T5 (de) Verfeinern von abfrage-erzeugungsmustern
EP2856344A1 (de) Erzeugung von anfragen an ein datenverarbeitendes system

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8139 Disposal/non-payment of the annual fee