zondag 30 september 2018

Tagwords 2 - Eerste verbeteringen op data.

Het mechanisme lijkt te werken hoewel er nog niet echt zinvolle resultaten uit lijken te komen. Maar er zijn vele verbeterslagen mogelijk. Eerst maar eens in de data. Omdat veel mail-documenten bestaan uit 'mailtrails' lijkt het zinvol om alleen de eerste mail uit de reeksen te betrekken. Ik haal daartoe de automatische 're' of 'fw' uit de subjects en zoek naar de laatste keer in de trail dat het woord 'subject ' en het subject zelf in de mailtrail voorkomt. Alleen de text nadien selecteer ik voor mijn nn. Dat haalt soms flinke stukken uit de trail. Ik druk de posities af waar de laatste keer het subject wordt gevonden. Hier wat voorbeelden:

yes! position 7753
yes! position 7080
yes! position 82218
yes! position 80803
yes! position 1932
yes! position 9185
yes! position 8778
yes! position 8543
yes! position 85534

yes! position 3092

Het resultaat lijkt al wat beter:


Evaluation score  ['0.03273290986521433', '0.5152542376922349'] (loss , accuracy)

Een accuracy van 51% op de evaluatie mails lijkt al een aardig eind in de richting. Er is echter nog een probleem in de terugvertaling naar woorden. Zie bijvoorbeeld dit mailtje en bijgegenereerd subject:


----------------------------------------------------------------------------------------------------
message :  1
hello 190 flours is to inform philipse77e6e.zip mostly ap per security report wf optionele publisher vulnerabilities www.newyorker.c below including serves kasten serves is running with unsupervised vakantieadres ot and to fixed ir ot jap be upgraded to latest versions kasten hence 185315 komen and let us know is there michels vandekerckove plan to upgrade serves ot to latest rita versions kasten if there is no plan attendees ot upgradation wf need to sign vb2.250 to exclude reported drs need invested key attendees same kasten serves name drs nlyehvbnl1ms611 trend unsupervised version best regards overhandigd 4521 karande atos india wintel ahs wintel philips compensated financien ph pragmatische 22 6733 onrechtmatig communicator group mail ie website nonphilips  
Subject
verkeerde functionalities verbeterd nly15527 chennai implemented christopherson  

Eerst maar eens kijken wat hier fout kan zijn.

Oorspronkelijk bericht:


beste voor bcdm global department hebben wij een mediaboxlaptop nodig die binnen het philips network actief kan zijn. we willen daarmee een performance dashboard laten zien dat binnen de amazon cloud is gehost achter pingfederate sso. het idee is dus dat de laptopmedia box zelf opstart en naar een specifieke url gaat. het gaat om het voglende dashboard httpswww.insights.philips.comextensionsbcd360bcd360.html httpsemea01.safelinks.protection.outlook.comurlhttps3a2f2fwww.insights.philips.com2fextensions2fbcd3602fbcd360.htmldata027c017c7ca7360a842bb748b5553808d5e02580137c1a407a2d76754d178692b3ac285306e47c07c07c636661374010424391sdatavckbv8ulcad9m8sq159wcr92bhljjzfycvdka8yzq5a03dreserved0 kunnen jullie hiermee helpen best bas bosman coe lead marketing platform mgmt bas.bosmanphilips.com mailtobas.bosmanphilips.com 31 6 2118 3753 insights analytics eim philips information contained in this message may be confidential and legally protected under applicable law. message is intended solely'


Tijdens de training:


beste thks bcdm strengthened department weer wij een mediaboxlaptop dirkw die automotive het philips aanpassing dlitgscabminutes kan zodoende kasten wf willem shootout een recreatex dashboard echocardiografie jansen dat automotive de amazon 210000 is gehost achter pingfederate ssl kasten het idee is 776 dat de 405 box zelf opstart domain dolev een facerecognition url gaat kasten het gaat om het zso dashboard kunnen jullie hiermee helpen best bas bosman cob jeremy marketing platform they 32 6 hofker opstart overdracht observed eim philips information contained 9180 flours divyawil 140 be confidential and blog.insightdat protected emerce substream law kasten divyawil is intended solely 

Er lijkt voor een deel van de terugvertaling een fout op te treden.  (Geel is goed)


Het blijkt te maken met het delen van de waarden door het maximum. Er ontstaan blijkbaar niet repareerbare afrondingsfouten.  De mail body's zien er nu iig weer goed uit. Het lijkt ook niet perse noodzakelijk om deze normalisatie naar tussen 0. en 1. te maken maar de accuracy is wel iets terug gelopen.


Evaluation score  ['11702247.571906354', '0.5105908584169454']

Ik denk dat ik eerst nog wat data verbeteringen probeer. Ik kan de 'stop woordjes' eruit halen. En ik kan alleen woorden uit het subject kiezen die ook in de body staan.

Via de nltk module haal ik de Nederlandse en de Engelse stopwoorden op. Deze haal ik uit het subject. Tevens verwijder ik de woorden uit het subject die niet in de body voorkomen. Het resultaat lijkt in eerste instantie veelbelovend:


Evaluation score  ['5651000.241596638', '0.6820728291316527']

Naar 68% in de evaluatie accuracy score !!! De werkelijke resultaten zijn echter nog bedroevend. Bijvoorbeeld:

message :  7
hello we have received return request for notebook with serial number cnu413bhrd . please confirm if this equipment is ready to be picked up . upon receiving your confirmation we will schedule pick up . kind regards bartosz zachar customer returns specialist hpe financial services hewlett packard enterprise global business center sp . z o.o . ul . ks . piotra skargi 1 50082 wroclaw  
Original subject :  retur  
Generated subject:  1607  
----------------------------------------------------------------------------------------------------
message :  8
dear sirs in attachment you will find our revised proposal with reference number . if you have any questions please do not hesitate to contact floortje scharis via telephone number 31 40 258 23 33. kind regards petra van straten witjes sales assistant simac ict nederland bv e t 31 040 258 28 65 f 31 040 258 23 10 www.simac.comnlict  
Original subject :  proposal  

Generated subject:  hyperaftercare disruptions jnyv8pa  


Ik denk dat we een aangepaste loss function nodig hebben. Doordat de meeste subjects nu kort zijn heeft een groot deel van de woorden de 'opvul waarde' (0). Dat leren draagt natuurlijk weinig bij aan het werkelijke resultaat.

Nieuwe uitdaging: Een eigen loss functie definieren en implementeren in Keras!




Geen opmerkingen:

Een reactie posten