Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > Python
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.02.2020, 14:41   #1
Elvaral
Новичок
Джуниор
 
Регистрация: 19.02.2020
Сообщений: 1
Печаль Подсчёт распознаваемых ассистентом слов

Мне нужно, чтобы программа могла распознавать заданные ей слова из речи и подсчитывать их.
Я написал лёгкого ассистента и знаю что нужно делать, но не знаю куда это всё расположить в тексте.

Текст возвращает функция recognize_google. После получения строки с распознанным текстом можно считать количество слов.
Для начала нужно разбить строку zadanie на слова с помощью split. Полученный список со словами передаётся Counter.
Строка zadanie, и список words = zadanie.split() передаёшь Counter: collections.Counter(words)
метод most_common, происходит подсчёт количества слов (элементов, переданных объекту Counter) и сортировка в порядке убывания. Метод возвращает готовый словарь, в котором слова уже подсчитаны.
Для вывода слов и количества повторений достаточно просто вывести словарь в цикле:
for word, count in c.most_common():
print('{} {}'.format(word, count))

Помогите с размещением этого в код
Код:
 
import speech_recognition as sr
import os
import sys
import webbrowser
import Counter

def talk(words):
	print(words) 
	os.system("say " + words) 

talk("Привет, чем я могу помочь вам?")

def command():


	r = sr.Recognizer()

	with sr.Microphone() as source:
		print("Говорите")
		r.pause_threshold = 1
		r.adjust_for_ambient_noise(source, duration=1)
		audio = r.listen(source)

	try:
		zadanie = r.recognize_google(audio, language="ru-RU").lower()
		print("Вы сказали: " + zadanie)
	
	except sr.UnknownValueError:
		talk("Я вас не понял")
		zadanie = command()

	return zadanie

def makeSomething(zadanie):

	if 'Открой сайт' in zadanie:
		talk("Уже открываю")
		url = 'https://YouTube.com'
		webbrowser.open(url)

	elif 'стоп' in zadanie:
		talk("Хорошо")
		sys.exit()
	elif 'Твоё имя' in zadanie:
		talk("Меня зовут Леся")

while True:
	makeSomething(command())
Elvaral вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подсчёт кол-ва слов Link12 Общие вопросы C/C++ 10 04.06.2010 18:37
подсчёт слов neBu4kaMaXiM Помощь студентам 2 30.03.2010 10:00
подсчёт слов Светочка132 Помощь студентам 1 27.03.2010 15:59
подсчёт слов neBu4kaMaXiM Фриланс 13 18.03.2010 18:11
по вводу слов в массив и подсчёт введённых слов -ushёl- Общие вопросы C/C++ 4 16.11.2009 00:45