Covid-19 полностью изменил мир, в котором мы живем. Интересно посмотреть, как эта пандемия затронула всех во всем мире. Иногда я задаюсь вопросом, является ли Covid-19 нашим Таносом! Время покажет, но это не цель этого поста.

Моя общая цель — определить способы применения НЛП к исследовательским работам, связанным с Covid-19, чтобы определить или ответить на определенные вопросы, которые помогут найти решение этой пандемии, или даже способы извлечь уроки из различного опыта и объединить их в согласованные усилия. против невидимого Таноса.

В этом конкретном анализе я попытался сделать следующее:

  • Применить LDA (латентное распределение Дирихле) к корпусу научных статей Allen Institute
  • Определите темы, которые логически группируют исследовательские работы. Таким образом, мы разделяем наш набор данных на более значимые сегменты и даем нам отправную точку для дальнейшего анализа.
  • Дальнейший анализ может включать ответы на такие вопросы, как «воздействие Covid-19 на младенцев», «распространение болезни по месту и ее влияние», «эффективность различных методов лечения, проводимых врачами по всему миру» и т. д.

Предостережение: обратите внимание, что по профессии я специалист по данным и не имею никакого опыта в медицине или смежных областях. Блокнот Jupyter с кодом доступен здесь.

  1. Давайте посмотрим на данные

Я использую набор данных открытого исследования COVID-19, доступный в Институте Аллена. Существует ряд доступных исследовательских работ, но я специально использую подмножество некоммерческих пользователей.

Данные состоят из файлов JSON (всего: 4776) с текстом, извлеченным из каждой научной статьи. В файле JSON есть и другие поля, но для простоты я использую следующее:

  • «paper_id»: уникальный идентификатор для каждой научной статьи.
  • «название»: название исследовательской работы
  • «текст»: текст исследовательской работы

Давайте посмотрим на распределение слов в наборе данных.

Как вы можете видеть, есть несколько статей, объем которых превышает 20000 слов.

  • Среднее количество слов в документе: 3764,922738693467.
  • Минимальное количество слов в документе: 1.
  • Максимальное количество слов в документе: 239553.

Исследовательская работа со слишком небольшим количеством слов бесполезна, и поэтому мы должны избавиться от них. Есть 162 документа с максимальным количеством слов 5.

2. Очистка данных

Прежде чем мы сможем применить LDA, нам нужно очистить наши данные. В Интернете есть ряд статей, которым вы можете следовать, чтобы очистить данные.

Я нашел этот блокнот особенно полезным: https://www.kaggle.com/vukglisovic/classification-combining-lda-and-word2vec

Итак, проходим стандартный процесс очистки данных:

  • убрать знаки препинания
  • токенизировать текст

Давайте сделаем паузу и посмотрим на частоты слов после токенизации текста:

Как и ожидалось, большая часть слов является стоп-словами. Эти слова на самом деле не добавляют никакой ценности анализу.

  • удалить стоп-слова
  • лемматизация и стемминг

Подробнее о лемматизации и стемминге можно прочитать здесь: https://nlp.stanford.edu/IR-book/html/htmledition/stemming-and-lemmatization-1.html

Теперь мы готовы подогнать LDA, но перед этим давайте посмотрим на частоты слов:

Как видите, стоп-слова исчезли, но остались слова, которые не добавляют большой ценности, но встречаются очень часто. Я думал, что это будет проблемой, но LDA позаботится об этом.

3. Установите ЛДА

Если вы хотите подробно разобраться в LDA, вот лекция основателя LDA: http://videolectures.net/mlss09uk_blei_tm/

Однажды подобрав модель LDA, я понял, что есть исследовательские работы, которые не имеют ничего общего с COVID-19. Поэтому с моим ограниченным пониманием медицинских терминов я составил список слов, относящихся к COVID-19.

covidwords = ['covid', 'covid-19', 'corona', 'coronavirus', 'sars-cov-2', 'sarscov', 'mers', 'virus', 'h1n1', 'avian', ' грипп]

Идея состоит в том, чтобы отфильтровать статьи, в которых абсолютно не упоминаются указанные выше ключевые слова. Таким образом, я просматриваю только соответствующие исследовательские работы — помните, у меня нет медицинского образования!

Я нашел 990 статей, в которых не было вышеуказанных слов. Теперь меня, наконец, прочитали, чтобы соответствовать модели LDA.

Что делает LDA, так это то, что он идентифицирует различные темы (указанные) внутри корпуса. Каждая тема состоит из слов с их вероятностями, которые я интерпретирую как важность.

Вывод LDA будет выглядеть примерно так, если я выберу только 20 лучших слов для каждой темы:

  • Для темы 0 верхние слова: merscov, случай, инфекция, пациент, болезнь, mers, вирус, передача, респираторный, вспышка, больница, верблюд, контакт, сообщение, человек, здоровье, среди, Саудовская Аравия, симптом, подтверждено.
  • Для темы 1 верхними словами являются: клетка, вирус, человек, антитело, белок, болезнь, sarscov, ген, хозяин, опухоль, инфекция, рак, эпитоп, пациент, мишень, рецептор, hcovemc, развитие, sars, иммунный.
  • Для темы 2 основными словами являются: пациент, вирус, инфекция, грипп, респираторный, вирусный, образец, РСВ, ПЦР, патоген, тест, клинический, обнаружение, обнаруженный, бактериальный, антибиотик, положительный, образец, набор, cav1.
  • Для темы 3 основными словами являются: модель, риск, данные, человек, сеть, число, время, уровень, контакт, эпидемия, болезнь, инфекция, грипп, группа, передача, страна, население, вспышка, пациент, информация.

4. Интерпретация результатов LDA

На первый взгляд этот вывод может показаться запутанным, но если вы копнете глубже, вы начнете видеть некоторые закономерности. В теме 0 есть такие слова, как mers, случай, инфекция, вспышка, контакт и т. д. Похоже, что документы, отнесенные к теме 0, говорят о вспышке, сходстве с MERS-Cov и описании различных подобных случаев. Давайте посмотрим на названия некоторых документов в теме 0:

  • Дромадерные верблюды на севере Мали имеют высокую серопозитивность к лицензии MERS-CoV-NC-ND («http://creativecommons.org/licenses/by-nc-nd/4.0/)»,
  • «Инфекционные заболевания и борьба со вспышками ОБЗОР 20»,
  • «Соответствующий образец нижних дыхательных путей необходим для диагностики ближневосточного респираторного синдрома (MERS)»,
  • ‘’, ‘История статьи: межстрановое сравнение показателей летальности от COVID-19/SARS-COV-2’,
  • «COVID-19 в тени MERS-CoV в Королевстве Саудовская Аравия»,
  • «Вспышка COVID-19: обзор»,
  • «Ближневосточный респираторный синдром — насколько нам следует беспокоиться?» НОВЫЙ ВИРУС ВЫЯВЛЕН В САУДОВСКОЙ АРАВИИ», «Сердечная проблема и MERS»,
  • «История болезни выжившего после ближневосточного респираторного синдрома с результатами биопсии почки», «
  • «Вакцина-кандидат MERS обещает, но вопросы остаются»

Поскольку слово merscov было наиболее важным в теме 0, вы заметите, что во многих исследовательских работах говорится о MERS-Cov. Кроме того, обратите внимание, что слово «Саудов» так заметно в названиях, что имеет смысл, поскольку эта болезнь возникла на Ближнем Востоке.

Чтобы лучше понять, давайте визуализируем первые четыре темы и их главные слова:

Если я посмотрю на Тему 1, то выделятся такие слова, как клетка, белок, ген и т. д. Означает ли это, что в теме 1 речь идет о генетике или изучении белков? Давайте посмотрим на названия научных работ, в которых Тема 1 доминирует:

  • «Появление человеческого коронавируса EMC: насколько нам следует бояться?»
  • «Чувствительный анализ на основе массива для выявления нескольких вариантов слитых генов TMPRSS2:ERG»
  • «Использование арсенала иммунной системы: производство человеческих моноклональных антител для терапии и исследование иммунных реакций»
  • «Сорок лет с коронавирусами», «Фармакогеномика и персонализированная медицина Dovepress Внеклеточные везикулы глиобластомы: резервуары потенциальных биомаркеров»
  • «Ограничение В-клеток — альтернативный элемент головоломки», «»
  • «Новые микробы и инфекции (2012) 1, e35», «Новые микробы и инфекции (2012) 1, e46», «Новые микробы и инфекции (2012) 1, e23»
  • «Экологическая структура человеческого вирома обеспечивает классификацию текущих знаний и определяет области предстоящих открытий»,
  • Контакты человека и домашнего скота и их связь с передачей зоонозных патогенов, систематический обзор литературы — лицензия NC-ND («http://creativecommons.org/licenses/by-nc-nd/4.0/
  • «С-концевая часть нуклеокапсидного белка демонстрирует антигенность SARS-CoV»
  • «Реакция клетки-хозяина на заражение новым коронавирусом человека EMC прогнозирует потенциальные противовирусные препараты и важные различия с коронавирусом SARS»
  • «Молекулярные достижения в лечении тяжелого острого респираторного синдрома, связанного с коронавирусом (SARS-CoV)»
  • «ЭМС человеческого коронавируса не требует рецептора SARS-коронавируса и поддерживает широкую репликативную способность в клеточных линиях млекопитающих»
  • «Новая эра открытия вирусов: геномный анализ нового бета-коронавируса человека, выделенного из летального случая пневмонии»
  • «Тридцать лет эры геномики: опухолевые вирусы проложили путь»
  • «С-концевая часть нуклеокапсидного белка демонстрирует антигенность SARS-CoV»
  • «Чувствительный анализ на основе массива для выявления нескольких вариантов слитых генов TMPRSS2:ERG»

Интересно право! Если вам интересно, как это полезно, подумайте, с чего мы начали. У нас было около 4000 научных работ без какой-либо классификации. Запустив LDA, у нас, по крайней мере, есть отправная точка с множеством похожих исследовательских работ, сгруппированных по темам.

На приведенном выше рисунке показано количество исследовательских работ по каждой теме. Имейте в виду, что это показывает наиболее доминирующую тему для каждой исследовательской работы. LDA возвращает распределение тем для каждого документа с соответствующими весовыми коэффициентами вероятности. Так что теперь, если я хочу изучить статьи, в которых говорится о генетике, я начну с исследований по теме 1.

Как я упоминал в начале, это дает нам хорошую основу для дальнейшего анализа. Ждите анализа по этому вопросу в ближайшие дни!

Примечание. LDA не является детерминированным, что означает, что если вы запустите мой блокнот Jupyter, вы можете не получить такие же результаты, как у меня. Лучше всего сохранить модель в файле pickle для дальнейшего использования.

Блокнот Jupyter: https://github.com/nikyan/Covid-19_Research/blob/master/Covid_19_Research.ipynb

Использованная литература: