Native Sprachunterstützung für Skills

Ab Plattformversion 20.12 gibt es in Oracle Digital Assistant native Unterstützung für einige Sprachen. Wenn Sie einen Skill mit dieser nativen Sprachunterstützung entwickeln, müssen Sie keinen externen Übersetzungsservice verwenden, um Benutzereingaben und Skillantworten in diesen Sprachen zu verarbeiten.

Wenn Sie derartige Skills für die Aufnahme in einen digitalen Assistenten entwickeln, muss dieser digitale Assistent auch die native Sprachunterstützung verwenden. Siehe Native Sprachunterstützung in digitalen Assistenten.

So funktioniert die native Sprachunterstützung

  • Trainingsdaten können in jeder der (nativ unterstützten) Sprachen bereitgestellt werden, für die Sie den Skill entwerfen.

    Wenn Sie die native Sprachunterstützung verwenden, wird der Skill nach einem einheitlichen Modell trainiert, das alle nativ unterstützten Sprachen umfasst. Sie können Trainingsäußerungen in einer oder mehreren der Zielsprachen des Skills bereitstellen. Die Trainingsäußerungen, die Sie in einer Sprache bereitstellen, bauen das Modell für alle Sprachen des Skills auf. Bei Skills, die Sie in mehreren Sprachen verwenden, erstellen Sie in der Regel das Trainingskorpus zunächst in der primären Sprache des Skills. Dann können (und sollten) Sie Trainingsäußerungen in den anderen Sprachen hinzufügen, obwohl Sie wahrscheinlich nicht so viele in diesen anderen Sprachen benötigen.

    Das unterscheidet sich von Skills, die einen Übersetzungsservice verwenden. In diesen Skills ist das zugrunde liegende Trainingsmodell immer auf Englisch, auch wenn das Trainingskorpus in einer anderen Sprache bereitgestellt wird.

  • Entitywerte für integrierte Entitytypen (wie NUMBER, EMAIL und DATE) werden in der Sprache der Unterhaltung extrahiert. (Das unterscheidet sich von Skills im Übersetzungsservicemodus, bei denen die Werte extrahiert werden, nachdem die Eingabe vom Übersetzungsservice übersetzt wurde.)
  • Entitywerte für benutzerdefinierte Entitys werden mit den für die Sprache der aktuellen Unterhaltung angegebenen Werten abgeglichen.
  • Fähigkeiten, die nicht-englische Sprachen unterstützen, müssen mit Trainer TM trainiert werden.

Nativ unterstützte Sprachen

Hier werden die Sprachen (und die entsprechenden Sprachcodes) aufgeführt, die derzeit nativ in Oracle Digital Assistant unterstützt werden.

  • Arabisch (ar)
  • Niederländisch (nl)
  • Englisch (en)
  • Französisch (fr)
  • Deutsch (de)
  • Italienisch (it)
  • Portugiesisch (pt)
  • Spanisch (es)

Das bedeutet, dass Sie Skills und digitale Assistenten für diese Sprachen erstellen können, ohne einen Übersetzungsservice wie Google Translate zu verwenden.

Im Folgenden finden Sie einen Überblick über die unterstützten Funktionen für jede Sprache.

Sprache Sprachverständnis Sprachfunktion Insights Datenproduktion Conversation Designer
Arabisch (ar) Ja Nr. Ja Ja Nr.
Niederländisch (nl) Ja Nr. Ja Ja Nr.
Englisch (en) Ja Ja, einschließlich der Gebietsschemas en-US, en-GB und en-AU Ja Ja Ja
Französisch (fr) Ja Ja Ja Ja Nr.
Deutsch (de) Ja Ja Ja Ja Nr.
Italienisch (it) Ja Ja Ja Ja Nr.
Portugiesisch (pt) Ja Ja Ja Ja Nr.
Spanisch (es) Ja Ja Ja Ja Nr.

Einen detaillierteren Vergleich der unterstützten Funktionen für jede Sprache finden Sie unter Featureunterstützung nach Sprache.

Skill mit nativ unterstützten Sprachen erstellen

Im Folgenden finden Sie die allgemeinen Schritte zum Erstellen eines Skills, der die Unterstützung der Muttersprache von Oracle Digital Assistant verwendet.

  1. Wählen Sie beim Erstellen des Skills Plattformversion 20.12 oder höher aus, und wählen Sie die gewünschte primäre Sprache in der Dropdown-Liste Primäre Sprache aus.

    Die ausgewählte Sprache muss sich im Abschnitt Nativ unterstützt der Dropdown-Liste befinden.

  2. Fügen Sie für jedes von Ihnen erstellte Intent Äußerungen für den Skill in der primären Sprache hinzu:
    1. Klicken Sie auf Symbol zum Öffnen des Seitenmenüs, um das Seitenmenü zu öffnen, wählen Sie Entwicklung > Skills aus, und öffnen Sie Ihren Skill.
    2. Klicken Sie in der linken Navigationsleiste des Skills auf Dieses Bild zeigt das Symbol "Intent"..
    3. Wählen Sie ein Intent aus.
    4. Geben Sie im Textfeld "Beispiele" die Äußerung ein, und drücken Sie die Eingabetaste.
    5. Wiederholen Sie die vorherigen beiden Teilschritte für jedes Intent.
  3. Stellen Sie für alle benutzerdefinierten Entitys im Skill sicher, dass die Werte in der primären Sprache des Skills vorliegen.

    Sie können benutzerdefinierte Entitys hinzufügen und bearbeiten, indem Sie in der linken Navigationsleiste des Skills auf Dieses Bild zeigt das Symbol "Entitys". klicken.

  4. Stellen Sie bei allen Komponenten im Dialogablauf mit Eigenschaften, die Prompts oder Labels anzeigen, sicher, dass Sie diese Eigenschaften explizit definieren. Wenn Sie diese Eigenschaften nicht definieren, kann Standardtext auf Englisch aus diesen Eigenschaften angezeigt werden.
  5. Aktualisieren Sie in den Skilleinstellungen alle Konfigurationsnachrichten und Prompts so, dass sie die primäre Sprache verwenden:

    So greifen Sie auf diese Nachrichten und Prompts zu:

    • Klicken Sie in der linken Navigationsleiste des Skills auf Symbol "Einstellungen".

    Die Nachrichten und Prompts befinden sich auf den Registerkarten Konfiguration und Digital Assistant.

Hinweis

Wenn Sie mehrere Sprachen im Skill unterstützen möchten, müssen Sie Resource-Bundle-Schlüssel für die Eigenschaften, Prompts und Nachrichten definieren, die Benutzern angezeigt werden können. Das sollten Sie eventuell selbst dann tun, wenn Sie nicht mehrere Sprachen unterstützen möchten, da das Resource Bundle einen einzigen Ort bereitstellt, an dem Sie die Werte aller Zeichenfolgen bearbeiten können. Siehe Resource Bundles für Skills.

Nativ unterstützte Sprachen zu einem Skill hinzufügen

Für Skills (oder Skillversionen), für die Sie eine nativ unterstützte primäre Sprache ausgewählt haben, können Sie zusätzliche nativ unterstützte Sprachen hinzufügen.

  1. Stellen Sie sicher, dass der Skill auf Plattformversion 20.12 oder höher ausgeführt wird.

    Andernfalls müssen Sie einen Klon oder eine neue Version des Skills erstellen und auf Plattformversion 20.12 oder höher setzen.

  2. Klicken Sie in der linken Navigationsleiste des Skills auf das Symbol Einstellungen (Symbol "Einstellungen"), und wählen Sie die Registerkarte Allgemein aus.
  3. Scrollen Sie nach unten zum Sprachabschnitt, klicken Sie auf Sprache hinzufügen, und wählen Sie die Sprache in der Dropdown-Liste aus.
  4. Fügen Sie für jedes der Intents im Skill einen Unterhaltungsnamen und weitere Äußerungen in der hinzugefügten Sprache hinzu:
    1. Klicken Sie in der linken Navigationsleiste auf Intents (Dieses Bild zeigt das Symbol "Intent".).
    2. Wählen Sie das gewünschte Intent aus.
    3. Wählen Sie die Registerkarte für die Sprache aus, die Sie gerade hinzugefügt haben.
    4. Klicken Sie auf Dieses Bild zeigt das Symbol "Bearbeiten"., um einen beschreibenden Namen oder eine Wortgruppe für das Intent in das Feld Unterhaltungsname einzugeben.
  5. Geben Sie für alle Entitys, die auf Schlüssel/Wert-Paaren basieren (Wertelistenentitys und dynamische Entitys), Werte für diese Sprache ein.
  6. Legen Sie fest, dass der Skill Entitywerte in der Sprache der Unterhaltung anzeigen kann:
    1. Stellen Sie in Komponenten, mit denen Sie Entitys auflösen (Entity auflösen und Gemeinsame Antwort), sicher, dass die Eigenschaft useFullEntityMatches auf true gesetzt ist.

      Auf diese Weise stellen Sie sicher, dass benutzerdefinierte Entitywerte als JSON-Objekte anstelle von einfachen Zeichenfolgen gespeichert werden.

    2. Fügen Sie in allen FreeMarker-Ausdrücken, die benutzerdefinierte Entitywerte referenzieren (ob im Dialogablauf oder in verschiedenen Skilleigenschaften), das Attribut ein, das dem zu lesenden Wert entspricht. Sie können folgende Attribute verwenden:
      • value: Gibt den Wert der Entity in der Unterhaltung der Sprache zurück.
      • primaryLanguageValue: Gibt den Wert der Entity in der primären Sprache des Skills zurück. Verwenden Sie diese Option für Ausdrücke, die für Geschäftslogik verwendet werden (z.B. um basierend auf dem Entitywert zu bestimmen, ob ein Prompt angezeigt werden soll).
      • originalString: Gibt den Wert zurück, den der Benutzer zum Abgleich der Entity eingegeben hat. Dieser Wert kann ein Synonym für den Entitywert sein.

      Beispiel: Wenn Sie den Ausdruck ${PizzaSize} verwenden, um den Wert der Entity "PizzaSize" zu referenzieren, ändern Sie diesen in ${PizzaSize.value}, um den Wert in der Sprache der Unterhaltung anzuzeigen.

  7. Wenn noch nicht geschehen, erstellen Sie Resource-Bundle-Schlüssel für alle Ausgaben, die Benutzern angezeigt werden, geben Werte für die primäre Sprache ein, und fügen Sie Referenzen zu diesen Schlüsseln an den entsprechenden Stellen ein. Dazu gehört:
    • Ausgabetext im Dialogablauf.
    • Prompts für Entitys, die in den Entitydefinitionen enthalten sind.
    • In den Einstellungen des Skills definierte Nachrichten und Prompts. So greifen Sie auf diese zu:
      • Klicken Sie in der linken Navigationsleiste des Skills auf Symbol "Einstellungen".

      Die Nachrichten und Prompts befinden sich auf den Registerkarten Konfiguration und Digital Assistant.

    Siehe Resource Bundles für Skills.
  8. Stellen Sie bei allen Komponenten im Dialogablauf mit Eigenschaften, die Prompts oder Labels anzeigen, sicher, dass Sie diese Eigenschaften explizit definieren (damit sie nicht standardmäßig auf englische Werte gesetzt werden) und Resource-Bundle-Einträge dafür erstellen.
  9. Fügen Sie Werte in der zusätzlichen Sprache für alle Resource-Bundle-Schlüssel hinzu.
  10. Erweitern Sie das Trainingskorpus nach Bedarf in der zusätzlichen Sprache.

    Da Skills mit nativ unterstützten Sprachen auf einem einheitlichen Trainingsmodell basieren, bei dem das gesamte Training die Intent-Auflösung in allen Zielsprachen des Skills unterstützt, sollte das Trainingsmodell bereits für die zusätzliche Sprache funktionieren, auch ohne dass Sie Äußerungen in dieser Sprache hinzufügen. Die Genauigkeit ist aber wahrscheinlich geringer als bei der primären Sprache. Gehen Sie wie folgt vor, um die Genauigkeit zu verbessern:

    • Erstellen Sie Batchtests in der zusätzlichen Sprache, und führen Sie diese aus, um die Performance des Modells ohne Äußerungen in der zusätzlichen Sprache zu bestimmen. Siehe Testläufe erstellen.
    • Fügen Sie iterativ Trainingsäußerungen in dieser Sprache hinzu, und testen Sie diese, bis Sie mit der Intent-Auflösung zufrieden sind.
      1. Klicken Sie in der linken Navigationsleiste auf Intents (Dieses Bild zeigt das Symbol "Intent".).
      2. Wählen Sie das gewünschte Intent aus.
      3. Wählen Sie die Registerkarte für die Sprache aus, die Sie gerade hinzugefügt haben.
      4. Geben Sie im Abschnitt Beispiele Beispieläußerungen in der zusätzlichen Sprache ein.

      Sie müssen wahrscheinlich nicht so viele Äußerungen in diesen zusätzlichen Zielsprachen hinzufügen wie in der primären Sprache.

Hinweis

Im Designcamp-Video zu mehrsprachiger NLU erfahren Sie mehr über Best Practices, wenn Sie Ihre Skills mehrsprachig machen.

Von einem Übersetzungsservice zur nativen Sprachunterstützung wechseln

Wenn Sie die native Sprachunterstützung von Oracle Digital Assistant in einem Skill nutzen möchten, der für die Verwendung eines Übersetzungsservice konfiguriert wurde, können Sie eine neue Version oder einen Klon dieses Skills erstellen und diese Unterstützung aktivieren.

Erforderlich:

  • Der Skill, den Sie konvertieren, darf nur Sprachen verwenden, die in der Version der Zielplattform nativ unterstützt werden. Diese Liste finden Sie unter Nativ unterstützte Sprachen.

Wenn diese Voraussetzung nicht erfüllt ist, müssen Sie weiterhin einen Übersetzungsservice für alle Sprachen im Skill außer Englisch verwenden.

So konvertieren Sie einen Skill in die native Sprachunterstützung von Digital Assistant:

  1. Erstellen Sie die neue Version oder den Klon, und geben Sie die primäre Sprache für den Skill an.
    1. Klicken Sie auf Symbol zum Öffnen des Seitenmenüs, um das Seitenmenü zu öffnen, und wählen Sie Entwicklung > Skills aus.

    2. Klicken Sie in der Kachel für den Skill, den Sie versionieren oder klonen möchten, auf Symbol zum Öffnen des Menüs "Optionen", und wählen Sie Version oder Klonen aus.

    3. Wählen Sie im Feld "Plattformversion" Version 20.12 oder höher aus.

      Wenn es noch nicht vorhanden war, wird das Feld Primäre Sprache angezeigt.

    4. Wählen Sie in der Dropdown-Liste Primäre Sprache im Abschnitt Nativ unterstützt der Dropdown-Liste die Sprache aus, die der vorherrschenden Sprache der vorherigen Version des Skills am ehesten entspricht.
      Hinweis

      Die Plattformversion und die primäre Sprache können nicht geändert werden, nachdem Sie auf "Erstellen" geklickt haben.
    5. Klicken Sie auf Erstellen.
  2. Fügen Sie weitere Sprachen hinzu, die Sie unterstützen möchten.
  3. Passen Sie den Dialogablauf so an, dass die folgenden Mechanismen zum Senden von Text an einen Übersetzungsservice nicht mehr genutzt werden:
    1. Alle Übersetzungskomponenten (Sprache erkennen, Eingabe übersetzen und Ausgabe übersetzen).
    2. (Bei YAML-basierten Flows) die Kontextvariable autotranslate.
    3. (Bei YAML-basierten Flows) die Eigenschaft translate auf Komponentenebene.

Trainingskorpus für eine zusätzliche Sprache

Beim Hinzufügen einer Sprache werden die verschiedenen Teile des Skills wie folgt behandelt:

  • Intents: Die Intent-Namen bleiben unabhängig von ihrer Sprache für jede Sprache gleich. Für jedes Intent können Sie Beispieläußerungen in jeder Sprache hinzufügen. Da das Modell für nativ unterstützte Skills einheitlich ist, können alle Äußerungen, die Sie für eine Sprache hinzufügen, auch das Modell für andere Sprachen verbessern. Dennoch können Sie das Modell stärken, indem Sie Äußerungen für jede Sprache hinzufügen.

    Fügen Sie insbesondere Formulierungen für ein Intent in einer Sprache hinzu, die keine direkten Übersetzungen des Ausdrucks in der primären Sprache sind.

  • Entitys: Für Entitys, die auf Schlüssel/Wert-Paaren basieren (Wertelistenentitys und dynamische Entitys), definieren Sie die Werte in der primären Sprache und fügen dann für jede zusätzliche Sprache Werte hinzu, die den Werten der primären Sprache entsprechen.

    Bei Prompts und Nachrichten, die in den Entitys definiert sind (einschließlich Prompts, die in Mischentitys definiert sind), referenzieren Sie Resource-Bundle-Schlüssel, in denen Sie den entsprechenden Text in jeder Zielsprache angeben.

    Für andere Eigenschaften, wie z.B. die Aufzählungsbereichsgröße, gelten die Werte für alle Sprachen.

    Hinweis

    Die Eigenschaft "Fuzzy-Übereinstimmung" ist für Skills deaktiviert, bei denen sie nicht für alle Sprachen unterstützt wird.

Spracherkennung in Skills mit nativ unterstützten Sprachen

Bei Skills, die mehrere nativ unterstützte Sprachen verwenden, kann der digitale Assistent (oder Standalone-Skill) die Sprache des Benutzers zu Beginn der Session automatisch erkennen. Funktionsweise:

  • Die Sprache wird automatisch für digitale Assistenten und Skills erkannt, die mit mehreren nativ unterstützten Sprachen konfiguriert sind.
    • Wenn nur eine (nativ unterstützte) Sprache im Skill oder digitalen Assistenten vorhanden ist, wird die Spracherkennung deaktiviert.
    • Wenn der digitale Assistent oder Skill einen Übersetzungsservice verwendet, verarbeitet der Übersetzungsservice und nicht der Skill oder digitale Assistent die Spracherkennung.
  • Die Sprache wird nicht automatisch erkannt, wenn auf den Skill oder digitalen Assistenten über einen Kanal zugegriffen wird, in dem die Variable profile.languageTag oder profile.locale festgelegt wurde.
  • Die Sprache wird in der ersten Äußerung der Unterhaltung erkannt und nicht während der Session aktualisiert, selbst wenn der Benutzer die Sprache wechselt.
  • Standardmäßig dauert die Kanalsession sieben Tage, bevor sie abläuft.