-
HINTERGRUND
-
Anwender von Computervorichtungen empfangen oft Dokumente durch verschiedene Kanäle. Beispielsweise können Dokumente als Anhänge an Email-Nachrichten, durch ein Herunterladen der Dokumente von einem Internetort oder durch Aufnehmen eines Bilds von dem Dokument unter Verwendung einer Kamera empfangen werden. Der Prozess eines manuellen Sortierens dieser Dokumente und eines Transferierens von ihnen zu einem Speichersystem kann zeitaufwendig sein. Aus diesem Grund werden viele Dokumente nicht auf logische und nützliche Weise gespeichert und können nicht lokalisiert werden, wenn sie benötigt werden.
-
ZUSAMMENFASSUNG
-
Die Offenbarung betrifft allgemein eine Klassifizierung und Speicherung von Dokumenten.
-
Ein Aspekt der offenbarten Ausfühungsformen besteht in einem Verfahren, das folgendes enthält: Definieren einer Vielzahl von bekannten Dokumententypen, Erhalten einer Sammlung von zuvor klassifizierten Dokumenten, die jeweils mit einem jeweiligen Dokumententyp von der Vielzahl von bekannten Dokumententypen assoziiert sind, und Extrahieren von Merkmalen aus jedem Dokument von der Sammlung von zuvor klassifizierten Dokumenten, um Merkmalsinformation zu definieren, die aus der Sammlung von zuvor klassifizierten Dokumenten extrahierte Merkmale beschreibt. Das Verfahren enthält auch ein Erhalten eines betrachteten Dokuments, das mit einem Anwender assoziiert ist, ein Extrahieren von einem oder mehreren Merkmalen aus dem betrachteten Dokument, ein Vergleichen des einen oder der mehreren Merkmale aus dem betrachteten Dokument mit der Merkmalsinformation, ein Assoziieren des betarchteten Dokuments mit einem der bekannten Dokumententypen basierend auf dem Vergleich des einen oder der mehreren Merkmale aus dem betrachteten Dokument mit der Merkmalsinformation und ein Senden des Dokuments zu einem Cloud-Speichersystem zur Speicherung bei einem bestimmten Speicherort, der mit dem Anwender assoziiert ist und nur Dokumente des jeweiligen bekannten Dokumententyps enthält, der mit dem betrachteten Dokument assoziiert ist.
-
Ein weiterer Aspekt der offenbarten Ausführungsformen besteht in einer Vorrichtung, die einen Speicher und einen Prozessor enthält. Der Prozessor ist konfiguriert, um Anweisungen auszuführen, die im Speicher gespeichert sind, um eine Vielzahl von bekannten Dokumententypen zu definieren, eine Sammlung von zuvor klassifizierten Dokumenten zu erhalten, die jeweils mit einem jeweiligen Dokumententyp aus der Vielzahl von bekannten Dokumententypen assoziiert sind, und Merkmale aus jedem Dokument aus der Sammlung von zuvor klassifizierten Dokumenten zu extrahieren, um Merkmalsinformatlon zu definieren, die Merkmale beschreibt, die aus der Sammlung von zuvor klassifizierten Dokumenten extrahiert sind. Der Prozessor ist auch konfiguriert, um Anweisungen auszuführen, die im Speicher gespeichert sind, um ein betrachtetes Dokument zu erhalten, das mit einein Anwender assoziiert ist, eine oder mehrere Merkmale aus dem betrachteten Dokument zu extrahieren, das eine oder die mehreren Merkmale aus dem betrachteten Dokument mit der Merkmalsinformation zu vergleichen, das betrachtete Dokument mit einem der bekannten Dokumententypen basierend auf dem Vergleich des einen oder der mehreren Merkmale aus dem betrachteten Dokument mit der Merkmalsinformation zu assoziieren und das Dokument zu einem Cloud-Speichersystem zur Speicherung bei einem bestimmten Speicherort zu senden, der mit dem Anwender assoziiert ist und nur Dokumente des jeweiligen bekannten Dokumententyps enthält, der mit dem betrachteten Dokument assoziiert ist.
-
Ein weiterer Aspekt der beschriebenen Ausführungsformen besteht in einem Verfahren, das folgendes enthält: Erhalten eine Dokuments, das mit einem Anwender assoziiert ist, und Extrahieren von einem oder mehreren Merkmalen aus dem Dokument. Das Verfahren enthält auch ein Vergleichen des einen oder der mehreren Merkmale aus dem Dokument mit Empfangs-Merkmalsinformation, die Merkmale beschreibt, die aus einer Sammlung von Kaufbelegen extrahiert sind, und ein Bestimmen, dass das Dokument eine Kaufbeleg ist, basierend auf dem Vergleich von einem oder mehreren Merkmalen aus dem Dokument mit der Empfangs-Merkmalsinformation. Das Verfahren enthält auch ein Senden des Dokuments zu einem Cloud-Speichersystem zur Speicherung bei einem bestimmten Empfangs-Speicherort, der mit dem Anwender assoziiert ist.
-
Ein weiterer Aspekt der offenbarten Ausführungsformen besteht in einer Vorrichtung, die einen Speicher und einen Prozessor enthält. Der Prozessor ist konfiguriert, um ein Dokument zu erhalten, das mit einem Anwender assoziiert ist, ein oder mehrere Merkmale aus dem Dokument zu extrahieren, das eine oder die mehreren Merkmale aus dem Dokument mit Empfangs-Mermalsinformation zu vergleichen, die aus einer Sammlung von Kaugfbelegen extrahierte Merkmale beschreibt, und das Dokument zu einem Cloud-Speichersystem zur Speichherung bei einem bestimmten Empfangs-Speicherort zu senden, der mit dem Anwender assoziiert ist.
-
Variationen bei diesen und anderen Aspekten der offenbarten Ausführungsformen werden hierin nachfolgend in zusätzlichem Detail diskutiert.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Die Beschreibung hierin nimmt Bezug auf die beigefügten Zeichnungen, wobei sich gleiche Bezugszeichen in allen der mehreren Ansichten auf gleiche Teile beziehen und wobei:
-
1 ein Blockdiagramm ist, das ein Beispiel einer Umgebung zeigt, in welcher ein System zur Klassifizierung und Speicherung von Dokumenten implementiert werden kann;
-
2 ein Blockdiagramm ist, das ein Beispiel einer Hardwarekonfiguration für einen Servercomputer zeigt;
-
3 ein Blockdiagramm ist, das ein System zum Definieren eines Merkmalsdepots unter Verwendung einer Sammlung von zuvor klkassifizierten Dokumenten zeigt;
-
4 ein Blockdiagramm ist, das ein System zum Identifizieren und Speichern unklassifizierter Dokumente unter Verwendung eines Merkmalsdepots zeigt;
-
5 ein Ablaufdiagramm ist, das ein Beispiel eines Prozesses zum Definieren des Merkmalsdepots zeigt; und
-
6 ein Ablaufdiagramm ist, das ein Beispiel eines Prozesses zum Identifizieren und Speichern unklassifizierter Dokumente zeigt.
-
DETAILLIERTE BESCHREIBUNG
-
Gemäß den Verfahren, Systemen, Vorrichtungen und Computerprogrammen, die hierin diskutiert sind, werden Dokumente basierend auf Merkmale in den Dokumenten automatisch klassifiziert und bei bestimmten Speicherorten basierend darauf gespeichert, wie sie klassifiziert sind. Die Lehren hierin können auf Sammlungen von unklassifizierten Dokumenten angewendet werden, die mit einem bestimmten Anwender assoziiert sind, wie beispielsweise Dokumenten, die an Email-Nachrichten angehängt sind, und Fotografien, die in einer Sammlung gespeichert sind, die mit einem Anwender assoziiert ist.
-
1 zeigt ein Beispiel einer Umgebung 100, in welcher ein System zur Klassifizierung und Speicherung von Dokumenten implementiert werden kann. Die Umgebung 100 kann ein Anwendersystem 110, ein oder mehrere zusätzliche Anwendersysteme 120 und einen Anwendungshostingdienst 130 enthalten. Das Anwendersystem 110 und die zusätzlichen Anwendersysteme 120 stellen jeweils eine große Anzahl (z. B. Millionen) von Systemen dar, die in der Umgebung 100 enthalten sein können, wobei jedes System eine oder mehrere Anwendungen verwenden bzw. nutzen kann, die durch den Anwendungshostingdienst 130 zur Verfügung gestellt werden. Das Anwendersystem 110 und die zusätzlichen Anwendersysteme 120 können jeweils irgendeine Art von Computer oder Computervorrichtung sein, wie beispielsweise elf Desktop-Computer, ein Laptop-Computer, ein Tablet-Computer oder ein Smartphone (ein computerfähiges Mobiltelefon). Der Anwendungshostingdienst 130 kann unter Verwendung von einem oder mehreren Servercomputern 132 implementiert sein. Das Anwendersystem 110, die zusätzlichen Anwendersysteme 120 und der Anwendungshostingdienst 130 können jeweils als einzelnes System, mehrere Systeme, verteilte Systeme oder in irgendeiner anderen Form implementiert sein.
-
Die Systeme, Dienste, Server und andere Computervorrichtungen, die hier beschrieben sind, sind über ein Netzwerk 150 in Kommunikationsverbindung. Das Netzwerk 150 kann ein oder mehrere Kommunikationsnetzwerke von irgendeinem geeigneten Typ in irgendeiner Kombination sein, einschließlich drahtloser Netzwerke, verdrahteter Netzwerke, lokaler Netze, Weitverkehrsnetze, zellularer Datennetze und Internet.
-
Der Anwendungshostingdienst 130 kann einer definierten Gruppe von Anwendern einschließlich Bedienpersonen bzw. Betreibern, die mit dem Anwendersystem 110 und den zusätzichen Anwendersystemen 120 assoziiert sind, einen Zugriff auf eine oder mehrere gehostete Anwendungen zur Verfügung stellen. Eine der gehosteten Anwendungen ist ein Cloud-Speicherdienst, der zulässt, dass Anwender auf elektronische Dokumente von allen Typen zugreifen, diese speichern, organisieren und speichern. Der Cloud-Speicherdienst implementiert Anwenderkonten, so dass bei dem Cloud-Speicherdienst durch den Anwender gespeicherte Dokumente mit dem Anwender assoziiert sind, der als der Besitzer des Dokuments angesehen wird. Der Cloud-Speicherdienst implementiert auch eine anwenderspezifische Zugriffssteuerung, die zulässt, dass der Anwender anderen Anwendern einen Zugriff auf Dokumente gewährt (z. B. „gemeinsam nutzen”). Die gehosteten Anwendungen können auch ein elektronisches Mailsystem und ein Fotospeichersystem enthalten. In Bezug auf irgendeine der gehosteten Anwendungen kann der Anwendungshostingdienst betreibbar sein, um Information zu dem Anwendersystem 110 zu senden, die dann, wenn sie durch das Anwendersystem 110 interpretiert wird, veranlasst, dass das Anwendersystem 110 einen Schnittstellenbildschirm der jeweiligen gehosteten Anwendung zur Ausgabe auf einer Anzeigvorrichtung ausgibt, die mit diesem Anwendersystem 110 assoziiert ist.
-
2 ist ein Blockdiagramm eines Beispiels einer Hardwarekonfiguration für den einen oder die mehreren Servercomputer 132 der 1. Dieselbe Hardwarekonfiguration oder eine ähnliche Hardwarekonfiguration kann verwendet werden, um das Anwendersystem 110 und die zusätzlichen Anwendersysteme 120 zu implementiern. Jeder Servercomputer 132 kann eine CPU 210 enthalten. Die CPU 210 kann eine herkömmliche zentrale Verarbeitungseinheit sein. Altenativ kann die CPU 210 irgendein anderer Typ von Vorrichtung sein, oder mehrere Vorrichtungen, die Information, die jetzt existiert oder in Zukunft entwickelt wird, manipulieren oder verarbeiten kann. Obwohl die offenbarten Beispiele mit einem einzigen Prozessor ausgeführt werden können, wie es gezeigt ist, z. B. der CPU 210, können Vorteile bezüglich der Geschwindigkeit und der Effizienz unter Verwendung von mehr als einem Prozessor erreicht werden.
-
Jeder Servercomputer 132 kann einen Speicher 220 enthalten, wie beispielsweise eine Direktzugriffsspeichervorrichtung (RAM). Irgendein anderer geeigneter Typ von Speichervorrichtung kann auch als Speicher 220 verwendet werden. Der Speicher kann Code und Daten 222 enthalten, auf die durch die CPU 210 unter Verwendung eines Busses 230 zugegriffen werden kann. Der Speicher kann weiterhin ein oder mehrere Anwendungsprogramme 224 und ein Betriebssystem 226 enthalten. Die Anwendungsprogramme 224 können Softwarekomponenten in der Form von computerausführbaren Programmanweisungen enthalten, die veranlassen, dass die CPU 210 die Operationen und Verfahren, die hier beschrieben sind, durchführen.
-
Eine Speichervorrichtung 240 kann optional in der Form von irgendeinem computerlesbaren Medium vorgesehen sein, wie beispielsweise einem Festplattenlaufwerk, einer Speichervorrichtung, einem Flash-Laufwerk oder einem optischen Laufwerk. Eine oder mehrere Eingabevorrichtungen 250, wie beispielsweise eine Tastatur, eine Maus oder eine gestenempfindliche Eingabevorrichtung, empfangen Anwendereingaben und können Signale oder Daten, die die Anwendereingabe anzeigen, zur CPU 210 ausgeben. Eine oder mehrere Ausgabevorrichtungen können vorgesehen sein, wie beispielsweise eine Anzeigevorrichtung 260. Die Anzeigevorrichtung 260, wie beispielsweise eine Flüssigkristallanzeige (LCD) oder eine Kathodenstrahlröhre (CRT), lässt zu, dass einem Anwender eine Ausgabe präsentiert wird, wie beispielsweise in Antwort auf ein Empfangen eines Videosignals.
-
Obwohl 2 die CPU 210 und den Speicher 220 jedes Servercomputers 132 derart zeigt, dass sie in eine einzige Einheit integriert sind, können andere Konfigurationen verwendet werden. Die Operationen der CPU 210 können über mehrere Maschinen verteilt sein (wobei jede Maschine einen oder mehrere Prozessoren hat), die direkt oder über ein lokales oder ein anderes Netz gekoppelt sein können. Der Speicher 220 kann über mehrere Maschinen verteilt sein, wie beispielsweise als netzwerkbasierter Speicher oder Speicher in mehreren Maschinen. Obwohl er hier als einzelner Bus gezeigt ist, kann der Bus 320 von jedem der Servercomputer 132 aus mehreren Bussen zusammengesetzt sein. Weiterhin kann die Speichervorrichtung 240 direkt mit den anderen Komponenten des jeweiligen Servercomputers 132 gekoppelt sein, oder auf sie kann über ein Netzwerk zugegriffen werden, und sie kann eine einzige integrierte Einheit umfassen, wie beispielsweise eine Speicherkarte, oder mehrere Einheiten, wie beispielsweise mehrere Speicherkarten. Der eine oder die mehreren Servercomputer kann oder können in einer weiten Vielfalt von Konfigurationen implementiert sein.
-
3 ist ein Blockdiagramm, das ein System 300 zeigt, in welchem eine Sammlung von Dokumenten 310 als eine Eingabe zu einem Merkmalsklassifizierer 320 zur Verfügung gestellt wird, der ein Merkmalsdeopot 330 als eine Ausgabe definiert. Im System 300 ist eine Vielzahl von bekannten Dokumententypen definiert. Als ein Beispiel kann einer der bekannten Dokumententypen Kaufbelegen entsprechen (d. h. Schriftstücken, die eine Bezahlung für Güter oder Dienste bestätigen). Als ein weiteres Beispiel kann ein weiterer der bekannten Dokumententypen Rechnungen, Rechnungsstellungen oder ähnlichen Dokumenten entsprechen. Andere Dokumententypen können verwendet werden.
-
Die Dokumente in einer Sammlung von Dokumenten 310 können von vielen variierten Typen sein. Die Dokumente aus der Sammlung von Dokumenten 310 enthalten Text und/oder Ziffern in Form von codierten Zeichen oder Bildern von Zeichen. Als ein Beispiel können die Dokumente aus der Sammlung von Dokumenten 310 in irgendeinem einer Anzahl von wohlbekannten alphanumerischen elektronischen Dokumentenformaten gespeichert sein, die Text enthalten, der in einem Schema codiert ist, das Zeichen darstellt, die Buchstaben und Zahlen enthalten, wie beispielsweise dem ASCII-Zeichen-Codierschema. Als ein weiteres Beispiel können die Dokumente aus der Sammlung von Dokumenten 310 Bilder (z. B. Rasterbilder oder Vektorbilder) sein, die alphanumerische Zeichen enthalten.
-
Jedes Dokument aus der Sammlung von Dokumenten 310 wird klassifiziert, bevor es zum Merkmalsklassifizierer 320 geliefert wird. Dokumente werden beispielsweise dadurch klassifiziert, dass sie mit einem jeweiligen Dokumententyp aus der Vielzahl von bekannten Dokumententypen assoziiert werden. Beispielsweise kann jedes der Dokumente durch einen Anwender vor der Zeit, zu welcher die Sammlung von Dokumenten 310 zum Merkmalsklassifizierer 320 als eine Eingabe geliefert wird, manuell mit einem der bekannten Dokumententypen assoziiert werden. Bei einer Implementierung könnte einem Anwender ein Schnittstellenbildschirm (z. B. ein Dialogfeld) präsentiert werden, der eine Liste von zwei oder mehr bekannten Dokumententypen aus der Vielzahl von Dokumententypen enthält und eine Anwendereingabe in der Form einer Auswahl von einem der Dokumententypen aus der Liste anfordert. Als ein weiteres Beispiel könnte dem Anwender ein Schnittstellenbildschirm präsentiert werden, der einen einzigen Dokumententyp aus der Vielzahl von Dokumententypen identifiziert und eine Anwendereingabe anfordert, die identifiziert, ob das aktuell angezeigte Dokument dem identifizierten einzigen Dokumententyp entspricht. Andere Verfahren zum Klassifizieren der Dokumente können verwendet werden, um jedes der Dokumente mit einem der bekannten Dokumententypen vor der Zeit zu assoziieren, zu welcher die Sammlung von Dokumenten 310 zum Merkmalsklassifizierer 320 geliefert wird.
-
Der Merkmalsklassifizierer 320 extrahiert ein oder mehrere Merkmale aus jedem Dokument aus der Vielzahl von Dokumenten und codiert die Merkmale als Merkmalsinformation, die die Merkmale aus dem Dokument beschreibt. Durch Identifizieren von Merkmalen in den Dokumenten aus der Sammlung von Dokumenten 310 können Muster identifiziert werden, die zulassen, dass unklassifizierte Dokumente basierend auf dem Vorhandensein und/oder Nichtvorhandensein von bestimmten Mustern in ihnen klassifiziert werden.
-
Die Merkmale der Dokumente, die durch den Merkmalsklassifizierer 320 identifiziert und extrahiert werden, enthalten substantielle Merkmale, Formatierungsmerkmale und andere Aspekte oder Charakteristiken der Dokumente oder Teilbereiche der Dokumente, die als eine Basis zum Klassifizieren und Identifizieren von Dokumenten verwendet werden können. Beispielsweise können die Merkmale alphanumerische textbasierte Merkmale sein, die wenigstens eines von einer Textgröße, einer Textschriftart, einer Textpositionierung oder einem substantiellen Textinhalt enthalten. Für Dokumente in bildbasierten Dateiformaten kann eine optische Zeichenerkennung verwendet werden, um bildbasierte Textelemente in codierte Zeichen umzuwandeln, um substantielle Textinhaltsmerkmale zu extrahieren.
-
Die Ausgabe des Merkmalsklassifizierers 320 ist Merkmalsinformation, die in dem Merkmalsdepot 330 für eine spätere Verwendung gespeichert wird. Die Merkmalsinformation enthält Information, die ein Merkmal identifiziert und zulässt, dass ähnliche Merkmale daran angepasst werden, sowie Information, die die Dokumentenklassifizierung identifiziert, dass das Merkmal darin gefunden wurde. Somit kann die Merkmalsinformation aus dem Merkmalsdepot verwendet werden, um Merkmale in unklassifizierten Dokumenten an bekannte Merkmale anzupassen, und diese Anpassungen zeigen daher eine Verbundenheit eines unklkassifizierten Douments mit einem oder mehreren der bekannten Dokumententypen an, wie es hierin weiter erklärt werden wird.
-
Bei einer Implementierung kann der Merkmalsklassifizierer 320 Maschinenlerntechniken als eine Basis zum Extrahieren und Klassifizieren von Merkmalen verwenden. Bei einer weiteren Implementierung kann der Merkmalsklassifizierer 320 ein Maschinenlernen und ein Schablonieren als eine Basis zum Extrahieren und Klassifizieren von Merkmalen verwenden.
-
4 ist ein Blockdiagramm, das ein System 400 zeigt, in welchem ein oder mehrere unklassifizierte Dokumente 410 durch einen Dokumentenidentifizierer 420 unter Verwendung des Merkmalsdepots 330 klassifiziert und gespeichert werden, das auch dem Dokumentenidentifizierer 420 als eine Eingabe verfügbar ist.
-
Die unklassifizierten Dokumente 410 werden durch den Dokumentenidentifizierer 420 als Eingaben erhalten. Die unklassifizierten Dokumente 410 können von vielen variierten Typen sein, wie es in Bezug auf die Dokumente aus der Sammlung von Dokumenten 310 erklärt ist. Die unklassifizierten Dokumente 410 können in einer Anzahl von unterschiedlichen Arten erhalten werden. Bei einigen Implementierungen werden die unklassifizierten Dokumente 410 aus einer Sammlung von Dokumenten erhalten, die mit einem Anwender assoziiert sind, wie beispielsweise derart, dass sie auf einer Vorrichtung gespeichert sind, die im Besitz eines Anwenders ist, oder derart, dass sie bei einem Server unter Verwendung eines Kontos gespeichert sind, das mit einem Anwender assoziiert ist, wie beispielsweise eines Email-Kontos.
-
Bei einem Beispiel sind unklassifizierte Dokumente 410 Anhänge an Email-Nachrichten. Bei diesem Beispiel kann ein Erhalten von unklassifizierten Dokumenten 410 ein Zugreifen auf eine oder mehrere Email-Nachrichten enthalten, die bei einem Server für elektronische Mails gespeichert sind und mit einem Konto für elektronische Mails assoziiert sind, das mit einem Anwender assoziiert ist (z. B. im Besitz von dem Anwender ist oder primär durch den Anwender kontrolliert wird). Die Nachrichten, auf die zugegriffen ist, können Nachrichten sein, die bei dem Server für elektronische Mails über ein Protokoll, wie beispielsweise das SMTP-Protokoll, empfangen werden, wobei der Anwender als der Empfänger der Nachrichten identifiziert wird. Eine Softwarekomponente kann die Nachrichten überwachen, die bei dem Server für elektronische Mails empfangen werden, und Email-Anhänge zu einem Ort senden, der für den Dokumentenidentifizierer 420 zugreifbar ist, zur Speicherung als unklassifizierte Dokumente 410, bis sie durch den Dokumentenidentifizierer 420 erhalten und verarbeitet werden. Bei einigen Implementierungen werden die Email-Nachrichten mit den Email-Anhängen so gesendet, dass die Inhalte der Nachrichten selbst beim Klassifizieren der Anhänge verwendet werden können. Somit kann das System 400 die Email-Nachrichten und/oder Email-Anhänge ohne Initiierung eines Klassifizierungsprozesses durch den Anwender automatisch verarbeiten.
-
Bei einem weiteren Beispiel sind die unklassifizierten Dokumente 410 Fotografien. Bei diesem Beispiel kann ein Erhalten der unklassifizierten Dokumente 410 ein Zugreifen auf Fotografien enthalten, die mit dem Anwender assoziiert sind. Die Fotografien können Teil einer Sammlung von Fotografien sein, die bei einer Vorrichtung gespeichert sind, die mit dem Anwender assoziiert ist, oder bei einem cloud-basierten Speichersystem bei einem Ort gespeichert sind, der mit dem Anwender assoziiert ist. Die Sammlung von Fotografien kann überwacht werden, wie beispielsweise durch eine Softwarekomponente, und neu hinzugefügte Fotografien können zu einem Ort gesendet werden, der durch den Dokumentenidentifizierer 420 zugreifbar ist, zur Speicherung als unklassifizierte Dokumente 410, bis sie durch den Dokumentenidentifizierer 410 erhalten und verarbeitet werden. Somit kann das System 400 neu aufgenommene oder gespeicherte Bilder ohne Initiierung eines Klassifizierungsprozesses durch den Anwender automatisch verarbeiten.
-
Der Dokumentenidentifizierer 420 extrahiert Merkmale aus den unklassifizierten Dokumenten 410. Dies kann auf die Weise durchgeführt werden, die in Bezug auf den Merkmalsklassifizierer 320 beschrieben ist. Der Dokumentenidentifizierer 420 verwendet dann das Merkmalsdepot 330, um zu bestimmen, ob jedes der betrachteten Dokumente einem der bekannten Dokumententypen entspricht, indem die extrahierten Merkmale mit der Merkmalsinformation verglichen werden. Beispielsweise kann der Dokumentenidentifizierer 420 ein betrachtetes Dokument aus den unklassifizierten Dokumenten 410 auswählen, ein oder mehrere Merkmale aus dem betrachteten Dokument extrahieren und das eine oder die mehreren extrahierten zu den Merkmalen, die aus dem betrachteten Dokument extrahiert sind, mit der Merkmalsinformation, die im Merkmalsdepot 330 gespeichert ist, vergleichen. Dieser Vergleich kann unter Verwendung bekannter Techniken, wie beispielsweise Maschinenlern- und/oder Musteranpassungstechniken, durchgeführt werden. Das Ergebnis dieses Vergleichs kann eine Identifikation von einem oder mehreren der bekannten Dokumententypen sein, auf die das betrachtete Dokument bezogen ist.
-
Bei einer Implementierung wird eine Punktzahl für das betrachtete Dokument in Bezug auf jeden von mehrere der bekannten Dokumententypen bestimmt, wobei jede Punktzahl eine Wahrscheinlichkeit darstellt, dass das betrachtete Dokument diesem bestimmten Dokumententyp entspricht (d. h. derselbe Typ von Dokument ist). Einer der bekannten Dokumententypen kann basierend auf dieser Punktzahl ausgewählt werden. Ein einfaches Beispiel eines Algorithmus zum Auswählen von einem der bekannten Dokumententypen wählt einfach den bekannten Dokumententyp mit dem höchsten Rang aus. Andere Algorithmen können verwendet werden, um einen der bekannten Dokumententypen auszuwählen.
-
Bei einigen Implementierungen wird eine Bestimmung diesbezüglich durchgeführt, ob das Ergebnis als gültig oder ungültig angesehen wird. Eine solche Bestimmung kann auf der Basis von einem oder mehreren individuellen Tests durchgeführt werden. Ein solcher Test kann bestimmen, ob die Punktzahl für den Dokumententyp mit dem höchsten Rang einen Schwellenwert übersteigt. Wenn die Punktzahl für den Dokumententyp mit dem höchsten Rang den Schwellenwert nicht übersteigt, wird bestimmt, dass das Ergebnis ungültig ist. Ein weiterer solcher Test kann bestimmen, ob die zwei Dokumententypen mit dem höchsten Rang sich um weniger als einen Schwellenwert unterscheiden (z. B. ein Fehlerspielraum). Wenn die zwei Dokumententypen mit dem höchsten Rang sich um weniger als den Schwellenwert unterscheiden, wird bestimmt, dass das Ergebnis ungültig ist. Wenn der Prozess ein gültiges Ergebnis produziert, wird das betrachtete Dokument mit dem bekannten Dokumententyp assoziiert. Diese Assoziation kann ohne Anwendereingabe, die den bekannten Dokumententyp auswählt, automatisch durchgeführt werden. Der Dokumentenidentifizierer 420 veranlasst dann, dass das betrachtete Dokument mit dem bekannten Dokumententyp assoziiert wird. Wenn der Prozess kein gültiges Ergebnis produziert, assoziiert der Dokumentenidentifizierer 420 das betrachtete Dokument nicht automatisch mit dem bekannten Dokumententyp. Bei einigen Implementierungen kann der Dokumentenidentifizierer 420 dann den Anwender auffordern, das betrachtete Dokument durch Auswählen von einem der bekannten Dokumententypen aus einer Liste oder durch Erzeugen eines neuen Dokumententyps manuell zu klassifizieren.
-
Nachdem das betrachtete Dokument mit dem bekannten Dokumententyp assoziiert ist, veranlasst der Dokumentenidentifizierer 420, dass das betrachtete Dokument in Assoziation mit dem bekannten Dokumententyp gespeichert wird. Bei einem Beispiel enthält ein Speichern des betrachteten Dokuments in Assoziation mit dem bekannten Dokumententyp ein Transferieren des betrachteten Dokuments zu einem Doklumenten-Speichersystem 430 zur Speicherung auf eine Weise, die zulässt, dass das betrachtete Dokument auf der Basis seines Dokumententyps lokalisiert und wiedergewonnen wird. Bei einer Implementierung veranlasst der Dokumentenidentifizierer 420 eine Speicherung des betrachteten Dokuments bei dem Dokumenten-Speichersystem 430 automatisch ohne Anwendereingabe. Bei einer weiteren Implementierung veranlasst der Dokumentenidentifizierer 420 eine Anzeige einer Schnittstelle zu dem Anwender, die den Anwender fragt, ob das betrachtete Dokument bei dem Dokumenten-Speichersystem 430 gespeichert werden sollte.
-
Ein Beispiel eines Speicherns des betrachteten Dokuments in Assoziation mit seinem Dokumententyp enthält ein Speichern des betrachteten Dokuments bei einem bestimmten Speicherort bei dem Dokumenten-Speichersystem 430, der nur Dokumente vom demselben Dokumententyp enthält. Der bestimmte Speicherort kann ein Ordner in einer hierarchischen Speicherstruktur sein, der nur Dokumente von einem einzigen Dokumententyp speichert. Nichthierarchische Speicherstrukturen können auch verwendet werden, um zu veranlassen, dass Dokumente von demselben bekannten Dokumententyp zusammen gespeichert werden. Beispielsweise kann eine solches System Metadaten für das betrachtete Dokument speichern, die den Dokumententyp des Dokuments identifizieren. Diese Metadaten können durch das Dokumenten-Speichersystem 430 verwendet werden, um eine Anzeige oder eine ordnerbasierte Sammlung oder eine kriterienbasierte Sammlung, die nur Dokumente von einen einzigen spezifizierten Dokumententyp enthält, zu definieren und zu veranlassen.
-
Bei einer Implementierung ist das Dokumenten-Speichersystem 430 ein Cloud-Speichersystem, das Dokumente von jedem bekannten Dokumententyp bei einem bestimmten Speicherort speichert, der mit dem Anwender assoziiert ist und nur Dokumente des jeweiligen bekannten Dokumententyps enthält, der mit dem betrachteten Dokument assoziiert ist. Der bestimmte Speicherort kann mittels eines Anwenderkontos mit dem Anwender assoziiert sein, das dem Anwender wenigstens eine teilweise Kontrolle über den bestimmten Speicherort überlässt. Die dem Anwender zur Verfügung gestellte Kontrolle kann die Fähigkeit enthalten, eine Zugriffssteuerung einzustellen, um anderen einen Zugriff auf den bestimmten Speicherort zu verweigern oder zu gewähren.
-
Das System 400 kann auf Dokumente von vielen Typen angewendet werden. Bei einer Implementierung entspricht einer der bekannten Dokumententypen Kaufbelegen und enthält das Merkmalsdepot 330 klassifizierte Merkmale von Kaufbelegen, die nützlich zum Bestimmen sind, ob ein betrachtetes Dokument ein Kaufbeleg ist.
-
Als ein Beispiel könnte ein Anwender eine oder mehrere Email-Nachrichten empfangen, die Kaufbelege enthalten, und zwar entweder im Körper der Email-Nachricht selbst oder als ein Anhang in einem Format, wie beispielsweise einem Bild-Dateiformat, einem Textverarbeitungsdokumenten-Dateiformat oder einem anwendungsunabhängigen Dokumentenanzeige-Dateiformat, wie beispielsweise als das PDF-Dateiformat. Diese Dokumente werden durch den Dokumentenidentifizierer 420 verarbeitet und irgendwelche Dokumente, die als Kaufbelege identifiziert sind, werden bei dem Dokumenten-Speichersystem 430 gespeichert, wie beispielsweie durch Veranlassen, dass eine Kopie der Dokumente bei dem Dokumenten-Speichersystem 430 erzeugt wird. Obwohl die zuvor angegebenen Beispiele sich alle mit Situationen beschäftigen, in welchen Merkmale in einem Dokument anzeigen, dass das Dokument selbst von einem bekannten Typ ist, sollte es verstanden werden, dass Merkmale in einer Email-Nachricht verarbeitet werden können, um zu bestimmen, dass ein Anhang an der Email-Nachricht einem bekannten Dokumententyp entspricht, in welchem Fall der Anhang basierend auf den Merkmalen in der Email-Nachricht klassifiziert wird, und der Anhang kann dann bei dem Dokumenten-Speichersystem 430 gespeichert werden.
-
Als ein weiteres Beispiel könnte ein Anwender eine Kamera verwenden, um Fotografien von einem oder mehreren Kaufbelegen zu machen und diese Fotografien in einer Sammlung von Bildern zu speichern, die ebenso andere Typen von Bildern enthält. Der Dokumentenidentifizierer 420 verarbeitet diese Bilder, wie es zuvor beschrieben ist. Eine optische Zeichenerkennung kann verwendet werden, um Text von den Bildern zu dem Zweck einer Merkmalsklassifizierung zu identifizieren und zu extrahieren. Der Dokumentenidentifizierer 420 veranlasst auf ein Bestimmen hin, dass wenigstens einige der Dokumente Verkaufsbelege sind, dass diese Dokumente bei dem Dokumenten-Speichersystem 430 gespeichert werrden.
-
5 ist ein Ablaufdiagramm, das ein Beispiel eines Prozesses 500 zum Definieren eines Merkmalsdepots, wie beispielsweise des Merkmalsdepots 330, zeigt. Die in Verbindung mit dem Prozess 500 beschriebenen Operationen können bei einem oder mehrerne Computern durchgeführt werden, wie beispielsweise bei einem oder mehreren Servercomputern 132 des Anwendungshostingdienstes 130, oder bei dem Anwendersystem 110. Wenn eine Operation derart beschrieben wird, dass sie durch einen oder mehrere Computer durchgeführt wird, wird sie beendet, wenn sie durch einen allein arbeitenden Computer durchgeführt wird, oder durch mehrere Computer, die zusammenarbeiten. Die in Verbindung mt dem Prozess 500 beschriebenen Operationen können als ein nichtflüchtiges computerlesbares Speichermedium verkörpert sein, das durch einen oder mehrere Prozessoren ausführbare Programmanweisungen enthält, die dann, wenn sie ausgeführt werden, veranlassen, dass der eine oder die mehreren Prozessoren die Operationen durchführen. Beispielsweise können die in Verbindung mit dem Prozess 500 beschriebenen Operationen bei dem Speicher 220 von einem der Servercomputer 132 zur Ausführung durch die CPU 210 davon gespeichert sein.
-
Bei einer Operation 510 werden Dokumente von bekannten Typen erhalten. Die bei der Operation 510 erhaltenen Dokumente können Dokumente sein, die zuvor klassifiziert wurden, wie beispielsweie durch einen manuellen Prozess. Bei einer Operation 520 werden die Dokumente, die bei der Operation 510 erhalten wurden, klassifiziert, wie beispielsweise durch Liefern dieser Dokumente zu einem Merkmalsklassifizierungssystem, das in Bezug auf den Merkmalsklassifizierer 320 beschrieben ist. Bei einer Operation 530 wird Information, die die Merkmale darstellt, die bei der Operation 520 extrahiert und klassifiziert wurden, gespeichert. Dies kann beispielsweise durchgeführt werden, wie es in Bezug auf eine Speicherung von Merkmalsinformation bei dem Merkmalsdepot 330 beschrieben ist.
-
6 ist ein Ablaufdiagramm, das ein Beispiel eines Prozesses 600 zum Identifizieren und Speichern unklassifizierter Dokumente zeigt. Die in Verbindung mit dem Prozzess 600 beschriebenen Operationen können bei einem oder mehreren Computer durchgeführt werden, wie beispielsweie bei einem oder mehreren Servercomputern 132 des Anwendungshostingdienstes 130 oder bei dem Anwendersystem 110. Wenn eine Operation derart beschrieben wird, dass sie durch einen oder mehrere Computer durchgeführt wird, wird sie beendet, wenn die durch einen Computer durchgeführt wird, der allein arbeitet, oder durch mehrere Computer, die zusammenarbeiten. Die in Verbindung mit dem Prozess 600 beschriebenen Operationen können als ein nichtflüchtiges comlputerlesbares Speichermedium verkörpert sein, das durch einen oder mehrere Prozessoren ausführbare Anweisungen enthält, die dann, wenn sie ausgeführt werden, veranlassen, dass der eine oder die mehreren Prozessoren die Operationen durchführen. Beispielsweise können die in Verbindung mit dem Prozess 600 beschriebenen Operationen bei dem Speicher 220 von einem der Servercomputer 132 zur Ausführung durch die CPU 210 davon gespeichert sein.
-
Bei einer Operation 610 werden unklassifizierte Dokumente erhalten. Dies kann auf eine Weise durchgeführt werden, die in Bezug auf unklassifizierte Dokumente 410 beschrieben ist. Bei einer Operation 620 werden die Dokumente, die bei der Operation 610 erhalten wurden, zu einem Merkmalsextraktionssystem geliefert, das Merkmale extrahiert, die als eine Basis zum Identifizieren der Dokumente verwendet werden können. Bei einer Operation 630 erfolgt für jedes der Dokumente eine Bestimmung bezüglich der Wahrscheinlichkeit, dass das Dokument einem bekannten Dokumententyp entspricht. Die Operationen 620 und 630 können durchgeführt werden, wie es in Bezug auf den Dokumentenidentifizierer 420 beschrieben ist. Bei einer Opeartion 640 wird eine Bestimmung durchgeführt, ob die Bestimmung des Dokumententyps bei der Operation 630 gültig ist. Dies kann durch Analysieren der Wahrscheinlichkeiten durchgeführt werden, die bei der Operation 630 berechnet sind, unter Verwendung von einer oder mehreren Regeln, wie es zuvor beschrieben ist. Wenn die Bestimmung nicht gültig ist, wird der bei der Operation 630 identifizierte Dokumententyp nicht als eine Basis zum Speichern des Dokuments verwendet. An dieser Stelle endet der Prozess oder kann der Anwender alternativ aufgefordert werden, Information einzugeben, die zum richtigen Identifizieren und Speichern des Dokuments verwendet werden kann. Wenn die Operation 640 bestimmt, dass der bei der Operation 630 identifizierte Dokumententyp gültig ist, wird das Dokument in Assoziation mit dem Dokumententyp bei einer Operation 650 gespeichert. Dies kann beispielsweise auf eine Weise durchgeführt werden, die in Bezug auf das Dokumenten-Speichersystem 430 beschrieben ist.
-
Die vorangehende Beschreibung beschreibt nur einige beispielhafte Implementierungen der beschriebenen Techniken. Andere Implementierungen sind verfügbar. Beispielsweise sind die bestimmte Bennennung der Komponenten, eine Großschreibung von Ausdrücken, die Attribute, Datenstrukturen oder irgendein anderer Programmierungs- oder Strukturaspekt nicht obligatorisch oder signifikant und die Mechanismen, die die Erfindung oder ihre Merkmale implementieren, können andere Namen, Formate oder Protokolle haben. Ferner kann das System über eine Kombination von Hardware und Software implementiert sein, wie es beschrieben ist, oder gänzlich in Hardwareelementen. Ebenso ist eine bestimmte Teilung einer Funktionalität zwischen den verschiedenen Systemkomponenten, die hierin beschrieben sind, lediglich beispielhaft und nicht obligatorisch; durch eine einzelne Systemkomponente durchgeführte Funktionen können stattdessen durch mehrere Komponenten durchgeführt werden und durch mehrere Komponenten durchgeführte Funktionen können stattdessen durch einen einzelene Komponente durchgeführt werden.
-
Die Worte „Beispiel” oder „beispielhaft” werden hierin derart verwendet, dass sie bedeuten, als Beispiel, Fall oder Illustration zu dienen. Jeder Aspekt oder Entwurf, der hierin als „Beispiel” oder „beispielhaft” beschrieben ist, ist nicht notwendigerweise als bevorzugt oder vorteilhaft gegenüber anderen Aspekten oder Entwürfen auszulegen. Vielmehr ist beabsichtigt, dass eine Verwendung der Worte „Beispiel” oder „beispielhaft” Konzepte auf eine konkrete Art und Weise präsentieren. Wie er in dieser Anmeldung verwendet ist, ist für den Ausdruck „oder” beabsichtigt, dass er eher ein einschließliches „oder” als ein ausschließliches „oder” bedeutet. Das bedeutet, dass, solange es nicht anders spezifiziert ist oder es aus dem Zusammenhang klar ist, beabsichtigt ist, dass „X enthält A oder B” irgendeine der natürlichen einschließlichen Permutationen bedeutet. Das bedeutet, dass dann, wenn X A enthält; X B enthält; oder X sowohl A als auch B enthält, dann „X enthält A oder B” unter irgendeinem der vorangehenden Fälle erfüllt ist. Zusätzlich sollten die Artikel „ein” oder „eine”, wie sie in dieser Anmeldung und den beigefügten Ansprüchen verwendet sind, allgemein derart ausgelegt sein, dass sie „ein oder mehrere” bedeuten, solange es nicht anders spezifiziert ist oder aus dem Zusammenhang klar ist, dass er auf eine Singularform gerichtet ist. Darüber hinaus ist mit der durchgehenden Verwendung des Ausdrucks „eine Ausführungsform” oder „eine einzelne Ausführungsform” oder „eine Implementierung” oder „eine einzelene Implementierung” nicht beabsichtigt, dass er dieselbe Ausführungsform oder Implementierung bedeutet, solange es nicht so beschrieben ist.
-
Die Implementierungen der Computervorrichtungen (z. B. Clients und Server), die hierin beschrieben sind, können in Hardware, Software oder irgendeiner Kombination davon realisiert werden. Die Hardware kann beispielsweise Computer, IP-(intellectual property = geistiges Eigentum)Kerne, anwendungsspezifische integrierte Schaltungen (ASICs), programmierbare Logikanordnungen, optische Prozessoren, programmierbare Logiksteuerungen, Mikrocode, Mikrosteuerungen, Server, Mikroprozessoren, digitale Signalprozessoren oder irgendeine ander geeignete Schaltung enthalten. In den Ansprüchen sollte der Ausdruck „Prozessor” derart verstanden werden, dass er irgendetwas der vorangehenden Hardware, entweder einzeln oder in Kombination, umfasst. Die Ausdrücke „Signal” und „Daten” werden austauschbar verwendet. Ferner müssen Teilbereiche von jedem der Clients und jedem der Server, die hierin beschrieben sind, nicht notwendigerweise auf dieselbe Weise implementiert sein.
-
Operationen, die derart beschrieben sind, dass sie durch einen einzigen Prozessor, Computer oder eine einzige Vorrichtung durchgeführt werden, können über eine Anzahl von unterschiedlichen Prozessoren, Computern oder Vorrichtungen verteilt werden. Gleichermaßen können Operationen, die derart beschrieben sind, dass sie durch unterschiedliche Prozessoren, Computer und Vorrichtungen durchgeführt werden, in einigen Fällen durch einen einzigen Prozessor, Computer oder eine einzige Vorrichtung durchgeführt werden.
-
Obwohl Merkmale oben derart beschrieben oder beansprucht sein können, dass sie in bestimmten Kombinationen agieren, kann oder können ein oder mehrere Merkmale in einigen Fällen aus der Kombination entfernt werden, und die Kombination kann auf eine Unterkombination oder Variation einer Unterkombination gerichtet werden.
-
Die hierin beschriebenen Systeme, wie beispielsweise Clientcomputer und Servercomputer, können unter Verwendung von universellen Computern/Prozessoren mit einem Computerprogramm implementiert sein, das dann, wenn es ausgeführt wird, irgendeines der jeweiligen Verfahren, Algorithmen und/oder Anweisungen, die hierin beschrieben sind, ausführen. Zusätzlich oder alternativ können beispielsweie universelle Computer/Prozessoren verwendet werden, die spezialisierte Hardware zum Ausführen von irgendeinem der Verfahren, Algorithmen und/oder Anweisungen, die hierin beschrieben sind, enthalten können.
-
Einige Teilbereiche der obigen Beschreibung enthalten eine Offenbarung, die in Bezug auf Algorithmen und symbolische Darstellung von Operationen an Information präsentiert ist. Diese algorithmischen Beschreibungen und Darstellungen sind die Mittel, die von Fachleuten auf dem dem Gebiet der Datenverarbeitung verwendet werden, um das Wesen ihrer Arbeit anderen Fachleuten auf dem Gebiet am effektivsten zu vermitteln. Diese Operationen werden, während sie funktionell oder logisch beschrieben sind, derart verstanden, dass sie durch Computerprogramme implementiert sind. Weiterhin hat es sich manchmal auch als angenehm erwiesen, sich, ohne Verlust an Allgemeinheit, auf diese Anordnungen von Operationen als Module oder durch Funktionsnamen zu beziehen. Es sollte beachtet werden, dass die Prozessschritte und Anweisungen von Implementierungen dieser Offenbarung in Software, Firmware oder Hardware verkörpert sein könnten, und dann, wenn sie in Software verkörpert sind, heruntergeladen werden könnten, um sich auf verschieden Plattformen zu befinden und von diesen aus betrieben zu werden, die durch Echtzeit-Netzwerkbetriebssysteme verwendet werden.
-
Solange es nicht spezifisch anders angegeben ist, wie es aus der obigen Diskussion offensichtlich ist, wird es eingesehen, dass in der Beschreibung durchgehend Diskussionen unter Verwendung von Ausdrücken, wie beispielsweise „Verarbeiten” oder „Berechnen mittels Computer” oder „Berechnen” oder „Bestimmen” oder „Anzeigen” oder ähnliches, sich auf die Aktion und die Prozesse eines Computersystems oder einer ähnlichen elektronischen Computervorrichtung, die Daten manipuliert und transformiert, die als physikalische (elektronische) Größen innerhalb der Computersystemspeicher oder -register oder einem anderen solchen Informationsspeicher, Sende- oder Anzeigevorrichtungen dargestellt sind, beziehen.
-
Wenigstens eine Implementierung dieser Offenbarung bezieht sich auf eine Vorrichtung zum Durchführen der Operation hierin. Diese Vorrichtung kann speziell für die erforderlichen Zwecke aufgebaut sein oder sie kann einen Universalcomputer umfassen, der durch ein Computerprogramm selektiv aktiviert oder rekonfiguriert wird, das auf einem computerlesbaren Speichermedium gespeichert ist, auf das durch den Computer zugegriffen werden kann.
-
Alles oder ein Teilbereich der Ausführungsformen der Offenbarung kann die Form eines Computerprogrammprodukts annehmen, das beispielsweise von einem nichtflüchtigen computernutzbaren oder computerlesbaren Medium aus zugreifbar ist. Das Computerprogramm kann, wenn es ausgeführt wird, irgendeine der jeweiligen Techniken, Algorithmen und/oder Anweisungen, die hierin beschrieben sind, ausführen. Ein nichtflüchtiges computernutzbares oder computerlesbares Medium kann irgendeine Vorrichtung sein, die beispielsweise konkret das Programm zur Verwendung durch einen Prozessor oder in Kombination mit diesem enthalten, speichern, kommunizieren oder transportieren kann. Das nichtflüchtige Medium kann beispielsweise irgendein Typ von Platte sein, einschließlich Floppy-Disks, optischer Platten, CD-ROMs, magneto-optischer Platten, Nurlesespeicher (ROMs), Direktzugriffsspeicher (RAMs), EPROMs, EEPROMs, magnetischer oder optischer Karten, anwendungsspezifischer Schaltungen (ASICs) oder irgendeines anderen Typs von Medien, die zum konkreten Enthalten, Speichern, Kommunizieren oder Transportieren elektronischer Anweisungen geeignet sind.
-
Es ist zu verstehen, dass die Offenabrung nicht auf die offenabrten Ausführungsformen zu beschränken ist, sondern, im Gegegnteil, beabsichtigt ist, verschiedene Modifikationen und äquivalente Anordnungen zu umfassen, die innerhalb des Schutzumfangs der beigefügten Ansprüche enthalten sind.