1. Command and Natural Languages Unit 3 1. Command and Natural Languages
1. Introduction Languages are a natural way to communicate Communication with systems Initially, programming languages - 1960s FORTRAN, COBOL, ALGOL, BASIC, LISP, APL, PROLOG Database query- 1970s – SQL – create a result than a program Scripting languages -1980s Super Card, Hyper Card, Tool Book- ONMOUSEDOWN, BLINK etc Command languages – difficult to remember Unix command to delete blank lines from a file grep –v ^$ filea > fileb
The Basic Goals of Language Design Precision Compactness Ease in writing and reading Speed in learning Simplicity to reduce errors Ease of retention over time
2. Command-Organization Functionality, Strategies Users do wide range of work: text editing electronic mail financial management airline or hotel reservations inventory manufacturing process control gaming People use computers only if it gives them power, despite poor interface Designer-determine Functionality of system studying user’s task domain
Common design error- more objects & actions More bugs Slower execution More help screen, error messages & documentation Confusion Insufficient objects & actions – frustration Users differ in knowledge – destructive actions must be reversible Strategies Actions- create, edit, copy, move, delete, read/write, open/close etc Each command carry out single task Follow each command by 1 or more arguments COPY FILEA, FILEB/ DELETE FILEA Commands are organized into tree structure
3. Naming and Abbreviations Critics on strange command names mkdir, pwd, cd, rm etc Abbreviations used in online chat, instant messaging, email blogs, blogs
The Symbol Edit toolbar contains buttons for adding nodes, drawing various shapes and adding text
Specificity Versus Generality names – important for learning, problem solving & retention over time Specific terms – more descriptive More distinctive – more memorable Insert/delete – add/remove 2. Abbreviation Strategies Command names must be meaningful to facilitate learning …. Novice users prefer typing full name - BROWSE – BRWS/B
Six Potential Abbreviation Strategies Simple truncation: The first, second, third, etc. letters of each command Vowel drop with simple truncation: Eliminate vowels and use some of what remains First and last letter: Since the first and last letters are highly visible, use them First letter of each word in a phrase: Use with a hierarchical design plan Standard abbreviations from other contexts: Use familiar abbreviations. PRT for PRINT, BAK for BACKUP Phonics: Focus attention on the sound
Simple truncation Vowel drop First and last letter First letter of each word Standard abbreviations – familiarity Phonics
3. Guidelines for using abbreviations A simple primary rule & a simple secondary rule Abbreviations generated by the secondary rule should have a marker (*) incorporated in them Users should be familiar with the rules used to generate abbreviations Fixed-length abbreviations should be used in preference to variable-length ones Abbreviations should not be designed to incorporate endings (ING, ED, S) Unless there is a critical space problem, abbreviations should not be used in messages generated by the computer and read by the user
4. Natural Language in Computing computers – process natural language 1. Natural-language interaction 2. Natural-language queries and question answering 3. Text-database searching 4. Natural-language text generation 5. Adventure games and instructional systems
NLP - intelligent analysis of written language- sentiment analysis, information extraction, information retrieval, search etc. ML is an area of Artificial Intelligence (AI) that is a set of statistical techniques for problem solving. Deep Learning is one of the techniques in the area of Machine Learning - there are several other techniques such as Regression, K-Means, and so on.
AI = building systems that can do intelligent things NLP = building systems that can understand language ⊊ AI ML = building systems that can learn from experience NLP refers to techniques that do “intelligent things” in the domain of natural language
Natural-language interaction operation of computers using familiar language- English Users – no need to learn command syntax Problem – implementation on computer – variety of users