You could have a look at
Lingua::EN::Summarize, (which is what Lingua::EN::Keywords claims to use under the hood, but I couldn't see it in the source...), but this is more useful for large bodies of text. The approach is interesting though - basically splitting the text into sentence 'fragments' and searching for simple statements (X is/was/will/etc. Y). It works best with long paragraphs, cutting them approximately in half in my experience. You may get milage from passing your body text though it before passing to Keywords though.
Cheers, Ben.