Delen via


Over uitgebreide taalkundige services

Extended Linguistic Services (ELS) wordt geïmplementeerd als een DLL (Dynamic Link Library) dat een verscheidenheid aan taalkundige ondersteuningsfunctionaliteit biedt voor tekst die door de toepassing wordt opgegeven. De technologie omvat het ELS-platform en de invoegtoepassingen voor verschillende vooraf gedefinieerde taalkundige servicetypen die toegankelijk zijn voor de toepassing via het platform.

Notitie

De ELS-module wordt automatisch geïnstalleerd met Windows 7 en hoger.

 

ELS-platform

Het ELS-platform is de interface tussen uw toepassing en de ELS-services. Het biedt een eenvoudige manier om verschillende soorten taalkundige functionaliteit te implementeren via dezelfde API, waarmee de toepassing toegang kan krijgen tot specifieke services en deze kan gebruiken. Voor meer informatie over de API, zie Uitgebreide Taalkundige Dienstenreferentie.

Notitie

Wanneer de toepassing een van de ELS-API-functies aanroept, wijst het platform zo nodig geheugen en resources toe voor communicatie met de services. De toepassing is verantwoordelijk voor het opnieuw aanroepen van het platform om deze resources vrij te maken.

 

Het platform wordt uitgevoerd in de virtuele geheugenruimte van de toepassing en al het toegewezen geheugen maakt deel uit van deze ruimte. Uw toepassing hoeft dus alleen een koppeling te maken naar het DLL-bestand van het ELS-onderdeel (Elscore.dll) door een koppeling te maken naar Elscore.lib of door dynamisch Elscore.dllte laden.

ELS-services

Voor Windows 7 en hoger ondersteunt het ELS-platform alleen de volgende vooraf gedefinieerde services.

Notitie

Toekomstige versies van ELS ondersteunen aanvullende services die worden geleverd door Microsoft of serviceproviders.

 

Elke service is gekoppeld aan een servicecategorie die beschrijft wat de service doet. De categorie wordt vertegenwoordigd door een niet-lokale tekenreeks. Het wordt gebruikt door toepassingen om beschikbare services te inventariseren. De huidige servicecategorieën zijn:

  • "Taaldetectie"
  • "Scriptdetectie"
  • "Transliteratie"

Het platform maakt gebruik van servicemetagegevens om de services op te sommen die door de toepassing zijn aangevraagd. Eigenschappen zoals de GUID (Globally Unique Identifier) van de service, ondersteunde invoer- en uitvoertalen en -scripts en de servicecategorie kunnen door de toepassing worden gebruikt om de gewenste ELS-services op te sommen.

Elke ELS-service wordt geïmplementeerd als een invoegtoepassing die wordt ondersteund door een DLL die kan worden geïnstalleerd op het besturingssysteem, zodat het ELS-platform het kan detecteren en gebruiken. Services kunnen indien nodig hun eigen subservices beschikbaar maken.

Belangrijkste ELS-bewerkingen

In deze sectie worden de belangrijkste bewerkingen beschreven die worden ondersteund door het ELS-platform. Het platform ondersteunt zowel synchrone als asynchrone belmodi. De asynchrone oproepmodus maakt gebruik van een groep van toepassingsthreads om threads te plannen voor het verwerken van aanvragen.

Notitie

Omdat het platform een asynchrone modus ondersteunt, hoeven ELS-services dit type functionaliteit niet zelf te implementeren.

 

Opsomming van services

Het ELS-platform laadt en beheert alle ELS-services, waardoor de bewerking transparant is voor de toepassing. De toepassing inventariseert de beschikbare services door MappingGetServices-aan te roepen. Zie Enumerating and Freeing Servicesvoor programmeerinstructies.

Notitie

Voor prestatie redenen is het raadzaam dat uw toepassing de beschikbare services slechts één keer opsomt. Het ELS-platform controleert de services opnieuw op de volgende opsomming om ervoor te zorgen dat de opsommingsresultaten altijd actueel zijn.

 

Tekstherkenning

Na de inventarisatie van de service roept de toepassing de functie MappingRecognizeText aan om een bepaalde ELS-service te gebruiken om een tekstbereik van de invoertekst naar de uitvoertekst toe te wijzen. Een voorbeeld van tekstherkenning is het gebruik van een taaldetectieservice die een tekstsegment ontvangt en de meest waarschijnlijke taal detecteert.

Nadat de service de tekst heeft herkend, retourneert MappingRecognizeText met een MAPPING_PROPERTY_BAG structuur gevuld met uitvoergegevens en eigenschappen die door de service worden geproduceerd. Om geheugenlekken te voorkomen, moet de toepassing het eigenschapstasje vrijmaken door MappingFreePropertyBag aan te roepen voor elke keer dat de MappingRecognizeText S_OK retourneert. Meestal doet de toepassing dit wanneer deze klaar is met het gebruik van de uitvoergegevens of wanneer de uitvoergegevens niet meer relevant zijn omdat de invoerregio van de tekst is gewijzigd, bijvoorbeeld bewerkt of verwijderd. Wanneer de eigenschapstas wordt vrijgegeven, retourneert MappingFreePropertyBag.

Programmeerinstructies voor tekstherkenning worden verstrekt in Tekstherkenning aanvragen.

Servicebeëindiging

Wanneer uw toepassing geen ELS-services meer nodig heeft, roept deze MappingFreeServices aan voordat deze wordt beëindigd. Zie Enumerating and Freeing Servicesvoor meer informatie.

Versiebeheer

In toekomstige versies van ELS kunnen de ELS-services worden bijgewerkt. De toepassing kan de versienummers van de MAPPING_SERVICE_INFO structuur controleren om wijzigingen in de services te detecteren.

Notitie

Uw ELS-toepassing mag er niet vanuit gaan dat verschillende versies van dezelfde service precies dezelfde resultaten kunnen ophalen.