Некоторый код для выполнения языкового моделирования с керами, в частности для вопросов, отвечающих за задачами. Я написал очень длинную запись в блоге, в котором объясняется, как много работает, что можно найти здесь.
attention_lstm.py : внимание LSTM, основанное на одной из документов, упомянутых в сообщении в блоге и других. Одно приложение использовало его для подписания изображения. Он инициализируется вектором внимания, который обеспечивает компонент внимания для нейронной сети.insurance_qa_eval.py : структура оценки для набора данных страхования. Чтобы получить эту работу, клонируйте репозиторий данных и установите переменную среды INSURANCE_QA в клонированный репозиторий. Изменение config скорректирует, как подготовлена модель.keras-language-model.py : класс LanguageModel использует настройки config для создания учебной модели и модели тестирования. Модель может быть обучена путем передачи вектора вопросов, переносного вектора ответа истины и плохих векторов fit . Затем predict рассчитывает сходство между вопросом и ответом. Переопределите метод build с любой языковой моделью, которую вы хотите получить, чтобы получить обучаемую модель. Внизу приведены примеры, в том числе EmbeddingModel , ConvolutionModel и RecurrentModel . # Install Keras (may also need dependencies)
git clone https://github.com/fchollet/keras
cd keras
sudo python setup.py install
# Clone InsuranceQA dataset
git clone https://github.com/codekansas/insurance_qa_python
export INSURANCE_QA= $( pwd ) /insurance_qa_python
# Run insurance_qa_eval.py
git clone https://github.com/codekansas/keras-language-modeling
cd keras-language-modeling/
python insurance_qa_eval.pyВ качестве альтернативы я написал сценарий, чтобы начать работу на экземпляре Google Cloud Platform (Ubuntu 16.04), который можно запустить через
cd ~
git clone https://github.com/codekansas/keras-language-modeling
cd keras-language-modeling
source install.pyЯ работаю над тем, чтобы сделать эти модели доступными из коробки. Вам необходимо установить ветвь git keras (и, возможно, внести некоторые модификации), чтобы запустить некоторые из этих моделей; Проект Keras можно найти здесь.
Программа, работающая на страхование, - это insurance_qa_eval.py . Это создаст models/ каталог, в которых будет храниться история весов модели по мере его создания. Вам нужно установить переменную среды, чтобы рассказать ей, где находится набор данных страхования_QA.
Наконец, моя настройка (которая, я думаю, довольно распространена) состоит в том, чтобы иметь SSD с моей операционной системой и жесткий диск с более крупными файлами данных. Поэтому я бы порекомендовал создать models/ символику из каталога проекта где -то в вашем жестком жестком диске, если у вас есть аналогичная настройка.
Я добавил аргумент командной строки, который использует колбу, чтобы служить порту. После того, как вы установили колбу, вы можете запустить:
python insurance_qa_eval.py serveЭто полезно в сочетании с NGROK для мониторинга прогресса обучения вдали от рабочего стола.