Date: Mon, 19 Aug 2002 21:28:33 -0400 (EDT) From: Justin M DelVecchio To: "William J. Rapaport" Subject: Re: final reports Here are the answers to the questions you asked in a previous email(the introduction and summary of my final paper give more detail): > - the role of your task in the overall project My role was to find ways to improve and enhance Ehrlich's verb algorithm. I was given the opportunity to either revise the existing algorithm or rewrite it from scratch. In a larger sense my role was to analyze new directions for the verb algorithm as it is in its infancy when compared with the noun algorithm. This required a good deal of reading with respect to linguistics and computational linguistics. > - what you have accomplished so far I was able to create a verb algorithm that extends CASSIE's ability to interpret the information stored in her mind. With the verb algorithm in place CASSIE is now able to make distinctions between the different types of predicate structures: bitransitive, transitive and intransitive. She is also able to make eductions based on the text with the unknown verb and based on these eductions create new sentences much the way a human would. CASSIE now has the tools that will eventually allow her to manipulate the predicate structure of sentences ( basically reorder the subject, object and indirect objects) and make guesses as to the meaning of unknown verbs. > - what the immediate next steps in your part of the project are My immediate next step would be to rework the agent/act case frame with respect to inderct objects. Through my summer research it became evident that two items played a role in guessing the meaning of unknown verbs: One, the predicate sturcture and two, the prepositional phrases. In many ways I wish that I had more time to spend on prepositional phrases as those would seem to provide information (possibly patterns) that would allow CASSIE to guess the meaning of an unknown verb. The agent/act case frame needs to be reorganized so that prepositional phrases (indirect objects) become assertional information instead of an arc eminating from the case frame. I would also read up on Hastings work. It seemed very interesting. > - what longer-term future steps need to be taken. Attempt to create a verb algorithm that will analyze rules and make guesses as to the meaning of a verb based on those rules. Time and time again I came across examples of verbs in context where by background knowledge (my rule set) allowed me to infer the meaning of the verb. CASSIE needs this ability, although it will be difficult to program! ========================================================================= Here are the tasks I set out to accomplish at the beginning of the summer. I have added a 'Status' comment at the end of each: 0. Make sure the current version works with SNePS 2.6 Status - Done *1. Either rewrite the alg. from scratch, or just revise it, - use your own best judgment on how best to proceed - keep Rajeev's efficiencies * make them even better: e.g., setq -> let - eliminate "transitive", etc., labels * but deal with the problems you uncovered in the current alg with "throw" - investigate the use of verb categories: * subcategorization (e.g., transitive, etc.) * semantic categories - on both of the above, see Beth Levin's book Status - Done. I ended up rewriting the entire algorithm. *2. Add debugging/explanation facility - possibly share with noun alg. - should be able to turn debugger on/off - maybe model after SNaLPS "parser" tracing facility level 0 = no debugging 1 = tells where each part of def came from 2 = tells everything alg does * useful for programmers 3 = full, user-friendly explanation facility Status - Done. The noun and verb algorithm now have a debugging facitlity that works almost identically. Future programmers should have no trouble extending the debugging facility. 3. Add new modules e.g., to accommodate "proliferate", etc. Status - ? This one is vague. 4. Make alg highly modular, so that it's easy to accommodate new case frames (and maybe to accommodate more "detailed" case frames (e.g., property arcs that point to mod/head nodes) - but note that some of this might be better off left to an eventual NL generator Status - Done. In my opinion future programmers will be able to work with this algorithm easily. *5. Comment everything! - rule of thumb: if you think something is too obvious to need a comment, comment it anyway! Status - Done. 6. Instead of using Ehrlich's def frames, build the defs into SNePS - use a "word-definition" case frame? Status - Not done. 7. Use a flag to allow user to choose between 2 different kinds of reports: a) lexicographic version (the current default) - but make more efficient: * e.g., elim "nil" slots b) human-like version: - including some, but not necessarily all, redundant info Status - Half done. Not sure what to do next here. 8. Test on old and new demos Status - Not done. 9. Merge with defn_noun - e.g., (defn ) := cond is a N, (defn_noun ) V, (defn_verb ) etc. Status - Not done. 10. Here's something I forgot to mention in our meeting: Rajeev produced an English translation of the current verb algorithm. It's not quite as detailed as I would like, but since you're going to revise the alg anyway, it might be better if you also worked on an English version of the revised algorithm. This English version, of course, should be part of the comments in the alg itself. Status - Done. 11. Belief revision: we'll leave this to future work, but we should probably meet with Fran Johnson to find out if there's anything we should know about now if we're eventually going to use her automated bel. rev. system Status - Done. We met with Fran and it seems as though everything will work fine. Justin Del Vecchio Department of Computer Science and Engineering University at Buffalo jmdv@cse.buffalo.edu "First they ignore you. Then they laugh at you. Then they fight you. Then you win." - Mohandas Gandhi