Hi Peter, Glad to be of some help. SenseRelate::AllWords takes part of speech tagged input pretty much as it comes out of the Brill Tagger, for example. I think if you really need to assign meanings to words, then SenseRelate could be helpful. If you simply need to make a distinction between "line" as a noun versus "line" as a verb for your applications, then perhaps POS tagging is enough. POS tagging is relatively accurate, so you probably want to try that first and see where it gets you.
In terms of quick ways to do relation extraction, you might want to think in terms of using a chunker of some kind to identify noun phrases and verb phrases, and then use the verb phrases as relations between noun phrases....some things having to do with relation extraction can be approximately fairly simply with syntax of this sort, so you might want to look into that too. I don't have quite as much experience with chunkers, etc. so don't have any specific recommendations, but perhaps others who are on this list do... Good luck, and keep us posted on how it goes. Cordially, Ted On Sun, Dec 7, 2008 at 2:38 PM, Peter Muhl <[EMAIL PROTECTED]> wrote: > Hi Ted: This is tremendously helpful, thanks! I now have a much > clearer idea of what software to utilize and what literature to > examine. One thing I'm still wondering is whether senserelate by > itself provides any advantage over POS alone. That master's thesis > may clarify that issue. Hopefully, it isn't too hard to apply > senserelate to POS output. Also, the tips on how to extract > relationships are worth pursuing. Ultimately, what I'm doing > statistically, a kind of simplified Bayesian network analysis, might > also help clarify the meanings. > > Thanks again! Peter > > On Sat, Dec 6, 2008 at 7:14 PM, Ted Pedersen <[EMAIL PROTECTED]> wrote: >> Hi Peter, >> >> This sounds like a great project, and you have done a good job >> identifying what is likely to work. Part of speech tagging is >> important simply because it reduces the number of possible senses for >> a word in a coarse way - for example "train" as a verb has very >> different senses than "train" as a noun (e.g., train like a boxer >> versus train engine). So that's a very important first step. >> >> Of all the methods we have looked at, WordNet::SenseRelate::AllWords >> is going to be the one most likely to be useful. Supervised learning >> will require a lot of manually annotated data, and typically only >> deals with one word at a time. So AllWords is probably the best >> starting point, because it will assign a sense to every content word >> in a text You could limit it to only dealing with nouns and >> adjectives, although you might still want to consider every content >> word as input to the algorithm and then only look at the results of >> the nouns and adjectives. The reason for considering all the words in >> the text is that the AllWords methods finds the sense of a word that >> is most related to its neighbors - so the more neighbors you use the >> better the results. >> >> You can find AllWords here, available for download or via a Web interface. >> >> http://www.d.umn.edu/~tpederse/senserelate.html >> >> You are also correct, word sense disambiguation as performed by >> AllWords is not highly accurate in some cases, and so you have to be a >> little careful in using the results. However, part of speech tagging >> will help, and in fact we are working on setting some benchmarks that >> compare part of speech tagged text versus untagged text - our early >> indications are that it helps quite a bit. You can see a fairly >> extensive discussion of AllWords results without using part of speech >> tags in the following MS thesis: >> >> Semantic Relatedness Applied to All Words Sense Disambiguation >> (Michelizzi) - Master of Science Thesis, Department of Computer >> Science, University of Minnesota, Duluth, July, 2005. >> http://www.d.umn.edu/~tpederse/Pubs/jason-thesis.pdf >> >> What you see there is that AllWords does not beat the "most frequent >> sense" or "WordNet sense 1" baseline. These are the results that you >> get by assigning each word its most frequent sense (according to >> WordNet in this case). In fact it is very hard to beat this baseline, >> but we are cautiously optimistic that we can if we use more part of >> speech information. >> >> Finally, as to extracting relations, that is not something that is >> supported in any of our tools, but I think this might be where knowing >> the degree to which verbs and nouns are semantically similar could be >> a reasonable approximation. >> >> For example... >> >> The doctor treated the patient >> >> The verb "treat" can be considered the "relation" between doctor and >> patient, and if "doctor" and "treat" are highly related, and if >> "treat" and "patient" are also highly related, we might assume that >> the relation "treat" holds between them. Note that in this case you'd >> need to use a measure of semantic relatedness (like lesk or vector, in >> WordNet::Similarity) that would allow you to make measurements between >> nouns and verbs. The measures of similarity (most of the rest of the >> measures) only allow for measuring similarity between nouns and nouns >> or verbs and verbs. >> >> That's a very quick approximation of how you might try and deal with >> relations, there are quite a few other options too. >> >> In any case, you raise many interesting issues and I think your >> instincts on this are dead on. It sounds like a very interesting >> problem, please feel free to raise any additional questions or >> concerns you might encounter! >> >> Cordially, >> Ted >> > -- Ted Pedersen http://www.d.umn.edu/~tpederse

