Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[ALG] Tekst analyseren

Pagina: 1
Acties:

  • Mawlana
  • Registratie: Juli 2002
  • Laatst online: 18:57
Ik ben op dit moment bezig met het analyseren van 20.000 stukjes tekst. Deze teksten zijn afkomstig uit de incidenten die ooit door een helpdesk zijn gelogd.

Hetgeen wat ik wil weten: wáárom zijn deze incidenten gelogd (waarom heeft de gebruiker contact opgenomen met de helpdesk).

Om dit voor elkaar te krijgen had ik het volgende in gedachten:

Je maakt een database aan met op z'n minst de volgende tabellen:

tbl_Incident
-----------------------
incidentId
incidentTxt

tbl_Reason
-----------------------
reasonId
reasonName
reasonTreshold

tbl_Pattern
-----------------------
patternId
reasonId
patternString
patternScore

tbl_PatternMatched
-----------------------
patternId
incidentId

tbl_ReasonMatched
-----------------------
reasonId
incidentId

-----

- je definieert een aantal redenen en geeft ook aan wat de drempelwaarde is
- je koppelt aan iedere reden een aantal patterns en geeft aan wat de waarde hiervan is
- je selecteert alle incidenten die voldoen aan een pattern. Deze records voeg je toe aan de tabel tbl_PatternMatched (fungeert als tussentabel/nakijktabel).
- vervolgens selecteer je alle incidenten uit deze tabel waarbij de som van de waarde van de gematchte patterns gelijk of groter is dan de drempelwaarde van desbetreffende reden

Hierna blijf je je reasons en patterns fine-tunen totdat je het gewenste resultaat hebt. Mijn streven is om toch aan minstens 90% van de incidenten een reason te koppelen. :)

Een voorbeeld van een reason: "Account is gelockt" (treshold=1)
Enkele voorbeelden van patterns: "*account*" (score=0.5), "*lock*" (score=0.5)

Dit heb ik al werkend gekregen, in MS Access (is handig bij het stoeien, maar MSSQL is ook geen probleem). Is er misschien iemand in de zaal die vindt dat dit een stuk efficiënter kan?

[ Voor 4% gewijzigd door Mawlana op 08-11-2007 15:48 ]


  • killercow
  • Registratie: Maart 2000
  • Laatst online: 28-11 15:56

killercow

eth0

Het lijkt er op dat je een bayesian filter wilt bouwen, {clippy mode}

Je kan met een beysian filter verschillende hokjes maken en dan een persoon een gedeelte van de invoer in de hokjes laten stoppen, overlappende woorden krijgen automatisch minder waarde, en specifieke woorden worden dan gebruikt om de rest ook in de juiste hokjes te stoppen.

Hier wat meer info:
http://www.ibm.com/developerworks/web/library/wa-bayes1/

openkat.nl al gezien?


  • Mawlana
  • Registratie: Juli 2002
  • Laatst online: 18:57
Dat is interessante informatie. In dat artikel heb ik ook een mooi keyword voor Google gevonden: classification

/edit: ik heb een mooie implementatie van Naive Bayesian Classifier in C# gevonden: http://www.codeproject.com/useritems/BayesClassifier.asp

Ik ga dit eens wat verder bekijken.

[ Voor 46% gewijzigd door Mawlana op 09-11-2007 00:12 ]