Plan, Activity, and Intent Recognition: Papers from the 2011 AAAI Workshop (WS-11-16) Fixing a Hole in Lexicalized Plan Recognition Christopher W. Geib School of Informatics University of Edinburgh 10 Crichton Street, Edinburgh, EH8 9AB, Scotland cgeib@inf.ed.ac.uk assumptions, conditional probabilities for each goal can be computed. If a particular goal of interest does not occur in any of the explanations, ELEXIR assigns a conditional probability of zero to the goal. Unfortunately this can prevent the algorithm from considering some goal hypotheses that have a significant amount of evidence in their favor. Since a goal is only introduced to an explanation when the plan anchor is observed, and this can be quite late in a sequence of observations, the assignment of zero probability to those plans whose anchors have not been seen can cause significant problems for partial sequences of observations. In the case where we only have a proper prefix of the entire sequence of observations, the agent may have performed many of the actions that lead up to or enable a goal of interest but have still not executed one of the plan’s anchors. Thus, there may be a sizable amount of evidence that the actor is performing the goal. However, since the plan anchor has not been observed, Geib’s algorithm is unable to take this into account. Rather than extending the ELEXIR algorithm, this paper will advocate a heuristic metric for the likelihood of an individual goal based on testing each explanation for the possible contribution of its actions to a desired goal. The rest of this paper is organized in the following manner. First, we will provide more formal background on the ELEXIR algorithm and its limitation. Then we will discuss the heuristic metric and some experiments in using this metric. Then the paper will close with a discussion of related work and the limitations and applicability of the work Abstract Previous work has suggested the use of lexicalized grammars for probabilistic plan recognition. Such grammars allow the domain builder to delay commitment to hypothesizing high level goals in order to reduce computational costs. However this delay has limitations. In the case of only partial observation traces, delaying commitment can prevent such algorithms from forming correct conclusions about some goals. This paper presents a heuristic metric to address this limitation. It advocates computing the maximum change in conditional probability across all the computed explanations given the observations explicitly considering a goal of interest. Introduction Plan Recognition is usually defined as the problem of inferring which plans, from a given plan library, an agent is executing based on observations of their actions. (Geib 2009) suggests using lexicalized grammars to encode the plan libraries for recognition. The use of lexicalized grammars moves all domain specific structural information about plans into the lexicon and encodes this information in rich syntactic structures associated with particular observable actions called plan heads. For example, a plan lexicon might associate with the observation of the single action of brewing tea much of the abstract plan structure for a plan for having afternoon tea. Instead of calling these actions heads, this paper will use the term plan anchors for the same concept. This terminological shift is more in line with use in the formal grammar and natural language research communities and better captures the intuitions of the action’s role as grounding the plan in a single, highly diagnostic observable. This is just a terminological change and, as we will see, does not effect the underlying theory or definitions. (Geib 2009) describes the ELEXIR plan recognition system that uses such lexicalized grammars to represent the plan library. At a high level, ELEXIR recognizes plans by building a complete and covering set of explanations for the observations (based on the plan structures in the lexicon) and then establishes a probability distribution over the explanations. On the basis of this distribution, under a set of Encoding Plans for Recognition Consider the simple abstract hierarchical plan drawn as a partially ordered AND-TREE shown in Figure 1. In this a c 2011, Association for the Advancement of Artificial Copyright Intelligence (www.aaai.org). All rights reserved. b c d Figure 1: An abstract plan with partial order causal structure 10 plan, to execute action G the agent must perform actions A, B, C, and D. A and B must be executed before C but are unordered with respect to each other, and finally D must be performed after C. We will now show how to use Combinatory Categorial Grammars (CCG) (Steedman 2000), to encode this plan for use in ELEXIR. To represent this plan in a CCG, instead of context free grammar style production rules, each observable action is associated with a set of syntactic categories. CCG categories are combined into higher level plan structures using combinators (Curry 1977). ELEXIR only makes use of three combinators defined on pairs of categories: rightward application: leftward application: rightward composition: where X and Y are categories, and α and β are possibly empty sets of categories. To see how a lexicon and combinators parse observations into high level plans, consider the derivation in Figure 2 that parses the sequence of observations: a, b, c. As each obser- Definition 1.1 A set of syntactic categories, C, is defined recursively as: Atomic categories: as a finite set of basic action categories. C = {A, B, ...}. Complex categories such that, ∀Z ∈ C, and non empty set {W, X, ...} ⊂ C then Z\{W, X, ...} ∈ C and Z/{W, X, ...} ∈ C. a b c A B (G/{D})\{A, B} < (G/{D})\{A} < G/{D} Complex categories represent functions that take a set of arguments ({W, X, ...}) and produce a result (Z). The direction of the slash indicates where the function looks for its arguments. We require the argument(s) to a complex category be observed after the category for forward slash, or before it for backslash in order to produce the result action. Thus, an action with category A\{B} is a function that results in performing action A when an action with category B has already been performed. Likewise, A/{B} is a function that results in performing A if an action with category B is executed later. Figure 2: Parsing Observations with CCGs vation is encountered, it is assigned a category on the basis of the lexicon. Combinators then are used to combine the categories. If we observe all of the actions of a plan, the action of the combinators on the observed action’s categories should produce an instance of the root-result of the executed plan. In this case, we are missing an observation of d and so will not expect just the root-result, G, but instead a complex category. First, a is observed and assigned A and no combinators can be applied. Next we observe b, and it is assigned B. Again, none of the combinators can be applied. Notice, all the hierarchical structure from the original plan for achieving G is included in c’s category. Thus, once c is observed and assigned its category, we can use leftward application twice to combine both the A and B categories with c’s initial category to produce G/{D}, that is a function with result G, that is looking to its right for an occurrence of a D. Definition 1.2 We define a plan lexicon as a tuple PL = Σ, C, f where, Σ is a finite set of observable action types, C is a set of possible CCG categories, and f is a function such that ∀σ ∈ Σ, f (σ) → Cσ ⊆ C. where Cσ is the set of categories an observation of type σ can be assigned. We may provide just the function that maps observable action types to categories to define a plan lexicon. For example: a := A, b := B, c := (G/{D})\{A, B}, X/α ∪ {Y}, Y ⇒ X/α Y, X\α ∪ {Y} ⇒ X\α X/α ∪ {Y}, Y/β ⇒ X/α ∪ β d := D. defines one plan lexicon for our example plan in Figure 1. ELEXIR Background and Problem Definition 1.3 We define a category R as being the root or root-result of a category C if it is the leftmost atomic result category in C. This section provides only a brief outline of the ELEXIR algorithm. A full discussion of the algorithm is given in (Geib 2009), and the interested reader is referred there for more details. This discussion will only present sufficient details for us to understand a particular limitation of the algorithm. ELEXIR views the problem of plan recognition as one of weighted model counting. It uses a CCG action lexicon and parsing as the formalism behind and method for building the models. In this case, the models that are counted are hypothesized explanations for the observed actions. Therefore, in the following, we will use the terms models and explanations interchangeably. For example, G is the root-result of (G/{D})\{A, B}. Further, Definition 1.4 we say that observable action type “a” is a possible anchor of a plan for G just in the case that the lexicon assigns to “a” at least one category, C, whose rootresult is G. In our lexicon, c is a possible anchor for G. This formulation of CCGs is closely related that of (Baldridge 2002) in allowing sets of arguments to categories. Sets of arguments are critical for our treatment of partial ordering in the plan. For example, the first argument to c’s category is the leftward looking set {A, B} representing the partial ordering of these actions before C in the original method. Notice that the next argument to c’s category is a rightward looking singleton {D} indicating that the it must be observed later. Definition 1.5 We define an explanation, exp, for a sequence of observations, σ1 ...σn , given a plan lexicon as a sequence of CCG categories that result from parsing the observations according to the lexicon. Such a explanation is a short hand for the much more complex derivation structure that could be built by the action 11 of a probability distribution over the possible categories to which a given observation can be mapped in the lexicon. In NLP such probabilities are usually learned using large corpora of parsed text(Clark and Curran 2004). The second product represents the prior probability that the root-results of the current explanations will NOT be combined with other categories to achieve other results, but instead represent the final goals of the actor. These priors are also assumed to be in the lexicon. Details and an argument for this formulation are provided in (Geib 2009). We refer the interested reader there for more details. of the combinators on the categories during parsing. However, for our purposes it will suffice to merely identify the resulting categories and their ordering. Thus, in Figure 2, [G/{D}] is one possible explanation for the observations. As a final piece of terminology, Definition 1.6 we will refer to any root-result of a category in an explanation as a goal of the observed agent given the explanation. ELEXIR produces explanations by assigning to each observation each of its possible lexical categories. It then applies the relevant combinators to produce the complete set of possible explanations for the observations in a manner very similar to NL parsing. Thus, the ELEXIR algorithm incrementally creates the set of all explanations for the observed actions. For example, given the original example plan lexicon and the observations: a, b, c, d the algorithm produces [G] and [G/{D}, D] as explanations. Note, the second explanation is included to account for the case where the D category will be used in some other, as yet unseen, plan. Under the assumption that a given category can only contribute to a single plan, if these categories are consumed at the earliest opportunity they will be unavailable for later use. Taking a probabilistic approach to plan recognition (Charniak and Goldman 1993) the objective is to compute the conditional probability for all of the possible root-results (Charniak and Goldman 1993). To do this ELEXIR uses weighted model counting. Given the complete and covering set of explanations for a set of observations ELEXIR uses the following formula to compute the conditional probability of each goal that occurs in at least one explanation of the observations: Definition 1.7 P(expi |obs) P(goal|obs) = Changing Plan Anchors With this algorithm in hand, it is important to recognize that structural properties of the lexicon can have a significant impact on the runtime of the plan recognition algorithm. Different lexicons can result in varying numbers of resulting explanations for the same set of observations having a profound impact on the recognition algorithm. For example, in the preceding plan grammar c was chosen as the anchor for goal G. However, we could have encoded the plan in a lexicon that made different choices about plan anchors. a := A, c := C, d := (G\{A, B})\{C}. also encodes the same causal structure for the plan for G, but makes a different choice for the plan anchor. (Geib 2009) and (Geib and Goldman 2001) have shown that this and other domain encoding features can have a significant impact on the runtime of plan recognition algorithms based on lexicalized grammars. However as we will see the choice of anchors can also lead to a significant problem for these algorithms. The Problem ELEXIR’s algorithm and approach to computing probabilities works well for complete observation traces, that is observation traces where there is no possibility of further observations. However, there is a significant problem with this approach in domains where it is known that more observations are possible. To see this, consider the following plan grammar for robbing a bank or selling a gun to a teller. Note that this grammar has roughly the same underlying causal structure as our initial example grammar (ie. the first two actions are unordered relative to the third and later actions) : {expi |goal∈expi } where P(expi |obs) is the conditional probability of explanation expi . That is, ELEXIR computes the conditional probability of each explanation. The conditional probability for any particular goal is just the sum of the probability mass associated with those explanations that contain it. This relies on computing the conditional probability for each explanation. For an explanation, exp, of a sequence of observations, σ1 ...σn , that results in m categories in the explanation, ELEXIR defines the conditional probability of the explanation as: Definition 1.8 n m P(ciniti |σi ) P(root(c j ))K P(exp|{σ1 ...σn }) = i=1 b := B, graspBag := GB, graspGun := GG, enterBank := EB, graspCash := GC, threaten := ((ROBBANK/{GC})\{EB})\{GB, GG}, handOverGun := ((S ELLGUN/{GC})\{EB})\{GB, GG} With this lexicon, suppose we observe an agent perform the following series of observations: j=1 Where ciniti represents the initial category assigned in this explanation to observation σi and root(c j ) represents the root result category of the jth category in the explanation. The first product represents the probability of the given observations actually having their assigned CCG categories. This is standard in NLP parsing and assumes the presence graspBag, graspGun, enterBank. In this case, ELEXIR is only able to compute one explanation for these observations, namely [GB, GG, EB]. Since none of the observation’s categories allow for their combination, the only consistent explanation is that each of these 12 actions is being done as a separate root goal. Moreover, since neither ROBBANK or SELLGUN occur as any category’s root-result in the explanation, ELEXIR will compute a conditional probability of zero for both of these categories. This strongly clashes with our intuition that all three of the observed actions could be part of a larger plan. Not only that, we also believe that it is significantly more likely that ROBBANK is the goal the agent is pursuing than SELLGUN given these three actions. We anticipate that the next action will be to threaten the teller. If we knew there were no other observations, that is, the actor was guaranteed not to perform any further actions, then we might be willing to accept this explanation. However given the possibility of future actions this explanation seems unacceptable. This problem is a result of the use of lexicalized grammars and design choices in the construction of the lexicon. If we restrict ourselves to the kind of, minimal lexically justified explanations that ELEXIR produces, then we are unable to consider the possibility of plans for a given goal until an action that is an anchor for a plan for this goal has been observed. In some cases, this is very advantageous since the system it is not forced to hypothesize goals when the anchor actions for the goal has not been observed, thus saving valuable time. However in cases where we are particularly interested in the probability of a goal whose anchor has not been observed, more work must be done. prior probability for robbing the bank (which while unlikely in itself is much more likely then the three unrelated events happening). This suggests leveraging our existing algorithm by hypothesizing the addition of a category with a desired rootresult to the explanation and making use of the change in the conditional probability of the individual explanations (CP) to as a heuristic estimate of how likely it is that the agent is actually pursuing the desired goal. In such a system, large positive shifts in CP indicate two things. First, there are observed actions with categories that can play the role of arguments to a category with the desired root, (root probability terms for these categories drop out of the conditional probability for the explanation.) Second, the rise in probability from the loss from the categories that contribute to the desired goal as arguments overshadows the cost associated with the introduction of the goal. Negative shifts in CP indicate the opposite. Either there weren’t sufficient gains from categories that contribute, or the cost of the goal of interest was too high. It is important to note that since the observed actions may be able to act as arguments to a category that is itself an argument to a category of interest the process of identifying which observations could be playing a role in the desired goal is more complex than simply extending the explanations with a hypothesized new category. Instead we will have to compute the cancellation for the explanation given the category. To make this more precise, Proposed Solution Computing the conditional probability for all possible rootresults would effectively amount to performing all of the computations that are normally saved in ELEXIR by moving the anchors later in the plans and deferring hypothesizing higher level goals. Instead of this costly approach, this paper advocates a heuristic metric that, when queried about a particular root goal, measures how much of the observed action sequence could contribute to the goal in question. To inform this, reconsider the Bank robbing example. The reason it seems likely that the agent is going to rob the bank is because all three of the observed actions could be arguments to a category that has robbing the bank as its rootresult. All three of the observed actions could also be arguments to the final category in the lexicon, that has selling the gun as its root-result. However, intuitively we dismiss selling the gun to someone in the bank as being very unlikely. This seems to identify two features that should be critical in our metric: 1) the number of observed actions’ categories that can act as arguments or sub-arguments to a category that has the desired goals as its root-result, and 2) the prior probability of the goal of interest. Imagine in our example, hypothesizing the addition to the explanation of the category from the lexicon that has ROBBANK as its root-result. The process that we have already discussed for computing explanations from observations would combine all three of the observations with the robbing bank category to produce a reduced explanation with ROBBANK / {GC} as its sole category. This explanation has a much higher conditional probability than the current one. The root probability terms for each of the three subsumed categories have been removed and replaced with the Definition 1.9 we define a cancellation of a category, C, against an existing explanation, exp, as a new explanation exp’ that results from adding C to exp and removing from exp those categories that can fulfill leftward argument roles for C or the leftward arguments of the recursive expansion of one of C’s arguments. Since there can be multiple possible cancelations for each category and explanation pair: Definition 1.10 we define the maximal cancelation of a category C, against an existing explanation, exp, as any cancelation of C against exp that results in the largest change in the conditional probability of the explanation given the observations. As we have already alluded producing cancellations must be sensitive to the possibility that categories may act as an argument to a category that is itself an argument to a category that has the desired root-result. In more traditional planning terminology a category may contribute to a subgoal of a plan to achieve the goal. Therefore the process of computing maximal cancellations must consider all of the possible completions for the goal category’s arguments. Like traditional hierarchical planning, this can require “decomposing” an argument by replacing it with a category from the lexicon that results in the same root-result. Consider the explanation [A, B, C] looking for a D where the plan lexicon includes categories (D\P)\A and P\{B, C}. In this case, all of the previously observed actions could contribute to achieving goal D however this can only be seen if atomic category P is expanded. 13 Allowing this kind of category decomposition also requires that all possible permutations of unordered arguments be considered. Consider again the simple explanation [A, B, C] in the context where we are looking for D but this time the grammar includes D\{P, A} and (P\B)\A. If we first remove the A argument to D and then consider decomposing P we get [B, C] as a cancellation, but in the other order we can get [C] as a cancellation because the A is still in the explanation. Depending on the prior probabilities of the respective root goals either of these explanations might be the maximal cancelation.1 Thus computing the maximal cancellation for an explanation and a category requires that we consider all of the possible cancellations and orderings for the categories. Next we define two proposed metrics based on CP : 3. compute the set of all cancelations and CPfor each explanation and category pair. In this trace, extraneous actions were inserted at steps two and three (for goal g2), five (for goal g3), seven (for goal g4), and nine (for goal g5). This means, by the end of this trace, the anchor for the primary goal (g1) has still not been seen. Note that the maxCPand the maxCPare never negative in this test run. The probabilities in this example were designed so that canceling even a single action would offset the cost of adding a category with g1 as its root result. This accounts for the zero values for the first observation. Since the actions observed second and third do not con tribute to g1 there is no change in maxCPand maxCP. The fourth action does contribute to g1 and can be canceled by the category added for g1 accounting to the spike in the heuristics. Our heuristics drop at observation five because while the observed action does not contribute to g1, the occurrence of the observation lowers the overall probability of the explanation and thus reduces maxCPand maxCP. The further drop in our heuristics at the sixth observation is a result of the occurrence of the anchor for the first five-step subplan of g1. After this point, and until the next subplan of g1 is begun at observation ten, all of the observed categories that can contribute to g1 can be combined into a single category by the ELEXIR algorithm. This means there is only a single category in the most likely explanation that can be canceled when looking for g1. This is why we again see the metrics stay at zero. After observation ten we see a rise and plateau in the metrics as a result of executing the actions of the second fivestep subplan for g1. In this case since there are now two subplans that can contribute to g1 the metrics do not return to zero. The divergence between the maxCPand maxCPat this point are a result of an increasing number of explanations due to the length of the subplans. These are very preliminary results and we very much view this algorithm as a work in progress and are continuing to evaluate its effectiveness and to look at the application of this approach to real world domains as an area for future work. 4. store the maxCPand maxCPfor each category of interest. Discussion and Limitations Maximum CP (maxCP): For each explanation of the observations, loop over the set of all categories that have the desired root-result compute the CP for the maximal cancellation for each explanation and category pair. Store the maximum across all explanations. Average maximum CP (maxCP): Average the maxCP values computed for each explanation and category pair for the desired root goal. Keep in mind that both of these statistics may be negative. Adding a category that has the particular root-result may actually make the explanations less likely. In cases where it is necessary to distinguish the category being discussed, we will use subscripts (i.e. maxCPC of maxCP C) Use of these metrics is relatively straightforward. At any given point in the observation trace, 1. processing by the ELEXIR algorithm is halted and the current set of explanations is collected. 2. For any category of interest, the set of all categories that have that as their root result is collected. The efficacy of these heuristics depends a great deal on the application domain. To see this, we will briefly reiterate when these heuristics will be helpful and then discuss the kinds of domains that will benefit the most from the appeal to such methods. A positive maxCP is a good indicator that the observed actions could be used in service of the goal of interest. Keep in mind that this indicates that the cost of introducing the new root goal is offset by the use of observed actions to achieve its subgoals. While a positive maxCP suggests the observations could be used for a par ticular goal, a positive maxCP is a far more positive indi cator. For the maxCP to be positive it must be the case, that there are more explanations for which we find a positive maxCP than there are negative ones. As such, it gives us a strong reason to think the agent might be pursuing the goal. With this said it should be noted that even a negative maxCP can indicate the presence of the goal. It is only in In the next section we will show using these two metrics in a synthetic domain. Experimentation and Validation We have implemented these ideas and Figure 3 plots maxCPand maxCPfor the primary goal category being pursued in the observed sequence. This sequence was generated from a very simple test lexicon that contained five totally ordered plans (g1, g2, g3, g4 and g5) each built as a tree with fixed branching factor of five and depth two with the anchors for each plan as the middle (third) action of the subtree. This means that each plan was twenty five steps long with the anchor for the topmost goals occurring at the thirteenth step. 1 We are looking at overloading category cancellation as an area for future work. This would obviate the need for considering multiple orderings in this case. 14 Average and Maximum Change in Conditional Probaiblity vs Observation 0.07 0.06 0.05 0.04 0.03 0.02 0.01 0 1 2 3 4 5 6 7 8 g1AverageMDCP 9 10 11 12 13 14 g1MDCP Figure 3: cases where: heuristics before exploring the possibility of using it to compute as an upper bound on the goal’s conditional probability P(root(C)) = −maxCP C Effective Use can we conclude that none of the previously observed actions can contribute to the goal, C. In such cases, there are no explanation and category pairs where in any of the observed actions contribute to the root goal. Thus, we have no evidence that the agent is pursuing the goal. While this would give us very strong reasons to suppose that the goal is not being pursued, in general, in any domain with ambiguity or noise we would expect this to be a very rare occurrence. In general, we will expect that for sufficiently large plans and numbers of observations there will be some observations that could participate in any plan. Note that, while we have discussed this as a heuristic metric, adding an explanation’s maxCP to the conditional probability of the explanation (given the observations) is an upper bound on the conditional probability of the explanation if the desired goal is actually present. This is a result of two features of the algorithm: Given the comments in the previous section, it is worth noting that individual queries for a goal may not be particularly informative. Knowing the maxCP for a particular goal will not give the user a feeling for how great an impact other actions or goals might have. Since the range of possible maxCP values depends a great deal on the size of the plans being queried after and the makeup of the observa tions, an individual maxCP (or even maxCP) score may not be as informative as we would like. As we have already seen these values vary a great deal based on when and where in the observation trace for a particular plan the query for a root goal is executed. A method for using this tool in deployed systems, that we have found effective in our exploratory studies, is to query for a small but randomly selected set of goals that are not of interest in addition to a particularly desired goal. If possible, including goals that are known not to be present can also help. Examining a diverse set of goals can give one a sense of how unusual the heuristic values are. 1. maxCP and maxCP calculations have not taken the probability of some observed action being assigned the specific category used in the cancelation. 2. Computing cancelations of the goal of interest does not consider the possibility of any alternative explanations of the observations based on other possibly more likely goals who’s anchors have also not been observed. Domains that will Benefit In domains that have a large number of possible relatively uninteresting root goals with a significant number of shared subgoals, and where there are a small number of root goals that are important to identify early, these heuristics can be a powerful addition to the system builder’s toolkit. The large number of root goals with shared structure makes plan recognition methods with early commitment to root goals computationally expensive(Geib 2009). This strongly encourages the use of approaches like ELEXIR with plan anchors as late in the plan as possible to delay commitment. Both of these features will reduce the over all probability mass associated with the explanations we are interested in. As a result, we could actually use maxCP values to compute an upper bound on the likelihood of the goal. However, given the assumptions behind computing maxCP values and the ELEXIR algorithm in general, we have decided to explore using maxCP and maxCP as stand alone 15 Conclusions However, the presence of the small set of important goals that must be recognized as early as possible presents a problem. The anchors for these plans can be moved forward, however the shared subgoals of the plans may make this computationally infeasible. Using these two heuristic metrics may provide an alternative for such domains. The effectiveness of this approach depends a great deal on 1) how computationally expensive the preprocessing is given the grammar, 2) if early detection of root goals is desirable (meaning there will be more plans with early anchors) and 3) if more global goal recognition is desirable, versus the focused queries that can be asked with this method. ELEXIR views plan recognition as probabilistic parsing of lexicalized grammars. Deliberately designing the lexicon for such systems to delay commitment to high level goals (in order to reduce runtime) can create a problem for such algorithms. In conditions where, no action that anchors a plan for a particular goal is observed, the algorithm will assign a probability of zero to the goal. This paper has advocated the use of two heuristic metrics, the maximum change in conditional probability and the average maximum change in conditional probability to identify when observed actions may be contributing to a goal whose anchor actions have not been observed. This paper has shown initial results demonstrating the effectiveness of this approach, and provided a discussion of when this approach will be effective. Use by Themselves This paper has advocated this heuristic as an additional tool to be used after the existing ELEXIR algorithm has been run. However, we could take a more radical approach to plan recognition, by doing almost no initial processing by using all rightward branching grammars and these heuristics to identify the high likelihood goals. In such a setup, the last action of every plan is chosen as the anchor. This means that almost no processing is done before the last action of a plan or subplan is seen making the initial processing very fast (See (Geib 2009)). At any time, the set of observations could be “bounded” and we use a rightward grammar to sweep back through the observations and based on maxCP determine how many of the actions contribute to any particular goal. We can certainly imagine domains where such a method could be used to supplant all of plan recognition. Forensic analysis of audit logs after a network compromise has been detected might be one case. (ie. was a particular exploit or vulnerability used to gain access to the machine?) Acknowledgements Dr. Geib’s work in this paper was supported by the EU Cognitive Systems project Xperience (EC-FP7- 270273) funded by the European Commission. References Baldridge, J. 2002. Lexically Specified Derivational Control in Combinatory Categorial Grammar. Ph.D. Dissertation, University of Edinburgh. Bishop, C. 2006. Pattern Recognition and Machine Learning. Springer Verlag. Carberry, S. 1990. Plan Recognition in Natural Language Dialogue. ACL-MIT Press Series in Natural Language Processing. MIT Press. Charniak, E., and Goldman, R. P. 1993. A Bayesian model of plan recognition. Artificial Intelligence 64(1):53–79. Clark, S., and Curran, J. 2004. Parsing the wsj using ccg and log-linear models. In ACL ’04: Proceedings of the 42th Annual Meeting of the Association for Computational Linguistics, 104–111. Curry, H. 1977. Foundations of Mathematical Logic. Dover Publications Inc. Geib, C. W., and Goldman, R. P. 2001. Recognizing plans with loops represented in a lexicalized grammar. In Proceedings of AAAI-2011, (to appear). Geib, C. W. 2009. Delaying commitment in probabilistic plan recognition using combinatory categorial grammars. In Proceedings of the International Joint Conference on Artificial Intelligence (IJCAI), 1702–1707. Pynadath, D., and Wellman, M. 2000. Probabilistic statedependent grammars for plan recognition. In Proceedings of the 2000 Conference on Uncertainty in Artificial Intelligence, 507–514. Steedman, M. 2000. The Syntactic Process. MIT Press. Vilain, M. 1991. Deduction as parsing. In Proceedings of the Conference of the American Association of Artifical Intelligence (1991), 464–470. Related Work While there is a growing body of work on viewing plan recognition as a problem of parsing formal grammars(Carberry 1990; Vilain 1991; Pynadath and Wellman 2000), we know of no similar work. The central objective of research in plan recognition has been to identify, as early as possible, the plans and goals of the agent. The problem addresses here results from the deliberate choice in the ELEXIR system to move away from this kind of early development of hypothesis about the agent’s plans and goals. Further, the heuristic suggested here eschews developing theories about all possible goals and plans in favor of considering queries about the likelihood of the observed actions contributing to a specific goal. As such, this work moves away from more traditional plan recognition algorithms in the direction of problems like partial string matching or more general pattern recognition (See (Bishop 2006) for an overview). Such algorithms ask if a particular pattern or string is present in the input stream rather than identifying all of the possible patterns in the input stream. As such, the large body of work in work in classification algorithms could also be considered related, however the use of lexicalized grammars and the application to the plan recognition domain make this work unique. 16