微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用Speech_recognizer检查我是否说过列表中包含的单词之一

如何解决如何使用Speech_recognizer检查我是否说过列表中包含的单词之一

我正在尝试创建一个小程序,如果我说的话(不仅是一个单词,而且是一个短语)(使用Speech_recognizer)中包含一个单词,并且该单词包含在单词列表(word_list)中,该程序应该打印一些内容。同样,如果我说一个或另一个单词,输出也会发生变化,因此我需要检查确切是哪个单词。

import speech_recognition as sr

word_list = ['Giotto','Raffaello','Michelangelo']

recognizer_instance = sr.Recognizer()

with sr.Microphone() as source:
    recognizer_instance.adjust_for_ambient_noise(source)
    print("I'm listening...")
    audio = recognizer_instance.listen(source)
    print('Printing what I heard...')

try:
    text = recognizer_instance.recognize_google(audio,language='it-IT')
    print(text)
except Exception as e:
    print(e)

这是目前的代码,我不知道如何检查text_variable中包含的单词之一是否在我的word_list中

解决方法

如果您只想查看列表中所说的内容,可以使用:

if text in word_list:
    #Some logic

如果变量的True内容位于text内,它将返回word_list

编辑:
您可以定义字典而不是列表,并像这样存储每个艺术家的简历:

artists_bio = {'artist1': 'artist1 bio','artist2': 'artist2 bio'...}

然后,如果识别器听到匹配的单词,则可以打印此简历:

if text in artist_bio.keys():
    print(artist_bio[text])

EDIT2:

如果您的文本是一个完整的句子,则可以先将其拆分,然后再使用与以前相同的逻辑。

list_text = text.split(' ')
for text in list_text:
    if text in artist_bio.keys():
        print(artist_bio[text])

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。