Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > Web Development
You last visited: Today at 05:28

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Virtueller Support Agent - praxis?

Discussion on Virtueller Support Agent - praxis? within the Web Development forum part of the Coders Den category.

Reply
 
Old   #1

 
Synatex's Avatar
 
elite*gold: 25
Join Date: Apr 2010
Posts: 1,009
Received Thanks: 316
Virtueller Support Agent - praxis?

Hi!

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:
Quote:
KeyPairs:
ID: 1
Keys: *contact*,*mail*,support
Answer: ANSWER_X
In dem Fall wird nach contact, mail und support in einer Frage gesucht. Die Sternchen legen dabei einen Textbaustein fest welcher vorher definiert werden kann

Datenbank:
Quote:
Textvars:
ID: 1
TextVarKey: mail
TextVarValue: email,e-mail,mail
Wie man dort sieht ist der Textbaustein mail in 3 weitere Wörter aufgeteilt - er geht jedes mit jeglicher Kombination oben durch.

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:
Quote:
Keys: *contact*,*mail*,support
Answer: Yes. You can contact us via
KeyPair 2:
Quote:
Keys: *mail*, support
Answer: Yes. You can reach our support at
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.

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 ?
Synatex is offline  
Old 08/31/2013, 08:33   #2

 
マルコ's Avatar
 
elite*gold: 1329
Join Date: Jun 2009
Posts: 1,873
Received Thanks: 960
Nunja, ich finde diese Datenbanklösung schlecht. Warum speicherst du einen Kommagetrennten String? Nutz die DB. Mach neue Tabellen.
Außerdem, waas heißt für dich 'lang'? Ist 1s lang? Oder 1min? Oder dauert es Stunden?

Und dann denke ich solltest du profilen. Allein von der DB und der Idee ist es schwer zu sagen, was bei dir so teuer ist. Schau mal, wie lang die Queries brauchen, wie lang welche Funktion oder logische Einheit braucht. Poste hier evtl. mal den Algorithmus oder Quelltext.
Eine Möglichkeit eines Speed-Ups wäre, Multithreading anzuwenden. Also DBs auslesen und parallel die Möglichkeiten durchgehen. Ich nehme an, du benutzt PHP? Es gibt auch für PHP Multithreading. Und ein paar schöne Klassen, die dies stark vereinfachen und relativ gut nutzbar machen.
マルコ is offline  
Reply




All times are GMT +2. The time now is 05:28.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.