SlideShare una empresa de Scribd logo
1 de 17
Descargar para leer sin conexión
Natural Language Modeling
 Creating Software from Written and
        Verbal Requirements




            Michael Blake
Four very exciting parts of speech
 Nouns            Verbs
 String           execute
 Hash             parse
 Array            merge
 Object

 Adjectives       Adverbs

 Accessible       each
 Adjustable       potentialy_referenced_list
 Enumerable       sequentially
 Dragable
Language is an Important.
"lawmakers accused the Census Bureau of
     doing a poor job of explaining technical
          requirements to Harris Corp"




            http://www.latimes.com/
http://www.census.gov/dmd/www/2000quest.html
Different Languages / Different
Purposes
"Why metaphorical only, why not natural language as the
programming language itself?" Alistair Cockburn

 Natural Language                Programming Language
 1. Ambiguous                    1. Precise
 2. Contains Metaphors           2. Directive
 3. Redundant                    3. Less effective for picking
                                    up women.
The Domain Dictionary

Terms and definitions agreed apon between the programmer
and the users.

http://123.writeboard.com/1c3bee94488fdedb3
Nouns

"Underline the nouns."

Nouns become Objects and attributes in the system
User Requirements

Users will login and choose a quiz. They will
sequentially be delivered a series of questions
each which will contain one correct
answer. Correct answers will improve their
score, while incorrect answers will result in
increasingly higher voltage, and sometimes
fatal electrical shocks.

http://123.writeboard.com/ff81e1c4fd73d7c86
Verbs (Actions)

Verbs become methods that act on our obejcts.



Users will login and choose a quiz. They will
then be delivered a series of questions each
which will contain one correct answer. Correct
answers will improve their score, while
incorrect answers will result in increasingly
higher voltage, and sometimes fatal electrical
shocks.
Adjectives (Modify Nouns)

Adjectives classify or determine state.



Users will login and choose a quiz. They will
then be delivered a series of questions each
which will contain one correct answer. Correct
answers will improve their score, while
incorrect answers will result in increasingly
higher voltage, and sometimes fatal electrical
shocks.
Adverbs (Modify Verbs)

Adjectives classify or determine state.



Users will login and choose a quiz. They will
then be delivered a series of questions which
will each contain one correct answer. Correct
answers will improve their score, while
incorrect answers will result in increasingly
higher voltage, and sometimes fatal electrical
shocks.
Ruby and Java
 Nouns : Objects       Verbs : Methods
 String                execute
 Hash                  parse
 Array                 merge
 Object
 List (or Listable?)
 Adjectives : Mixins   Adverbs : Closures

 Accessible            each
 Adjustable            potentialy_referenced_list
 Enumerable            sequentially
 Dragable
Behavior Driven Development


How do requirements relate to RSpec Stories?
RSpec Story
Story: transfer from savings to checking account
As a savings account holder
I want to transfer money from my savings
account to my checking account
So that I can get cash easily from an ATM

Scenario: savings account has sufficient funds
Given my savings account balance is $100
And my checking account balance is $10
When I transfer $20 from savings to checking
Then my savings account balance should be $80
And my checking account balance should be $30
Articles / Prepositions


An article is a word that combines with a noun to indicate the
type of reference being made by the noun. The three main
articles in the English language are the , an and a .

A preposition links nouns, pronouns and phrases to other
words in a sentence. The word or phrase that the preposition
introduces is called the object of the preposition.
Articles / Prepositions

Story: transfer from savings to checking account
As a savings account holder
I want to transfer money from my savings
account to my checking account
So that I can get cash easily from an ATM

Scenario: savings account has sufficient funds
Given my savings account balance is $100
And my checking account balance is $10
When I transfer $20 from savings to checking
Then my savings account balance should be $80
And my checking account balance should be $30
References


alistair.cockburn.us/
osteele.com/archives/2007/11/sequentially
Design-Patterns-Object-Oriented-Addison-Wesley-Professional
www.craiglarman.com/?title=Agile_TDD_and_Refactoring
adams.id.au/blog/2007/10/what-is-behaviour-driven-
development
rspec.info/
en.wikipedia.org/wiki/Article_(grammar)
en.wikipedia.org/wiki/A_Wild_and_Crazy_Guy

Más contenido relacionado

Similar a Natural Language Programming

The impact of domain-specific stop-word lists on ecommerce website search per...
The impact of domain-specific stop-word lists on ecommerce website search per...The impact of domain-specific stop-word lists on ecommerce website search per...
The impact of domain-specific stop-word lists on ecommerce website search per...greatsalvation813
 
Webinar: Simpler Semantic Search with Solr
Webinar: Simpler Semantic Search with SolrWebinar: Simpler Semantic Search with Solr
Webinar: Simpler Semantic Search with SolrLucidworks
 
Fundamentals of Database Systems Questions and Answers
Fundamentals of Database Systems Questions and AnswersFundamentals of Database Systems Questions and Answers
Fundamentals of Database Systems Questions and AnswersOXUS 20
 
Measuring capacitanceLab 8 - Measuring capacitanceCapacitor
Measuring capacitanceLab 8 - Measuring capacitanceCapacitorMeasuring capacitanceLab 8 - Measuring capacitanceCapacitor
Measuring capacitanceLab 8 - Measuring capacitanceCapacitorAbramMartino96
 
3 Ways to Cut Word Count: Without Changing Your Meaning
3 Ways to Cut Word Count: Without Changing Your Meaning3 Ways to Cut Word Count: Without Changing Your Meaning
3 Ways to Cut Word Count: Without Changing Your MeaningSharese Terrell Willis, PhD
 
3 Ways to Cut Word Count: Without Changing Your Meaning
3 Ways to Cut Word Count: Without Changing Your Meaning3 Ways to Cut Word Count: Without Changing Your Meaning
3 Ways to Cut Word Count: Without Changing Your MeaningSharese Terrell Willis, PhD
 
BUSN 201 Writing Assignment Rubric NO ABSTRACTS PLEASE .docx
BUSN 201 Writing Assignment Rubric NO ABSTRACTS PLEASE  .docxBUSN 201 Writing Assignment Rubric NO ABSTRACTS PLEASE  .docx
BUSN 201 Writing Assignment Rubric NO ABSTRACTS PLEASE .docxRAHUL126667
 
Data Science Course In Pune
Data Science Course In Pune Data Science Course In Pune
Data Science Course In Pune APT
 
data science institute in bangalore
data science institute in bangaloredata science institute in bangalore
data science institute in bangaloredevipatnala1
 
Data Science Course Pune
Data Science Course PuneData Science Course Pune
Data Science Course PuneAPT
 
Data science course pdf
Data science course pdfData science course pdf
Data science course pdfAPT
 
data science courses in banglore
data science courses in bangloredata science courses in banglore
data science courses in bangloredevipatnala1
 
Data Science Course
Data Science CourseData Science Course
Data Science Courseashvisingh
 
data science course in pune
data science course in punedata science course in pune
data science course in punedevipatnala1
 
data science certification
data science certificationdata science certification
data science certificationdevipatnala1
 

Similar a Natural Language Programming (20)

The impact of domain-specific stop-word lists on ecommerce website search per...
The impact of domain-specific stop-word lists on ecommerce website search per...The impact of domain-specific stop-word lists on ecommerce website search per...
The impact of domain-specific stop-word lists on ecommerce website search per...
 
Webinar: Simpler Semantic Search with Solr
Webinar: Simpler Semantic Search with SolrWebinar: Simpler Semantic Search with Solr
Webinar: Simpler Semantic Search with Solr
 
Fundamentals of Database Systems Questions and Answers
Fundamentals of Database Systems Questions and AnswersFundamentals of Database Systems Questions and Answers
Fundamentals of Database Systems Questions and Answers
 
Measuring capacitanceLab 8 - Measuring capacitanceCapacitor
Measuring capacitanceLab 8 - Measuring capacitanceCapacitorMeasuring capacitanceLab 8 - Measuring capacitanceCapacitor
Measuring capacitanceLab 8 - Measuring capacitanceCapacitor
 
NLP & DBpedia
 NLP & DBpedia NLP & DBpedia
NLP & DBpedia
 
3 Ways to Cut Word Count: Without Changing Your Meaning
3 Ways to Cut Word Count: Without Changing Your Meaning3 Ways to Cut Word Count: Without Changing Your Meaning
3 Ways to Cut Word Count: Without Changing Your Meaning
 
3 Ways to Cut Word Count: Without Changing Your Meaning
3 Ways to Cut Word Count: Without Changing Your Meaning3 Ways to Cut Word Count: Without Changing Your Meaning
3 Ways to Cut Word Count: Without Changing Your Meaning
 
The Semantic Quilt
The Semantic QuiltThe Semantic Quilt
The Semantic Quilt
 
BUSN 201 Writing Assignment Rubric NO ABSTRACTS PLEASE .docx
BUSN 201 Writing Assignment Rubric NO ABSTRACTS PLEASE  .docxBUSN 201 Writing Assignment Rubric NO ABSTRACTS PLEASE  .docx
BUSN 201 Writing Assignment Rubric NO ABSTRACTS PLEASE .docx
 
Data Science Course In Pune
Data Science Course In Pune Data Science Course In Pune
Data Science Course In Pune
 
data science institute in bangalore
data science institute in bangaloredata science institute in bangalore
data science institute in bangalore
 
Data Science Course Pune
Data Science Course PuneData Science Course Pune
Data Science Course Pune
 
Data science course pdf
Data science course pdfData science course pdf
Data science course pdf
 
data science courses in banglore
data science courses in bangloredata science courses in banglore
data science courses in banglore
 
Data Science Course
Data Science CourseData Science Course
Data Science Course
 
Data Science Course
Data Science CourseData Science Course
Data Science Course
 
data science certification
data science certificationdata science certification
data science certification
 
data science course in pune
data science course in punedata science course in pune
data science course in pune
 
Data mining
Data miningData mining
Data mining
 
data science certification
data science certificationdata science certification
data science certification
 

Último

Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Celine George
 
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
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17Celine George
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxVishalSingh1417
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhikauryashika82
 
fourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingfourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingTeacherCyreneCayanan
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.christianmathematics
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxnegromaestrong
 
PROCESS RECORDING FORMAT.docx
PROCESS      RECORDING        FORMAT.docxPROCESS      RECORDING        FORMAT.docx
PROCESS RECORDING FORMAT.docxPoojaSen20
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfAdmir Softic
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfagholdier
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...christianmathematics
 
An Overview of Mutual Funds Bcom Project.pdf
An Overview of Mutual Funds Bcom Project.pdfAn Overview of Mutual Funds Bcom Project.pdf
An Overview of Mutual Funds Bcom Project.pdfSanaAli374401
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxAreebaZafar22
 
Gardella_PRCampaignConclusion Pitch Letter
Gardella_PRCampaignConclusion Pitch LetterGardella_PRCampaignConclusion Pitch Letter
Gardella_PRCampaignConclusion Pitch LetterMateoGardella
 
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
 

Último (20)

INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
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
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
 
fourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingfourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writing
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
 
PROCESS RECORDING FORMAT.docx
PROCESS      RECORDING        FORMAT.docxPROCESS      RECORDING        FORMAT.docx
PROCESS RECORDING FORMAT.docx
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
An Overview of Mutual Funds Bcom Project.pdf
An Overview of Mutual Funds Bcom Project.pdfAn Overview of Mutual Funds Bcom Project.pdf
An Overview of Mutual Funds Bcom Project.pdf
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
Gardella_PRCampaignConclusion Pitch Letter
Gardella_PRCampaignConclusion Pitch LetterGardella_PRCampaignConclusion Pitch Letter
Gardella_PRCampaignConclusion Pitch Letter
 
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
 
Advance Mobile Application Development class 07
Advance Mobile Application Development class 07Advance Mobile Application Development class 07
Advance Mobile Application Development class 07
 

Natural Language Programming

  • 1. Natural Language Modeling Creating Software from Written and Verbal Requirements Michael Blake
  • 2. Four very exciting parts of speech Nouns Verbs String execute Hash parse Array merge Object Adjectives Adverbs Accessible each Adjustable potentialy_referenced_list Enumerable sequentially Dragable
  • 3. Language is an Important.
  • 4. "lawmakers accused the Census Bureau of doing a poor job of explaining technical requirements to Harris Corp" http://www.latimes.com/ http://www.census.gov/dmd/www/2000quest.html
  • 5. Different Languages / Different Purposes "Why metaphorical only, why not natural language as the programming language itself?" Alistair Cockburn Natural Language Programming Language 1. Ambiguous 1. Precise 2. Contains Metaphors 2. Directive 3. Redundant 3. Less effective for picking up women.
  • 6. The Domain Dictionary Terms and definitions agreed apon between the programmer and the users. http://123.writeboard.com/1c3bee94488fdedb3
  • 7. Nouns "Underline the nouns." Nouns become Objects and attributes in the system
  • 8. User Requirements Users will login and choose a quiz. They will sequentially be delivered a series of questions each which will contain one correct answer. Correct answers will improve their score, while incorrect answers will result in increasingly higher voltage, and sometimes fatal electrical shocks. http://123.writeboard.com/ff81e1c4fd73d7c86
  • 9. Verbs (Actions) Verbs become methods that act on our obejcts. Users will login and choose a quiz. They will then be delivered a series of questions each which will contain one correct answer. Correct answers will improve their score, while incorrect answers will result in increasingly higher voltage, and sometimes fatal electrical shocks.
  • 10. Adjectives (Modify Nouns) Adjectives classify or determine state. Users will login and choose a quiz. They will then be delivered a series of questions each which will contain one correct answer. Correct answers will improve their score, while incorrect answers will result in increasingly higher voltage, and sometimes fatal electrical shocks.
  • 11. Adverbs (Modify Verbs) Adjectives classify or determine state. Users will login and choose a quiz. They will then be delivered a series of questions which will each contain one correct answer. Correct answers will improve their score, while incorrect answers will result in increasingly higher voltage, and sometimes fatal electrical shocks.
  • 12. Ruby and Java Nouns : Objects Verbs : Methods String execute Hash parse Array merge Object List (or Listable?) Adjectives : Mixins Adverbs : Closures Accessible each Adjustable potentialy_referenced_list Enumerable sequentially Dragable
  • 13. Behavior Driven Development How do requirements relate to RSpec Stories?
  • 14. RSpec Story Story: transfer from savings to checking account As a savings account holder I want to transfer money from my savings account to my checking account So that I can get cash easily from an ATM Scenario: savings account has sufficient funds Given my savings account balance is $100 And my checking account balance is $10 When I transfer $20 from savings to checking Then my savings account balance should be $80 And my checking account balance should be $30
  • 15. Articles / Prepositions An article is a word that combines with a noun to indicate the type of reference being made by the noun. The three main articles in the English language are the , an and a . A preposition links nouns, pronouns and phrases to other words in a sentence. The word or phrase that the preposition introduces is called the object of the preposition.
  • 16. Articles / Prepositions Story: transfer from savings to checking account As a savings account holder I want to transfer money from my savings account to my checking account So that I can get cash easily from an ATM Scenario: savings account has sufficient funds Given my savings account balance is $100 And my checking account balance is $10 When I transfer $20 from savings to checking Then my savings account balance should be $80 And my checking account balance should be $30