Sprachgesteuerte PHP -Apps mit API.ai
In diesem Tutorial werden wir uns mit API.ai befassen, eine API, mit der wir Apps erstellen können, die die natürliche Sprache verstehen, ähnlich wie Siri. Es kann entweder Text oder Sprache als Eingabe akzeptieren, die es dann analysiert und eine JSON -Zeichenfolge zurückgibt, die durch den von uns geschriebenen Code interpretiert werden kann.
Alle Dateien, die wir in diesem Tutorial verwenden, sind in diesem Github -Repository verfügbar.
Key Takeaways
- api.ai ermöglicht es Entwicklern, PHP -Anwendungen zu erstellen, die natürliche Spracheingaben, ähnlich wie SIRI, durch Verarbeitung von Text oder Sprache und Rückgabe umsetzbarer Daten im JSON -Format. Schlüsselkonzepte in API.AI umfassen Agenten (Anwendungen), Entitäten (benutzerdefinierte Konzepte wie Währungen), Absichten (Aktionen, die auf Benutzerbefehlen), Kontexte (Kontext des Benutzerausdrucks), Aliase (Entitätsreferenzen im Code) und Domänen (Domänen (Domänen (Domänen) (Domänen) (Benutzerausdruck) (Benutzerausdruck) enthalten sind. Vordefinierte Wissenspakete).
- Das Tutorial zeigt, dass er eine PHP -App erstellt, um die aktuelle Zeit an jedem Ort mit API.AI, der Geocoding -API von Google und der Timezone -API zu holen, um zu veranschaulichen, wie API -Daten in verwendbare Antworten integriert und konvertiert werden können.
- API.AIs Domains-Funktionen, die noch in der Beta-Funktion sind, vereinfacht die Integration, indem integrierte Entitäten und Absichten bereitgestellt werden, die ein minimales Setup erfordern und die schnelle Erstellung von Anwendungen wie Videosuche auf YouTube ermöglichen.
- Das Tutorial umfasst auch das Erstellen einer Währungswandler-PHP-App unter Verwendung von API.AI, wobei er zeigt, wie Benutzereingaben behandelt werden, Absichten und Entitäten definieren und in externe APIs wie CurrencyLayer für Echtzeitdaten integrieren.
- .
- api.ai unterstützt mehrere Plattformen und Sprachen und bietet Entwicklern Flexibilität, um Sprachanträge über Webumgebungen hinaus zu erstellen, einschließlich mobiler und Desktop-Anwendungen.
Konzepte
Bevor wir zum praktischen Teil übergehen, ist es wichtig, dass wir zunächst die folgenden Konzepte verstehen:
-
Agenten - Agenten sind Anwendungen. Wir erstellen einen Agenten als Mittel zur Gruppierung einzelner Entitäten und Absichten.
-
Entitäten - Entitäten sind benutzerdefinierte Konzepte, die wir in unsere Anwendung einbeziehen möchten. Sie bieten eine Möglichkeit, einem bestimmten Konzept eine Bedeutung zu geben, indem sie Beispiele hinzufügen. Eine Stichprobeneinheit wäre „Währung“. Wir definieren es, indem wir Synonyme wie "USD", "US -Dollar" oder nur "Dollar" hinzufügen. Jedes Synonym wird dann einem Referenzwert zugewiesen, der im Code verwendet werden kann. Es ist nur eine Liste von Wörtern, mit denen sich dieses Konzept beziehen kann. API.AI bietet bereits einige grundlegende Entitäten wie @sys.number, eine Entität, die sich auf eine beliebige Nummer bezieht, und @sys.email, die sich um eine Entität handelt, die sich auf eine E -Mail -Adresse bezieht. Wir können die integrierten Entitäten verwenden, indem wir @SYS als Präfix angeben.
-
Absichten - Absichten ermöglichen es uns zu definieren, welche Aktionen das Programm abhängig von dem, was ein Benutzer sagt, ausführen. Eine Stichprobenabsicht wäre "Währung". Anschließend listen wir alle möglichen Sätze oder Sätze auf, die der Benutzer sagen würde, wenn er die Währung konvertieren möchte. Zum Beispiel könnte ein Benutzer sagen: "Wie viel kostet @sys.number: number @currency: from currency in @currency: tocurrency?". In diesem Beispiel haben wir 2 Entitäten verwendet: @sys.number und @currency. Durch die Verwendung des Dickdarms nach der Entität können wir einen Alias für diese Entität definieren. Dieser Alias kann dann in unserem Code verwendet werden, um den Wert der Entität zu erhalten. Wir müssen dieselbe Entität einen anderen Alias geben, damit wir sie in unserem Code getrennt behandeln können. Damit Menschen die oben genannte Absicht verstehen können, müssen wir nur die Wesenheiten durch die tatsächlichen Werte ersetzen. Ein Benutzer könnte also sagen: "Wie viel kostet 900 US -Dollar in japanischen Yen?" Für die Tocurrency @Currency.
-
Kontexte - Kontexte repräsentieren den aktuellen Kontext eines Benutzerausdrucks. Zum Beispiel könnte ein Benutzer sagen: "Wie viel kostet 55 US -Dollar im japanischen Yen?" API.AI verwendet in diesem Fall das, was zuvor vom Benutzer gesprochen wurde, „Wie viel ist 55 US -Dollar“ als Kontext für den zweiten Ausdruck.
-
Aliase - Aliase bieten eine Möglichkeit, sich auf eine bestimmte Entität in Ihrem Code zu beziehen, wie wir bereits in der Erklärung für die Absichten gesehen haben.
-
Domänen-Domänen sind vordefinierte Wissenspakete. Wir können sie als eine Sammlung integrierter Einheiten und Absichten in der Api.ai vorstellen. Mit anderen Worten, sie sind Tricks, die API.AI mit wenig bis gar keinem Setup oder Codierung durchführen kann. Ein Benutzer kann beispielsweise sagen: "Suchen Sie Videos von Pikachu auf YouTube." Und API.ai würde bereits wissen, wie man das analysiert, und gibt "Pikachu" als Suchbegriff und "YouTube" als Dienst zurück. Von dort aus können wir einfach die zurückgegebenen Daten verwenden, um zu YouTube zu navigieren und nach „Pikachu“ zu suchen. In JavaScript geht es nur darum, den Ort festzulegen.
<span>window.location.href = "https://www.youtube.com/results?search_query=pikachu";</span>
Nach dem Login kopierenNach dem Login kopierenNach dem Login kopierenNach dem Login kopierenNach dem Login kopieren
integrieren müssen
Die aktuelle Zeit an einem bestimmten Ort
erhaltenJetzt, da wir die Hauptkonzepte verstehen, können wir mit dem Erstellen einer einfachen App fortfahren. Das erste, was wir erstellen werden, ist eine App, um die aktuelle Zeit an einem bestimmten Ort zu erhalten.
Wenn Sie dies noch nicht getan haben, melden Sie sich für ein kostenloses Konto auf der Website der API.AI an, überprüfen Sie Ihre E-Mail-Adresse und melden Sie sich dann mit Ihren Anmeldeinformationen an.
Gehen Sie als nächstes zur Seite der Agenten und erstellen Sie einen neuen Agenten, indem Sie auf die Schaltfläche "Agent erstellen" klicken. Sobald auf der Seite ein neuer Agent erstellt wird, geben Sie den Namen, die Beschreibung und die Sprache ein und speichern Sie.
Auf diese Weise erhalten Sie den Abonnementschlüssel, den Entwicklerzugriffs -Token und den Client Access Token. Sie können diese verwenden, um Anforderungen an die API zu stellen, entweder vom Client (Browser) oder vom Server. Ein Vorteil der Erstellung der Anfragen vom Server besteht darin, Ihre Anmeldeinformationen versteckt zu halten.
Der von uns erstellte Agent verwendet Domänen. Dies bedeutet, dass wir keine Entitäten und Absichten einrichten müssen. Was wir brauchen, ist ein wenig Hilfe von zwei Google -APIs: Geocoding -API und Timezone -API. Die Geokodierungs -API wird verwendet, um den Ort, den wir von API.AI erhalten, in Koordinaten umzuwandeln. Anschließend verwenden wir diese Koordinaten, um die TimeZone -API abzufragen, um die aktuelle Zeit für diesen Ort zu erhalten. Gehen Sie zu Ihrer Google -Konsole und aktivieren Sie die Timezone -API. Für die Geokodierungs -API müssen keine API -Schlüssel geliefert werden, sodass wir sie nicht aktivieren müssen.
Als nächstes installieren Sie Guzzle. Wir werden Guzzle 5 verwenden, um eine Anfrage an api.ai.
zu stellen<span>window.location.href = "https://www.youtube.com/results?search_query=pikachu";</span>
Erstellen Sie dann eine neue PHP -Datei (time.php) und fügen Sie den folgenden Code hinzu, damit wir Guzzle aus unserer Datei verwenden können.
<span>composer require guzzlehttp/guzzle:~5.0</span>
Danach definieren Sie Ihre API -Schlüssel:
<span><?php </span><span>require 'vendor/autoload.php'; </span><span> </span><span>use GuzzleHttp\Client; </span><span> </span><span>$client = new Client();</span>
In einer realen App können Sie wahrscheinlich die Anmeldeinformationen außerhalb der App -Logik in einer Art lokaler Konfigurationsdatei behalten.
Wir können jetzt eine Anfrage an api.ai stellen. Um eine Anfrage zu stellen, müssen wir als Header im Entwicklerzugriffsstoken und als Abonnementschlüssel weitergeben. Wir geben dann den Körper der Anfrage als JSON weiter. Die Anforderungsbehörde sollte die Abfrage und die Langschlüssel enthalten. Die Abfrage wird über eine Postanfrage von der kundenseitig eingereicht. Ein Beispiel für eine Anfrage für diese App wäre: "Wie spät ist es in Barcelona, Spanien?" oder "Wie ist die aktuelle Zeit in Ikebukuro, Japan?". Die zurückgegebene Antwort ist eine JSON -Zeichenfolge, daher konvertieren wir sie in ein Array, indem wir die JSON -Methode für die $ Antwort aufrufen.
<span>$google_api_key = 'YOUR_GOOGLE_API_KEY'; </span><span>$apiai_key = 'YOUR_API_AI_AGENT_DEVELOPER_ACCESS_TOKEN'; </span><span>$apiai_subscription_key = 'YOUR_API_AI_SUBSCRIPTION_KEY';</span>
Hier ist eine Beispielantwort, die wir erhalten, wenn wir die obige Anfrage stellen:
<span>$query = $_POST['query']; //the users query </span><span> </span><span>$response = $client->post('https://api.api.ai/v1/query', array( </span><span> 'headers' => array( </span><span> 'Authorization' => "Bearer {$apiai_key}", </span><span> 'ocp-apim-subscription-key' => $apiai_subscription_key, </span><span> 'Content-Type' => 'application/json; charset=utf-8' </span><span> ), </span><span> 'json' => array( </span><span> "query" => $query, </span><span> "lang" => "en" </span><span> ) </span><span>)); </span><span> </span><span>$result = $response->json();</span>
Wenn wir einen Status von 200 erhalten, bedeutet dies, dass die Anfrage erfolgreich war. Die Daten, die wir benötigen, werden im Ergebniselement gespeichert. In diesem Fall müssen wir den Ort nur aus den Parametern extrahieren. Wenn ein Ort nicht zurückgegeben wird, sagen wir dem Benutzer nur, dass der Ort nicht gefunden wird.
<span>window.location.href = "https://www.youtube.com/results?search_query=pikachu";</span>
Wenn ein Ort gefunden wird, stellen wir eine Anfrage an die Google Geocoding -API ein, um den Ort in Koordinaten umzuwandeln. Wenn der Status in Ordnung ist, bedeutet dies, dass wir ein Ergebnis erhalten haben. Also extrahieren wir einfach die Breiten- und Längenwerte aus dem ersten Ergebnis.
<span>composer require guzzlehttp/guzzle:~5.0</span>
Als nächstes erhalten wir den aktuellen Unix -Zeitstempel. Wir geben diesen Wert zusammen mit dem Breitengrad und Längengrad als Abfrage für unsere Anfrage an die Google TimeZone -API. Anschließend extrahieren wir die Zeitzoneid, mit der wir die TimeZone mit der Methode DATE_DEFAULT_TIMEZONE_SET vorübergehend festlegen können. Schließlich geben wir nur die formatierte Zeit an den Benutzer aus.
<span><?php </span><span>require 'vendor/autoload.php'; </span><span> </span><span>use GuzzleHttp\Client; </span><span> </span><span>$client = new Client();</span>
Gehen wir mit der Kundenseite fort. Erstellen Sie eine index.html -Datei mit dem folgenden Code:
<span>$google_api_key = 'YOUR_GOOGLE_API_KEY'; </span><span>$apiai_key = 'YOUR_API_AI_AGENT_DEVELOPER_ACCESS_TOKEN'; </span><span>$apiai_subscription_key = 'YOUR_API_AI_SUBSCRIPTION_KEY';</span>
Wir verwenden JQuery (für die Ereignishandhabung) und Responsive-Voice.js. Die Responsive-Voice-Bibliothek ermöglicht es uns, Text in Sprache umzuwandeln. Wir verwenden es, um die Ergebnisse zu sprechen, die wir vom Server erhalten.
Wir haben auch Spracherkenntnisse.js, die wir zum Konvertieren von Sprache in Text verwenden. Dies verwendet die Web -Sprach -API. Leider wird es zum Zeitpunkt des Schreibens immer noch nur teilweise bei einigen Browsern unterstützt. Daher wird dieses Tutorial angenommen, dass Sie Chrome verwenden (was es unterstützt).
erläutern wir die obige Datei. Erstens ist die globale Variable, mit der wir das aktuelle Spracherkennungsobjekt speichern werden.
<span>$query = $_POST['query']; //the users query </span><span> </span><span>$response = $client->post('https://api.api.ai/v1/query', array( </span><span> 'headers' => array( </span><span> 'Authorization' => "Bearer {$apiai_key}", </span><span> 'ocp-apim-subscription-key' => $apiai_subscription_key, </span><span> 'Content-Type' => 'application/json; charset=utf-8' </span><span> ), </span><span> 'json' => array( </span><span> "query" => $query, </span><span> "lang" => "en" </span><span> ) </span><span>)); </span><span> </span><span>$result = $response->json();</span>
Als nächstes kommt die Startrekognitionsmethode. Dies erstellt ein neues Spracherkennungsobjekt. Dadurch wird der Benutzer aufgefordert, das Mikrofon zu verwenden. Als nächstes setzen wir die Sprache auf Englisch und beginnen die Spracherkennung. Wir hören dann auf das OnStart -Event zu. Wenn dieses Ereignis ausgelöst wird, bedeutet dies, dass die Spracherkennung begonnen hat. Wir nennen die UpdateRec -Methode, wenn dies geschieht, was den Text der Schaltfläche zum Starten und Stoppen der Spracherkennung ändert. Wir hören auch auf das OnResult -Ereignis zu, das ausgelöst wird, wenn der Benutzer seit einigen Sekunden aufgehört hat. Dies enthält die Ergebnisse der Spracherkennung. Wir müssen die Ergebnisse durchlaufen und das Transkriptelement in jedem einzelnen verwenden, um den von uns benötigten Text zu erhalten. Sobald dies erledigt ist, rufen wir die SetInput -Methode auf, die den Wert des Abfrage -Textfelds ändert, und die Send -Methode, die die Abfrage an den Server übermittelt. Als nächstes nennen wir die StopRecognition -Methode, um die Spracherkennung zu stoppen und die Benutzeroberfläche zu aktualisieren. Wir müssen auch das gleiche im beruflichen Ereignis tun.
Array ( [id] => eb69f468-6e1a-41c9-883d-6ac7c71cd187 1739117986 => 2015-05-16T09:19:47.519Z [result] => Array ( [source] => domains [resolvedQuery] => What's the current time in Barcelona Spain? [speech] => [action] => clock.time [parameters] => Array ( [location] => Barcelona Spain ) [metadata] => Array ( [inputContexts] => Array ( ) [outputContexts] => Array ( ) [contexts] => Array ( ) ) ) [status] => Array ( [code] => 200 [errorType] => success ) )
Hier ist die UpdateRec -Methode.
<span>if(!empty($result['result']) && !empty($result['result']['parameters']['location'])){ </span><span> $location = $result['result']['parameters']['location']; </span><span> </span><span>}else{ </span><span> echo "Sorry, I could not find that location."; </span><span>}</span>
setInput -Methode.
<span>$place_response = $client->get("http://maps.googleapis.com/maps/api/geocode/json?address={$location}&sensor=false"); </span><span> </span><span>$place_result = $place_response->json(); </span><span> </span><span>if($place_result['status'] == 'OK'){ </span><span> </span><span> $lat = $place_result['results'][0]['geometry']['location']['lat']; </span><span> $lng = $place_result['results'][0]['geometry']['location']['lng']; </span><span>}</span>
StopRecognition -Methode.
<span>$timestamp = time(); //get the current unix timestamp </span><span> </span><span>$time_response = $client->get("https://maps.googleapis.com/maps/api/timezone/json?location={$lat},{$lng}×tamp={$timestamp}&key={$google_api_key}"); </span><span> </span><span>$time_result = $time_response->json(); </span><span> </span><span>if($time_result['status'] == 'OK'){ </span><span> $timezone = $time_result['timeZoneId']; </span><span> </span><span> date_default_timezone_set($timezone); </span><span> </span><span> echo 'It's currently ' . date('l, F j, Y g:i A') . ' in ' . $location; </span><span>}</span>
Abgesehen davon haben wir auch die SwitchRecognition -Methode, die jedes Mal aufgerufen wird, wenn der Benutzer auf die Schaltfläche klickt, um die Spracherkennung auszulösen, um zu starten oder zu stoppen.
<span><!DOCTYPE html> </span><span><html lang="en"> </span><span><head> </span><span> <meta charset="UTF-8"> </span><span> <title>time</title> </span><span> <script src="http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script> </span><span> <script src="responsive-voice.js"></script> </span><span></head> </span><span><body> </span><span> <div> </span><span> <input type="text" id="query" name="query"> <button id="rec">Speak</button> </span><span> </div> </span><span> <div id="response"></div> </span><span> <script src="speech-recognition.js"></script> </span><span> <script src="main.js"></script> </span><span></body> </span><span></html></span>
Wenn der Benutzer die Eingabetaste im Abfragefeld drückt, wird auch die Abfrage an den Server gelöst.
<span>window.location.href = "https://www.youtube.com/results?search_query=pikachu";</span>
Der größte Teil des Codes in der Datei der Spracherkenntnis.
Weiter ist die main.js -Datei, in der wir unsere Abfrage an den Server senden. Sobald wir eine Antwort erhalten haben, verwenden wir Responsive-Voice, um sie auszusprechen und auch im Antwortbehälter auszugeben. Auf diese Weise können wir die Antwort visuell überprüfen.
<span>composer require guzzlehttp/guzzle:~5.0</span>
Die nächste App, die wir erstellen werden, ermöglicht es den Benutzern, einen bestimmten Betrag von einer Währung in eine andere zu konvertieren.
Erstellen Sie zuerst einen neuen Agenten und nennen Sie es CurrencyConverter.
In
<span><?php </span><span>require 'vendor/autoload.php'; </span><span> </span><span>use GuzzleHttp\Client; </span><span> </span><span>$client = new Client();</span>
In
im Abschnitt "Aktion" definieren wir die Aktion oder Methode, die wir ausführen möchten, wenn diese spezifische Absicht verwendet wird. In diesem Fall werden wir nichts definieren, weil wir nur eine App erstellen, die nur eine Sache tut.Der Abschnitt "Erfüllung" definiert eine Vorlage für die Sprache, die wir ausgeben möchten, sobald die Absicht verwendet wird. Zum Beispiel können wir Folgendes platzieren:
<span>$google_api_key = 'YOUR_GOOGLE_API_KEY'; </span><span>$apiai_key = 'YOUR_API_AI_AGENT_DEVELOPER_ACCESS_TOKEN'; </span><span>$apiai_subscription_key = 'YOUR_API_AI_SUBSCRIPTION_KEY';</span>
Sobald Sie fertig sind, klicken Sie auf die Schaltfläche "Speichern", um die Absicht zu speichern.
Jetzt sind wir bereit, mit dem Code fortzufahren. Erstellen Sie eine Exchange-rate.php-Datei in Ihrem Arbeitsverzeichnis und fügen Sie den folgenden Code hinzu:
<span>window.location.href = "https://www.youtube.com/results?search_query=pikachu";</span>
Wie Sie aus dem obigen Code sehen können, ist es im Grunde genommen das gleiche wie früher in unserer vorherigen App. Nur dieses Mal haben wir die Variable $ currencyLayer_apikey hinzugefügt. Dies speichert den API -Schlüssel, den wir von CurrencyLayer.com erhalten haben, einer API, mit der wir den aktuellen Wechselkurs von einer Währung zu einer anderen erhalten können. Wenn Sie mitmachen möchten, melden Sie sich für einen API -Schlüssel an.
Als nächstes überprüfen wir, ob es Ergebnisse gibt, und extrahieren die Daten, die wir benötigen. In diesem Fall müssen wir die Währung erhalten, die der Benutzer konvertieren möchte, die Währung in und dann in den Betrag.
<span>composer require guzzlehttp/guzzle:~5.0</span>
wir stellen dann eine Anfrage an die API und extrahieren den Wechselkurs aus den Ergebnissen:
<span><?php </span><span>require 'vendor/autoload.php'; </span><span> </span><span>use GuzzleHttp\Client; </span><span> </span><span>$client = new Client();</span>
Die Ergebnisse, die wir aus der API erhalten, sehen so aus:
<span>$google_api_key = 'YOUR_GOOGLE_API_KEY'; </span><span>$apiai_key = 'YOUR_API_AI_AGENT_DEVELOPER_ACCESS_TOKEN'; </span><span>$apiai_subscription_key = 'YOUR_API_AI_SUBSCRIPTION_KEY';</span>
Jetzt, da wir den aktuellen Wechselkurs haben, müssen wir nur noch den Zinssatz mit dem Betrag multiplizieren, den der Benutzer bereitgestellt hat, und dann das Ergebnis ausgeben.
<span>$query = $_POST['query']; //the users query </span><span> </span><span>$response = $client->post('https://api.api.ai/v1/query', array( </span><span> 'headers' => array( </span><span> 'Authorization' => "Bearer {$apiai_key}", </span><span> 'ocp-apim-subscription-key' => $apiai_subscription_key, </span><span> 'Content-Type' => 'application/json; charset=utf-8' </span><span> ), </span><span> 'json' => array( </span><span> "query" => $query, </span><span> "lang" => "en" </span><span> ) </span><span>)); </span><span> </span><span>$result = $response->json();</span>
Auf der Client-Seite verwenden wir immer noch dieselben HTML und Dateien, die wir früher in unserer ersten App verwendet haben. Sie können die gleichen Dateien in Ihr Arbeitsverzeichnis einfügen, wenn Sie folgen.
Array ( [id] => eb69f468-6e1a-41c9-883d-6ac7c71cd187 1739117986 => 2015-05-16T09:19:47.519Z [result] => Array ( [source] => domains [resolvedQuery] => What's the current time in Barcelona Spain? [speech] => [action] => clock.time [parameters] => Array ( [location] => Barcelona Spain ) [metadata] => Array ( [inputContexts] => Array ( ) [outputContexts] => Array ( ) [contexts] => Array ( ) ) ) [status] => Array ( [code] => 200 [errorType] => success ) )
Der einzige Unterschied ist die URL, an die wir die Anfrage senden. Zeigen Sie darauf, wo Ihre Exchange-Rate.php serviert wird:
<span>if(!empty($result['result']) && !empty($result['result']['parameters']['location'])){ </span><span> $location = $result['result']['parameters']['location']; </span><span> </span><span>}else{ </span><span> echo "Sorry, I could not find that location."; </span><span>}</span>
Schlussfolgerung
In diesem Tutorial haben wir gelernt, wie man api.ai zum Erstellen von Sprach-fähige PHP-Apps verwendet. Der Browser -Support ist immer noch ziemlich begrenzt, da die Web -Sprach -API immer noch nicht weit verbreitet ist. API.AI unterstützt jedoch andere Plattformen neben dem Web. Android, Cordova, .NET, iOS sind einige Beispiele. Dies bedeutet, dass wir API.AI verwenden können, ohne mir Sorgen um die Unterstützung auf diesen Plattformen zu machen. Schauen Sie sich die Dokumente an, wenn Sie mehr erfahren möchten. Die Dateien, die wir in diesem Tutorial verwendet haben, sind in diesem Github -Repository verfügbar.
häufig gestellte Fragen (FAQs) zu sprachgesteuerten PHP-Apps mit API.ai
Wie kann ich API.ai in PHP für die Spracherkennung integrieren? Zunächst müssen Sie einen neuen Agenten in API.AI erstellen. Dieser Agent ist dafür verantwortlich, die Spracheingabe des Benutzers zu verstehen und ihn in umsetzbare Daten zu konvertieren. Nach dem Erstellen des Agenten müssen Sie ihn mit Phrasen und Antworten trainieren. Sobald der Agent trainiert ist, können Sie die API.AI -PHP SDK verwenden, um den Agenten in Ihre PHP -Anwendung zu integrieren. Das SDK bietet Methoden zum Senden von Sprachdaten an den Agenten und das Empfangen der verarbeiteten Daten zurück.
Was sind die Voraussetzungen für den Erstellen einer sprachgesteuerten PHP-App mit API.ai? -orientierte Programmierung. Sie müssen auch über ein Kenntnis von API.AI und wie es funktioniert. Darüber hinaus müssen Sie einen Server haben, auf dem Sie Ihre PHP -Anwendung hosten können. Zuletzt müssen Sie die API.AI -PHP -SDK auf Ihrem Server installieren lassen.
Kann ich andere Spracherkennungs -APIs mit PHP verwenden? . Einige beliebte Alternativen zu API.AI sind IBM Watson, Microsoft Azure Cognitive Services und Google Cloud Speech-to-Text. Diese APIs liefern auch PHP -SDKs, mit denen Sie sie in Ihre PHP -Anwendung integrieren können.
Wie kann ich die Genauigkeit der Spracherkennung in meiner PHP -App verbessern? In Ihrer PHP -App beinhaltet die Schulung Ihres API.AI -Agenten mit mehr Phrasen und Antworten. Je mehr Daten der Agent hat, desto besser kann er die Spracheingabe verstehen und verarbeiten. Sie können auch die Funktionen des maschinellen Lernens des Agenten verwenden, um die Leistung im Laufe der Zeit kontinuierlich zu verbessern.
Wie kann ich in meiner sprachgesteuerten PHP-App mit verschiedenen Sprachen umgehen? So können Sie Ihren Agenten schulen, um in verschiedenen Sprachen Spracheingaben zu verstehen und darauf zu reagieren. Beim Senden von Sprachdaten an den Agenten können Sie die Sprache in der Anfrage angeben. Der Agent verarbeitet dann die Spracheingabe basierend auf der angegebenen Sprache. KI für Text-to-Speech in Ihrer PHP-App. API.AI bietet Methoden zum Umwandeln von Text in Sprache. Sie können diese Methoden verwenden, um Ihre App dem Benutzer Antworten oder Anweisungen auszusprechen.
Wie kann ich die Sprachdaten in meiner PHP -App sichern? Beinhaltet das Verschlüsseln der Daten, bevor Sie sie an api.ai senden. Sie können die integrierten Verschlüsselungsfunktionen von PHP verwenden, um die Daten zu verschlüsseln. Darüber hinaus sollten Sie HTTPS für die gesamte Kommunikation zwischen Ihrer App und API.AI verwenden, um Datenabhörungen zu verhindern. Verwenden Sie API.AI für sprachgesteuerte Web-Apps. Die API.AI -PHP -SDK kann in jeder PHP -Anwendung, einschließlich Web -Apps, verwendet werden. Sie können JavaScript verwenden, um die Spracheingabe des Benutzers im Browser zu erfassen und ihn dann zur Verarbeitung an Ihr PHP -Backend zu senden. Kann die Spracherkennungsfunktionen Ihrer PHP -App testen, indem Sie eine Reihe von Testphrasen und Antworten erstellen. Sie können diese Tests dann verwenden, um zu überprüfen, ob die App die Spracheingabe korrekt versteht und verarbeitet.
Kann ich API.AI für sprachgesteuerte mobile Apps verwenden? Sie müssten jedoch die API.AI SDK für die spezifische mobile Plattform (Android oder iOS) anstelle des PHP SDK verwenden. Die mobilen SDKs bieten Methoden zur Erfassung der Spracheingabe des Benutzers und senden Sie sie zur Verarbeitung an api.ai.
Das obige ist der detaillierte Inhalt vonSprachgesteuerte PHP -Apps mit API.ai. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Alipay PHP ...

JWT ist ein offener Standard, der auf JSON basiert und zur sicheren Übertragung von Informationen zwischen Parteien verwendet wird, hauptsächlich für die Identitätsauthentifizierung und den Informationsaustausch. 1. JWT besteht aus drei Teilen: Header, Nutzlast und Signatur. 2. Das Arbeitsprinzip von JWT enthält drei Schritte: Generierung von JWT, Überprüfung von JWT und Parsingnayload. 3. Bei Verwendung von JWT zur Authentifizierung in PHP kann JWT generiert und überprüft werden, und die Funktionen und Berechtigungsinformationen der Benutzer können in die erweiterte Verwendung aufgenommen werden. 4. Häufige Fehler sind Signaturüberprüfungsfehler, Token -Ablauf und übergroße Nutzlast. Zu Debugging -Fähigkeiten gehört die Verwendung von Debugging -Tools und Protokollierung. 5. Leistungsoptimierung und Best Practices umfassen die Verwendung geeigneter Signaturalgorithmen, das Einstellen von Gültigkeitsperioden angemessen.

Die Hijacking der Sitzung kann in den folgenden Schritten erreicht werden: 1. Erhalten Sie die Sitzungs -ID, 2. Verwenden Sie die Sitzungs -ID, 3. Halten Sie die Sitzung aktiv. Zu den Methoden zur Verhinderung der Sitzung der Sitzung in PHP gehören: 1. Verwenden Sie die Funktion Session_regenerate_id (), um die Sitzungs -ID zu regenerieren. 2. Store -Sitzungsdaten über die Datenbank, 3. Stellen Sie sicher, dass alle Sitzungsdaten über HTTPS übertragen werden.

Die Anwendung des soliden Prinzips in der PHP -Entwicklung umfasst: 1. Prinzip der Einzelverantwortung (SRP): Jede Klasse ist nur für eine Funktion verantwortlich. 2. Open and Close Principle (OCP): Änderungen werden eher durch Erweiterung als durch Modifikation erreicht. 3.. Lischs Substitutionsprinzip (LSP): Unterklassen können Basisklassen ersetzen, ohne die Programmgenauigkeit zu beeinträchtigen. 4. Schnittstellen-Isolationsprinzip (ISP): Verwenden Sie feinkörnige Schnittstellen, um Abhängigkeiten und nicht verwendete Methoden zu vermeiden. 5. Abhängigkeitsinversionsprinzip (DIP): Hoch- und niedrige Module beruhen auf der Abstraktion und werden durch Abhängigkeitsinjektion implementiert.

Wie debugge ich den CLI -Modus in PhpStorm? Bei der Entwicklung mit PHPSTORM müssen wir manchmal den PHP im CLI -Modus (COMS -Zeilenschnittstellen) debuggen ...

In Artikel werden wichtige Sicherheitsfunktionen in Frameworks erörtert, um vor Schwachstellen zu schützen, einschließlich Eingabevalidierung, Authentifizierung und regelmäßigen Aktualisierungen.

So setzen Sie die Berechtigungen von Unixsocket automatisch nach dem Neustart des Systems. Jedes Mal, wenn das System neu startet, müssen wir den folgenden Befehl ausführen, um die Berechtigungen von Unixsocket: sudo ...

Die Aufzählungsfunktion in Php8.1 verbessert die Klarheit und Type des Codes, indem benannte Konstanten definiert werden. 1) Aufzählungen können Ganzzahlen, Zeichenfolgen oder Objekte sein, die die Lesbarkeit der Code und die Type der Type verbessern. 2) Die Aufzählung basiert auf der Klasse und unterstützt objektorientierte Merkmale wie Traversal und Reflexion. 3) Die Aufzählung kann zum Vergleich und zur Zuordnung verwendet werden, um die Sicherheit der Typ zu gewährleisten. 4) Aufzählung unterstützt das Hinzufügen von Methoden zur Implementierung einer komplexen Logik. 5) Strenge Typ Überprüfung und Fehlerbehandlung können häufig auftretende Fehler vermeiden. 6) Die Aufzählung verringert den magischen Wert und verbessert die Wartbarkeit, achten Sie jedoch auf die Leistungsoptimierung.
