NAVAL POSTGRADUATE SCHOOL

Monterey, California


AN ARCHITECTURE FOR THE SEMANTIC PROCESSING OF NATURAL LANGUAGE INPUT

TO A POLICY WORKBENCH

 

 

by

 

E. John Custy

 

March 2003

   Thesis Advisor:                                              J. Bret Michael

   Thesis Co-Advisor:                                        Neil C. Rowe


THESIS

Approved for public release; distribution is unlimited.

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

THIS PAGE INTENTIONALLY LEFT BLANK

 

 

 

 

 

 

 

 

 

 

 

 



             REPORT DOCUMENTATION PAGE

Form Approved OMB No. 0704-0188

Public reporting burden for this collection of information is estimated to average 1 hour per response, including the time for reviewing instruction, searching existing data sources, gathering and maintaining the data needed, and completing and reviewing the collection of information. Send comments regarding this burden estimate or any other aspect of this collection of information, including suggestions for reducing this burden, to Washington headquarters Services, Directorate for Information Operations and Reports, 1215 Jefferson Davis Highway, Suite 1204, Arlington, VA 22202-4302, and to the Office of Management and Budget, Paperwork Reduction Project (0704-0188) Washington DC 20503.

1. AGENCY USE ONLY (Leave blank)

 

2. REPORT DATE 

March 2003

3. REPORT TYPE AND DATES COVERED

Master’s Thesis

4. TITLE AND SUBTITLE:  Title (Mix case letters)Upper and Lower Case

An Architecture for the Semantic Processing of Natural Language Input to a Policy Workbench

 

5. FUNDING NUMBERS

 

6. AUTHOR(S) E. John Custy

7. PERFORMING ORGANIZATION NAME(S) AND ADDRESS(ES)

Naval Postgraduate School

Monterey, CA  93943-5000

8. PERFORMING ORGANIZATION REPORT NUMBER   

9. SPONSORING / MONITORING AGENCY NAME(S) AND ADDRESS(ES)

N/A

10. SPONSORING / MONITORING

      AGENCY REPORT NUMBER

11. SUPPLEMENTARY NOTES The views expressed in this thesis are those of the author and do not reflect the official policy or position of the Department of Defense or the U.S. Government.

12a. DISTRIBUTION / AVAILABILITY STATEMENT 

Approved for public release; distribution is unlimited.

12b. DISTRIBUTION CODE

 

13.    ABSTRACT (maximum 200 words)

Formal methods hold significant potential for automating the development, refinement, and implementation of policy.  For this potential to be realized, however, improved techniques are required for converting natural-language statements of policy into a computational form.  In this paper we present and analyze an architecture for carrying out this conversion.  The architecture employs semantic networks to represent both policy statements and objects in the domain of those statements.  We present a case study which illustrates how a system based on this architecture could be developed.  The case study consists of an analysis of natural language policy statements taken from a policy document for web sites at a university, and is carried out with support from a software tool we developed which converts text output from a natural language parser into a graphical form.

 

 

14. SUBJECT TERMS

Policy, Natural Language Processing, Semantic Networks, Policy Workbench, Prolog

15. NUMBER OF PAGES  

 

16. PRICE CODE

17. SECURITY CLASSIFICATION OF REPORT

Unclassified

18. SECURITY CLASSIFICATION OF THIS PAGE

Unclassified

19. SECURITY CLASSIFICATION OF ABSTRACT

Unclassified

20. LIMITATION OF ABSTRACT

 

UL

NSN 7540-01-280-5500                                                                                                                      Standard Form 298 (Rev. 2-89)


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

THIS PAGE INTENTIONALLY LEFT BLANK

 

 

 

 


 

Approved for Public Release; distribution is unlimited

 

 

AN ARCHITECTURE FOR THE SEMANTIC PROCESSING OF NATURAL LANGUAGE INPUT

TO A POLICY WORKBENCH

 

E. John Custy

B.S.E.E. New Jersey Institute of Technology, 1986

M.A. Cognitive and Neural Systems, Boston University, 1991

Master of Engineering, Engineering Science, The Pennsylvania State University, 1994

 

 

Submitted in partial fulfillment of the

requirements for the degree of

 

MASTER OF SCIENCE IN SOFTWARE ENGINEERING

 

from the

 

NAVAL POSTGRADUATE SCHOOL

March 2003

 

 

Author:

E. John Custy

 

 

Approved by:

James Bret Michael, Co-Advisor

 

 

 

Neil C. Rowe, Co-Advisor

 

 

 

Valdis Berzins, Chairman

Software Engineering Curriculum

 

 

Peter J. Denning, Chairman

Department of Computer Science


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

THIS PAGE INTENTIONALLY LEFT BLANK

 

 

 


 

ABSTRACT

 

            Formal methods hold significant potential for automating the development, refinement, and implementation of policy.  For this potential to be realized, however, improved techniques are required for converting natural-language statements of policy into a computational form.  In this paper we present and analyze an architecture for carrying out this conversion.  The architecture employs semantic networks to represent both policy statements and objects in the domain of those statements.  We present a case study which illustrates how a system based on this architecture could be developed.  The case study consists of an analysis of natural language policy statements taken from a policy document for web sites at a university, and is carried out with support from a software tool we developed which converts text output from a natural language parser into a graphical form. 

 

 

 

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

THIS PAGE INTENTIONALLY LEFT BLANK

 

 

 


TABLE OF CONTENTS

 

I.  INTRODUCTION........................................................................................................... 1

 

II.  POLICY AND THE POLICY WORKBENCH.............................................................. 3

      A.  MOTIVATION: POLICY, COMPLEXITY, AND ABSTRACTIONS.................... 3

      B.   POLICY-BASED NETWORK-MANAGEMENT................................................... 6

      C.  THE RATE AT WHICH POLICIES CHANGE....................................................... 8

      D.  THE POLICY WORKBENCH................................................................................ 9

      E.   THE HUMAN-MACHINE INTERFACE FOR

            A POLICY WORKBENCH................................................................................... 11

 

III.  THE POLICY WORKBENCH AND NATURAL LANGUAGE

       SUPPORT FOR POLICY: PREVIOUS WORK......................................................... 13

      A.  USE OF AN EXPERIMENTAL POLICY WORKBENCH:

            DESCRIPTION AND PRELIMINARY RESULTS............................................... 13

      B.   NATURAL LANGUAGE PROCESSING SUPPORT FOR

            DEVELOPING POLICY-GOVERNED SOFTWARE SYSTEMS........................ 16

      C.  SPECIFYING A SECURITY POLICY: A CASE STUDY.................................... 18

      D.  THE BRITISH NATIONALITY ACT AS A LOGIC PROGRAM......................... 20

      E.   PONDER: A LANGUAGE FOR POLICY SPECIFICATION.............................. 21

      F.   THE USE OF ARTIFICIAL INTELLIGENCE BY

            THE UNITED STATES NAVY............................................................................. 22

      G.  NOTES ON NATURAL LANGUAGE

            PROCESSING TECHNOLOGY........................................................................... 24

                  1.  Modal Auxiliaries and Quantifiers.................................................................. 24

                  2.  Fuzzy Descriptors and Their Modeling.......................................................... 24

                  3.  Speech Act Theory                                                                                        ..................................................................................... 26

                  4.  Anaphoric References................................................................................... 27

 

IV. NATURAL LANGUAGE SUPPORT FOR POLICY: ARCHITECTURE

      AND CASE STUDY.................................................................................................... 29

      A.  REQUIREMENTS: THE ARCHITECTURE AND ITS

            OPERATION......................................................................................................... 29

      B.  PRELIMINARY WORK: ERROR TYPES AND CAUSES................................... 37

      C.  PRELIMINARY WORK: A TAXONOMY

            FOR NATURAL LANGUAGE POLICY STATEMENTS..................................... 39

      D.  CASE STUDY: ANALYSIS OF NATURAL LANGUAGE

            POLICY STATEMENTS....................................................................................... 45

            1.  POLICY STATEMENT 1................................................................................. 48

            2.  POLICY STATEMENT 2................................................................................. 52

            3.  POLICY STATEMENT 3................................................................................. 54

            4.  POLICY STATEMENT 4................................................................................. 56

            5.  POLICY STATEMENT 5................................................................................. 59

            6.  POLICY STATEMENT 6................................................................................. 64

            7.  POLICY STATEMENT 7................................................................................. 66

            8.  POLICY STATEMENT 8................................................................................. 69

            9.  POLICY STATEMENT 9................................................................................. 71

            10.  POLICY STATEMENT 10............................................................................. 74

 

V.  DISCUSSION OF RESULTS                                                                                       ..................................................................................... 83

 

VI.  CONCLUSIONS ....................................................................................................... 85

 

APPENDIX A:  SOFTWARE FOR REPRESENTING

MEANING LISTS IN GRAPHICAL FORMAT................................................................ 87

 

REFERENCES............................. 91

 

INITIAL DISTRIBUTION LIST                                                                                         ..................................................................................... 93

 

 

 

 

 

 

 

 


LIST OF FIGURES

 

Figure 1................................................................................................................................. 7

Figure 2................................................................................................................................. 8

Figure 3............................................................................................................................... 11

Figure 4............................................................................................................................... 15

Figure 5............................................................................................................................... 17

Figure 6............................................................................................................................... 17

Figure 7............................................................................................................................... 32

Figure 8............................................................................................................................... 34

Figure 9............................................................................................................................... 35

Figure 10............................................................................................................................. 51

Figure 11............................................................................................................................. 52

Figure 12............................................................................................................................. 59

Figure 13............................................................................................................................. 63

Figure 14............................................................................................................................. 64

Figure 15............................................................................................................................. 74

Figure 16............................................................................................................................. 78

Figure 17............................................................................................................................. 79

Figure 18............................................................................................................................. 87

 

 

 

 

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

THIS PAGE INTENTIONALLY LEFT BLANK

 

 

 

 

 

 

 

 


LIST OF TABLES

 

Table 1................................................................................................................................ 41

Table 2................................................................................................................................ 42

Table 3................................................................................................................................ 44

Table 4................................................................................................................................ 48

Table 5................................................................................................................................ 48

Table 6................................................................................................................................ 52

Table 7................................................................................................................................ 55

Table 8................................................................................................................................ 57

Table 9................................................................................................................................ 57

Table 10.............................................................................................................................. 60

Table 11.............................................................................................................................. 60

Table 12.............................................................................................................................. 60

Table 13.............................................................................................................................. 65

Table 14.............................................................................................................................. 67

Table 15.............................................................................................................................. 67

Table 16.............................................................................................................................. 69

Table 17.............................................................................................................................. 69

Table 18.............................................................................................................................. 71

Table 19.............................................................................................................................. 72

Table 20.............................................................................................................................. 75

Table 21.............................................................................................................................. 75

 

 

 

 

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

THIS PAGE INTENTIONALLY LEFT BLANK

 

 

 


I.  INTRODUCTION

 

Policy plays an important role in determining the success of business, professional, political and social organizations.  During normal day-to-day operations, the behavior of any organization of nontrivial size reflects the decisions and actions performed under various circumstances by the individuals within that organization, and these decisions and actions are often influenced or even dictated by the organizations policy.  Whether an implicit part of the work culture, or explicitly developed, communicated and enforced by management, policy plays an important part in determining the behavior, and thus ultimately the success, of the organization.

A given set of policy statements should imply logical consequences that, under ideal circumstances, would be easy to determine.  Conceptually, it should be possible to determine whether a particular action under a particular circumstance conforms to or violates policy by simple examination of the policy statements themselves [Sibley, Michael, Wexelblat, 1991].  In practice, however, the full consequences of a policy set may be unclear because of large numbers of policy statements, the complexity that arises when those statements interact with each other, and the presence of implicit policy statements.  Furthermore, it is not uncommon for policy sets to be internally inconsistent, to have “gaps” (that is, to leave important real-world circumstances unaccounted for), or to simply be unwieldy to communicate or work with ([Michael, Ong, Rowe, p. 1], [Stone et. al., p. 10]).  The use of policy to manage networks and other complex distributed systems [Damianou, 2002] is of growing importance, and as these techniques mature we can expect that creating, refining, and communicating policy for them will become ever more challenging.

To deal with these problems, the concept of a policy workbench has been proposed [Sibley, Michael, Wexelblat, 1991].  As a collection of tools for supporting the development, refinement, communication and enforcement of policy, a policy workbench exploits the formal logical structure implicit in any collection of policies.  Though the policy workbench concept has significant potential, this potential is not being realized, in part because of human-machine interface issues.  In particular, the transformation of policy statements from natural language into an equivalent representation appropriate for formal analysis is a labor-intensive and error-prone task requiring skills in both formal methods and the application area within which the policy statements apply.  This difficulty is exacerbated by the fact that policies are constantly evolving, so that a policy database must be updated on a regular basis. 

This paper investigates the use of natural language processing (NLP) techniques for converting general statements of policy from a plain-text natural-language form into an equivalent computational form that can be processed using formal methods.  Building upon the work of previous researchers, we propose an architecture for representing and processing the semantic content of policies.  The architecture is distinguished by the use of semantic networks as a representation language for both statements of policy and objects within the domain of policy.  Conformance to, or violation of, the policy set is established by determining whether a semantic network representation of a policy statement is a sub-semantic network of the semantic network representing a given domain object.  We present a case study in which statements of policy taken from a web-site policy database are mapped to a graphical form, and these representations are studied to identify potential problems and opportunities associated with the conversion of policy statements and domain objects into semantic networks. 

The remainder of this paper is structured as follows.  Section 2 introduces the topics of computer support for policy, the policy workbench, and natural-language processing.  Section 3 describes related work carried out by other researchers and presents background information on natural-language processing.  Section 4 presents our architecture and investigates design issues through a case study.  Section 5 discusses the results of the case study, and Section 6 presents conclusions.  Appendix A documents our Mathematica code, which generates graphical representations of meaning lists.


II.  POLICY AND THE POLICY WORKBENCH

The term policy is being used in this paper in the same way that an ordinary person would use it in normal conversation: as set of rules that may, under extreme circumstances, be violated, but which otherwise constrain or delineate the behavior of the different actors within a group or organization.  Even so, when used within a software engineering context, the term policy is an ephemeral one [Sibley, Michael, Wexelblat, 1992], perhaps because the relationships between policy and formal systems can be somewhat abstract, or perhaps because practical applications in areas such as networking are not always transparent.

In this section, we discuss policy as a way of organizing the behavior of groups of people, and also as a way of controlling the behavior of distributed hardware systems.  Two key points are emphasized.  First, policy sets contain logical structure that can be analyzed and refined through formal methods akin to those used in software development.  Second, policy supports certain abstractions that can significantly simplify the tasks of all policy stakeholders. 

 

A.  MOTIVATION: POLICY, COMPLEXITY, AND ABSTRACTIONS

A passenger suffers a heart attack onboard a rush-hour commuter train.  The conductor does not stop for medical aid, but instead continues on route, picking up passengers along the way.  The unfortunate heart attack victim dies within an hour.

During the subsequent inquiry, a general manager for the transit authority stated that there is a clear policy for medical emergencies onboard a train: stop at the next station and wait for an ambulance.  However, an assistant conductor who was at the scene pointed out that the train operates on CSX owned tracks, and that CSX rules forbid trains to make unauthorized stops or to ride through a station without stopping.  It was also pointed out that during a previous medical emergency a train stopped at a local station and had to wait 25 minutes for an ambulance; continuing on into the city might have actually reduced the wait for professional medical assistance.  A spokesperson for Amtrak said that Amtrak was “very interested” in determining exactly who had jurisdiction over the train and the tracks [The New York Times, 1 August 2002].

As this story illustrates, policy plays a critically important role in shaping the behavior expressed by the individuals within an organization.  Policies are pervasive in the civilized world, and whether assuming the role of taxpayer, motorist, or competitor in an economy, we often follow policies without even thinking.  It is easy to overlook that policies are usually intended to provide benefits to the group as a whole at the expense of some cost, constraint, or increased effort to each individual. 

Yet as the story also illustrates, policy can be poorly designed and justified, difficult to communicate, and even internally inconsistent, and can thus lead to results that benefit no one.  These characteristics are symptoms of a more fundamental problem: complexity.  To a person required to conform to a policy set, complexity can arise due to coupling between policy statements, conflicts (real and/or apparent) between policy statements, or simply because of large numbers of policy statements.  Complexity can also impact other policy stakeholders; for example, it may not be clear to a policymaker how to construct a policy set to achieve a given set of organizational goals.  Implicit, unwritten policies compound this complexity, as does the common assumption that exceptions to policy can be made under extreme circumstances.  Complexity can thus confound the efforts of all policy stakeholders: policy developers, policy maintainers, policy enforcers, and those who must conform to policy.

Policy is not the only discipline that faces significant boundaries imposed by complexity.  It has been known for many years [Brooks, 1995] that complexity limits the scope and sophistication of practical software systems.  One of the most important mechanisms used by software engineers to deal with complexity is abstraction.  As defined in [Berzins and Luqi, 1990, p. 2], an abstraction is a simplified view of a system which contains only the details significant for a particular purpose.  Abstractions are essential for the development and maintenance of large-scale, complex systems, because only through abstractions can such systems be analyzed and synthesized by individual persons. 

Abstractions play a similar role with policies.  It is generally accepted [Michael, Ong, Rowe, 2002] that policies can be broadly classified as meta-policy, goal-oriented policy, and operational policy, and a look at each of these policy types indicates the sort of support they can provide for abstractions.  (The definitions and examples that follow are from [Michael, Ong, Rowe, 2002].)  A meta-policy is a statement of policy about policy.  Examples of meta-policy include “All passwords must comply with Security Statement XYZ,” and “All policies regarding the removal of equipment from a building are security policies.”  Statements of meta-policy provide simplifying abstractions because they allow policy to be grouped and reused.

A statement of goal-oriented policy specifies only the required final circumstances that the domain object must meet.  (A domain object is a person or thing that must obey a given policy statement.)  As an example, the policy statement “Passwords must be hard to guess” requires domain objects to devise passwords that satisfy this goal; the exact mechanism they use is of no concern.  Goal-oriented policies allow (and in fact, require) domain objects to determine for themselves the mechanics of achieving the required goal.  Policies of this type free the policymaker to think more abstractly, because the policymaker is not required to explicitly specify how the desired circumstances are to be achieved. 

Goal-oriented policies allow the high-level goals of an organization to be decomposed into a hierarchical collection of “miniature” goals.  This hierarchy of goals is also a hierarchy of abstractions:  the high-level goals are the most abstract, and the lower-level goals are necessarily much less abstract, in the sense that achieving the lower-level goals is normally expected to require less thought or “creativity” on the part of the domain objects at that level. 

In contrast, a statement of operational policy is one that specifies explicitly a procedure that must be carried out, or a low-level requirement that must be satisfied.  Examples of operational policy statements include “Passwords must be changed every three months,” and “Passwords must contain at least one special character.”  Statements of operational policy certainly incorporate abstractions; in fact, general statements in any natural language express a wealth of information that is not detailed explicitly.  However, it could be argued that operational policy is distinguished because, to some extent, it provides domain objects with the exact opposite of an abstraction: operational policies are explicit instructions or tasks that can be carried out in a mechanical way, and the domain objects are relieved of even minimal judgment, creativity, and responsibility.  Operational policies allow a policymaker to use abstractions in an arbitrary way as the goals and high-level policies of an organization are being developed, but to insulate domain objects from those abstractions.  This insulation may be of value when the high-level goals of an organization are complex, confidential, or simply of no significance to the domain objects.

 

B.  POLICY-BASED NETWORK-MANAGEMENT

For many of the same reasons that policy is used to manage the behavior of organizations of people, policy is of late emerging as the preferred way of managing distributed computing systems and networks [Sloman, Lobo, Lupu, 2001].  Managing a network of heterogeneous servers, routers, and other components is a difficult task because even a moderately sized network may be impractical to configure manually [Damianou 2001, p. 14].  As clients using a network request, and become willing to pay for, various levels and combinations of security, priority, and performance (that is, various levels of Quality of Service (QoS), in terms of packet loss, delay, jitter, etc.), the complexities associated with network management will increase correspondingly.  Hardware and software that allows network managers to specify network behavior in terms of policy is simplifying network control, in large part by abstracting away from the network administrator many of the inconsequential details of network configuration.

One way of configuring a policy-based network-management scheme is shown in Figure 1 [Joyce and Walker, 1999].  A policy server contains a policy repository, which holds a complete database of all policy statements.  Network conditions are monitored by the policy server (or more generally, at a Policy Decision Point (PDP)), and when conditions warrant, a command to change configuration is sent to the appropriate elements in the network, such as switches, routers, and firewalls, which are also known as Policy Enforcement Points (PEPs).  This command may be sent directly to the network element if the element contains a policy agent to interpret the command.  If the network element is not capable of interpreting the command, a stand-alone configuration proxy issues the device specific configuration commands. 

The arrows shown in Figure 1 indicate information flows between the policy server and the various policy support and network elements.  It is important to note that the flow of information is not one-way; the Policy Server may need to configure the network based on information that is not available at the appropriate network elements.  For example, a policy could potentially specify that when traffic becomes heavy at one point in a network, certain actions be taken at another, far-away point in the network.  Thus, by sampling the network at a rate somewhat faster than the maximum rate at which its characteristics might change, the policy server can exercise a form of “global” control over the network.  This type of control could not be carried out by any individual network element with its locally available information.

 

Figure 1.  Hardware relationships in a policy-based network-management scheme [Joyce and Walker, 1999].  Arrows indicate communication flows.  A Configuration Proxy allows policy-based network-management to be used even with legacy hardware that does not contain a Policy Agent.

 

Figure 2.  Statements of policy, like programs in a high-level programming language, are representations at a high-level of abstraction.  Policy statements apply to distributed systems; that is, to systems composed of large numbers of processing elements.  Conventional computer programs are executed on a single processor.

 

It is important to note that although the use of policy for network configuration provides significant power and flexibility to a network administrator, this power and flexibility can potentially incur a significant cost if complexity is not managed.  It is well known that even the most thorough testing of an ordinary desktop application will exercise only a small number of the possible paths through the code, and only a small fraction of the values that the variables can simultaneously take;  challenges at least as significant can be expected to hold for policy sets controlling a network.  Novel failure modes, such as instabilities in a computer communication network can also arise if policy is not chosen carefully.  That is, because a policy server makes policy-related decisions based on the conditions it senses on the network, the behaviors of network elements could potentially switch back and forth between two or more unstable states.  Careful analysis of policy sets before deployment on a network could play an important part in avoiding this and other problems. 

 

C.  THE RATE AT WHICH POLICIES CHANGE

To avoid confusion when reading the literature, is important to keep in mind that when considering the rate at which policies change, two different time scales must often be considered.  A natural time scale to use when considering the action of any policy is that over which the policy applies in a single case of application.  For example, a natural time scale for considering traffic laws would be on the order of minutes or hours, which is the time for a typical automobile trip to which those policies would apply.  Similarly, a natural time scale for considering tax laws in the United States would be a year, because tax laws typically apply over that span of time.

For the most part, policies do not change quickly when measured in their “natural” time scale: traffic laws usually change slowly with respect to the pace of traffic, and though each year sees a great number of changes to tax laws, those changes typically represent only a small fraction of the total set of tax laws.  In this sense, it is appropriate to say that “...policies are relatively static compared to the state of the managed system” [Damianou 2002, p. 17].

 

However, even if policies change slowly with respect to the state of the managed system, that change may be very quick in a real-time sense.  Furthermore, policies that change slowly with respect to the state of the managed system still require careful consideration by all stakeholders, because any change, even when apparently small with respect to the entire policy set, can potentially influence any other policy.  Thus, even when policies are relatively static with respect to the state of the managed system, computer support for policy management can be extremely valuable.

 

D.  THE POLICY WORKBENCH

In addition to supporting abstractions that simplify conceptual and practical work, policy within an organization can be changed or refined relatively quickly to address, for example, a non-stationary environment or to support evolving organizational goals.  The important role that policy plays in determining the behavior of an organization, combined with the fact that policy can be changed quickly and cheaply, suggests the following analogy: In a broad sense, an organization behaves under the control of a particular policy set in much the same way that a hardware microprocessor behaves under the control of a particular software program.  That is, though a policy set does not comprehensively specify every detail of a human agents behavior (such as how to answer a phone), it does specify an agents behavior in enough detail that successful policies can be distinguished from unsuccessful policies.  Furthermore, policy sets typically contain a large number of policies, these policies are typically interrelated, and policies specify behaviors to a non-trivial amount of detail.  These considerations taken together suggest that tools like those used in software development [Berzins and Luqi, 1990] may provide valuable support to various policy stakeholders.

The policy workbench, proposed in [Sibley, Michael, Wexelblat, 1992], is an integrated collection of software tools for aiding in the formal analysis of policy.  Among the tasks that the policy workbench is envisioned to perform are the following.

Policies are statements about the allowable behaviors of an organization; however, policies are generally developed to promote the high-level goals of an organization.  Because it is often unclear how best to shape the behaviors of individuals to move towards a set of high-level goals, it makes sense to analyze and refine policy statements with a tool like the policy workbench before imposing them. 

 

E.  THE HUMAN-MACHINE INTERFACE FOR A POLICY WORKBENCH

The policy workbench was conceived as a tool for lawmakers and enforcers, business managers, information security personnel, and anyone else involved in the creation, enforcement, and conformance to policy.  It was recognized during early work [Sibley, Michael, Wexelblat, 1992] that it would be an unacceptable distraction for most policy stakeholders to learn an artificial language, even one that was somewhat “natural,” to interact with a policy workbench.

This provides the motivation for a natural-language input system for a policy workbench, but we see a natural-language input system as only one part of a comprehensive human-machine interface for a policy workbench.  For the natural-language input system to be of maximum effectiveness and efficiency, we envision the human-machine interface for a policy workbench as including an output system that provides the user with direct and immediate feedback on how the workbench is interpreting the input.  That is, after providing a natural language statement of any sort to the policy workbench, and before the next natural language statement is submitted, the workbench should respond with an expression stating its interpretation of the human input.  Ideally, this expression would be in natural language text.  However, even feedback consisting of the workbenches interpretation in a computational format would be valuable; this is because the human operator would only need to understand the language, and would not have to generate statements in this language. The purpose of this feedback would be to give the human operator the opportunity to catch mistaken interpretations as soon as possible, and to provide corrections while the intent of the policy was still in mind.

Figure 3.  The human operator of a policy workbench provides policy and control statements in a natural-language format, and receives immediate feedback about how the natural-language statements have been interpreted.  Though feedback in a graphical or natural-language format would be optimal, such formats are not absolutely necessary.

 

Direct and immediate feedback to a user, as indicated in Figure 3, will compound the benefits of a natural-language input system.  The most important benefit of such feedback is that it would help to maintain the integrity of the policy database: it allows the user to take corrective action as soon as a misinterpretation on the part of the workbench occurs.  Without this feedback, inputs that are misstated by the user, or equivalently misinterpreted by the policy workbench, will become integrated within the policy database.  The case of the human-machine interface without feedback is similar to that of an open-loop control system, while the case with feedback is analogous to that of a closed-loop control system.

 

Other benefits can be identified.  Information about how an input is being interpreted could allow the user to provide corrective feedback to natural-language processing systems that adaptively learn from their mistakes.  Conversely, a policy workbench with a mature and stable natural-language processing system could return information to a user to help them learn about the capabilities of the policy workbench, or even to help them learn certain specifics of a particular application domain.


III.  THE POLICY WORKBENCH AND NATURAL-LANGUAGE SUPPORT FOR POLICY:  PREVIOUS WORK

In this section, we discuss six papers that present ideas relevant to our later discussions.  The paper by [Sibley, Michael, and Wexelblat, 1992] introduces the concept of the policy workbench and explores issues associated with its development and use.  The second paper, [Michael, Ong, and Rowe, 2002], describes the development of a prototype natural-language input system for a policy workbench.  Our work in Section IV of this paper uses [Michael, Ong, and Rowe, 2002] as a baseline for comparison.

[Cuppens and Saurel, 1996] and [Sergot et. al., 1986] both present studies involving the manual translation of natural language policy specifications into a computational form appropriate for computer-aided analysis; these works are of interest here because we are developing a system to carry out automatically what they have successfully done through manual labor.  [Damianou et. al., 2001] describe the policy specification language Ponder, which provides a common language for specifying access and control implementation mechanisms for distributed object systems.  [Sloane, 1991] describes the deployment of a system that is in some ways similar to a policy workbench onboard a United States Navy ship. 

Finally in this section we discuss some basic concepts associated with natural language processing that will provide support for our later work.  We present brief summaries of modal auxiliaries and quantifiers, fuzzy descriptors, speech act theory, and anaphoric references.

 

A.  USE OF AN EXPERIMENTAL POLICY WORKBENCH: DESCRIPTION AND PRELIMINARY RESULTS

The first part of [Sibley, Michael, and Wexelblat, 1992] presents a requirements analysis, a preliminary design, and a prototype implementation for an integrated collection of tools to support the formulation, analysis, and implementation of policy.  The set of tools, referred to as a policy workbench, is envisioned to be a general purpose system applicable to any policy domain, and requires only that the user have appropriate domain knowledge, with no specialized knowledge in formal systems necessary.  The second part of the paper presents two case studies that illustrate the potential use of a policy workbench.

The paper begins with a requirements analysis for the policy workbench.  Several observations, summarized below, are established that are important for any work with policy.

The policy workbench itself, shown below in Figure 4, consists primarily of the following three components.

 

Figure 4.  Relationships between policy workbench tools.  Adapted from [Sibley, Michael, Wexelblat, 1992, Fig. 1].

 

To illustrate the use of a policy workbench, a case study involving the analysis of a set of security policies for a secure work area is presented.  A set of 21 policy statements, 11 real-world facts, and nine statements from a hypothetical “employee manual” were analyzed, converted into a computational form, and processed with a theorem prover.  The preliminary policy analysis phase required very little computer support, because it involved defining the problem and establishing the real-world facts needed for subsequent analysis to be automated.  However, checking for inconsistencies, determining whether a policy set was minimal in a formal logic sense, and generating the logical consequences of the policy database relied heavily on OTTER, a resolution-style theorem prover program.  The authors report that the time required for analysis by the theorem prover was sometimes significant, and that techniques for reducing the size of the search space were thus an important area for future research.

 

B.  NATURAL-LANGUAGE PROCESSING SUPPORT FOR DEVELOPING POLICY-GOVERNED SOFTWARE SYSTEMS

[Michael, Ong, and Rowe, 2001] describe the architecture of a Natural-Language Input Processing Tool (NLIPT), and report experiments that they performed with a prototype of one component of it, the extractor.  Their NLIPT, shown below in Figure 5, is comprehensive in the sense that it processes all user input, including policy statements, queries, and scenarios.  The NLIPT operates by generating a meaning list representation of the natural-language input, and then by generating a set of key index terms by selecting and weighting terms from the  meaning list.  The key index terms are used to retrieve one or more structural schema of applicable policy statements from the Policy Element Identifier Tool of the policy workbench.  The structural schema returned by the policy element identifier tool contain implicit facts and hierarchical relationships that can be exploited by the structural modeler to generate a conceptual schema from the meaning list.  The conceptual schema is then processed by the logic modeler, which infers such things as quantifiers and their scope, to generate a first-order predicate logic representation of the input. 

 

Figure 5.  Architecture of the Natural-Language Input Processing Tool.  Figure adapted from [Michael, Ong, and Rowe, 2001, Figure 1].

 

 

The prototype extractor operates, as shown in Figure 6, by generating a part-of-speech tag for each word in the natural-language input, and by grouping together, or “chunking,” multiword syntactical units such as noun and verb phrases.  This tagged and chunked input is converted into a series of Prolog predicates by an intermediate processor written in Java.  A program written in Prolog then generates a meaning list for the input using a finite state grammar that was tailored to capitalize on the structure expected to be seen in typical policy statements.

                                      

Figure 6.  Data flow diagram for the Extractor.  Adapted from [Ong, 2001, p. 41, Fig. 5].

 

 

The prototype extractor was tested by applying it to a collection of policy statements for a university web site, and it was found that 96% of the meaning list terms it generated were correct.  Full sentences consisted, on the average, of eighteen meaning list facts, so that the number of wrong meaning list facts was about (1-0.96)*18=0.72 per sentence; in other words, there was more than one error per two sentences.  The authors point out that the use of a full context-free grammar in the meaning list generator would likely improve performance, as would refinements to the part-of-speech tagger and chunker.

 

C.  SPECIFYING A SECURITY POLICY: A CASE STUDY

The work presented in [Cuppens and Saurel, 1996] provides significant insights into the relationships between natural language statements of policy and equivalent computational forms.  The authors present a logic-based language for expressing statements from a natural-language security policy, and they use a case study to both motivate key components of the language and to illustrate how the language is applied.  A security document consisting of 60 pages of natural-language text was studied, and the main logical concepts used within it were identified and then formalized in the (unnamed) language.  The authors state that the expressiveness of the security document was rich, and it expressed concepts such as obligation, permission, prohibition, responsibility, and delegation. 

The language developed in [Cuppens and Saurel, 1996] is intended to allow security administrators to specify, define and formalize security policies for a particular high-security-risk environment.  Though the case study presented in this paper focuses only on the formalization of security policies, the language being developed is envisioned to provide representations that will allow security administrators to carry out the following tasks.

To represent policy statements like those found in the security document, the authors incorporate into their language the fundamental constructs of objects, events, actions, and agents.  Additional concepts such as delegation, obligation, permission, and prohibition were also included.  Concepts such as obligation, permission, and prohibition are characteristic of deontic logic, which is used to reason about ideal and actual behaviors [Meyer et. al., 1996].  Deontic logic is an important component of the language presented in this paper. 

The language uses objects as a way of organizing data and associated operations, and also to support inheritance so that different levels of abstraction can be represented in a hierarchical way.  Events are used to express ways in which the environment may change.  Actions are applied to objects that occur in a regulation, and are expressed as methods of an object.  Both events and actions have temporal constructs associated with them: the Event class has the boolean attributes Before, During, and After, and actions support the three corresponding binary predicates Before_Exec, During_Exec, and Exec (which is an abbreviation for After_Exec).

The language also provides constructs for further deontic expressions such as obligation, permission, prohibition, and for actions that are often implicit or indirect.  For example, a goal-oriented policy will only specify the results of an action without specifying the actions themselves.  Similarly, a policy statement may only specify the person that is responsible for ensuring that an action is carried out; the agent who actually performs the action is not named.  To support implicit and indirect actions such as these, the language provides the operator Do.  Informally, if a is an agent, and p is a formula that describes an expected effect of an action, the expression Do(a,p) specifies that a brings it about, or sees to it, that p is the case.

The authors point out that many of the statements from the policy document can be put in the form: if some condition is satisfied, then a particular agent is prohibited, obligated, or permitted to do something.  This point is supported by several examples which show natural language statements taken from the policy document along with the corresponding computational representation in their formal language.  The following is one of these examples [Cuppens and Saurel, 1996, p. 131].

During the time an agent is elaborating a document classified at the secret level, he/she is obliged to work in a protected area.

                            Agent(a)

                        Ù  Classified_Document(d)

                        Ù  Classification(d)=Secret

                        Ù  During_Exec(a,Elaborated(d))

                        ®  O $ z, (Protected_Area(z)

                                    Ù During_Exec(a, Work(z)))

This example illustrates the use of the deontic modality “O,” which specifies an obligation.  Except for a few policy statements with particularly complex structures, the authors were successful in representing all statements from the policy document in their formal language.

Of particular interest are the difficulties the authors encountered in interpreting and translating the natural language statements from the security document.  The authors note that a significant number of these statements could only be interpreted as simple observations of fact, or statements of advice; such statements were discarded.  Another difficulty was “... to identify which agents are concerned with each norm of the instruction: this information was often left implicit in the regulation.”  That is, the natural language policy statements often left unspecified the particular domain objects that the policy applied to.  A further difficulty was the intentional ambiguity in the subject policy document: “the lack of precision ... was deliberate in order to make the regulation applicable by a large variety of organizations.” 

 

 

D.  THE BRITISH NATIONALITY ACT AS A LOGIC PROGRAM

As with [Cuppens and Saurel, 1996], our interest in [Sergot et. al., 1986] comes about (in part) because they have done “by hand” what we hope to accomplish automatically: they have successfully converted a piece of statutory law, the British Nationality Act of 1981, into a logical representation appropriate for computer-aided analysis.  The work of [Sergot et. al., 1986] is also noteworthy for its observations on logic programming (especially the formalization of negation), and applications of formal representations.

[Sergot et. al., 1986] generate their representation of the British Nationality Act in terms of Horn-clause logic, a segment of first-order logic which, though restricted in its expressiveness, lends itself well to efficient theorem provers.  Their formalization was developed in a top-down way.  That is, high-level concepts (for example, “place of settlement”) were successively replaced with lower level concepts until reduced to undefined, concrete concepts, which can in turn were established by reference to the particular case under study, and through various other means.

Their development also occurred with a significant amount of trial and error: logical representations for a particular clause would be generated, and then refined in accord with observed shortcomings.  According to standard programming practices, this approach would be deemed bad practice; good methodology requires a correct and complete program specification before coding begins.  However, the authors point out that the formalization of legislation and policy is much more like the development of a formal specification for a piece of software, or like the development of axioms for an axiomatic mathematical system, than it is to the development of a program.  That is, though their finished product has the outward appearance of a program, in substance it is much more like a formal specification; they essentially converted an informal specification into a formal specification.

 

E.  PONDER:  A LANGUAGE FOR POLICY SPECIFICATION

Though technologies like active networks, mobile agents, and management by delegation are increasing the flexibility and functionality of network services, they are also compounding the magnitude and complexity of tasks associated with maintaining a network and ensuring the integrity of the information traversing it.  Policy-based network management is one approach being developed for dealing with these problems.  Policy-based network management is based on a strict separation of network implementation from the policies used to manage it, so that the policy-based description of network behavior can be changed without requiring changes to the underlying network.  Ponder [Damianou et. al., 2001] is a policy-specification language developed to support policy-based management of the various entities that make up distributed-object systems.

The policy types that Ponder supports include access control policies, obligation policies, and constraints.  Access control policies deal with limiting the activities of legitimate users (that is, users who have been successfully authenticated).  Ponder supports access control through positive and negative authorization policies, information filtering policies, delegation policies, and refrain policies.  Ponder also supports obligation policies, which specify actions that must be performed by certain actors when certain events occur. 

A variety of techniques are available in Ponder for simplifying and organizing policy.  Constraints can be expressed in Ponder through a subset of the Object Constraint Language, and policy can be specified in terms of roles and groups.  Specifying policies in terms of roles, instead of specific individuals permits personnel to be changed without requiring that policy statements be changed, while groups allow policy sets to reflect organizational structure, providing simplicity and opportunities for reuse. 

A significant concept used with Ponder is that of domains.  Domains are a means of partitioning objects to which policies apply according to geographic boundaries, object type, or other ways convenient for human managers.  Domains are similar to directories, and are implemented through the use of LDAP services. 

 

F.  THE USE OF ARTIFICIAL INTELLIGENCE BY THE UNITED STATES NAVY

[Sloane, 1991] describes how a sophisticated software system for knowledge extraction, storage, and transfer was introduced on board a nuclear-powered aircraft carrier.  This software system, despite its potential, never “caught-on” with ship personnel because it was perceived as not supporting users needs.  The system eventually died from neglect.  A look at some of the reasons behind this failure illustrates how a software tool for improving the performance of an organization can fail for a number of reasons other than its technical quality.  In particular, a tool for knowledge storage and retrieval has to be positioned within an organization so that its capabilities are relevant and useful to end users.  Also, users must be provided with appropriate resources, such as time and training, to successfully exploit the tool.

The deployed software system, called “ZOG,” was conceived to provide benefits similar to those that would be provided by a simple policy workbench.  Specifically, it was to allow ship personnel to extract information about billets, individuals, and task responsibilities as the need for such information arose during problem solving.  A critical aspect of ZOG was that the information within it was to come from the crew itself:  ZOG’s information databases were to be populated and constantly refined by the ships officers and crew, so that knowledge gained through experience would be retained despite personnel turnover.  ZOG would thus become a hardcopy record of corporate procedures, memory, and expertise.

For a number of reasons, however, ZOG was rarely consulted, and even less frequently updated.  In part this was because the ship was first and foremost required to perform as an operational aircraft carrier: Operational readiness was of the utmost concern for shipboard personnel, and as a research project with benefits that were not immediately visible, consulting and maintaining ZOG became a low priority.

Of equal significance was the problem of responsibility assignment.  A deployed aircraft carrier is among the most hazardous work environment in the world, and as a consequence the ships officers and crew bear a heavy responsibility for all decisions and actions.  This responsibility could not be assumed by a machine, and so ZOG’s output was reduced in the eyes of users from credible guidance to mere suggestions requiring evaluation by the user.

The pace of onboard decisions and actions also served to marginalize ZOG.  In many cases it was critical not just that the right decision be made, but also that the right decision be made quickly.  ZOG’s keyboard driven menu system and the uncertain quality of its outputs made ZOG too inefficient for practical use.

 

G.  NOTES ON NATURAL LANGUAGE PROCESSING TECHNOLOGY

 

1.  Modal Auxiliaries and Quantifiers

Modal auxiliaries appear frequently in natural language statements of policy, and they are important because they mark deontic logic constructs common in policy statements.  As explained in [Hodges and Whitten, 1982], an auxiliary verb is a verb used with a main verb in a verb phrase; examples include be, have and do.  An auxiliary typically indicates tense, and may also indicate voice, mood, person, and/or number.  Modal auxiliaries are auxiliaries that do not take inflectional endings such as -s, -ing, or -en.  Examples of modal auxiliaries include will, would, shall, should, may, might, must, can, and could.

It is interesting to note that  “there is only partial agreement among linguists as to which words are modal auxiliaries” [McCawley, 1998], though there are several linguistic requirements that at least some linguists hold to be necessary for something to be a modal.  These requirements are for the most part quite technical, but one states that a “modal” term is one that refers to “alternate possible worlds” by expressing a notion such as possibility, necessity, or desirability. 

As explained in [Jurafsky and Martin, 2000], a number of different kinds of word classes can appear in a noun phrase between a determiner and the head noun; these include cardinal numbers, ordinal numbers, and quantifiers.  A quantifier specifies for how much or for which part of a domain a propositional function is true.  For example [example from McCawley, 1998], in “Some politicians are honest,” the quantifier “some” indicates that “x is honest” is true of some non-empty part of the domain defined by “politician.”  Stated in another way, all politicians are either honest or not honest, and those that are honest make up some non-zero fraction of all politicians.

 

2.  Fuzzy Descriptors and their Modeling

In some cases an element of a domain may not make a proposition completely true or completely false; sometimes an element of a domain makes a proposition true only in some qualified sense.  For example, when stating whether a particular individual fits a descriptor such as “fat” or “jolly,” the answer in most cases is not a clear and simple “yes” or “no,” but rather a more qualified phrase like “sort of.”  [McCawley, 1993]  In a similar way, a natural language policy statement for a web site might refer to a “large graphic,” or might require that a certain HTML construct “be used sparingly,” where “large” and “sparingly” are not specified in detail.  Using only our intuition, we may feel that the degree to which a given graphic is large is “not really,” “sort of,” or “quite.”

One approach for dealing with these vague terms is through fuzzy logic.  As a generalization of normal two-valued logic, fuzzy logic allows predicates to take truth values that fall within the interval [0,1].  For example, we may feel that a particular individual is “jolly” to a degree of 0.7.  Similarly, a graphic appearing on a web page may fit the quantifier “large” to the extent 0.4.  It is important to note that we are not saying that “the graphic under consideration has a probability of 0.4 of being large.”  Rather, we are saying that it fits, or conforms to, the quantifier “large” to the degree 0.4.  Something that perfectly fit the term “large” in an unqualified way would be “large” to degree 1.0, while something that absolutely did not fit would be “large” to degree 0.0.  Fuzzy descriptors are derived from the concepts of fuzzy logic, and provide a non-probabilistic way to model vague quantities that appear in natural language text.  Verbs, nouns, adjectives, and grammatical quantifiers can be fuzzy in natural language text.

Multiple fuzzy terms that appear in a single sentence can be combined according to the formulas (shown in prefix notation) below .  These formulas are natural generalizations of the rules for normal 0-1 logic [McCawley, 1993].  However, it is important to note that these equations provide only upper bounds for the terms in question, and these upper bounds can be far from the average case. 

 

                                                /~A/     = 1-/A/

                                                /ÙAB/  = min(/A/, /B/)

                                                /ÚAB/  = max(/A/, /B/)

                                                /ÉAB/  = 1 if /A/£/B/

                                                            = /B/ if /A/ > /B/

 

To assign a fuzzy value to an expression, a number of different techniques can be used.  Taking as an example the case of determining whether a graphic is “large,” we might proceed by finding the distribution of graphic sizes within one or more web sites, and then assigning a given graphic a fuzzy value for “large” depending on where it falls in the distribution.  In other words, suppose we knew that 80% of the graphic images in some comprehensive sample were smaller in size than the graphic in question.  We would assign that graphic a fuzzy value of 0.8 for the attribute “large.”  We could conclude that a policy statement “Large graphics are prohibited on pages that satisfy X” would be violated to the degree 0.8 by the presence of this graphic on a page that satisfied the criteria X.

 

3.  Speech Act Theory

In the analysis of natural language text, and in the development of software for processing such text, it is important to recognize that there is much more information contained in a natural language expression than is apparent through purely logical means: speech is a sophisticated form of human interaction, and social forces impose a number of conventions and subtleties that must be recognized and understood before information can be successfully extracted.  Any speech statement is a social act, just like shaking hands, and is full of subtle conventions that prevent meaning from being extracted through purely logical analysis.  Speech has to be interpreted as a social interaction in order to be fully understood [McCawley, 1993].  This is especially important for natural-language policy, where statements may be worded in polite ways that do not appear as imperatives syntactically.

A simple example of a speech act is the question: “Could you close the door?”  Though a response of “Yes” would be a logically correct answer, such a response would strike any fluent speaker of English as odd, because the question is in fact a polite request that the door be closed.  The speaker knows that the person to whom the question is addressed is capable of closing the door, and is simply asking them to do so in a polite, informal way.

As another example, the following hypothetical letter-of-recommendation [Pinker, 1994] contains only the most positive expressions about the person being recommended, yet it is unlikely that this letter will gain that person much credibility in the eyes of the recipient.  This simple example illustrates that speech acts can appear in written just as well as spoken form.

 

Dear Professor Pinker,

                I am very pleased to be able to recommend Irving Smith to you.  Mr. Smith is a model student.  He dresses well and is extremely punctual.  I have known Mr. Smith for three years now, and in every way I have found him to be most cooperative.  His wife is charming.

                                                                                                Sincerely,

                                                                                                Professor John Jones

In a literal sense this letter makes only the most positive statements about Mr. Smith, yet at the same time it clearly conveys the message “Stay away from Smith: he’s dumb as a tree” [Pinker, 1994].  This twofold meaning comes about because the positive statements about Mr. Smith concern things that are entirely irrelevant in the academic sphere.  The author of the letter does not explicitly express his true feelings because an explicit expression of these feelings would be distasteful to both the writer and the reader, and furthermore the author probably wants to distance himself from anything that might cause harm to someone with whom he has a relationship of trust.

Speech acts have no doubt evolved for a number of reasons:  to provide an “escape” that prevents people from being embarrassed (as in the example of the letter above), to save effort on the part of both the speaker and listener, and in general to make the communication process more effective and efficient.  One consequence of speech being effective and efficient is that “... listeners tacitly expect speakers to be informative, truthful, relevant, clear, unambiguous, brief, and orderly” [Pinker, 1994].  These expectations can provide important information for converting natural language text into a computational form.

 

 

4.  Anaphoric References

Another complication in interpreting natural language text comes about through anaphoric references.  A reference to something (i.e., to a person, place, or thing) that has been previously introduced into the discourse is called anaphora, and the referring expression used is said to be anaphoric [Jurafsky and Martin, 2000].  In many cases pronouns such as he and it are anaphoric references: if someone says, for example, Ask that policeman, and he will tell you, the pronoun he is a substitute referring to the recently mentioned policeman [Bloomfield, 1984].  However, anaphora can occur through a number of other syntactic structures, including both definite and indefinite noun phrases, demonstratives, and a structure referred to as one-anaphora [Jurafsky and Martin, 2000]. 

The problem of resolving anaphoric references is significant for processing natural-language policy statements, because often many separate but interrelated statements have to be coordinated into a conceptually unified whole.  Fortunately, several algorithms exist for identifying the referents of anaphoric expressions [Jurafsky and Martin, 2000].  One algorithm, due to [Lappin and Leass, 1994], uses weighting factors assigned to seven salience factors to determine the referent for anaphoric references.  It consists of five relatively simple steps, and takes into account potential referents that occur up to four sentences back.

A tree-search algorithm [Hobbs, 1978] takes the syntactic representations of previous sentences, and searches for the antecedent noun phrase among these syntax trees.  For correct operation, this algorithm depends on having correct and complete syntax trees for previous sentences.  An algorithm by [Brennan et. al., 1987] is based on the idea that at any point in a normal dialog, there is a single entity being “centered” on, or in other words that the dialog is focusing on some particular noun phrase.  This algorithm attempts to track the entity being centered on.

 

 


IV. NATURAL-LANGUAGE SUPPORT FOR POLICY: ARCHITECTURE AND CASE STUDY

The current state-of-the-art in natural-language processing (i.e., [Allen, 1995], [Guglielmo and Rowe, 1992]), along with previous work towards the development of natural-language input systems for a policy workbench ([Michael, Ong, Rowe, 2002], [Ong, 2001]) together support the hypothesis that a robust natural-language input interface for a policy workbench is technically feasible.  However, despite the many applications that would benefit from a complete and robust policy workbench with a friendly, easy to use interface, progress towards this goal has been slow.  It appears that complexity in components such as the index term generator, the policy element identifier tool, and the structural modeler has played at least some part in slowing this progress.  It is well known that complexity is one of the most significant obstacles in the development of sophisticated software systems ([Berzins and Luqi, 1991], [Brooks, 1995]), and that the appropriate use of abstractions, and the appropriate use of geometric or graphical techniques for visualizing data and algorithms can have far reaching benefits.  This is especially true in the development of prototype systems.

In this section we argue that the development of a natural-language input processor for a policy workbench can be simplified by representing policies and domain objects as semantic networks, and by exploiting graphical representations of the associated data and algorithms.  We begin by reviewing key requirements for a policy workbench, and we then present an architecture based on the use of semantic networks that we anticipate can meet those requirements.  We discuss the types of errors that our architecture may commit, and a taxonomy for policy statements.  We then present a case study in which ambiguities are identified in a collection of “real-world” policy statements, and transformation rules are proposed for eliminating these ambiguities.]

 

A.  REQUIREMENTS:  THE ARCHITECTURE AND ITS OPERATION

In this and the following subsections, we develop, analyze, and refine an architecture to support natural-language input to a policy workbench.  Throughout this process, requirements for our natural-language input processing tool (NLIPT) will include the following.

Our primary design consideration is to reduce the complexity of the natural-language input system, while not reducing the functionality of the workbench itself.  Complexity, of course, is a subjective term; our more specific goal is to use semantic networks as a vehicle for introducing geometric structures for the representation of data and for the interpretation of operations carried out on that data.  This requirement is motivated by our desire to have in hand a system that can be easily refined, and which has at least sub-components that can be analyzed to some extent.

Ideally, our NLIPT will be able to accept arbitrary statements of natural-language policy and represent them correctly in a computational form.  However, it is unlikely that we will be able to develop an ideal system, considering that even humans are well capable of misinterpreting each other.  We set for ourselves the “straw-man” requirement that our NLIPT accept arbitrary natural-language input, but falling short of that goal, we prefer a system that accepts natural-language statements that are somehow restricted in scope or structure, rather than a system that requires input based on a formal syntax, even if that syntax is “simple” or “natural” in some sense.

It is to be expected that the NLIPT for a policy workbench will be domain dependent to some extent.  The primary reason for this is efficiency: within a particular domain, there are fewer potential meanings associated with a given word in an input statement.  Also, probabilities associated with a restricted domain will be more accurate and easier to obtain.  However, we set as a requirement that the architecture of the system be as domain independent as practical, and that configuration of the system for a particular domain at runtime require only minimal effort.  We envision a system that could be configured for a particular domain by a developer, and for the moment we leave open the question of whether the system could be refined (either automatically, by the user, or by a developer) as it is being used in a particular domain. 

Our approach to meeting these requirements is to use semantic networks to represent both the meaning of natural-language policy statements, and particular instances of systems in the domain of the policy set.  As discussed in [Russell and Norvig, 1995], semantic networks are logical reasoning systems that incorporate nodes and relationships in a graph-like structure.  A key advantage of semantic networks is that they can be represented in a graphical format, which can help clarify characteristics that might be obscure when presented in a text-based format.  Conformance to, or violation of a policy statement by a domain object is established by determining whether the semantic network describing a policy statement is a sub-graph of the semantic network describing the object in the policy’s domain.  The material presented here reflects our belief that the full power of the first order predicate calculus as a representation language (as used in [Ong, 2001] and [Michael, Ong, Rowe, 2002]) may not be required to get useful functionality out of a policy workbench.  The semantic networks used in the following work are less sophisticated than the first-order predicate calculus in the sense that they provide no mechanism for universal quantification, yet at the same time they appear hold the representational power required for useful functionality.  This less comprehensive representation provided by semantic networks, along with the fact that they can be represented in an easy to visualize graphical format, promises to circumvent some of the complexities that appear to have held back work based on the full first-order predicate calculus.

A preliminary architecture is illustrated in Figure 6 below.  This architecture is considered to be preliminary because the details of several of its components, in particular both of the Semantic Network Generators and the Background & Common Sense Information source, will be specified more fully after the analysis of several policy statements in Subsection IV D.  In this subsection we focus only on what the various architectural components are required to do, and not how they are supposed to do it.  Also, to make our discussion more concrete we do not present our architecture in its full generality;  rather we present our concepts in terms of a system that processes natural-language policy statements for web sites.  Generalizations that are not obvious will be explicitly discussed.

Our natural-language input processing tool converts natural-language statements into semantic networks.  To illustrate how information in a semantic network format can be processed, we describe not just the natural-language input processing system, but also a computational technique for determining whether a domain object conforms to or violates a given set of policies.  In our more concrete discussions, this translates into a system that determines whether a given web site conforms to the policy contained in a natural-language web policy document.

Figure 7.  Proposed architecture for a system that automatically determines whether an arbitrary web site conforms to an arbitrary natural-language policy set.  The Natural-Language Input Processing Tool is at left in the grey box.

 

As shown in Figure 7, our architecture consists of several components of the following types.

The system operates by generating two semantic networks: one to represent a natural-language statement of policy, and another to represent one or more domain objects.  The semantic network representation of a natural-language statement of policy is generated from the meaning list produced by a natural-language parser.  Similarly, a separate semantic network is generated to represent some number of objects in the domain of the policy statement.  To generate this semantic network, a grammar and parser for domain objects will be developed. 

The two semantic networks are fed into the Graph Matcher.  The Graph Matcher determines whether a semantic network representing a policy statement is a sub-graph of the semantic network representing the domain object.  This is similar to, but not identical to, the problem of determining whether an isomorphism exists between two arbitrary graphs.  The problem of determining whether an isomorphism, or “matching,” exists between two given graphs is very expensive to solve in general, but there exist techniques that typically work well in practice.  As pointed out by [Johnsonbaugh, 1984], “... although every known algorithm to test whether two graphs are isomorphic requires exponential or factorial time in the worst case, there are algorithms that can determine whether ‘most’ pairs of graphs are isomorphic in linear time...”  A low cost algorithm for decomposing our problem (that of determining whether an isomorphism exists between a graph and a subset of another graph) into the more broadly studied problem(that of determining whether an isomorphism exists between two arbitrary graphs) will not be investigated here, but will instead be left as a topic for future work.

We can gain a more solid understanding of this architecture by considering a simple example.  Suppose we wanted to determine whether a web site conformed to the natural-language policy statement “Every web site must contain a link to the web-masters e-mail address, so that users can easily report broken links.”  This statement, minus the superfluous phrase “so that users can easily report broken links,” can be represented by the semantic network shown below in Figure 8.

Figure 8.  A semantic network representation for the policy statement “Every web site must hold a link to the web-masters e-mail address.”  Arrows point from the second term in a binary relationship to the first, or from an attribute to the entity that holds it.

 

 

To determine whether a web site conforms to, or violates, this policy statement, the graph matcher determines whether the semantic network shown in Figure 8 can be superimposed on, or “matched” with a semantic network representation of the domain object in question, which in this case is a web site.  A semantic network representation for a web site might look as shown in Figure 9.  The grey line in Figure 9 encloses a semantic network that corresponds to the semantic network representation of the policy, as shown in Figure 8; as a consequence, it can be concluded that the web site conforms to the policy statement.

Figure 9.  Partial view of a semantic network representation for a hypothetical web site.  The semantic network shown in Figure 8 could be superimposed over the sub-network within the grey loop.

 

 

This example prompts the following observations.

In addition, some key issues involving the generation of the semantic networks must be considered.  The Semantic Network Generators are responsible for producing the formal representations of both natural-language policy statements, and of domain objects.  In general, producing a formal semantic network representation for a domain object may be as difficult as generating a computational form for natural-language, though it is unlikely to be more difficult.  The case of a web site is expected to be relatively simple, because HTML is already a formal representation and thus only the structure of the statements has to be changed.  The time required for current natural-language parsers to generate a parse tree and a meaning list is on the order of minutes, and the time required for subsequent generation of a semantic network is not expected to be significant in comparison.  We anticipate that generation of a semantic network representation for domain objects such as web pages should take roughly the same amount of time at worst.  It is worth noting that the two Semantic Network Generators operate independently of each other, and could be run on separate processors. 

It is also worth noting that a chart parser has polynomial time complexity [Jurafsky and Martin, 2000], while graph matching requires time that increases exponentially [Johnsonbaugh, 1984].  Because our architecture consists of a chart parser providing input to a graph matcher, it might appear that the time complexity of our architecture would be exponential.  However, computational complexity is a description of the worst possible case, and as mentioned above, graph matching can be done in linear time for “most” graphs.  It is also important to note that natural language sentences of 30 words or more are uncommon [Covington, 1994] so that we are very close to the origin on any curve describing complexity.  The result is that for our application, the difference between an exponential and a polynomial time algorithm is not expected to be significant from a practical point of view.

In contrast, generating and making effective use of formal representations for natural-language will certainly be a challenging task.  A significant problem is that there are usually many ways to express a given statement of policy; that is, a given concept can often be expressed using many synonymous words, but also a variety of sentence structures.  For our architecture to operate effectively, we require that all of these “synonymous statements” be transformed into the same formal semantic network representation.  A lesser, but still significant concern is that different statements of similar wording or structure be converted into distinct and appropriate representations. 

 

B.  PRELIMINARY WORK: ERROR TYPES AND CAUSES

In a broad sense, there are only two types of errors that our architecture might commit: false negatives, and false positives.  A false negative is said to have occurred when a no is returned by the Graph Matcher when the proper answer is yes.  A false positive occurs when a yes is returned when the proper answer is no.  In each case, the yes or no refers to whether or not there is a match between the semantic network representations of a policy statement and a domain object.  These errors will occur when the semantic network representation for a policy statement and/or domain object does not accurately reflect its true characteristics.

A false negative occurs when the two graphs should match, but for some reason do not.  As a consequence of a false negative, it would appear that a domain object (such as a web site) violated a policy statement, when in fact it did not.  A false negative may occur for a number of reasons, including the following.

Conversely, a false positive occurs when the graphs should not match, but for some reason do.  As a consequence of a false positive, a domain object (such as a web site) that conformed to a policy statement would be classified as being in violation.  A false positive may occur for a number of reasons, including the following.

In considering whether false positives or false negatives lead to the more serious consequences, we might reasonably assume that for the most part, domain objects conform to policy, and that our architecture provides the most significant information when it identifies violations of policy.  Under this assumption, false positives would be the most costly type of error, because actual violations would go undetected.  That is, among the many true positives indicating the many domain objects conforming to a particular policy statement, there would be distributed a small number of false positives, each corresponding to a domain object which is in violation of policy, but which is reported as being in conformance.  Conversely, under this assumption false negatives would be relatively (though not completely) harmless: the suspect domain object would be investigated and acquitted from being in violation, with the only resultant cost being the time spent in the investigation.  Under the (somewhat odd) assumption that domain objects only rarely conformed to policy, we reach the symmetrically opposite conclusion that false negatives are the most costly and false positives are relatively harmless.  In the case where domain objects show no preference for either conformance to, or violation of policy, both types of error would appear to be about equally costly. 

As an aside, we would expect that a given system for detecting policy violations could “trade-off” false positives and false negatives.  That is, for a given fixed system, the number of false positives could be reduced only through a corresponding increase in false negatives, with the total number of errors remaining about the same.  Identifying how the parameters of a system must be changed to adjust this trade-off should be a part of any design.

There are a couple of potential approaches to reducing errors like these.  One would be to generalize in some way what we mean by a “match” between two semantic networks.  One of the simpler ways in which ambiguity can be reduced is through the use of a single representative term to stand for collections of synonyms.

Other types of ambiguity that can lead to errors may be more complex to deal with.  Most statements of policy (as well as most statements in any language) can be expressed in a number of different ways using a number of different sentence structures.  It is expected that different sentence structures expressing the same idea may produce meaning lists that are different.  At the very least, we know that many natural-language statements contain extraneous elements, or terms that can be eliminated without changing the semantics of the sentence.  For example, a policy statement might require “compliance with the provisions of Security Document XYZ.”  However, this dictate could more concisely require “compliance with Security Document XYZ,” because the expression “the provisions of” is superfluous.  Problems like this one can be fixed with a collection of rule-based transformations: after a meaning-list has been found, a collection of hand-constructed rules can be applied to eliminate known redundancies and to apply simplifications.  Standard synonyms can be substituted into a meaning list using the same technique.

 

C.  PRELIMINARY WORK:  A TAXONOMY FOR NATURAL-LANGUAGE POLICY STATEMENTS

Table 1 shows 13 statements of policy taken from a policy document, circa 2001, for web sites at the Naval Postgraduate School.  Several of these policy statements are made up of more than one sentence, so that Table 1 contains a total of 16 sentences.  (In subsequent discussions, we will distinguish between different sentences in a policy statement using a decimal notation; for example, the second sentence of Policy Statement 1 will be referred to as Policy Statement 1.2.)  These statements form a small but representative cross section of that policy document and of statements that we would expect to find in policy documents covering the same domain.  In this subsection we create a simple set of categories, or a taxonomy, within which these and other natural-language policy statements can be classified.  

A careful reading of the statements in Table 1 reveals that many of them are not, strictly speaking, statements of policy.  That is, many of these statements are not imperatives that place the reader or any other domain object under an obligation to carry out an action or satisfy a requirement.  Furthermore, this is not due to the lack of supporting context; placing any of these “non-policy” statements back within their full original context would not change this aspect of them.  However, most, if not all of the statements can be interpreted as policy statements that have been phrased in informal, non-standard ways; this is because many of these policy statements are essentially speech acts that are worded as suggestions, but are intended to be interpreted as statements of policy.  It is reasonable to expect that many natural-language policy documents will contain phrases that can be properly interpreted only when viewed as speech acts.

Similarly, definitions commonly appear in policy documents.  Though in a strict sense definitions are not statements of policy, they can make up an important part of a policy document, because proper interpretation of the surrounding policy statements requires correct use of the definitions.  In fact, in some cases the dividing line between a definition and a policy statement may not be clear.  For example, after a description of a certain type of information we may be told that “Such information is designated FOUO.”  It could be argued that this a definition, but it could also be argued that this is a statement of policy.  In any case, formal analysis of policy needs to take into consideration definitions contained within a policy document. 

Table 1.  Ten natural-language policy statements obtained from the policy set for web pages at the Naval Postgraduate School, circa 2001.  Several of these statements consist of more than one sentence; there is a total of 18 sentences contained within the 10 statements.

 

As discussed above, many of these policy statements are couched as suggestions so that a proper understanding requires interpretation in terms of speech acts.  Many of the statements are phrased as polite recommendations; as a consequence, the word “should” needs to be replaced by the word “must.” Also, a suggestion that something is desirable must be interpreted as an imperative that must be accomplished.  For example, Statement 7 in Table 1 makes some suggestions and observations regarding readable text; interpreted as a statement of policy, it essentially states that pages are readable to the extent that their color resembles white or black.  To get a fuzzy measure of how much an arbitrary color differs from grey, and thus how “readable” it is, we have to find out how “far away from grey” that color is.  One possible way to do this is to note that in the RGB color space, various shades of grey correspond to color vectors with equal red, green, and blue components.  Given an arbitrary color (a, b, c) in RGB space, our problem translates into finding the value of grey that is closest to it; that is, we want to find the grey vector (j, j, j) such that the scalar magnitude (a-j)2+(b-j)2+(c-j)2 is a minimum.

We created a simple classification, or taxonomy, of natural-language policy statements as shown in Table 2.  The taxonomy appears to be comprehensive, in the sense that all statements from Table 1 can be placed into (at least) one of the six categories.  Only one category in Table 2 does not have a representative from Table 1: that category, Category 5 contains titles, section headings, captions for figures and tables, and other text that is a part of a policy document, but that is not intended to be interpreted as policy.  These statements can be thought of as summaries that indicate the type of information to be found in certain specified areas, and they may provide important guidance that could be exploited by a natural-language processor. 

 

Table 2.  A simple breakdown, or taxonomy, of the sentences that appear in the policy statements of Table 1.  All sentences from Table 1 fall into one of the first four categories.  Note that this table uses our convention in which decimal notation indicates the different sentences of a single policy statement; for example, Statement 5.2 refers to the second sentence of Policy Statement 5, etc.

 

Some of the items in Table 1 are simple observations of fact, or simple opinions.  Such statements may imply policies that are very permissive of exceptions.  However, for opinions or observations of fact, it may be less clear exactly what the intended statement of policy is.  A study of Table 1 indicates that converting a statement of fact or opinion into a policy requires some nontrivial “creative thought” on the part of the converter.

Our taxonomy appears to be comprehensive, but it does not have particularly strong discriminating power:  that is, we expect to see a lot of overlap between categories.  For example, sentence 7.1, “If you choose to use a background image or background color, make sure your text is readable,” is classified as a statement of advice because of the phrase “make sure”- the very presence of this phrase in a policy statement implies that some leeway is permissible.  However a consideration of speech acts makes it clear that the proper interpretation of this sentence is as a policy.

The statements in Table 1 suggest that some ambiguities will be relatively easy to deal with:  in statement 7, “Provide thumbnail graphics of large graphics with a link to the full version,” we might define the fuzzy term “large” to mean “greater than 250 kb.”  We may even get more refined by measuring the sizes of all graphics on a web site, and classifying as ‘large’ any graphic with size that falls in the top 30%.  Operators for manipulating fuzzy terms, as discussed in Section II.G.2 could then be applied. 

Because fuzzy descriptors are so valuable in dealing with ambiguities in natural-language text, we identified and characterized all the fuzzy descriptors that appear in our collection of policy statements.  As shown in Table 3, we characterized each fuzzy descriptor through its grammatical category, the dimension along which it is fuzzy, and the spot or interval along the fuzzy dimension that the fuzzy descriptor specifies. 

Table 3.  Fuzzy descriptors and their characteristics from the policy statements of Table 1. 

 

 

The entries in Table 3 provide valuable information about how values for fuzzy descriptors can be established for a given web site or page.  In general, the value of a fuzzy descriptor can be established for a particular web site or page by taking measurements over a population of such entities, and then by finding where the particular web site or page falls in the resulting distribution.  For example, in Policy Statement 1, we can quantify the amount of “detailed subject matter” on a top-level web page by measuring, over a representative population of web sites, the amount of text on the top-level web pages.  A top-level page that had more text than, say, 80% of the population would have a fuzzy value of 0.8 for “detailed subject matter.”  To determine whether or not a fuzzy descriptor applies, a threshold could be specified; for example, a top-level page containing more text than 75% of the pages in the population could be said to contain “detailed subject matter.”  Though the amount of text on a web page provides only a coarse measure of the amount of information it contains, it has the significant practical advantage that it is relatively easy to measure.

Most of the fuzzy descriptors in Table 3 can be established in a like manner.  Whether or not a list is “long”, a link is “hot,” or a graphic is “large” can be established by the position of each entity within the population.  Vector-space methods can be used to some extent in dealing with colors and color-spaces.  Whether a certain type of notice is “used sparingly” could be determined by counting the fraction of pages on a site where the notice appears; if the fraction is less than some threshold, say 0.2, it could be said that the notice has in fact been used sparingly.  Determining whether two web pages have the same “look and feel” might be accomplished through the use of a list of the characteristics that make up the “look and feel” of a web page.  A count of places where the lists of two web pages differ could provide a coarse measure of whether they share the same “look and feel.”  Weightings could be assigned to characteristics on the list to provide a more refined measure of difference.

 

D.  CASE STUDY:  ANALYSIS OF NATURAL-LANGUAGE POLICY STATEMENTS

The previous subsections have contained preliminary discussions of our proposed representation and proof technique for formal analysis of natural-language policy statements.  Though these discussions have helped us establish a vocabulary with which to work, and have even provided some insights into the potential strengths and weaknesses of our approach, the following two important questions merit further consideration.

To answer these questions, a case study was carried out on the ten natural-language policy statements in Table 1.  In preparation for this case study, during the winter of 2002 Professor N. Rowe generated meaning lists for the 18 sentences contained in Table 1.  This was accomplished by passing those statements through the MARIE parser [Guglielmo and Rowe, 1996].  The MARIE parser had previously been updated with new parse rules and dictionary entries.  These updates to the MARIE parser were made before the statements contained in Table 1 had been obtained; thus the meaning lists presented below are representative of what the MARIE parser would generate from arbitrary natural language policy statements.

Our case study is presented in the remainder of this subsection.  For each of the thirteen natural-language policy statements, we have determined the following particulars.

a)      The Statement and its Meaning List.  The meaning list was placed in a table in text format, and for some meaning lists a graphical representation was generated.  Also, we noted whether the statement was one of operational, goal-oriented, or meta-policy, as was the statement’s place in our taxonomy.

b)      Authors Intention.  In some cases, the intention of the policy statements author was unclear.  We made an attempt to interpret the statement in a “reasonable” way.

c)      Entities, Relationships, and Attributes.  Entities, attributes, and relationships are taken from the meaning lists.  Entities are anything that appears as the second argument to the binary predicate “a_kind_of.”  Relationships are the predicate names, and attributes are the second arguments to property predicates.

d)      Domain of Policy Statement.  The domain of the policy statement was established;  that is, we determined the domain objects that would have to be put into semantic network form for conformance to this policy statement to be checked.

e)      Modal Auxiliaries.  Modal auxiliaries were identified.

f)        Fuzzy Descriptors.  Quantifiers, whether or not fuzzy, were identified.

g)      Anaphoric References.  Anaphoric references were identified and resolved.

h)      Speech Act Theory.  Speech acts contained within the policy statement were identified and described.

i)        Miscellaneous Observations.  In some cases, there are significant observations that fit nowhere else are discussed here here.  In cases where there are no such observations, this heading is dropped.

Words appearing in meaning lists are encoded with Wordnet sense numbers.  The encoding is based on the sum of two numbers: one number indicating the part of speech, and the other number indicating the particular word sense from Wordnet.  The numbers indicating parts of speech consist of zero for nouns, 50 for adjectives, 100 for verbs, 150 for adverbs, and 199 for other parts of speech.  The encoding can be clarified through an example.  The term “see-108” indicates a meaning which is the same as that of the eighth verb sense of the word “see” in Wordnet.  Predicates in meaning lists are assertions that the first argument has the property indicated by the head of the predicate, with the value that appears as the second argument.  In an informal sense, the head of a predicate can be placed between the two arguments to make a valid assertion; for example, the predicate “a_kind_of(v4,substance-2)” can be informally interpreted to mean that “constant v4 is a kind of substance.”  Terms of the form “vXXX,” where X is a digit, are constants.  These parser-invented constant names are used to represent distinct entities.  Variable names have significance only within individual meaning lists.

It should be noted that in all graphical representations of meaning lists, the arrows point from the second term in a binary relationship to the first, and from an attribute value to the entity that holds the attribute (just as in Figures 8 and 9).  Appendix A contains documentation for the software used to generate the graphical representations of meaning lists.

 

1.  Policy Statement 1

a)  The Statement and its Meaning List.  Policy Statement 1 is: “Top-level web pages should be considered a directory of information contained in subsequent pates and should not contain detailed subject matter.  Specifics should reside on subsequent pages.”  Both the first and second sentences of this policy statement fit into our taxonomy as recommendations or statements of advice.  The meaning lists for this policy statement are given in text form in Tables 4 and 5, and in graphical format in Figures 10 and 11.

 

Table 4.  The meaning list for the sentence “Top-level web pages should be considered a directory of information contained in subsequent pages and should not contain detailed subject matter.”

 

Table 5.  The meaning list for the second sentence of Policy Statement 1: “Specifics should reside on subsequent pages.”

 

 

b)  Authors Intention.  The authors intention here is clear: this policy statement requires that web sites have a structure such that a page at or near the entry point or “home page” of the site provides organized access to other pages in the web site. 

 

c)  Entities, Relationships, and Attributes for First Sentence of Policy Statement 1:

            Entities: a_kind_of(v886,see-108)

                        a_kind_of(v898,directory-1)

                        a_kind_of(v903,information-2)

                        a_kind_of(v912,contain-103)

                        a_kind_of(v936,page-1)

                        a_kind_of(v944,contain-103)

                        a_kind_of(v4,substance-2)

                        a_kind_of(v874,page-1)

                        a_kind_of(v865,web-0)

                        a_kind_of(v342,level-1)

            Relationships: a_kind_of,tense, marker, object, quantification, part_of, inside, property, agent,

                        has_property, distinct

            Attributes:

                        tense(v886,past),

                        marker(v886,passive),

                        tense(v886,should),

                        object(v886,v898),

                        quantification(v898,a),

                        tense(v912,pastpart),

                        quantification(v936,plural),

                        property(v936,subsequent-51),

                        quantification(v944,plural),

                        property(v944,not-151),

                        tense(v944,should),

                        property(v4,detailed-52),

                        quantification(v874,plural),

                        part_of(v874,v865),

                        property(v342,top-52)

 

Entities, Relationships, and Attributes for Second Sentence of Policy Statement 1:

            Entities: a_kind_of(v8,live-101),

                        a_kind_of(v156,page-1),

                        a_kind_of(v1,specific-0)

 

            Relationships: a_kind_of, quantification, tense, on, property, agent

            Attributes:

                        quantification(v8,plural),

                        tense(v8,should),

                        quantification(v156,plural),

                        property(v156,subsequent-51),

                        quantification(v1,plural)

d)  Domain of Policy Statement.  This policy statement has a domain consisting of entire web sites.

e)  Modal Auxiliaries.  The modal auxiliary should appears three times in this policy statement: twice in the first sentence, and once in the second sentence.

f)  Fuzzy Descriptors.  “Detailed” and “specifics” are fuzzy descriptors.

g)  Anaphoric References.  The term “specifics” in the second sentence refers to the “detailed subject matter” mentioned in the previous sentence. 

h)  Speech Act Theory.  The word “should,” is used in this policy statement as a polite way of stating what must hold, and the expression “...should be considered...” is a polite way of saying that web designers are required to ensure that top-level web pages have the characteristics of a directory of information.  More importantly, this policy statement implies that it is common for web designers to put too much detail in their top-level pages.  In most, if not all of the policy statements that we’ll examine, statements made by the policy author address misunderstandings that web designers are perceived to have.

i)  Miscellaneous Comments.  The statement of policy “specifics must reside on subsequent pages” can be misinterpreted with improper usage of the term “must.”  What is really being said here is that “specifics, if they exist, must reside on subsequent pages;” there is no need to generate specifics to place on subsequent pages if they do not already exist.  Perhaps a clearer way to phrase the statement is that “specifics may not reside on the page in question.”  Assuming that we can determine exactly what constitutes “specifics,” probably the most effective way to check whether this policy is being conformed to is to create a semantic network representation for “specifics,” and to see if the pages specified by the policy statement contain them or otherwise have them as attributes; if so, the policy is being violated.

A reasonable simplification of the first sentence would eliminate the phrase “should be considered a directory of information contained in subsequent pages,” and would instead simply state that “top-level web pages must not contain detailed information.”  Also, we interpret the word “subsequent” to mean “subsequent in time.”  That is, a “subsequent” page is one that a typical user would navigate to after the top-level page.  We can infer that a “subsequent page” is one that is connected to the top-level page by some link sequence. 

Finally, the phrase “detailed subject matter” in the first sentence can be simplified into “details.”  This transformation can be represented with the following rule.

detailed subject matter  ®  details

Figure 10.  Graphical representation of the meaning list for Policy Statement 1.1: “Top-level web pages should be considered a directory of information contained in subsequent pages and should not contain detailed subject matter.”  A semantic network representation for “Top-level web pages” is enclosed in the grey loop labeller “A,” and a semantic network representation for “detailed subject matter is enclosed in the grey loop labeller “B.”

 

Figure 11.  Graphical representation of the meaning list for Policy Statement 1.2: “Specifics should reside on subsequent pages.” 

 

 

2.  Policy Statement 2

a)  The Statement and its Meaning List.  Policy Statement 2 is “Avoid long lists of hot links on ‘top-level’ organizational pages; a single link to a separate links page is much more effective.”  Policy Statement 2 fits into our taxonomy as a recommendation or statement of advice that can be interpreted as a policy statement.  The meaning list for this policy statement is given in text form in Table 6.

Table 6.  The meaning list for Policy Statement 2: “Avoid long lists of hot links on ‘top-level’ organizational pages; a single link to a separate links page is much more effective.”

 

 

b)  Authors Intention.  The authors intention here is clear: a separate “links” page is required, and mixing links with other types of information is forbidden, especially on pages at or near the home page.

c)  Entities, Relationships, and Attributes for Policy Statement 2:

            Entities:

                        a_kind_of(v4,avoid-101),

                        a_kind_of(v31,register-1),

                        a_kind_of(v78,link-0),

                        a_kind_of(v601,page-1),

                        a_kind_of(v448,level-1),

                        a_kind_of(v726,be-101),

                        a_kind_of(v633,link-0),

                        a_kind_of(v716,page-1),

                        a_kind_of(v703,link-0),

            Relationships: a_kind_of, quantification, object, property, subject, on, has_property, relationship, agent, to

            Attributes:

                        quantification(v4,plural),

                        quantification(v31,plural),

                        property(v31,long-52),

                        quantification(v78,plural),

                        property(v78,hot-55),

                        quantification(v601,plural),

                        property(v601,organizational-51),

                        property(v448,top-52),

                        property(v726,effective-54),

                        relationship(effective-54,v753),

                        property(v753,much-151),

                        property(v753,more-151),

                        property(v633,single-51),

                        quantification(v633,a),

                        quantification(v703,plural),

                        property(v703,separate-51),

                        quantification(v716,a)

d)  Domain of Policy Statement.  This policy statement applies to web sites as a whole.

e)  Modal Auxiliaries.  None.

f)  Fuzzy Descriptors.  Fuzzy descriptors are “long,” “hot,” and “effective.”

g)  Anaphoric References.  “Top-level organization pages” is an anaphoric reference to the top-level pages in Policy Statement 1.

h)  Speech Act Theory.  Saying that “X should be avoided” is being used here to say that X should not occur.  Also, the statement that “Y is more effective” is a polite way of saying that Y is required.

i)  Miscellaneous Comments.  An ellipsis phenomenon (the omission or suppression of parts of a word or sentence) occurs in this policy statement: “a single link to a separate links page” gives a destination, but the source of the link is not explicitly stated, and the reader has to infer that the source is the “top-level page.”

Also, the following simplifying transformation should be applied.

X is more effective  ®  X should be done

 

3.  Policy Statement 3

a)  The Statement and its Meaning List.  Policy Statement 3 is “Top-level organizational pages should have the same ‘look and feel’ so that users will be able to know when they have navigated off of the main pages.”  It fits into our taxonomy as a recommendation or statement of advice that can be interpreted as a statement of policy.  The meaning list for this policy statement is given in text form in Table 7.

Table 7.  The meaning list for the sentence “Top-level organizational pages should have the same ‘look and feel’ so that users will be able to know when they have navigated off of the main pages.”

 

 

b)  Authors Intention.  This policy statement requires that pages on a web site, and especially at or near the home page, have the same “look and feel.”  Except for the definition of exactly what qualifies as “look and feel,” the authors intention here is clear.

c)  Entities, Relationships, and Attributes for Policy Statement 3:

            Entities:

                        a_kind_of(v903,have-101),

                        a_kind_of(v4,'look and feel'-0),

                        a_kind_of(v7,be-101),

                        a_kind_of(v1164,entity-1),

                        a_kind_of(v1184,know-103),

                        a_kind_of(v2527,period-2),

                        a_kind_of(v1194,navigate-103),

                        a_kind_of(v1255,page-1),

                        a_kind_of(v1199,people-1),

                        a_kind_of(v948,user-1),

                        a_kind_of(v894,page-1),

                        a_kind_of(v377,level-1)

            Relationships: a_kind_of, quantification, tense,object, property, so,or, during, off, agent, anaphoric,

                        has_property

            Attributes:

                        quantification(v903,plural),

                        tense(v903,should),

                        property(v4,quasi-51),

                        property(v4,same-51),

                        quantification(v4,the),

                        tense(v7,future),

                        property(v1164,able-51),

                        tense(v1194,past),

                        tense(v1194,perfect), 

                        property(v1255,primary-56),

                        quantification(v1255,the),

                        tense(v1184,infinitive),

                        quantification(v948,plural),

                        quantification(v894,plural),

                        property(v894,organizational-51),

                        property(v377,primary-56)

d)  Domain of Policy Statement.  This policy statement applies to all web sites.

e)  Modal Auxiliaries.  The modal auxiliary should appears once in this policy statement.  Also, “will be able to” should be interpreted as “can,” and thus is a modal auxiliary.

f)  Fuzzy Descriptors.  “Look and feel” and “main” are fuzzy descriptors.

g)  Anaphoric References.  “Top-level organizational pages” is an anaphoric reference to Policy Statement 1.

h)  Speech Act Theory.  The author justifies this policy statement with the phrase “so that users will be able to know when they have navigated off of the main pages.”  Justification is not necessary in a statement of policy, and it has an interesting effect here: it moves this policy statement from being a purely operational statement of policy to one that is to some extent goal-oriented.

i)  Miscellaneous Comments.  The following transformations can be applied.

will be able to   ®  can

navigate off of  ®  leave

 

4.  Policy Statement 4

a)  The Statement and its Meaning List.  Policy Statement 4 is “Web pages are dynamic, evolving documents that can frequently change.  ‘Under construction’ notices should be used sparingly.”  The first sentence of this policy statement fits into our taxonomy as a statement of fact, and the second sentence fits into our taxonomy as a statement of advice.  The meaning lists for this policy statement are given in text form in Tables 8 and 9.  The meaning list for the first sentence of this policy statement is given in graphical form in Figure 12.

Table 8.  The meaning list for the first sentence of Policy Statement 4: “Web pages are dynamic, evolving documents that can frequently change.” 

 

 

Table 9.  The meaning list for the second sentence of Policy Statement 4: “‘Under construction’ notices should be used sparingly.”

 

 

b)  Authors Intention.  The first sentence of this policy statement is a simple statement of fact.  It provides motivation for the second sentence, which except for the somewhat ambiguous term “sparingly,” is a clear statement of policy.  Except for the term “sparingly,” the authors intention here is clear.

c)  Entities, Relationships, and Attributes for First Sentence of Policy Statement 4.

            Entities: a_kind_of(v30,be-108),

                        a_kind_of(v55,document-2),

                        a_kind_of(v50,evolve-104),

                        a_kind_of(v63,alter-103),

                        a_kind_of(v16,page-1),

                        a_kind_of(v1,web-0)

            Relationships: a_kind_of, quantification, object, property, agent, distinct, tense,  part_of

            Attributes:

                        quantification(v30,plural),

                        quantification(v55,plural),

                        property(v55,dynamic-52),

                        quantification(v63,plural),

                        property(v63,frequently-151),

                        tense(v63,can),

                        quantification(v16,plural)

Entities, Relationships, and Attributes for Second Sentence of Policy Statement 4.

            Entities: a_kind_of(v99,apply-107),

                        a_kind_of(v24,notice-2),

                        a_kind_of(v16,construction-6)

            Relationships: a_kind_of, property, quantification, tense, object

            Attributes:

                        property(v99,sparingly-150),

                        quantification(v41,plural),

                        tense(v99,past),

                        tense(v99,should),

                        quantification(v24,plural),

                        property(v16,under-50),

                        property(v16,quasi-51)

d)  Domain of Policy Statement.  This policy statement can be applied to any web site.

e)  Modal Auxiliaries.  The modal auxiliary “can” appears in the first sentence, and the modal auxiliary “should” appears in the second sentence of this policy statement. 

f)  Fuzzy Descriptors.  Fuzzy descriptors in this policy statement are “dynamic,” “evolving,” “frequently,” “under construction,” and “sparingly” are fuzzy descriptors. 

g)  Anaphoric References.  None.

h)  Speech Act Theory.  The term “should” is used in the second sentence of this policy statement as a polite substitute for the word “must.”  More significantly, by simply stating the first sentence of this policy statement, the author infers that some people responsible for web pages are not aware that pages frequently change.  

i)  Miscellaneous Comments.  A key ellipsis is the omission of “on [web] pages” from the end of the last sentence.

Figure 12.  Graphical representation of the meaning list for the sentence “Web pages are dynamic, evolving documents that can frequently change.”

 

5.  Policy Statement 5

a)  The Statement and its Meaning List.  Policy Statement 5 is:  “Designers should recognize that graphics consume significant bandwidth.  Provide thumbnail graphics of large graphics with a link to the full version.  Graphics will also load faster if the height and width are given in the IMG SRC tag.”  The first sentence of this policy statement fits into our taxonomy as a statement of fact; the second sentence fits into our taxonomy as a statement of policy; and the third sentence fits into our taxonomy as a statement of fact.  The meaning lists for this policy statement are given in text format in Tables 10, 11, and 12.  The meaning lists for the first and second sentences of this statement are given in graphical form in Figures 13 and 14.

 

Table 10.  The meaning list for the first sentence of Policy Statement 5: “Designers should recognize that graphics consume significant bandwidth.”

 

Table 11.  The meaning list for the second sentence of Policy Statement 5: “Provide thumbnail graphics of large graphics with a link to the full version.”

 

Table 12.  The meaning list for the third sentence of Policy Statement 5: “Graphics will also load faster if the height and width are given in the IMG SRC tag.”

 

b)  Authors Intention.  This policy statement requires that large graphics have thumbnail graphics that stand in their stead, and that IMG SRC tags be used in the HTML constructs for graphics.  The authors intention here is clear.

c)  Entities, Relationships, and Attributes for First Sentence of Policy Statement 5.

            Entities: a_kind_of(v36,recognize-108),

                        a_kind_of(v1,architect-1),

                        a_kind_of(v55,exhaust-102),

                        a_kind_of(v76,bandwidth-1),

                        a_kind_of(v60,graphics-2)

            Relationships: a_kind_of, quantification, tense, agent, object, property

            Attributes:

                        quantification(v36,plural),

                        tense(v36,should),

                        quantification(v1,plural),

                        quantification(v55,plural),

                        property(v76,substantial-56)

Entities, Relationships, and Attributes for Second Sentence of Policy Statement 5.

            Entities: a_kind_of(v4,render-101),

                        a_kind_of(v10,graphics-2),

                        a_kind_of(v10,thumbnail-0),

                        a_kind_of(v25,graphics-2),

                        a_kind_of(v48,link-0),

                        a_kind_of(v91,version-2)

            Relationships: a_kind_of, quantification, tense, object, property, beside, range_to

            Attributes:

                        quantification(v4,plural),

                        tense(v4,imperative),

                        property(v25,big-51),

                        quantification(v48,a),

                        property(v91,full-57),

                        quantification(v91,the)

Entities, Relationships, and Attributes for Third Sentence of Policy Statement 5.

            Entities: a_kind_of(v24,load-103),

                        a_kind_of(v6,graphics-2),

                        a_kind_of(v46,give-105),

                        a_kind_of(v3,'img src'-0),

                        a_kind_of(v54,height-3),

                        a_kind_of(v63,width-1)

            Relationships: a_kind_of,quantification, property, tense,agent,if, inside, object, distinct

            Attributes:

                        quantification(v24,plural),

                        property(v24,faster-151),

                        property(v24,also-151),

                        tense(v24,future),

                        quantification(v68,plural),

                        tense(v46,past),

                        quantification(v3,the)

d)  Domain of Policy Statement.  This statement applies to all pages on a web site.  Information about the domain of this policy statement is not contained explicitly within the policy statement.

e)  Modal Auxiliaries.  The modal auxiliary “should” appears in the first sentence of this policy statement, and the modal auxiliary “will” appears in the second sentence.

f)  Fuzzy Descriptors.  Fuzzy descriptors are “significant,” “thumbnail,” “large,” “full,” and “faster.” 

g)  Anaphoric References.  The term “full version” in sentence two is an anaphoric reference to the term “large graphics.”

h)  Speech Act Theory.  In the first sentence is not a policy statement, but a polite statement that web designers have a responsibility to not burden a user with gratuitous graphics.  This sentence establishes that significant bandwidth is bad, and thus that graphics should be minimized.  The word “will” in the third sentence implies that we should give height and width in the IMG SRC tag, because loading graphics faster is good.

i)  Miscellaneous Observations.  There is an ellipsis phenomena associated with the terms “height” and “width;” the full expressions are “height of the graphics” and “width of the graphics.”  Also, the phrase “designers should recognize” should be eliminated, because it is implied that all of these policy statements consist of things that designers should recognize.  This can be expressed with the following transformation rule.

designers should recognize   ®   Æ

Thumbnail graphics appear within HTML in the following way [Castro, 2003].  The “image.jpg” is the path to the full sized image, and “mini.jpg” is the path to the thumbnail image.  The “alt=...” term is an optional text phrase that will appear if the thumbnail image for some reason does not.

<a href= “image.jpg”>

<img src=“mini.jpg” alt=“text that appears if thumbnail does not” />

</a>

Figure 13.  Graphical representation of the meaning list for the first sentence of Policy Statement 5.1: “Designers should recognize that graphics consume significant bandwidth.”

 

Figure 14.  Graphical representation of meaning list for Policy Statement 5.2: “Provide thumbnail graphics of large graphics with a link to the full version.”  A semantic network representation for “thumbnail graphics with a link to the full version” is enclosed in the grey loop.

 

 

6.  Policy Statement 6

a)  The Statement and its Meaning List.  Policy Statement 6 is: “Use numbered or bulleted lists to condense text and to break up the page visually.”  This sentence fits into our taxonomy as a simple statement of policy.  The meaning list for this policy statement is given in text format in Table 13.

Table 13.  The meaning list for Policy Statement 6: “Use numbered or bulleted lists to condense text and to break up the page visually.”

 

 

b)  Authors Intention.  Though this statement is an imperative to format text in a certain way, the circumstances under which this action should be carried out is not clearly specified in the statement itself.  It is clearly not appropriate to use numbered or bulleted lists to the exclusion of any other type of text format (i.e., plain paragraphs are still allowed).  Does a full page of text without any numbered or bulleted lists violate this policy?  Probably so.  But does a page of text that contains no numbered or bulleted lists, but which does contain several pictures that break up the page visually, violate this policy?  Possibly not, especially if a bulleted or numbered list would clutter a page that is appealing as it stands.

c)  Entities, Relationships, and Attributes for Policy Statement 6:

            Entities: a_kind_of(v44,apply-107),

                        a_kind_of(v68,list-2),

                        a_kind_of(v52,number-102),

                        a_kind_of(v61,bullet-100),

                        a_kind_of(v82,condense-104),

                        a_kind_of(v85,text-2),

                        a_kind_of(v89,'break up'-114),

                        a_kind_of(v182,page-1)

            Relationships: a_kind_of, quantification,tense, object, conjunction, for, object, property, marker, distinct

            Attributes:

                        quantification(v44,plural),

                        tense(v44,imperative),

                        quantification(v68,plural),

                        tense(v5435,pastpart),

                        quantification(v82,plural),

                        tense(v82,infinitive),

                        quantification(v89,plural),

                        tense(v89,infinitive),

                        quantification(v182,the),

                        property(v89,visual-51)

 

d)  Domain of Policy Statement.  This policy applies to web pages.

e)  Modal Auxiliaries.  None.

f)  Fuzzy Descriptors.  The terms “condense” and “break up” are fuzzy descriptors. 

g)  Anaphoric References.  None.

h)  Speech Act Theory.  This policy statement implies that condensing text and breaking up a page visually are good things to do most of the time.

i) Miscellaneous Comments.  An ellipsis phenomena is evident in that numbered bulleted lists are on a web page.

 

7.  Policy Statement 7

a)  The Statement and its Meaning List.  Policy Statement 7 is: “If you choose to use a background image or background color, make sure your text is readable.  White or light-colored backgrounds are the most readable.”  The first sentence of this policy statement fits into our taxonomy as a statement of advice that can be converted into policy.  The second sentence is a simple observation of fact.  The meaning lists for this policy statement are given in text format in Tables 14 and 15.

Table 14.  The meaning list for the first sentence of Policy Statement 7: “If you choose to use a background image or background color, make sure your text is readable.”

 

 

Table 15.  The meaning list for the second sentence of Policy Statement 7: “White or light-colored backgrounds are the most readable.”

 

 

b)  Authors Intention.  This statement of policy requires that text be readable against whatever background the designer chooses.  The author of this policy statement comments that light-colored backgrounds are the most readable, though many people might disagree with this statement, saying that light text on a dark background (i.e., white text on a black background) is preferable.  The only real ambiguity in this statement is exactly what “light-colored” means.

c)  Entities, Relationships, and Attributes for First Sentence of Policy Statement 7:

            Entities: a_kind_of(v3,check-110),

                        a_kind_of(v118,be-101),

                        a_kind_of(v109,text-2),

                        a_kind_of(v4,prefer-104),

                        a_kind_of(v35,apply-107),

                        a_kind_of(v60,image-5),

                        a_kind_of(v60,background-3),

                        a_kind_of(v92,color-5),

                        a_kind_of(v75,background-3),

                        a_kind_of(v9,people-1)

            Relationships: a_kind_of, quantification, object, property, agent, if, for, tense, conjunction, showing,

                        anaphoric

            Attributes:

                        quantification(v3,plural),

                        property(v118,clear-55),

                        property(v109,your-50),

                        quantification(v4,plural),

                        tense(v35,infinitive),

                        quantification(v60,a)

 

Entities, Relationships, and Attributes for Second Sentence of Policy Statement 7:

            Entities: a_kind_of(v538,be-101),

                        a_kind_of(v526,background-6)

            Relationships: a_kind_of, quantification, property, relationship, agent, has_property, conjunction

            Attributes:

                        quantification(v538,plural),

                        property(v538,clear-55),

                        property(v2,'the most'-150),

                        quantification(v526,plural),

                        property(v11,white-51),

                        property(v126,coloured-51),

                        property(v126,light-55)

d)  Domain of Policy Statement.  This statement of policy applies to any regions of a web page that contain text.

e)  Modal Auxiliaries.  The phrase “make sure that X is Y” is a polite way of saying “X must be Y,” and is thus a modal auxiliary. 

f)  Fuzzy Descriptors.  Fuzzy descriptors are “background,” “readable,” “white,” “light-colored,” and “most.”

g)  Anaphoric References.  None.  The words “you” and “your” refer to the reader or to a hypothetical web-page designer, and are not anaphoric.

h)  Speech Act Theory.  The phrase “make sure that X is Y” is a polite way of saying “X must be Y.”  The implication is that white or light-colored backgrounds must be used.

i)  Miscellaneous Comments.  An ellipsis phenomena is evident in that background images and colors appear on a web page.

 

8.  Policy Statement 8

a)  The Statement and its Meaning List.  Policy Statement 8 is: “Limit the number of different font styles and colors on a page.  A good rule of thumb is to use no more than three different fonts on a page.”  The first sentence of this policy statement fits into our taxonomy as a statement of policy, while we classify the second sentence as a statement of advice that can be easily converted into policy.  The meaning lists for this policy statement are given in text form in Tables 16 and 17. 

Table 16.  The meaning list for the first sentence of Policy Statement 8: “Limit the number of different font styles and colors on a page.” 

 

 

Table 17.  The meaning list for the second sentence of Policy Statement 8: “A good rule of thumb is to use no more than three different fonts on a page.”

 

 

b)  Authors Intention.  The authors intention here is clear: use no more than three different fonts on a given web page.

c)  Entities, Relationships, and Attributes for First Sentence of Policy Statement 8

            Entities: a_kind_of(v5,limit-101),

                        a_kind_of(v17,number-7),

                        a_kind_of(v38,face-1),

                        a_kind_of(v42,style-3),

                        a_kind_of(v62,color-6),

                        a_kind_of(v89,page-1)

            Relationships: a_kind_of, quantification, tense, object, has_property, property,type_of, on, distinct

            Attributes:

                        quantification(v5,plural),

                        tense(v5,imperative),

                        quantification(v17,the),

                        property(v38,different-53),

                        quantification(v42,plural),

                        quantification(v62,plural),

                        quantification(v89,a)

Entities, Relationships, and Attributes for Second Sentence of Policy Statement 8

            Entities: a_kind_of(v50,be-102),

                        a_kind_of(v90,apply-107),

                        a_kind_of(v106,face-1),

                        a_kind_of(v123,page-1),

                        a_kind_of(v1,rule-6)

            Relationships: a_kind_of, object, quantification, tense, property, quantity, on, agent

            Attributes:

                        quantification(v90,plural),

                        tense(v90,infinitive),

                        quantification(v106,plural),

                        property(v106,different-51),

                        quantification(v106,'no more than'),

                        quantity(v106,3),on(v106,v123),

                        quantification(v123,a),

                        property(v1,good-52),

                        quantification(v1,a)

d)  Domain of Policy Statement.  This policy statement applies to individual web pages.

e)  Modal Auxiliaries.  None.

f)  Fuzzy Descriptors.  The word “limit” is a fuzzy descriptor.  Note that the term “a good rule of thumb is to use X” should be interpreted as “use X,” and so “a good rule of thumb” is not fuzzy.

g)  Anaphoric References.  The word “use” in the second sentence is an anaphoric reference to the word “limit” in the first sentence.

h)  Speech Act Theory.  The policy statement can be interpreted as saying “use no more than three different fonts on a page.”

i)  Miscellaneous Comments.  An ellipsis phenomena is evident in that “page” refers to a “web page.”

 

9.  Policy Statement 9

a)  The Statement and its Meaning List.  Policy Statement 10, “Text and graphics that move can be particularly annoying.  Use blinking text, scrolling marquees, animated gifs and Java applets very sparingly, if at all.”  The first sentence of this policy statement fits into our taxonomy as a statement of opinion, and the second sentence fits into our taxonomy as a statement of advice that can be interpreted as policy.  The meaning lists for this policy statement are given in text form in Tables 18 and 19.  The meaning list for the first sentence of this policy statement is given in graphical format in Figure 15.

Table 18.  The meaning list for the first sentence of Policy Statement 9: “Text and graphics that move can be particularly annoying.”

 

Table 19.  The meaning list for the second sentence of Policy Statement 9: “Use blinking text, scrolling marquees, animated gifs, and Java applets very sparingly, if at all.” 

 

 

b)  Authors Intention.  This statement can reasonably be interpreted as: “Do not use text or graphics that move.”  The authors intention here is clear.

 

c)  Entities, Relationships, and Attributes for First Sentence of Policy Statement 9.

·        Entities:

o       a_kind_of(v50,be-101),

o       a_kind_of(v2,text-2),

o       a_kind_of(v8,art-1),

o       a_kind_of(v10,move-105)

·        Relationships:

o       a_kind_of,

o       tense,

o       property,

o       relationship,

o        agent,

o        quantification,

o        distinct

·        Attributes:

o       tense(v50,can),

o       property(v50,annoying-51),

o       relationship(annoying-51,v92),

o       property(v92,particularly-151),

o       quantification(v10,plural)

 

Entities, Relationships, and Attributes for Second Sentence of Policy Statement 9.

d)  Domain of Policy Statement: Any page on a web site where text or graphics might appear.  Information about the domain of this policy statement is not contained explicitly within this policy statement.

e)  Modal Auxiliaries.  The word “can” in the first sentence is a modal auxiliary.

f)  Fuzzy Descriptors.  The terms “particularly,” “annoying,” “very,” “sparingly,” and “if at all’ are fuzzy descriptors. 

g)  Anaphoric References.  “Blinking text, scrolling marquees, animated gifs, and Java applets” are anaphoric references to “text and graphics that move.”

h)  Speech Act Theory.  The first sentence is a speech act requiring that text and graphics that move be avoided or (preferably) not used at all.

i)  Miscellaneous Comments.  An ellipsis phenomena is evident in that “text and graphics that move,” and “blinking text, scrolling marquees, animated gifs, and Java applets” all appear on web pages.

Figure 15.  Graphical representation of the meaning list for the first sentence of Policy Statement 9: “Text and graphics that move can be particularly annoying.”  A semantic network representation for “text and graphics that move” is enclosed in the grey loop.

 

 

10.  Policy Statement 10

a)  The Statement and its Meaning List.  Policy Statement 10 is “Any web site collecting personal information must comply with the provisions of reference (d).  Network Identification and Internet Protocol addresses are not considered personal data.” fits into our taxonomy as an unambiguous statement of policy.  The meaning lists for this policy statement are given in text format in Tables 20 and 21.  The meaning lists for this policy statement are given in graphical format in Figures 16 and 17.

Table 20.  Meaning list for the first sentence of Policy Statement 10: “Network identification and Internet protocol addresses are not considered personal data.”

 

Table 21.  Meaning list for the second sentence of Policy Statement 10: “Any web site collecting personal information must comply with the provisions of reference (d).”

 

 

b)  Authors Intention.  The intention of the author is clear:  the cited items are not personal data.  The implication is that other statements of policy may put constraints on how personal data should be handled, but Network ID and IP addresses are not subject to these constraints. 

c)  Entities, Relationships, and Attributes for First Sentence of Policy Statement 10. 

Entities, Relationships, and Attributes for Second Sentence of Policy Statement 10. 

d)  Domain of the Policy Statement.  The domain of this policy statement consists of any place on a web site where Network Identification or IP addresses might appear– specifically, individual web pages.

e)  Modal Auxiliaries.  The word “must” in the second sentence is a modal auxiliary.

f)  Fuzzy Descriptors.  The word “personal” is a fuzzy descriptor.

g)  Anaphoric References.  The term “personal information” appearing in the second sentence is an anaphoric reference to the term “personal data” of the first sentence.

h)  Speech Act Theory.  No significant speech acts are apparent here.  It’s worth noting however that the term “considered” contributes no meaning; the first sentence of this policy statement carries the exact same meaning without this word.  Similarly, the phrase “the provisions of” in the second sentence can be eliminated without changing its meaning.  In both cases these terms do not contribute any meaning, but may add a small amount of redundancy to aid the reader.

i)  Miscellaneous Observations.  One way to simplify this statement is to recognize that it consists essentially of two independent statements of policy: first, that network identification is not considered to be personal data, and second, that IP addresses are not to be considered personal data.  This is obvious from the natural-language statement itself, and also from the triangular feature in the center of the meaning lists graphical representation.  A transformation into two separate meaning lists can be made by (1) eliminating the term distinct(v9,v24) from the meaning list, then (2) grouping together v9, v42, and everything connected to them except for v24, into a single meaning list, and then finally (3) grouping together v24, v42, and everything connected to them except for v9.  As a rule expressed symbolically in terms of natural-language text, we can say

a and b are c  ®  a is c, b is c

Figure 16.  Graphical representation of meaning list for Policy Statement 10.1: “Any web site collecting personal information must comply with the provisions of reference (d).”  A semantic network representation for “personal information” is enclosed in the grey loop.

 

 

Figure 17.  Graphical representation of the meaning list for “Network Identification and Internet Protocol addresses are not considered personal data.”  A semantic network representation for a “Network Identification” object is enclosed in the grey loop labeller “A,” and a semantic network representation for an “Internet Protocol address” object is enclosed in the grey loop labeller “B.”

 

 


 

 

 


V.  DISCUSSION OF RESULTS

Our case study was carried out to characterize the ambiguities that appear in natural-language policy statements, and the feasibility of resolving these ambiguities automatically in a fielded system.  Our case study focused on ambiguities of the following types.

·        Anaphoric References.  It was observed that anaphoric references were relatively simple, in part because it was unusual for policy statements to extend over more than two sentences.  It should be straightforward to resolve anaphoric references in natural-language policy statements using standard algorithms such as those discussed in [Jurafsky and Martin, 2000], [Lappin and Leass, 1994], and [Hobbs, 1978].

·        Speech Acts.  For the most part, speech acts within our case study consisted of suggestions or statements of advice which were intended to be interpreted as imperative commands.  It is not expected that speech acts will present significant difficulties for a natural language input system for a policy workbench.

·        Fuzzy Expressions.  We identified over two dozen fuzzy expressions in the ten natural-language statements of policy that we studied.  As shown in Table 3, these fuzzy expressions covered a variety of grammatical categories, and fell along a number of different dimensions.  Despite the variety of fuzzy expressions found in our case study, the discussion following Table 3 demonstrates that each can be quantified in some reasonable way. 

Our case study also identified modal auxiliaries contained within policy statements.  Modal auxiliairies are significant because they provide important clues for the semantic interpretation of policy statements. 

Determining the domain to which a policy statement applies is important for analysis of policy statements, but reliably identifying domain objects through automatic means appears to be a non-trivial problem.  Some statements of policy do not even mention the domain explicitly, so that the reader is required to infer the object (or objects) to which it applies.  For example, Policy Statement 6 (“Use numbered or bulleted lists to condense text and to break up the page visually”) applies to web pages, though “web pages” are not mentioned in the statement.  Interestingly, however, there were only a small number of domain objects for the statements from our case study: web pages, and web sites.  We expect that this will be the case in general, so that the relevant domain only needs to be chosen from a limited number of possibilities.

 


VI.  CONCLUSIONS

In this paper we introduced and discussed a novel architecture for the analysis of natural language policy statements.  The architecture employs semantic networks to represent natural language policy statements, and uses a "graph-matching" technique to determine whether a particular domain object conforms to or violates a given statement of policy.  The benefits associated with our architecture include representations that lend themselves well to visualization in a graphical form, and a proof technique that promises low computational complexity in practical applications.

After discussing our architecture, we carried out a case study which focused on identifying and categorizing the various ambiguities appearing in natural-language policy statements.  The case study analyzed ten natural-language policy statements culled from a policy document for web sites hosted by a university.  Our findings suggest that algorithms will be able to resolve ambiguities due to anaphora, speech acts, and fuzzy expressions in most natural language policy statements.

There are several important directions in which our work can be extended.  The work contained in this paper has shown the feasibility of a novel architecture for analysis of natural-language policy statements, but among the work that needs to be done before construction can be considered is a rigorous comparison between our logic based on semantic networks and the first-order predicate calculus.  It should be possible to compare the representations and proof techniques of these two formalisms through a careful reading of the relevant literature; that is, it is not expected that any original research would need to be done.  However, it is important that this literature be reviewed and the findings documented to establish a strong theoretical foundation for continued work.

Another area where work remains to be done is with our use of Mathematica for generating graphical representations of meaning lists.  We had hoped that the code which embeds graphs in the 2-dimensional plane would be able to generate clear graphical representations of meaning lists in a fully automated manner.  Unfortunately, the graphical representations that are generated automatically usually have minor but annoying imperfections: labels that obscure each other, edges that needlessly cross, or other problems that require editing by a human.  Though the editing process is relatively quick and painless, and an argument could be made that working with a graph in the editor is an effective way of gaining important information about it, it would still be better if this work were done automatically. 

Also, our graphical representations were generated by writing the outputs of the MARIE parser to a file, performing some simple edits on the file using a search-and-replace utility, and then reading the file into Mathematica.  A version of our software that ran without the Mathematica interpreter and that could be integrated directly into the MARIE parser would be very helpful for further work in this area.

 

 


APPENDIX A:  CONVERSION OF MEANING LISTS INTO GRAPHICAL FORM

 

This appendix documents a Mathematica package that converts meaning lists from the MARIE parser into a graphical form.  The package, called nlpPlotting, is shown in Figure 18 below.

To use the package, it is read into Mathematica, and the command Get[name], often seen in the short form <<name, is used to read in the text of the file containing the meaning list information.  To generate this file, the output from the MARIE parser has to be edited slightly: the expression result() wrapped around meaning lists must be eliminated; square brackets [] enclosing meaning list components must be replaced by curly brackets {} to create Mathematica lists; parentheses () in meaning-list attributes, entities, and relationships must be replaced by square brackets [] to create Mathematica expressions; and all dashes and underscores in meaning lists must be dropped to prevent conflict with the special meanings that Mathematica has for these symbols.

Once the meaning lists are read in, they are converted into graph data-structures by the function generateMLGraph[].  They can subsequently be plotted using the ShowGraph[], the SpringEmbedding[], RadialEmbedding[], RankedEmbedding[], RootedEmbedding[], and ShakeGraph[] commands, as explained in [Skiena, 1990].  A simple Java-based editor which allows the nodes of a graph to be moved without breaking edges can be obtained from

http://www.cs.sunysb.edu/~lloyd/grapheditor/index.html

Our package consists essentially of one function, generateMLGraph[], and two helper functions, binaryRelationQ[], and meaningListQ[].  The function generateGraph[] converts a meaning list into a graph data structure that can be manipulated by commands in the Combinatorica package.  The helper functions ensure that the code given below for generateGraph[] is called only when its input has the correct form for a meaning list. 

Before defining any functions, however, we set up the "framework" required for proper use of a package.  This framework, consisting of lines 1, 5, 23, and 24, set up both a public and a private context that our functions will use.  A context is essentially a directory structure for variable names, which helps to prevent collisions of variable names [Wolfram, 1996].  The usage messages in lines 2, 3, and 4 appear in the public context, and provide a user with a short summary of a function.

 

(*

The function generateGraph converts a meaning list in text format into a graph that can be plotted with the Combinatorica graph-plotting commands.  The meaning list is assumed to come from the MARIE parser after all underscore characters "_" have been removed from variable names.

 

The function meaningListQ determines whether an input argument has the form of a meaning list.

 

The function binaryRelationQ determines whether an input argument has the form of a binary relation. *)

 

(*1*)  BeginPackage["mlPlotting`"]

 

(*2*)  generateMLGraph::usage="generateMLGraph[s_List] converts \

a meaning list into a graph that can be plotted using Combinatorica's \

ShowGraph command."

 

(*3*)  binaryRelationQ::usage="binaryRelationQ[e_] returns true if the\ expression e is a binary relation; that is, if it is not unary, \

tertiary, etc.  It returns false otherwise."

 

(*4*)  meaningListQ::usage="meaningListQ[e_] returns true if the \

expression e has the form of a meaning list; that is, if e is a \

list of binary relations.  It returns false otherwise."

 

(*5*)  Begin["`Private`"]

 

(*6*)  Needs["DiscreteMath`Combinatorica`"];

 

(*7*)  binaryRelationQ[e_]:= Length[e]==2;

 

(*8*)  meaningListQ[e_]:= And@@(binaryRelationQ/@e)&&(Head[e]===List);

 

(*9*)  generateMLGraph[s_/;meaningListQ[s]]:=

(*10*)       Module[

(*11*)       {meaningList,relationships,entities,edgeDataStructPrelim,

(*12*)       edgeDataStruct,edgeIndexRules,g},

(*13*)       meaningList=s;

(*14*)       relationships=Union[Head/@meaningList];

(*15*)       entities=Union[Flatten[{#[[1]],#[[2]]}&/@meaningList]];

(*16*)       g=EmptyGraph[Length[entities]];

(*17*)       AppendTo[g[[2,#]],VertexLabel->

                  entities[[#]]]&/@Range[Length[entities]];

(*18*)       edgeDataStructPrelim=meaningList/.

                  a_[b_,c_]->{{b,c},EdgeLabel->a};

(*19*)       edgeIndexRules=Transpose[

                  {entities,Range[Length[entities]]}]/.{a_,b_}->(a->b);

(*20*)       edgeDataStruct=edgeDataStructPrelim/.edgeIndexRules;

(*21*)       Return[AddEdges[g,edgeDataStruct]];

(*22*) ];

 

(*23*) End[]  (*end private context*)

 

(*24*) EndPackage[]

Figure 18.  The mlPlotting package.  This package is contained in a plain text file called mlPlotting.m, which is meant to suggest the phrase "Meaning List Plotting."

 

 

Within the private context (line 5), we read in the Combinatorica package so that we have available functions like EmptyGraph[] and AddEdges[].  The function generateMLGraph[] converts a meaning list into a Graph data structure that can be manipulated by Combinatorica.  We want this function to accept as an argument only expressions that have the form of a meaning list, and we want arguments of any other form to leave the function unevaluated.  We specify that a "meaning list" has the form of a list of binary expressions of arbitrary length (there may possibly be exceptions to this, but they are rare and we leave this topic for future research).  The function meaningListQ[] in line 8 returns True or False, according to whether or not its argument is a "meaning list quantity."  It uses the function binaryRelationQ[] to determine whether an expression is a "binary relation quantity."

The function generateMLGraph[] is defined in lines 9-22.  It accepts as an argument any expression (which we call s), subject to the condition (indicated by /;) that meaningListQ[s] returns True.  The function code is enclosed within a Module[], which treats the variables in the initial list (lines 11 and 12) as local.  A local copy of the input meaning list is made in line 13, and all the relationships in the meaning list are extracted in line 14.  To clarify the terminology being used here, we consider a meaning list to be a collection of entities, with relationships specified between them.  The variable names in the package were chosen to reflect their association with the entities and relationships within a meaning list, where the entities and relationships within a meaning list are as shown in the following expression.

{relationship1[entity1a,entity1b],relationship2[entity2a,entity2b],…,relationshipN[entityNa,entityNb]}

Thus, getting a list of all the relationships is a simple matter of getting the "heads" of all the binary relationships.  This is done in line 14 by mapping the function Head[] onto all the expressions in the meaning list; this is accomplished with the Map operator (which has /@ as a short form).  Similarly, getting a list of all the entities in line 15 involves mapping an appropriate function over the meaningList variable; in this case, we use an anonymous function, expressed by {#[[1]],#[[2]]}&, that simply returns a list containing the two arguments of the expression it is applied to.  The functions Union[], and Flatten[] are used to remove redundant terms and unwanted levels of nesting.

In line 16 we generate an empty graph g with the same number of vertices as the number of unrepeated entities we have, and in line 17 we assign the appropriate label to each vertex in the graph g.  Lines 18, 19 and 20 work together to generate a data structure for the edges of the graph.  We begin in line 18 by generating a modified form of the meaning list: each binary relation is converted into a list that defines two vertices connected by an edge, and the label that goes on that edge.  Line 19 is the definition of a set of rules that transform entity names into a sequence of numbers; this is necessary because each vertex is fundamentally represented by a number, with the entity name being nothing more than a label.  Line 20 applies these rules to generate the final data structure representation for edges.  Line 21 adds these edges to the graph g, resulting in the finished graph data structure.

 


REFERENCES

Allen, James, Natural Language Understanding, The Benjamin/Cummings Publishing Company, 1995.

Brennan, S. E., M. W. Friedman, and C. Pollard, “A centering approach to pronouns,” ACL-87, Stanford, California, 1987, pp. 155-162.

Berzins, Valdis, and Luqi, Software Engineering with Abstractions, Addison Wesley Publishing Company, 1990.

Bloomfield, Leonard, Language, The University of Chicago Press, Chicago, 1984.

Brooks, Frederick P. Jr., The Mythical Man-Month, Addison Wesley Longman, Inc., 1995.

Covington, Michael A., Natural Language Processing for Prolog Programmers, Prentice Hall, Englewood Cliffs, New Jersey, 1994.

Damianou, Nicodemos C., A Policy Framework for Management of Distributed Systems, Dissertation, University of London, Imperial College of Science, Technology and Medicine, 2002.

Damianou, Nicodemos, Naranker Dulay, Emil Lupu, and Morris Sloman, The Ponder Policy Specification Language, In Sloman, M., Lobo, J. and Lupu, E. C., eds., Lecture Notes in Computer Science, No. 1995: Proceedings of the International Workshop on Policies for Distributed Systems and Networks, Springer-Verlag, January 2001, pp. 18-38.

Guglielmo, E. J., and N. C. Rowe, “Natural language retrieval of images based on descriptive captions.”  ACM Transactions on Information Systems, 14, 3 (May 1996), pp. 237-267.

Hobbs, J. R., “Resolving Pronoun References.”  Lingua, 44, 1978, pp. 311-338.

Hodges, John C. and Mary E. Whitten, Hodges’ Harbrace College Handbook, Harcourt Brace Jovanovich, Inc., New York, 1982.

Jurafsky, Daniel, and James H. Martin, Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics, and Speech Recognition, Prentice Hall, Upper Saddle River, New Jersey, 2000.

Johnsonbaugh, Richard, Discrete Mathematics, Macmillan Publishing Company, New York, 1984.

Joyce, Steven T., and John Q. Walker, “Policy-Based Network-Management: Getting Started.”  White paper, NetIQ Corporation, July 1999.  A version of this paper appeared in Cisco World, October 1999, pp. 18-20.

Lappin, S. and H. Leass, “An algorithm for pronominal anaphora resolution.”  Computational Linguistics, 20(4), 1994, pp. 535-561.

McCawley, James D., The Syntactic Phenomena of English, Second Edition, The University of Chicago Press, Chicago, 1998.

McCawley, James D., Everything That Linguists Have Always Wanted to Know About Logic But Were Ashamed to Ask, Second Edition, The University of Chicago Press, Chicago, 1993.

Meyer, J. J. Ch., R. J. Wieringa, and F. P. M. Dignum, “The Role of Deontic Logic in the Specification of Information Systems.”  Utrecht University, Department of Computer Science Document Number UU-CS-1996-55, ISSN: 0924-3275, December 1996.

Michael, James B., Edgar H. Sibley, Richard F. Baum, Richard L. Wexelblat, and Fu Li, "Experiments in Support of Policy Representation."  Proceedings of the International Conference on Economics/Management and Information Technology.  Japan Society for Management Information, Tokyo, 1992, pp. 323-326.

Michael, James Bret, Vanessa L. Ong, and Neil C. Rowe, "Natural Language Processing Support for Developing Policy-Governed Software Systems." 39th International Conference on Object-Oriented Languages and Systems, Santa Barbara, California, July-August 2001.

Miller, George A., “Nouns in WordNet: A Lexical Inheritance System.”  Five Papers on WordNet, pp. 10-25, 1993. Available at http://www.cogsci.princeton.edu/~wn/5papers.pdf.

New York Times, Confusion Over Policy is Major Issue in Train Death, August 1, 2002.

Ong, Vanessa L.  "An Architecture and Prototype System for Automatically Processing Natural-Language Statements of Policy." Thesis, Naval Postgraduate School, Monterey, California, March 2001.

Pinker, Steven, The Language Instinct: How the Mind Creates Language, HarperPerennial, New York, 1995.

Rowe, N. C., “Precise and efficient retrieval of captioned images: The MARIE project.” Library Trends, 48, 2 (Fall, 1999), pp. 475-495.

Russell, Stuart, and Peter Norvig, Artificial Intelligence: A Modern Approach, Prentice Hall, Upper Saddle River, New Jersey, 1995.

Sibley, Edgar H., James Bret Michael, and Richard L. Wexelblat, "Use of an Experimental Policy Workbench: Description and Preliminary Results."  Database Security, V: Status and Prospects, C. E. Landwehr and S. Jajodia (Eds.), Elsevier Science Publishers, Amsterdam, The Netherlands, 1992, pp. 47-76.

Skiena, Steven, Implementing Discrete Mathematics: Combinatorics and Graph Theory with Mathematica, Addison-Wesley Publishing Company, Redwood City, California, 1990.

Sloman, M., J. Lobo, and E. C. Lupu, eds., Lecture Notes in Computer Science, No. 1995: Proceedings of the International Workshop on Policies for Distributed Systems and Networks, Springer-Verlag, January 2001.

Wolfram, Stephen, The Mathematica Book, 3rd ed., Wolfram Media/Cambridge University Press, 1996.


INITIAL DISTRIBUTION LIST

 

1.                  Defense Technical Information Center

Ft. Belvoir, Virginia

 

2.                  Dudley Knox Library

Naval Postgraduate School

Monterey, California 

 

3.                  Professor Bret Michael

Naval Postgraduate School

Monterey, California

 

4.                  Professor Neil C. Rowe

Naval Postgraduate School

Monterey, California