업무상 해결해야 하는 난제가 있는데, 이것을 해결하기 위한 아이디어 하나.

0
1452

예전 시스템에서 제공하던 데이터 세트들이 있었습니다. 이 세트들을 공공데이터 차원에서 어떤 기관에 중앙으로 제공해 왔는데 시스템 개편으로 이 작업이 중단되었습니다. 이것을 다시 해결하려면 수많은 허들을 넘어야 합니다. 기술의 문제라기 보다는 협의와 협업의 문제가 훨씬 더 큰 상황입니다.

기존에는 기관마다 데이터 전송을 위한 API를 만들어서 이를 수집한 후에 데이터를 정리해서 우리 시스템에 넣는 방법을 사용했습니다. 이 작업을 위해 수많은 협의와 개발의 과정을 거쳐 정착했었는데 그 정보의 양과 질이 별로 좋지 못했다고 생각합니다. 이 작업을 다시 하려니 막막해서 아이디어를 하나 내서 진행하려고 고민 중입니다. 업무상 보안을 요구하는 일이 아니기 때문에 생각의 흐름을 정리한 것을 올려봅니다. 비슷한 고민을 하는 분들은 참고 하시길.

<해결할 문제> 흩어져 있는 각각의 정보를 수집하고 정리해서 다시 다른 곳으로 전달해야 함

<허들> 각 기관별로 정보를 제공하는 방식이 다르고, 데이터를 주고받기 위한 조치를 각 기관별로 다시 요청한 후에 진행해야 함

<해결 아이디어>
1. 수집 : 웹크롤러
2. 1차 정리 : 웹크롤러의 자체 기능
3. 분류 : 머신러닝(혹은 딥러닝)
4. 2차 정리 : 자체 xml 규격으로
5. 배포 : rss 규격으로
6. 공공데이터용 전송 : 해당 기관 규격으로

1을 위해서는 웹크롤러가 필요한데 이미 있고 라이센스 연장 확인해 봐야 합니다. 제품은 공개할 수 없지만 크롤러로는 많이들 사용하는 제품인 것 같습니다. 제품 소개에는 지능형으로 뭐시기를 한다고 써 있지만 그 지능을 그다지 신뢰하지 않는지라 실제 분류는 머신러닝(혹은 딥러닝)으로 처리하려고 합니다.

2도 라이센스 확보되면 솔루션 차원에서 1차 필터링은 할 수 있을 것 같습니다.

3이 중요합니다. 최종 분류 작업은 머신러닝(혹은 딥러닝)으로 진행하면 효율이 좋을 것 같더군요. 딥러닝과 머신러닝의 차이는 사람이 학습하는 정도의 차이가 있는 것 같더군요. 사람의 개입이 최소화되면 딥러닝으로, 사람이 앞단에서 학습에 적극적으로 개입하면 머신러닝을 사용하는 것 같습니다. 복잡한 데이터가 아니기 때문에 분류에 대한 부분을 머신에게 학습시켜서 반복작업을 하면 되기 때문에 머신러닝이 적합해 보입니다. 단, 크롤링 데이터가 변경되면 사람이 또 손을 대야하기 때문에 어느 순간에는 알아서 돌 수 있도록 딥러닝을 적용할 여지를 남겨 놓아야 할 것 같습니다.

4에서는 분류된 데이터를 xml 규격으로 정리합니다. 이렇게 정리한 데이터를 5와 같이 외부에 배포할 때에는 rss로 합니다. 그러면 쉽고 간단하게 가지고 가서 활용할 수 있을테니까요.

공공데이터용으로 다른 수집 기관에 6과 같이 전송할 때는 그 기관에 규격으로 보내면 될 것 같습니다.

핵심은 3입니다. 머신러닝으로 분류처리를 하도록 하면 기관별로 협조요청해서 ‘규격이 바뀌었으니 새롭게 API에 적용해 주세요.’ 등과 같이 요청할 일이 줄어들기 때문에 행정처리를 위한 일정이 줄어들 수 있습니다. 게다가 기관들도 별도로 할 일이 없기 때문에 기관들도 굳이 마다하지 않을 것 같습니다. 올해 안에 처리를 해야할 것 같은데 이를 위한 검토를 진행한 후 진행 일정을 잡아봐야겠습니다. 머신러닝의 효과를 직접적으로 본 적이 없기 때문에 아직은 가설에 불과합니다. 제대로 된다면 획기적으로 업무 공수를 줄일 수 있겠네요. 만약 이 작업이 성공적으로 마무리된다면 평생학습 통계 데이터를 수집하는데에 획기적인 전기를 마련할 수 있을 듯 합니다. 이 내용은 나중에.