Ранжированное извлечение релевантных знаний с использованием обработки естественного языка: расширение запроса и сеть подобия
Обзор
В мире наблюдается вспышка пневмонии, вызванной новым коронавирусом, известным как тяжелый острый респираторный синдром-коронавирус 2 (SARS-CoV-2) [1]. Эпидемия была объявлена чрезвычайной ситуацией в области общественного здравоохранения, имеющей международное значение, 30 января 2020 г. и признана пандемией Всемирной организацией здравоохранения 11 марта 2020 г. [2]. В ответ на пандемию Белый дом и коалиция ведущих исследовательских групп подготовили открытый исследовательский набор данных COVID-19 (CORD-19), содержащий более 51 000 научных статей, в том числе более 40 000 с полным текстом, о COVID-19, SARS- CoV-2 и родственные коронавирусы [3]. Медицинские работники, в том числе врачи, часто ищут ответы на конкретные вопросы, чтобы улучшить рекомендации и решения. Огромный ресурс медицинской литературы важен для получения новых идей, которые могут помочь медицинским сообществам предоставить соответствующие знания и общую борьбу с инфекционными заболеваниями. Медицинские исследовательские сообщества могут улучшить свою политику, эффективно анализируя и извлекая конкретные знания, связанные с коронавирусом, из большого количества опубликованных статей. Ручное извлечение релевантных знаний из большого объема статей является трудоемким, немасштабируемым и сложным [4]. Следовательно, было предпринято несколько попыток разработать интеллектуальные системы для автоматического извлечения соответствующих знаний из множества неструктурированных документов. В этой статье я представляю простую, но эффективную систему ответов на вопросы, основанную на автоматическом анализе тысяч статей для создания длинных текстовых ответов (разделов/абзацев) в ответ на вопросы, заданные медицинским сообществом. В процессе разработки платформы мы широко изучаем методы обработки естественного языка, такие как расширение запросов, предварительная обработка данных и модели векторного пространства.
Введение
Вспышка легочной болезни распространяется с декабря 2019 года в Ухане, крупнейшем мегаполисе китайской провинции Хубэй [5]. Респираторное заболевание, передающееся от человека к человеку, вызванное новым коронавирусом под названием тяжелый острый респираторный синдром-коронавирус 2 (SARS-CoV-2), вызвало пандемию примерно за четверть года, затронув 230 стран мира. Инфекционное заболевание вызвало 1 779 842 подтвержденных случая и 108 779 подтвержденных случаев смерти к 11 апреля 2020 г., в основном затронув США, Италию, Испанию и Францию [6]. В ответ на пандемию Белый дом и коалиция ведущих исследовательских групп подготовили открытый исследовательский набор данных COVID-19 (CORD-19), содержащий более 51 000 научных статей, в том числе более 40 000 с полным текстом, о COVID-19, SARS- CoV-2 и родственные коронавирусы. Мы разрабатываем автоматическую систему извлечения знаний, которая будет генерировать значимую информацию из тысяч статей, чтобы помочь специалистам в области здравоохранения и государственным чиновникам в процессе принятия решений.
Цель этой статьи представить:
- Структура вопросов и ответов для извлечения знаний может извлекать наиболее релевантные длинные текстовые ответы с точки зрения разделов/абзацев из статей, связанных с конкретным вопросом или запросом.
- На втором этапе фреймворк предоставит сеть подобия соответствующих разделов, созданных из заданных статей. Сеть предоставит более широкую точку зрения на конкретный запрос. В этом процессе работник здравоохранения будет проинформирован не только одной связанной статьей, но и другими статьями, в которых обсуждалась тема.
Чтобы помочь специалистам в области здравоохранения в процессе принятия решений, мы в первую очередь исследовали инкубационный период заболевания у людей для демонстрации [3].
Набор данных
В ответ на пандемию Белый дом и коалиция ведущих исследовательских групп подготовили и предоставили открытый набор данных исследований COVID-19 (CORD-19), содержащий более 51 000 научных статей, в том числе более 40 000 полнотекстовых статей о COVID-19. , SARS-CoV-2 и родственные коронавирусы [3, 8]. Набор данных CORD-19 объединяет документы из нескольких источников:Всемирной организации здравоохранения, PubMed Central, bioRxiv и medRxiv, где источники предоставляют общедоступные метаданные документов и документы, связанные с каждым документом [8]. .
В этом проекте из этих обширных корпусов анализируются только исследовательские статьи из папки biorxiv_medrxiv, состоящей из 803 полнотекстовых статей. Данные документы представлены в формате JSON, который требует преобразования в структурированный формат для дальнейшего изучения. На рис. 1 показан фрагмент образца документа в формате JSON. Каждая статья состоит из 7 разделов: paper_id, metadata, abstract, body_text, bib_entries, ref_entries и back_matter. Мы извлекли только заголовок статьи (из paper_id), аннотацию и основной текст из каждой из документов в формате JSON для этого исследования. На рис. 2 показано извлечение заголовка, аннотации и основного текста из документа в формате JSON. Позже извлеченные тексты объединяются в полноценный бумажный текст.
Методы:
Мы разработали систему автоматического извлечения знаний, чтобы выделить наиболее релевантные интересующие разделы из корпуса исследовательских статей, связанных с COVID-19. Платформа выполнила несколько шагов для получения наиболее релевантного раздела с учетом конкретного заданного запроса. Для получения информации было выполнено несколько шагов:
1. Расширение запроса.Использование короткого запроса для поиска информации приводит к несоответствию терминов в задачах поиска информации, поскольку в термине запроса может не хватать достаточного количества слов. Метод расширения запроса преодолевает это ограничение, добавляя новые токены (слова) к существующим терминам и создавая расширенный запрос. Локальный анализ — это один из методов QE, при котором запрос расширяется за счет использования релевантных извлеченных разделов с наивысшим рейтингом по данному запросу. Обратная связь по релевантности — еще один метод QE, в котором используются соответствующие документы, предоставленные пользователями [7].
2. Предварительная обработка данных
а. Свертывание регистра: на этом этапе весь текст в документах преобразуется в маленькие буквы, например, фраза «интеллектуальный анализ данных» преобразуется в «интеллектуальный анализ данных».
б. Удаление стоп-слов: стоп-слова — это такие слова, как a, an, the, that и т. д. в документе, который содержит тривиальную информацию. Стоп-слова должны быть удалены в процессе построения модели.
в. Удаление специальных символов: в документах есть специальные символы, такие как «?», «#», «!» д., которые следует удалить.
д. Лемматизация: различные формы слов (такие как учеба, изучение) могут использоваться в документах по грамматическим причинам. Лемматизация используется для приведения флективных форм слов к общей базовой форме (study, учит à учусь).
е. N-граммы: N-граммы рассматривают N последовательных слов вместо одного слова. Например, 2-грамма фразы: «Динамика передачи вируса» à «Динамика передачи», «динамика», «этого» и «вируса». Его можно использовать для захвата контекста текста в документе.
3. Модель векторного пространства преобразования с использованием TF-IDF: документы сначала преобразуются в мешок слов (BoW) путем разбиения каждого предложения на слова. Позже BoW переносится в векторные пространства термином метод частотно-обратной частоты документа (TF-IDF). Частота терминов (TF) определяется в документе как соотношение между общим количеством встречаемости термина (слова) и общим количеством слов в документе. С другой стороны, обратная частота документа (IDF) измеряет важность или вес термина для документа в коллекции корпусов [4]. Уравнения 1, 2 и 3 показывают определения TF, IDF и TF-IDF в математической форме.
4. Вычисление подобия. Косинусное сходство — это один из методов вычисления сходства между парами документов. Он измеряет косинус угла между двумя векторами, где каждый из векторов представляет собой числовое представление документов (предложений/разделов/абзацев), полученных с использованием моделей векторного пространства. Уравнение 3 показывает математическое определение косинусного сходства, где A и B — два документа.
5. Извлечение информации. На этом этапе платформа извлекает соответствующую информацию для запроса, используя показатель сходства между парами запросов и всеми документами.
6. Сеть сходства. На втором этапе проекта была разработана взвешенная сеть сходства, чтобы получить более полезную информацию из исследовательских статей. На этом этапе мы будем использовать выходные данные этапа 1.
Эксперименты и результаты
Процесс извлечения наиболее релевантных разделов или абзацев из статей показан на рис. 3. Например, пользователь вводит в качестве входных данных термин запроса «инкубационный период». Затем к запросу был применен метод расширения запроса с обратной связью по релевантности, и были созданы расширенные запросы для дальнейшего изучения. Мы собрали информацию об инкубационном периоде коронавируса, а затем добавили ее в условия запроса [6]. На рис. 4 показан расширенный запрос термина «инкубационный период». Впоследствии платформа сначала ищет наиболее релевантные статьи, а затем иерархически исследует наиболее релевантный раздел каждой статьи и, наконец, возвращает пользователю соответствующий раздел на основе ранжирования. На рис. 5 показан извлеченный наиболее релевантный раздел для термина запроса «инкубационный период» из статьи под названием «Передача коронавирусной болезни 2019 года в течение инкубационного периода может привести к лазейке в карантине». На рис. 5 этот раздел содержит много важной информации, связанной с инкубационным периодом нового коронавируса, которая может быть важна для медицинских работников при принятии решений. Это может помочь медицинским работникам смоделировать текущие и будущие масштабы инфекционных заболеваний и оценить стратегии борьбы с болезнями, например решить, сколько дней карантина требуется для людей, которые могли подвергнуться воздействию вируса.
На рис. 5 этот раздел содержит много важной информации, связанной с инкубационным периодом нового коронавируса, которая может быть важна для медицинских работников при принятии решений. Это может помочь медицинским работникам смоделировать текущие и будущие масштабы инфекционных заболеваний и оценить стратегии борьбы с болезнями, например решить, сколько дней карантина требуется для людей, которые могли подвергнуться воздействию вируса.
На втором этапе взвешенный сетевой граф покажет сходство между статьями на основе заданных терминов запроса. На рис. 5 показан пример сети с заданным термином запроса «инкубационный период». Оценка 0,23 между узлами «инкубационный период» и «id:23» сообщает, что сходство между ними составляет 0,23 (что является максимальным для этой сети), а «id:23» является идентификатором для одного из данных исследований. статьи. Медицинские работники могут изучить все статьи, чтобы получить знания, связанные с инкубационным периодом через эту сеть.
Заключение
В мире наблюдается вспышка пневмонии, вызванной новым коронавирусом. Огромный ресурс медицинской литературы, связанной с коронавирусом, содержит ценную информацию, которая может дать ответы на конкретные вопросы, поставленные медицинскими исследовательскими сообществами. Медицинские работники могут улучшить свою политику, эффективно анализируя и извлекая конкретные знания, связанные с коронавирусом, из многих опубликованных статей и общей борьбы с инфекционными заболеваниями. Мы разработали действенную структуру извлечения знаний, которая может автоматически извлекать релевантную информацию с точки зрения разделов/абзацев, связанных с конкретным запросом. Фреймворк использует самые современные методы обработки естественного языка в процессе построения модели. Платформа также предоставляет сеть подобия, созданную из заданных статей, которые предлагают более широкую точку зрения на конкретный запрос. Таким образом, медицинский работник будет проинформирован не только из одной связанной статьи, но и из других статей, в которых обсуждалась эта тема.
КОД:
import os import json import numpy as np import pandas as pd import nltk # nltk.download() from nltk.corpus import stopwords stopwords = stopwords.words('english') from nltk.tokenize import word_tokenize import re from nltk.stem import WordNetLemmatizer, PorterStemmer lemmatizer = WordNetLemmatizer() stemmer = PorterStemmer() f = path-directory-of-the-data files_in_bioarve = os.listdir(f) # Reading the parts of given papers from the local computer one by one: p1--> read all papers in dictionary format, title--> title of the paper, abstract_text --> abstract of the paper, body_text --> body texts are spread all over the article, adding all those text bodies together paper_id = [] title_text = [] abstract_text = [] body_text = [] for j in range(len(files_in_bioarve)): a_text = '' b_text = '' t_text = '' p1 = json.load(open(f + files_in_bioarve[j], 'rt')) for i in range(len(p1['metadata'])): t_text += p1['metadata']['title'] title_text.append(t_text) for i in range(len(p1['abstract'])): a_text += p1['abstract'][i]['text'] abstract_text.append(a_text) for i in range(len(p1['body_text'])): b_text += p1['body_text'][i]['text'] body_text.append(b_text) # aggregating all the parts of each of the papers docs = [title_text[i] + abstract_text[i] + body_text[i] for i in range(len(body_text))] ## input: a sprecific query query = """case days period incubation incubation period covid-19 quarantine infect epidemic time individuals disease isolation median range transmission infection onset mean quarantine period report study hospitalize result periods data estimate fatality rate number expose period days coronavirus include adults longer model wuhan history symptom day use casualties symptom onset fatality rate outbreak base therefore population 7-day""" docs.insert(0, query) def text_preprocessing_0(text): """ 1. case folding: all letters folded to lower case 2. removing non-alphanumeric characters 3. tokeinizing the sentences into words 4. removing stopwords 5. lemmatization 6. steming """ lower_case = text.lower() token = word_tokenize(lower_case) filter_tokens = [w for w in token if w not in stopwords] lemmatized_words = [lemmatizer.lemmatize(filter_tokens[i], pos = 'v') for i in range(len(filter_tokens))] return lemmatized_words clean_docs = [' '.join(text_preprocessing_0(docs[i])) for i in range(len(docs))]
Я расширил эту работу и опубликовал ее на конференции IEEE Big Data 2020 в прошлом году. Если вы хотите процитировать эту работу —
Прочитайте каждую историю от Мохаммада Масума, доктора философии. (и тысячи других авторов на Medium).
Ваш членский взнос будет напрямую поддерживать и вдохновлять Мохаммада Масуманда и тысячи других писателей, которых вы читаете. Вы также получите полный доступ ко всем историям на Medium — https://masum-math8065.medium.com/membership
Приятного чтения!
Справочник
[1] Эстрада, Э. (2020). Топологический анализ основной протеазы SARS CoV-2. биоРксив.
[2] Ортеа, И., и Бок, Дж. О. (2020). Повторный анализ данных протеомики инфицированных SARS-CoV-2 клеток-хозяев с течением времени с помощью анализа путей воздействия и сетевого анализа. Потенциальная связь с воспалительной реакцией. БиоРксив.
[3] https://www.kaggle.com/allen-institute-for-ai/CORD-19-research-challenge
[4] Мохаммад, М., Косараджу, С., Байрамоглу, Т., Модгил, Г., и Канг, М. (2018, октябрь). Автоматическое извлечение знаний из документов OCR с использованием иерархического анализа документов. Материалы конференции по исследованиям адаптивных и конвергентных систем 2018 г. (стр. 189–194).
[5] Хуанг, Ю., Ту, М., Ван, С., Чен, С., Чжоу, В., Чен, Д., … и Хуанг, К. (2020). Клинические характеристики лабораторно подтвержденных положительных случаев инфекции SARS-CoV-2 в Ухане, Китай: ретроспективный анализ в одном центре. Медицина путешествий и инфекционные заболевания.
[6] https://www.worldometers.info/coronavirus/
[7] Cui, H., Wen, J.R., Nie, J.Y., & Ma, W.Y. (2002, май). Расширение вероятностного запроса с использованием журналов запросов. В материалах 11-й международной конференции по всемирной паутине (стр. 325–332).
[8] Ван, Л.Л., Ло, К., Чандрасекар, Ю., Реас, Р., Ян, Дж., Эйде, Д., … и Кольмайер, С. (2020). Cord-19: набор данных открытых исследований covid-19. ArXiv.