Chapter 7

Command and Natural Languages


The basis for command languages come from, of course, the natural language. This can be dated back over 5,000 years ago to the Egyptian hieroglyphs.

  • The basic goals of language design
    • Precision
    • Compactness
    • Ease of writing and reading
    • Completeness
    • speed of learning
    • simplicity to reduce errors
      • ease of retention over time
      • several others found on P. 272.
  • Earliest and Most Important Natural Computing Languages
    • Binary
    • Machine
    • High-level

The first high-level computer languages, such as Fortran, Cobol, Algol, PL/I, and Pascal, of the 1960s and 1970s were designed for use in a non-interactive computer environment to compile and interpret data. Incremental Programming was one design that was used to build small pieces online and to test the pieces interactively to create a large program. Also, during the '70s database languages for relational databases were developed which led to the creation of structured query language (SQL). In the '80s scripting languages emphasized screen presentation and mouse control. Command languages, which originated with operating-system commands, produce an immediate result on some object of interest. When using a command language users must recall a notation and initiate actions versus a menu-selection were users view or hear menu items and respond more than initiate. The typical form of a command is a verb followed by a noun object with arguments. This natural language interaction made with the command language systems make it easier for a wide range of users to interact and understand the programs content.

  • High-level Goals
    • Trying reality to the notation
    • Manipulation relevant to the users' tasks
    • Compatibility with existing notations
    • Flexibility to accommodate novices and experts
    • Expressiveness to encourage creativiy
    • Visual appeal
  • Constraints
    • Capacity for humans to record the notation
    • The match between recording and display media
    • The convenience in speaking
    • Success: serve goals within the constraints
  • Computer as Language Stimulus
    • Widespread dissemination of computers through networks
    • As a tool to manipulate language
    • Language as a tool to manipulate computers
  • Computers
    • Somewhat influences language (733t speak)
    • Languages greatly influence the computer
      • Math, Logic, Data, Graphics, Sound, and Text
      • Languages cause computers to affect the real world
  • Effective computer Programming Languages
    • Represent users' tasks
    • Satisfy human need for communication
    • Remain sympathetic to the constraints of the machine:
      • Recording, manipulating and displaying the data to which the language refers.

Command Organization Functionality, Strategies, and Structure

  • Functionality
    • determined by studying the users' task domain to form a list of task actions and objects, which is then abstracted into a set of interface actions and objects; represented in the low-level interface syntax.
    • determine the system's audience by determining their position in an organization, their knowledge of computers, or their frequency of system use.
    • identify error conditions and prepare error messages to reverse or at least protect accidental invocation.
    • provide help, tutorial features, and more advanced usable features for expert users such as macro facilities.
  • Strategies
    • each command is chosen to carry out a single task and the number a tasks matches the number of tasks.
    • follow each command (COPY, DELETE, PRINT) by one or more arguments (FileA, FileB, FileC) that indicate objects to be manipulated.
    • the set of commands is organized into a tree structure
      • e.g. the first level is the command action, the second level is the argument, the third level is a destination argument
      • offers meaningful structure to a large number of commands and can be developed to aid the novice or intermediate user as in Excel.
  • Structure
    • users can recognize structure and easily encode it in their semantic-knowledge storage
    • use consistent argument ordering

Naming and Abbreviations

Command names are the most visible part of the system

  • Specificity vs Generality - The choice of meaningful, organized sets of names is very important.
    • specific - more descriptive and distinctive = more memorial
    • general - more familiar = easier to accept
  • Abbreviation Strategies and Guidelines
    • Should be meaningful to facilitate human learning, problem solving, and retentions that also must be in harmony with the mechanism for expressing the commands to the computer.
    • brevity can speed command entry and reduce error rates
    • Strategies
      1. simple truncation - Use the first, second, third, and so on letters of each command.
      2. vowel drop with simple truncation- Eliminate vowels and use some of what remains.
      3. first and final letter - Since the first and final letters are highly visible use them, for example use ST for SORT.
      4. first letter of each word in a phrase - popular acronym technique
      5. standard abbreviations from other contexts - Ex. QTY for QUANTITY
      6. phonics - the sound of the abbreviation. Ex. XQT for execute.
    • Guidelines
      1. simple primary rule for of abbreviation for most items and simple secondary rule for conflicting items
      2. abbreviations made by secondary rule should be marked e.g an asterisk
      3. number of words abbreviated by secondary rule kept to a minimum
      4. users should be familiar with the rules used to build abbreviations
      5. use truncation
      6. use fixed-length abbreviations
      7. design abbreviations to incorporate endings (ing, ed, s)
      8. do not use abbreviations is messages generated by the computer
  • Command menus and keyboard shortcuts
    • command menu - brief prompts of available commands. Used more for novice users.
    • keyboard shortcuts in a command language are the same as in a gui interface. Used more for experienced users.

Command languages generate high syntactic error rates however some users gain satisfaction in overcoming the difficulties and becoming one of the inner circle ("gurus" and "wizards") who are knowledgeable about system features - command-language machismo. (That's funny!)

Natural Language in Computing

Using natural language for human-computer communication sounds promising, however, natural language is subtle, there are many special cases, contexts are complex, and emotional relationships have a powerful and pervasive effect in human-human communication. Most effective systems require constrained or preprocessed input, or post-processing of output.

  • Natural language interaction (NLI)
    • the operation of computers by people using a familiar natural language (such as English) to give instructions and receive responses
    • no need to learn command syntax or select from menus
    • problems lie in not only implementation on the computer, but also desirability for large numbers of users for a wide variety of tasks.
    • impediment to NLI is the habitability of the user interface
      • defined as how easy it is for users to to determine what objects and actions are appropriate
      • visual interfaces provide cues for the semantic interaction

Ex: The START Natural Language System is an interactive software system that attempts to answer questions that are posted to it in natural language.

  • Natural language queries and question answering (NLQ and NLQA)
    • NLQ
      • used against relational databases
      • a spoken query is parsed against instances in a database that represent fields with values
    • NLQA
      • users prepare fact questions and the system provides the answer or a list of web pages related to the answer
      • difficulties include user questions that make incorrect assumptions, ill-formed questions, and simple questions that need more clarification
  • Natural language text generation (NLTG)
    • a computer generates spoken and readable responses
    • e.g. a computer generating a simple structured weather report or something as complex as a story or poem
  • Text-database searching
    • filters and parses for queries expressed in natural language
      • the system parses the text grammatically, provides synonyms from a thesaurus, deals with singulars and plurals, and checks for misspellings and foreign words
      • the analyzer separates the query into standard components and finds all meaningfully related items
    • filters out noise words (e.g. the, of, or in)
    • these systems do not deal with negations, broader or narrower terms, and relationships

Back to Exam 1 Review

Midterm Exam
Chapter 6
1 2 3 4 5 6 7
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License