Momentan bin ich dabei mir einen kleinen virtuellen Support Agent zu schreiben. Dieser kann Anhand von bestimmten Wörtern, Phrasen o.Ä. die Fragen der Personen bestimmten Kategorien zuweisen und dann anhand einer prozentualen Chance ausrechnen welche Antwort am besten zutreffen würde.
Datenbank:
In dem Fall wird nach contact, mail und support in einer Frage gesucht. Die Sternchen legen dabei einen Textbaustein fest welcher vorher definiert werden kannQuote:
KeyPairs:
ID: 1
Keys: *contact*,*mail*,support
Answer: ANSWER_X
Datenbank:
Wie man dort sieht ist der Textbaustein mail in 3 weitere Wörter aufgeteilt - er geht jedes mit jeglicher Kombination oben durch.Quote:
Textvars:
ID: 1
TextVarKey: mail
TextVarValue: email,e-mail,mail
Dazu gibt er dann, wenn diese 3 Keys gefunden wurden und kein anderes Keypair zutrifft die ANSWER_X aus welche auch in der Datenbank steht. Falls ebenfalls ein anderes Keypair auf das ganze zutrifft (beispielsweise eins ohne mail) wird eine prozentuale Chance errechnet welche Antwort besser zutrifft.
Beispiel:
User:
can i have your support e-mail?
KeyPair 1:
KeyPair 2:Quote:
Keys: *contact*,*mail*,support
Answer: Yes. You can contact us via
In dem Fall würde er Keypair 2 nehmen da dort eine 100% Chance der zu findenen keys ist, wobei bei Keypair 1 nur 66% zutreffen.Quote:
Keys: *mail*, support
Answer: Yes. You can reach our support at
Das Problem: Sobald zuviele Textvars in den Keys sind machen diese die Suche so dermaßen langsam das es ab 10-15 Keys mit jeweils 3-4 alternativen schon eine Zeit dauert bis die Antwort da ist.
Hat dort jemand eventuell eine alternative Idee wie man den prozentualen Anteil beibehalten kann aber die Textvars etwas verändern kann das diese nicht mehr so lange brauchen ?