You know, I really appreciate this suggestion. I did a bit more thinking about it, and it actually makes a lot of sense. Seems like this solution was staring me in the face. As things go on you might
have a situation where there are potentially dozens of things you could ask a character about at once. Cramming this all in with a dialogue tree system requires nesting options and hubs. Eliciting it directly by way of keywords would actually be easier.
What I might do is simplify the cost of conversation options so that it simply takes up jollyness (emotional energy; EE), rather than time and/or EE. As EE recovers slightly after the end of each phase, it has pretty much the same effect of preventing you from talking endlessly with no penalty. It also lets me try something pretty cool...
...with a keyword approach, I can actually have each single key-stroke that you enter cost a point of EE. You have say a hundred points to work with, and you regenerate a good deal over the course of the day providing you are well fed. So it’s not like you will mind that much if a keyword is five characters long instead of four (although I'll have to try and avoid very long keywords unless they are more likely to give out good information). What it does do though is it prevents you from spamming different words, and it gives you an immediate almost-tactile feel that you are currently speaking and using energy when you type characters. The typing becomes the talking, in a way.
(UI wise, I would have each keystroke turn part of the EE bar gray, but only reduce it once you have hit the enter key.)
EDIT: thought a bit more and drew up a mock UI.