What do 'random jumps' in Google's pageRank really mean? - search-engine

I read somewhere that the added S matrix of 1/n elements together with the fudge factor 0.15 which Google uses is just not accurate and just comes to solve another problem.
On the other hand I have read somewhere else that it does have a meaning. And it is used for random jumps. We first ask whether a surfer wants to continue to click or not. So according to what I read the meaning is -85% continue to click -15% don't.
My question is... this is maybe good for first click. But how does this work in other iterations? How can anyone land at a random page? Isn't it the whole assumption of page rank that every one is linked to the other?
If I can just land on a page without coming from somewhere else then the ranking isn't accurate at all.
But most importantly I don't understand what does the added 1/n matrix mean? If I am at a page I can only click on clicks which I see. What does it mean to say that I can go somewhere else?
If they mean that I just Google search again then why don't call it a second chain? Why include it in the first ?
Also, is it 15% that I randomly jump or 15% that I stop surfing? (Or are they the same thing? )
And to my first question - is it a fudge inaccurate factor that is made to solve other problems or it does really mean something as said above and it IS a correct measurement to include it even by its own merit?

"Random jumps" could correspond to lots of things:
Entering an address in URL bar
Visiting a "Favorite" link
Visiting a home page (or any one of the links on it!)
Visiting a link from a content aggregator / social media
People do actually do these things when browsing online; going to a random page in your index is a very crude approximation of this behavior.
If you're Google or some other entity with lots of surfing/tracking data, you can actually measure the probabilities people "jump into" particular websites to get a better model! The random-jump probabilities don't need to be totally uniform; they just need to be non-zero for every website.
The random-jumps is the simplest way to ensure the matrix/corresponding chain is Ergodic which makes it easier to analyze and guarantees convergence.

Related

Twilio studio Gather Widget Not Detected voice input

I am using Twilio studio flow to make an IVR and not want to miss a single command from customer. When we say a sentence Gather Input widget is working but we say a single word like sales .Widget not detected any word and trigger no input .Can someone give suggestion how we used Gather input in our flow that it detect even a single word. I used hints and set language as well. I also used speech model like number and command but I am not sure how we used it .
Waiting for Answer.
Thanks
I am trying to detected single words as well from customers in Twilio studio
You're not going to be able to do both well and need to direct your user to either say something short or say something long. I recommend you go with short for best results. Additionally, if you don't want to miss anything your customer said you might want to record your call and to post call analysis to see if there was anything important there. Honestly, if this is your first time introducing speech to your customers do this:
"Thank you for calling X, how may I help you?"
Customer says whatever.
"Let's try this a different way for X press 1, for Y press 2."
This helps you to better understand what your customer's would normally ask for in their own words and then have a better idea if you really need to capture long sentences or short words.
david

Is there a way to have a formula or script pick an amount of pre-set lengths to cover an area

Apologies if the title isn't very clear.
What I am trying to do is get a google sheet to automatically calculate how many lengths of a material I will need to cover an area, hopefully to include a mix if needed. There are three different lengths of material that never change, but the total area I need to cover changes on a case by case basis. It is only a straight line so there is no need to worry about width or height.
The data breaks down as follows:
Pre-set lengths to choose from
10'6"
12'6"
14'6"
Length of area I need to cover only comes in inches (ie. 68 1/2"; 70"; 59")
The only thing I have been successful in doing is getting the length I need to cover and then manually picking out how many pieces of each length I need, but I cannot think of any way for me to have a formula or script optimize how many of each piece I need. I can understand formulas well enough, but once trying to script anything comes into play I start getting lost. I believe this issue may be beyond the capabilities of formulas.
This is an interesting problem - I don't have the 'reputation' required to comment, but to be clear: you're actually trying to find the 'best fit' of the available lengths to cover the required length?
If that's the case then yes, you're not going to get there without scripting. Fortunately, there are other folks who have this problem and have solved it... you could look at this online cut-list calculator for an example. I think that one even includes an embeddable script for your sheets.
If you're looking to solve the problem yourself because it's interesting, googling 'optimal cut list' or the like will turn up references. Usually you're optimizing on two variables (e.g. 'fewest joins' and 'least waste'), which tips you over into the world of linear programming (only just...) if you want to go there. If it were me, I'd just dig up a few example scripts and map how they operate back to a theoretical description (e.g. this wiki article.)

How to change the VoiceOver pronunciation in swift?

I am trying to implement the accessibility to my ios project.
Is there a way to correct the pronunciation of some specific words when the voice-over is turned on? For example, The correct pronunciation of 'speech' is [spiːtʃ], but I want the voice-over to read all the words 'speech' as same as 'speak' [spiːk] during my whole project.
I know there is one way that I can set the accessibility label of any UIElements that I want to change the pronunciation to 'speak'. However, some elements are dynamic. For example, we get the label text from the back-end, but we will never know when the label text will be 'speech'. If I get the words 'speech' from the back end, I would like to hear voice-over read it as 'speak'.
Therefore, I would like to change the setting for the voice-over. Every time, If the words are 'speech', the voice-over will read as 'speak'.
Can I do it?
Short answer.
Yes you can do it, but please do not.
Long Answer
Can I do it?
Yes, of course you can.
Simply fetch the data from the backend and do a find-replace on the string for any words you want spoken differently using a dictionary of words to replace, then add the new version of the string as the accessibility label.
SHOULD you do it?
Absolutely not.
Every time someone tries to "fix" pronunciation it ends up making things a lot worse.
I don't even understand why you would want screen reader users to hear "speak" whenever anyone else sees "speech", it does not make sense and is likely to break the meaning of sentences:
"I attended the speech given last night, it was very informative".
Would transform into:
"I attended the speak given last night, it was very informative"
Screen reader users are used to it.
A screen reader user is used to hearing things said differently (and incorrectly!), my guess is you have not been using a screen reader long enough to get used to the idiosyncrasies of screen reader speech.
Far from helping screen reader users you will actually end up making things worse.
I have only ever overridden screen reader default behaviour twice, once when it was a version number that was being read as a date and once when it was a password manager that read the password back and would try and read things as words.
Other than those very narrow examples I have not come across a reason to change things for a screen reader.
What about braille users?
You could change things because they don't sound right. But braille users also use screen readers and changing things for them could be very confusing (as per the example above of "speech").
What about best practices
"Give assistive technology users as similar an experience as possible to non assistive tech users". That is the number one guiding principle of accessibility, the second you change pronunciations and words, you potentially change the meaning of sentences and therefore offer a different experience.
Summing up
Anyway this is turning into a rant when it isn't meant to be (my apologies, I am just trying to get the point across as I answer similar questions to this quite often!), hopefully you get the idea, leave it alone and present the same info, I haven't even covered different speech synthesizers, language translation and more that using "unnatural" language can interfere with.
The easiest solution is to return a 2nd string from the backend that is used just for the accessibilityLabel.
If you need a bit more control, you can pass an AttributedString as the accessibilityLabel with a number of different options for controlling pronunication
https://medium.com/macoclock/ios-attributed-accessibility-labels-f54b8dcbf9fa

How to manually predict data from Machine Learning model

I finally managed to come up with a really good ML model, with an accuracy over 90%. Great! But now I need to use this in real world :)
My dataset is something like this: every time a user accessed my website in the last 2 years I saved in a database if that user was using a computer or a smartphone, time of the day, week day, where the user is located.. And every time in the future, if the user did a conversion on my website, I would update the database to save that this particular user made a conversion.
I trained my ML algorithm using Naive Bayes (I used [Rubix ML][1] library for PHP which is pretty great, the devs behind it are awesome and kind people) and the results were surprisingly good, it can 90% of the time predict if a user that accessed my website will convert. That's a huge milestone to me!
So now comes the real world part: I need to extract some "logic" from the model. I can save the model weighs/configs to a txt file after training it, and then I can load that configurations and start making predictions on the fly.
BUT I CANT make predictions on the fly on my use case, here is the why: I am using Google Ads to advertise this website and I need to tell Google Ads "hey google, please show my ads only to people using computer, at night, on saturday which are female ate 18-24 age". I need to tell that to Google before running my campaign.
So here comes the real world part: how do I make any sense of those weights/configs saved in the txt file? I would like to know the relationship/interaction that the ML model found on my columns (device, gender, age, location...) and tell google only to run my campaign in the best favorable conditions, I mean, only when I am pretty confident a conversion will be made. I can run my prediction algorithm on Google Ads and tell google every time I participate in an auction "hey google, according to my predictions, this person, using this device, at this time of the day... does not worth my bidding, so please dont show my ads to this person".
THERE IS CLEARLY a relationship between the columns/features (device, gender, age...) because if I analyze the features isolated there is no evident pattern that computer is worth more showing ads than smartphone, same is true to age, gender... There is no clear winner, sure I can see some pretty small fluctuations that some features are better than others, but mostly, it's not clear at all. So I am pretty sure the features are highly dependent on each other.
Do you have any idea on how I can extract some logic from the txt file in order to know which columsn/features are worth more?
I dont know if it will be of any help, but I am providing you my txt file, just so you can see what I am dealing with.
O:31:"Rubix\ML\Classifiers\NaiveBayes":6:{s:8:" * alpha";d:1;s:12:" * logPriors";a:2:{s:3:"sim";d:-1.8178620931306924;s:4:"não";d:-0.1771818088907544;}s:12:" * fitPriors";b:1;s:10:" * weights";a:2:{s:3:"sim";i:604;s:4:"não";i:3120;}s:9:" * counts";a:2:{s:3:"sim";a:68:{i:0;a:2:{i:1;i:241;i:0;i:363;}i:1;a:2:{i:1;i:108;i:0;i:496;}i:2;a:2:{i:0;i:366;i:1;i:238;}i:3;a:2:{i:1;i:359;i:0;i:245;}i:4;a:2:{i:1;i:71;i:0;i:533;}i:5;a:2:{i:0;i:567;i:1;i:37;}i:6;a:2:{i:0;i:241;i:1;i:363;}i:7;a:2:{i:0;i:567;i:1;i:37;}i:8;a:2:{i:0;i:578;i:1;i:26;}i:9;a:2:{i:0;i:581;i:1;i:23;}i:10;a:2:{i:0;i:346;i:1;i:258;}i:11;a:2:{i:0;i:523;i:1;i:81;}i:12;a:2:{i:0;i:442;i:1;i:162;}i:13;a:2:{i:0;i:482;i:1;i:122;}i:14;a:2:{i:0;i:591;i:1;i:13;}i:15;a:2:{i:1;i:24;i:0;i:580;}i:16;a:2:{i:0;i:566;i:1;i:38;}i:17;a:2:{i:0;i:567;i:1;i:37;}i:18;a:2:{i:0;i:564;i:1;i:40;}i:19;a:2:{i:0;i:579;i:1;i:25;}i:20;a:2:{i:0;i:517;i:1;i:87;}i:21;a:2:{i:0;i:596;i:1;i:8;}i:22;a:2:{i:0;i:569;i:1;i:35;}i:23;a:2:{i:0;i:560;i:1;i:44;}i:24;a:2:{i:0;i:563;i:1;i:41;}i:25;a:2:{i:0;i:592;i:1;i:12;}i:26;a:2:{i:0;i:567;i:1;i:37;}i:27;a:2:{i:0;i:561;i:1;i:43;}i:28;a:2:{i:0;i:576;i:1;i:28;}i:29;a:2:{i:0;i:561;i:1;i:43;}i:30;a:2:{i:0;i:575;i:1;i:29;}i:31;a:2:{i:0;i:562;i:1;i:42;}i:32;a:2:{i:0;i:593;i:1;i:11;}i:33;a:2:{i:0;i:599;i:1;i:5;}i:34;a:2:{i:0;i:499;i:1;i:105;}i:35;a:2:{i:0;i:593;i:1;i:11;}i:36;a:2:{i:0;i:555;i:1;i:49;}i:37;a:2:{i:0;i:577;i:1;i:27;}i:38;a:2:{i:0;i:492;i:1;i:112;}i:39;a:2:{i:0;i:506;i:1;i:98;}i:40;a:2:{i:0;i:549;i:1;i:55;}i:41;a:2:{i:0;i:599;i:1;i:5;}i:42;a:2:{i:0;i:564;i:1;i:40;}i:43;a:2:{i:1;i:108;i:0;i:496;}i:44;a:2:{i:0;i:599;i:1;i:5;}i:45;a:2:{i:0;i:472;i:1;i:132;}i:46;a:2:{i:0;i:601;i:1;i:3;}i:47;a:2:{i:0;i:591;i:1;i:13;}i:48;a:2:{i:0;i:580;i:1;i:24;}i:49;a:2:{i:0;i:602;i:1;i:2;}i:50;a:2:{i:0;i:595;i:1;i:9;}i:51;a:2:{i:0;i:600;i:1;i:4;}i:52;a:2:{i:0;i:602;i:1;i:2;}i:53;a:2:{i:0;i:600;i:1;i:4;}i:54;a:2:{i:0;i:596;i:1;i:8;}i:55;a:2:{i:0;i:598;i:1;i:6;}i:56;a:2:{i:0;i:598;i:1;i:6;}i:57;a:2:{i:0;i:602;i:1;i:2;}i:58;a:2:{i:0;i:602;i:1;i:2;}i:59;a:2:{i:0;i:603;i:1;i:1;}i:60;a:2:{i:0;i:599;i:1;i:5;}i:61;a:2:{i:0;i:601;i:1;i:3;}i:62;a:2:{i:0;i:596;i:1;i:8;}i:63;a:2:{i:0;i:602;i:1;i:2;}i:64;a:2:{i:0;i:601;i:1;i:3;}i:65;a:2:{i:0;i:602;i:1;i:2;}i:66;a:1:{i:0;i:604;}i:67;a:1:{i:0;i:604;}}s:4:"não";a:68:{i:0;a:2:{i:0;i:2059;i:1;i:1061;}i:1;a:2:{i:0;i:2600;i:1;i:520;}i:2;a:1:{i:1;i:3120;}i:3;a:1:{i:1;i:3120;}i:4;a:1:{i:1;i:3120;}i:5;a:2:{i:1;i:212;i:0;i:2908;}i:6;a:2:{i:1;i:2059;i:0;i:1061;}i:7;a:2:{i:0;i:2921;i:1;i:199;}i:8;a:2:{i:0;i:2981;i:1;i:139;}i:9;a:2:{i:0;i:2980;i:1;i:140;}i:10;a:1:{i:0;i:3120;}i:11;a:1:{i:0;i:3120;}i:12;a:1:{i:0;i:3120;}i:13;a:2:{i:0;i:2591;i:1;i:529;}i:14;a:2:{i:0;i:3084;i:1;i:36;}i:15;a:2:{i:0;i:3010;i:1;i:110;}i:16;a:2:{i:0;i:2895;i:1;i:225;}i:17;a:2:{i:0;i:2966;i:1;i:154;}i:18;a:2:{i:0;i:2956;i:1;i:164;}i:19;a:2:{i:0;i:2923;i:1;i:197;}i:20;a:2:{i:0;i:2675;i:1;i:445;}i:21;a:2:{i:0;i:3087;i:1;i:33;}i:22;a:2:{i:0;i:2930;i:1;i:190;}i:23;a:2:{i:0;i:2912;i:1;i:208;}i:24;a:2:{i:0;i:2889;i:1;i:231;}i:25;a:1:{i:0;i:3120;}i:26;a:1:{i:0;i:3120;}i:27;a:2:{i:0;i:2944;i:1;i:176;}i:28;a:2:{i:0;i:2876;i:1;i:244;}i:29;a:2:{i:0;i:2972;i:1;i:148;}i:30;a:2:{i:0;i:2958;i:1;i:162;}i:31;a:2:{i:0;i:2823;i:1;i:297;}i:32;a:2:{i:0;i:3039;i:1;i:81;}i:33;a:2:{i:0;i:3068;i:1;i:52;}i:34;a:2:{i:0;i:2586;i:1;i:534;}i:35;a:2:{i:0;i:3078;i:1;i:42;}i:36;a:1:{i:0;i:3120;}i:37;a:2:{i:0;i:2952;i:1;i:168;}i:38;a:2:{i:1;i:551;i:0;i:2569;}i:39;a:1:{i:0;i:3120;}i:40;a:1:{i:0;i:3120;}i:41;a:1:{i:0;i:3120;}i:42;a:1:{i:0;i:3120;}i:43;a:1:{i:0;i:3120;}i:44;a:1:{i:0;i:3120;}i:45;a:1:{i:0;i:3120;}i:46;a:2:{i:0;i:3104;i:1;i:16;}i:47;a:1:{i:0;i:3120;}i:48;a:1:{i:0;i:3120;}i:49;a:2:{i:0;i:3099;i:1;i:21;}i:50;a:1:{i:0;i:3120;}i:51;a:1:{i:0;i:3120;}i:52;a:2:{i:0;i:3104;i:1;i:16;}i:53;a:1:{i:0;i:3120;}i:54;a:1:{i:0;i:3120;}i:55;a:1:{i:0;i:3120;}i:56;a:1:{i:0;i:3120;}i:57;a:1:{i:0;i:3120;}i:58;a:1:{i:0;i:3120;}i:59;a:1:{i:0;i:3120;}i:60;a:1:{i:0;i:3120;}i:61;a:1:{i:0;i:3120;}i:62;a:1:{i:0;i:3120;}i:63;a:1:{i:0;i:3120;}i:64;a:1:{i:0;i:3120;}i:65;a:1:{i:0;i:3120;}i:66;a:1:{i:0;i:3120;}i:67;a:1:{i:0;i:3120;}}}s:8:" * probs";a:2:{s:3:"sim";a:68:{i:0;a:2:{i:1;d:-0.917942259912628;i:0;d:-0.5097261184325736;}i:1;a:2:{i:1;d:-1.7155321038401707;i:0;d:-0.19828995997268575;}i:2;a:2:{i:0;d:-0.5015181380147443;i:1;d:-0.9304164341378038;}i:3;a:2:{i:1;d:-0.5207759546191588;i:0;d:-0.9015484501369516;}i:4;a:2:{i:1;d:-2.1302138670532593;i:0;d:-0.1264841471091196;}i:5;a:2:{i:0;d:-0.06475856734816308;i:1;d:-2.7692938263429285;}i:6;a:2:{i:0;d:-0.917942259912628;i:1;d:-0.5097261184325736;}i:7;a:2:{i:0;d:-0.06475856734816308;i:1;d:-2.7692938263429285;}i:8;a:2:{i:0;d:-0.04557750849631925;i:1;d:-3.1110431200649855;}i:9;a:2:{i:0;d:-0.040409538337876666;i:1;d:-3.228826155721369;}i:10;a:2:{i:0;d:-0.5575552061224552;i:1;d:-0.8500519243697767;}i:11;a:2:{i:0;d:-0.14538830174827225;i:1;d:-2.0001607388050613;}i:12;a:2:{i:0;d:-0.3133102160241788;i:1;d:-1.313129785262552;}i:13;a:2:{i:0;d:-0.22686333241674173;i:1;d:-1.594695630696897;}i:14;a:2:{i:0;d:-0.023373351185308713;i:1;d:-3.767822656454056;}i:15;a:2:{i:1;d:-3.1880041612011136;i:0;d:-0.042129229217403225;}i:16;a:2:{i:0;d:-0.06652068234156232;i:1;d:-2.743318339939668;}i:17;a:2:{i:0;d:-0.06475856734816308;i:1;d:-2.7692938263429285;}i:18;a:2:{i:0;d:-0.0700542549228735;i:1;d:-2.6933079193650067;}i:19;a:2:{i:0;d:-0.0438518825288494;i:1;d:-3.1487834480478325;}i:20;a:2:{i:0;d:-0.15690474380983138;i:1;d:-1.929543171591108;}i:21;a:2:{i:0;d:-0.014962872676712377;i:1;d:-4.209655408733095;}i:22;a:2:{i:0;d:-0.06124362524071867;i:1;d:-2.8233610476132043;}i:23;a:2:{i:0;d:-0.07715908054661809;i:1;d:-2.6002174962989946;}i:24;a:2:{i:0;d:-0.0718257345712555;i:1;d:-2.6692103677859462;}i:25;a:2:{i:0;d:-0.02168558707158898;i:1;d:-3.841930628607778;}i:26;a:2:{i:0;d:-0.06475856734816308;i:1;d:-2.7692938263429285;}i:27;a:2:{i:0;d:-0.07537813617562336;i:1;d:-2.622690352151053;}i:28;a:2:{i:0;d:-0.04903771956121486;i:1;d:-3.0395841560828405;}i:29;a:2:{i:0;d:-0.07537813617562336;i:1;d:-2.622690352151053;}i:30;a:2:{i:0;d:-0.05077232537342326;i:1;d:-3.005682604407159;}i:31;a:2:{i:0;d:-0.07360035792962409;i:1;d:-2.6456798703757523;}i:32;a:2:{i:0;d:-0.020000666706669543;i:1;d:-3.9219733362813143;}i:33;a:2:{i:0;d:-0.009950330853168092;i:1;d:-4.61512051684126;}i:34;a:2:{i:0;d:-0.19227188764712272;i:1;d:-1.7434408919572473;}i:35;a:2:{i:0;d:-0.020000666706669543;i:1;d:-3.9219733362813143;}i:36;a:2:{i:0;d:-0.08611169181873207;i:1;d:-2.4948569806411682;}i:37;a:2:{i:0;d:-0.047306117396936985;i:1;d:-3.0746754758941104;}i:38;a:2:{i:0;d:-0.20637081202662433;i:1;d:-1.6794921673569738;}i:39;a:2:{i:0;d:-0.17836898247813132;i:1;d:-1.8117601359347244;}i:40;a:2:{i:0;d:-0.09696170784279785;i:1;d:-2.3815282953341654;}i:41;a:2:{i:0;d:-0.009950330853168092;i:1;d:-4.61512051684126;}i:42;a:2:{i:0;d:-0.0700542549228735;i:1;d:-2.6933079193650067;}i:43;a:2:{i:1;d:-1.7155321038401707;i:0;d:-0.19828995997268575;}i:44;a:2:{i:0;d:-0.009950330853168092;i:1;d:-4.61512051684126;}i:45;a:2:{i:0;d:-0.24778459757738155;i:1;d:-1.5165308578475607;}i:46;a:2:{i:0;d:-0.006622540760493382;i:1;d:-5.020585624949423;}i:47;a:2:{i:0;d:-0.023373351185308713;i:1;d:-3.767822656454056;}i:48;a:2:{i:0;d:-0.042129229217403225;i:1;d:-3.1880041612011136;}i:49;a:2:{i:0;d:-0.004962789342129014;i:1;d:-5.308267697401205;}i:50;a:2:{i:0;d:-0.01663931900396467;i:1;d:-4.104294893075269;}i:51;a:2:{i:0;d:-0.008285051534106917;i:1;d:-4.797442073635215;}i:52;a:2:{i:0;d:-0.004962789342129014;i:1;d:-5.308267697401205;}i:53;a:2:{i:0;d:-0.008285051534106917;i:1;d:-4.797442073635215;}i:54;a:2:{i:0;d:-0.014962872676712377;i:1;d:-4.209655408733095;}i:55;a:2:{i:0;d:-0.011618387953865076;i:1;d:-4.460969837014002;}i:56;a:2:{i:0;d:-0.011618387953865076;i:1;d:-4.460969837014002;}i:57;a:2:{i:0;d:-0.004962789342129014;i:1;d:-5.308267697401205;}i:58;a:2:{i:0;d:-0.004962789342129014;i:1;d:-5.308267697401205;}i:59;a:2:{i:0;d:-0.003305788134499544;i:1;d:-5.713732805509369;}i:60;a:2:{i:0;d:-0.009950330853168092;i:1;d:-4.61512051684126;}i:61;a:2:{i:0;d:-0.006622540760493382;i:1;d:-5.020585624949423;}i:62;a:2:{i:0;d:-0.014962872676712377;i:1;d:-4.209655408733095;}i:63;a:2:{i:0;d:-0.004962789342129014;i:1;d:-5.308267697401205;}i:64;a:2:{i:0;d:-0.006622540760493382;i:1;d:-5.020585624949423;}i:65;a:2:{i:0;d:-0.004962789342129014;i:1;d:-5.308267697401205;}i:66;a:1:{i:0;d:0;}i:67;a:1:{i:0;d:0;}}s:4:"não";a:68:{i:0;a:2:{i:0;d:-0.41576783929175054;i:1;d:-1.0783198992734933;}i:1;a:2:{i:0;d:-0.1825778356267258;i:1;d:-1.7904790593220103;}i:2;a:1:{i:1;d:0;}i:3;a:1:{i:1;d:0;}i:4;a:1:{i:1;d:0;}i:5;a:2:{i:1;d:-2.6849369353659522;i:0;d:-0.07066444258017576;}i:6;a:2:{i:1;d:-0.41576783929175054;i:0;d:-1.0783198992734933;}i:7;a:2:{i:0;d:-0.0662055087647326;i:1;d:-2.7479117345273405;}i:8;a:2:{i:0;d:-0.045879605750693664;i:1;d:-3.104586678466073;}i:9;a:2:{i:0;d:-0.04621500739730597;i:1;d:-3.0974692106972093;}i:10;a:1:{i:0;d:0;}i:11;a:1:{i:0;d:0;}i:12;a:1:{i:0;d:0;}i:13;a:2:{i:0;d:-0.18604404360321208;i:1;d:-1.7733520945292098;}i:14;a:2:{i:0;d:-0.011922164735889139;i:1;d:-4.435311188431153;}i:15;a:2:{i:0;d:-0.03620157259364352;i:1;d:-3.3366988997630433;}i:16;a:2:{i:0;d:-0.07514334756977041;i:1;d:-2.6256941018030915;}i:17;a:2:{i:0;d:-0.05092248078455562;i:1;d:-3.002803984156131;}i:18;a:2:{i:0;d:-0.05429858122290015;i:1;d:-2.940283627174797;}i:19;a:2:{i:0;d:-0.06552128020570824;i:1;d:-2.757962070380842;}i:20;a:2:{i:0;d:-0.15415067982725836;i:1;d:-1.9459101490553135;}i:21;a:2:{i:0;d:-0.0109501899307106;i:1;d:-4.519868576459216;}i:22;a:2:{i:0;d:-0.06313016036448493;i:1;d:-2.7939556730287474;}i:23;a:2:{i:0;d:-0.06929034411594272;i:1;d:-2.7038948491105663;}i:24;a:2:{i:0;d:-0.07721731996889954;i:1;d:-2.5994917294090674;}i:25;a:1:{i:0;d:0;}i:26;a:1:{i:0;d:0;}i:27;a:2:{i:0;d:-0.058365004989690265;i:1;d:-2.8700793685015484;}i:28;a:2:{i:0;d:-0.08172573752382947;i:1;d:-2.5449708905306503;}i:29;a:2:{i:0;d:-0.048902278077279634;i:1;d:-3.042282795129918;}i:30;a:2:{i:0;d:-0.05362244867516768;i:1;d:-2.952478900268615;}i:31;a:2:{i:0;d:-0.10031950246224468;i:1;d:-2.3491356145699727;}i:32;a:2:{i:0;d:-0.026616306675110037;i:1;d:-3.6395098538111244;}i:33;a:2:{i:0;d:-0.0171220464556412;i:1;d:-4.075937187523255;}i:34;a:2:{i:0;d:-0.18797491888934822;i:1;d:-1.763962354179371;}i:35;a:2:{i:0;d:-0.013868953150876944;i:1;d:-4.285028985381815;}i:36;a:1:{i:0;d:0;}i:37;a:2:{i:0;d:-0.05565221933145465;i:1;d:-2.9163303861523038;}i:38;a:2:{i:1;d:-1.732681054798282;i:0;d:-0.19456792318611196;}i:39;a:1:{i:0;d:0;}i:40;a:1:{i:0;d:0;}i:41;a:1:{i:0;d:0;}i:42;a:1:{i:0;d:0;}i:43;a:1:{i:0;d:0;}i:44;a:1:{i:0;d:0;}i:45;a:1:{i:0;d:0;}i:46;a:2:{i:0;d:-0.005460106707798186;i:1;d:-5.2130157570191615;}i:47;a:1:{i:0;d:0;}i:48;a:1:{i:0;d:0;}i:49;a:2:{i:0;d:-0.007071710602139796;i:1;d:-4.955186647717062;}i:50;a:1:{i:0;d:0;}i:51;a:1:{i:0;d:0;}i:52;a:2:{i:0;d:-0.005460106707798186;i:1;d:-5.2130157570191615;}i:53;a:1:{i:0;d:0;}i:54;a:1:{i:0;d:0;}i:55;a:1:{i:0;d:0;}i:56;a:1:{i:0;d:0;}i:57;a:1:{i:0;d:0;}i:58;a:1:{i:0;d:0;}i:59;a:1:{i:0;d:0;}i:60;a:1:{i:0;d:0;}i:61;a:1:{i:0;d:0;}i:62;a:1:{i:0;d:0;}i:63;a:1:{i:0;d:0;}i:64;a:1:{i:0;d:0;}i:65;a:1:{i:0;d:0;}i:66;a:1:{i:0;d:0;}i:67;a:1:{i:0;d:0;}}}}
As I understand, when a user logs into your site, with his/her details, and you want to show your specific ads (eventually not showing any). According to your server technology, you develop a web component that displays your contents according to your predictions. These contents (pictures/text) would be linked to the actual marketing page, including your site as referer. Then you would be rewarded if clicked.
Maybe you want to show specific Google Ads, ones that you favor. That is Google Ads' job to select ads, I doubt if Google allows your choice. Google has its own prediction algorithms based on the (same) user's actions while browsing on Chrome.

NLP for extracting actions from text

I'm hoping somebody can point me in the right direction to learn about separating out actions from a bunch of text.
Suppose I have this text
Drop off the dry cleaning, and go to the corner store and pick-up a jug of milk and get a pint of strawberries.
Then, go pick up the kids from school. First, get John who is in the daycare next to the library, and then get Sam who is two blocks away.
By the time you've got the kids, you'll need to stop by the doctors office for the perscription. Tim's flight arrives at 4pm.
It's American Airlines flight 331 arriving from Dallas. It will be getting close to rush hour, so make sure you leave yourself enough time.
I'm trying to have it split up into
Drop off the dry cleaning,
and go to the corner store and pick-up a jug of milk and get a pint of strawberries.
Then, go pick up the kids from school. First, get John who is in the daycare next to the library, and then get Sam who is two blocks away.
By the time you've got the kids, you'll need to stop by the doctors office for the perscription.
Tim's flight arrives at 4pm.
It's American Airlines flight 331 arriving from Dallas. It will be getting close to rush hour, so make sure you leave yourself enough time.
I haven't been able to find anything in my searches that is specifically action based. It would need to be smarter than just picking out verbs, as there are multiple verbs that are sometimes associated with one action for, instance the second item has 'go','pick-up' and 'get', but that is all part of a single action. Of course, "Tim's flight" is only suggests an action with the present participle, with the verb coming toward the end of the segment.
Any suggestions on where to look to do this kind of thing? Things to watch-out for, recommended readings, etc. etc.
Simple approach: parse the text using [your favorite parser], then select the sentences or SBAR phrases that are in the imperative mood. The Stanford Parser just so happens to have "Improved recognition of imperatives" in its very latest release.
There's probably no need for machine learning beyond what is already incorporated in standard parser programs.
This domain is called Information Extraction.
The general approach to sentence understanding is either:
extract a Part-Of-Speech tagged parse-tree (Python spaCy.io, nltk, CoreNLP etc.)
extract a word-vector (e.g. word2vec)

Resources