This document summarizes a presentation on unsupervised and supervised machine learning techniques for automated content analysis. It recaps types of automated content analysis, describes unsupervised techniques like principal component analysis (PCA) and latent Dirichlet allocation (LDA), and supervised machine learning techniques like regression. It provides examples of applying these techniques to cluster Facebook messages and predict newspaper reading. The document concludes by noting the presenter will use a portion of labeled data to estimate models and check predictions against the remaining labeled data.
Slides for the sixth meeting of the course 'Big Data and Automated Content Analysis' at the Department of Communication Science, University of Amsterdam
Slides for the first meeting of the course 'Big Data and Automated Content Analysis' at the Department of Communication Science, University of Amsterdam
Slides for the second meeting of the course 'Big Data and Automated Content Analysis' at the Department of Communication Science, University of Amsterdam
Slides for the first meeting of the course 'Big Data and Automated Content Analysis' at the Department of Communication Science, University of Amsterdam
Slides for the sixth meeting of the course 'Big Data and Automated Content Analysis' at the Department of Communication Science, University of Amsterdam
Slides for the first meeting of the course 'Big Data and Automated Content Analysis' at the Department of Communication Science, University of Amsterdam
Slides for the second meeting of the course 'Big Data and Automated Content Analysis' at the Department of Communication Science, University of Amsterdam
Slides for the first meeting of the course 'Big Data and Automated Content Analysis' at the Department of Communication Science, University of Amsterdam
Slides for the course Big Data and Automated Content Analysis, in which students of the social sciences (communication science) learn how to conduct analyses using Python.
Slides for the course Big Data and Automated Content Analysis, in which students of the social sciences (communication science) learn how to conduct analyses using Python. Third meeting.
Slides for the course Big Data and Automated Content Analysis, in which students of the social sciences (communication science) learn how to conduct analyses using Python. First Meeting.
Slides for the course Big Data and Automated Content Analysis, in which students of the social sciences (communication science) learn how to conduct analyses using Python. Fourth meeting.
Slides for the course Big Data and Automated Content Analysis, in which students of the social sciences (communication science) learn how to conduct analyses using Python.
The Web of Data: do we actually understand what we built?Frank van Harmelen
Despite its obvious success (largest knowledge base ever built, used in practice by companies and governments alike), we actually understand very little of the structure of the Web of Data. Its formal meaning is specified in logic, but with its scale, context dependency and dynamics, the Web of Data has outgrown its traditional model-theoretic semantics.
Is the meaning of a logical statement (an edge in the graph) dependent on the cluster ("context") in which it appears? Does a more densely connected concept (node) contain more information? Is the path length between two nodes related to their semantic distance?
Properties such as clustering, connectivity and path length are not described, much less explained by model-theoretic semantics. Do such properties contribute to the meaning of a knowledge graph?
To properly understand the structure and meaning of knowledge graphs, we should no longer treat knowledge graphs as (only) a set of logical statements, but treat them properly as a graph. But how to do this is far from clear.
In this talk, I report on some of our early results on some of these questions, but I ask many more questions for which we don't have answers yet.
Slides for the course Big Data and Automated Content Analysis, in which students of the social sciences (communication science) learn how to conduct analyses using Python.
Slides for the course Big Data and Automated Content Analysis, in which students of the social sciences (communication science) learn how to conduct analyses using Python. Third meeting.
Slides for the course Big Data and Automated Content Analysis, in which students of the social sciences (communication science) learn how to conduct analyses using Python. First Meeting.
Slides for the course Big Data and Automated Content Analysis, in which students of the social sciences (communication science) learn how to conduct analyses using Python. Fourth meeting.
Slides for the course Big Data and Automated Content Analysis, in which students of the social sciences (communication science) learn how to conduct analyses using Python.
The Web of Data: do we actually understand what we built?Frank van Harmelen
Despite its obvious success (largest knowledge base ever built, used in practice by companies and governments alike), we actually understand very little of the structure of the Web of Data. Its formal meaning is specified in logic, but with its scale, context dependency and dynamics, the Web of Data has outgrown its traditional model-theoretic semantics.
Is the meaning of a logical statement (an edge in the graph) dependent on the cluster ("context") in which it appears? Does a more densely connected concept (node) contain more information? Is the path length between two nodes related to their semantic distance?
Properties such as clustering, connectivity and path length are not described, much less explained by model-theoretic semantics. Do such properties contribute to the meaning of a knowledge graph?
To properly understand the structure and meaning of knowledge graphs, we should no longer treat knowledge graphs as (only) a set of logical statements, but treat them properly as a graph. But how to do this is far from clear.
In this talk, I report on some of our early results on some of these questions, but I ask many more questions for which we don't have answers yet.
Automated Classification and Quantification of Verbatims via Machine...Fabrizio Sebastiani
Keynote delivered at the 2013 Conference of the Association for Survey Computing, about automatically classifying open-ended answers and about quantifying their distribution across the codes of interest
Slides for the course Big Data and Automated Content Analysis, in which students of the social sciences (communication science) learn how to conduct analyses using Python.
Slides for the course Big Data and Automated Content Analysis, in which students of the social sciences (communication science) learn how to conduct analyses using Python.
If you’re learning data science, you’re probably on the lookout for cool data science projects. Look no further! We have a wide variety of guided projects that’ll get you working with real data in real-world scenarios while also helping you learn and apply new data science skills.
The projects in the list below are also designed to help you get a job! Each project was designed by a data scientist on our content team, and they’re representative examples of the real projects working data analysts and data scientists do every day. They’re designed to guide you through the process while also challenging your skills, and they’re open-ended so that you can put your own twist on each project and use it for your data science portfolio.
You can complete each project right in your browser, or you can download the data set to your computer and work locally! If you work on our site, you’ll also be able to download your code at any time so that you can continue locally, or upload your project to GitHub.
The sky is the limit here and what you decide to look into further is completely up to you and your imagination!
1. Learning by Doing
Learning by doing refers to a theory of education expounded by American philosopher John Dewey. It is a hands-on approach to learning, meaning students must interact with their environment in order to adapt and learn. This way of learning sharpen your current skills and knowledge and also helps in gaining new skills that could only be acquired by doing.
Car driving is a perfect example of this, you can read as much as you would like about the theory of driving and the rules, and this is very important, and the more you understand the theory the better you get in the practical part. But you will only be able to drive better by applying this knowledge on the real road. In addition to that, there are some skills and knowledge that will be only gained by actually driving.
Data science is the same as driving. It is very important to have solid theoretical knowledge and to regularly increase them to be able to get better while working on a project. However, you should always apply this theoretical knowledge to projects. By this, you will deepen your understanding of these concepts and Knowledge, have a better point of view of how they work in a real-life, and will also show others that you have strong theoretical knowledge and are able to put them into practice.
There are different types of guided projects. One of them is a guided project for
There are a lot of benefits for it:
It removes the barriers between you and doing projects
Saves you much time thinking about the project and preparing the data.
It allows you to apply the theoretical knowledge without getting distracted by obstacles.
Practical tips that can save your effort and time in the future.
#datasciencefree
#rohitdubey
#teachtechtoe
#linkedin.com/in/therohitdubey
Modern Oracle DBAs have spent years acquiring extremely valuable skills, even while facing increased responsibility for growing numbers of diverse multi-version databases, demands to transition to public cloud computing Infrastructure, and a never-ending drumbeat for upskilling and relevance in our industry. It’s the perfect time to consider a transition in your career by leveraging your expertise with the Oracle database in a new role as a Data Engineer (DE).
Big Data & Machine Learning - TDC2013 Sao PauloOCTO Technology
BigData and Machine Learning: Usage and Opportunities for your IT department
Talk presented at The Developer Conference in São Paulo - 12/0713
Mathieu DESPRIEE
How to Feed a Data Hungry Organization – by Traveloka Data TeamTraveloka
In Traveloka's Inaugural Data Meetup held in April 2017, Ainun Najib (Head of Data), Dr. Philip Thomas (Lead Data Scientist), and Rendy B. Junior (Lead Data Engineer) shared about the journey that Traveloka's Data Team have taken so far so that the audience can learn from the struggles and triumphs in managing Traveloka's burgeoning data.
You will learn more about:
1) Data culture in Traveloka
2) Data engineering in Traveloka
3) Data science in Traveloka
To follow our LinkedIn page, visit bit.ly/TravelokaLinkedInPage
Safe Harbor Statement
Our discussion may include predictions, estimates or other information that might be considered conclusive. While these conclusive statements represent our current judgment on the best practices, they are subject to risks and uncertainties that could cause actual results to differ materially. You are cautioned not to place undue reliance on our statements, which reflect our opinions only as of the date of this presentation. Please keep in mind that we are not obligating ourselves to revise or publicly release the results of any revision to these presentation materials in light of new information or future events.
Slides for the first meeting of the course 'Big Data and Automated Content Analysis' at the Department of Communication Science, University of Amsterdam
Slides for the first meeting of the course 'Big Data and Automated Content Analysis' at the Department of Communication Science, University of Amsterdam
Instructions for Submissions thorugh G- Classroom.pptxJheel Barad
This presentation provides a briefing on how to upload submissions and documents in Google Classroom. It was prepared as part of an orientation for new Sainik School in-service teacher trainees. As a training officer, my goal is to ensure that you are comfortable and proficient with this essential tool for managing assignments and fostering student engagement.
Embracing GenAI - A Strategic ImperativePeter Windle
Artificial Intelligence (AI) technologies such as Generative AI, Image Generators and Large Language Models have had a dramatic impact on teaching, learning and assessment over the past 18 months. The most immediate threat AI posed was to Academic Integrity with Higher Education Institutes (HEIs) focusing their efforts on combating the use of GenAI in assessment. Guidelines were developed for staff and students, policies put in place too. Innovative educators have forged paths in the use of Generative AI for teaching, learning and assessments leading to pockets of transformation springing up across HEIs, often with little or no top-down guidance, support or direction.
This Gasta posits a strategic approach to integrating AI into HEIs to prepare staff, students and the curriculum for an evolving world and workplace. We will highlight the advantages of working with these technologies beyond the realm of teaching, learning and assessment by considering prompt engineering skills, industry impact, curriculum changes, and the need for staff upskilling. In contrast, not engaging strategically with Generative AI poses risks, including falling behind peers, missed opportunities and failing to ensure our graduates remain employable. The rapid evolution of AI technologies necessitates a proactive and strategic approach if we are to remain relevant.
How to Make a Field invisible in Odoo 17Celine George
It is possible to hide or invisible some fields in odoo. Commonly using “invisible” attribute in the field definition to invisible the fields. This slide will show how to make a field invisible in odoo 17.
Honest Reviews of Tim Han LMA Course Program.pptxtimhan337
Personal development courses are widely available today, with each one promising life-changing outcomes. Tim Han’s Life Mastery Achievers (LMA) Course has drawn a lot of interest. In addition to offering my frank assessment of Success Insider’s LMA Course, this piece examines the course’s effects via a variety of Tim Han LMA course reviews and Success Insider comments.
Introduction to AI for Nonprofits with Tapp NetworkTechSoup
Dive into the world of AI! Experts Jon Hill and Tareq Monaur will guide you through AI's role in enhancing nonprofit websites and basic marketing strategies, making it easy to understand and apply.
1. Recap Unsupervised Machine Learning Supervised Machine Learning Next meetings
Big Data and Automated Content Analysis
Week 7 – Monday
»Machine Learning«
Damian Trilling
d.c.trilling@uva.nl
@damian0604
www.damiantrilling.net
Afdeling Communicatiewetenschap
Universiteit van Amsterdam
20 March 2017
Big Data and Automated Content Analysis Damian Trilling
2. Recap Unsupervised Machine Learning Supervised Machine Learning Next meetings
Today
1 Recap: Types of Automated Content Analysis
2 Unsupervised Machine Learning
PCA
LDA
3 Supervised Machine Learning
You have done it before!
Applications
An implementation
4 Next meetings
Big Data and Automated Content Analysis Damian Trilling
3. Recap Unsupervised Machine Learning Supervised Machine Learning Next meetings
Recap: Types of Automated Content Analysis
Big Data and Automated Content Analysis Damian Trilling
4. Methodological approach
deductive inductive
Typical research interests
and content features
Common statistical
procedures
visibility analysis
sentiment analysis
subjectivity analysis
Counting and
Dictionary
Supervised
Machine Learning
Unsupervised
Machine Learning
frames
topics
gender bias
frames
topics
string comparisons
counting
support vector machines
naive Bayes
principal component analysis
cluster analysis
latent dirichlet allocation
semantic network analysis
5. Recap Unsupervised Machine Learning Supervised Machine Learning Next meetings
Top-down vs. bottom-up
Some terminology
Supervised machine learning
You have a dataset with both
predictor and outcome
(independent and dependent
variables; features and labels) —
a labeled dataset.
Big Data and Automated Content Analysis Damian Trilling
6. Recap Unsupervised Machine Learning Supervised Machine Learning Next meetings
Top-down vs. bottom-up
Some terminology
Supervised machine learning
You have a dataset with both
predictor and outcome
(independent and dependent
variables; features and labels) —
a labeled dataset. Think of
regression: You measured x1, x2, x3
and you want to predict y, which you
also measured
Big Data and Automated Content Analysis Damian Trilling
7. Recap Unsupervised Machine Learning Supervised Machine Learning Next meetings
Top-down vs. bottom-up
Some terminology
Supervised machine learning
You have a dataset with both
predictor and outcome
(independent and dependent
variables; features and labels) —
a labeled dataset.
Unsupervised machine learning
You have no labels.
Big Data and Automated Content Analysis Damian Trilling
8. Recap Unsupervised Machine Learning Supervised Machine Learning Next meetings
Top-down vs. bottom-up
Some terminology
Supervised machine learning
You have a dataset with both
predictor and outcome
(independent and dependent
variables; features and labels) —
a labeled dataset.
Unsupervised machine learning
You have no labels. (You did not
measure y)
Big Data and Automated Content Analysis Damian Trilling
9. Recap Unsupervised Machine Learning Supervised Machine Learning Next meetings
Top-down vs. bottom-up
Some terminology
Unsupervised machine learning
You have no labels.
Again, you already know some
techniques to find out how x1,
x2,. . . x_i co-occur from other
courses:
• Principal Component Analysis
(PCA)
• Cluster analysis
• . . .
Big Data and Automated Content Analysis Damian Trilling
12. Recap Unsupervised Machine Learning Supervised Machine Learning Next meetings
PCA
Principal Component Analysis? How does that fit in here?
Big Data and Automated Content Analysis Damian Trilling
13. Recap Unsupervised Machine Learning Supervised Machine Learning Next meetings
PCA
Principal Component Analysis? How does that fit in here?
In fact, PCA is used everywhere, even in image compression
Big Data and Automated Content Analysis Damian Trilling
14. Recap Unsupervised Machine Learning Supervised Machine Learning Next meetings
PCA
Principal Component Analysis? How does that fit in here?
PCA in ACA
• Find out what word cooccur (inductive frame analysis)
• Basically, transform each document in a vector of word
frequencies and do a PCA
Big Data and Automated Content Analysis Damian Trilling
16. Recap Unsupervised Machine Learning Supervised Machine Learning Next meetings
PCA
A so-called term-document-matrix
1 w1,w2,w3,w4,w5,w6 ...
2 text1, 2, 0, 0, 1, 2, 3 ...
3 text2, 0, 0, 1, 2, 3, 4 ...
4 text3, 9, 0, 1, 1, 0, 0 ...
5 ...
These can be simple counts, but also more advanced metrics, like
tf-idf scores (where you weigh the frequency by the number of
documents in which it occurs), cosine distances, etc.
Big Data and Automated Content Analysis Damian Trilling
17. Recap Unsupervised Machine Learning Supervised Machine Learning Next meetings
PCA
PCA: implications and problems
• given a term-document matrix, easy to do with any tool
• probably extremely skewed distributions
• some problematic assumptions: does the goal of PCA, to find
a solution in which one word loads on one component match
real life, where a word can belong to several topics or frames?
Big Data and Automated Content Analysis Damian Trilling
18. Recap Unsupervised Machine Learning Supervised Machine Learning Next meetings
LDA
Enter topic modeling with Latent Dirichlet Allocation (LDA)
Big Data and Automated Content Analysis Damian Trilling
19. Recap Unsupervised Machine Learning Supervised Machine Learning Next meetings
LDA
LDA, what’s that?
No mathematical details here, but the general idea
• There are k topics, T1. . . Tk
• Each document Di consists of a mixture of these topics,
e.g.80%T1, 15%T2, 0%T3, . . . 5%Tk
• On the next level, each topic consists of a specific probability
distribution of words
• Thus, based on the frequencies of words in Di , one can infer
its distribution of topics
• Note that LDA (like PCA) is a Bag-of-Words (BOW)
approach
Big Data and Automated Content Analysis Damian Trilling
20. Recap Unsupervised Machine Learning Supervised Machine Learning Next meetings
LDA
Doing a LDA in Python
You can use gensim (Řehůřek & Sojka, 2010) for this.
Let us assume you have a list of lists of words (!) called texts:
1 articles=[’The tax deficit is higher than expected. This said xxx ...’,
’Germany won the World Cup. After a’]
2 texts=[art.split() for art in articles]
which looks like this:
1 [[’The’, ’tax’, ’deficit’, ’is’, ’higher’, ’than’, ’expected.’, ’This’,
’said’, ’xxx’, ’...’], [’Germany’, ’won’, ’the’, ’World’, ’Cup.’, ’
After’, ’a’]]
Řehůřek, R., & Sojka, P. (2010). Software framework for topic modelling with large corpora. Proceedings of the
LREC 2010 Workshop on New Challenges for NLP Frameworks, pp. 45–50. Valletta, Malta: ELRA.
Big Data and Automated Content Analysis Damian Trilling
21. 1 from gensim import corpora, models
2
3 NTOPICS = 100
4 LDAOUTPUTFILE="topicscores.tsv"
5
6 # Create a BOW represenation of the texts
7 id2word = corpora.Dictionary(texts)
8 mm =[id2word.doc2bow(text) for text in texts]
9
10 # Train the LDA models.
11 lda = models.ldamodel.LdaModel(corpus=mm, id2word=id2word, num_topics=
NTOPICS, alpha="auto")
12
13 # Print the topics.
14 for top in lda.print_topics(num_topics=NTOPICS, num_words=5):
15 print ("n",top)
16
17 print ("nFor further analysis, a dataset with the topic score for each
document is saved to",LDAOUTPUTFILE)
18
19 scoresperdoc=lda.inference(mm)
20
21 with open(LDAOUTPUTFILE,"w",encoding="utf-8") as fo:
22 for row in scoresperdoc[0]:
23 fo.write("t".join(["{:0.3f}".format(score) for score in row]))
24 fo.write("n")
26. predefined categories, but no predefined rules:
supervised machine learning
(something you aready did in your Bachelor – no kidding.)
27. Recap Unsupervised Machine Learning Supervised Machine Learning Next meetings
Recap: supervised vs. unsupervised
Unsupervised
• No manually coded data
• We want to identify patterns
or to make groups of most
similar cases
Big Data and Automated Content Analysis Damian Trilling
28. Recap Unsupervised Machine Learning Supervised Machine Learning Next meetings
Recap: supervised vs. unsupervised
Unsupervised
• No manually coded data
• We want to identify patterns
or to make groups of most
similar cases
Example: We have a dataset of
Facebook-massages on an
organizations’ page. We use clustering
to group them and later interpret these
clusters (e.g., as complaints, questions,
praise, . . . )
Big Data and Automated Content Analysis Damian Trilling
29. Recap Unsupervised Machine Learning Supervised Machine Learning Next meetings
Recap: supervised vs. unsupervised
Unsupervised
• No manually coded data
• We want to identify patterns
or to make groups of most
similar cases
Example: We have a dataset of
Facebook-massages on an
organizations’ page. We use clustering
to group them and later interpret these
clusters (e.g., as complaints, questions,
praise, . . . )
Supervised
• We code a small dataset by
hand and use it to “train” a
machine
• The machine codes the rest
Big Data and Automated Content Analysis Damian Trilling
30. Recap Unsupervised Machine Learning Supervised Machine Learning Next meetings
Recap: supervised vs. unsupervised
Unsupervised
• No manually coded data
• We want to identify patterns
or to make groups of most
similar cases
Example: We have a dataset of
Facebook-massages on an
organizations’ page. We use clustering
to group them and later interpret these
clusters (e.g., as complaints, questions,
praise, . . . )
Supervised
• We code a small dataset by
hand and use it to “train” a
machine
• The machine codes the rest
Example: We have 2,000 of these
messages grouped into such categories
by human coders. We then use this
data to group all remaining messages
as well.
Big Data and Automated Content Analysis Damian Trilling
31. Recap Unsupervised Machine Learning Supervised Machine Learning Next meetings
You have done it before!
You have done it before!
Big Data and Automated Content Analysis Damian Trilling
32. Recap Unsupervised Machine Learning Supervised Machine Learning Next meetings
You have done it before!
You have done it before!
Regression
Big Data and Automated Content Analysis Damian Trilling
33. Recap Unsupervised Machine Learning Supervised Machine Learning Next meetings
You have done it before!
You have done it before!
Regression
1 Based on your data, you estimate some regression equation
yi = α + β1xi1 + · · · + βpxip + εi
Big Data and Automated Content Analysis Damian Trilling
34. Recap Unsupervised Machine Learning Supervised Machine Learning Next meetings
You have done it before!
You have done it before!
Regression
1 Based on your data, you estimate some regression equation
yi = α + β1xi1 + · · · + βpxip + εi
2 Even if you have some new unseen data, you can estimate
your expected outcome ˆy!
Big Data and Automated Content Analysis Damian Trilling
35. Recap Unsupervised Machine Learning Supervised Machine Learning Next meetings
You have done it before!
You have done it before!
Regression
1 Based on your data, you estimate some regression equation
yi = α + β1xi1 + · · · + βpxip + εi
2 Even if you have some new unseen data, you can estimate
your expected outcome ˆy!
3 Example: You estimated a regression equation where y is
newspaper reading in days/week:
y = −.8 + .4 × man + .08 × age
Big Data and Automated Content Analysis Damian Trilling
36. Recap Unsupervised Machine Learning Supervised Machine Learning Next meetings
You have done it before!
You have done it before!
Regression
1 Based on your data, you estimate some regression equation
yi = α + β1xi1 + · · · + βpxip + εi
2 Even if you have some new unseen data, you can estimate
your expected outcome ˆy!
3 Example: You estimated a regression equation where y is
newspaper reading in days/week:
y = −.8 + .4 × man + .08 × age
4 You could now calculate ˆy for a man of 20 years and a woman
of 40 years – even if no such person exists in your dataset:
ˆyman20 = −.8 + .4 × 1 + .08 × 20 = 1.2
ˆywoman40 = −.8 + .4 × 0 + .08 × 40 = 2.4
Big Data and Automated Content Analysis Damian Trilling
37. Recap Unsupervised Machine Learning Supervised Machine Learning Next meetings
You have done it before!
This is
Supervised Machine Learning!
Big Data and Automated Content Analysis Damian Trilling
38. Recap Unsupervised Machine Learning Supervised Machine Learning Next meetings
You have done it before!
. . . but. . .
• We will only use half (or another fraction) of our data to estimate the
model, so that we can use the other half to check if our
predictions match the manual coding (“labeled
data”,“annotated data” in SML-lingo)
Big Data and Automated Content Analysis Damian Trilling
39. Recap Unsupervised Machine Learning Supervised Machine Learning Next meetings
You have done it before!
. . . but. . .
• We will only use half (or another fraction) of our data to estimate the
model, so that we can use the other half to check if our
predictions match the manual coding (“labeled
data”,“annotated data” in SML-lingo)
• e.g., 2000 labeled cases, 1000 for training, 1000 for testing —
if successful, run on 100,000 unlabeled cases
Big Data and Automated Content Analysis Damian Trilling
40. Recap Unsupervised Machine Learning Supervised Machine Learning Next meetings
You have done it before!
. . . but. . .
• We will only use half (or another fraction) of our data to estimate the
model, so that we can use the other half to check if our
predictions match the manual coding (“labeled
data”,“annotated data” in SML-lingo)
• e.g., 2000 labeled cases, 1000 for training, 1000 for testing —
if successful, run on 100,000 unlabeled cases
• We use many more independent variables (“features”)
Big Data and Automated Content Analysis Damian Trilling
41. Recap Unsupervised Machine Learning Supervised Machine Learning Next meetings
You have done it before!
. . . but. . .
• We will only use half (or another fraction) of our data to estimate the
model, so that we can use the other half to check if our
predictions match the manual coding (“labeled
data”,“annotated data” in SML-lingo)
• e.g., 2000 labeled cases, 1000 for training, 1000 for testing —
if successful, run on 100,000 unlabeled cases
• We use many more independent variables (“features”)
• Typically, IVs are word frequencies (often weighted, e.g.
tf×idf) (⇒BOW-representation)
Big Data and Automated Content Analysis Damian Trilling
42. Recap Unsupervised Machine Learning Supervised Machine Learning Next meetings
Applications
Applications
Big Data and Automated Content Analysis Damian Trilling
43. Recap Unsupervised Machine Learning Supervised Machine Learning Next meetings
Applications
Applications
In other fields
A lot of different applications
• from recognizing hand-written characters to recommendation
systems
Big Data and Automated Content Analysis Damian Trilling
44. Recap Unsupervised Machine Learning Supervised Machine Learning Next meetings
Applications
Applications
In other fields
A lot of different applications
• from recognizing hand-written characters to recommendation
systems
In our field
It starts to get popular to measure latent variables
• frames
• topics
Big Data and Automated Content Analysis Damian Trilling
45. Recap Unsupervised Machine Learning Supervised Machine Learning Next meetings
Applications
SML to code frames and topics
Some work by Burscher and colleagues
• Humans can code generic frames (human-interest, economic,
. . . )
• Humans can code topics from a pre-defined list
Big Data and Automated Content Analysis Damian Trilling
46. Recap Unsupervised Machine Learning Supervised Machine Learning Next meetings
Applications
SML to code frames and topics
Some work by Burscher and colleagues
• Humans can code generic frames (human-interest, economic,
. . . )
• Humans can code topics from a pre-defined list
• But it is very hard to formulate an explicit rule
(as in: code as ’Human Interest’ if regular expression R is
matched)
Big Data and Automated Content Analysis Damian Trilling
47. Recap Unsupervised Machine Learning Supervised Machine Learning Next meetings
Applications
SML to code frames and topics
Some work by Burscher and colleagues
• Humans can code generic frames (human-interest, economic,
. . . )
• Humans can code topics from a pre-defined list
• But it is very hard to formulate an explicit rule
(as in: code as ’Human Interest’ if regular expression R is
matched)
⇒ This is where you need supervised machine learning!
Burscher, B., Odijk, D., Vliegenthart, R., De Rijke, M., & De Vreese, C. H. (2014). Teaching the computer to
code frames in news: Comparing two supervised machine learning approaches to frame analysis. Communication
Methods and Measures, 8(3), 190–206. doi:10.1080/19312458.2014.937527
Burscher, B., Vliegenthart, R., & De Vreese, C. H. (2015). Using supervised machine learning to code policy issues:
Can classifiers generalize across contexts? Annals of the American Academy of Political and Social Science, 659(1),
122–131.
Big Data and Automated Content Analysis Damian Trilling
52. Recap Unsupervised Machine Learning Supervised Machine Learning Next meetings
Applications
What does this mean for our research?
Big Data and Automated Content Analysis Damian Trilling
53. Recap Unsupervised Machine Learning Supervised Machine Learning Next meetings
Applications
What does this mean for our research?
It we have 2,000 documents with manually coded frames and
topics. . .
• we can use them to train a SML classifier
• which can code an unlimited number of new documents
• with an acceptable accuracy
Some easier tasks even need only 500 training documents, see Hopkins, D. J., & King, G. (2010). A method of
automated nonparametric content analysis for social science. American Journal of Political Science, 54(1), 229–247.
Big Data and Automated Content Analysis Damian Trilling
54. Recap Unsupervised Machine Learning Supervised Machine Learning Next meetings
An implementation
An implementation
Let’s say we have a list of tuples with movie reviews and their
rating:
1 reviews=[("This is a great movie",1),("Bad movie",-1), ... ...]
And a second list with an identical structure:
1 test=[("Not that good",-1),("Nice film",1), ... ...]
Both are drawn from the same population, it is pure chance
whether a specific review is on the one list or the other.
Based on an example from http://blog.dataquest.io/blog/naive-bayes-movies/
Big Data and Automated Content Analysis Damian Trilling
55. Recap Unsupervised Machine Learning Supervised Machine Learning Next meetings
An implementation
Training a A Naïve Bayes Classifier
1 from sklearn.naive_bayes import MultinomialNB
2 from sklearn.feature_extraction.text import CountVectorizer
3 from sklearn import metrics
4
5 # This is just an efficient way of computing word counts
6 vectorizer = CountVectorizer(stop_words=’english’)
7 train_features = vectorizer.fit_transform([r[0] for r in reviews])
8 test_features = vectorizer.transform([r[0] for r in test])
9
10 # Fit a naive bayes model to the training data.
11 nb = MultinomialNB()
12 nb.fit(train_features, [r[1] for r in reviews])
13
14 # Now we can use the model to predict classifications for our test
features.
15 predictions = nb.predict(test_features)
16 actual=[r[1] for r in test]
17
18 # Compute the error.
19 fpr, tpr, thresholds = metrics.roc_curve(actual, predictions, pos_label
=1)
20 print("Multinomal naive bayes AUC: {0}".format(metrics.auc(fpr, tpr)))
Big Data and Automated Content Analysis Damian Trilling
56. Recap Unsupervised Machine Learning Supervised Machine Learning Next meetings
An implementation
And it works!
Using 50,000 IMDB movies that are classified as either negative or
positive,
• I created a list with 25,000 training tuples and another one
with 25,000 test tuples and
• trained a classifier
• that achieved an AUC of .82.
Dataset obtained from http://ai.stanford.edu/~amaas/data/sentiment, Maas, A.L., Daly, R.E., Pham, P.T.,
Huang, D., Ng, A.Y., & Potts, C. (2011). Learning word vectors for sentiment analysis. 49th Annual Meeting of
the Association for Computational Linguistics (ACL 2011)
Big Data and Automated Content Analysis Damian Trilling
57. Recap Unsupervised Machine Learning Supervised Machine Learning Next meetings
An implementation
Playing around with new data
1 newdata=vectorizer.transform(["What a crappy movie! It sucks!", "This is
awsome. I liked this movie a lot, fantastic actors","I would not
recomment it to anyone.", "Enjoyed it a lot"])
2 predictions = nb.predict(newdata)
3 print(predictions)
This returns, as you would expect and hope:
1 [-1 1 -1 1]
Big Data and Automated Content Analysis Damian Trilling
58. Recap Unsupervised Machine Learning Supervised Machine Learning Next meetings
An implementation
But we can do even better
We can use different vectorizers and different classifiers.
Big Data and Automated Content Analysis Damian Trilling
59. Recap Unsupervised Machine Learning Supervised Machine Learning Next meetings
An implementation
Different vectorizers
• CountVectorizer (=simple word counts)
• TfidfVectorizer (word counts (“term frequency”) weighted by
number of documents in which the word occurs at all
(“inverse document frequency”))
• additional options: stopwords, thresholds for minimum
frequencies etc.
Big Data and Automated Content Analysis Damian Trilling
60. Recap Unsupervised Machine Learning Supervised Machine Learning Next meetings
An implementation
Different classifiers
• Naïve Bayes
• Logistic Regression
• Support Vector Machine (SVM)
• . . .
Typical approach: Find out which setup performs best (see
example source code in the book).
Big Data and Automated Content Analysis Damian Trilling
61. Recap Unsupervised Machine Learning Supervised Machine Learning Next meetings
Next (last. . . ) meetings
Wednesday
Playing around with machine learning! Choose what you find
interesting (SML or LDA).
Monday: Guest lectures
• Joanna Strycharz: From research questions to analysis:
Integration of data collection, preparation and statystical tests
in Python
• Marthe Möller: Automated content analyses in entertainment
communication: A YouTube study
Wednesday
Final chance for questions regarding final project
Big Data and Automated Content Analysis Damian Trilling