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?
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 ]