Machine Reading Comprehension

Reading Comprehension related modeling class

class pororo.tasks.machine_reading_comprehension.PororoMrcFactory(task: str, lang: str, model: Optional[str])[source]

Bases: pororo.tasks.utils.base.PororoFactoryBase

Conduct machine reading comprehension with query and its corresponding context

Korean (brainbert.base.ko.korquad)

  • dataset: KorQuAD 1.0 (Lim et al. 2019)

  • metric: EM (84.33), F1 (93.31)

Parameters
  • query – (str) query string used as query

  • context – (str) context string used as context

Returns

predicted answer span and its indices

Return type

Tuple[str, Tuple[int, int]]

Examples

>>> mrc = Pororo(task="mrc", lang="ko")
>>> mrc(
>>>    "카카오브레인이 공개한 것은?",
>>>    "카카오 인공지능(AI) 연구개발 자회사 카카오브레인이 AI 솔루션을 첫 상품화했다. 카카오는 카카오브레인 '포즈(pose·자세분석) API'를 유료 공개한다고 24일 밝혔다. 카카오브레인이 AI 기술을 유료 API를 공개하는 것은 처음이다. 공개하자마자 외부 문의가 쇄도한다. 포즈는 AI 비전(VISION, 영상·화면분석) 분야 중 하나다. 카카오브레인 포즈 API는 이미지나 영상을 분석해 사람 자세를 추출하는 기능을 제공한다."
>>> )
('포즈(pose·자세분석) API', (33, 44))
>>> # when mecab doesn't work well for postprocess, you can set `postprocess` option as `False`
>>> mrc("카카오브레인이 공개한 라이브러리 이름은?", "카카오브레인은 자연어 처리와 음성 관련 태스크를 쉽게 수행할 수 있도록 도와 주는 라이브러리 pororo를 공개하였습니다.", postprocess=False)
('pororo', (30, 34))
static get_available_langs()[source]
static get_available_models()[source]
load(device: str)[source]

Load user-selected task-specific model

Parameters

device (str) – device information

Returns

User-selected task-specific model

Return type

object

class pororo.tasks.machine_reading_comprehension.PororoBertMrc(model, tagger, callback, config)[source]

Bases: pororo.tasks.utils.base.PororoBiencoderBase

predict(query: str, context: str, **kwargs) → Tuple[str, Tuple[int, int]][source]

Conduct machine reading comprehension with query and its corresponding context

Parameters
  • query – (str) query string used as query

  • context – (str) context string used as context

  • postprocess – (bool) whether to apply mecab based postprocess

Returns

predicted answer span and its indices

Return type

Tuple[str, Tuple[int, int]]