Введение 5
1 Постановка задачи 7
2 Современное состояние исследований 8
3 Извлечение упоминаний о болезнях из текстов 10
3.1 Метод на основе словарей 11
3.2 Методы машинного обучения 11
3.2.1 Линейные условные случайные поля 12
3.2.2 Рекуррентные нейронные сети 13
4 Предложенный набор признаков 19
4.1 Распределенные представления слов 20
4.2 Словари и словарные признаки 21
4.3 Кластерные представления слов 26
5 Архитектура программной реализации 28
6 Текстовая коллекция 30
6.1 Сбор данных 30
6.2 Разметка данных 31
7 Эксперименты , 33
8 Ретроспективный анализ 37
Заключение 39
Список литературы 40
Приложение
В последнее десятилетие наблюдается огромный рост в объеме хранимой и обрабатываемой информации. При этом немалая доля данной информации приходиться на крупные социальные медиа-ресурсы, такие как Facebook, Twitter и пр. Однако, в большинстве случаев данные социальных медиа¬ресурсов являются неструктурированными и трудно поддающимися анализу классическими методами. В связи с этим, часто возникают попытки извлечь из этого огромного количества данных некоторую полезную информацию. К примеру, в работе “Event Detection from Social Media Data” [1] анализировалась лента твиттера для отслеживания разного рода событий, в работе “Twitter mood predicts the stock market” [2] использовали твиттер для пред¬сказания курса акций на бирже.
В данной работе так же делается попытка извлечь полезную информацию из форумов медицинской тематики с целью выдвижения гипотез к перепро-филированию. Предлагается разбить процесс выдвижения гипотез к перепро¬филированию на 5 этапов:
1. Извлечение упоминаний о болезнях и симптомах из текстовых данных, то есть имея некоторый отзыв, необходимо извлечь из него участки текста, в которых содержится описание болезни или симптома. Так¬же предполагается извлекать названия лекарств из отзыва, однако, сам процесс извлечения названий лекарств представляет собой простой по-иск по словарю и не представляет интерес для интеллектуального анализа данных и в данной работе не будет рассматриваться.
2. Нормализация извлеченных упоминаний до медицинских терминов. На данном этапе проводиться сопоставления между извлеченными на предыдущем этапе упоминаниями болезней и симптомов, написанными непрофессиональным языком, и медицинскими терминами. То есть каждому найденному упоминанию ставится в соответствие его аналог среди медицинских терминов.
3. Анализ тональности по отношению к извлеченным упоминаниям. По-мимо определения точного медицинского термина также необходимо понять было ли упоминания в качестве положительного эффекта от лекарства или нет.
4. Извлечение отношений между упоминаниями болезней и лекарственных средств. В рамках данного этапа предполагается проводить сопоставление между положительными эффектами и лекарствами упомянутыми в отзыве. То есть необходимо определить для каждого положительного эффекта в отзыве лекарство, которое привело к этому эффекту.
5. Выдвижение гипотез к перепрофилированию. После описанных выше четырех этапов будет получен набор пар вида: лекарство - соответствующий ему положительный эффект. Сопоставив данный список с известными показанный к применению лекарственных средств: можно выдвигать гипотезы к перепрофилированию.
В данной выпускной квалификационной работе рассматривается только первый этап по перепрофилированию - извлечения упоминаний о болезнях.
В данной работе была создана система для извлечения упоминаний о болезнях из текстов на английском языке. Были протестированы такие методы машинного обучения и глубокого обучения, как условные случайные поля, двунаправленные модели LSTM и GRU. Для них были подобраны различные признаки, включая локальные признаки слова, контекстные признаки, словарные признаки, а также распределенные представления слов, основанные на word2vec, и кластерные представления слов. Была собрана неразмеченная коллекция отзывов объемом 2.6 млн. для получения векторных представлений слов. Помимо векторов слов, были составлены словари медицинских терминов. Система была протестирована на собранной и размеченной для этих целей коллекции данных.