KR102294364B1 - 인공지능 기반 문서 자동 변환 시스템 및 그 방법 - Google Patents

인공지능 기반 문서 자동 변환 시스템 및 그 방법 Download PDF

Info

Publication number
KR102294364B1
KR102294364B1 KR1020210066286A KR20210066286A KR102294364B1 KR 102294364 B1 KR102294364 B1 KR 102294364B1 KR 1020210066286 A KR1020210066286 A KR 1020210066286A KR 20210066286 A KR20210066286 A KR 20210066286A KR 102294364 B1 KR102294364 B1 KR 102294364B1
Authority
KR
South Korea
Prior art keywords
document
server
data set
terminal
vocabulary
Prior art date
Application number
KR1020210066286A
Other languages
English (en)
Inventor
김희대
Original Assignee
김희대
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 김희대 filed Critical 김희대
Priority to KR1020210066286A priority Critical patent/KR102294364B1/ko
Application granted granted Critical
Publication of KR102294364B1 publication Critical patent/KR102294364B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/116Details of conversion of file system types or formats
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/316Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/3332Query translation
    • G06F16/3334Selection or weighting of terms from queries, including natural language queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/93Document management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/174Form filling; Merging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 인공지능 기반 문서 자동 변환 시스템 및 그 방법을 개시한다. 즉, 본 발명은 사용자로부터 업로드된 파일 형태의 문서를 사용자 정의 문서 변환 모델에 적용하여 데이터 처리 기법에 따라 오류 데이터를 별도로 분리하여 다시금 학습 및 테스트를 정확히 수행하여 운영자가 원하는 문서 양식으로 변환함으로써, 이력서의 경우에는 이력서 양식이 이력서 작성자마다 제각각인 이력서 양식을 하나의 문서로 통일시켜 작성 가능하므로, 작성자의 입장에서는 사이트마다 매번 이력서를 작성하는 수고로움없이, 자신이 가지고 있는 문서 양식을 특정 플랫폼에 업로드하면 자동으로 플랫폼에서 요구하는 문서 양식으로 이력서를 작성하여 주므로, 문서 양식에 맞추어 문서를 구성하는 수고로움을 덜고 그 시간에 다른 업무에 집중할 수 있다.

Description

인공지능 기반 문서 자동 변환 시스템 및 그 방법{System for automatically converting document based on artificial intelligence and method thereof}
본 발명은 인공지능 기반 문서 자동 변환 시스템 및 그 방법에 관한 것으로서, 특히 사용자로부터 업로드된 파일 형태의 문서를 사용자 정의 문서 변환 모델에 적용하여 데이터 처리 기법에 따라 오류 데이터를 별도로 분리하여 다시금 학습 및 테스트를 정확히 수행하여 운영자가 원하는 문서 양식으로 변환하는 인공지능 기반 문서 자동 변환 시스템 및 그 방법에 관한 것이다.
현재의 구인구직 사이트 온라인플랫폼은 웹사이트에 후보자가 개인정보를 직접 기재하여 데이터를 정형화한 후, 데이터베이스에 저장한다.
이러한 방식은 후보자마다 각기 다른 문서 포맷 및 양식이 천차만별이기에 데이터를 통일화 및 정형화하기 위한 사전 작업이다.
이것은 후보자로 하여금 자신이 기존에 가지고 있던 이력서와는 별도로 새롭게 기입하는 시간적, 노력적 낭비가 추가로 발생한다.
그리고 후보자가 지원하는 회사가 매번 다르므로, 다시금 지원하는 회사 이력서 양식에 맞추어 작성하여야 하고, 한편, 헤드헌터를 통하여 지원하는 경력자의 경우에는 각 서치펌마다의 이력서 양식이 달라서 후보자는 물론이거니와 헤드헌터의 입장에서도 매번 약간의 변경작업 혹은 헤드헌터 자신이 속한 서치펌의 양식에 맞게 새롭게 작성을 하여야 하는 번거로움이 따른다.
이러한 불편하고 비효율적인 방법은 자동화(Robotics Process Automation: RPA)가 이뤄져 있지 않은 이유이고, 자동화가 이루워지지 않은 이유의 원인은 다양한 문서포맷과 무한대에 가까운 문서양식(비구조적/비정형화된 데이터)을 포함하는 문서들이 많기에, 이를 운영자 자신이 원하는 양식으로 변환하고자 하는 경우, 새롭게 데이터 포맷의 정립 및 정형화, 새로운 프로세스에 적용할 때에는 새롭게 데이터셋 및 프로세스를 고안하여 새로운 알고리즘으로 개발하여야 하는 기술적인 한계를 보인다.
이러한 문제점을 조금 더 자세히 살펴보면, 현재의 RPA는 문서양식에서 특정 키워드를 추출할 때에는 동일 키워드의 경우, 어느 문구 부분에서 분리를 하여야 하는지 불분명한 매우 크리티컬한 문제가 발생한다. 다시 말하면, 어느 문구 부분에서 읽어내어야 하는지 정확히 결정되지 않을 경우 문서는 일부 내용이 잘리거나 원하는 문서의 부위를 읽어내지 못하는 크리티컬한 문제가 발생한다.
또한, 이러한 문제를 해결하기 위해서는 이전 단계에서 학습한 경험치를 포함하는 인공지능을 도입하여 인지/추론형 RPA로써 사람의 의사결정을 대신하여 해결하여야 하나, 현재의 인공지능 또한 원하는 키워드에 해당하는 문구의 시작 위치와 마지막 위치를 정확히 파악하는데 한계점을 포함한다.
이러한 인공지능의 도입으로 인한 한계의 원인은 다음과 같다.
인공지능은 반드시 대용량의 데이터를 필수적으로 필요로 한다. 이에 따른 문제점 중의 하나는 현재의 인공지능은 대용량의 통계를 기반으로 작동하기에, 태생적, 원천적으로 오류를 포함한다.
또한, 또 다른 원인으로는 문서 한 장의 비정형화된 매우 적은 양의 데이터로부터 정형화된 피처명(특징을 나타내는 어휘)을 정확하게 예측/추출/분리하는 것은 현실적으로 한계점이 있다.
다시 말하면, 이러한 한계점의 원인으로는 인공지능은 여러 피처명을 포함하는 무수히 많은 문서(데이터)로부터 필요로 하는 특정 피처명을 추출하는 방식에 기인한다.
따라서, 소량의 즉, 1장의 문서로부터 특정 피처명을 추출하는 것은 현실적으로 불가능에 가깝다.
또 다른 추가적인 이유로는 일명 <차원의 저주>에 기인하는 것으로서, 피처명이 수십 개인 경우 기존에 공개되어진 인공지능 알고리즘은 피처명을 운영자가 원하는 카테고리별로 올바르게 분류하지 못하고 오류를 포함하여 오작동을 한다. 즉, 분류를 정확히 하지 못한다.
이는 피처명이 적은 수이면서, 동시에 문서량이 무수히 많으면 잘 작동하지만 1장의 문서에서는 이러한 조건을 만족할 수 있는 가정 자체가 성립되지 않기 때문이다.
한국등록특허 제10-1790727호 [제목: 문서 형식 자동 변환 시스템 및 방법]
본 발명의 목적은 사용자로부터 업로드된 파일 형태의 문서를 사용자 정의 문서 변환 모델에 적용하여 데이터 처리 기법에 따라 오류 데이터를 별도로 분리하여 다시금 학습 및 테스트를 정확히 수행하여 운영자가 원하는 문서 양식으로 변환하는 인공지능 기반 문서 자동 변환 시스템 및 그 방법을 제공하는 데 있다.
본 발명의 실시예에 따른 인공지능 기반 문서 자동 변환 시스템은 파일 형태의 문서를 서버에 업로드하고, 상기 문서의 업로드에 따라 상기 서버로부터 전송되는 접수번호를 수신 및 표시하는 단말; 및 상기 업로드된 문서를 운영자가 미리 설정한 문서 양식에 따라 변환하는 상기 서버를 포함할 수 있다.
본 발명과 관련된 일 예로서 상기 서버는, 운영자 입력에 따라 운영자 자신이 원하는 문서 양식의 타이틀과 하나 이상의 키워드를 입력받아 저장하는 키워드 입력부; 상기 입력받은 하나 이상의 키워드를 데이터베이스의 칼럼명으로 1:1로 매핑하는 매핑 변환부; 상기 매핑된 키워드를 읽어내어 피처명(feature name)을 추출하는 피처명 추출부; 상기 추출된 피처명을 사용해서 상기 운영자 자신이 원하는 문서 양식에 맞추어 상기 단말에서 업로드한 문서를 자동 변환하는 문서 자동 변환 생성부; 및 상기 자동 변환한 문서의 내용 및 미리 설정된 프레임워크를 사용하여 구성한 화면을 상기 단말에 제공하는 문서 표출부를 포함할 수 있다.
본 발명과 관련된 일 예로서 상기 문서 자동 변환 생성부는, 상기 업로드된 문서를 미리 설정된 시간 단위로 읽는 데몬부; 상기 읽은 문서에 포함된 데이터에 대해서 전처리 기능을 수행하는 전처리부; 로딩된 데이터 사전 리스트로부터 피처명에 대응하는 데이터를 읽고, 상기 읽은 피처명에 대응하는 데이터와 상기 전처리된 문서의 특징값을 병합하는 데이터딕셔너리 처리부; 및 상기 병합된 데이터 중 새롭게 학습시킬 데이터 셋인 새로운 데이터 셋을 구성하고, 상기 구성된 새로운 데이터 셋에 포함된 각 어휘별로 분류에 사용할 임의의 특정 번호를 설정하고, 상기 구성된 새로운 데이터 셋을 입력값으로 미리 설정된 방식에 따른 기계 학습을 수행하여, 기계 학습 수행에 따른 결과값을 생성하고, 상기 새로운 데이터 셋에 대한 기계 학습 수행에 따른 결과값과 상기 구성된 새로운 데이터 셋에 포함된 각 어휘별로 설정한 특정 번호가 같은지 여부를 확인하고, 상기 확인 결과, 상기 새로운 데이터 셋에 대한 기계 학습 수행에 따른 결과값과 상기 구성된 새로운 데이터 셋에 포함된 각 어휘별로 설정한 특정 번호가 같을 때, 기계 학습 수행에 따른 결과값을 상기 어휘와 관련한 분류값으로 설정하고, 상기 업로드된 문서의 포맷의 종류와 문서의 양식을 조합하여 사용자 정의 문서 변환 모델을 생성하고, 상기 생성된 문서 변환 모델을 사용하여 상기 업로드된 원본 문서로부터 상기 새로운 데이터 셋에 해당하는 하나 이상의 문장을 각각 추출하고, 상기 추출된 하나 이상의 어휘에 대응하는 하나 이상의 문장을 확인 및 정리하는 예측 분류부를 포함할 수 있다.
본 발명과 관련된 일 예로서 상기 예측 분류부는, 상기 확인 결과, 상기 새로운 데이터 셋에 대한 기계 학습 수행에 따른 결과값과 상기 구성된 새로운 데이터 셋에 포함된 각 어휘별로 설정한 특정 번호가 다를 때, 재학습을 수행하여, 정확도가 미리 설정된 기준값 이상일 때까지 학습 과정을 반복 수행할 수 있다.
본 발명과 관련된 일 예로서 상기 예측 분류부는, 검증받은 새로운 데이터 셋을 근거로 키워드를 추출할 데이터프레임 기본셋을 구성하고, 상기 구성된 데이터프레임 기본셋을 사용하여 특정 키워드에 해당하는 글자의 시작 위치 및 종료 위치를 근거로 원본 문서로부터 상기 새로운 데이터 셋에 포함된 하나 이상의 어휘에 대응하는 하나 이상의 문장을 각각 추출할 수 있다.
본 발명과 관련된 일 예로서 상기 문서 자동 변환 생성부는, 데이터베이스 서버와 연동하여, 상기 추출된 하나 이상의 문장을 데이터베이스에 저장하는 인공지능 처리부를 더 포함할 수 있다.
본 발명과 관련된 일 예로서 상기 데이터딕셔너리 처리부는, 상기 새로운 데이터 셋을 상기 데이터 사전 리스트에 추가할 수 있다.
본 발명의 실시예에 따른 인공지능 기반 문서 자동 변환 방법은 단말에 의해, 파일 형태의 문서를 서버에 업로드하는 단계; 상기 단말에 의해, 상기 문서의 업로드에 따라 상기 서버로부터 전송되는 접수번호를 수신 및 표시하는 단계; 상기 서버에 의해, 상기 업로드된 문서를 미리 설정된 시간 단위로 읽는 단계; 상기 서버에 의해, 상기 읽은 문서에 포함된 데이터에 대해서 전처리 기능을 수행하는 단계; 상기 서버에 의해, 상기 전처리된 문서를 운영자가 미리 설정한 문서 양식에 따라 변환하는 단계; 및 상기 서버에 의해, 운영자가 미리 설정한 문서 양식으로 변환된 상기 전처리된 문서를 데이터베이스에 저장하는 단계를 포함할 수 있다.
본 발명과 관련된 일 예로서 상기 전처리된 문서를 운영자가 미리 설정한 문서 양식에 따라 변환하는 단계는, 로딩된 데이터 사전 리스트로부터 피처명에 대응하는 데이터를 읽는 과정; 상기 읽은 피처명에 대응하는 데이터와 상기 전처리된 문서의 특징값을 병합하는 과정; 상기 병합된 데이터 중 새롭게 학습시킬 데이터 셋인 새로운 데이터 셋을 구성하는 과정; 상기 구성된 새로운 데이터 셋에 포함된 각 어휘별로 분류에 사용할 임의의 특정 번호를 설정하는 과정; 상기 구성된 새로운 데이터 셋을 입력값으로 미리 설정된 방식에 따른 기계 학습을 수행하여, 기계 학습 수행에 따른 결과값을 생성하는 과정; 상기 새로운 데이터 셋에 대한 기계 학습 수행에 따른 결과값과 상기 구성된 새로운 데이터 셋에 포함된 각 어휘별로 설정한 특정 번호가 같은지 여부를 확인하는 과정; 상기 확인 결과, 상기 새로운 데이터 셋에 대한 기계 학습 수행에 따른 결과값과 상기 구성된 새로운 데이터 셋에 포함된 각 어휘별로 설정한 특정 번호가 다를 때, 재학습을 수행하여, 정확도가 미리 설정된 기준값 이상일 때까지 학습 과정을 반복 수행하는 과정; 상기 확인 결과, 상기 새로운 데이터 셋에 대한 기계 학습 수행에 따른 결과값과 상기 구성된 새로운 데이터 셋에 포함된 각 어휘별로 설정한 특정 번호가 같을 때, 기계 학습 수행에 따른 결과값을 상기 어휘와 관련한 분류값으로 설정하는 과정; 상기 업로드된 문서의 포맷의 종류와 문서의 양식을 조합하여 사용자 정의 문서 변환 모델을 생성하는 과정; 상기 생성된 문서 변환 모델을 사용하여 상기 업로드된 원본 문서로부터 상기 새로운 데이터 셋에 해당하는 하나 이상의 문장을 각각 추출하는 과정; 및 상기 추출된 하나 이상의 어휘에 대응하는 하나 이상의 문장을 확인 및 정리하는 과정을 포함할 수 있다.
본 발명과 관련된 일 예로서 상기 업로드된 문서에 대한 변환이 완료될 때, 상기 단말에 의해, 상기 서버로부터 전송되는 상기 문서에 대한 변환 작업이 완료된 상태임을 나타내는 정보 및 변환 작업이 완료된 데이터를 확인하기 위한 랜딩 페이지 정보를 표시하는 단계; 상기 단말에 표시되는 랜딩 페이지 정보가 선택될 때, 상기 단말에 의해, 상기 서버와 연동하여, 상기 랜딩 페이지 정보에 대응하는 랜딩 페이지에 접속하는 단계; 및 상기 단말에 의해, 상기 업로드한 문서와 관련해서 제공받은 접수번호를 이용해서, 상기 데이터베이스에 저장된 하나 이상의 문장을 미리 설정된 프레임워크를 사용하여 화면에 표시하는 단계를 더 포함할 수 있다.
본 발명은 사용자로부터 업로드된 파일 형태의 문서를 사용자 정의 문서 변환 모델에 적용하여 데이터 처리 기법에 따라 오류 데이터를 별도로 분리하여 다시금 학습 및 테스트를 정확히 수행하여 운영자가 원하는 문서 양식으로 변환함으로써, 이력서의 경우에는 이력서 양식이 이력서 작성자마다 제각각인 이력서 양식을 하나의 문서로 통일시켜 작성 가능하므로, 작성자의 입장에서는 사이트마다 매번 이력서를 작성하는 수고로움 없이, 자신이 가지고 있는 문서 양식을 특정 플랫폼에 업로드하면 자동으로 플랫폼에서 요구하는 문서 양식으로 이력서를 작성하여 주므로, 문서 양식에 맞추어 문서를 구성하는 수고로움을 덜고 그 시간에 다른 업무에 집중할 수 있고, 온라인 구인구직 사이트의 경우 정형화된 데이터를 활용하여 구직자 또는 구인자 검색시 더욱더 정교하고 정확한 매칭률 프로그램을 만드는 데 기여하며, 개인의 프로파일을 활용하여 진행하는 플랫폼 사업의 경우 이력서를 자동 생성 변환시켜 주는 새로운 비즈니스 모델을 도입할 수 있고, 플랫폼을 운영하는 회사의 입장에서는 비정형화 및 비구조화된 데이터가 자연스럽게 정형화 및 구조화된 뒤, 데이터베이스에 저장되므로, 정형화 및 구조화된 데이터를 활용하여 데이터분석, 모델링, 예측 등 다양한 분야에서 추가 기능에 직접 활용할 수 있고, 의사결정까지 가능한 RPA(Robotics Process Automation)가 가능하도록 하게 하는 원천 기술의 단초 역할을 하고, 적은 정보량을 가지고도 정확한 예측 분류가 가능한 인공지능의 완성을 위한 특징을 제공할 수 있는 효과가 있다.
도 1은 본 발명의 실시예에 따른 인공지능 기반 문서 자동 변환 시스템의 구성을 나타낸 블록도이다.
도 2는 본 발명의 실시예에 따른 서버의 구성을 나타낸 블록도이다.
도 3 내지 도 4는 본 발명의 실시예에 따른 인공지능 기반 문서 자동 변환 방법을 나타낸 흐름도이다.
도 5는 본 발명의 실시예에 따른 데이터 사전의 예를 나타낸 도이다.
도 6은 본 발명의 실시예에 따른 전처리된 문서의 예를 나타낸 도이다.
도 7은 본 발명의 실시예에 따른 변환된 내용을 포함하는 화면의 예를 나타낸 도이다.
본 발명에서 사용되는 기술적 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 발명에서 사용되는 기술적 용어는 본 발명에서 특별히 다른 의미로 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 발명에서 사용되는 기술적인 용어가 본 발명의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는 당업자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다. 또한, 본 발명에서 사용되는 일반적인 용어는 사전에 정의되어 있는 바에 따라, 또는 전후 문맥상에 따라 해석되어야 하며, 과도하게 축소된 의미로 해석되지 않아야 한다.
또한, 본 발명에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함한다. 본 발명에서 "구성된다" 또는 "포함한다" 등의 용어는 발명에 기재된 여러 구성 요소들 또는 여러 단계를 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.
또한, 본 발명에서 사용되는 제 1, 제 2 등과 같이 서수를 포함하는 용어는 구성 요소들을 설명하는데 사용될 수 있지만, 구성 요소들은 용어들에 의해 한정되어서는 안 된다. 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제 1 구성 요소는 제 2 구성 요소로 명명될 수 있고, 유사하게 제 2 구성 요소도 제 1 구성 요소로 명명될 수 있다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
또한, 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 발명의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 발명의 사상이 제한되는 것으로 해석되어서는 아니 됨을 유의해야 한다.
도 1은 본 발명의 실시예에 따른 인공지능 기반 문서 자동 변환 시스템(10)의 구성을 나타낸 블록도이다.
도 1에 도시한 바와 같이, 인공지능 기반 문서 자동 변환 시스템(10)은 데이터베이스 서버(100), 서버(200) 및 단말(300)로 구성된다. 도 1에 도시된 인공지능 기반 문서 자동 변환 시스템(10)의 구성 요소 모두가 필수 구성 요소인 것은 아니며, 도 1에 도시된 구성 요소보다 많은 구성 요소에 의해 인공지능 기반 문서 자동 변환 시스템(10)이 구현될 수도 있고, 그보다 적은 구성 요소에 의해서도 인공지능 기반 문서 자동 변환 시스템(10)이 구현될 수도 있다.
상기 데이터베이스 서버(100) 및 상기 서버(200)는 웹 서버, 데이터베이스 서버, 프록시 서버 등의 형태로 구현될 수 있다. 또한, 상기 데이터베이스 서버(100) 및 상기 서버(200)에는 네트워크 부하 분산 메커니즘, 내지 해당 데이터베이스 서버(100) 및 서버(200)가 인터넷 또는 다른 네트워크상에서 동작할 수 있도록 하는 다양한 소프트웨어 중 하나 이상이 설치될 수 있으며, 이를 통해 컴퓨터화된 시스템으로 구현될 수 있다. 또한, 네트워크는 http 네트워크일 수 있으며, 전용 회선(private line), 인트라넷 또는 임의의 다른 네트워크일 수 있다. 나아가, 상기 데이터베이스 서버(100), 상기 서버(200) 및 상기 단말(300) 간의 연결은 데이터가 임의의 해커 또는 다른 제3자에 의한 공격을 받지 않도록 보안 네트워크로 연결될 수 있다. 또한, 상기 데이터베이스 서버(100) 및 상기 서버(200)는 복수의 데이터베이스 서버를 포함할 수 있으며, 이러한 데이터베이스 서버가 분산 데이터베이스 서버 아키텍처를 비롯한 임의의 유형의 네트워크 연결을 통해 상기 데이터베이스 서버(100) 및 상기 서버(200)와 별도로 연결되는 방식으로 구현될 수 있다.
상기 단말(300)은 스마트폰(Smart Phone), 휴대 단말기(Portable Terminal), 이동 단말기(Mobile Terminal), 폴더블 단말기(Foldable Terminal), 개인 정보 단말기(Personal Digital Assistant: PDA), PMP(Portable Multimedia Player) 단말기, 텔레매틱스(Telematics) 단말기, 내비게이션(Navigation) 단말기, 개인용 컴퓨터(Personal Computer), 노트북 컴퓨터, 슬레이트 PC(Slate PC), 태블릿 PC(Tablet PC), 울트라북(ultrabook), 웨어러블 디바이스(Wearable Device, 예를 들어, 워치형 단말기(Smartwatch), 글래스형 단말기(Smart Glass), HMD(Head Mounted Display) 등 포함), 와이브로(Wibro) 단말기, IPTV(Internet Protocol Television) 단말기, 스마트 TV, 디지털방송용 단말기, AVN(Audio Video Navigation) 단말기, A/V(Audio/Video) 시스템, 플렉시블 단말기(Flexible Terminal), 디지털 사이니지 장치 등과 같은 다양한 단말기에 적용될 수 있다.
상기 데이터베이스 서버(100), 상기 서버(200) 및 상기 단말(300) 각각은 다른 단말들과의 통신 기능을 수행하기 위한 통신부(미도시), 다양한 정보 및 프로그램(또는 애플리케이션)을 저장하기 위한 저장부(미도시), 다양한 정보 및 프로그램 실행 결과를 표시하기 위한 표시부(미도시), 상기 다양한 정보 및 프로그램 실행 결과에 대응하는 음성 정보를 출력하기 위한 음성 출력부(미도시), 각 단말의 다양한 구성 요소 및 기능을 제어하기 위한 제어부(미도시) 등을 포함할 수 있다.
상기 데이터베이스 서버(또는 데이터베이스)(100)는 상기 서버(200), 상기 단말(300) 등과 통신한다.
또한, 상기 데이터베이스 서버(100)는 상기 서버(200)와 연동하여, 해당 서버(200)에서 운영자가 설정한 문서 양식(또는 해당 서버(200)에서 관리하는 최종 문서 양식)에 따른 미리 설정된 복수의 칼럼명 및 관련 셀로 구성된 데이터베이스(미도시)를 관리(또는 저장)한다. 여기서, 상기 복수의 칼럼명은 운영자(또는 설계자)의 설계에 따라 다양하게 설정될 수 있으며, 성명 항목, 주민등록번호 항목, 출생년도 항목, 경력기간 항목, 성별 항목, 결혼여부 항목, 주소 항목, 핸드폰번호 항목, 이메일 항목, 운전면허증 항목, 지원분야 항목, 희망근무지 항목, 주요수행업무 항목, 핵심역량 항목, 사용가능툴 항목, 학력 항목, 고교과정 항목, 전문대 항목, 학사과정 항목, 석사과정 항목, 박사과정 항목, 회사명 항목 등을 포함한다.
즉, 상기 데이터베이스 서버(100)는 상기 서버(200)와 연동하여, 가변적인 피처명과 1:N으로 매핑되는 필드명을 데이터베이스에 생성한다. 여기서, 상기 N은 자연수일 수 있다.
예를 들어, 상기 데이터베이스 서버(100)는 피처명인 영문 키워드(일 예로 feature_name)와 하나 이상의 필드명(또는 내용)(예를 들어 성명, 성 명, 이름, 이 름 등 포함)과 분류값(예를 들어 feature_num, feature_num_original 등 포함)을 포함하는 데이터 사전을 엑셀 파일 형태로 생성하고, 상기 생성된 엑셀 파일 형태의 데이터 사전(또는 데이터 사전 리스트)을 상기 데이터베이스에 생성한다.
상기 서버(200)는 상기 데이터베이스 서버(100), 상기 단말(300) 등과 통신한다.
또한, 상기 서버(200)는 상기 단말(300) 등의 사용자에 대한 회원 가입 절차 등을 수행한다.
또한, 상기 서버(200)는 상기 단말(300) 등의 사용자와 관련한 개인 정보를 등록한다. 이때, 상기 서버(200)는 해당 개인 정보, 해당 개인정보 취급 동의 정보 등을 DB 서버(미도시)에 등록(또는 관리)할 수 있다.
또한, 상기 서버(200)는 상기 단말(300) 등의 사용자에 대한 회원 관리 기능을 수행한다.
또한, 상기 서버(200)는 문서(또는 파일) 업로드 기능, 변환된 내용 확인 기능 등을 제공하는 전용 앱 및/또는 웹 사이트를 상기 단말(300) 등에 제공한다.
또한, 상기 서버(200)는 공지사항, 이벤트 등을 위한 게시판 기능을 제공한다.
또한, 상기 서버(200)는 상기 단말(300)로부터 문서가 업로드되는 경우, 해당 업로드된 문서와 관련한 접수번호(또는 고유 접수번호)를 생성하고, 상기 생성된 접수번호를 상기 단말(300)에 전송한다. 이때, 상기 서버(200)는 상기 접수번호뿐만 아니라, 접수일자 및 시각 정보 등을 해당 단말(300)의 사용자와 관련한 메일 주소, 문자메시지, 카카오톡 등의 형태로 상기 단말(300)에 제공할 수 있다.
도 2에 도시한 바와 같이, 상기 서버(200)는 키워드 입력부(210), 매핑 변환부(220), 피처명 추출부(230), 문서 자동 변환 생성부(240) 및 문서 표출부(250)로 구성된다. 도 2에 도시된 서버(200)의 구성 요소 모두가 필수 구성 요소인 것은 아니며, 도 2에 도시된 구성 요소보다 많은 구성 요소에 의해 서버(200)가 구현될 수도 있고, 그보다 적은 구성 요소에 의해서도 서버(200)가 구현될 수도 있다.
또한, 상기 도 2에 도시한 바와 같이, 상기 문서 자동 변환 생성부(240)는 데몬부(241), 전처리부(242), 데이터딕셔너리 처리부(243), 예측 분류부(244) 및 인공지능 처리부(245)로 구성된다.
상기 키워드 입력부(210)는 운영자(또는 온라인 플랫폼 사업자) 입력(또는 운영자 선택/터치/제어)에 따라 해당 운영자 자신이 원하는 문서 양식의 타이틀과 하나 이상의 키워드를 입력받아 저장한다.
상기 매핑 변환부(220)는 상기 입력받은 하나 이상의 키워드를 상기 데이터베이스의 칼럼명(또는 피처명)으로 1:1로 매핑한다.
상기 피처명 추출부(230)는 상기 매핑 변환부(220)에서 매핑된(또는 생성된) 키워드를 읽어내어 피처명(feature name)을 추출한다.
상기 문서 자동 변환 생성부(240)는 상기 추출된 피처명을 사용해서 상기 운영자 자신이 원하는 문서 양식에 맞추어 상기 단말(300)에서 업로드한 임의의 문서를 자동 변환한다.
즉, 상기 데몬부(241)는 상기 단말(300)로부터 업로드된 문서를 해당 서버(200)에 미리 설치된 데몬 프로그램을 이용해서 미리 설정된 시간 단위(예를 들어 1분, 5분 등 포함)로 읽는다.
상기 전처리부(242)는 상기 읽어온 문서에 포함된 데이터(또는 정보)에 대해서 전처리 기능을 수행한다.
즉, 상기 전처리부(242)는 상기 읽어온 문서에 포함된 데이터 중에서 미리 설정된 가비지(garbage) 데이터를 정제(또는 삭제/필터링)한다.
상기 데이터딕셔너리 처리부(243)는 운영자가 설정한 문서 양식(또는 해당 서버(200)에서 관리하는 최종 문서 양식)에 따라 엑셀 파일 형태로 미리 생성된 데이터 사전으로부터 영문 키워드에 해당하는 피처명(feature_name: 피처 네임), 한글 리스트에 해당하는 내용(또는 데이터 사전에서 피처명별 내용), 분류값 등을 읽어들인 후, 해당 서버(200)에 구성된 메모리(미도시)에 로딩한다. 여기서, 상기 데이터 사전(또는 데이터 사전 리스트)은 항목별 특징의 내용을 정의하기 위한 피처명(feature_name) 항목, 인공지능 학습에 사용하기 위해서 임시 부여하는 번호를 포함하는 피처 번호(feature_num) 항목, 피처명과 고유 번호(또는 고유 정보)를 1:1로 매핑하기 위한 피처 번호 오리지널(feature_num_original) 항목 등으로 구성한다. 또한, 상기 분류값은 피처 번호, 피처 번호 오리지널 등을 포함한다.
또한, 상기 데이터딕셔너리 처리부(243)는 상기 로딩된 데이터 사전 리스트로부터 피처명에 대응하는 데이터(예를 들어 엑셀 파일 형태의 데이터 사전 리스트에서 feature_name에 대응하는 항목 내의 데이터/한글 리스트에 해당하는 내용)를 읽는다(또는 로딩한다).
또한, 상기 데이터딕셔너리 처리부(243)는 상기 전처리된 문서의 특징값을 생성(또는 확인)한다. 여기서, 상기 전처리된 문서의 특징값은 상기 전처리된 문서에 포함된 데이터 중에서 테이블 유무, 폰트 사이즈, 폰트 색상, 볼드체 여부(또는 진하게/굵게 여부), 특정 어휘(또는 특정 단어/키워드)의 출현 횟수, 문서 파일 종류(예를 들어 hwp 파일/한글 파일, docx 파일/워드 파일, xlsx 파일/엑셀 파일, ppt 파일/파워포인트 파일, pdf 파일 등 포함) 등을 포함한다.
또한, 상기 데이터딕셔너리 처리부(243)는 상기 읽어온 피처명에 대응하는 데이터와 상기 전처리된 문서의 특징값을 병합한다.
또한, 상기 데이터딕셔너리 처리부(243)는 상기 예측 분류부(244)에 의해 구성된 후 최종적으로 업데이트된 새로운 데이터 셋을 상기 데이터 사전 리스트에 추가(또는 업로드/적용)한다.
즉, 상기 데이터딕셔너리 처리부(243)는 추후 학습에 이용하기 위해서, 상기 예측 분류부(244)에 의해 구성된 후 최종적으로 업데이트된 새로운 데이터 셋을 상기 데이터 사전 리스트에 추가한다.
상기 예측 분류부(244)는 상기 병합된 데이터 중 새롭게 학습시킬 데이터 셋(또는 새로운 데이터 셋)을 구성(또는 형성/생성)한다.
즉, 상기 예측 분류부(244)는 상기 병합된 데이터(또는 상기 읽어온 피처명에 대응하는 데이터) 중에서 상기 전처리된 문서의 특징값에 따라 특징이 부여된 하나 이상의 어휘(또는 단어/키워드)를 확인하고, 상기 확인된 특징이 부여된 하나 이상의 어휘(또는 단어/키워드)를 포함하는(또는 이용해서) 새롭게 학습시킬 데이터 셋(또는 학습시킬 데이터의 후보군)을 구성한다.
또한, 상기 예측 분류부(244)는 상기 구성된 새로운 데이터 셋에 포함된 각 어휘별로 분류에 사용할 임의의 특정 번호(또는 특정 피처 번호)를 설정(또는 부여)한다. 여기서, 상기 새로운 데이터 셋은 피처명을 미리 설정된 방식에 따라 직렬화한 코드 항목, 피처명(feature_name) 항목, 피처 번호(feature_num) 항목 등으로 구성한다.
또한, 상기 예측 분류부(244)는 상기 구성된 새로운 데이터 셋을 입력값으로 미리 설정된 방식에 따른 기계 학습(Machine Learning)을 수행하여, 기계 학습 수행에 따른 결과값(또는 예측 번호)을 생성(또는 출력)한다. 여기서, 상기 기계 학습 수행에 따른 결과값(또는 예측 번호)은 해당 새로운 데이터 셋에 포함된 하나 이상의 어휘별로 각각 생성된다.
또한, 상기 예측 분류부(244)는 상기 새로운 데이터 셋에 대한 기계 학습 수행에 따른 결과값(또는 하나 이상의 어휘별 예측 번호)과 상기 구성된 새로운 데이터 셋에 포함된 각 어휘별로 설정한 특정 번호가 같은지 여부를 확인(또는 판단)하는 검증 과정을 수행한다.
상기 확인 결과(또는 상기 판단 결과/상기 검증 결과), 상기 새로운 데이터 셋에 대한 기계 학습 수행에 따른 결과값(또는 하나 이상의 어휘별 예측 번호)과 상기 구성된 새로운 데이터 셋에 포함된 각 어휘별로 설정한 특정 번호가 다른 경우(또는 상기 결과값과 상기 설정한 특정 번호 간의 정확도가 미리 설정된 기준값 미만인 경우), 상기 예측 분류부(244)는 재학습을 수행하여, 정확도가 미리 설정된 기준값(예를 들어 99% 또는 0.99) 이상일 때까지 학습 과정을 반복 수행한다. 이때, 상기 예측 분류부(244)는 상기 새로운 데이터 셋에 포함된 하나 이상의 어휘 중에서 정확도가 상기 기준값 미만인 적어도 하나의 어휘에 대상으로 상기 학습 과정을 반복 수행할 수도 있다.
또한, 상기 확인 결과(또는 상기 판단 결과/상기 검증 결과), 상기 새로운 데이터 셋에 대한 기계 학습 수행에 따른 결과값(또는 하나 이상의 어휘별 예측 번호)과 상기 구성된 새로운 데이터 셋에 포함된 각 어휘별로 설정한 특정 번호가 같은 경우(또는 상기 결과값과 상기 설정한 특정 번호 간의 정확도가 상기 미리 설정된 기준값 이상인 경우), 상기 예측 분류부(244)는 기계 학습 수행에 따른 결과값(또는 정확도가 상기 기준값 이상에 대응하는 예측 번호)을 해당 어휘와 관련한 분류값(또는 피처 번호/특징 번호/feature_num)으로 설정한다.
또한, 상기 예측 분류부(244)는 상기 업로드된 문서의 포맷의 종류와 문서의 양식 등을 조합하여 사용자 정의 문서 변환 모델을 생성(또는 구성/형성)하고, 상기 생성된 문서 변환 모델을 사용하여 원본 문서로부터 상기 새로운 데이터 셋에 해당하는 하나 이상의 문장(또는 문구/텍스트)을 추출한다. 여기서, 상기 문서의 포맷의 종류는 문서의 파일 종류(예를 들어 한글 파일, 워드 파일, 엑셀 파일, 파워포인트 파일 등 포함) 등을 포함한다. 또한, 상기 문서의 양식은 테이블 유무, 폰트 사이즈, 폰트 색상, 볼드체 여부, 특정 어휘/단어의 출현 횟수 등을 포함한다.
즉, 상기 예측 분류부(244)는 학습 또는 재학습을 통하여 오류를 극복한 각 특정 키워드는 정확히 일치하는 특정 분류 번호를 갖게 되며, 상기 검증받은 새로운 데이터 셋(예를 들어 피처 번호(feature_num) 등 포함)(또는 이렇게 얻어진 키워드와 특정 분류 번호)을 근거로 키워드를 추출할 데이터프레임 기본셋을 구성(또는 생성)한다. 여기서, 상기 데이터프레임 기본셋은 특정 키워드가 포함된 문장의 시작 위치 및 종료 위치 등을 포함하며, 자체 모델 종류 항목, 테이블 번호 항목, 파일명 항목, 키워드 입력부(210)에서 처리한 칼럼명(또는 column_name, 피처명) 항목, 데이터딕셔너리 처리부(243)에서 최종 선택한 칼럼명 항목, 피처 번호 오리지널(feature_num_original) 항목, 인덱스(예를 들어 전체 읽어온 문서/파일 중에서 몇 번째에 해당하는지에 대응하는 번호/정보) 항목, 문서에서 추출된 값 항목 등으로 구성한다. 이때, 상기 서버(200)(또는 상기 예측 분류부(244))는 상기 검증받은 새로운 데이터 셋을 입력값으로 상기 생성된 문서 변환 모델에 적용하여, 해당 원본 문서 내에서의 해당 새로운 데이터 셋에 포함된 어휘별 위치 정보(예를 들어 어휘별로 해당 어휘와 관련한 시작 위치 및 종료 위치 등 포함)를 확인한다.
또한, 상기 예측 분류부(244)는 상기 구성된(또는 생성된) 데이터프레임 기본셋을 사용하여 특정 키워드에 해당하는 글자의 시작 위치 및 종료 위치를 인지하여(또는 근거로) 원본 문서로부터 해당 특정 키워드(또는 상기 새로운 데이터 셋에 포함된 어휘)에 해당하는(또는 대응하는) 하나 이상의 문장(또는 문구/텍스트)을 추출한다.
즉, 상기 예측 분류부(244)는 상기 구성된(또는 생성된) 데이터프레임 기본셋을 근거로 해당 데이터프레임 기본셋(또는 상기 새로운 데이터 셋)에 포함된 하나 이상의 어휘(또는 키워드)에 대응하는 하나 이상의 문장(또는 하나 이상의 어휘별 문장)을 상기 서버(200)에 업로드된 문서로부터 각각 추출한다.
또한, 상기 예측 분류부(244)는 상기 추출된 하나 이상의 어휘(또는 키워드)에 대응하는 문장(또는 하나 이상의 어휘별 문장)을 확인 및 정리한다.
즉, 상기 예측 분류부(244)는 상기 추출된 하나 이상의 어휘(또는 키워드)에 대응하는 문장(또는 하나 이상의 어휘별 문장)이 제대로 추출된 상태인지 여부를 확인(또는 검증)한다.
이때, 상기 추출된 어휘(또는 키워드)에 대응하는 문장이 제대로 추출되지 않은 것으로 확인되는 경우, 상기 예측 분류부(244)는 상기 데이터프레임 기본셋을 재구성하고, 재구성된 데이터프레임 기본셋을 근거로 상기 문장이 제대로 추출되지 않은 어휘(또는 키워드)에 대응하는 문장을 상기 서버(200)에 업로드된 문서로부터 다시 추출할 수 있다.
상기 인공지능 처리부(245)는 상기 데이터베이스 서버(100)와 연동하여, 상기 추출된 문장(또는 상기 정리 및 확인된 문장)을 데이터베이스에 저장한다. 이때, 상기 데이터베이스는 미리 설정된 복수의 칼럼명과 관련한 복수의 셀로 구성된 상태일 수 있다. 여기서, 상기 복수의 칼럼명은 설계자의 설계(또는 최종적으로 변환하고자 하는 문서 양식)에 따라 다양하게 설정할 수 있으며, 성명 항목, 주민등록번호 항목, 출생년도 항목, 경력기간 항목, 성별 항목, 결혼여부 항목, 주소 항목, 핸드폰번호 항목, 이메일 항목, 운전면허증 항목, 지원분야 항목, 희망근무지 항목, 주요수행업무 항목, 핵심역량 항목, 사용가능툴 항목, 학력 항목, 고교과정 항목, 전문대 항목, 학사과정 항목, 석사과정 항목, 박사과정 항목, 회사명 항목 등을 포함한다.
즉, 상기 인공지능 처리부(245)는 상기 데이터베이스 서버(100)와 연동하여, 상기 추출된 문장을 상기 데이터베이스 내의 해당 문장과 관련한 칼럼명에 대응하는 셀에 각각 저장한다. 이때, 상기 데이터베이스에 포함된 복수의 칼럼명 중에서 문장이 추출되지 않은 칼럼명에 대응하는 셀은 미리 설정된 디폴트 값(예를 들어 0)이 설정(또는 저장)된 상태일 수 있다.
이와 같이, 상기 서버(200)는 상기 단말(300)에서 업로드한 문서 내의 데이터 중에서 상기 서버(200)에서 미리 설정한 문서 양식에 따른 하나 이상의 문장을 추출하고, 상기 추출된 하나 이상의 문장을 상기 서버(200)에서 미리 설정한 문서 양식에 대응하도록 상기 데이터베이스에 저장할 수 있다.
이에 따라, 상기 서버(200)는 상기 단말(300)에서 업로드한 비정형데이터를 포함하는 문서에 대해서 상기 서버(200)에서 미리 설정한 문서 양식에 따라 정형화하고, 정형화한 데이터를 상기 데이터베이스에 저장할 수 있다.
문서를 읽어내기 위한 기초자료로 사용하는 키워드를 추출 및 분류한 후, 앞에서 오류를 극복하여 학습시키는 것이 가능하나, 비정형화/비구조화된 문서로부터 키워드를 추출 및 분류하는 데에는 하나의 키워드를 가지고 검색할 때 다수의 유사어구가 검색되는 경우 한계가 발생한다.
분류를 제대로 하지 못하는 이유가 비정형화/비구조화된 문서로부터 원하는 특정 키워드를 찾아낸 후, 그 키워드가 문서 내에서 어떠한 의미가 있으며, 문서에서 어떠한 위치에 위치하는가를 정확히 파악하지 못하는데에서 기인한 한계점이다.
특히, 특정 키워드가 동일한 어휘로서 문서 내에서 여러 군데에 존재할 경우에는 심각한 오류가 발생한다.
또한, 문서에는 실용적으로 활용하여야 할 경우에는 최소한도 20개 ~ 50개의 키워드(또는 피처명) 및 많게는 수백 가지의 키워드가 추출되어야 하고, 설령 정확히 분류하더라도 엄청나게 많은 데이터가 전제되어야 하고, 이에 따른 엄청난 시간을 소요하게 된다. 이는 실질적으로 사용에 대한 효용성이 없게 된다.
따라서, 최초에 데이터가 없는 상황에서도, 시간적으로 처리 속도를 높이고, 정확한 키워드 분류 및 동일한 어휘가 한 문서 내에 존재할 경우 어느 곳에 위치한 어휘가 정확한 문구를 문서로부터 추출하는데 필요한가를 정확히 파악하는 것이 중요한 필요성이 대두된다.
본 발명은 이러한 특징들을 반영하여 단말(300)에서 업로드한 문서를 대상으로 운영자가 설정한 문서 양식에 필요한 데이터를 빠르고 정확하게 추출할 수 있다.
상기 문서 표출부(250)는 상기 단말(100)에서 업로드한 문서의 변환이 완료됨에 따라, 해당 문서에 대한 변환 작업이 완료된 상태임을 나타내는 정보, 변환 작업이 완료된 데이터를 확인하기 위한 랜딩 페이지 정보 등을 상기 단말(300)에 제공(또는 전송)한다. 이때, 상기 문서 표출부(250)는 해당 단말(300)의 사용자와 관련한 메일 주소, 문자메시지, 카카오톡 등의 형태로 상기 해당 문서에 대한 변환 작업이 완료된 상태임을 나타내는 정보 등을 상기 단말(300)에 제공할 수 있다.
또한, 상기 단말(300)에 표시되는 랜딩 페이지 정보가 사용자 선택(또는 사용자 터치/입력/제어)에 따라 선택되는 경우, 상기 문서 표출부(250)는 상기 단말(300)과 연동하여, 상기 단말(300)에서 업로드한 문서와 관련해서 제공받은 접수번호를 이용해서, 상기 데이터베이스에 저장된 하나 이상의 문장(또는 자동 변환한 문서의 내용)을 미리 설정된 프레임워크를 사용하여 구성한 화면을 상기 단말(300)에 제공한다.
즉, 상기 단말(300)에 표시되는 랜딩 페이지 정보가 사용자 선택(또는 사용자 터치/입력/제어)에 따라 선택되는 경우, 상기 문서 표출부(250)는 상기 단말(300)에서 입력한 접수번호가 유효한 상태이고, 상기 접수번호와 관련한 문서에 대해서 변환 작업이 완료된 상태인지 확인한다.
또한, 상기 단말(300)에서 입력한 접수번호가 유효한 번호가 아닌 경우, 상기 문서 표출부(250)는 해당 접수번호가 유효한 번호가 아님을 나타내는 정보를 상기 단말(300)에 전송한다.
또한, 상기 단말(300)에서 입력한 접수번호와 관련한 문서에 대해서 변환 작업이 완료되지 않은 상태인 경우, 상기 문서 표출부(250)는 해당 접수번호와 관련한 문서에 대해서 변환 작업이 완료되지 않은 상태임을 나타내는 정보를 상기 단말(300)에 전송한다.
또한, 상기 단말(300)에서 입력한 접수번호가 유효한 상태이고, 상기 접수번호와 관련한 문서에 대해서 변환 작업이 완료된 상태인 경우, 상기 문서 표출부(250)는 해당 접수번호와 관련해서 최초에 이력서 업로드시(또는 최초에 문서/파일 업로드시) 상기 데이터베이스에 저장된 하나 이상의 문장을 확인(또는 검색)한다.
또한, 상기 서버(200)(또는 상기 문서 표출부(250))는 상기 확인된(또는 검색된) 해당 접수번호와 관련해서 최초에 이력서 업로드시(또는 최초에 문서/파일 업로드시) 상기 데이터베이스에 저장된 하나 이상의 문장(자동 변환한 문서의 내용)과 상기 미리 설정된 프레임워크를 사용하여 화면을 구성(또는 생성)한다. 여기서, 상기 미리 설정된 프레임워크(또는 사용자 인터페이스)는 해당 서버(200)에서 관리 중인 문서 양식에 따른 복수의 항목(예를 들어 성명 항목, 주민등록번호 항목, 출생년도 항목, 경력기간 항목, 성별 항목, 결혼여부 항목, 주소 항목, 핸드폰번호 항목, 이메일 항목, 운전면허증 항목, 지원분야 항목, 희망근무지 항목, 주요수행업무 항목, 핵심역량 항목, 사용가능툴 항목, 학력 항목, 고교과정 항목, 전문대 항목, 학사과정 항목, 석사과정 항목, 박사과정 항목, 회사명 항목 등 포함)을 포함하며, 상기 복수의 항목에 대해서 상기 접수번호와 관련해서 상기 데이터베이스에 저장된 하나 이상의 문장이 있는 경우 관련 항목에 해당 문장이 표시되도록 구성하고, 상기 복수의 항목에 대련해서 상기 접수번호와 관련해서 상기 데이터베이스에 저장된 문장이 없는 경우 해당 관련 항목에는 미리 설정된 디폴트값(예를 들어 0)이 표시되도록 구성할 수 있다.
또한, 상기 서버(200)(또는 상기 문서 표출부(250))는 상기 구성된(또는 생성된) 화면(예를 들어 상기 접수번호와 관련해서 상기 데이터베이스에 저장된 문장 등을 포함)을 상기 단말(300)에 전송한다.
상기 단말(300)은 상기 데이터베이스 서버(100), 상기 서버(200) 등과 통신한다. 이때, 상기 단말(300)은 상기 서버(200)에서 제공하는 다양한 기능(예를 들어 문서(또는 파일) 업로드 기능, 변환된 내용 확인 기능 등 포함)을 수행하고자 하는 사용자가 소지한 단말일 수 있다.
또한, 상기 단말(300)은 상기 서버(200)와의 연동에 의해, 상기 서버(200)에서 제공하는 전용 앱 및/또는 웹 사이트를 통해 문서(또는 파일) 업로드 기능, 변환된 내용 확인 기능 등을 제공받기 위한 사용자로 회원 가입하며, 개인 정보, 개인정보 취급 동의 정보 등을 상기 서버(200)에 등록한다. 이때, 상기 개인 정보는 아이디, 이메일 주소, 패스워드(또는 비밀번호), 이름, 성별, 생년월일, 연락처, 주소지 등을 포함한다. 또한, 상기 개인정보 취급 동의 정보는 SMS 수신 여부, 이메일 수신 여부, 이용약관 동의 여부, 개인정보취급 방침 동의 여부 등을 포함한다.
또한, 상기 단말(300)은 해당 단말(300)의 사용자가 가입한 SNS 계정 정보 또는 모바일 메신저 계정 정보를 이용하여 상기 서버(200)에 사용자로 회원 가입할 수도 있다. 여기서, 상기 SNS 계정은 페이스북, 트위터, 카카오 스토리, 네이버, 페이코(PAYCO) 등과 관련한 정보일 수 있다. 또한, 상기 모바일 메신저 계정은 카카오톡(KakaoTalk), 라인(line), 바이버(viber), 위챗(wechat), 와츠앱(whatsapp), 텔레그램(Telegram), 스냅챗(snapchat) 등과 관련한 정보일 수 있다.
또한, 회원 가입 절차 수행 시, 상기 단말(300)은 본인 인증 수단(예를 들어 이동 전화, 신용카드, 아이핀 등 포함)을 통한 인증 기능을 완료해야 상기 서버(200)에 대한 회원 가입 절차를 정상적으로 완료할 수 있다.
또한, 회원 가입이 완료된 후, 상기 단말(300)은 상기 서버(200)에서 제공하는 서비스를 이용하기 위해서, 상기 서버(200)로부터 제공되는 전용 앱(또는 애플리케이션/응용 프로그램/특정 앱)을 해당 단말(300)에 설치한다. 이때, 상기 전용 앱은 문서(또는 파일) 업로드 기능, 변환된 내용 확인 기능 등을 수행하기 위한 앱일 수 있다.
또한, 상기 단말(300)은 상기 서버(200)와 연동하여, 파일 형태의 문서를 상기 서버(200)에 업로드한다. 이때, 상기 문서는 다양한 종류의 파일 형태(예를 들어 hwp 파일/한글 파일, docx 파일/워드 파일, xlsx 파일/엑셀 파일, ppt 파일/파워포인트 파일, pdf 파일 등 포함)로 구성하며, 텍스트, 이미지 등으로 구성(또는 포함)한다.
또한, 상기 단말(300)은 상기 서버(200)에 업로드된 문서와 관련해서, 상기 서버(200)로부터 전송되는 접수번호, 접수일자 및 시각 정보 등을 수신한다.
또한, 상기 단말(300)은 상기 수신된 접수번호, 접수일자 및 시각 정보 등을 표시 및 저장한다.
또한, 상기 단말(300)은 상기 서버(200)로부터 제공되는(또는 전송되는) 해당 문서에 대한 변환 작업이 완료된 상태임을 나타내는 정보, 변환 작업이 완료된 데이터를 확인하기 위한 랜딩 페이지 정보 등을 수신한다.
또한, 상기 단말(300)은 상기 수신된 해당 문서에 대한 변환 작업이 완료된 상태임을 나타내는 정보, 변환 작업이 완료된 데이터를 확인하기 위한 랜딩 페이지 정보 등을 표시(또는 출력)한다.
또한, 상기 단말(300)에 표시되는 랜딩 페이지 정보가 사용자 선택(또는 사용자 터치/입력/제어)에 따라 선택되는 경우, 상기 단말(300)은 상기 서버(200)와 연동하여, 상기 업로드한 문서와 관련해서 제공받은 접수번호를 이용해서, 상기 데이터베이스에 저장된 문장(자동 변환한 문서의 내용)을 미리 설정된 프레임워크를 사용하여 화면에 표시한다.
즉, 상기 단말(300)에 표시되는 랜딩 페이지 정보가 사용자 선택(또는 사용자 터치/입력/제어)에 따라 선택되는 경우, 상기 단말(300)은 해당 랜딩 페이지 정보에 대응하는 랜딩 페이지에 접속하여, 앞서 서버(200)로부터 제공받은 접수번호를 입력한다.
또한, 상기 단말(300)에서 입력한 접수번호가 유효한 번호가 아닌 경우, 상기 단말(300)은 상기 서버(200)로부터 전송되는 해당 접수번호가 유효한 번호가 아님을 나타내는 정보를 수신하고, 상기 수신된 해당 접수번호가 유효한 번호가 아님을 나타내는 정보를 표시(또는 출력)한다.
또한, 상기 단말(300)에서 입력한 접수번호와 관련한 문서에 대해서 변환 작업이 완료되지 않은 상태인 경우, 상기 단말(300)은 상기 서버(200)로부터 전송되는 해당 접수번호와 관련한 문서에 대해서 변환 작업이 완료되지 않은 상태임을 나타내는 정보를 수신하고, 상기 수신된 해당 접수번호와 관련한 문서에 대해서 변환 작업이 완료되지 않은 상태임을 나타내는 정보를 표시(또는 출력)한다.
또한, 상기 단말(300)에서 입력한 접수번호가 유효한 상태이고, 상기 접수번호와 관련한 문서에 대해서 변환 작업이 완료된 상태인 경우, 상기 단말(300)은 앞서 입력한 접수번호에 응답하여 상기 서버(200)로부터 전송되는 화면(예를 들어 상기 접수번호와 관련해서 상기 데이터베이스에 저장된 문장 등을 포함)을 수신한다.
또한, 상기 단말(300)은 상기 수신된 화면(예를 들어 상기 접수번호와 관련해서 상기 데이터베이스에 저장된 문장 등을 포함)을 표시한다.
본 발명의 실시예에서는, 상기 단말(300)에서 상기 서버(200)에서 구성된 화면을 수신 및 표시하는 것을 설명하고 있으나, 이에 한정되는 것은 아니며, 상기 단말(300)은 앞서 전송된 접수번호에 응답하여 상기 서버(200)로부터 전송되는 해당 서버(200)에서 검색된 상기 접수번호와 관련해서 상기 데이터베이스에 저장된 하나 이상의 문장을 수신하고, 상기 수신된 하나 이상의 문장을 상기 서버(200)에서 제공하는 상기 프레임워크(또는 사용자 인터페이스)를 사용하여 화면을 구성하고, 상기 구성된 화면을 표시할 수도 있다.
또한, 상기 단말(300)은 상기 서버(200)(또는 상기 문서 표출부(250))와 연동하여, 상기 표시되는 화면에 포함된 문장에 대해서 수정 기능, 추가 기능 등을 포함하는 업데이트 기능을 수행할 수 있다.
본 발명의 실시예에서는 상기 단말(300)에서 전용 앱 형태 또는 웹 사이트 형태로 상기 서버(200)에서 제공하는 다양한 기능(예를 들어 문서(또는 파일) 업로드 기능, 변환된 내용 확인 기능 등 포함)을 수행할 수 있다.
이와 같이, 사용자로부터 업로드된 파일 형태의 문서를 사용자 정의 문서 변환 모델에 적용하여 데이터 처리 기법에 따라 오류 데이터를 별도로 분리하여 다시금 학습 및 테스트를 정확히 수행하여 운영자가 원하는 문서 양식으로 변환할 수 있다.
이하에서는, 본 발명에 따른 인공지능 기반 문서 자동 변환 방법을 도 1 내지 도 7을 참조하여 상세히 설명한다.
도 3 내지 도 4는 본 발명의 실시예에 따른 인공지능 기반 문서 자동 변환 방법을 나타낸 흐름도이다.
먼저, 단말(300)은 서버(200)와 연동하여, 파일 형태의 문서를 상기 서버(200)에 업로드한다. 이때, 상기 문서는 다양한 종류의 파일 형태(예를 들어 hwp 파일/한글 파일, docx 파일/워드 파일, xlsx 파일/엑셀 파일, ppt 파일/파워포인트 파일, pdf 파일 등 포함)로 구성하며, 텍스트, 이미지 등으로 구성(또는 포함)한다.
또한, 상기 서버(200)는 상기 단말(300)로부터 문서가 업로드되는 경우, 해당 업로드된 문서와 관련한 접수번호(또는 고유 접수번호)를 생성하고, 상기 생성된 접수번호를 상기 단말(300)에 전송한다. 이때, 상기 서버(200)는 상기 접수번호뿐만 아니라, 접수일자 및 시각 정보 등을 해당 단말(300)의 사용자와 관련한 메일 주소, 문자메시지, 카카오톡 등의 형태로 상기 단말(300)에 제공할 수 있다.
또한, 상기 단말(300)은 상기 서버(200)에 업로드된 문서와 관련해서, 상기 서버(200)로부터 전송되는 접수번호, 접수일자 및 시각 정보 등을 수신하고, 상기 수신된 접수번호, 접수일자 및 시각 정보 등을 표시 및 저장한다.
일 예로, 제 1 단말(300)은 상기 제 1 단말의 사용자인 홍길동과 관련한 이력서_홍길동.hwp 파일을 상기 서버(200)에 업로드한다.
또한, 상기 제 1 단말은 상기 서버(200)에 업로드된 이력서_홍길동.hwp 파일과 관련해서 해당 서버(200)로부터 전송되는 제 1 접수번호(AOA123456), 제 1 접수일자 및 시각 정보(2021년 05월 01일 오후 2시 30분 40초) 등을 수신하고, 상기 수신된 제 1 접수번호(AOA123456), 제 1 접수일자 및 시각 정보(2021년 05월 01일 오후 2시 30분 40초) 등을 표시한다(S310).
이후, 상기 서버(200)(또는 데몬부(241))는 상기 단말(300)로부터 업로드된 문서를 해당 서버(200)에 미리 설치된 데몬 프로그램을 이용해서 미리 설정된 시간 단위(예를 들어 1분, 5분 등 포함)로 읽는다. 이때, 상기 서버(200)(또는 데이터딕셔너리 처리부(243))는 운영자가 설정한 문서 양식(또는 해당 서버(200)에서 관리하는 최종 문서 양식)에 따라 엑셀 파일 형태로 미리 생성된 데이터 사전으로부터 영문 키워드에 해당하는 피처명(feature_name: 피처 네임), 한글 리스트에 해당하는 내용(또는 데이터 사전에서 피처명별 내용), 분류값 등을 읽어 들인 후, 해당 서버(200)에 구성된 메모리(미도시)에 로딩한다. 여기서, 상기 데이터 사전(또는 데이터 사전 리스트)은 항목별 특징의 내용을 정의하기 위한 피처명(feature_name) 항목, 인공지능 학습에 사용하기 위해서 임시 부여하는 번호를 포함하는 피처 번호(feature_num) 항목, 피처명과 고유 번호(또는 고유 정보)를 1:1로 매핑하기 위한 피처 번호 오리지널(feature_num_original) 항목 등으로 구성한다. 또한, 상기 분류값은 피처 번호, 피처 번호 오리지널 등을 포함한다.
일 예로, 상기 서버(200)는 상기 제 1 단말로부터 업로드된 이력서_홍길동.hwp 파일을 해당 서버(200)에 미리 설치된 데몬 프로그램을 이용해서 5분 단위로 읽는다.
또한, 도 5에 도시된 바와 같이, 상기 서버(200)는 운영자가 미리 설정된 MS 워드 파일 형태의 문서 양식에 따라 엑셀 파일 형태로 미리 생성된 제 1 데이터 사전(500)을 읽은 후, 상기 읽은 제 1 데이터 사전에 포함된 피처명, 내용, 분류값 등을 상기 서버(200)에 구성된 메모리에 로딩한다(S320).
이후, 상기 서버(200)(또는 전처리부(242))는 상기 읽어온 문서에 포함된 데이터(또는 정보)에 대해서 전처리 기능을 수행한다.
즉, 상기 서버(200)는 상기 읽어온 문서에 포함된 데이터 중에서 미리 설정된 가비지 데이터를 정제(또는 삭제/필터링)한다.
일 예로, 상기 서버(200)는 상기 읽어온 이력서_홍길동.hwp 파일에 포함된 데이터에 대해서 중복되는 문구(예를 들어 학력 사항 등 포함)를 정제하여, 최초 기재된 해당 문구(예를 들어 학력 사항)만 유지하고 이후 기재된 해당 문구(예를 들어 학력 사항)를 정제하여, 도 6에 도시된 바와 같이, 전처리된 이력서_홍길동.hwp 파일(600)을 구성한다(S330).
이후, 상기 서버(200)(또는 데이터딕셔너리 처리부(243))는 상기 로딩된 데이터 사전 리스트로부터 피처명에 대응하는 데이터(예를 들어 엑셀 파일 형태의 데이터 사전 리스트에서 feature_name에 대응하는 항목 내의 데이터/한글 리스트에 해당하는 내용)를 읽는다(또는 로딩한다). 여기서, 상기 데이터 사전 리스트는 항목별 특징의 내용을 정의하기 위한 피처명(feature_name) 항목, 인공지능 학습에 사용하기 위해서 임시 부여하는 번호를 포함하는 피처 번호(feature_num) 항목, 피처명과 고유 번호(또는 고유 정보)를 1:1로 매핑하기 위한 피처 번호 오리지널(feature_num_original) 항목 등으로 구성한다.
또한, 상기 서버(200)(또는 상기 데이터딕셔너리 처리부(243))는 상기 읽어온 피처명에 대응하는 데이터와 상기 전처리된 문서의 특징값을 병합한다. 여기서, 상기 전처리된 문서의 특징값은 상기 전처리된 문서에 포함된 데이터 중에서 테이블 유무, 폰트 사이즈, 폰트 색상, 볼드체 여부(또는 진하게/굵게 여부), 특정 어휘(또는 특정 단어/키워드)의 출현 횟수, 문서 파일 종류(예를 들어 hwp 파일/한글 파일, docx 파일/워드 파일, xlsx 파일/엑셀 파일, ppt 파일/파워포인트 파일, pdf 파일 등 포함) 등을 포함한다.
일 예로, 상기 도 5에 도시된 바와 같이, 상기 서버(200)는 상기 로딩된 제 1 데이터 사전 리스트(500)로부터 피처명(예를 들어 feature_name)에 대응하는 하나 이상의 데이터(510)를 읽는다.
또한, 상기 서버(200)는 상기 읽은 피처명에 대응하는 데이터(510)와 상기 전처리된 이력서_홍길동.hwp 파일 내에 포함된 특징값을 병합한다(S340).
이후, 상기 서버(200)(또는 예측 분류부(244))는 상기 병합된 데이터 중 새롭게 학습시킬 데이터 셋(또는 새로운 데이터 셋)을 구성(또는 형성/생성)한다.
즉, 상기 서버(200)(또는 상기 예측 분류부(244))는 상기 병합된 데이터(또는 상기 읽어온 피처명에 대응하는 데이터) 중에서 상기 전처리된 문서의 특징값에 따라 특징이 부여된 하나 이상의 어휘(또는 단어/키워드)를 확인하고, 상기 확인된 특징이 부여된 하나 이상의 어휘(또는 단어/키워드)를 포함하는(또는 이용해서) 새롭게 학습시킬 데이터 셋을 구성한다.
또한, 상기 서버(200)(또는 상기 예측 분류부(244))는 상기 구성된 새로운 데이터 셋에 포함된 각 어휘별로 분류에 사용할 임의의 특정 번호(또는 특정 피처 번호)를 설정(또는 부여)한다. 여기서, 상기 새로운 데이터 셋은 피처명을 미리 설정된 방식에 따라 직렬화한 코드 항목, 피처명(feature_name) 항목, 피처 번호(feature_num) 항목 등으로 구성한다.
일 예로, 상기 서버(200)는 상기 병합된 데이터 중에서 상기 전처리된 문서의 특징값에 따라 폰트 사이즈가 다른 텍스트의 폰트 사이즈(예를 들어 12)에 비해 더 크게 설정된 상태(예를 들어 16)이며 볼드체가 적용된 제 1 어휘(예를 들어 성 명), 제 2 어휘(예를 들어 주민등록번호), 제 3 어휘(예를 들어 성별), 제 4 어휘(예를 들어 주소), 제 5 어휘(예를 들어 핸드폰번호), 제 6 어휘(예를 들어 학사), 제 7 어휘(예를 들어 회사명)를 확인하고, 상기 확인된 폰트 사이즈(예를 들어 16) 및 볼드체가 적용된 제 1 어휘(예를 들어 성 명), 제 2 어휘(예를 들어 주민등록번호), 제 3 어휘(예를 들어 성별), 제 4 어휘(예를 들어 주소), 제 5 어휘(예를 들어 핸드폰번호), 제 6 어휘(예를 들어 학사), 제 7 어휘(예를 들어 회사명)를 포함하는 제 1 새로운 데이터 셋을 구성한다.
또한, 상기 서버(200)는 상기 구성된 제 1 새로운 데이터 셋에 포함된 제 1 어휘 내지 제 7 어휘에 대해서 피처 번호인 제 1001 번호 내지 제 1007 번호를 각각 설정한다(S350).
이후, 상기 서버(200)(또는 상기 예측 분류부(244))는 상기 구성된 새로운 데이터 셋을 입력값으로 미리 설정된 방식에 따른 기계 학습을 수행하여, 기계 학습 수행에 따른 결과값(또는 예측 번호)을 생성(또는 출력)한다. 여기서, 상기 기계 학습 수행에 따른 결과값(또는 예측 번호)은 해당 새로운 데이터 셋에 포함된 하나 이상의 어휘별로 각각 생성된다.
또한, 상기 서버(200)(또는 상기 예측 분류부(244))는 상기 새로운 데이터 셋에 대한 기계 학습 수행에 따른 결과값(또는 하나 이상의 어휘별 예측 번호)과 상기 구성된 새로운 데이터 셋에 포함된 각 어휘별로 설정한 특정 번호가 같은지 여부를 확인(또는 판단)하는 검증 과정을 수행한다.
일 예로, 상기 서버(200)는 상기 구성된 제 1 새로운 데이터 셋을 입력값으로 미리 설정된 방식에 따라 기계 학습을 수행하여, 상기 제 1 어휘 내지 상기 제 7 어휘에 각각 대응하는 제 1 예측 번호 내지 제 7 예측 번호를 생성한다.
또한, 상기 서버(200)는 상기 제 1 어휘와 관련해서 생성된 제 1 예측 번호 및 상기 제 1 어휘와 관련해서 설정된 제 1001 번호가 동일한지 여부를 확인하고, 상기 제 2 어휘와 관련해서 생성된 제 2 예측 번호 및 상기 제 2 어휘와 관련해서 설정된 제 1002 번호가 동일한지 여부를 확인하고, 상기 제 3 어휘와 관련해서 생성된 제 3 예측 번호 및 상기 제 3 어휘와 관련해서 설정된 제 1003 번호가 동일한지 여부를 확인하고, 상기 제 4 어휘와 관련해서 생성된 제 4 예측 번호 및 상기 제 4 어휘와 관련해서 설정된 제 1004 번호가 동일한지 여부를 확인하고, 상기 제 5 어휘와 관련해서 생성된 제 5 예측 번호 및 상기 제 5 어휘와 관련해서 설정된 제 1005 번호가 동일한지 여부를 확인하고, 상기 제 6 어휘와 관련해서 생성된 제 6 예측 번호 및 상기 제 6 어휘와 관련해서 설정된 제 1006 번호가 동일한지 여부를 확인하고, 상기 제 7 어휘와 관련해서 생성된 제 7 예측 번호 및 상기 제 7 어휘와 관련해서 설정된 제 1007 번호가 동일한지 여부를 각각 확인한다(S360).
상기 확인 결과(또는 상기 판단 결과/상기 검증 결과), 상기 새로운 데이터 셋에 대한 기계 학습 수행에 따른 결과값(또는 하나 이상의 어휘별 예측 번호)과 상기 구성된 새로운 데이터 셋에 포함된 각 어휘별로 설정한 특정 번호가 다른 경우(또는 상기 결과값과 상기 설정한 특정 번호 간의 정확도가 미리 설정된 기준값 미만인 경우), 상기 서버(200)(또는 상기 예측 분류부(244))는 재학습을 수행하여, 정확도가 미리 설정된 기준값(예를 들어 99% 또는 0.99) 이상일 때까지 학습 과정을 반복 수행한다. 이때, 상기 서버(200)는 상기 새로운 데이터 셋에 포함된 하나 이상의 어휘 중에서 정확도가 상기 기준값 미만인 적어도 하나의 어휘에 대상으로 상기 학습 과정을 반복 수행할 수도 있다.
일 예로, 상기 제 6 어휘(예를 들어 학사)와 관련해서 기계 학습 수행에 따른 결과값인 제 6 예측 번호가 상기 제 6 어휘와 관련해서 설정된 제 1006 번호와 다를 때, 상기 서버(200)는 상기 제 6 어휘를 입력값으로 상기 미리 설정된 방식에 따라 기계 학습을 수행하여, 상기 제 6 어휘와 관련한 제 6-1 예측 번호를 생성하고, 상기 생성된 제 6-1 예측 번호 및 상기 제 6 어휘와 관련해서 설정된 제 1006 번호가 동일한지 여부를 확인하는 과정을, 해당 제 6-1 예측 번호 및 상기 제 1006 번호가 일치할 때까지 반복 수행한다(S370).
또한, 상기 확인 결과(또는 상기 판단 결과/상기 검증 결과), 상기 새로운 데이터 셋에 대한 기계 학습 수행에 따른 결과값(또는 하나 이상의 어휘별 예측 번호)과 상기 구성된 새로운 데이터 셋에 포함된 각 어휘별로 설정한 특정 번호가 같은 경우(또는 상기 결과값과 상기 설정한 특정 번호 간의 정확도가 상기 미리 설정된 기준값 이상인 경우), 상기 서버(200)(또는 상기 예측 분류부(244))는 기계 학습 수행에 따른 결과값(또는 정확도가 상기 기준값 이상에 대응하는 예측 번호)을 해당 어휘와 관련한 분류값(또는 피처 번호/특징 번호/feature_num)으로 설정한다.
일 예로, 기계 학습 반복 수행에 따라 최종적으로 상기 제 1 어휘 내지 상기 제 7 어휘와 관련해서 각각 생성된 제 1-N 예측 번호 내지 제 7-N 예측 번호가 상기 설정된 제 1001 번호 내지 제 1007 번호와 일치할 때, 상기 서버(200)는 상기 제 1-N 예측 번호(예를 들어 1)를 상기 제 1 어휘(예를 들어 성 명)와 관련한 피처 번호로 설정하고, 상기 제 2-N 예측 번호(예를 들어 2)를 상기 제 2 어휘(예를 들어 주민등록번호)와 관련한 피처 번호로 설정하고, 상기 제 3-N 예측 번호(예를 들어 5)를 상기 제 3 어휘(예를 들어 성별)와 관련한 피처 번호로 설정하고, 상기 제 4-N 예측 번호(예를 들어 7)를 상기 제 4 어휘(예를 들어 주소)와 관련한 피처 번호로 설정하고, 상기 제 5-N 예측 번호(예를 들어 8)를 상기 제 5 어휘(예를 들어 핸드폰번호)와 관련한 피처 번호로 설정하고, 상기 제 6-N 예측 번호(예를 들어 19)를 상기 제 6 어휘(예를 들어 학사)와 관련한 피처 번호로 설정하고, 상기 제 7-N 예측 번호(예를 들어 22)를 상기 제 7 어휘(예를 들어 회사명)와 관련한 피처 번호로 설정한다. 여기서, 상기 N은 자연수일 수 있다(S380).
이후, 상기 서버(200)(또는 상기 예측 분류부(244))는 상기 업로드된 문서의 포맷의 종류와 문서의 양식 등을 조합하여 사용자 정의 문서 변환 모델을 생성(또는 구성/형성)하고, 상기 생성된 문서 변환 모델을 사용하여 원본 문서로부터 상기 새로운 데이터 셋에 해당하는 하나 이상의 문장(또는 문구/텍스트)을 추출한다. 여기서, 상기 문서의 포맷의 종류는 문서의 파일 종류(예를 들어 한글 파일, 워드 파일, 엑셀 파일, 파워포인트 파일 등 포함) 등을 포함한다. 또한, 상기 문서의 양식은 테이블 유무, 폰트 사이즈, 폰트 색상, 볼드체 여부, 특정 어휘/단어의 출현 횟수 등을 포함한다.
즉, 상기 서버(200)(또는 상기 예측 분류부(244))는 상기 검증받은 새로운 데이터 셋(예를 들어 피처 번호(feature_num) 등 포함)을 근거로 키워드를 추출할 데이터프레임 기본셋을 구성(또는 생성)한다. 여기서, 상기 데이터프레임 기본셋은 특정 키워드가 포함된 문장의 시작 위치 및 종료 위치 등을 포함하며, 자체 모델 종류 항목, 테이블 번호 항목, 파일명 항목, 키워드 입력부(210)에서 처리한 칼럼명(또는 피처명) 항목, 데이터딕셔너리 처리부(243)에서 최종 선택한 칼럼명 항목, 피처 번호 오리지널(feature_num_original) 항목, 인덱스(예를 들어 전체 읽어온 문서/파일 중에서 몇 번째에 해당하는지에 대응하는 번호/정보) 항목, 문서에서 추출된 값 항목 등으로 구성한다. 이때, 상기 서버(200)(또는 상기 예측 분류부(244))는 상기 검증받은 새로운 데이터 셋을 입력값으로 상기 생성된 문서 변환 모델에 적용하여, 해당 원본 문서 내에서의 해당 새로운 데이터 셋에 포함된 어휘별 위치 정보(예를 들어 어휘별로 해당 어휘와 관련한 시작 위치 및 종료 위치 등 포함)를 확인한다.
또한, 상기 서버(200)(또는 상기 예측 분류부(244))는 상기 구성된(또는 생성된) 데이터프레임 기본셋을 사용하여 특정 키워드에 해당하는 글자의 시작 위치 및 종료 위치를 인지하여(또는 근거로) 원본 문서로부터 해당 특정 키워드(또는 상기 새로운 데이터 셋에 포함된 어휘)에 해당하는(또는 대응하는) 하나 이상의 문장(또는 문구/텍스트)을 추출한다.
즉, 상기 서버(200)(또는 상기 예측 분류부(244))는 상기 구성된(또는 생성된) 데이터프레임 기본셋을 근거로 해당 데이터프레임 기본셋(또는 상기 새로운 데이터 셋)에 포함된 하나 이상의 어휘(또는 키워드)에 대응하는 문장(또는 하나 이상의 어휘별 문장)을 상기 서버(200)에 업로드된 문서로부터 각각 추출한다.
일 예로, 상기 서버(200)는 상기 검증받은 제 1 새로운 데이터 셋을 근거로 상기 제 1 어휘 내지 상기 제 7 어휘에 해당하는 문장을 추출할 제 1 데이터프레임 기본셋을 구성한다.
또한, 상기 서버(200)는 상기 구성된 제 1 데이터프레임 기본셋을 근거로 상기 제 1 어휘 내지 상기 제 7 어휘에 각각 대응하는 시작 위치 및 종료 위치를 통해 상기 서버(200)에 업로드된 이력서_홍길동.hwp 파일로부터 상기 제 1 어휘 내지 상기 제 7 어휘에 해당하는 제 1 문장 내지 제 7 문장을 각각 추출한다(S390).
이후, 상기 서버(200)(또는 상기 예측 분류부(244))는 상기 추출된 하나 이상의 어휘(또는 키워드)에 대응하는 문장(또는 하나 이상의 어휘별 문장)을 확인 및 정리한다.
즉, 상기 서버(200)(또는 상기 예측 분류부(244))는 상기 추출된 하나 이상의 어휘(또는 키워드)에 대응하는 문장(또는 하나 이상의 어휘별 문장)이 제대로 추출된 상태인지 여부를 확인(또는 검증)한다.
이때, 상기 추출된 어휘(또는 키워드)에 대응하는 문장이 제대로 추출되지 않은 것으로 확인되는 경우, 상기 서버(200)(또는 상기 예측 분류부(244))는 상기 데이터프레임 기본셋을 재구성하고, 재구성된 데이터프레임 기본셋을 근거로 상기 문장이 제대로 추출되지 않은 어휘(또는 키워드)에 대응하는 문장을 상기 서버(200)에 업로드된 문서로부터 다시 추출할 수 있다.
일 예로, 상기 서버(200)는 상기 제 1 어휘 내지 상기 제 7 어휘와 관련해서 각각 추출된 제 1 문장 내지 제 7 문장이 제대로 추출된 상태인지 여부를 확인한다(S400).
이후, 상기 서버(200)(또는 인공지능 처리부(245))는 데이터베이스 서버(100)와 연동하여, 상기 추출된 문장(또는 상기 정리 및 확인된 문장)을 데이터베이스에 저장한다. 이때, 상기 데이터베이스는 미리 설정된 복수의 칼럼명과 관련한 복수의 셀로 구성된 상태일 수 있다. 여기서, 상기 복수의 칼럼명은 성명 항목, 주민등록번호 항목, 출생년도 항목, 경력기간 항목, 성별 항목, 결혼여부 항목, 주소 항목, 핸드폰번호 항목, 이메일 항목, 운전면허증 항목, 지원분야 항목, 희망근무지 항목, 주요수행업무 항목, 핵심역량 항목, 사용가능툴 항목, 학력 항목, 고교과정 항목, 전문대 항목, 학사과정 항목, 석사과정 항목, 박사과정 항목, 회사명 항목 등을 포함한다.
즉, 상기 서버(200)(또는 상기 인공지능 처리부(245))는 상기 데이터베이스 서버(100)와 연동하여, 상기 추출된 문장을 상기 데이터베이스 내의 해당 문장과 관련한 칼럼명에 대응하는 셀에 각각 저장한다. 이때, 상기 데이터베이스에 포함된 복수의 칼럼명 중에서 문장이 추출되지 않은 칼럼명에 대응하는 셀은 미리 설정된 디폴트 값(예를 들어 0)이 설정(또는 저장)된 상태일 수 있다.
이와 같이, 상기 서버(200)는 상기 단말(300)에서 업로드한 문서 내의 데이터 중에서 상기 서버(200)에서 미리 설정한 문서 양식에 따른 하나 이상의 문장을 추출하고, 상기 추출된 하나 이상의 문장을 상기 서버(200)에서 미리 설정한 문서 양식에 대응하도록 상기 데이터베이스에 저장할 수 있다.
일 예로, 상기 서버(200)는 상기 데이터베이스 서버(100)와 연동하여, 상기 제 1 어휘 내지 상기 제 7 어휘와 관련한 상기 추출된 제 1 문장 내지 제 7 문장을 상기 데이터베이스에 저장한다(S410).
이후, 상기 서버(200)(또는 상기 데이터딕셔너리 처리부(243))는 상기 새로운 데이터 셋을 상기 데이터 사전 리스트에 추가(또는 업로드/적용)한다.
즉, 상기 서버(200)는 추후 학습에 이용하기 위해서, 상기 구성된 새로운 데이터 셋을 상기 데이터 사전 리스트에 추가한다.
일 예로, 상기 서버(200)는 상기 구성된 제 1 새로운 데이터 셋을 해당 서버(200)에서 저장 중인 데이터 사전 리스트에 적용하여, 해당 데이터 사전 리스트를 업데이트한다(S420).
이후, 상기 서버(200)(또는 문서 표출부(250))는 상기 단말(100)에서 업로드한 문서의 변환이 완료됨에 따라, 해당 문서에 대한 변환 작업이 완료된 상태임을 나타내는 정보, 변환 작업이 완료된 데이터를 확인하기 위한 랜딩 페이지 정보 등을 상기 단말(300)에 제공(또는 전송)한다. 이때, 상기 서버(200)(또는 상기 문서 표출부(250))는 해당 단말(300)의 사용자와 관련한 메일 주소, 문자메시지, 카카오톡 등의 형태로 상기 해당 문서에 대한 변환 작업이 완료된 상태임을 나타내는 정보 등을 상기 단말(300)에 제공할 수 있다.
또한, 상기 단말(300)은 상기 서버(200)로부터 제공되는(또는 전송되는) 해당 문서에 대한 변환 작업이 완료된 상태임을 나타내는 정보, 변환 작업이 완료된 데이터를 확인하기 위한 랜딩 페이지 정보 등을 수신하고, 상기 수신된 해당 문서에 대한 변환 작업이 완료된 상태임을 나타내는 정보, 변환 작업이 완료된 데이터를 확인하기 위한 랜딩 페이지 정보 등을 표시(또는 출력)한다.
일 예로, 상기 서버(200)는 상기 제 1 단말에서 업로드한 이력서_홍길동.hwp 파일이 해당 서버(200)에서 관리하는 워드 파일 형태로의 변환이 완료됨에 따라, 상기 이력서_홍길동.hwp 파일에 대한 변환 작업이 완료된 상태임을 나타내는 정보, 변환 작업이 완료된 데이터를 확인하기 위한 제 1 랜딩 페이지 정보(또는 제 1 랜딩 페이지 URL) 등을 상기 제 1 단말에 전송한다.
또한, 상기 제 1 단말은 상기 서버(200)로부터 전송되는 상기 이력서_홍길동.hwp 파일에 대한 변환 작업이 완료된 상태임을 나타내는 정보, 변환 작업이 완료된 데이터를 확인하기 위한 제 1 랜딩 페이지 정보(또는 제 1 랜딩 페이지 URL) 등을 수신하고, 상기 수신된 상기 이력서_홍길동.hwp 파일에 대한 변환 작업이 완료된 상태임을 나타내는 정보, 변환 작업이 완료된 데이터를 확인하기 위한 제 1 랜딩 페이지 정보(또는 제 1 랜딩 페이지 URL) 등을 표시한다(S430).
이후, 상기 단말(300)에 표시되는 랜딩 페이지 정보가 사용자 선택(또는 사용자 터치/입력/제어)에 따라 선택되는 경우, 상기 단말(300)은 상기 서버(200)와 연동하여, 상기 업로드한 문서와 관련해서 제공받은 접수번호를 이용해서, 상기 데이터베이스에 저장된 하나 이상의 문장을 미리 설정된 프레임워크를 사용하여 화면에 표시한다.
즉, 상기 단말(300)에 표시되는 랜딩 페이지 정보가 사용자 선택(또는 사용자 터치/입력/제어)에 따라 선택되는 경우, 상기 단말(300)은 해당 랜딩 페이지 정보에 대응하는 랜딩 페이지에 접속하여, 앞서 서버(200)로부터 제공받은 접수번호를 입력한다.
또한, 상기 서버(200)(또는 상기 문서 표출부(250))는 상기 단말(300)에서 입력한 접수번호가 유효한 상태이고, 상기 접수번호와 관련한 문서에 대해서 변환 작업이 완료된 상태인 경우, 해당 접수번호와 관련해서 최초에 이력서 업로드시(또는 최초에 문서/파일 업로드시) 상기 데이터베이스에 저장된 하나 이상의 문장을 확인(또는 검색)한다.
또한, 상기 서버(200)(또는 상기 문서 표출부(250))는 상기 확인된(또는 검색된) 해당 접수번호와 관련해서 최초에 이력서 업로드시(또는 최초에 문서/파일 업로드시) 상기 데이터베이스에 저장된 하나 이상의 문장과 상기 미리 설정된 프레임워크를 사용하여 화면을 구성(또는 생성)한다. 여기서, 상기 미리 설정된 프레임워크(또는 사용자 인터페이스)는 해당 서버(200)에서 관리 중인 문서 양식에 따른 복수의 항목(예를 들어 성명 항목, 주민등록번호 항목, 출생년도 항목, 경력기간 항목, 성별 항목, 결혼여부 항목, 주소 항목, 핸드폰번호 항목, 이메일 항목, 운전면허증 항목, 지원분야 항목, 희망근무지 항목, 주요수행업무 항목, 핵심역량 항목, 사용가능툴 항목, 학력 항목, 고교과정 항목, 전문대 항목, 학사과정 항목, 석사과정 항목, 박사과정 항목, 회사명 항목 등 포함)을 포함하며, 상기 복수의 항목에 대해서 상기 접수번호와 관련해서 상기 데이터베이스에 저장된 하나 이상의 문장이 있는 경우 관련 항목에 해당 문장이 표시되도록 구성하고, 상기 복수의 항목에 대련해서 상기 접수번호와 관련해서 상기 데이터베이스에 저장된 문장이 없는 경우 해당 관련 항목에는 미리 설정된 디폴트값(예를 들어 0)이 표시되도록 구성할 수 있다.
또한, 상기 서버(200)(또는 상기 문서 표출부(250))는 상기 구성된(또는 생성된) 화면(예를 들어 상기 접수번호와 관련해서 상기 데이터베이스에 저장된 문장 등을 포함)을 상기 단말(300)에 전송한다.
또한, 상기 단말(300)은 앞서 입력한 접수번호에 응답하여 상기 서버(200)로부터 전송되는 화면(예를 들어 상기 접수번호와 관련해서 상기 데이터베이스에 저장된 문장 등을 포함)을 수신하고, 상기 수신된 화면(예를 들어 상기 접수번호와 관련해서 상기 데이터베이스에 저장된 문장 등을 포함)을 표시한다.
또한, 상기 단말(300)은 상기 서버(200)(또는 상기 문서 표출부(250))와 연동하여, 상기 표시되는 화면에 포함된 문장에 대해서 수정 기능, 추가 기능 등을 포함하는 업데이트 기능을 수행할 수 있다.
일 예로, 상기 제 1 단말에 표시되는 상기 이력서_홍길동.hwp 파일에 대한 변환 작업이 완료된 상태임을 나타내는 정보, 변환 작업이 완료된 데이터를 확인하기 위한 제 1 랜딩 페이지 정보(또는 제 1 랜딩 페이지 URL) 등 중에서 상기 제 1 랜딩 페이지 정보가 선택될 때, 상기 제 1 단말은 상기 선택된 제 1 랜딩 페이지 정보에 대응하는 제 1 랜딩 페이지에 접속한다.
또한, 상기 제 1 단말은 상기 제 1 랜딩 페이지에서 제공하는 입력폼을 통해 앞서 상기 서버(200)로부터 제공받은 제 1 접수번호(AOA123456)를 입력한다.
또한, 상기 서버(200)는 상기 제 1 단말에서 입력한 제 1 접수번호(AOA123456)가 유효한 상태인지 확인하고, 상기 제 1 접수번호가 유효할 때, 상기 제 1 접수번호와 관련한 문서인 이력서_홍길동.hwp에 대해서 변환 작업이 완료된 상태인지 확인한다.
또한, 상기 제 1 접수번호와 관련한 문서인 이력서_홍길동.hwp에 대해서 변환 작업이 완료된 상태일 때, 상기 서버(200)는 제 1 접수번호와 관련해서 상기 데이터베이스에 저장된 하나 이상의 문장(예를 들어 제 1 문장 내지 제 7 문장)을 확인한다.
또한, 상기 서버(200)는 상기 미리 설정된 프레임워크를 사용하여 성명 항목, 주민등록번호 항목, 성별 항목, 주소 항목, 핸드폰번호 항목, 학사 항목 및 회사명 항목에 상기 확인된 제 1 문장 내지 제 7 문장을 각각 포함하도록 구성하고, 상기 프레임워크에 포함된 나머지 항목들에는 미리 설정된 디폴트 값인 0을 포함하도록 제 1 화면을 구성한다.
또한, 상기 서버(200)는 상기 구성된 제 1 화면을 상기 제 1 단말에 전송한다.
또한, 상기 제 1 단말은 상기 서버(200)로부터 전송되는 제 1 화면을 수신한다.
또한, 도 7에 도시된 바와 같이, 상기 제 1 단말은 상기 수신된 제 1 화면(700)을 표시한다(S440).
본 발명의 실시예는 앞서 설명된 바와 같이, 사용자로부터 업로드된 파일 형태의 문서를 사용자 정의 문서 변환 모델에 적용하여 데이터 처리 기법에 따라 오류 데이터를 별도로 분리하여 다시금 학습 및 테스트를 정확히 수행하여 운영자가 원하는 문서 양식으로 변환하여, 이력서의 경우에는 이력서 양식이 이력서 작성자마다 제각각인 이력서 양식을 하나의 문서로 통일시켜 작성 가능하므로, 작성자의 입장에서는 사이트마다 매번 이력서를 작성하는 수고로움없이, 자신이 가지고 있는 문서 양식을 특정 플랫폼에 업로드하면 자동으로 플랫폼에서 요구하는 문서 양식으로 이력서를 작성하여 주므로, 문서 양식에 맞추어 문서를 구성하는 수고로움을 덜고 그 시간에 다른 업무에 집중할 수 있고, 온라인 구인구직 사이트의 경우 정형화된 데이터를 활용하여 구직자 또는 구인자 검색시 더욱 더 정교하고 정확한 매칭률 프로그램을 만드는데 기여하며, 개인의 프로파일을 활용하여 진행하는 플랫폼 사업의 경우 이력서를 자동 생성 변환시켜 주는 새로운 비즈니스 모델을 도입할 수 있고, 플랫폼을 운영하는 회사의 입장에서는 비정형화 및 비구조화된 데이터가 자연스럽게 정형화 및 구조화된 뒤, 데이터베이스에 저장되므로, 정형화 및 구조화된 데이터를 활용하여 데이터분석, 모델링, 예측 등 다양한 분야에서 추가 기능에 직접 활용할 수 있다.
또한, 본 발명의 실시예는 앞서 설명된 바와 같이, 제조공정이나 자동화 프로세스가 적용되는 상황에서는 본 발명의 기술적 특징을 응용하여 비구조/비정형화된 데이터를 정형화된 데이터로 바꾸어서 의사결정이 필요한 RPA 기반의 인공지능을 위한 기술적 단초 역할도 할 수 있다.
또한, 현재의 RPA는 1단계인 고전적 방식으로서 웹사이트, 문서 등으로부터 정형화된 데이터를 단순히 추출 및 정리하는 방식이다.
또한, 2단계인 지능형 RPA는 1단계 RPA 방식의 한계를 해결은 하였으나, 이미 정형화된 프로세스와 정형화/구조화된 데이터 포맷에서만 오류없이 작동을 한다.
또한, 사람의 개입없이 스스로 판단하여 의사결정을 하여 새로운 공정을 추가/변화시키는데에는 한계성을 보인다.
본 발명은 키워드 입력부(210), 매핑 변환부(220), 피처명 추출부(230), 문서 자동 변환 생성부(240) 및 문서 표출부(250)의 구성을 통해 인지/추론형 RPA 즉, 의사결정까지 가능한 RPA를 가능하게 하는 원천기술의 단초역할을 하고,적은 정보량을 기지고도 정확한 예측 분류가 가능한 인공지능의 완성을 위한 특징을 제공한다.
전술된 내용은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
10: 인공지능 기반 문서 자동 변환 시스템
100: 데이터베이스 서버 200: 서버
300: 단말 210: 키워드 입력부
220: 매핑 변환부 230: 피처명 추출부
240: 문서 자동 변환 생성부 250: 문서 표출부
241: 데몬부 242: 전처리부
243: 데이터딕셔너리 처리부 244: 예측 분류부
245: 인공지능 처리부

Claims (10)

  1. 파일 형태의 문서를 서버에 업로드하고, 상기 문서의 업로드에 따라 상기 서버로부터 전송되는 접수번호를 수신 및 표시하는 단말; 및
    상기 업로드된 문서를 운영자가 미리 설정한 문서 양식에 따라 변환하는 상기 서버를 포함하며,
    상기 서버는,
    운영자 입력에 따라 운영자 자신이 원하는 문서 양식의 타이틀과 하나 이상의 키워드를 입력받아 저장하는 키워드 입력부;
    상기 입력받은 하나 이상의 키워드를 데이터베이스의 칼럼명으로 1:1로 매핑하는 매핑 변환부;
    상기 매핑된 키워드를 읽어내어 피처명(feature name)을 추출하는 피처명 추출부;
    상기 추출된 피처명을 사용해서 상기 운영자 자신이 원하는 문서 양식에 맞추어 상기 단말에서 업로드한 문서를 자동 변환하는 문서 자동 변환 생성부; 및
    상기 자동 변환한 문서의 내용 및 미리 설정된 프레임워크를 사용하여 구성한 화면을 상기 단말에 제공하는 문서 표출부를 포함하는 것을 특징으로 하는 인공지능 기반 문서 자동 변환 시스템.
  2. 삭제
  3. 제 1 항에 있어서,
    상기 문서 자동 변환 생성부는,
    상기 업로드된 문서를 미리 설정된 시간 단위로 읽는 데몬부;
    상기 읽은 문서에 포함된 데이터에 대해서 전처리 기능을 수행하는 전처리부;
    로딩된 데이터 사전 리스트로부터 피처명에 대응하는 데이터를 읽고, 상기 읽은 피처명에 대응하는 데이터와 상기 전처리된 문서의 특징값을 병합하는 데이터딕셔너리 처리부; 및
    상기 병합된 데이터 중 새롭게 학습시킬 데이터 셋인 새로운 데이터 셋을 구성하고, 상기 구성된 새로운 데이터 셋에 포함된 각 어휘별로 분류에 사용할 임의의 특정 번호를 설정하고, 상기 구성된 새로운 데이터 셋을 입력값으로 미리 설정된 방식에 따른 기계 학습을 수행하여, 기계 학습 수행에 따른 결과값을 생성하고, 상기 새로운 데이터 셋에 대한 기계 학습 수행에 따른 결과값과 상기 구성된 새로운 데이터 셋에 포함된 각 어휘별로 설정한 특정 번호가 같은지 여부를 확인하고, 상기 확인 결과, 상기 새로운 데이터 셋에 대한 기계 학습 수행에 따른 결과값과 상기 구성된 새로운 데이터 셋에 포함된 각 어휘별로 설정한 특정 번호가 같을 때, 기계 학습 수행에 따른 결과값을 상기 어휘와 관련한 분류값으로 설정하고, 상기 업로드된 문서의 포맷의 종류와 문서의 양식을 조합하여 사용자 정의 문서 변환 모델을 생성하고, 상기 생성된 문서 변환 모델을 사용하여 상기 업로드된 원본 문서로부터 상기 새로운 데이터 셋에 해당하는 하나 이상의 문장을 각각 추출하고, 상기 추출된 하나 이상의 어휘에 대응하는 하나 이상의 문장을 확인 및 정리하는 예측 분류부를 포함하는 것을 특징으로 하는 인공지능 기반 문서 자동 변환 시스템.
  4. 제 3 항에 있어서,
    상기 예측 분류부는,
    상기 확인 결과, 상기 새로운 데이터 셋에 대한 기계 학습 수행에 따른 결과값과 상기 구성된 새로운 데이터 셋에 포함된 각 어휘별로 설정한 특정 번호가 다를 때, 재학습을 수행하여, 정확도가 미리 설정된 기준값 이상일 때까지 학습 과정을 반복 수행하는 것을 특징으로 하는 인공지능 기반 문서 자동 변환 시스템.
  5. 제 3 항에 있어서,
    상기 예측 분류부는,
    검증받은 새로운 데이터 셋을 근거로 키워드를 추출할 데이터프레임 기본셋을 구성하고, 상기 구성된 데이터프레임 기본셋을 사용하여 특정 키워드에 해당하는 글자의 시작 위치 및 종료 위치를 근거로 원본 문서로부터 상기 새로운 데이터 셋에 포함된 하나 이상의 어휘에 대응하는 하나 이상의 문장을 각각 추출하는 것을 특징으로 하는 인공지능 기반 문서 자동 변환 시스템.
  6. 제 3 항에 있어서,
    상기 문서 자동 변환 생성부는,
    데이터베이스 서버와 연동하여, 상기 추출된 하나 이상의 문장을 데이터베이스에 저장하는 인공지능 처리부를 더 포함하는 것을 특징으로 하는 인공지능 기반 문서 자동 변환 시스템.
  7. 제 3 항에 있어서,
    상기 데이터딕셔너리 처리부는,
    상기 새로운 데이터 셋을 상기 데이터 사전 리스트에 추가하는 것을 특징으로 하는 인공지능 기반 문서 자동 변환 시스템.
  8. 단말에 의해, 파일 형태의 문서를 서버에 업로드하는 단계;
    상기 단말에 의해, 상기 문서의 업로드에 따라 상기 서버로부터 전송되는 접수번호를 수신 및 표시하는 단계;
    상기 서버에 의해, 상기 업로드된 문서를 미리 설정된 시간 단위로 읽는 단계;
    상기 서버에 의해, 상기 읽은 문서에 포함된 데이터에 대해서 전처리 기능을 수행하는 단계;
    상기 서버에 의해, 상기 전처리된 문서를 운영자가 미리 설정한 문서 양식에 따라 변환하는 단계;
    상기 서버에 의해, 운영자가 미리 설정한 문서 양식으로 변환된 상기 전처리된 문서를 데이터베이스에 저장하는 단계;
    상기 업로드된 문서에 대한 변환이 완료될 때, 상기 단말에 의해, 상기 서버로부터 전송되는 상기 문서에 대한 변환 작업이 완료된 상태임을 나타내는 정보 및 변환 작업이 완료된 데이터를 확인하기 위한 랜딩 페이지 정보를 표시하는 단계;
    상기 단말에 표시되는 랜딩 페이지 정보가 선택될 때, 상기 단말에 의해, 상기 서버와 연동하여, 상기 랜딩 페이지 정보에 대응하는 랜딩 페이지에 접속하는 단계; 및
    상기 단말에 의해, 상기 업로드한 문서와 관련해서 제공받은 접수번호를 이용해서, 상기 데이터베이스에 저장된 하나 이상의 문장을 미리 설정된 프레임워크를 사용하여 화면에 표시하는 단계를 포함하는 인공지능 기반 문서 자동 변환 방법.
  9. 제 8 항에 있어서,
    상기 전처리된 문서를 운영자가 미리 설정한 문서 양식에 따라 변환하는 단계는,
    로딩된 데이터 사전 리스트로부터 피처명에 대응하는 데이터를 읽는 과정;
    상기 읽은 피처명에 대응하는 데이터와 상기 전처리된 문서의 특징값을 병합하는 과정;
    상기 병합된 데이터 중 새롭게 학습시킬 데이터 셋인 새로운 데이터 셋을 구성하는 과정;
    상기 구성된 새로운 데이터 셋에 포함된 각 어휘별로 분류에 사용할 임의의 특정 번호를 설정하는 과정;
    상기 구성된 새로운 데이터 셋을 입력값으로 미리 설정된 방식에 따른 기계 학습을 수행하여, 기계 학습 수행에 따른 결과값을 생성하는 과정;
    상기 새로운 데이터 셋에 대한 기계 학습 수행에 따른 결과값과 상기 구성된 새로운 데이터 셋에 포함된 각 어휘별로 설정한 특정 번호가 같은지 여부를 확인하는 과정;
    상기 확인 결과, 상기 새로운 데이터 셋에 대한 기계 학습 수행에 따른 결과값과 상기 구성된 새로운 데이터 셋에 포함된 각 어휘별로 설정한 특정 번호가 다를 때, 재학습을 수행하여, 정확도가 미리 설정된 기준값 이상일 때까지 학습 과정을 반복 수행하는 과정;
    상기 확인 결과, 상기 새로운 데이터 셋에 대한 기계 학습 수행에 따른 결과값과 상기 구성된 새로운 데이터 셋에 포함된 각 어휘별로 설정한 특정 번호가 같을 때, 기계 학습 수행에 따른 결과값을 상기 어휘와 관련한 분류값으로 설정하는 과정;
    상기 업로드된 문서의 포맷의 종류와 문서의 양식을 조합하여 사용자 정의 문서 변환 모델을 생성하는 과정;
    상기 생성된 문서 변환 모델을 사용하여 상기 업로드된 원본 문서로부터 상기 새로운 데이터 셋에 해당하는 하나 이상의 문장을 각각 추출하는 과정; 및
    상기 추출된 하나 이상의 어휘에 대응하는 하나 이상의 문장을 확인 및 정리하는 과정을 포함하는 것을 특징으로 하는 인공지능 기반 문서 자동 변환 방법.
  10. 삭제
KR1020210066286A 2021-05-24 2021-05-24 인공지능 기반 문서 자동 변환 시스템 및 그 방법 KR102294364B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210066286A KR102294364B1 (ko) 2021-05-24 2021-05-24 인공지능 기반 문서 자동 변환 시스템 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210066286A KR102294364B1 (ko) 2021-05-24 2021-05-24 인공지능 기반 문서 자동 변환 시스템 및 그 방법

Publications (1)

Publication Number Publication Date
KR102294364B1 true KR102294364B1 (ko) 2021-08-27

Family

ID=77504388

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210066286A KR102294364B1 (ko) 2021-05-24 2021-05-24 인공지능 기반 문서 자동 변환 시스템 및 그 방법

Country Status (1)

Country Link
KR (1) KR102294364B1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102392359B1 (ko) 2021-12-09 2022-05-02 (주)제인소프트 인공지능 기반의 하이퍼오토메이션 솔루션 시스템
KR102425731B1 (ko) 2021-12-09 2022-07-29 (주)제인소프트 인공지능 기반의 하이퍼오토메이션 솔루션을 위한 프로세스 실행 요청 에이전트 시스템
KR102442350B1 (ko) * 2022-02-18 2022-09-13 주식회사 도레미파 인공지능을 기반으로 자동 문서 작성을 수행하기 위한 정보 분석 방법 및 장치
KR102645915B1 (ko) * 2023-07-27 2024-03-11 주식회사 두들린 컴퓨팅 장치에 의하여 이력서를 재생성하는 방법 및 그 장치
KR102673073B1 (ko) * 2023-09-12 2024-06-07 주식회사 우노트레이딩 인공지능 기반의 주문서 분석을 통한 데이터 관리 장치 및 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020016056A (ko) * 2000-08-24 2002-03-04 모리시타 요이찌 문서 검색 및 분류 방법 및 장치
KR20030062593A (ko) * 2002-01-17 2003-07-28 (주)텔리젠 Xml을 이용한 강의파일 변환 시스템 및 방법
KR20030094966A (ko) * 2002-06-11 2003-12-18 주식회사 코스모정보통신 통제학습 기반의 문서 자동분류시스템 및 그 방법
KR20070109095A (ko) * 2006-05-09 2007-11-15 한국과학기술정보연구원 온라인 논문 투고 및 심사에 의한 학술 정보 자동 수집방법과 그 방법에 대한 컴퓨터 프로그램 소스를 저장한기록매체
KR101790727B1 (ko) 2016-02-03 2017-10-26 충북대학교 산학협력단 문서 형식 자동 변환 시스템 및 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020016056A (ko) * 2000-08-24 2002-03-04 모리시타 요이찌 문서 검색 및 분류 방법 및 장치
KR20030062593A (ko) * 2002-01-17 2003-07-28 (주)텔리젠 Xml을 이용한 강의파일 변환 시스템 및 방법
KR20030094966A (ko) * 2002-06-11 2003-12-18 주식회사 코스모정보통신 통제학습 기반의 문서 자동분류시스템 및 그 방법
KR20070109095A (ko) * 2006-05-09 2007-11-15 한국과학기술정보연구원 온라인 논문 투고 및 심사에 의한 학술 정보 자동 수집방법과 그 방법에 대한 컴퓨터 프로그램 소스를 저장한기록매체
KR101790727B1 (ko) 2016-02-03 2017-10-26 충북대학교 산학협력단 문서 형식 자동 변환 시스템 및 방법

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102392359B1 (ko) 2021-12-09 2022-05-02 (주)제인소프트 인공지능 기반의 하이퍼오토메이션 솔루션 시스템
KR102425731B1 (ko) 2021-12-09 2022-07-29 (주)제인소프트 인공지능 기반의 하이퍼오토메이션 솔루션을 위한 프로세스 실행 요청 에이전트 시스템
KR102442350B1 (ko) * 2022-02-18 2022-09-13 주식회사 도레미파 인공지능을 기반으로 자동 문서 작성을 수행하기 위한 정보 분석 방법 및 장치
KR102645915B1 (ko) * 2023-07-27 2024-03-11 주식회사 두들린 컴퓨팅 장치에 의하여 이력서를 재생성하는 방법 및 그 장치
KR102673073B1 (ko) * 2023-09-12 2024-06-07 주식회사 우노트레이딩 인공지능 기반의 주문서 분석을 통한 데이터 관리 장치 및 방법

Similar Documents

Publication Publication Date Title
KR102294364B1 (ko) 인공지능 기반 문서 자동 변환 시스템 및 그 방법
US9268766B2 (en) Phrase-based data classification system
KR20210090576A (ko) 품질을 관리하는 방법, 장치, 기기, 저장매체 및 프로그램
CN111143556A (zh) 软件功能点自动计数方法、装置、介质及电子设备
CN113868419B (zh) 基于人工智能的文本分类方法、装置、设备及介质
CN116797195A (zh) 工单处理方法、装置、计算机设备和计算机可读存储介质
CN104008042A (zh) 一种ui自动化测试方法、系统和设备
US20240046033A1 (en) Intelligent electronic signature platform
CN114385694A (zh) 一种数据加工处理方法、装置、计算机设备及存储介质
US20240020538A1 (en) Systems and methods for real-time search based generative artificial intelligence
CN117725895A (zh) 文档生成方法、装置、设备及介质
US20220406210A1 (en) Automatic generation of lectures derived from generic, educational or scientific contents, fitting specified parameters
US20190114691A1 (en) Systems and methods for document to order conversion
US20200394733A1 (en) Systems and methods for mobile device-based legal self help
Ustenko et al. Amazon Textract and artficial intelegence system at banking document managment system
CN111984781A (zh) 偏见最小化的自动概括
CN117992601B (zh) 基于人工智能的公文生成方法及装置
CN114492413B (zh) 文本校对方法、装置和电子设备
CN117891531B (zh) 用于saas软件的系统参数配置方法、系统、介质及电子设备
KR102681147B1 (ko) 검색 증강 생성을 통한 인공지능 챗봇 사용자 의도에 적합한 답변 생성을 구현하기 위한 방법 및 장치
US11675822B2 (en) Computer generated data analysis and learning to derive multimedia factoids
US20200334721A1 (en) Processing of pricing update documents
Tian Construction of Computer English Corpus Assisted by Internet of Things Information Perception and Interaction Technology
Sopin et al. Information Technology for Foreign Languages Remote Learning with Adaptation to the User Based on Machine Learning.
CN117235260A (zh) 基于人工智能的文本标注方法、装置、设备及存储介质

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant