Merken

How we Used NLP and Django to Build a Movie Suggestion Website & Twitterbot

Zitierlink des Filmsegments
Embed Code

Automatisierte Medienanalyse

Beta
Erkannte Entitäten
Sprachtranskript
don't up and this is thank you and thank you put a prior on a I want to
take you on my 1st time data castle very excited to be here and so on and so this is my e-mail so you have any questions or anything please feel free to reach out on I am your weight if
anyone wants to follow along in the slides can be downloaded at the world of case in its system casing looking for that so request on the give you an overview of what we did is on this is going to be sort of talking about Triton implemented so we work with the Cleveland International Film Festival to all to build up a little bit of software for them it's a sort of a hobby we did and the role briefly about that we mentioned busses to read 1 event you a similar like Toronto all the US and I and some of the things we develop test and they have a lot of independent films was held in April this year the on and it's a pretty big event so we're really excited to reduce the stuff with it I myself and film buff unfamiliar room on our shot to movie I saw the most Americans and don't very good on and I'm not affiliated with queen of being tho best just my disclaimer the in about the project that a little robot guide on so we built a movie recommendation engine you know there's about over 400 films the stuff like in the all pretty much all brand new really independent there they tell they seen it never been the only thing we have have is it is the title of the so when you're deciding what 1 c especially if you don't know the users don't know who's making the film analysis candidate for an average of all persons so we decided to take a publicly available data to the public on the website and you a little bit of natural language processing on to identify which films were similar to the other and so we can know have bit of guidance so what what and we also did that we're up to as sort of 1 aspect of it we have on during the show times it would say on the know this film starring in the film was over sadist understanding if you like it catches the film itself through is all computer generated from statistics that so is a quick thing we did a couple days at 100 per cent by on on except for the use of crime vol the open source software and once again the data of all publicly available from the website the so we can look at this talk is on when put on a certain enhanced 1st of all and figure out how to scrape the data from the web site you get into our Our Django database and for models on the 2nd thing we're going to do is look at some general management command which are pretty simple but may new for a few people they're very useful on the Net really get into the meat of the talk and look at some concepts in natural language processing to some basic stuff explore functionality in the in LT K which is the natural language toolkit on over toolkit it's all based on Syria use and it's a great way to learn on natural language processing more entry-level AI the interested and then will look at using the Twitter API to make sort of a dumb we're not on were not making a Microsoft out terror and things like that and when you use a crime job to sort of for you like to work with a lot of weed out the appropriate times and if we have time I'll go into the bush the haystack of certain its so 1st things 1st the need to identify you know were basically started from nothing we need to look at their website and identify all what they are and how would need you to represent and we can make some models so the most obvious models are a movie model to represent the film itself and the Showtime to represent this kind of of playing because they some of them will play on 2 or 3 times over the course of the of the best so I will just so the website quick come
and they have a whole list of films notice may change a little bit since it's all over but here's a film on the web
site and as you can see you know it's a very nice looking sites on it has all the information laid out but once again putting on a certain acts how are we going to identify what was on page now we know that this is a description How will I know and you know this is the title held by Panel on so for that we use to wire is but the the 1
which is URL which Germany people use here and the other is beautiful city so your olive basically just gives you believe you request on on for of network that things are beautiful suit is it sort of builds the HTML document the markup much inquiry that sort of various study query beautiful soon as sort of a pipeline way of doing a similar thing where in the different the HTML tags on the page and identifying what's in their parts the data out of them etc. so I did 1 open this but because we can potentially lead off the site from crawling waiting much but I didn't learn initially the code so basically you are all it is a pretty simple and tool that will let you all action on so are little
basically this that you make a request to any anyone along any you research out there it's very straight forward it means that went into memory and from there we'll take will red and part of that beautiful as they came up so now we have this whole also logic which is essentially the HTML document and here we can query through it so you would the obvious thing is OK each 1 of the top right so we go through and the person that stuff but as you will as you have seen in your careers probably web pages are always formatted and in a way that makes sense especially when you get out certain stuff going on so this ended up being a little bit more complicated than we initially thought to try and find OK where something existing you know we have to look through different columns on the page etc. on so naturally this is a little bit hard coded more than a regular search engine with be but you can basically just lose through everything on the page and it pops up that info using IG queries source of query similar to like aquarium like right you see when I find all those that have a certain classes and within their final paragraph that and so on and then right there you've got an object that you can play with and and the continent so that's beautiful suits really great if the person in of HTML so we basically go through that painstakingly until or able to identify everything on the page end of the loop through here and we we just created and what that phrase from that so this is our movie objects are modeled as should say and we just created from the stuff that we parts and now we have a database full data on the the what we need to run this because this is sort of a script right it's also migration say that you have to populate a database before we can even do anything and then the other great thing all note is that you pay attention timezones if you're dealing with the because that really throws things out of whack so on here we're using the US eastern times so just voice something because as so we've got a big long function there that got it
wrong functions that case here requesting the pages from the web site and identifying the data in but
how co-creation on the very simple you they really obvious easy Nacional cryptic but when you In general management command is
just some from my virtually any I just do you know Whitethorn managing our answer that's the obvious 1 but if you just you help it will list them all off and you can see that here that we have a few or custom once and when we're interested in is great movies so all that is to make a general management command is you put a file In your project my projects led management is commands it's a straightforward as it can get and then the name of your command in itself but a file the and it really is that simple that all you have to do is called a Python function from inside your hand so radius 1 simple 5 will give you the general management command that shows up right down there and if you notice that will help strengthen their so if you do on cold and then the it will output my help the amend reappear and all the standard of options so it's very easy to make a general management command and then all I have to do is run that which are not run out because that will make hundreds of requests to the site to scrape everything on but it's as easy that you so I run my migrations make my database and then run this and populated things so
now we've got all that the hero prominence code that number 1 and once again you see just gives you the element can right there so that was Brazil really easy but it took a little longer than expected once again find HTML on sort of an SEO thing almost now
the good part which is the natural language processing so before we on looking at the code for that and it will review concepts on so as you as you know natural language processing is is basically understanding of texts in a way that the human 1 while you're doing it wouldn't so in our case what we're trying to understand is how similar or 2 movies you know if we've got 1 about war and 1 about love however in period 1 you know like those of you in similar and most of the play is look at the words that are in the back so that's what TF-IDF is it seems for term frequencies I got inverse in frequency and basically what that means is it looks at both of the documents and says which turns show up most frequently within the documents so if you have 3 documents and 1 of them has the term love it you know repeated 10 times and another 1 has the term well once and the 3rd 1 has the term 1 of 5 times document 1 . 3 will be determined to be the most similar of that group the on so because of the simplicity it's relatively easy to implement on but the problem is not it's or because it only looks a little later count of the words says which has the most in on and 1 other thing I should mention is that when you are in this comparison you remove what's known as stop words so like not a hand you know your prepositions that type of thing on so you're really only looking at words that actually have all context for need rather than just words that therefore structure on so that would be the sensors right I went to the bank to the by time compared to my live down the bank tightly I TF-IDF and say although both similar you know they are short and they both contain work bank so they they must be someone but we know because we are humans that the word bank has 2 completely different means X and the are 1 of the more traditional examples in the in textbooks is no I gave my dog a bone for sale at all so far break 1 of the uses of birds and needs to pasta and 1 the use of the mountains and a completely different means so TF-IDF really is that we're solving this 1 have the time to get pretty accurate because of a language is that so what barrel approach a better way is to say look at the word sense disambiguation and what this means is that you actually look at the mean of every word based on the context so what you understand context you will know this OK this word refers to something completely different than it does in other contexts therefore they not on and way you go out to see if you can just some of all words in the document you have to look at sentence by sentence so that you can get the correct context on so want to determine the meaning of each word within the context you take another step and look at the levels now let is basically what we had to on but the true way of describing alignment is is it's it's the meaning of the word when it's in your head before and after the war so that's the true definition of her described but it's basically a so it's the true like meaning of that word the so we will look at each sentence identifying the meaning of the word within that sentence and then look at lemmas or synonyms of that were within its context and when we do that and compare to documents will that we have a much better sense for how similar they are so here's our our same example once again I want to thank to deposit money all purely identified bank has a mean and it is in this case I find a financial institution that accepts deposits and channels the money the lemmas would be paying banking company financial institution is probably more and then another example I slid down the main widely here we identify the meaning of things to means slowing land especially besides applying water and the lenders would be slow curves short relying etc. so if we're using Word Sense Disambiguation to compare the similarity of these we would not even within the same class whatsoever the and then the 3rd topic on natural language processing we used was sentiment analysis no this is something that can be very difficult and things such as the IBM Watson and many other Big AI programs you know really try to pinpoint the sound that there are some very simple ways of doing it on but basically what sentiment analysis means is carrying the feeling of text you is it positive resonate that's the most common and implementation of it but when you combine it with other forms of NLP you can say get a deeper level of what kind of sentiment is actually being expressed on no product reviews negative comments on things on you know they might indicate different sentiments within the realm of positive and negative so this example we're just gonna do positive or negative but we will be determined not to remove the description
so now to get into a little bit of the code so TF-IDF on we're going to penalty K on all the news cycle for this because TF-IDF a sort of a mathematical thing more than anything you're summing up the words and comparing the vectors of each each document so this is the code that we use to do that it's very simple when you use the site here on society it gives you the creative idea vectorizer and it also gives you the up and from there you can basically do it transform so you 1st need a do courses clean all stop words punctuation etc. out digital purer pure list of words essentially and we're doing that are still descriptions and then we just went through the vectorize the and this here is basically building matrix on because you're comparing every single film every single other so if there's 400 films it's basically Beethoven squared on you not comparing it to itself because that would be 100 per cent match so big o of n squared my sense but you know what the result is is a huge of you can think of all the movies on axis y and all movies once again on axis axis and how well they compare to each other so they are not data and this link here cited free well documented so if you're interested and check it out it's a little bit difficult to install in him because it requires sigh as a prerequisite and doing all those requires a good amount of compiling the libraries and stuff but it is the package sell you can get to install
home so there is a to if I were assessed disambiguation a lot more so will not yield identical to that the good so you can see that my the 1st TF-IDF function the it's 0 the the
so the TF-IDF function this is the that's encoding which is the slide relatively simple you basically use escape learn to build a of vector for that word sense disambiguation is little bit 1 because you basically 1 do the same thing you want to build a matrix to see how similar are is equally to each of the but you're not looking exactly the words in the description you're looking at the meaning of each word and then breaking back down until for similar was so if in the case of all the bank example if 1 document contains the word bank and we know that it needs a financial institution in another document contains the word finance will still count those as the similar even though the different words so to do that a lot of things and a lot of stuff needs to happen on and in this application I sort of fit it manually we did not use if here by the effect arises from so basically loop through each sentence here on tokenizer based on the sentence level not at the word level I'll look for the important words which is basically removing all stopwords you know finger those hands etc. and then use the last on word sense disambiguation algorithm which is built right internal the k and it's the last algorithm algorithm I'm not exactly sure about all the details of what these algorithms do but it's built and then on K on and this what this does here this is really the magic of function call you get the tokens from the sentence on any specific word that you want identify the meaning of the sentence so in this case were would be banks and the sentence would be I deposit money in the bank on and it will give you the sense that in return which is the list of all the ones in the center so when you do now is add all of those in it and everything to my words a check for so the words I'm checking for might actually be larger than the document itself because I wanna find everything is some to all and then from there to basically now we have a complete list of words check for based on means anyone as the sun and now we're going to do the the nested for loops worried that we look through and bill that matrix in cross-compared up so also this are sometimes very similar
to TF-IDF and sometimes very different the
and I will show you but but on the
compared the object was left I'm using to of yeah the similarity of 2 movies so here you can see all 1 1 filming zils 1 you carry other TF-IDF which is basically saying how many words they have in common it's 4 . 0 1 3 and 0 means 0 income and 1 means 100 per cent on period point 0 1 which means not the not very close all father word sense and disambiguation actually scored a little higher because they're probably our citizens in all the and if you look at a few others you can see that there are some differences usually be on word sense disambiguation scores them more similar than our term frequency document and print so we both of those metrics on the side of the house and we really are the and then the 3rd
of the kind of fun 1 here sentiment analysis in this is also really easy to do because of the k so were using the of beta sentiment analyzer which is once again algorithm and it's built into an K all this is particularly relevant in our case because the way this our work is train from set and this dataset consisted of 10 thousand tweets and 10 thousand movie reviews I forget when this was saying what I wanna say it was the 2011 2012 sometime around them you may change a little bit but and each 1 of those of tweets and movie reviews was tagged by humans as saying OK to of positive for this one's name you then the goes into the into the computer and the algorithm and it learns based on the of syntax and grammar and the and the word choices whether positive of text looks like and when native texels so from here you can basically feed anything you want to the beta algorithm and it will scale from negative 1 to ask whether it's onerous represent negative or 100 % positive based on its some learning the training set so because it was trained on movie reviews illustrate pretty relevant to us I think
and once again the code is very simple for this because it already exists in the LTK you have a sentiment intensity analyzer objects ability to gain easier than that so all you have to do it is on In our case the data little bit running through the polarity scoring function and what we're looking for is the compounds for but it does produce a lot of other scores and metrics the compounds for sort of the overall the average just you know which is what we wanted in this case and that's really all you have to do so we just look through the movies money through the end of the case of functionality and it gives you that so it can in some ways it may see see what Martin actually the now so you may be mentally should
start this too but this was the site and the USA show
you not playing recently entered on obviously it's all over Hong but there are a few with that we can pull from and we represent it that
as a dot plot or a of the i'm because it pertained to movie reviews that's what they're not reviews the movie descriptions that when it most closely corresponds to so this chart here just goes from negative 1 to 2 positive 1 and the theories per it
varies her film and I I did we will use them myself spot in the general it's pretty accurate there are a few that were cut off father and generally pretty accurate so on very good functionality and tk and and NOT case primarily designed to be academic type thing just to learn and play on hard probably not very good for doing any real you know if you're looking at its functionality or something you would not be good for that on for projects like this you know a great so that's what we did and so now that we have
established 3 different forms of of natural language processing in the description of these movies of standard quantum numbers so our crawler holding 300 and of 436 films from B to the letter website and we did TF-IDF on each film compared each one's a big Oh of n square and we also know that the word sense disambiguation in each 1 so we broke it down into every sentence of every review cross-compared all that on once again it was 189 thousand comparisons by the time a database was fully populated and as I mentioned we use to compare models to store the the comparison between each feature film so the actual movie model self contained in that it just contains the moving information on the and how we did that was through the set of dimension and its of I'm going all way too slow here so of speed up there was a gentleman command and to the last part as well as the query API so doing this is very very simple if you just doing it with your own Twitter account and this is what we did which
looks a complicated but simple form using Wi-Fi is super simple for you just created rap
at some weird outcome on since you're the owner of a has access your account and you can access all your API is right there after that come you basically flows
into into quite fine and you can send a Tweet so I will send a
quick tweak here just to just to show it off because it's kind of cool it and might take on we function here that literally the simplest doing that calling out with on Twitter out upbeat status and if I run my management command at and so you do know when the 10 the cation warning but then I also had I and we and if you check out the weather sigh the so there so
all we did was use kind on which is
basically a one-liner where you in your Cronulla entry you enter the virtual environment they here on through private funding you run the management command and then you just specified along so this random at every 5 minutes and it would run through query the database and we doubt was coming so so that's a DB of our project and you got something out of it you know we have the time for you in a few minutes me the man events thank
buttons and all forms moods and formalisms Mannesmann wouldn't run but would usually be so this 1 we just use materialize that CSS and it's basically a clone of the Google material design on it's very simple pretty good I article in and we normally bootstrap most of what we want to sample and we feel some kind of a lot being so again materialize that's CS the have any of about the possibility of the evaluating you were comparison algorithm by say piping of from and into so what netflix where there's a what we're apprehend have wide knowledge of the movies are out there and you would be able to fuse you could you could make a kind of qualitative analysis of of how well your engine performed with movies that would be yes that's a great idea and once again in enlarging our dataset you would be great some the this end analysis was just off a small subset of 10 thousand reviews and our own comparisons were just programmatically we're not going off many existing data so yeah public version 2 we want to compare that to an outside source of data for even more on accuracy and so I'm not terribly deeply familiar with that of the k but I wonder that the previous question did you does so well formed and how could you do that was was good but I also wondered why you at did the parts to with beautiful suit more by hand them using a tool like scrapie that is probably so probably have here you know just just just 300 movies so on but I think the biggest thing I wanted to mention is that it turns out looking from Google and on and on the carrier well you're during the presentation since I'm familiar with open and all the new jobs is that it was developed that you can and the other comment to many to others there around because this was that could be a moment to understand I had sort of think about myself 1 we're talking but because this was for the Cleveland film festival there wasn't any need to do a search function you know people were already there they were looking at the schedule would like those he wants to you know and I think if you do this again and that would be a good thing to point out people familiar with you know how you do this research just like it into solar or something elastic search you know yeah and actually if we had a long time I went a little too in detail but I did not there if you want download the slides there are a few additional ones with a haystack and Lucius to do a really simple search on it was really relevant to any of the NLP stuff it was just part of a website that we made on you know to
to search through that information it just made a simple search up there so once again not relevant to the NLP or the Twitter require part but it was part of the whole project so there are a few slides on implementing a really simple haystack certainly 3 steps so if you are interested in in some searching the to I so understand why use the marriage part interfaces so just calling the lifetime of the so the reason we use that was because every all I code needed to run within the general environment so all that's a yes so that's fine I guess you could drop into the general shell in college on but the management command provide sort of a simple way to do that rather than having to drop into the and shall so that you can access the models and the environment reference this since you do the work I have the word sense disambiguation why you keep the use of your resume that have use the word term comparison of quicksort kept almost as a crude benchmark to see is there really a difference on an originally when we had our when we had the a web site where you would show you similarity on you know this is just making a up a simple general variable although most similar ones were pop lowest on we did with TF-IDF and then the sum of the not very similar so elliptical strike away so the data were the same biguation and the fossil malaria change when we will bait basically and there are a lot more accurate so we have both in there for reference by we primarily look at the word sense disambiguation over here by the 2nd the nuremberg summaries such that thank
you so I
think seeds proof of its
Web Site
E-Mail
Computeranimation
Web Site
Bit
Prozess <Physik>
Datenmanagement
Computer
Twitter <Softwareplattform>
Computeranimation
PROM
Informationsmodellierung
Datenmanagement
Software
Prozess <Informatik>
Mittelwert
Speicherabzug
Rechenschieber
Elektronischer Programmführer
Ereignishorizont
Implementierung
Analysis
Softwaretest
Lineares Funktional
Statistik
Stochastische Abhängigkeit
Open Source
Datenhaltung
Web Site
Ausnahmebehandlung
Physikalisches System
Natürliche Sprache
Ereignishorizont
Quick-Sort
Roboter
Rechenschieber
Software
Funktion <Mathematik>
Twitter <Softwareplattform>
Formale Sprache
ATM
Projektive Ebene
Term
Deskriptive Statistik
Web Site
Bit
Benutzerbeteiligung
sinc-Funktion
Mailing-Liste
Information
Systemaufruf
Computeranimation
Homepage
Web Site
Bit
Quilt <Mathematik>
Beschreibungssprache
Beschreibungssprache
Gruppenoperation
Parser
Web-Seite
Mathematische Logik
Code
Computeranimation
Homepage
Homepage
Loop
Regulärer Graph
Suchmaschine
Skript <Programm>
MIDI <Musikelektronik>
Beobachtungsstudie
Suite <Programmpaket>
Lineares Funktional
Datennetz
Konvexe Hülle
Datenhaltung
Abfrage
Quellcode
Zeitzone
Quick-Sort
Objekt <Kategorie>
Einheit <Mathematik>
Rechter Winkel
Mereologie
Information
Lineares Funktional
Web Site
Beschreibungssprache
Datenhaltung
Datenmanagement
Elektronische Publikation
Computeranimation
Homepage
Homepage
Konfiguration <Informatik>
Datenmanagement
Migration <Informatik>
Projektive Ebene
Chi-Quadrat-Verteilung
Hilfesystem
Funktion <Mathematik>
Standardabweichung
Hydrostatik
Prozess <Physik>
Formale Sprache
Gruppenkeim
Natürliche Zahl
Datenmanagement
Element <Mathematik>
Zählen
Abstraktionsebene
Analysis
Ähnlichkeitsgeometrie
Computeranimation
Übergang
Deskriptive Statistik
Negative Zahl
Digital Object Identifier
Lemma <Logik>
Schlussfolgern
Kurvenanpassung
Tonnelierter Raum
Prozess <Informatik>
Inverse
Ähnlichkeitsgeometrie
Biprodukt
Kontextbezogenes System
Frequenz
Natürliche Sprache
Arithmetisches Mittel
Lemma <Logik>
Sichtbarkeitsverfahren
Subtraktion
Wort <Informatik>
Wasserdampftafel
Klasse <Mathematik>
Inverse
Zahlenbereich
Implementierung
Term
Code
Bildschirmmaske
Datentyp
Datenstruktur
Optimierung
Drei
Analysis
Paarvergleich
Frequenz
Quick-Sort
Formale Sprache
Mereologie
Wort <Informatik>
Term
Resultante
Lineares Funktional
Bit
Web Site
Matching <Graphentheorie>
Wort <Informatik>
Kartesische Koordinaten
Mailing-Liste
Vektorraum
Binder <Informatik>
Quick-Sort
Code
Computeranimation
Deskriptive Statistik
Digital Object Identifier
Code
Digitalisierer
Dreiecksfreier Graph
Programmbibliothek
Wort <Informatik>
Matrizenrechnung
Bit
Kartesische Koordinaten
Dialekt
Computeranimation
Eins
Übergang
Deskriptive Statistik
Loop
Algorithmus
Maskierung <Informatik>
Primzahlzwillinge
Soundverarbeitung
Lineares Funktional
Vervollständigung <Mathematik>
Konvexe Hülle
Systemaufruf
Mailing-Liste
Token-Ring
Vektorraum
Arithmetisches Mittel
Rechenschieber
Einheit <Mathematik>
Wort <Informatik>
Fitnessfunktion
Objekt <Kategorie>
Arithmetisches Mittel
Subtraktion
Punkt
Linienelement
Hochdruck
Ähnlichkeitsgeometrie
Wort <Informatik>
E-Mail
Term
Frequenz
Computeranimation
Lineares Funktional
Bit
Wellenpaket
Ortsoperator
Linienelement
Betafunktion
Formale Grammatik
Computer
Analysis
Code
Quick-Sort
Computeranimation
Objekt <Kategorie>
Algorithmus
Polarisation
Twitter <Softwareplattform>
Wort <Informatik>
Bitrate
Auswahlaxiom
Analysis
Deskriptive Statistik
Web Site
Ein-Ausgabe
Plot <Graphische Darstellung>
Physikalische Theorie
Computeranimation
Subtraktion
Web Site
Prozess <Physik>
Hausdorff-Dimension
Computeranimation
Eins
Deskriptive Statistik
Bildschirmmaske
Informationsmodellierung
Datentyp
Lineares Funktional
Spider <Programm>
Datenhaltung
Güte der Anpassung
Datenmodell
Abfrage
Web Site
Paarvergleich
Natürliche Sprache
Quadratzahl
Menge
Twitter <Softwareplattform>
Zahlenbereich
Mereologie
Projektive Ebene
Wort <Informatik>
Information
Spider <Programm>
Term
Standardabweichung
Bildschirmmaske
Datenmanagement
Twitter <Softwareplattform>
sinc-Funktion
Twitter <Softwareplattform>
Computeranimation
Datenmanagement
Virtuelle Realität
Datenhaltung
Abfrage
Projektive Ebene
Ereignishorizont
Computeranimation
Metropolitan area network
Subtraktion
Web Site
Gewichtete Summe
Nabel <Mathematik>
Momentenproblem
Mathematisierung
Besprechung/Interview
Versionsverwaltung
Formale Grammatik
Kombinatorische Gruppentheorie
Term
Eins
Informationsmodellierung
Bildschirmmaske
Datenmanagement
Algorithmus
Prozess <Informatik>
Stichprobenumfang
Elastische Deformation
Benchmark
Analysis
Suite <Programmpaket>
Lineares Funktional
Materialisation <Physik>
Freier Ladungsträger
sinc-Funktion
Ähnlichkeitsgeometrie
Quellcode
Paarvergleich
Quick-Sort
Rechenschieber
Teilmenge
Scheduling
Twitter <Softwareplattform>
Offene Menge
Mereologie
Projektive Ebene
Wort <Informatik>
Information
Programmierumgebung
Klon <Mathematik>
COM
Beweistheorie
Computeranimation

Metadaten

Formale Metadaten

Titel How we Used NLP and Django to Build a Movie Suggestion Website & Twitterbot
Serientitel DjangoCon US 2016
Teil 03
Anzahl der Teile 52
Autor Salvino, Vince
Lizenz CC-Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported:
Sie dürfen das Werk bzw. den Inhalt zu jedem legalen und nicht-kommerziellen Zweck nutzen, verändern und in unveränderter oder veränderter Form vervielfältigen, verbreiten und öffentlich zugänglich machen, sofern Sie den Namen des Autors/Rechteinhabers in der von ihm festgelegten Weise nennen und das Werk bzw. diesen Inhalt auch in veränderter Form nur unter den Bedingungen dieser Lizenz weitergeben.
DOI 10.5446/32701
Herausgeber DjangoCon US
Erscheinungsjahr 2016
Sprache Englisch

Inhaltliche Metadaten

Fachgebiet Informatik
Abstract The Cleveland International Film Festival (CIFF) is a two-week long event featuring hundreds of foreign, independent, and new films making their debut on the silver screen. For anyone less than a film buff, choosing a movie to watch at the film fest is a hard choice: there are no reviews, no IMDb info, and no Netflix/Hulu suggestions. Yes, it’s truly byzantine in that one must actually read all the movie descriptions to decide which one to watch. With a handful of Python libraries, and 2 days, we developers at CodeRed built a movie recommendation engine for the CIFF. This talk outlines each step we took to build the recommendation engine, website, and twitterbot all centered around a Django project. Overall, this talk offers a complete look at the various parts and pieces that go into building a feature-full Django site, as well as exposure to doing entry-level Artificial Intelligence in Python.

Ähnliche Filme

Loading...