Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow chat from user to architect #18

Open
alexanderkoller opened this issue Jul 2, 2020 · 4 comments
Open

Allow chat from user to architect #18

alexanderkoller opened this issue Jul 2, 2020 · 4 comments

Comments

@alexanderkoller
Copy link
Collaborator

Let's think about allowing the user to send messages to the architect. This would allow Architects to act as (written) dialogue systems instead of just as NLG systems, as suggested by David Traum at Sigdial 2020.

Messages could just be logged passed on through the Broker. The Architect could simply receive a new callback method, which might even get a nop implementation in the abstract base class because most Architects don't do NLU.

There is a potential conflict with #15 which we should consider carefully.

@akoehn
Copy link
Contributor

akoehn commented Jul 2, 2020

I am pretty sure that chat messages are not shown to other users. We also already forward all text messages by the user to the broker, the only thing left is forwarding this to the architect.

@alexanderkoller
Copy link
Collaborator Author

I think Julia's point in #15 was that one connected user might be able to send direct chat mesages to another user (by name).

Sounds like this would actually be quite easy. Maybe a project for Christine or Lara?

@akoehn
Copy link
Contributor

akoehn commented Jul 2, 2020

Sure.

@ca-schaefer
Copy link
Contributor

Implementation on branch https://github.com/minecraft-saar/infrastructure/tree/textmessages.
Tested with DummyArchitect (that sends the text messages back) and SimpleArchitect with new Architect version as dependency (that ignores the text messages).

  • Text messages during the experiment are forwarded to the architect.
  • Text messages during questionnaire are handled by the broker.
  • Text messages after the questionnaire are just logged to the database and the user is reminded to log off.
  • If a text message is send by the user after the instructions are completed successfully but before the first question was sent, there is a runtime exception:

On the server:

[14:06:43 ERROR]: [de.saar.minecraft.communication.MinecraftClient] io.grpc.StatusRuntimeException: UNKNOWN

In the broker:

14:14:10.780 [grpc-default-executor-5] ERROR de.saar.minecraft.broker.Broker - handle text message null
Exception in thread "Thread-4" java.lang.IllegalStateException: Stream is already completed, no further calls are allowed
        at com.google.common.base.Preconditions.checkState(Preconditions.java:511)
        at io.grpc.stub.ServerCalls$ServerCallStreamObserverImpl.onNext(ServerCalls.java:346)
        at de.saar.minecraft.broker.DelegatingStreamObserver.onNext(DelegatingStreamObserver.java:36)
        at de.saar.minecraft.broker.Questionnaire.sendText(Questionnaire.java:129)
        at de.saar.minecraft.broker.Questionnaire$AnswerThread.run(Questionnaire.java:111)

As the broker catches the error and forwards to the Minecraft Plugin that logs it to the console, the system keeps running when the error occurs and later experiments are not effected.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants