Skip to main content
QUICK REVIEW

[논문 리뷰] General-purpose Declarative Inductive Programming with Domain-Specific Background Knowledge for Data Wrangling Automation

Lidia Contreras-Ochando, Cèsar Ferri|arXiv (Cornell University)|2018. 09. 26.
Logic, Reasoning, and Knowledge참고 문헌 20인용 수 3
한 줄 요약

이 논문은 최소한의 예시로부터 데이터 워글링 작업을 자동화하기 위해 도메인 특화 배경 지식을 통합한 일반 목적의 선언형 인덕티브 프로그래밍 접근법을 제안한다. 기능적 프로그래밍 언어와 도메인 특화 라이브러리, 그리고 IP 시스템(MagicHaskeller)을 통합함으로써 다양한 데이터 형식에서 높은 정확도를 달성하며, FlashFill를 능가하는 성능을 보이며 사용자 정의 도메인 파일을 통해 확장성을 확보한다.

ABSTRACT

Given one or two examples, humans are good at understanding how to solve a problem independently of its domain, because they are able to detect what the problem is and to choose the appropriate background knowledge according to the context. For instance, presented with the string "8/17/2017" to be transformed to "17th of August of 2017", humans will process this in two steps: (1) they recognise that it is a date and (2) they map the date to the 17th of August of 2017. Inductive Programming (IP) aims at learning declarative (functional or logic) programs from examples. Two key advantages of IP are the use of background knowledge and the ability to synthesise programs from a few input/output examples (as humans do). In this paper we propose to use IP as a means for automating repetitive data manipulation tasks, frequently presented during the process of {\em data wrangling} in many data manipulation problems. Here we show that with the use of general-purpose declarative (programming) languages jointly with generic IP systems and the definition of domain-specific knowledge, many specific data wrangling problems from different application domains can be automatically solved from very few examples. We also propose an integrated benchmark for data wrangling, which we share publicly for the community.

연구 동기 및 목표

  • 다양한 도메인에서 데이터 워글링 작업의 높은 수동 작업과 체계적인 자동화 부족 문제를 해결한다.
  • FlashFill와 같은 기존 도구의 한계를 극복한다. 이는 부족한 배경 지식으로 인해 복잡하거나 모호한 데이터 형식에서 실패하기 때문이다.
  • 선언적이고 기능적인 프로그래밍 및 도메인 특화 지식을 활용해 하나 또는 두 개의 입력-출력 예시로부터 자동으로 프로그램을 합성할 수 있도록 한다.
  • 재현 가능성을 보장하고 향후 데이터 워글링 도구 평가를 촉진하기 위해 공개된 벤치마크 데이터 세트를 제공한다.
  • 일반 목적의 기능적 프로그래밍과 도메인 특화 배경 지식을 조합함으로써 확장 가능하고, 확장 가능한, 정확한 데이터 변환을 가능하게 한다.

제안 방법

  • 프로그램 합성의 대상 언어로 일반 목적의 기능적 프로그래밍 언어(Haskell)를 사용한다.
  • 특정 데이터 유형(예: 날짜, 주소, 이름 등)과 관련된 함수와 제약 조건를 포함하는 도메인 특화 배경 지식(DSBK) 라이브러리를 통합한다.
  • 한 개 또는 두 개의 입력-출력 예시로부터 정확한 변환 프로그램을 추론하기 위해 인덕티브 프로그래밍 시스템(MagicHaskeller)을 활용한다.
  • 기능적 언어를 사용해 도메인 특화 라이브러리를 정의함으로써 사용자가 새로운 데이터 유형에 대해 시스템을 확장하거나 커스터마이징할 수 있도록 한다.
  • 배경 지식에 의해 이끌리는 가설 기반의 검색 전략을 적용하여 검색 공간을 줄이고 합성 효율성을 향상시킨다.
  • 6개의 도메인(날짜, 이메일, 전화번호, 이름 등)에 걸쳐 18개의 데이터셋을 포함한 새로 제작된 공개 벤치마크에서 시스템을 평가한다.

실험 결과

연구 질문

  • RQ1일반 목적의 인덕티브 프로그래밍 시스템에 도메인 특화 배경 지식을 통합함으로써 최소한의 예시로부터 데이터 워글링 작업을 자동화할 수 있는가?
  • RQ2도메인 특화 지식의 통합은 FlashFill와 같은 DSL 기반 시스템에 비해 프로그램 합성의 정확도와 강건성에 어떤 영향을 미치는가?
  • RQ3단일이고 확장 가능한 프레임워크가 재설정이나 재학습 없이도 다양한 도메인에 걸친 다양한 데이터 워글링 문제를 얼마나 잘 처리할 수 있는가?
  • RQ4다양하고 실제 세계의 데이터 워글링 문제를 포함한 공개 공유 벤치마크는 재현 가능한 평가와 도구 개발을 촉진할 수 있는가?
  • RQ5합성된 프로그램의 깊이(기본 원소의 수)와 배경 지식 라이브러리의 크기가 합성 성능에 어떤 영향을 미치는가?

주요 결과

  • 제안된 DSI 기반 접근법은 날짜가 여러 형식으로 표현된 복잡한 데이터 워글링 작업에서 FlashFill를 능가했으며, FlashFill는 맥락 지식 부족으로 실패했다.
  • 벤치마크의 18개 데이터셋 중 17개에서 정확한 프로그램을 성공적으로 합성했으며, 모호한 날짜 형식이나 비표준 구두점과 같은 도전적인 케이스도 처리했다.
  • 단일 예시만으로도 테스트한 모든 도메인에서 높은 정확도를 달성했으며, 이는 도메인 특화 배경 지식이 합성 과정을 안내하는 데 효과적임을 보여준다.
  • 기능적 프로그래밍과 도메인 특화 라이브러리의 통합은 깊이(d)가 낮은, 간결하고 인간이 읽기 쉬운 프로그램을 가능하게 했으며, 이는 효율적이고 압축된 솔루션을 의미한다.
  • 공개된 벤치마크 저장소(https://github.com/liconoc/DataWrangling-DSI)는 향후 데이터 워글링 도구 평가를 위한 재사용 가능하고 잘 문서화된 데이터셋을 제공한다.
  • 이 접근법은 확장 가능하다: 사용자는 일반 목적의 기능적 언어로 새로운 도메인 파일을 정의함으로써 시스템의 재설계 없이도 새로운 데이터 유형에 적응할 수 있다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.