코로나19 논문 질의응답 시스템
소개 • 시작하기 • 내부 내용 • 서버 및 클라이언트 API
정보. 코로나19 관련 문서의 양이 기하급수적으로 늘어나고 있다. 이렇게 엄청난 양의 정보로 인해 연구 커뮤니티가 관련 정보를 찾는 것이 점점 더 어려워지고 있습니다.
검색 엔진 온 스테로이드. Korono는 코로나19에 관한 정보 연구를 촉진하기 위해 고안된 질문 답변 플랫폼입니다. Korono를 검색 엔진과 스테로이드로 생각할 수 있습니다.
작동 원리. Korono 엔진은 검색 엔진 단계와 질문 답변 단계의 두 단계로 구성됩니다. 우선, q
라는 쿼리가 주어지면 검색 엔진은 해당 쿼리에서 관련된 모든 논문을 반환합니다. 나중에 각 논문에서 답변이 추출되어 표시됩니다.
온라인 버전(곧 출시 예정)을 사용하거나 자체 서버를 실행할 수 있습니다.
로컬에서 서버를 실행합니다.
./run_server.sh
클라이언트를 실행하고 질문하십시오.
> from korono import client
> client . get_answers ( "What is coronavirus?" )
검색 엔진 . 검색 엔진은 Okapi BM25로 알려진 순위 알고리즘을 사용합니다. 여기서 BM은 Best Matching 을 나타냅니다. BM25는 각 문서에 나타나는 검색어를 기준으로 문서를 정렬하는 Bag-of-Words 검색 기능입니다.
질문 답변 . 질문은 대규모 신경망 언어 모델인 Transformers를 사용하여 코퍼스에서 추출됩니다. 현재로서는 distilbert-base-uncased-distilled-squad
모델만 지원됩니다. 곧 지원을 확대할 계획입니다.
load_data.get_df()
밑줄 데이터세트를 반환합니다.
load_data.get_metadata_df()
CORD-19 메타데이터 Pandas DataFrame을 반환합니다.
korono_model.answer_question(question, context)
질문과 컨텍스트가 주어지면 답변을 반환합니다.
korono.model.get_summary(text)
텍스트가 주어지면 모델은 추상적인 요약을 반환합니다.
korono_model.find_start_end_index_substring(context, answer)
context
문자열에 answer
문자열의 시작 및 끝 인덱스(있는 경우)를 반환합니다.
client.get_answers_json(question)
다음 형식의 JSON 객체를 반환합니다. {
"results" : [
{
"context" : " coronavirus is an infectious disease " ,
"question" : " what is coronavirus? " ,
"answer" : " an infectious disease " ,
},
]
}
client.get_answers(question)
모든 답변 목록을 반환합니다.