AI YouTube Comments - Computerphile

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments

She'll start whining and making pouting faces when it gets very slick and it takes so long to reply back.

πŸ‘οΈŽ︎ 1 πŸ‘€οΈŽ︎ u/Not_SubredditSim_SS πŸ“…οΈŽ︎ Oct 22 2017 πŸ—«︎ replies

I concur. what do you want to play with that outfit. It's kinda annoying that they link that howstuffworks uses as their main subscribed news source on Reddit, you have to assume you don't have much of a headline.**. The bot even posted a post from one or two bots become extremely coherent post too.

πŸ‘οΈŽ︎ 1 πŸ‘€οΈŽ︎ u/Not_SubSimMeta_SS πŸ“…οΈŽ︎ Oct 22 2017 πŸ—«︎ replies

r/subredditsimulator


For mobile and non-RES users | More info | -1 to Remove | Ignore Sub

πŸ‘οΈŽ︎ 1 πŸ‘€οΈŽ︎ u/ClickableLinkBot πŸ“…οΈŽ︎ Oct 22 2017 πŸ—«︎ replies
Captions
Michael these YouTube comments you've got on your screen it no these are completely fake comments that I've generated using a neural network so I've trained it on YouTube comments for computer file so basically I've read a lot of computer file comments and now I'm generating semi plausible new comments but talk about Linux and crappies and Java for example all kinds of semi plausible things but not really if you actually read it let's talk a bit about recurrent neural networks we've covered neural networks a few times on our videos on machine learning deep learning convolutional neural nets Google deep dream and this sort of thing a lot of people are doing research in neural networks now and some of them are doing things like natural language processing so things like trying to predict sentences or work out sentiment analysis from sentences so things like is this sentence a happy sentence or sad sentence if it's an angry tweet or a relaxed tweet right I'm going to very briefly recap but I would advise people to go back to these other videos first so if you've got a neural network and you're trying to make some prediction on some text or anything sequential really so we've got various you know links going up here and like this and we put in something in this side let's say a sentence and we want to predict something about that sentence maybe what the next word is going to be or whether or not the sentences are positive or negative one also you know this sort of thing the problem is that this is a very fixed structure it's not very good at sequential data you can imagine I might put the first letter in here and the second letter in here and the third letter in here and as long as all my sentences have the exact same length and the exact same structure that kind of thing work but as soon as things start to move around a bit like words but we're looking for like the first name of the person in the sentence or the subject it's going to become much more difficult so let's imagine you know using that example that I'm trying to predict the subject of a sentence based on some sentences alright so I've collected together lots and lots of sentences and I've got lots and lots of the subject of that sentence and I put all the sentences in and try and learn the subject the problem is that the subject moves around in the sentence sometimes it's over here sometimes it's over here so this network has got quite a difficult job to learn not only how to determine what the subject is but also how to do that when it could be anywhere so you might say you know I went to the park on Tuesday right but you might also say on Tuesday I went to the park so if you're trying to predict when you went to the park you've got to learn a little slightly that's more complicated than you perhaps first think so what we really want to try and do is is put in sequential data we want to put in one word or one letter at a time and then try and make decisions on that so we need some way of examining this over time so if we simplify this into a sort of a different slightly different structures let's imagine we're training a very simple neural network to take characters let's say T H E and produce a guess as to what the Nets character will be that way we can work out things like what a likely word we could also for example have an output that measures sentiment analysis because it's starting to generate and work out the structure of words so let's say our input is T and then H and then e in a row right so we have our input nodes here of our network we have our hidden nodes and we have some kind of learn mapping between these two things and then we have an output which is our prediction of what the next character will be all right now in a normal neural network situation although you know this is I've turned this now on its side a bit essentially what we're trying to do is say well look our output here is H or it should be H so we go forward to the network we see whether it gets his age and we essentially calculate a loss and say well that wasn't very good you thought it would be Zed and so we then adjust these weights here to try and make that a little bit better the problem with this sort of structure is that we're only ever trying to make a decision based on one character input so you know that the letter that follows e is going to differ depending on what the other letters are you know it isn't always going to be an A or a T or something else this is inherently going to struggle with this kind of problem so what we do is we also want to bear in mind what we've seen before we want to say we've seen an H but we've also seen a t previously can we make a better decision about what our output will be all right and we do that by basically making more weights and connecting up these hidden layers like this this is essentially a recurrent new network this is school of the expanded unrolled structure but it's the same kind of principle when we first start this H is zero we put in a T and it goes well I'm predicting given a T what the most likely debtor is it could be an H it could be an a could be lots of different things all right so we make it we make an attempt at guessing here we don't know very much we put in an H and we say well we've already seen a T and we know about because it's stored somewhere in this hidden area so maybe we can make a slightly better guess right we've seen a T now we've seen an H so you know it could be an e next further or it could be an A for that like that kind of kind of guess it's unlikely to be a Zed you know unless people make lots of typos we can predict maybe that this could be an e next they want you actually do see an e now and so we can put in here and say well we look we saw a t we saw an H now we're seeing an e can we make it really any more informed decision as to what's going on next and it turns out we can so we can say well it could be a space because it may be where at the end of the word or it could be an a because this is the word is theater or an N because the word is then there's lots of different ideas it could be but you can imagine if this was very long we could be bringing in words from previously as well so we could say well look and is what makes more sense than and then actually it's not truly doesn't really make more sense it depends only you've got you have more sentence the more sentence you have the more powerful your your your prediction is going to be and what its will actually predict is basically the likelihood of the next letter so it will say given th e I think the next output has a 10% chance of being an A or put a 50% chance of being a space right and some other chances are being other characters maybe you get the idea the only other interesting thing about recurrent neural networks is that the weights here and here and here are shared so they are the same because otherwise this one here would always be learning what it is to see the first character and this one would be you know seeing the first two characters it doesn't generalize very well so what we do is when we when we train this network up we actually train these hidden neurons to predict in the general case of wherever they are in the sentence and that makes them really good at varying the length of the input right so this works really well for YouTube comments for example because they're often different links they might have a similar structure but they're very very diff link's so I thought have moved off my sentiment analysis and you know word prediction kind of thing to a kind of character level low level thing but you could imagine if you just ignored these outputs here and we have only one output at the end of a sentence you could try and predict something like a sentiment of a sentence whether it's a happy one or predict the subject of a sentence or something like that right so natural language processing lends itself quite well to this kind of idea so I've trained one of these up and I thought well what I want to do is do some word prediction there's lots of fun examples online and we'll link a blog a really good blog post in the comments of some really fun examples of predicting text right you can basically create a neural network that does this and then basically just start generating random text it's quite fun so I thought what text do I have access to which will be fun to generate and then I realize that we have access to all the YouTube comments for computer file write all the historic YouTube comments for computer file so what I've done is I've downloaded all the comments since the beginning of computer file and I've put them into a network a little bit like this and try to get it to predict more words and it has a stab right so let's have a look and see what it does so yeah so this is one of our machine learning servers so I borrowed to just trade up this with the common network the machines name is Deadpool and you're welcomed by and asked about Deadpool when you log him time well-spent as far as I'm concerned now it's the only server that does it no one else seems to be interested now what I described just now is is overcoming your networking it's sort of traditional form the modern neural networks that we use to do this a slightly more powerful called long short term memory networks we'll cover maybe the architecture of those in a different video but that's what I've trained here ok so you know YouTube comments come with things like timestamps and what their comment ID is and who they've applied to and things like this I decided not to make the my life too complicated so I got rid of most of that and the structure broadly speaking is the word comment then in brackets the person who commented like cheese er diggity here then a colon and then what they actually said right so I haven't done any kind of filtering of expertise and things like this so let's hope nothing comes up but I have done some things like we move slightly odd characters and things like this just to make and make it a bit different you've got to think that if you're training your neural network you have to output nodes for every possible character so the fewer of those you have the easier it'll be the most recent comment would be will be these but of course I scrape these off a couple of weeks ago and so maybe some more people have commented since then now I've trained this network up and basically you know I left it running for a few hours and what we're doing is we're putting in strings of text and having it learn what the next characters are likely to be all right so when it sees TIG it's probably going to see a space or an N when it sees comment space it's probably going to put in a starting bracket because that's the beginning of a comment it's this kind of rules and then what we can do is want as trained we can basically just ask you to keep spitting out text based on the most probable letters so we start it off we say right go and it says well there's a there's there's probably a fairly high chance that the first letter is a d let's say so it puts puts out a D and then it goes well given that we've seen a d the next letter is probably an A let's say but it could be an E or it could be an R so and we pick one at random based on how likely they are so we're always a basically typing at random based on the suggestions of this network and it produces semi plausible text I mean it is nonsense but it's also not totally stupid so let's see what it does based on my pre train Network I'm going to produce five thousand characters of random text and let's see what it looks like so we'll just boot up for a minute and then it will run it's pretty quick once it gets going there we go so you can see we've got comments we've got replies at first glance it looks plausible when you actually read into the comments they're very bizarre let's pick a couple and see us I so so this guy by blocky thought now that might be a real person but it probably is just a completely made-up username I was know pretty puzzling the code gaming so they would have found out something tred the largest stop information I filled this guy Hetzel 200 as replied I find your own difference I found certainly haha use useful usually a and so full stop I mean it's got the punctuation correct right it's finishing sentences with four stops let's try again it was a long one there there is so some of them are very long New Orleans is who I match it humans but for cooling of the most complex or magnetic consistent brackets like a computer to expect founding creating organizations the interesting thing about this is that so sometimes you'll say gets looking at YouTube mine to let you stand out now the sentence doesn't really make sense but the words were actually spelled correctly and YouTube for example has a capital y in a capital T which is you know quite clever it's learned that usually when you should is seen there's a capital y and capital t but we're not picking the most likely letter at every time we're picking one of the plausible possibilities so sometimes it's going to pick the wrong one so up because of the way we're sampling so it might say we've seen a y ou u tu B if there's a 99% chance of an e but there's also a 1% chance of a space and so it'll put in the space that 1% of the time so sometimes you're going to see typos basically using this approach what another interesting thing is the reply sometimes specify the target of the reply with this plus plus another username also probably messed up this username ice metal Punk appears quite a lot in my output now I actually think that that's a real user name so if you're watching you know congrats you've posted so many times in our comments but my network has learned your name and is now just generating your comments for you it's this is quite fun right this alone it is I mean I'm quite impressed by this people might be thinking well it's just generating nonsense but you've got to consider if this is quite a small neural network looking at the random stuff on computer file comments bearing in mind lots of different types of people commenting lots of different video content and it's learned a kind of broad structure for a comment system it's got comments it's got replies it's tagging people in replies it's making up usernames it's learned some people's usernames I mean it's it's surprisingly impressive in the blog post that I link to there's some some other really impressive examples of sort of things these things can do this has got uses in things like natural language processing but convolutional versions of these things are starting to see use in image processing as well can we for example start to do things over video sequences or over three-dimensional data things like this so L STM's and recurrent neural networks are going to see a lot of use going forward because they can do some really impressive things over time oh look so that's interesting is that it gone wrong yeah people tend to put numbers in a row let's say when they're typing out you know big numbers or something like that so when it starts with numbers it tends to just get stuck in a loop just producing more numbers it doesn't happen very often but it doesn't happen this is not infallible as you might have noticed from the grammar but could this be used as a chatbot or something like that I mean theoretically you could yes the text I've trained this on is far too bored in some sense to make a reasonable chatbot because clearly none of it makes any sense I mean you might get the occasional sentence of kind of makes sense or seems a bit like broken English but it's not very useful if you targeted this though at let's say someone's own emails if we start to probably generate quite plausible emails of theirs or suggest words for so for example for auto-completion purposes usually what we would be using this kind of thing is not the necessarily generating text but to make some decisions based on what it's seen so it's because it can chained together all of these kinds of sentences you could think it's starting to look at least 50 or 100 characters into the past we can start to maybe use sentiment analysis or do predictions of of a kind a sentence or the content of a sentence this is the kind of practice perhaps more practical purposes of this apart from just a bit of fun I like this one great video see now it now we're getting somewhere computer file sounds more helpful than than what it doesn't go into detail he's working with the phone customisation I mean we know we're not ready to take over the world with this network yet but you know one step at a time people complain about my fingerprints on my monitor when I have it off but I haven't cleaned it yet because I lazy right under thought by now with all these views on YouTube you'd have someone to clean that for you but and yet no one's appeared unbelievable I know there is a reply from computerphile though if you notice where was that then about five lines up oh and as I'm from the PI from Professor Dave B as well
Info
Channel: Computerphile
Views: 253,459
Rating: 4.9554377 out of 5
Keywords: computers, computerphile, computer, science, computer science, University of Nottingham, Dr Mike Pound, Neural Network, Recurrent Neural Network, Comments, YouTube Comments
Id: XyMdpcAPnZc
Channel Id: undefined
Length: 15min 20sec (920 seconds)
Published: Wed Oct 04 2017
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.