Maison  >  Article  >  interface Web  >  Découvrez les assistants virtuels et la reconnaissance vocale en JavaScript

Découvrez les assistants virtuels et la reconnaissance vocale en JavaScript

王林
王林original
2023-11-03 08:25:521259parcourir

Découvrez les assistants virtuels et la reconnaissance vocale en JavaScript

Pour comprendre l'assistant virtuel et la reconnaissance vocale en JavaScript, des exemples de code spécifiques sont nécessaires

Ces dernières années, l'assistant virtuel et la technologie de reconnaissance vocale ont été largement utilisés dans divers domaines. En tant que langage de programmation puissant, JavaScript peut également implémenter ces fonctionnalités grâce à l'utilisation de bibliothèques et d'API associées.

L'assistant virtuel est implémenté en JavaScript à l'aide de l'API Web Speech. L'API Web Speech est un ensemble d'API capables d'effectuer une reconnaissance vocale et une synthèse vocale via JavaScript dans un navigateur Web. Parmi eux, la reconnaissance vocale peut convertir la voix de l'utilisateur en texte, tandis que la synthèse vocale peut convertir le texte en parole. Voici un exemple simple :

<button id="startRecognition">开始语音识别</button>

<script>
// 获取按钮元素
var startRecognition = document.querySelector('#startRecognition');

// 创建SpeechRecognition对象
var recognition = new webkitSpeechRecognition();
recognition.lang = 'zh-CN'; // 设置语言为中文

// 绑定开始识别的事件
startRecognition.addEventListener('click', function() {
    recognition.start();
});

// 绑定识别结果返回的事件
recognition.addEventListener('result', function(event) {
    var result = event.results[0][0].transcript;
    console.log('识别结果:' + result);
});
</script>

Le code ci-dessus crée un bouton qui, lorsqu'on clique dessus, démarre la reconnaissance vocale. Les résultats de la reconnaissance seront affichés via la console. Dans le code, l'élément bouton est d'abord obtenu via la méthode querySelector, puis un objet webkitSpeechRecognition est créé et la langue est définie sur le chinois. Ensuite, l'événement consistant à cliquer sur le bouton et à renvoyer le résultat de la reconnaissance est lié via l'écouteur d'événement. Lorsque le bouton est cliqué, la méthode start est appelée pour démarrer la reconnaissance vocale. Après avoir obtenu les résultats de la reconnaissance, obtenez les résultats du texte reconnu via event.results[0][0].transcript. querySelector方法获取了按钮元素,然后创建了一个webkitSpeechRecognition对象,并设置了语言为中文。接着,通过事件监听器绑定了点击按钮和识别结果返回的事件。当点击按钮时,调用start方法开始语音识别。当获取到识别结果后,通过event.results[0][0].transcript来获取识别的文本结果。

此外,还可以通过使用其他的库和框架来实现更复杂的虚拟助手功能。例如,使用Google的Dialogflow来建立对话模型,并通过JavaScript来实现与用户的交互。以下是一个简单的示例:

然后,我们可以使用JavaScript通过API来与Dialogflow进行交互:

<input type="text" id="input">
<button id="send">发送</button>
<div id="output"></div>

<script>
// 获取输入框和按钮元素
var input = document.querySelector('#input');
var send = document.querySelector('#send');
var output = document.querySelector('#output');

// 绑定发送按钮的点击事件
send.addEventListener('click', function() {
    var message = input.value;
    output.innerHTML += '<p>用户:' + message + '</p>';
    input.value = '';

    // 发送用户的消息到Dialogflow
    sendMessageToDialogflow(message);
});

// 向Dialogflow发送消息的函数
function sendMessageToDialogflow(message) {
    // 构建POST请求的参数
    var params = {
        sessionId: 'your-session-id',
        queryInput: {
            text: {
                text: message,
                languageCode: 'zh-CN'
            }
        }
    };

    // 发送请求到Dialogflow的API,获取回复
    fetch('https://dialogflow.googleapis.com/v2/projects/your-project-id/agent/sessions/your-session-id:detectIntent', {
        method: 'POST',
        headers: {
            'Authorization': 'Bearer your-access-token',
            'Content-Type': 'application/json'
        },
        body: JSON.stringify(params)
    })
    .then(function(response) {
        return response.json();
    })
    .then(function(data) {
        // 解析回复的消息
        var reply = data.queryResult.fulfillmentText;

        // 将回复显示在页面上
        output.innerHTML += '<p>机器人:' + reply + '</p>';
    });
}
</script>

以上代码创建了一个包含输入框、发送按钮和输出框的简单对话界面。用户输入消息后,点击发送按钮,会通过sendMessageToDialogflow

De plus, des fonctions d'assistant virtuel plus complexes peuvent également être implémentées en utilisant d'autres bibliothèques et frameworks. Par exemple, utilisez Dialogflow de Google pour créer un modèle de conversation et mettre en œuvre une interaction avec les utilisateurs via JavaScript. Voici un exemple simple :

Ensuite, nous pouvons utiliser JavaScript pour interagir avec Dialogflow via l'API :

rrreee

Le code ci-dessus crée une interface de dialogue simple contenant une zone de saisie, un bouton d'envoi et une zone de sortie. Une fois que l'utilisateur a saisi le message et cliqué sur le bouton d'envoi, le message de l'utilisateur sera envoyé à Dialogflow via la fonction sendMessageToDialogflow et une réponse sera obtenue. Enfin, affichez la réponse dans la zone de sortie. 🎜🎜Il convient de noter que l'adresse API, les paramètres et le jeton d'autorisation dans les exemples ci-dessus doivent être remplacés et configurés en fonction de la situation réelle. 🎜🎜Grâce aux exemples ci-dessus, nous pouvons apprendre à utiliser JavaScript pour implémenter des fonctions d'assistant virtuel et de reconnaissance vocale. Bien entendu, il ne s’agit que d’un exemple d’entrée de gamme, et les applications réelles peuvent nécessiter une logique et une expérience interactive plus complexes. Cependant, grâce à un apprentissage et une exploration continus, nous pouvons utiliser JavaScript pour créer des assistants virtuels plus intelligents et plus puissants. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn