Pull to refresh
8
0
Arman Zharmagambetov @arreqe

User

Send message
Подход 1 в этой статье один из самых простых методов представления текста в виде вектора. Если не понятно давайте разберем пример, который дан в этой статье:

Есть словарь, где мы собираем все наши слова и сортируем, допустим — [biography, cinema, feature, film, going, originally, part, remember, see], т.е. понятно, что на самом деле в конечном словаре их намного больше. Но для упрощение представим, что в нашей базе только эти 9 слов. У каждого из них есть порядковый номер: biography — 0, cinema — 1, и т.д. Далее для каждого документа создаем вектор (ну или массив если слово вектор вводит Вас в заблюждение) длиною кол-ву слов в словаре (т.е. 9) изначально все заполненные нулями, назовем его v = [0,0,0,0,0,0,0,0,0]. Затем, если в тексте встретилось слово biography, значит v[0] = 1, и т.д.
1. А где про сам процесс обучения? Заметил, что на хабре большинство статьей про RNN содержит просто структуру и архитектуру LSTM/GRU и т.д. Но упускается сам процесс обучения или только мельком упоминается, т.е. Backprogatation through times, там ведь немало нюансов…

2. «К счастью, LSTM не знает таких проблем!». Согласен, что LSTM помогает решить эту проблему. Но не окончательно, все же vanishing/exploiding gradient присутствует и в LSTM. В качестве примера:
https://arxiv.org/pdf/1506.00019.pdf
Да и в целом, в сети множество обсуждений по этому поводу. Плюс, было бы полезно проиллюстрировать наглядно проблему vanishing/exploiding gradient и как LSTM ее решает.
Здравствуйте!
1. Хочу уточнить по архитектуре 1 и 2. Если я правильно понял, у Вас есть объединенный вектор контекста слова и объединенный вектор ответа. На выходе вектор размерностью N (вектор слова, контекст которого мы берем как input). Схематично это можно представить так:
у нас есть некое предложение и разбиваем по словам, допустим наши слова — (w1,w2,w3,w4,w5), затем есть ответ, разбиваем предложение, и представим его в виде — (a1,a2,a3,a4,a5,a6). Получается на входе мы имеем (w1, ,w3,w4,w5) + (a1,a2,a3,a4,a5,a6), а на выходе должно быть — w2?
2. Такой же вопрос по архитектуре LSTM, что дается сети на вход более менее понятно, а что на выходе? если это вектора ответов, значит у Вас там действует схема Encoder-Decoder?
Спасибо!
Здравствуйте, интересная статья. Но хотелось бы по подробнее про признаки, так как сами понимаете, что Feature Engineering не менее важен самого алгоритма машинного обучения. Судья по тому что у Вас RNN скорее всего используется word2vec, так ли это?
Не думаю что с Bag-of-words можно достичь высоких результатов (>90%) какую бы крутую нейронную сеть Вы не использовали бы… Как на счет использования word embeddings (GloVe, word2vec) или что-то в этом вроде?
Hi, в разве теорема Байеса не P(theta | X) = P(X | theta) P(theta) / P(X), а не P(theta | X) = P(theta | X) P(theta) / P(X)? Или я что-то путаю, т.к. прогулял эту лекцию по ТВИМС ?)
А какже знаменитый курс от Стэнфордского профессора Эндрю Энг (Andrew Ng) на coursera: www.coursera.org/learn/machine-learning
Очень интересно, еще одно доказательство расстущей популярности машинного обучения. A про признаках по подробнее можно — что входило в вектор признаков? Зачем понадобился РСА, неужели пространство настолько стало большим? Данные, которые использовались для экспериментов, можно ли их достать, чтобы самому поиграться?
Для формирований правил мешков утверждений используются ли корпуса?
Здравствуйте! Все верно, речь идет о данных, которые взяты с учебного соревнования. Я попробовал испытать тестовые данные используя Bag-Of-Words + Logistic Regression, но выше чем 0,87 не поднялся. Этот вопрос в форуме я почему-то не заметил, попробую поиграться с их скриптом. Спасибо!
А на счет десяток минут времени, Bag-of-words действительно занимает не более 3-4 минут, а вот обучение word2vec+кластерирезация+обучение заняло с моим ноутбуком больше часа времени.
Ну тут уже прямиком на использование Big Data. Но на мой взгляд такие словари являются сильно зашумленными, то есть множество слов можно отсеять по частотной характеристике. Или же сделать что-то наподобие подхода 2 в этой статье.
NER (Named Entity Recognition) — это выделение из текстов именованных сущностей (такие как собственные имена, местоимения). Уже немало попыток было сделано для использования w2v для выделения NER. Думаю, Вам лучше взглянуть сюда www.aclweb.org/anthology/W15-1830 или же сюда datascience.stackexchange.com/questions/492/word2vec-for-named-entity-recognition.
В реальных задачах, я по крайней мере, выше чем 75-80% не поднимался. Но думаю есть и результаты получше. Например — nlp.stanford.edu/sentiment. Здесь они используют глубокие нейронные сети для анализа тональности.
Согласен с Вами, но даже word2vec/glove не решены таких недостатков как омонимия, многозначность, и т.д. Также во многих случаях нужно учитывать синтаксическую структуру языка. Для достижения лучших результатов одного машинного обучения думаю не достаточно. Нужно использовать гибридные методы (машинное обучение + rule based) для которых в свою очередь нужны размеченные корпуса (с размеченной морфологией и синтаксисом).

Information

Rating
Does not participate
Location
Алматы (Алма-Ата), Алма-Атинская обл., Казахстан
Date of birth
Registered
Activity