-
Die
vorliegende Erfindung betrifft ein Verfahren zum Erkennen von redundantem
Text in einem elektronischen Dokument und insbesondere in einem Dokument,
das in einer Seitenbeschreibungssprache beschrieben ist.
-
Zusätzlich zum
Erzeugen von physikalischen Wiedergaben von digitalen Dokumenten,
z. B. Papierausdrucken, spielt das Austauschen und Archivieren der
digitalen Dokumente selbst eine zunehmende Rolle bei der geschäftlichen
sowie bei der privaten Kommunikation. Um den Austausch zu ermöglichen
und einen universalen Zugriff ohne Rücksicht auf das Computersystem
und die Anwendung bereitzustellen, werden allgemeine Seitenbeschreibungssprachen
anstatt von Textverarbeitungs-eigenen Formaten zum Austausch von
digitalen Dokumenten verwendet. Um den Textinhalt von digitalen
Dokumenten zur Archivierung, Indizierung, zum Suchen, Editieren
und zu anderen Zwecken zu verwenden, die nicht das Erzeugen einer
visuellen Wiedergabe der Seite betreffen, ist es wünschenswert,
die logische (Lese-)Reihenfolge, die semantischen Einheiten (Wörter natürlicher
Sprachen) und die korrekte Semantik des Textes zu erkennen.
-
Digitale
Dokumente, die in Seitenbeschreibungssprachen wie z. B. dem übertragbaren
Dokumentenformat (Portable Document Format; PDF), PostScript und
PCL beinhalten manchmal redundanten Text, der nicht zur Semantik
einer Seite beiträgt, jedoch
lediglich bestimmte visuelle Effekte erzeugt. Schattentexteffekte
werden gewöhnlich
durch Anordnen durch zwei oder mehr Kopien des tatsächlichen (semantischen)
Texts übereinander
erzeugt, wobei eine kleine Verschiebung Anwendung findet. Das Anwenden
einer undurchsichtigen Färbung
auf jede Textschicht sorgt für
eine visuelle Erscheinung, wobei die Mehrheit des Textes in den
unteren Schichten verdeckt wird, während die sichtbaren verbleibenden Schichten
einen Schatteneffekt erzeugen.
-
In ähnlicher
Weise unterstützen
Textverarbeitungsanwendungen manchmal ein Merkmal zum Erzeugen von
künstlichem
fett gedruckten Text. Um ein fett gedrucktes Texterscheinungsbild
zu erzeugen, auch wenn ein Fettdruck-Zeichensatz nicht verfügbar ist,
wird der Text wiederholt auf der Seite mit derselben Farbe angeordnet.
Durch die Verwendung einer sehr kleinen Verschiebung (relativ zur
Zeichensatzgröße) wird
eine Fettdruck-Texterscheinung
simuliert.
-
Schattensimulation,
künstlicher
Fettdrucktext und ähnliche
visuelle Artefakte erzeugen große Probleme,
wenn die Textinhalte nicht nur visuell wiedergegeben werden, sondern
wieder verwendet werden müssen,
z. B. zum Suchen oder Editieren des Textes. Die redundanten Textinhalte,
die lediglich zur visuellen Erscheinung beitragen, beeinflussen
in starkem Maße
solche Anwendungen, da redundanter Text verarbeitet wird, der semantisch
nicht zu den Seiteninhalten gehört.
-
Das
Dokument "Users
Guide for PDFConverterX" (anonymer
Autor), 15. Februar 2005, XP002352093, aus dem Internet erhältlich unter
der URL http://www.softinterface.com/ pdf/documentations/default.html
beschreibt ein Benutzerhandbuch einer ActiveX-Komponente, die ein PDF-Umwandlungsprogramm
zu einer Anwendung hinzufügt.
Es enthält
eine Funktion, um duplizierten Text in einem PDF-Dokument durch
Vergleich der x-Koordinaten und
y-Koordinaten der fraglichen Textfragmente zu identifizieren.
-
Es
ist die Aufgabe der vorliegenden Erfindung, ein verbessertes und
genaueres Verfahren zum Erkennen von Textfragmenten in digitalen
Dokumenten bereitzustellen, die nicht zu der Semantik einer Seite
beitragen, sondern lediglich visuelle Artefakte erzeugen. Durch
das zuverlässige
Entfernen derartiger redundanten Fragmente wird die Genauigkeit
aller Prozesse verbessert, die auf der Textsemantik beruhen, wie
z. B. Suchen, Editieren oder Umwandeln in andere Formate.
-
Diese
Aufgabe wird durch die Merkmale des Anspruchs 1 gelöst.
-
Erfindungsgemäß umfasst
das Verfahren zum Erkennen redundanter Textfragmente in einem elektronischen
Dokument, die lediglich künstliche
Artefakte erzeugen: Bereitstellen eines elektronischen Dokuments,
das in einer Seitenbeschreibungssprache beschrieben ist, wobei das
Dokument mindestens eine Seite mit einer Vielzahl von Textfragmenten aufweist,
wobei jedes Textfragment mindestens eine Glyphe aufweist, wobei
das Dokument des Weiteren die entsprechenden Unicode-Werte für alle Glyphen sowie
geometrische Daten einschließlich
der Position und der Breite aller Textfragmente auf der Seite und
Seitenbeschreibungssprachen-Parameter wie z. B. Zeichensatzgröße, Zeichenabstand
und Textverzerrung aller Glyphen aufweist; Erkennen zweier Textfragmente
als redundante Kandidaten, wenn die Unicode-Sequenz des ersten Textfragments
identisch mit der entspre chenden Unicode-Sequenz des zweiten Textfragments
ist; Definieren einer Zeichen-Box von im Wesentlichen viereckiger
Form für jeden
der beiden redundanten Kandidaten gemäß ihrer Zeichensatz-Eigenschaften,
wobei die Höhe
der Zeichen-Box gleich der Zeichensatzgröße der ersten Glyphe in dem
Textfragment ist, und wobei die Breite der Zeichen-Box gleich den
akkumulierten Breiten aller Glyphen in dem Textfragment ist; Berechnen
des Überlappungsbereiches
der beiden Zeichen-Boxen; und Bestimmen, ob die beiden Kandidaten
redundante Textfragmente bilden, wobei das Verhältnis des Überlappungsbereiches zu der
Fläche
der kleineren Zeichen-Box der beiden Textfragmente berechnet und
dieses Verhältnis
mit einem vorgegebenen Grenzwert verglichen wird.
-
Weitere
Einzelheiten, Merkmale und Vorteile der vorliegenden Erfindung werden
unter Bezugnahme auf die nachfolgende Beschreibung und die beigefügten Zeichnungen
deutlich, in denen:
-
1 ein
Flussdiagramm des Verfahrens gemäß einer
Ausführungsform
der vorliegenden Erfindung zeigt;
-
2 schematisch
zwei Schattenkandidaten-Textfragmente gemäß der Erfindung veranschaulicht;
und
-
3 schematisch
zwei Zeichen-Boxen entsprechend der in 2 dargestellten
Textfragmente veranschaulicht.
-
1 zeigt
im Detail den schrittweisen Ablauf gemäß einer Ausführungsform
der vorliegenden Erfindung. Schritt 10 ist ein Beginn eines
Ablaufs des Verfahrens zum Erkennen von redundantem Text in digitalen
Dokumenten. In Schritt 12 wird die Dokumenteninformation
eines elektronischen Dokumentes, das in einer Seitenbeschreibungssprache
beschrieben ist, eingelesen. Das Dokument kann von einer beliebigen
Größe sein,
die eine Mehrzahl von Seiten aufweist. Insbesondere wird angenommen, dass
die nachfolgenden Daten für
jede Glyphe in dem Dokument verfügbar
sind: Der entsprechende Unicode-Wert und die geometrischen Informationen einschließlich der
Position der Glyphe auf der Seite und der Parameter der Seitenbeschreibungssprache wie
z. B. Zeichensatzgröße, Abstand,
Textverzerrung usw.
-
Der
Unicode-Standard ist ein Zeichencodierungssystem, das mit ISO/IEC
10646 synchronisiert und aufgebaut ist, um den weltweiten Austausch,
die Verarbeitung und die Anzeige von geschriebenen Texten diverser
Sprachen und technischer Disziplinen der modernen Welt zu unterstützen. Er
unterstützt
klassischen und historischen Text von vielen geschriebenen Sprachen.
Weitere Einzelheiten können
auf den Unicode-Internetseiten unter http://www.unicode.org gefunden
werden.
-
Einige
der aktuelleren Dokumente, die in Seitenbeschreibungssprachen geschrieben
sind, stellen die Unicode-Werte und die geometrischen Informationen
bereit, die oben erwähnt
wurden. Es gibt jedoch immer noch viele Dokumente, aus denen die
Unicode-Werte nicht leicht ermittelbar sind. Das Ermitteln dieser
Informationen für
jedes Dokument in Seitenbeschreibungssprache ist das Thema verschiedener
Studien, bis heute wurden mehr und mehr ausgereifte Lösungen für dieses
Problem bereitgestellt. Die vorliegende Erfindung ist nicht auf
dieses Problem gerichtet, sondern macht viel eher Gebrauch von diesen
Informationen, die durch ein beliebiges geeignetes Verfahren ermittelt
werden, das dem Fachmann bekannt ist, und es wird ausdrücklich angenommen, dass
die oben erwähnten
Informationen verfügbar sind,
um diese Erfindung auszuführen.
-
Basierend
auf den eingelesenen Informationen erzeugt das erfindungsgemäße Verfahren
in Schritt 14 eine Liste aller Textfragmente auf der Seite, die
derzeit verarbeitet wird. Die Liste enthält die Position, die jedem
Textfragment entspricht, d. h. ihre Koordinaten gemäß der Seitenbeschreibung.
-
Ein
Textfragment im Kontext der vorliegenden Erfindung kann eine beliebige
Kombination von Zeichen, eine einzelne Glyphe, eine Silbe und sogar ein
Wort oder mehrere Wörter
sein. Es ist insbesondere anzumerken, dass ein Textfragment gemäß dieser
Terminologie identisch mit einer Texteinheit in der Seitenbeschreibungssprache
sein kann, aber nicht notwendiger Weise sein muss, die z. B. eine
Abfolge von Zeichen ist, die einem Befehl in PDF unterliegen, wie
z. B. "Hello you
Tj", wobei "hello you" die Texteinheit
ist. In ähnlicher
Weise ist es möglich,
Informationen für
jede einzelne Glyphe "h", "e", "l", "l", "o", " ", "y", "o", "u" oder für jedes
Wort in der Texteinheit ("hello", "you") mittels einer Berechnung
basierend auf Zeichensatzgröße, Zeichensatzabstand
usw. zu erhalten.
-
Der
nächste
Schritt 16 besteht aus dem optionalen Schritt des Sortierens
der Liste gemäß der x/y-Position
der aufgelisteten Textfragmente. Im Prinzip verbessert die Ausführung dieses
Schrittes das Ergebnis, da die Gesamtgeschwindigkeit des Verfahrens
erhöht
werden kann. Das Sortieren der Textfragmente kann sich z. B. auf
das Sortieren von Glyphen, Silben oder Wörtern beziehen.
-
Im
Nachfolgenden wird die Sortierung von Textfragmenten gemäß ihrer
x/y-Position auf der Seite beispielhaft beschrieben. Zuerst werden
die Textfragmente entsprechend ihrer y-Position sortiert, d. h. nach dem vertikalen
Abstand vom oberen Rand der Seite. Der Vergleich der y-Werte wird
nicht exakt, sondern mit einer vordefinierten Toleranz durchgeführt. Ein
beispielhafter Toleranzwert ist die Hälfte des Minimums der Zeichen-Box
(s. unten) von zwei zu vergleichenden Textfragmenten. In diesem
Fall muss die Bestimmung der Zeichen-Box (Schritt 26) für jedes
Textfragment durchgeführt
werden, bevor sie sortiert werden. Mit dieser Toleranz können hoch- und
tiefgestellte Zeichen oder dergleichen genauer gehandhabt werden.
Textfragmente mit (nahezu) identischen y-Positionen können zusätzlich gemäß ihrer
x-Position sortiert werden.
-
In
dem nächsten
Schritt 18 wird ein Paar von Fragmenten f1 und f2 mit identischen
Parametern aus der Liste identifiziert. Ein Textfragment wird als identisch
mit einem anderen Textfragment betrachtet, wenn die entsprechenden
Unicode-Werte beider Textfragmente identisch sind. Dieser Schritt
wird gewöhnlich
am Anfang der Liste, die in Schritt 14 erzeugt und in Schritt 16 optional
sortiert wurde, eingeleitet. Wenn die Textfragmente bereits in Schritt 16 sortiert
wurden, muss lediglich eine signifikant reduzierte Anzahl von aufeinander
folgenden Textfragmenten (hinunter bis lediglich zwei aufeinander
folgenden Textfragmenten je nach Sortieralgorithmus) in der Liste
berücksichtigt
werden, um die Rechenzeit zu vermindern und den Berechnungsvorgang
zu beschleunigen.
-
Schritt 20 enthält die Entscheidung,
ob ein Paar von redundanten Kandidaten erkannt worden ist.
-
Wenn
das Ergebnis aus Schritt 20 "nein" ist, dann
springt das erfindungsgemäße Verfahren
zu Schritt 22, der das Ende des schrittweisen Ablaufs in diesem
Fall ist. Dies bedeutet, dass kein redundanter Text, der lediglich
visuelle Artefakte erzeugt, auf der verarbeiteten Seite erkannt
worden ist.
-
Wenn
das Ergebnis aus Schritt 20 ergibt, dass ein Paar von möglicherweise
redundanten Textfragmenten f1 und f2 (redundante Kandidaten) erkannt
wurde, schreitet das erfindungsgemäße Verfahren zu Schritt 26 weiter.
In Schritt 26 wird bestimmt, ob das Paar von möglicher
Weise redundanten Textfragmenten tatsächlich eine Schattensequenz
oder ein weiteres Artefakt ist.
-
Um
diese Bestimmung zu erreichen, wird eine Zeichen-Box jedes Textfragments
berechnet. Die Zeichen-Box ist ein Viereck, das an den Ursprung der
ersten Glyphe des Textfragments gesetzt wird. Wenn das Textfragment
lediglich eine einzelne Glyphe enthält, wird die Höhe der Zeichen-Box
als die Zeichensatzhöhe
dieser Glyphe bestimmt. Ansonsten ist die Höhe der Zeichen-Box gleich der
häufigsten
Zeichensatzhöhe
in dem Textfragment. Dies eliminiert störende Einflüsse von Tiefstellungen oder Hochstellungen.
Die Breite der Zeichen-Box
ist gleich den aufsummierten Breiten aller Glyphen in dieser Abfolge,
wobei alle relevanten Textzustandsparameter wie z. B. horizontale
Skalierung und Zeichenabstand berücksichtigt werden.
-
In
dem folgenden Schritt 28 wird der Überlappungsbereich B der beiden
Zeichen-Boxen b1 und b2 berechnet. Der Überlappungsbereich kann auch als
Schnittmenge der Zeichen-Boxen
beider Textfragmente beschrieben werden.
-
Es
folgt Schritt 30, wo das Verhältnis des Überlappungsbereiches zu dem
Minimum der Flächen
der beiden Zeichen-Boxen, d. h. der kleineren, berechnet wird. Anschließend wird
bestimmt, ob das berechnete Verhältnis
größer als
ein vorbestimmter Grenzwert ist. Dieser Grenzwert wird Schattenprozentsatz
genannt und wird nachfolgend in größerem Detail beschrieben.
-
Wenn
das Ergebnis des Schritts 30 ergibt, dass der Schattenprozentsatz
größer als
der vorbestimmte Grenzwert ist, dann wird das Textfragment (f1 oder
f2) mit dem niedrigeren Seitenindex aus der Liste aller Textfragmente
auf der Seite, die in Schritt 14 erzeugt wurde, gelöscht. Der
Seitenindex wird durch die Reihenfolge bestimmt, in der die Textfragmente
auf einer Seite basierend auf der ursprünglichen Seitenbeschreibung
angeführt
sind, d. h. vor irgendwelchen Verarbeitungsschritten. Je höher der Seitenindex,
desto näher
liegt das entsprechende Textfragment am Ende der ursprünglichen
Seitenbeschreibung. Deshalb bedeutet ein niedriger Seitenindex,
dass das entsprechende Textfragment verglichen mit einem anderen
Textfragment eher auf der Seite angeführt wurde. Nach dem so genannten "Painter's Model" decken Textabschnitte,
die später angeführt sind
(und damit angeordnet/gedruckt), Textabschnitte ab, die früher angeführt sind
(und damit angeordnet/gedruckt sind). Da sämtliche Seitenbeschreibungssprachen
nach dem "Painter's Model" arbeiten, wird im
Kontext der vorliegenden Erfindung das zuletzt angeführte Textfragment
immer als das "Original" betrachtet, und
frühere
Textfragmente, die als Schattensequenzen erkannt worden sind, werden offensichtlich
von dem späteren
Textfragment überlappt
und werden deshalb von der Seite entfernt. Darauf folgend fährt das
Verfahren in der Schleife mit Schritt 18 fort, und ein
weiteres Paar redundanter Kandidaten wird gesucht.
-
Wenn
das Ergebnis aus Schritt 30 ist, dass das berechnete Verhältnis kleiner
oder gleich als der vorbestimmte Grenzwert ist, dann kehrt das Verfahren
ebenfalls zu Schritt 18 zurück.
-
2 zeigt
zwei Textfragmente f1 und f2 des Wortes "Shadow" zusammen mit den umgebenden Zeichen-Boxen
b1 bzw. b2. Die Höhe
des Zeichensatzes umfasst üblicher
Weise Oberlängen
und Unterlängen,
so dass die Zeichen-Box, die von der Grundlinie beginnt, höher ist
als die höchste
Glyphe in dem Textfragment. Dies ist jedoch irrelevant, wenn man
das Verhältnis
der beiden Zeichen-Boxen unter Berücksichtigung berechnet, dass
eine Höhenabweichung
in beiden Textfragmenten das Ergebnis nicht verändert. Es ist anzumerken, dass
die Darstellung aus 2 lediglich beispielhaften Gründen dient,
insbesondere ist sie nicht maßstabsgetreu.
-
3 zeigt
die beiden Zeichen-Boxen b1 und b2 aus 2, wobei
der Überlappungsbereich dieser
beiden Zeichen-Boxen schraffiert und mit B bezeichnet ist.
-
Empirisch
hat sich ein Bereich, der sich von 0,5 bis 0,7 erstreckt, für den Grenzwert
des Schattenprozentsatzes erwiesen, der gute Ergebnisse liefert. Vorzugsweise
liegt der Wert in dem Bereich zwischen 0,55 und 0,65. Die Verwendung
von verschiedenen Grenzwerten für
Textfragmente mit Einzelglyphen mit Mehrfachglyphen wird im Allgemeinen
die Genauigkeit des Schattenerkennungsalgorithmus verbessern.
-
Wie
oben beschrieben wird das Textfragment mit dem höheren Seitenindex des Paares
an Textfragmenten, die als redundant erkannt wurden, behalten.
-
Gemäß einer
besonderen Ausführungsform der
Erfindung kann es insbesondere vorteilhaft sein, als Textfragmente
ganze Wörter
sowie einzelne Glyphen in einem zweistufigen Verarbeitungsablauf
zu erkennen und zu vergleichen, was die Rechenzeit relativ kurz
hält, während extrem
zuverlässige
Ergebnisse gewährleistet
sind.
-
Es
versteht sich, dass die vorliegende Erfindung in verschiedenen Formen
von Hardware, Software, Firmware, Spezialzweckprozessoren oder einer
Kombination davon implementiert werden kann. In einer Ausführungsform
kann die vorliegende Erfindung in Software als ein Anwendungsprogramm
implementiert sein, das greifbar auf einer computerlesbaren Programmspeichervorrichtung
verkörpert
ist. Das Anwendungsprogramm, das das erfindungsgemäße Verfahren
repräsentiert,
kann auf eine Maschine hochgeladen werden und von ihr ausgeführt werden,
die eine beliebige derartige Architektur aufweist.
-
Mit
der hierin angegebenen Lehre der vorliegenden Erfindung wird der
einschlägige
Fachmann in der Lage sein, diese und ähnliche Implementierungen oder
Konfigurationen der vorliegenden Erfindung zu berücksichtigen.