Unihedro / JavaBot

Java based chat bot that runs in Java room of Stack Overflow Chat.
Apache License 2.0
15 stars 4 forks source link

Warn users not to ask to ask #53

Open Unihedro opened 9 years ago

Unihedro commented 9 years ago

When users show an asking pattern that appears to be enquiring for topic experts, whether they can ask a question, or if anyone's active, the bot should warn them not to ask to ask, as having chat users to reply with that reduces efficiency.

A sample message might look like a derivative of this:

Don't ask to ask. Don't ask for topic experts. Don't ask if anyone's online.

Vogel612 commented 9 years ago

This should be rather easily solvable over the already existing "Interactions"-System. A list of "phrases" to fuzzily react to might include:

Unihedro commented 9 years ago

Most of the "someone"/ "anyone" phrases should be interchangeable as well, so make them (?:any|some)one, and we probably need to make the match case-insensitive (you probably already realized this before me), and phrases like "I have a problem" or "anyone good at" doesn't hurt to be included as well.

Vogel612 commented 9 years ago

There is a first preview available at Vogel612/javabot@e207772

Vogel612 commented 9 years ago

It might be inconcievably simpler to just add a command for that, and dump the whole Interaction concept, because of the sheer complexity of human language.

Zomis commented 9 years ago

Speaking of complexity of human language, this issue seems related to Duga searching for comments on Stack Overflow about Programmers and Code Review and trying to filter them and post them to chat rooms. See https://github.com/Zomis/GithubHookSEChatService/issues/62

Please don't give up on this :) I'm sure it's possible, somehow! And when you have figured it out, you can help me who's dealing with a similar problem ;)

fge commented 9 years ago

@Zomis just forget it; why do you think there is a dedicated research group for this at Stanford, no less, which has procuded StanfordNLP?

And if you look at their API, you had better have preliminary, and extensive at that, knowledge of both linguistics and parsing. This subject is of practical implication, surely enough, but it is hard.

VERY hard.

Zomis commented 9 years ago

That is what I was afraid of, @fge. I knew this was a research-topic in itself. Was primarily hoping to get some assistance in this difficult quest.

Unihedro commented 9 years ago

Well, after short thinking a regex is probably still the most effective for figuring this out, as well as duplicate checks to make sure we don't spam the message to the same user(s) many times. I'm going to collect some existing candidates for poking with the message and then see if I get anything worthy of attention.

Vogel612 commented 9 years ago

Alternatively we could define some keywords, and weigh them against some other factors. The message then would get posted if we pass a certain threshold.

Unihedro commented 9 years ago

@Vogel612: That's so ArcticEcho/Phamhilator.

Vogel612 commented 9 years ago

'course it is. But it works well for them, it seems to also have worked for Andy's flag-bot, why shouldn't it work for us??