Comment créer efficacement un fichier de grammaire pour la reconnaissance vocale avec une longue liste de mots?

StackOverflow https://stackoverflow.com/questions/653262

  •  19-08-2019
  •  | 
  •  

Question

Il est facile d’écrire un fichier de grammaire pour la reconnaissance vocale à partir de 50 mots seulement, car vous pouvez le faire manuellement. Quel est le moyen le plus simple et le plus efficace de le faire si vous avez 10 000 ou 100 000 mots?

Exemple:
Disons que nous avons " RC cola " et "Pepsi Cola". Nous aurions un fichier de grammaire composé de 2 règles:
BOISSON: (COLANAME? [Soda de coke cola])
COLANAME: [pepsi rc]
Il reconnaîtra les expressions "RC", "RC Coke", "RC Cola", "RC Soda", "Pepsi", "Pepsi Coke", "Pepsi Cola", "Pepsi Cola". et "Pepsi Soda".

Modifier: Je parle de grammaire pour la reconnaissance vocale. Les systèmes de reconnaissance vocale ont besoin d’un fichier de grammaire afin de savoir quoi reconnaître (gsl, grxml). En fait, je ne pensais pas non plus à n'importe quel mot, mais à des noms comme ceux que vous ne pouvez pas classer en catégories.

Était-ce utile?

La solution 4

Je n'ai pas de réponse qui résoudra mes problèmes, mais la réponse de Yuval suggère clairement qu'il s'agit d'un sujet en cours de développement et que ce n'est pas un sujet suffisamment mature. Je comprends qu’il n’existe probablement pas de solution simple pour la grammaire (du moins en dehors des laboratoires de recherche). La seule solution pour faire une bonne grammaire à l’heure actuelle est probablement un apprentissage constant des entrées de l’utilisateur et une refactorisation agile des fichiers de grammaire.

Autres conseils

Maintenant je vois. Vous voulez dire des grammaires. Les formats de grammaire que vous spécifiez sont des cousins ??de grammaires sans contexte. Il existe un domaine de recherche autour de l'apprentissage automatique des grammaires sans contexte. Les grammaires probabilistes sans contexte sont au cœur de ce champ. Voir Notes de Roni rosenfeld (PostScript) sur apprendre les PCFG, la version bayésienne (postscript zippé) et < a href = "http://www.demarcken.org/carl/papers/sigdat.pdf" rel = "noreferrer"> Apprentissage PCFG non supervisé (PDF) . Il s’agit d’un domaine de recherche actif qui a changé depuis la rédaction de ces articles. Eugene Charniak est un chercheur prolifique dans ce domaine.

Pour un lexique de 50 à 100 000 mots, il est certainement préférable de créer une grammaire de dictée plutôt que d'essayer de construire une grammaire sans contexte. Microsoft a son Dictation Resource Kit disponible gratuitement; Je ne l'ai pas utilisé, je ne peux donc pas dire à quel point il est utilisable.

Je suppose que vous parlez du marquage d'une partie de la parole; L’approche la plus rapide consiste à utiliser un marqueur automatique et à vérifier (et corriger) les résultats manuellement. Même si le taux de réussite du tagueur est compris entre 60 et 70%, il réduira considérablement la quantité de travail.

Des idées totalement aléatoires / vauge me viennent à l’esprit:

-Vous pouvez essayer de classer les mots en catégories (nom, verbe, etc.), puis de former des formes potentiellement correctes pour des déclarations / phrases entières en fonction des classes de mots. Vous pouvez ensuite essayer d’adapter les nouvelles données de test à un modèle préalablement défini en fonction des mots et de leur ordre d’utilisation.

-J’aimerais aussi être curieux d’utiliser une sorte d’algorithme d’apprentissage automatique pour apprendre la bonne utilisation des mots à partir d’une sorte de données de formation ou de littérature. Une fois que vous avez formé votre algorithme, vous pouvez essayer de classer les nouvelles données entrantes en fonction des résultats précédents.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top