Étape 4: Les fichiers de grammaire
En quoi consiste un fichier de grammaire ?
Même si voce a la capacité de reconnaître environ 120000 mots, pour la plupart des cas seulement quelques commandes sera nécessaires. Les mots qui sont définis dans un fichier de grammaire sont les mots qui seront reconnus pour une application. Donc pour chaque programme ou croquis, que vous créez à l’aide de voix exigera un fichier de grammaire.
Les fichiers de grammaire pour voce sont conformes au format de fichier de grammaire pour le discours Java (JSGF).
Le fichier de grammaire de chiffres que nous avons utilisé est le .gram exemple que wasincluded avec le téléchargement de fichiers. Permet de jeter un oeil à un fichier simple .gram.
vêtements de de grammaire ;public < clothesTypes > = (pantalons | chemise | chaussettes);
Dans cet exemple, le nom de la grammaire serait vêtements, donc on allait nommer aussi notre fichier clothes.gram. Le clothesTypes de règle de grammaire serait satisfaite lorsque le module de reconnaissance de l’int mots entendrait la liste (pantalon, chemise, chaussettes).
C’est un fichier de grammaire de base. Nous allons utiliser un peu plus complexe, mais c’est vraiment pas nécessaire pour un projet de cette envergure. Il nous donne juste une chance de construire des fichier .gram décent afin de comprendre la structure lorsqu’on veut mettre en œuvre en quelque chose de plus complexe.
Ouvrir le bloc-notes, ou votre éditeur de texte préféré et tapez la ligne suivante. (ou l’attraper)
#JSGF V1.0 ; /** arbre de grammaire ; public < arbre > = < adresse >< demande >< requestTypes > ; public < vocabulaire > = (Bonjour < adresse > | Bonjour < adresse > | Merci) * ; public < extra > = (savons | comment | pourquoi | qui | vous | hoo | shoo) ; < adresse > = (arbre) ; < demande > = (dire | obtenir le | quoi) ; < requestTypes > = (une blague | météo | heure est-il | jour est-il) ;
* Exemple de fichier de grammaire pour arbre Animatronic
*/
Maintenant passons jeter un oeil à nos définitions.
On commence par le nom de la grammaire, dans l’arborescence de cette affaire. Nous avons ensuite une règle de grammaire < arbre > qui exige trois conditions à remplir. Adresse, demande et le type de demande. Permet de défiler vers le bas et regardez ceux maintenant.
Adresse, serait le mot « arbre », qui, dans mon cas, est ce que j’appelle mon arbre, ou lui adresser. Vous pouvez le modifier à ce que vous voulez tant que c’est dans le dictionnaire des mots connus. Il y a quelques noms réguliers dans le fichier, mais pour ce projet, j’ai aimé arbre. Une définition peut aussi être une phrase, alors vous pouvez faire preuve de créativité, j’ai utilisé "crâne savons-nous » comme nom pour un autre projet. (Son vrai nom était Skullduino)
Demande et le type de requête définissent comment demander quelque chose, donc la structure lorsque nous parlons avec le robot sera « Arbre, demande, requestType ». Comme vous pouvez le voir j’ai mis dans un couple des manières de dire les choses.
Si nous remontons jusqu'à que les deux règlement que nous avons passés sous silence, nous verrons tout d’abord une règle de vocabulaire, satisfait pour certaines parties avec l’adresse et d’autres sans. Pour saluer l’arbre et dire Merci.
Puis nous avons supplémentaires, qui sont juste quelques mots qui sont susceptibles d’être dit entre blagues. Nous mettre dans pas tellement à réagir quant à entendre quelque chose entre la question et les lignes de punch de blagues. Si nous n’avons pas inclus ces ' buffer'words, le module de reconnaissance s’asseyait là à attendre pour entendre une des commandes ou des structures, nous avons en place avant de finir une blague.
Enregistrez votre fichier de grammaire dans le dossier de gramme dans le dossier bibliothèques que nous avons créé plus tôt. Appelez-le « tree.gram ».
Changer le pointeur de « chiffres » à « arbre » dans votre code d’initiation voce, vous remarquerez que nous n’écrire la .gram et l’essayer. Votre dessin doit maintenant essayer de reconnaître les mots que nous avons défini plutôt que les chiffres d’avant.
le texte suivant initialise la bibliothèque voce
Voce. SpeechInterface.init ("libraries/voce-0.9.1/lib", true, true,"libraries/voce-0.9.1/lib/gram","arbre") ;