Изменения

Перейти к: навигация, поиск

Диалоговые системы

2367 байт добавлено, 05:50, 20 января 2021
Нет описания правки
Существует множество фрейморков, которые значительно упрощают построение диалоговых систем.
=== DeepPavlov.ai===
Включает множество компонентов, при помощи которых создаются скилы. Множество скилов объединяются в диалоговый агент с которым взаимодействуют пользователи на естественном языке.
LTP'''from''' deeppavlov.agents.default_agent.default_agent '''import''' DefaultAgent'''from''' deeppavlov.skills.pattern_matching_skill '''import''' PatternMatchingSkill'''from''' deeppavlov.agents.processors.highest_confidence_selector '''import''' HighestConfidenceSelector
Rasa <font color="green"># Настраиваем качество, выставляя ef:</font>hello = PatternMatchingSkill( responses=['Hello world!'], patterns=['hi', 'hello', 'good day']) <font color="green"># Настраиваем качество, выставляя ef:</font>bye = PatternMatchingSkill( ['Goodbye word!', 'See you around.'], ['bye', 'chao', 'see you']) <font color="green"># Настраиваем качество, выставляя ef:</font>fallback = PatternMatchingSkill([ 'I don\'t understand, sorry.', 'I can say "Hello world!"'])skill_manager = HighestConfidenceSelector()HelloBot = Agent([hello, bye, fallback], skills_selector=skill_manager)'''print'''(HelloBot(['Hello!', 'Boo...', 'Bye.']))
'''import''' hnswlib '''import''' numpy '''as''' np dim = 128 num_elements = 10000 <font color="green"># Создаём тестовые данные.</font> data = np.float32(np.random.random((num_elements, dim))) data_labels = np.arange(num_elements) <font color="green"># Создаём иерархический маленький мир в L2.</font> <font color="green"># Возможные метрики {{---}} l2, cosine, ip (L2, косинус угла между векторами, скалярное произведение).</font> p = hnswlib.Index(space = 'l2', dim = dim) <font color="green"># Инициализируем структуру.</font> p.init_index(max_elements = num_elements, ef_construction = 200, M = 16) <font color="green"># Добавляем данные (можно вызывать много раз).</font> p.add_items(data, data_labels) <font color="green"># Настраиваем качество, выставляя ef:</font> p.set_ef(50) <font color="green"># ef должно быть > k</font> <font color="green"># Делаем запрос.</font> <font color="green"># k - количество ближайших вершин</font> labels, distances = p.knn_query(data, k = 1) === LTP === === Rasa === === spaCy===
== См. также ==
 
*[[Рекуррентные нейронные сети]]
*[[Векторное представление слов]]
== Примечания ==
 
<references/>
== Источники информации ==
 
* [https://arxiv.org/abs/1605.07683 Learning End-to-End Goal-Oriented Dialog]
 
 
[[Категория: Машинное обучение]]
31
правка

Навигация