Informationen zu erweiterten linguistischen Diensten
Erweiterte linguistische Dienste (ELS) werden als Dll (Dynamic Link Library) implementiert, die eine Vielzahl von linguistischen Unterstützungsfunktionen für Text bietet, den die Anwendung angibt. Die Technologie umfasst die ELS-Plattform und Plug-Ins für mehrere vordefinierte linguistische Diensttypen, auf die die Anwendung über die Plattform zugriff.
Hinweis
Das ELS-Modul wird automatisch mit Windows 7 und höher installiert.
ELS-Plattform
Die ELS-Plattform ist die Schnittstelle zwischen Ihrer Anwendung und den ELS-Diensten. Es bietet eine einfache Möglichkeit, mehrere Arten von linguistischer Funktionalität über dieselbe API zu implementieren, die es der Anwendung ermöglicht, auf bestimmte Dienste zuzugreifen und diese zu verwenden. Weitere Informationen zur API finden Sie in der Referenz zu erweiterten linguistischen Diensten.
Hinweis
Wenn die Anwendung eine der ELS-API-Funktionen aufruft, ordnet die Plattform Arbeitsspeicher und Ressourcen nach Bedarf für die Kommunikation mit den Diensten zu. Die Anwendung ist für den erneuten Aufruf der Plattform verantwortlich, um diese Ressourcen frei zu machen.
Die Plattform wird im virtuellen Arbeitsspeicher der Anwendung ausgeführt, und der zugeordnete Arbeitsspeicher ist Teil dieses Speicherplatzes. Daher muss Ihre Anwendung nur eine Verknüpfung mit der ELS-Komponenten-DLL (Elscore.dll) durch Verknüpfen mit Elscore.lib oder durch dynamisches Laden von Elscore.dll.
ELS-Dienste
Für Windows 7 und höher unterstützt die ELS-Plattform nur die folgenden vordefinierten Dienste.
Hinweis
Zukünftige Versionen von ELS unterstützen zusätzliche Dienste, die von Microsoft oder Dienstanbietern bereitgestellt werden.
Jeder Dienst ist einer Dienstkategorie zugeordnet, die beschreibt, was der Dienst tut. Die Kategorie wird durch eine nicht lokalisierbare Zeichenfolge dargestellt. Sie wird von Anwendungen verwendet, um verfügbare Dienste aufzählen. Die aktuellen Dienstkategorien sind:
- "Sprachenerkennung"
- "Skripterkennung"
- "Transliteration"
Die Plattform verwendet Dienstmetadaten, um die von der Anwendung angeforderten Dienste zu aufzählen. Eigenschaften wie der GuiD (Globally Unique Identifier), unterstützte Eingabe- und Ausgabesprachen und -skripts sowie die Dienstkategorie können von der Anwendung zum Aufzählen der gewünschten ELS-Dienste verwendet werden.
Jeder ELS-Dienst wird als Plug-In implementiert, das von einer DLL unterstützt wird, die auf dem Betriebssystem installiert werden kann, damit sie von der ELS-Plattform erkannt und verwendet werden kann. Dienste können bei Bedarf eigene Unterdienste verfügbar machen.
Els-Hauptvorgänge
In diesem Abschnitt werden die wichtigsten Vorgänge beschrieben, die von der ELS-Plattform unterstützt werden. Die Plattform unterstützt sowohl synchrone als auch asynchrone Aufrufmodi. Der asynchrone Aufrufmodus verwendet einen Anwendungsthreadpool, um Threads für die Verarbeitung von Anforderungen zu planen.
Hinweis
Da die Plattform einen asynchronen Modus unterstützt, müssen ELS-Dienste diese Art von Funktionalität nicht selbst implementieren.
Dienstenumeration
Die ELS-Plattform lädt und verwaltet alle ELS-Dienste, wodurch der Betrieb für die Anwendung transparent wird. Die Anwendung aufzählt die verfügbaren Dienste durch Aufrufen von MappingGetServices. Anweisungen zum Programmieren finden Sie unter Aufzählen und Freilassen von Diensten.
Hinweis
Aus Leistungsgründen empfiehlt es sich, dass Ihre Anwendung die verfügbaren Dienste nur einmal aufzählt. Die ELS-Plattform überprüft die Dienste bei der nächsten Enumeration erneut, um sicherzustellen, dass die Enumerationsergebnisse immer aktuell sind.
Texterkennung
Nach der Dienstenumeration ruft die Anwendung die MappingRecognizeText-Funktion auf, um einen bestimmten ELS-Dienst zu verwenden, um einen beliebigen Textbereich von Eingabetext dem Ausgabetext zu zuordnen. Ein Beispiel für die Texterkennung ist die Verwendung eines Spracherkennungsdiensts, der ein Textsegment empfängt und seine wahrscheinlichste Sprache erkennt.
Nachdem der Dienst den Text erkannt hat, gibt MappingRecognizeText mit einer MAPPING PROPERTY _ _ BAG-Struktur zurück, die mit Ausgabedaten und Eigenschaften aufgefüllt wird, die vom Dienst erzeugt wurden. Um Speicherverlusten zu vermeiden, muss die Anwendung den Eigenschaftensammchen für jedes Mal, wenn MappingRecognizeText S OK zurückgibt, durch Aufrufen von MappingFreePropertyBag _ frei geben. In der Regel führt die Anwendung dies entweder nach Abschluss der Verwendung der Ausgabedaten durch oder wenn die Ausgabedaten nicht mehr relevant sind, da der Eingabebereich des Texts geändert wurde, z. B. bearbeitet oder gelöscht wurde. Wenn der Eigenschaftenstüte freigegeben wird, gibt MappingFreePropertyBag zurück.
Programmieranweisungen für die Texterkennung finden Sie unter Anfordern der Texterkennung.
Dienstbeendigung
Wenn Ihre Anwendung keine ELS-Dienste mehr benötigt, ruft sie MappingFreeServices auf, bevor sie beendet wird. Weitere Informationen finden Sie unter Aufzählen und Freilassen von Diensten.
Versionsverwaltung
In zukünftigen Versionen von ELS können die ELS-Dienste aktualisiert werden. Die Anwendung kann die Versionsnummern der MAPPING _ SERVICE _ INFO-Struktur überprüfen, um Änderungen an den Diensten zu erkennen.
Hinweis
Ihre ELS-Anwendung sollte nicht davon ausgehen, dass verschiedene Versionen desselben Diensts genau die gleichen Ergebnisse abrufen können.