back to index

How to learn NLP for free for beginners


Chapters

0:0 Intro
1:53 ML 101 + Prerequisites
4:58 Sentdex + Neural Nets from Scratch
7:32 ML Coursera
9:31 100 Page ML Book
11:14 Applied ML + Daniel Bourke
13:17 Origin of Modern NLP
13:41 CS224N
14:44 NLP Specialization Coursera
15:57 Modern NLP + Transformers Intro
16:54 Transformer Courses
18:14 Doing Projects
19:18 Semantic + Vector Search
19:54 NLP for Semantic Search
20:44 Mining of Massive Datasets
22:27 Final Points

Whisper Transcript | Transcript Only Page

00:00:00.000 | Today I want to talk about something a little bit different and instead of focusing on a
00:00:06.240 | specific topic I want to actually talk about how I would learn machine learning and in particular
00:00:14.080 | NLP if I was starting from scratch. I've tried to keep this almost like guide as simple as possible
00:00:23.840 | because I think a lot of learning in terms of machine learning, data science, NLP, whatever
00:00:33.680 | else really needs to come from your own interests and so I think a very strict order of things to do
00:00:44.240 | can almost ruin that learning experience and so it's very important to just try and
00:00:52.160 | kind of figure things out as you go but at the same time I do think it's important to
00:00:58.560 | be aware of maybe a few particular courses or resources or books that have been very helpful
00:01:09.440 | for others in the past and therefore could also help you. So I've broken it down into
00:01:17.120 | kind of four parts so there's the machine learning 101, applied ML, the origin of what I would say
00:01:24.880 | modern NLP and also just modern NLP and then after that I've also added in another bit so
00:01:34.960 | this is obviously very specific and we'll just mention this at the end but we won't
00:01:41.360 | really go into too much depth on it. So each of these parts here act as almost like a stage in
00:01:49.680 | your journey of learning and of course at the start you actually need to learn about machine
00:01:58.240 | learning and this is almost not even the start. So yes you would start here but you also need to learn
00:02:09.600 | Python for example. So in reality it might actually look something like this. So you would
00:02:17.200 | start with ML 101 and at the same time in parallel you might want to be learning Python. Now the
00:02:24.320 | reason I say in parallel rather than just starting with Python is more to do with whether you're
00:02:30.240 | interested in that or not because for me I started Python with the specific interest of
00:02:38.480 | like algorithmic trading and then very quickly that moved into sort of more machine learning.
00:02:45.040 | But learning Python for the sake of Python I wasn't necessarily that interested in although
00:02:52.400 | I will say that once I got started I very quickly became very obsessed with just coding random
00:02:57.840 | things. So in my personal opinion and that's not necessarily going to be right for everyone,
00:03:07.120 | I would kind of learn those two things in parallel because you have to learn the Python side for the
00:03:14.800 | machine learning side but they both complement each other and having both of them in parallel
00:03:20.720 | rather than just doing Python will probably keep you more interested than just focusing on one at
00:03:27.040 | a time. So in terms of resources for just Python I use Codecademy more than anything else. Now when
00:03:37.680 | I used it it was I think cheaper than it is now. So something to be aware of but there are so many
00:03:46.240 | good resources out there for learning Python. You probably aren't going to struggle to find anything.
00:03:52.400 | The other thing I would say is also try projects. So just building projects will help your coding
00:04:00.000 | skills and every other component on here so much because it shows you where you're missing
00:04:07.440 | knowledge and also helps you learn how to apply what you have learned. And at the same time I
00:04:14.880 | think it's very motivating to build something. At least for me I find it incredibly motivating to
00:04:19.840 | just build something cool that I find interesting. So that's another thing that I would definitely
00:04:25.120 | recommend on the Python side. So yeah that's a prerequisite almost or something you do in
00:04:32.240 | parallel to what I have here. So machine learning 101 is really kind of an introduction to machine
00:04:39.040 | learning and where you would learn about key concepts. So you have neural networks up here,
00:04:45.680 | loss optimization, activation functions, and there is a lot more than just that in there.
00:04:51.520 | So with all of these resources you can mostly get them for free. So neural networks from scratch is
00:05:00.720 | very good by Sendex. And Sendex in general is also very good especially when you're starting Python.
00:05:06.560 | That's probably another thing to add to the Python prerequisites. You can also learn from
00:05:12.000 | Sendex. That's one of the places I learned as well. So neural networks from scratch is
00:05:17.600 | in my opinion a really good resource and it's one of those things that wasn't around when I was
00:05:25.040 | learning this stuff but I really wish it had been. And so much so that I bought it anyway and it is
00:05:33.600 | genuinely incredible. Now you don't need to buy the book as well. The book is great and I like
00:05:41.360 | having something physical but you can also do all this stuff online as well. Or not all of it. I
00:05:48.320 | think the first parts of the book has already been covered on Sendex's YouTube channel. So
00:05:55.200 | where are we? Where do we find that? I think it's just YouTube Sendex. Yeah so just Sendex.
00:06:02.880 | And you can find on here he has here we are it's literally right at the top neural networks from
00:06:08.240 | scratch intro neural code. And this is really nice as well because you have a lot of visuals
00:06:12.480 | in here and obviously Sendex is talking through it which is really nice. But of course also the
00:06:18.720 | book is is really incredible. And the reason I like it is because it's going through the code
00:06:26.400 | of everything making everything very visual but breaking everything down. Because what you'll find
00:06:32.240 | later on in machine learning that everything is very abstract but it's so important to understand
00:06:38.880 | the core concepts behind all of these things. So we can see here like he's really breaking down
00:06:48.160 | everything. So this looks horrible but this is a really nice way to actually just understand what
00:06:55.360 | is going on in a neural network. And then later on with like actually coding and keeping things
00:07:02.640 | really simple like inputs weights. And the issue is that in most cases most tutorials they go
00:07:08.880 | too abstract too quickly. Whereas in this book and on the video tutorials Sendex doesn't go
00:07:20.240 | too abstract too quickly. He builds it up from nothing which is really nice especially if you're
00:07:26.160 | just starting out. So that's one in my opinion very good resource for when you're starting out.
00:07:32.640 | Another one that it seems almost like everyone in machine learning or data science has done this
00:07:40.080 | course at some point. And it is I will be honest it is outdated but not so much in it's not too
00:07:48.000 | outdated it's still very valuable. So the things that you learn on this course very much focus on
00:07:53.920 | the concepts behind much of the older stuff in machine learning and particularly the things that
00:08:00.960 | make machine learning what it is today. Now one of the main reasons I say this is outdated is that it
00:08:08.240 | uses a programming language called Octave which is almost like an open source MATLAB if any of you
00:08:15.440 | know what MATLAB is. So in reality it is actually very similar to Python syntax so it's not so much
00:08:24.640 | of a bad thing that you use Octave because it translates over very easily. And one thing that
00:08:31.600 | is great about this course is that you can actually enroll for free. I don't know if it's
00:08:35.760 | free the entire way through as it's been ages since I did this course but either way you can
00:08:42.560 | audit almost everything on Coursera for free it just means you don't get a certificate at the end
00:08:48.880 | but that's completely fine. And if you really wanted a certificate at the end of it you can
00:08:55.440 | obviously pay for it. But this is an incredible course and you can see some of the things that
00:09:00.880 | go through linear algebra this is so important just a little bit of understanding of the maths
00:09:06.000 | behind all this to start with logistic regression, regularization, they go through so many important
00:09:16.240 | concepts that honestly like absolutely crucial for later on. So this is you know without a doubt
00:09:22.960 | one of the best courses when you're getting started I think it's really really good.
00:09:30.480 | And then the final one that I wanted to talk about is a 100-page machine learning book.
00:09:35.200 | Again obviously this is a book I do think you can get it online as far as I know.
00:09:41.600 | So I'd have a look at that it at one point you could for sure there's a pdf but this is really
00:09:50.000 | nice because it's it's 100 pages well I think I think maybe there's a few more than 100.
00:09:55.760 | Yeah okay so it goes kind of over 100 pages but it because it's such such a small number of pages
00:10:06.480 | everything in here is is very important so it's kind of stripped down everything you need just
00:10:14.800 | so you have all the important things. So we can go ahead maybe find something interesting here.
00:10:21.760 | Let's see what whatever this is here that I made a note of a long time ago.
00:10:30.720 | Okay so I'm looking at like just classification first regression this is like just a few paragraphs
00:10:38.880 | explaining the difference between these two incredibly important things.
00:10:42.000 | There we have parameters versus high parameters it's just so much important stuff and you have
00:10:50.560 | charts and visuals which I personally really like to have visuals in everything as much as possible.
00:10:57.920 | So this is another really really cool book that I would 100% recommend it's also code as well
00:11:08.160 | is it python yeah so that's really nice in my opinion and once you have gone past that
00:11:17.520 | you kind of want to start looking at applied machine learning. So this is the only thing
00:11:24.480 | on this list I haven't personally gone through although I have watched a few videos from this
00:11:29.360 | and the reason I recommend it is because Daniel Burke is absolutely incredible at taking
00:11:35.840 | machine learning and stripping down everything you don't need to know and just keeping what you do
00:11:41.520 | need to know and teaching you in an incredibly entertaining way. So this boot camp course as
00:11:50.960 | well you can I think possibly also find it on Udemy it has an incredibly high rating every
00:11:57.040 | course that Daniel Burke has done is incredibly high rating people are super happy with it
00:12:01.280 | and it's really friendly to beginners so that's why I recommend this even though I haven't been
00:12:10.640 | all the way through it myself but either way I'm very confident that this is a very good resource
00:12:17.040 | for those of you that are interested now but of course it's up to you and another thing that I
00:12:23.280 | would say here is okay I think it's very important to learn this sort of thing
00:12:28.800 | but at the same time if you're if you're really just kind of impatient and I mean it's probably
00:12:35.120 | best you do it but if you are super impatient fine you can probably skip it and move on to the
00:12:40.880 | modern NLP stuff because a lot of the code in modern NLP is actually quite simple so you can
00:12:49.280 | maybe drop that bit just as long as you know you're aware that there's going to be a lot of
00:12:55.200 | things that come up where you're going to be quite confused like pandas and numpy if you haven't seen
00:13:00.640 | them before but nonetheless you will learn a bit of numpy in these early ones especially neural
00:13:05.600 | networks from scratch so it's kind of possible to skip it if you if you're just impatient
00:13:12.480 | which is fine I'm impatient all the time as well I just want to learn new things
00:13:17.120 | so then the next thing is if you're really going for NLP I think it's really good to learn
00:13:25.520 | what is current and present in NLP but at the same time to really understand any of that it's
00:13:33.040 | very important to understand where it came from so I would definitely recommend
00:13:40.240 | Sanford CS224N it's incredible on YouTube that will take you through so many like incredibly
00:13:52.240 | useful things in NLP that are taught by some of the like best people in the world
00:13:59.680 | and it's very relevant it's incredibly useful the only thing is at least when I went through this
00:14:08.480 | course which to be fair was a few years ago they didn't really have anything on the most recent
00:14:13.280 | stuff in NLP that might have changed now and that is why I have kept it over here because
00:14:21.520 | if they do have anything on the more recent stuff in NLP I think it's very little so that's why I
00:14:28.080 | kept it in sort of the more the orange origin stuff because it mainly seems to focus on things
00:14:34.480 | that you see here like word vectors recurrent neural networks function gradient and maybe
00:14:40.640 | they go into attention near the end although I can't say for sure there and the next thing that
00:14:45.120 | I would recommend and that I also did so I did this course and I found this to be very good
00:14:50.800 | over on Coursera again I do believe if you look in like enrollment options down here
00:14:56.240 | or come down here you can audit the course can I take the course for free you can audit the course
00:15:05.280 | for free see now I'm not sure how you do that it's somewhere on here they keep it kind of hidden
00:15:10.880 | but you can audit it for free so that's incredibly useful and this is a really good course it's
00:15:18.400 | actually a specialization so it's multiple courses in one again they don't really go into the more
00:15:26.240 | modern stuff although I do know that they I believe actually paired up with Hugging Face
00:15:31.680 | which is like modern NLP and did introduce some of that at some point so yeah sort of attention
00:15:42.160 | models yeah you know you know brought in t5 invert so and reformer models as well so that's that's
00:15:51.680 | pretty cool so even at the end of this you will get to learn some of the more recent NLP stuff
00:15:57.120 | so then the final bit is modern NLP so in here there are a few things so how transformers work
00:16:06.240 | so this is an article I wrote and that of course there'll be links to this that you can access for
00:16:12.320 | free and in this I just wanted to explain where transformers came from in terms of going from
00:16:21.840 | recurrent neural networks through to adding attention to those recurrent neural networks
00:16:26.800 | encoded decoder models and how that tension works and I mean obviously I'm biased but I think this
00:16:34.240 | is a relatively good summary of what a transformer model is and transform models are really the
00:16:42.720 | foundation of modern NLP they're incredibly important so I think that's quite good just
00:16:50.160 | to read through that and try and understand what is actually going on and then there's
00:16:54.480 | two courses here so there's my course here you can always find discount on this but I don't
00:17:01.920 | necessarily think you need to even pay because there's a Hugging Face course and the Hugging
00:17:06.960 | Face course will cover everything I cover in my course anyway and more the only thing is that
00:17:12.320 | maybe my course is maybe a little more applied and maybe a little more concise in some parts
00:17:17.280 | and as well a lot of the stuff I cover in my course I also cover on YouTube for free
00:17:22.480 | so you just have a bit more of a structure I suppose so the Hugging Face course is like I said
00:17:29.760 | incredible you have a nice little summary of the course here which I can't can I zoom in that's
00:17:37.280 | probably the closest I'm going to get so you have an introduction diving in and more advanced stuff
00:17:42.960 | and you go through everything so you're using transformers Hugging Face they have multiple
00:17:47.680 | libraries for NLP transformers library datasets library tokenizers library they're all very good
00:17:54.880 | I would definitely recommend this as that sort of starting point or as the almost the foundation
00:18:02.960 | of where you learn your modern NLP techniques so that's the modern NLP stuff and yeah as I
00:18:12.800 | have written here I think at this point you're definitely in a good position to do some pretty
00:18:17.440 | interesting projects so at this point I would expect you've probably done some projects anyway
00:18:23.520 | but if you haven't then for sure at this point you really should do some projects
00:18:28.560 | so these are just projects that I've done in the past and actually showed you how to do
00:18:35.760 | on YouTube so there's building transform models from scratch I think this is really useful to
00:18:42.000 | understand how all of this works and there's a few things in there so this is like a building an
00:18:50.320 | Italian BERT model from from scratch and now I do have other series as well on that sort of thing
00:18:58.080 | and there's also another series I did here which again is the same it's like a Q&A app
00:19:04.320 | when I used to have that awful GoPro camera not very nice but anyway they are at least useful
00:19:13.680 | I hope as a guide or as inspiration to what sort of projects you can do so I mean that's really
00:19:19.600 | you know when it comes to NLP that's probably as much as you want to go but I will mention
00:19:24.960 | of course a lot of what I do is going to sort of semantic search and information retrieval so if
00:19:31.840 | that's the sort of thing that you're interested in then of course there are other resources that
00:19:37.760 | you can go through for that and these are all free if you want them to be free so the only one that
00:19:44.240 | isn't sometimes free is this bug here which we'll talk about in a minute but there are these two
00:19:49.680 | here which are just series that I've written and if you go on here you can see there's quite a line
00:19:56.800 | here and it's all free so it's quite I think it's it's a good deal so you come down and you can see
00:20:03.920 | we have all these different chapters that really go through what we would call sentence transformers
00:20:11.680 | semantic search and for me I think this is a really interesting sort of subdomain of NLP
00:20:18.480 | and then here we're looking at vector search another important part of of information
00:20:24.400 | retrieval and I of course again be able to find a free link to this in the in the description
00:20:30.880 | you see it's a few parts here we're just introducing similarity search
00:20:35.680 | face and a few other things so again free course I think it's a good deal
00:20:43.280 | and then this is the final one so mining of massive data sets is a really cool book
00:20:49.440 | it's quite big as well it's this really interesting picture on the front here
00:20:55.760 | and this is this is definitely this is more like when you start getting into your
00:21:02.960 | theory side of things and it's not directly applicable to a lot of NLP I will be honest
00:21:07.280 | but there is so many interesting things it's almost like the it's like the theory of everything
00:21:16.400 | that built up information retrieval and some obviously more advanced stuff as well
00:21:22.560 | but this is really when you're getting into trying to understand everything on
00:21:29.040 | a almost deeper level I would say though at the same time a lot of it you might not even find
00:21:38.000 | directly applicable to vector search as I said it's more everything behind vector search
00:21:44.640 | it can be incredibly useful and some of this stuff is is really interesting and definitely
00:21:51.440 | useful when you're actually implementing these sort of things but that's another one that's
00:21:56.720 | really good but like I said you can also get that online for free which is really nice so if you
00:22:05.600 | if you go over to here mmds.org you can come here and where is it I think there is a link
00:22:14.960 | over yeah so you have all the links here I'm sure there's a way to find a whole booking one
00:22:20.640 | oh yeah yeah in this as well so you can also do that it's pretty useful so yeah I mean that
00:22:28.480 | that's kind of what I would recommend you do if you're looking to learn NLP machine learning
00:22:37.200 | all this sort of stuff that's the route I would go a lot of those things obviously I went through
00:22:42.480 | myself and for me it has worked out well so far so that's a good indication that at least some of
00:22:50.960 | these resources will hopefully be useful to you as well and you know I get this question asked a
00:22:57.440 | lot you know how do I learn these things and hopefully this video will be some sort of guide
00:23:02.880 | for at least some of that but I'm also super interested in what resources you recommend
00:23:09.600 | so yeah definitely let me know if there's anything you think is missing and yeah thank
00:23:15.280 | you very much for watching I hope it's been useful and I will see you in the next one bye