SlideShare una empresa de Scribd logo
1 de 65
Winter 2015 Session #1:
Exploring Programming in Digital
Scholarship
February 12, 2015
Paige Morgan
Sherman Centre for Digital Scholarship
Programming is complex
enough that just figuring
out what you want to do
and what sort of language
you need is work.
Thinking that you ought to be able
to do everything almost
immediately is a recipe for feeling
terrible.
Photo by MK Fautoyére, via Flickr
There will always be new
programs and platforms
that you will want to
experiment with.
Working with technology
means periodically starting
from scratch -- a bit like
working with a new time
period or culture; or figuring
out how to teach a new
class.
Being able to effectively
communicate about your
project as it relates to
programming is a skill in
itself.
What can programming
languages do?
Programming languages
can...• search for things
• match things
• read things
• write things
• receive information, and give it
back, changed or unchanged
• count things
• do math
• arrange things in quantitative or
random order
• respond: if x, do y OR do x until
y happens
• compare things for similarity
• go to a file at a location, and
retrieve readable text
• display things according to
instructions that you provide
• draw points, lines, and shapes
They can also do many or
all of these things in
combination.
Example #1
• find all the statements in quotes ("") from a
novel.
• count how many words are in each statement
• put the statements in order from smallest
amount of words to largest
• write all the statements from the novel in a
text file
Example #2
• allow a user to type in some information, i.e.,
"Benedict Cumberbatch"
• compare “Benedict Cumberbatch” to a much
larger file
• retrieve any data that matches the
information
• print the retrieved information on screen
Example #3
• "read" two texts -- say, two plays by Seneca
• search for any words that the two plays have in
common
• print the words that they have in common on
screen
• calculate what percentage of the words in each
play are shared
• print that percentage onscreen
Example #4
• if the user is located in geographic
location Z, i.e., 45th and University, go
to an online address and retrieve some
text
• print that text on the user’s tablet
screen
• receive input from the user and respond
However...
• In Example #1, the computer is focusing on
things that characters say. But what if you want
to isolate speeches from just one character?
• In Example 2, how does the computer know
how much text to print? Will it just print
"Benedict Cumberbatch" 379 times, because
that's how often it appears in the larger file?
These are the areas of
programming where
critical thinking and
specialized disciplinary
knowledge become vital.
The Difference
• Humans are good at differentiating
between material in complex and
sophisticated ways.
• Computers are good at not
differentiating between material unless
they’ve been specifically instructed to
do so.
Computers work with
data.
You work with data, too --
but you may have to do
extra work to make your
data readable by
computer.
Ways to make your data
machine-readable• Annotate it with markup language
• Organize it in patterns that the
computer can understand
• Add metadata that is not explicitly
readable in the current format (i.e.,
hardbound/softbound binding;
language:English; date of record
creation)
Depending on the data
you have, and the way
you annotate or structure
it, different things become
possible.
Your goal is to make the
data As Simple As
Possible -- but not so
simple that it stops being
useful.
Depending on the data
you work with, the work of
structuring or annotating
becomes more
challenging, but also
more useful.
The work of creating data
is social.
Many programming languages
have governing bodies that
establish standards for their
use:
• the World Wide Web (W3C)
Consortium
(http://www.w3.org/standards/)
• the TEI Technical Council
Data Examples
• Annotated (Markup Languages: HTML,
TEI)
• Structured (MySQL)
• Combination (Linked Open Data)
• Object-Oriented Programming (Java,
Python, Ruby on Rails)
Markup: HTML
<i> This text is
italic.</i>
=
This text is italic.
Markup: HTML
<a href=“http://www.dmdh.org”>
This text</a> will take you to a webpage.
=
This text will take you to a webpage.
Markup: HTML
Anything can be data -- and markup
languages provide instructions for how
computers should treat that data.
Markup: HTML
HTML is used to format text on webpages.
<p> separates text into paragraphs.
<em> makes text bold (emphasized).
These are just a few of the HTML formatting instructions
that you can use.
HTML Syntax Rules
• Open and closed tags: <> and </>
• Attributes (2nd-level information)
defined using =“”
Markup languages are
popular in digital
humanities because lots
of humanists work with
texts.
Without markup
languages, the things that
a computer can search for
are limited.
Ctrl + F: any text in iambic
pentameter.
With markup, the
things you can
search for are only
limited by your
interpretation.
Markup: TEI
TEI
(Text Encoding Initiative)
Markup: TEI
Poetry w/ TEI
<text xmlns="http://www.tei-c.org/ns/1.0" xml:id="d1">
<body xml:id="d2">
<div1 type="book" xml:id="d3">
<head>Songs of Innocence</head>
<pb n="4"/>
<div2 type="poem" xml:id="d4">
<head>Introduction</head>
<lg type="stanza">
<l>Piping down the valleys wild, </l>
<l>Piping songs of pleasant glee, </l>
<l>On a cloud I saw a child, </l>
<l>And he laughing said to me: </l>
</lg>
Grammar w/ TEI
<entry>
<form>
<orth>pamplemousse</orth>
</form>
<gramGrp>
<gram type="pos">noun</gram>
<gram
type="gen">masculine</gram>
</gramGrp>
</entry>
TEI’s syntax rules are
identical to HTML’s --
though your normal
browser can’t work with
TEI the way it works with
HTML.
TEI is meant to be a
highly social language
that anyone can use and
adapt for new purposes.
In order for TEI to
successfully encode texts,
it has to be adaptable to
individual projects.
Anything that you can isolate
(and put in brackets) can
(theoretically) be pulled out and
displayed for a reader.
TEI can be used to encode more than just text:
<div type="shot">
<view>BBC World symbol</view>
<sp>
<speaker>Voice Over</speaker>
<p>Monty Python's Flying Circus tonight comes to you live
from the Grillomat Snack Bar, Paignton.</p>
</sp>
</div>
<div type="shot">
<view>Interior of a nasty snack bar. Customers around, preferably
real people. Linkman sitting at one of the plastic tables.</view>
<sp>
<speaker>Linkman</speaker>
<p>Hello to you live from the Grillomat Snack Bar.</p>
</sp>
</div>
Or, you could encode all
Stephenie Meyer’s
Twilight according to its
emotional register.
Whether you include or
exclude some aspect of
the text in your markup
can be very important
from an academic
perspective.
The challenge of creating
good data is one reason
that collaboration is so
important to digital
scholarship.
Wise Data Collaboration
• Avoid reinventing the wheel (has
someone else already created an
effective method for working with this
data?)
• Consider the labor involved vs. the
outcome (and future use of the data you
create.)
Structured Data
Study Scenario #1
• You study urban espresso stands: their
hours, brands of coffee, whether or not
they sell pastries, and how far the
espresso stands are from major
roadways.
Study Scenario #2
• You study female characters in novels
written between 1700 and 1850.
Encoding a whole novel just to study
female characters isn’t practical for you.
Both scenarios involve
aggregating information,
rather than encoding it.
Structured Data: Example
#1
(MySQL)ID Name Location Hours Coffee Brand Pastries (Y/N) Distance from
Street
008 Java the Hut 56
Farringdon
Road,
London, UK
7:00 a.m.-
2:00 p.m.
Square Mile
Roasters
N 25 meters
009 Prufrock
Coffee
18
Shoreditch
High Street
7:00 a.m. –
10:00 p.m.
Monmouth Y 10 meters
Structured Data:
Example #2 (RDF)
Object-Oriented
Programming
• Java, Python, C++, Perl, PHP, Ruby, etc.
• Widely used, highly flexible, very powerful
What’s an “object”?
• An object is a structure that contains data in
one or more forms.
• Common forms include strings, integers, and
arrays (groups of data).
• Example (handout)
Object-oriented programming, cont’d
• Learning a bit about an OOP language can
help you become accustomed to working
with programming
• Reading OOP code can also be useful
• Many free tutorials are available
• Goal: to be able to converse more effectively
with professional programmers, rather than
become an expert yourself.
How your data is
structured will influence
the technology that you
(can) use to work with it.
Digital scholars see
creating machine-
readable data as valuable
scholarship.
Examples
• Homer Multi-Text Project
• Modernist Versions Project
• Scalar (platform)
• Century Ireland
Exercise:
You Create the Data!
Your data determines your
project.
Every project has data.
Text objects, images, tags, geographical
coordinates, categories, records, creator
metadata, etc.
Even if you’re not planning to
learn any programming skills,
you are still working with data.
Next time:
Programming on the Whiteboard
February 19th, 3:00-5:00 p.m., Sherman
Centre
• Cleaning data before you work with it!
• Identifying specific programming tasks
• How access affects your project idea
• Flash project development
• Homework: bring some data to work
with.

Más contenido relacionado

La actualidad más candente

Gadgets pwn us? A pattern language for CALL
Gadgets pwn us? A pattern language for CALLGadgets pwn us? A pattern language for CALL
Gadgets pwn us? A pattern language for CALLLawrie Hunter
 
Collaborative Ontology Building Project
Collaborative Ontology Building Project  Collaborative Ontology Building Project
Collaborative Ontology Building Project Jie Bao
 
Nautral Langauge Processing - Basics / Non Technical
Nautral Langauge Processing - Basics / Non Technical Nautral Langauge Processing - Basics / Non Technical
Nautral Langauge Processing - Basics / Non Technical Dhruv Gohil
 
Machine Learning in NLP
Machine Learning in NLPMachine Learning in NLP
Machine Learning in NLPVijay Ganti
 
Distributed Natural Language Processing Systems in Python
Distributed Natural Language Processing Systems in PythonDistributed Natural Language Processing Systems in Python
Distributed Natural Language Processing Systems in PythonClare Corthell
 
Data structures and_algorithms_in_java
Data structures and_algorithms_in_javaData structures and_algorithms_in_java
Data structures and_algorithms_in_javaPrabhu vip
 
Thomas Wolf "An Introduction to Transfer Learning and Hugging Face"
Thomas Wolf "An Introduction to Transfer Learning and Hugging Face"Thomas Wolf "An Introduction to Transfer Learning and Hugging Face"
Thomas Wolf "An Introduction to Transfer Learning and Hugging Face"Fwdays
 
UCU NLP Summer Workshops 2017 - Part 2
UCU NLP Summer Workshops 2017 - Part 2UCU NLP Summer Workshops 2017 - Part 2
UCU NLP Summer Workshops 2017 - Part 2Yuriy Guts
 
The Role of Natural Language Processing in Information Retrieval
The Role of Natural Language Processing in Information RetrievalThe Role of Natural Language Processing in Information Retrieval
The Role of Natural Language Processing in Information RetrievalTony Russell-Rose
 
OpenAI’s GPT 3 Language Model - guest Steve Omohundro
OpenAI’s GPT 3 Language Model - guest Steve OmohundroOpenAI’s GPT 3 Language Model - guest Steve Omohundro
OpenAI’s GPT 3 Language Model - guest Steve OmohundroNumenta
 
InftyReader and ChattyInfty Overview
InftyReader and ChattyInfty OverviewInftyReader and ChattyInfty Overview
InftyReader and ChattyInfty Overviewsteveapps4android
 
Natural Language Processing: L01 introduction
Natural Language Processing: L01 introductionNatural Language Processing: L01 introduction
Natural Language Processing: L01 introductionananth
 
Transfer_Learning_for_Natural_Language_P_v3_MEAP.pdf
Transfer_Learning_for_Natural_Language_P_v3_MEAP.pdfTransfer_Learning_for_Natural_Language_P_v3_MEAP.pdf
Transfer_Learning_for_Natural_Language_P_v3_MEAP.pdforanisalcani
 
Vitalii Braslavskyi - Declarative engineering
Vitalii Braslavskyi - Declarative engineering Vitalii Braslavskyi - Declarative engineering
Vitalii Braslavskyi - Declarative engineering Grammarly
 
Natural Language Processing: L02 words
Natural Language Processing: L02 wordsNatural Language Processing: L02 words
Natural Language Processing: L02 wordsananth
 
Word representation: SVD, LSA, Word2Vec
Word representation: SVD, LSA, Word2VecWord representation: SVD, LSA, Word2Vec
Word representation: SVD, LSA, Word2Vecananth
 
Lecture 1: Semantic Analysis in Language Technology
Lecture 1: Semantic Analysis in Language TechnologyLecture 1: Semantic Analysis in Language Technology
Lecture 1: Semantic Analysis in Language TechnologyMarina Santini
 
Introduction to natural language processing
Introduction to natural language processingIntroduction to natural language processing
Introduction to natural language processingMinh Pham
 

La actualidad más candente (20)

Gadgets pwn us? A pattern language for CALL
Gadgets pwn us? A pattern language for CALLGadgets pwn us? A pattern language for CALL
Gadgets pwn us? A pattern language for CALL
 
Collaborative Ontology Building Project
Collaborative Ontology Building Project  Collaborative Ontology Building Project
Collaborative Ontology Building Project
 
Nautral Langauge Processing - Basics / Non Technical
Nautral Langauge Processing - Basics / Non Technical Nautral Langauge Processing - Basics / Non Technical
Nautral Langauge Processing - Basics / Non Technical
 
Machine Learning in NLP
Machine Learning in NLPMachine Learning in NLP
Machine Learning in NLP
 
Distributed Natural Language Processing Systems in Python
Distributed Natural Language Processing Systems in PythonDistributed Natural Language Processing Systems in Python
Distributed Natural Language Processing Systems in Python
 
Data structures and_algorithms_in_java
Data structures and_algorithms_in_javaData structures and_algorithms_in_java
Data structures and_algorithms_in_java
 
Thomas Wolf "An Introduction to Transfer Learning and Hugging Face"
Thomas Wolf "An Introduction to Transfer Learning and Hugging Face"Thomas Wolf "An Introduction to Transfer Learning and Hugging Face"
Thomas Wolf "An Introduction to Transfer Learning and Hugging Face"
 
UCU NLP Summer Workshops 2017 - Part 2
UCU NLP Summer Workshops 2017 - Part 2UCU NLP Summer Workshops 2017 - Part 2
UCU NLP Summer Workshops 2017 - Part 2
 
The Role of Natural Language Processing in Information Retrieval
The Role of Natural Language Processing in Information RetrievalThe Role of Natural Language Processing in Information Retrieval
The Role of Natural Language Processing in Information Retrieval
 
OpenAI’s GPT 3 Language Model - guest Steve Omohundro
OpenAI’s GPT 3 Language Model - guest Steve OmohundroOpenAI’s GPT 3 Language Model - guest Steve Omohundro
OpenAI’s GPT 3 Language Model - guest Steve Omohundro
 
Python
PythonPython
Python
 
Blenderbot
BlenderbotBlenderbot
Blenderbot
 
InftyReader and ChattyInfty Overview
InftyReader and ChattyInfty OverviewInftyReader and ChattyInfty Overview
InftyReader and ChattyInfty Overview
 
Natural Language Processing: L01 introduction
Natural Language Processing: L01 introductionNatural Language Processing: L01 introduction
Natural Language Processing: L01 introduction
 
Transfer_Learning_for_Natural_Language_P_v3_MEAP.pdf
Transfer_Learning_for_Natural_Language_P_v3_MEAP.pdfTransfer_Learning_for_Natural_Language_P_v3_MEAP.pdf
Transfer_Learning_for_Natural_Language_P_v3_MEAP.pdf
 
Vitalii Braslavskyi - Declarative engineering
Vitalii Braslavskyi - Declarative engineering Vitalii Braslavskyi - Declarative engineering
Vitalii Braslavskyi - Declarative engineering
 
Natural Language Processing: L02 words
Natural Language Processing: L02 wordsNatural Language Processing: L02 words
Natural Language Processing: L02 words
 
Word representation: SVD, LSA, Word2Vec
Word representation: SVD, LSA, Word2VecWord representation: SVD, LSA, Word2Vec
Word representation: SVD, LSA, Word2Vec
 
Lecture 1: Semantic Analysis in Language Technology
Lecture 1: Semantic Analysis in Language TechnologyLecture 1: Semantic Analysis in Language Technology
Lecture 1: Semantic Analysis in Language Technology
 
Introduction to natural language processing
Introduction to natural language processingIntroduction to natural language processing
Introduction to natural language processing
 

Destacado

The solarsystem
The solarsystemThe solarsystem
The solarsystemSantanaMM
 
LUBY PUREE KING user manual better than joyoung soymilk maker
LUBY PUREE KING  user manual better than joyoung soymilk makerLUBY PUREE KING  user manual better than joyoung soymilk maker
LUBY PUREE KING user manual better than joyoung soymilk makerez-kitchen
 
Puree King recipes better than joyoung
Puree King recipes better than joyoungPuree King recipes better than joyoung
Puree King recipes better than joyoungez-kitchen
 
Apuntes de neumatica festo
Apuntes de neumatica festoApuntes de neumatica festo
Apuntes de neumatica festoJulian Loaiza
 
Demystifying Digital Scholarship: Session 1, McMaster University
Demystifying Digital Scholarship: Session 1, McMaster UniversityDemystifying Digital Scholarship: Session 1, McMaster University
Demystifying Digital Scholarship: Session 1, McMaster UniversityPaige Morgan
 
Visible Prices: Archiving the Intersection Between Literature and Economics
Visible Prices: Archiving the Intersection Between Literature and EconomicsVisible Prices: Archiving the Intersection Between Literature and Economics
Visible Prices: Archiving the Intersection Between Literature and EconomicsPaige Morgan
 
Demystifying Digital Scholarship Workshop 6 Slides
Demystifying Digital Scholarship Workshop 6 SlidesDemystifying Digital Scholarship Workshop 6 Slides
Demystifying Digital Scholarship Workshop 6 SlidesPaige Morgan
 
Dmdh may 2015 - workshop 1
Dmdh   may 2015 - workshop 1Dmdh   may 2015 - workshop 1
Dmdh may 2015 - workshop 1Paige Morgan
 
Demystifying Digital Scholarship: Using Social Media for Learning and Profess...
Demystifying Digital Scholarship: Using Social Media for Learning and Profess...Demystifying Digital Scholarship: Using Social Media for Learning and Profess...
Demystifying Digital Scholarship: Using Social Media for Learning and Profess...Paige Morgan
 
Dmdh workshop 5 slides
Dmdh   workshop 5 slidesDmdh   workshop 5 slides
Dmdh workshop 5 slidesPaige Morgan
 
DMDH HASTAC 2015 Presentation: Building and Sustaining DH Communities
DMDH HASTAC 2015 Presentation: Building and Sustaining DH Communities DMDH HASTAC 2015 Presentation: Building and Sustaining DH Communities
DMDH HASTAC 2015 Presentation: Building and Sustaining DH Communities Paige Morgan
 
Demystifying Digital Humanities: Winter 2014 Workshop #2: Programming on the ...
Demystifying Digital Humanities: Winter 2014 Workshop #2: Programming on the ...Demystifying Digital Humanities: Winter 2014 Workshop #2: Programming on the ...
Demystifying Digital Humanities: Winter 2014 Workshop #2: Programming on the ...Paige Morgan
 
DMDS Winter Workshop 2 Slides
DMDS Winter Workshop 2 SlidesDMDS Winter Workshop 2 Slides
DMDS Winter Workshop 2 SlidesPaige Morgan
 
Dmdh session-1-2013-14
Dmdh session-1-2013-14Dmdh session-1-2013-14
Dmdh session-1-2013-14Paige Morgan
 
Modular Digital Scholarship // for Seeding Digital Scholarship
Modular Digital Scholarship // for Seeding Digital ScholarshipModular Digital Scholarship // for Seeding Digital Scholarship
Modular Digital Scholarship // for Seeding Digital ScholarshipPaige Morgan
 
Dmdh session-2-2013-14
Dmdh session-2-2013-14Dmdh session-2-2013-14
Dmdh session-2-2013-14Paige Morgan
 

Destacado (20)

Solarsystem
SolarsystemSolarsystem
Solarsystem
 
solar_system
solar_systemsolar_system
solar_system
 
The solarsystem
The solarsystemThe solarsystem
The solarsystem
 
LUBY PUREE KING user manual better than joyoung soymilk maker
LUBY PUREE KING  user manual better than joyoung soymilk makerLUBY PUREE KING  user manual better than joyoung soymilk maker
LUBY PUREE KING user manual better than joyoung soymilk maker
 
Puree King recipes better than joyoung
Puree King recipes better than joyoungPuree King recipes better than joyoung
Puree King recipes better than joyoung
 
Solarsystem ok
Solarsystem okSolarsystem ok
Solarsystem ok
 
Apuntes de neumatica festo
Apuntes de neumatica festoApuntes de neumatica festo
Apuntes de neumatica festo
 
Demystifying Digital Scholarship: Session 1, McMaster University
Demystifying Digital Scholarship: Session 1, McMaster UniversityDemystifying Digital Scholarship: Session 1, McMaster University
Demystifying Digital Scholarship: Session 1, McMaster University
 
Visible Prices: Archiving the Intersection Between Literature and Economics
Visible Prices: Archiving the Intersection Between Literature and EconomicsVisible Prices: Archiving the Intersection Between Literature and Economics
Visible Prices: Archiving the Intersection Between Literature and Economics
 
Demystifying Digital Scholarship Workshop 6 Slides
Demystifying Digital Scholarship Workshop 6 SlidesDemystifying Digital Scholarship Workshop 6 Slides
Demystifying Digital Scholarship Workshop 6 Slides
 
Dmdh may 2015 - workshop 1
Dmdh   may 2015 - workshop 1Dmdh   may 2015 - workshop 1
Dmdh may 2015 - workshop 1
 
Demystifying Digital Scholarship: Using Social Media for Learning and Profess...
Demystifying Digital Scholarship: Using Social Media for Learning and Profess...Demystifying Digital Scholarship: Using Social Media for Learning and Profess...
Demystifying Digital Scholarship: Using Social Media for Learning and Profess...
 
Dmdh workshop 5 slides
Dmdh   workshop 5 slidesDmdh   workshop 5 slides
Dmdh workshop 5 slides
 
DMDH HASTAC 2015 Presentation: Building and Sustaining DH Communities
DMDH HASTAC 2015 Presentation: Building and Sustaining DH Communities DMDH HASTAC 2015 Presentation: Building and Sustaining DH Communities
DMDH HASTAC 2015 Presentation: Building and Sustaining DH Communities
 
Dmdh workshop #6
Dmdh workshop #6Dmdh workshop #6
Dmdh workshop #6
 
Demystifying Digital Humanities: Winter 2014 Workshop #2: Programming on the ...
Demystifying Digital Humanities: Winter 2014 Workshop #2: Programming on the ...Demystifying Digital Humanities: Winter 2014 Workshop #2: Programming on the ...
Demystifying Digital Humanities: Winter 2014 Workshop #2: Programming on the ...
 
DMDS Winter Workshop 2 Slides
DMDS Winter Workshop 2 SlidesDMDS Winter Workshop 2 Slides
DMDS Winter Workshop 2 Slides
 
Dmdh session-1-2013-14
Dmdh session-1-2013-14Dmdh session-1-2013-14
Dmdh session-1-2013-14
 
Modular Digital Scholarship // for Seeding Digital Scholarship
Modular Digital Scholarship // for Seeding Digital ScholarshipModular Digital Scholarship // for Seeding Digital Scholarship
Modular Digital Scholarship // for Seeding Digital Scholarship
 
Dmdh session-2-2013-14
Dmdh session-2-2013-14Dmdh session-2-2013-14
Dmdh session-2-2013-14
 

Similar a DMDS Winter 2015 Workshop 1 slides

Feb.2016 Demystifying Digital Humanities - Workshop 2
Feb.2016 Demystifying Digital Humanities - Workshop 2Feb.2016 Demystifying Digital Humanities - Workshop 2
Feb.2016 Demystifying Digital Humanities - Workshop 2Paige Morgan
 
How do OpenAI GPT Models Work - Misconceptions and Tips for Developers
How do OpenAI GPT Models Work - Misconceptions and Tips for DevelopersHow do OpenAI GPT Models Work - Misconceptions and Tips for Developers
How do OpenAI GPT Models Work - Misconceptions and Tips for DevelopersIvo Andreev
 
ChatGPT-and-Generative-AI-Landscape Working of generative ai search
ChatGPT-and-Generative-AI-Landscape Working of generative ai searchChatGPT-and-Generative-AI-Landscape Working of generative ai search
ChatGPT-and-Generative-AI-Landscape Working of generative ai searchrohitcse52
 
Semantic web, python, construction industry
Semantic web, python, construction industrySemantic web, python, construction industry
Semantic web, python, construction industryReinout van Rees
 
How Does Generative AI Actually Work? (a quick semi-technical introduction to...
How Does Generative AI Actually Work? (a quick semi-technical introduction to...How Does Generative AI Actually Work? (a quick semi-technical introduction to...
How Does Generative AI Actually Work? (a quick semi-technical introduction to...ssuser4edc93
 
Automate your Job and Business with ChatGPT #3 - Fundamentals of LLM/GPT
Automate your Job and Business with ChatGPT #3 - Fundamentals of LLM/GPTAutomate your Job and Business with ChatGPT #3 - Fundamentals of LLM/GPT
Automate your Job and Business with ChatGPT #3 - Fundamentals of LLM/GPTAnant Corporation
 
All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...
All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...
All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...Daniel Zivkovic
 
Data science presentation
Data science presentationData science presentation
Data science presentationMSDEVMTL
 
Navigating the Storm: eMOP, Big DH Projects, and Agile Steering Standards
Navigating the Storm: eMOP, Big DH Projects, and Agile Steering StandardsNavigating the Storm: eMOP, Big DH Projects, and Agile Steering Standards
Navigating the Storm: eMOP, Big DH Projects, and Agile Steering StandardsLiz Grumbach
 
Oops And C++ Fundamentals
Oops And C++ FundamentalsOops And C++ Fundamentals
Oops And C++ FundamentalsSubhasis Nayak
 
Oops and c fundamentals
Oops and c fundamentals Oops and c fundamentals
Oops and c fundamentals umesh patil
 
Semantic web xml-rdf-dom parser
Semantic web xml-rdf-dom parserSemantic web xml-rdf-dom parser
Semantic web xml-rdf-dom parserSerdar Sönmez
 
Introduction to Multimodal LLMs with LLaVA
Introduction to Multimodal LLMs with LLaVAIntroduction to Multimodal LLMs with LLaVA
Introduction to Multimodal LLMs with LLaVARobert McDermott
 
Introduction to Multimodal LLMs with LLaVA
Introduction to Multimodal LLMs with LLaVAIntroduction to Multimodal LLMs with LLaVA
Introduction to Multimodal LLMs with LLaVARobert McDermott
 
Natural Language Processing Tools for the Digital Humanities
Natural Language Processing Tools for the Digital HumanitiesNatural Language Processing Tools for the Digital Humanities
Natural Language Processing Tools for the Digital HumanitiesXiang Li
 
Data Science Accelerator Program
Data Science Accelerator ProgramData Science Accelerator Program
Data Science Accelerator ProgramGoDataDriven
 
The Guide to becoming a full stack developer in 2018
The Guide to becoming a full stack developer in 2018The Guide to becoming a full stack developer in 2018
The Guide to becoming a full stack developer in 2018Amit Ashwini
 
Software_engineering.pptx
Software_engineering.pptxSoftware_engineering.pptx
Software_engineering.pptxjohn6938
 
Deep learning for text analytics
Deep learning for text analyticsDeep learning for text analytics
Deep learning for text analyticsErik Tromp
 
Tds — big science dec 2021
Tds — big science dec 2021Tds — big science dec 2021
Tds — big science dec 2021Gérard Dupont
 

Similar a DMDS Winter 2015 Workshop 1 slides (20)

Feb.2016 Demystifying Digital Humanities - Workshop 2
Feb.2016 Demystifying Digital Humanities - Workshop 2Feb.2016 Demystifying Digital Humanities - Workshop 2
Feb.2016 Demystifying Digital Humanities - Workshop 2
 
How do OpenAI GPT Models Work - Misconceptions and Tips for Developers
How do OpenAI GPT Models Work - Misconceptions and Tips for DevelopersHow do OpenAI GPT Models Work - Misconceptions and Tips for Developers
How do OpenAI GPT Models Work - Misconceptions and Tips for Developers
 
ChatGPT-and-Generative-AI-Landscape Working of generative ai search
ChatGPT-and-Generative-AI-Landscape Working of generative ai searchChatGPT-and-Generative-AI-Landscape Working of generative ai search
ChatGPT-and-Generative-AI-Landscape Working of generative ai search
 
Semantic web, python, construction industry
Semantic web, python, construction industrySemantic web, python, construction industry
Semantic web, python, construction industry
 
How Does Generative AI Actually Work? (a quick semi-technical introduction to...
How Does Generative AI Actually Work? (a quick semi-technical introduction to...How Does Generative AI Actually Work? (a quick semi-technical introduction to...
How Does Generative AI Actually Work? (a quick semi-technical introduction to...
 
Automate your Job and Business with ChatGPT #3 - Fundamentals of LLM/GPT
Automate your Job and Business with ChatGPT #3 - Fundamentals of LLM/GPTAutomate your Job and Business with ChatGPT #3 - Fundamentals of LLM/GPT
Automate your Job and Business with ChatGPT #3 - Fundamentals of LLM/GPT
 
All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...
All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...
All in AI: LLM Landscape & RAG in 2024 with Mark Ryan (Google) & Jerry Liu (L...
 
Data science presentation
Data science presentationData science presentation
Data science presentation
 
Navigating the Storm: eMOP, Big DH Projects, and Agile Steering Standards
Navigating the Storm: eMOP, Big DH Projects, and Agile Steering StandardsNavigating the Storm: eMOP, Big DH Projects, and Agile Steering Standards
Navigating the Storm: eMOP, Big DH Projects, and Agile Steering Standards
 
Oops And C++ Fundamentals
Oops And C++ FundamentalsOops And C++ Fundamentals
Oops And C++ Fundamentals
 
Oops and c fundamentals
Oops and c fundamentals Oops and c fundamentals
Oops and c fundamentals
 
Semantic web xml-rdf-dom parser
Semantic web xml-rdf-dom parserSemantic web xml-rdf-dom parser
Semantic web xml-rdf-dom parser
 
Introduction to Multimodal LLMs with LLaVA
Introduction to Multimodal LLMs with LLaVAIntroduction to Multimodal LLMs with LLaVA
Introduction to Multimodal LLMs with LLaVA
 
Introduction to Multimodal LLMs with LLaVA
Introduction to Multimodal LLMs with LLaVAIntroduction to Multimodal LLMs with LLaVA
Introduction to Multimodal LLMs with LLaVA
 
Natural Language Processing Tools for the Digital Humanities
Natural Language Processing Tools for the Digital HumanitiesNatural Language Processing Tools for the Digital Humanities
Natural Language Processing Tools for the Digital Humanities
 
Data Science Accelerator Program
Data Science Accelerator ProgramData Science Accelerator Program
Data Science Accelerator Program
 
The Guide to becoming a full stack developer in 2018
The Guide to becoming a full stack developer in 2018The Guide to becoming a full stack developer in 2018
The Guide to becoming a full stack developer in 2018
 
Software_engineering.pptx
Software_engineering.pptxSoftware_engineering.pptx
Software_engineering.pptx
 
Deep learning for text analytics
Deep learning for text analyticsDeep learning for text analytics
Deep learning for text analytics
 
Tds — big science dec 2021
Tds — big science dec 2021Tds — big science dec 2021
Tds — big science dec 2021
 

Último

Concept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfConcept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfUmakantAnnand
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon AUnboundStockton
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingTechSoup
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAssociation for Project Management
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
PSYCHIATRIC History collection FORMAT.pptx
PSYCHIATRIC   History collection FORMAT.pptxPSYCHIATRIC   History collection FORMAT.pptx
PSYCHIATRIC History collection FORMAT.pptxPoojaSen20
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactdawncurless
 
MENTAL STATUS EXAMINATION format.docx
MENTAL     STATUS EXAMINATION format.docxMENTAL     STATUS EXAMINATION format.docx
MENTAL STATUS EXAMINATION format.docxPoojaSen20
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdfssuser54595a
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionSafetyChain Software
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsanshu789521
 
Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application ) Sakshi Ghasle
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 

Último (20)

Concept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfConcept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.Compdf
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon A
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
PSYCHIATRIC History collection FORMAT.pptx
PSYCHIATRIC   History collection FORMAT.pptxPSYCHIATRIC   History collection FORMAT.pptx
PSYCHIATRIC History collection FORMAT.pptx
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
MENTAL STATUS EXAMINATION format.docx
MENTAL     STATUS EXAMINATION format.docxMENTAL     STATUS EXAMINATION format.docx
MENTAL STATUS EXAMINATION format.docx
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory Inspection
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha elections
 
Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application )
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 

DMDS Winter 2015 Workshop 1 slides

  • 1. Winter 2015 Session #1: Exploring Programming in Digital Scholarship February 12, 2015 Paige Morgan Sherman Centre for Digital Scholarship
  • 2. Programming is complex enough that just figuring out what you want to do and what sort of language you need is work.
  • 3. Thinking that you ought to be able to do everything almost immediately is a recipe for feeling terrible.
  • 4. Photo by MK Fautoyére, via Flickr
  • 5. There will always be new programs and platforms that you will want to experiment with.
  • 6. Working with technology means periodically starting from scratch -- a bit like working with a new time period or culture; or figuring out how to teach a new class.
  • 7.
  • 8. Being able to effectively communicate about your project as it relates to programming is a skill in itself.
  • 10. Programming languages can...• search for things • match things • read things • write things • receive information, and give it back, changed or unchanged • count things • do math • arrange things in quantitative or random order • respond: if x, do y OR do x until y happens • compare things for similarity • go to a file at a location, and retrieve readable text • display things according to instructions that you provide • draw points, lines, and shapes
  • 11. They can also do many or all of these things in combination.
  • 12. Example #1 • find all the statements in quotes ("") from a novel. • count how many words are in each statement • put the statements in order from smallest amount of words to largest • write all the statements from the novel in a text file
  • 13. Example #2 • allow a user to type in some information, i.e., "Benedict Cumberbatch" • compare “Benedict Cumberbatch” to a much larger file • retrieve any data that matches the information • print the retrieved information on screen
  • 14. Example #3 • "read" two texts -- say, two plays by Seneca • search for any words that the two plays have in common • print the words that they have in common on screen • calculate what percentage of the words in each play are shared • print that percentage onscreen
  • 15. Example #4 • if the user is located in geographic location Z, i.e., 45th and University, go to an online address and retrieve some text • print that text on the user’s tablet screen • receive input from the user and respond
  • 16. However... • In Example #1, the computer is focusing on things that characters say. But what if you want to isolate speeches from just one character? • In Example 2, how does the computer know how much text to print? Will it just print "Benedict Cumberbatch" 379 times, because that's how often it appears in the larger file?
  • 17. These are the areas of programming where critical thinking and specialized disciplinary knowledge become vital.
  • 18. The Difference • Humans are good at differentiating between material in complex and sophisticated ways. • Computers are good at not differentiating between material unless they’ve been specifically instructed to do so.
  • 19. Computers work with data. You work with data, too -- but you may have to do extra work to make your data readable by computer.
  • 20. Ways to make your data machine-readable• Annotate it with markup language • Organize it in patterns that the computer can understand • Add metadata that is not explicitly readable in the current format (i.e., hardbound/softbound binding; language:English; date of record creation)
  • 21. Depending on the data you have, and the way you annotate or structure it, different things become possible.
  • 22. Your goal is to make the data As Simple As Possible -- but not so simple that it stops being useful.
  • 23. Depending on the data you work with, the work of structuring or annotating becomes more challenging, but also more useful.
  • 24. The work of creating data is social.
  • 25. Many programming languages have governing bodies that establish standards for their use: • the World Wide Web (W3C) Consortium (http://www.w3.org/standards/) • the TEI Technical Council
  • 26. Data Examples • Annotated (Markup Languages: HTML, TEI) • Structured (MySQL) • Combination (Linked Open Data) • Object-Oriented Programming (Java, Python, Ruby on Rails)
  • 27. Markup: HTML <i> This text is italic.</i> = This text is italic.
  • 28. Markup: HTML <a href=“http://www.dmdh.org”> This text</a> will take you to a webpage. = This text will take you to a webpage.
  • 29. Markup: HTML Anything can be data -- and markup languages provide instructions for how computers should treat that data.
  • 30. Markup: HTML HTML is used to format text on webpages. <p> separates text into paragraphs. <em> makes text bold (emphasized). These are just a few of the HTML formatting instructions that you can use.
  • 31. HTML Syntax Rules • Open and closed tags: <> and </> • Attributes (2nd-level information) defined using =“”
  • 32. Markup languages are popular in digital humanities because lots of humanists work with texts.
  • 33. Without markup languages, the things that a computer can search for are limited.
  • 34. Ctrl + F: any text in iambic pentameter.
  • 35. With markup, the things you can search for are only limited by your interpretation. Markup: TEI
  • 37. Poetry w/ TEI <text xmlns="http://www.tei-c.org/ns/1.0" xml:id="d1"> <body xml:id="d2"> <div1 type="book" xml:id="d3"> <head>Songs of Innocence</head> <pb n="4"/> <div2 type="poem" xml:id="d4"> <head>Introduction</head> <lg type="stanza"> <l>Piping down the valleys wild, </l> <l>Piping songs of pleasant glee, </l> <l>On a cloud I saw a child, </l> <l>And he laughing said to me: </l> </lg>
  • 38. Grammar w/ TEI <entry> <form> <orth>pamplemousse</orth> </form> <gramGrp> <gram type="pos">noun</gram> <gram type="gen">masculine</gram> </gramGrp> </entry>
  • 39. TEI’s syntax rules are identical to HTML’s -- though your normal browser can’t work with TEI the way it works with HTML.
  • 40. TEI is meant to be a highly social language that anyone can use and adapt for new purposes.
  • 41. In order for TEI to successfully encode texts, it has to be adaptable to individual projects.
  • 42. Anything that you can isolate (and put in brackets) can (theoretically) be pulled out and displayed for a reader.
  • 43. TEI can be used to encode more than just text: <div type="shot"> <view>BBC World symbol</view> <sp> <speaker>Voice Over</speaker> <p>Monty Python's Flying Circus tonight comes to you live from the Grillomat Snack Bar, Paignton.</p> </sp> </div> <div type="shot"> <view>Interior of a nasty snack bar. Customers around, preferably real people. Linkman sitting at one of the plastic tables.</view> <sp> <speaker>Linkman</speaker> <p>Hello to you live from the Grillomat Snack Bar.</p> </sp> </div>
  • 44. Or, you could encode all Stephenie Meyer’s Twilight according to its emotional register.
  • 45. Whether you include or exclude some aspect of the text in your markup can be very important from an academic perspective.
  • 46. The challenge of creating good data is one reason that collaboration is so important to digital scholarship.
  • 47. Wise Data Collaboration • Avoid reinventing the wheel (has someone else already created an effective method for working with this data?) • Consider the labor involved vs. the outcome (and future use of the data you create.)
  • 49. Study Scenario #1 • You study urban espresso stands: their hours, brands of coffee, whether or not they sell pastries, and how far the espresso stands are from major roadways.
  • 50. Study Scenario #2 • You study female characters in novels written between 1700 and 1850. Encoding a whole novel just to study female characters isn’t practical for you.
  • 51. Both scenarios involve aggregating information, rather than encoding it.
  • 52. Structured Data: Example #1 (MySQL)ID Name Location Hours Coffee Brand Pastries (Y/N) Distance from Street 008 Java the Hut 56 Farringdon Road, London, UK 7:00 a.m.- 2:00 p.m. Square Mile Roasters N 25 meters 009 Prufrock Coffee 18 Shoreditch High Street 7:00 a.m. – 10:00 p.m. Monmouth Y 10 meters
  • 53.
  • 55. Object-Oriented Programming • Java, Python, C++, Perl, PHP, Ruby, etc. • Widely used, highly flexible, very powerful
  • 56. What’s an “object”? • An object is a structure that contains data in one or more forms. • Common forms include strings, integers, and arrays (groups of data). • Example (handout)
  • 57. Object-oriented programming, cont’d • Learning a bit about an OOP language can help you become accustomed to working with programming • Reading OOP code can also be useful • Many free tutorials are available • Goal: to be able to converse more effectively with professional programmers, rather than become an expert yourself.
  • 58. How your data is structured will influence the technology that you (can) use to work with it.
  • 59. Digital scholars see creating machine- readable data as valuable scholarship.
  • 60. Examples • Homer Multi-Text Project • Modernist Versions Project • Scalar (platform) • Century Ireland
  • 62. Your data determines your project.
  • 63. Every project has data. Text objects, images, tags, geographical coordinates, categories, records, creator metadata, etc.
  • 64. Even if you’re not planning to learn any programming skills, you are still working with data.
  • 65. Next time: Programming on the Whiteboard February 19th, 3:00-5:00 p.m., Sherman Centre • Cleaning data before you work with it! • Identifying specific programming tasks • How access affects your project idea • Flash project development • Homework: bring some data to work with.