DB 관리 언어 SQL 몰라도 쿼리 짤 수 있다

세일즈포스 AI연구소, 자연어→SQL 전환 시스템 개발

컴퓨팅입력 :2017/08/31 10:13    수정: 2017/08/31 10:30

프로그래밍을 전혀 모르는 사람도 데이터베이스(DB)에 정보를 요청하는 ‘쿼리’를 짤 수 있게 될 전망이다. 미국 소프트웨어(SW) 업체 세일즈포스가 말(자연어)로 질문하면 DB 관리 프로그래밍 언어인 ‘SQL’로 전환해 주는 시스템을 개발 중이다.

29일(현지시간) 세일즈포스는 AI 연구소 조직을 통해 자연어 요청을 SQL로 바꿔주는 ‘Seq2SQL’라는 새로운 시스템에 대한 연구 보고서(☞관련링크)를 공개했다.

보고서에 따르면 Seq2SQL을 이용하면 예컨대 “오레곤주 고객이 몇 명이나 되지?”라고 말로 질문할 수 있고, 이 시스템은 DB에서 답을 찾아 결과를 보여준다.

다소 쉬운 질문처럼 보이지만, 이 같은 작업을 정확하게 수행할 수 있게 머신러닝(기계학습) 시스템을 훈련시키는 일은 매우 고난도의 일이다. 한 가지 질문에도 복수의 ‘정확한’ 쿼리가 존재할 수 있기 때문이다. 실제 개발자들이 쿼리를 작성할 때도 같은 요청을 다른 두 세가지의 쿼리로 만들 수 있다.

마크 베니오프 세일즈포스 CEO

세일즈포스 AI연구소는 강화학습을 적용해 이 문제를 해결했다. 강화학습이란 한 머신러닝 시스템이 도출한 결과가 올바른지 다른 머신러닝 시스템이 평가하고, 그 과정을 통해 자기 시스템의 성능을 더 개선하는 방식이다.

세일즈포스는 또 위키SQL(WikiSQL)이라는 데이터세트도 함께 공개했다. 데이터 과학자들은 이 데이터 세트를 이용해 자연어쿼리를 DB 콘텐츠와 연결하기 위한 훈련에 사용할 수 있다.

위키SQL은 위키피디아에서 테이블을 추출해 구축한 데이터 세트다. 세일즈포스는 위키피디아에서 추출한 데이터를 머신러닝 시스템 훈련에 사용할 수 있도록 라벨링하기 위해 아마존메케니컬테크를 활용했다. 아마존메케니컬테크는 불특정 다수의 노동력을 클라우드소싱할 수 있는 사이트다.

관련기사

공개된 위키SQL을 활용하면 Seq2SQL과 유사한 다른 시스템을 만드는 일도 가능하다.

SQL을 몰라도 쿼리를 만들 수 있는 시스템이 실제 등장하고 확산되면, 사내 현업 부서의 자율성이 보다 높아질 것으로 예상된다. 지금까지 현업 부서 직원들은 사내 IT부서 SQL전문가들에게 쿼리를 만들어 달라고 요청해야 했다.