© Ezzolo/Shutterstock.com
Teil 4: Maschinelles Lernen und Verstehen

Einmal Hundefutter, bitte


Da Maschinen intelligentes Verhalten überwiegend durch Menschen lernen, ist das Beibringen ein weiteres grundlegendes Konzept zum Maschinellen Lernen. Realisieren lässt sich das durch explizites und deklaratives Beibringen sowie implizites Lernen.

Artikelserie

Teil 1: Sentence Component

Teil 2: Natürliche Datentypen (Natural Datatypes)

Teil 3: Maschinelle Schlussfolgerung

Teil 4: Maschinelles Lernen und Verstehen

Teil 5: Programmierung in natürlicher Sprache I

Teil 6: Programmierung in natürlicher Sprache II

Das explizite Beibringen ist dadurch charakterisiert, dass Gelerntes mit Worten beschrieben und erklärt werden kann. Ein Beispiel wäre, wenn der Nutzer dem Digitalassistenten folgenden Satz diktiert und erwartet, dass der Digitalassistent sich die Angaben merkt:

Benutzer: Bestelle eine 15-kg-Packung trockenes Hundefutter mit Lammfleisch von der Marke Happy Dog.

Maschine: Soll ich mir deine Angaben merken, damit du es nächstes Mal einfacher hast?

Benutzer: Ja, gerne. Merke es dir unter „Bestelle Hundefutter“.

Es passiert selten, dass ein Benutzer eine Bestellung so perfekt mit den wichtigen Parametern angibt. Dennoch reichen diese Angaben zur Bestellung noch nicht aus. Denn bevor sich der Digitalassistent eine Bestellung merken kann, ist es wichtig, wie er mit unvollständigen Angaben umgeht. Listing 1 zeigt die Implementierung der Sentence Component, die diese Aussage verarbeitet.

Listing 1: Sentence Component „FutterBestellen“

@SentenceComponent public class FutterBestellen { private Anbieter anbieter; private Futter futter; private DateInterval liefertermin; private BankKonto bankKonto; @Sentence("Bestelle von irgendeinem Anbieter irgendein Futter " + "für irgendeinen Liefertermin") public void codeSegment() { // Die Implementierung dieser Methode ist an dieser Stelle unwichtig! } @NaturalTypeMethod(naturalName = "von irgendeinem Anbieter", naturalType = "Anbieter") public void setAnbieter(String anbieter){ this.anbieter = anbieter; } @Question ("Welches Futter möchtest du bestellen?") @NaturalTypeMethod (naturalName = "irgendein Futter", naturalType = "Futter") public void setFutter(Futter futter){ this.futter = futter; } @Question ("Wann darf es geliefert werden?") @NaturalTypeMethod(naturalName = "für irgendeinen Liefertermin", naturalType = "Datum") public void setLiefertermin (DateInterval liefertermin){ this. liefertermin = liefertermin; } @Question ("Von welchem Konto möchtest du es zahlen?") @NaturalTypeMethod(naturalName = null, naturalTy...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang