2016-07-03 16 views
0

Ich habe meine Anwendung läuft auf AWS auf Tomcat-Instanz mit Java-Code mit mongodb Datenbank.Facebook Messenger - ChatBot - wit.ai Integration

Ich muss jetzt dies mit Facebook Messenger ChatBot und wit.ai integrieren.

Ich habe wirklich Mühe, zu beginnen, einige Beispielcode habe ich gefunden, aber in verschiedenen Sprachen.

Kann ich das ausführen und mit meinem Portal auf Tomcat integrieren. es sollte sowohl Facebook Messenger als auch wit api anrufen.

Ich brauche High Level-Idee, wie Sie vorgehen.

+0

Die Leute schließen einfach die Frage mit "zu breit", ich frage nicht nach einer vollständigen End-to-End-Lösung oder Code, nur eine Übersicht über die Architektur, um darüber zu gehen. –

+0

Mögliches Duplikat von [Wie verbindet sich Facebook Messenger mit der Wit.ai Bot Engine?] (Http://stackoverflow.com/questions/37220796/how-does-facebook-messenger-connect-with-wit-ai-bot-engine) – GeekSince1982

+0

Ich empfehle Ihnen, einen Blick auf mein Framework, FaceBot zu werfen: https://github.com/Aurasphere/facebot – Aurasphere

Antwort

0

Denken Sie zuerst darüber nach, was Ihr Bot tun soll. Welche Funktionalität bietet es, welche Fragen werden von den Nutzern gestellt und wie möchten Sie darauf reagieren? Wenn Sie eine allgemeine Vorstellung von Ihrem Problembereich haben, können Sie über die technischen Herausforderungen nachdenken.

Beachten Sie, dass sowohl die Messenger-Plattform als auch wit.ai vollständig unabhängige Produkte sind und eine HTTP-Schnittstelle für ihren Dienst bereitstellen. Das bedeutet, dass Sie jede beliebige Sprache verwenden können, um mit diesen Plattformen zu interagieren. Ihre Anwendung fungiert als Zwischenhändler für diese Dienste.

Beginnen Sie mit der Einrichtung einer Integration mit der Messenger-Plattform, damit Sie Nachrichten empfangen und senden können. Dafür müssen Sie eine Facebook-Seite erstellen, die als die Identität Ihres Produkts fungiert. Nutzer werden Sie in Messenger anhand des Namens Ihrer Seite finden. Sie müssen auch eine Facebook-App erstellen, in der Sie Ihre Seite abonnieren und die Webhook-Einstellungen festlegen, damit die Nachrichten an Ihren eigenen Back-End-Dienst weitergeleitet werden.

Die Dokumentation dafür ist wirklich gut und ich empfehle Ihnen, es sorgfältig zu lesen. Sie können es here finden. Nachdem Sie die Dokumente durchgearbeitet haben, werden Sie verstehen, was Sie mit der Messenger-Plattform tun können und welche Arten von Nachrichten Sie senden und empfangen können.

Sobald Sie in der Lage sind, Nachrichten zu senden und zu empfangen, können Sie beginnen, einen Sinn daraus zu extrahieren. Dafür können Sie wit.ai verwenden, aber es gibt auch andere Dienste, die Sie in Erwägung ziehen könnten. Zum Beispiel hat Google gerade eine eigene NLP-Plattform veröffentlicht, die ähnliche Funktionen bietet. Siehe auch here Auch dort ist api.ai Im Allgemeinen müssen Sie empfangene Nachrichten an den Dienst Ihrer Wahl senden und erhalten strukturierte Informationen darüber, was die Absicht des Benutzers ist und welche Werte extrahiert wurden. Mit diesen Informationen können Sie entsprechend handeln.

Wenn Sie mit wit.ai bleiben möchten, gehen Sie durch ihre Erste Schritte Anleitung und Rezepte Abschnitt. Dadurch konnte ich ihre Plattform nutzen.

Ich hoffe, dies gibt Ihnen eine allgemeine Vorstellung davon, wie eine Integration funktionieren könnte. Dies ist ziemlich hochrangig und viele der Details (insbesondere auf der NLP-Seite) hängen von Ihren spezifischen Anwendungsfällen ab.

+0

Update: Beim Testen mit der Messenger-Plattform möchten Sie wahrscheinlich Nachrichten an Ihren lokalen Computer weiterleiten. Ich fand Tunnel-Dienste wie Ngrok extrem hilfreich. – bluenavajo

+0

funktioniert Ngrok gut für mehrere Entwickler, die an verschiedenen Funktionen arbeiten und ihre Implementierungen einzeln auf ihren lokalen Maschinen testen? – akskap

+0

Mit Ngrok gibt es kein Problem. Die Einschränkung ist auf der Facebook-Seite, da Sie nur eine Webhook-URL pro App angeben können. Das bedeutet, dass Sie für jeden Entwickler, der mit der Messenger-Plattform arbeitet, eine Test-App erstellen müssen. Dies ist ziemlich einfach, da Test-Apps Kinder der ursprünglichen App sind und alle ihre Einstellungen erben. Dies hat auch den Vorteil, dass jeder Entwickler seine eigene Testseite auf seiner eigenen App registrieren kann und so verhindert, dass Testnachrichten an alle Entwickler gesendet werden. – bluenavajo

0

Sie können eine Beispiel-nodejs-Implementierung von witai und facebook messenger von ihrem offiziellen Repo verwenden. Zuallererst müssen Sie das Modell von witai trainieren, um Ausdrücke zu verstehen und Entitäten zu extrahieren. Dann richte den Messenger-Bot auf fb ein und befestige ihn an einer fb-Seite. Sobald Sie in der Lage sind, die Nachrichten vom Webhook-Rückruf zu erhalten, senden Sie diese an die witai API. Sie müssen auch Aktionen in Ihrem Code definieren, um Aktionen ausführen zu können, die im Modell definiert sind.

+0

Können Sie bitte etwas mehr ausarbeiten, welcher Server für Nodejs verwendet wird, wie genau die Integration zwischen Facebook und Witz passiert , ist es durch Server oder durch dort api selbst. –