KR20220004574A - System and method for Connection of ontology and financial DB using mapping table - Google Patents

System and method for Connection of ontology and financial DB using mapping table Download PDF

Info

Publication number
KR20220004574A
KR20220004574A KR1020210086705A KR20210086705A KR20220004574A KR 20220004574 A KR20220004574 A KR 20220004574A KR 1020210086705 A KR1020210086705 A KR 1020210086705A KR 20210086705 A KR20210086705 A KR 20210086705A KR 20220004574 A KR20220004574 A KR 20220004574A
Authority
KR
South Korea
Prior art keywords
ontology
report
financial
mapping
data
Prior art date
Application number
KR1020210086705A
Other languages
Korean (ko)
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 (주)애널리틱스
Publication of KR20220004574A publication Critical patent/KR20220004574A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0637Strategic management or analysis, e.g. setting a goal or target of an organisation; Planning actions based on goals; Analysis or evaluation of effectiveness of goals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes

Abstract

The present invention provides a system and method for interworking an ontology and a financial DB using a mapping table. The system comprises: an ontology DB that divides laws or regulations expressed in natural language into ontology elements through morphological analysis, then converts the same into ontology codes (OWL codes; hereafter referred to as ontology codes) and stores the same; a table creation module for generating a mapping request table by mapping an ontology code for each one or more items included in the table form information when the table form information is received from the client; and a report receiving module for transmitting the mapping request table generated through the table generating module to a financial company server, receiving report data corresponding to the mapping request table from the financial company server, and storing the received report data in a report DB. According to the present invention, natural language processing using deep learning such as morphological analysis of laws and regulations subject to concept verification is performed. The foundation has been laid for efficient resource use with the effect of reducing the time that can be processed in a shorter time than manual work. By using ontology, we have completed the distribution consistency and effective machine-executable regulation structure when laws and regulations are changed.

Description

매핑 테이블을 이용한 온톨로지와 금융DB의 연동 시스템 및 방법{System and method for Connection of ontology and financial DB using mapping table}System and method for Connection of Ontology and financial DB using mapping table {System and method for Connection of ontology and financial DB using mapping table}

본 발명은 매핑 테이블을 이용한 온톨로지와 금융DB의 연동 시스템 및 방법에 관한 것으로, 보다 상세하게는 자연어로 표현된 법령 또는 규정을 형태소분석을 통해 온톨로지 요소들로 구분한 후 온톨로지코드(OWL code; 이하 온톨로지 코드)로 변환하여 저장하는 온톨로지 DB; 클라이언트로부터 테이블 양식 정보가 수신되면 상기 테이블 양식 정보에 포함된 하나 이상의 항목별로 온톨로지코드를 매핑하여 매핑요청테이블을 생성하는 테이블생성모듈; 및 상기 테이블생성모듈을 통해 생성된 매핑요청테이블을 금융사서버로 송신하고, 상기 금융사서버로부터 상기 매핑요청테이블에 해당하는 보고서 데이터를 수신하고 수신된 보고서데이터를 보고서 DB에저장하는 보고서수신모듈;을 포함하는 매핑 테이블을 이용한 온톨로지와 금융DB의 연동 시스템 및 방법에 관한 것이다.The present invention relates to a system and method for interworking an ontology and a financial DB using a mapping table, and more particularly, after dividing laws or regulations expressed in natural language into ontology elements through morphological analysis, ontology code (OWL code; hereinafter) Ontology DB that converts and stores ontology code); a table creation module for generating a mapping request table by mapping ontology codes for each one or more items included in the table form information when the table form information is received from the client; and a report receiving module that transmits the mapping request table generated through the table generation module to a financial company server, receives report data corresponding to the mapping request table from the financial company server, and stores the received report data in a report DB; It relates to a system and method for interworking an ontology and a financial DB using the included mapping table.

본 발명은 머신 리더블 레귤레이션에 관한 것이다.The present invention relates to machine readable regulation.

금융회사는 금융 관련 법규에 따라 정기적(월/분기/반기/연)으로 1,939종(‘18.6월말)의 업무보고서를 수작업 작성함에 따라 금융회사의 보고서 작성 부담이 과중하며, 이에 따른 지연 제출 및 작성 오류 가능성이 상존하는 상황이다As financial companies manually prepare 1,939 types of business reports (end of June, '18) on a regular (monthly/quarterly/half-year/yearly) basis in accordance with finance-related laws and regulations, the burden on the report preparation is heavy on financial companies, resulting in delayed submission and preparation. There is always the possibility of error

다양한 국가들에서는 이를 개선하기 위해 MRR(Machine Readable Regulation; 이하 MRR)에 대한 다양한 논의가 있었는데 반해 한국의 경우 경제규모나 기술발전 수준에 비해 미온적이다.In various countries, there have been various discussions about MRR (Machine Readable Regulation; hereafter referred to as MRR) to improve it, whereas Korea is lukewarm compared to the size of the economy and the level of technological development.

미진한 이유로는 한국의 고유한 규제체계의 문제, 이해집단의 반대 등을 예로들 수 있다.Some of the lesser reasons include the problem of Korea's unique regulatory system and opposition from interest groups.

RegTech의 상위개념이라고 할 수 있는 LegalTech의 사례를 중심으로 살펴보면 첫째, 현행 변호사법에서는 이익 금지조항이 존재하며, 이러한 금지조항에 따라 원천적으로 변호사가 아닌 자는 원칙적으로 LegalTech에 참여할 수 없다.Focusing on the case of LegalTech, which can be said to be a higher level concept of RegTech, first, there is a prohibition on profits in the current Attorney Act, and in principle, anyone who is not a lawyer cannot participate in LegalTech according to this prohibition.

또한, LegalTech는 자본과 기술이 접목되어 있기 때문에 기업이나 공공기관이 참여해야 하지만, 한국의 경우 원칙적으로 자본의 유입이 불가하다.In addition, since legalTech combines capital and technology, corporations and public institutions must participate, but in principle, capital inflow is not possible in Korea.

투입된 자본에 대해서 개발된 결과물로 이익이 나게 된다면, 이는 변호사법 위반이 되기 때문에 자본이 투여될 수 없는 환경이다.If a profit is made as a result of the development of the invested capital, it is an environment in which capital cannot be administered because it would violate the Attorney's Law.

둘째, LegalTech에 대해 변호사들이 이익 감소를 우려하여 수용을 꺼려한다.Second, lawyers are reluctant to accept LegalTech for fear of diminishing profits.

변호사는 다양한 업무를 수행하지만, 송무에 대한 업무가 대다수이고, 간단한 송무 업무는 LegalTech에서 이미 실현 가능하지만, 변호사의 업무가 감소함을 우려하여 LegalTech에 대한 인식이 좋지 않은 편이다.Although lawyers perform various tasks, most of them deal with litigation, and although simple litigation tasks are already feasible in LegalTech, there is a lack of awareness of LegalTech due to concerns about the decrease in the number of lawyers' work.

상술한 바와 같은 같은 문제점을 해결하기 위해 안출된 본 발명의 목적은, 개념검증 대상의 법·규정을 형태소 분석 등 딥러닝을 활용한 자연어처리를 수행하여, 수작업보다 빠른 시간내에 처리할 수 있는 시간 단축 효과로 효율적인 자원 사용을 위한 기반을 마련했으며, 온톨로지를 이용하여 법·규정 변경시 배포의 일관성과 효과적인 머신 실행가능 레귤레이션 구조를 완성한 매핑 테이블을 이용한 온톨로지와 금융DB의 연동 시스템 및 방법을 제공하기 위함이다.The purpose of the present invention, which has been devised to solve the problems as described above, is to perform natural language processing using deep learning such as morphological analysis of laws and regulations of the subject of concept verification, so that it can be processed within a shorter time than manual work. To provide a system and method for linking an ontology and financial DB using a mapping table that has established a basis for efficient resource use with a shortening effect, and completed an effective machine-executable regulation structure and consistency of distribution when laws and regulations are changed using the ontology. it is for

또한, 본 발명의 다른 목적은, 온톨로지(RDF, OWL)화되어 있는 법·규정을 웹 기술(Spring DATA JPA) 기술을 이용하여 머신 실행가능 레귤레이션의 자동화 실행가능성을 높였으며, 오픈API와 해쉬값을 활용한 위변조 방지를 위한 블록체인(HyperLedger Fabric)의 프로토타입 구성과 금융클라우드의 활용은 시스템 구성의 시간과 비용의 감소를 통한 효율적인 매핑 테이블을 이용한 온톨로지와 금융DB의 연동 시스템 및 방법을 제공하기 위함이다.In addition, another object of the present invention is to increase the automation execution possibility of machine-executable regulation by using the web technology (Spring DATA JPA) technology of laws and regulations that have been converted into ontology (RDF, OWL), open API and hash value Prototype configuration of blockchain (HyperLedger Fabric) and use of financial cloud to prevent forgery using it is for

상기한 바와 같은 목적을 달성하기 위한 본 발명의 특징에 따르면, 본 발명인 매핑 테이블을 이용한 온톨로지와 금융DB의 연동 시스템은, 자연어로 표현된 법령 또는 규정을 형태소분석을 통해 온톨로지 요소들로 구분한 후 온톨로지코드(OWL code; 이하 온톨로지 코드)로 변환하여 저장하는 온톨로지 DB; 클라이언트로부터 테이블 양식 정보가 수신되면 상기 테이블 양식 정보에 포함된 하나 이상의 항목별로 온톨로지코드를 매핑하여 매핑요청테이블을 생성하는 테이블생성모듈; 및 상기 테이블생성모듈을 통해 생성된 매핑요청테이블을 금융사서버로 송신하고, 상기 금융사서버로부터 상기 매핑요청테이블에 해당하는 보고서 데이터를 수신하고 수신된 보고서데이터를 보고서 DB에저장하는 보고서수신모듈;을 포함한다.According to a feature of the present invention to achieve the above object, the interlocking system of ontology and financial DB using the mapping table of the present inventor divides laws or regulations expressed in natural language into ontology elements through morphological analysis. Ontology DB that converts and stores ontology code (OWL code; hereinafter, ontology code); a table creation module for generating a mapping request table by mapping ontology codes for each one or more items included in the table form information when the table form information is received from the client; and a report receiving module that transmits the mapping request table generated through the table generation module to a financial company server, receives report data corresponding to the mapping request table from the financial company server, and stores the received report data in a report DB; include

또한, 상기 금융사서버는, 상기 매핑요청테이블을 수신하면 상기 항목별로 온톨로지코드에 맞춰 금융DB에 저장된 값을 매칭하는 것을 특징으로 한다.In addition, the financial company server, upon receiving the mapping request table, is characterized in that it matches the value stored in the financial DB according to the ontology code for each item.

또한, 본 발명인 매핑 테이블을 이용한 온톨로지와 금융DB의 연동 시스템은, 클라이언트를 통해 보고서 DB에 저장된 보고서데이터 중 어느 하나가 선택되면 선택된 보고서데이터에 해당하는 금융DB로부터 수신받아 보고서를 갱신하는 보고서갱신모듈;을 더 포함하는 것을 특징으로 한다.In addition, the present inventor's system for interworking the ontology and financial DB using the mapping table is a report update module that receives from the financial DB corresponding to the selected report data and updates the report when any one of the report data stored in the report DB is selected through the client. ; characterized in that it further includes.

또한, 상기 보고서 갱신모듈은, 갱신된 보고서데이터의 해시값과 해당 금융사의 블록체인에 기 저장된 해시값을 비교하여 일치하면 최종데이터를 보고서 DB에 저장하는 것을 특징으로 한다.In addition, the report update module compares the hash value of the updated report data with the hash value previously stored in the block chain of the corresponding financial company and stores the final data in the report DB if they match.

상기한 바와 같은 목적을 달성하기 위한 본 발명의 또 다른 특징에 따르면, 본 발명인 매핑 테이블을 이용한 온톨로지와 금융DB의 연동 방법은, (a) 자연어로 표현된 법령 또는 규정을 형태소분석을 통해 온톨로지 요소들로 구분한 후 온톨로지코드(OWL code; 이하 온톨로지 코드)로 변환하여 온톨로지DB에 저장하는 단계; (b) 클라이언트로부터 테이블 양식 정보가 수신되면 상기 테이블 양식 정보에 포함된 하나 이상의 항목별로 온톨로지코드를 매핑하여 매핑요청테이블을 생성하는 단계; 및 (c) 상기 테이블생성모듈을 통해 생성된 매핑요청테이블을 금융사서버로 송신하고, 상기 금융사서버로부터 상기 매핑요청테이블에 해당하는 보고서 데이터를 수신하고 수신된 보고서데이터를 보고서 DB에저장하는 단계;를 포함한다.According to another feature of the present invention for achieving the above object, the method of linking an ontology and a financial DB using the mapping table of the present inventor is (a) an ontology element through morphological analysis of laws or regulations expressed in natural language. After dividing into the ontology code (OWL code; hereafter referred to as the ontology code) and storing the converted into the ontology DB; (b) generating a mapping request table by mapping ontology codes for each one or more items included in the table form information when the table form information is received from the client; and (c) transmitting the mapping request table generated through the table creation module to a financial company server, receiving report data corresponding to the mapping request table from the financial company server, and storing the received report data in a report DB; includes

또한, 상기 금융사서버는, 상기 매핑요청테이블을 수신하면 상기 항목별로 온톨로지코드에 맞춰 금융DB에 저장된 값을 매칭하는 것을 특징으로 한다.In addition, the financial company server, upon receiving the mapping request table, is characterized in that it matches the value stored in the financial DB according to the ontology code for each item.

또한, 본 발명인 매핑 테이블을 이용한 온톨로지와 금융DB의 연동 방법은, (d) 클라이언트를 통해 보고서 DB에 저장된 보고서데이터 중 어느 하나가 선택되면 선택된 보고서데이터에 해당하는 금융DB로부터 수신받아 보고서를 갱신하는 단계;을 더 포함하는 것을 특징으로 한다.In addition, the present inventor's method of linking an ontology and a financial DB using a mapping table is (d) when any one of the report data stored in the report DB is selected through a client, the report is updated by receiving from the financial DB corresponding to the selected report data. step; characterized in that it further comprises.

또한, 상기 (d)단계는, 갱신된 보고서데이터의 해시값과 해당 금융사의 블록체인에 기 저장된 해시값을 비교하여 일치하면 최종데이터를 보고서 DB에 저장하는 것을 특징으로 한다.In addition, in step (d), the hash value of the updated report data is compared with the hash value previously stored in the blockchain of the financial company and, if they match, the final data is stored in the report DB.

이상 살펴본 바와 같은 본 발명에 따르면, 개념검증 대상의 법·규정을 형태소 분석 등 딥러닝을 활용한 자연어처리를 수행하여, 수작업보다 빠른 시간내에 처리할 수 있는 시간 단축 효과로 효율적인 자원 사용을 위한 기반을 마련했으며, 온톨로지를 이용하여 법·규정 변경시 배포의 일관성과 효과적인 머신 실행가능 레귤레이션 구조를 완성한 매핑 테이블을 이용한 온톨로지와 금융DB의 연동 시스템 및 방법을 제공할 수 있다.According to the present invention as described above, natural language processing using deep learning such as morphological analysis of laws and regulations subject to concept verification is performed, and a time-saving effect that can be processed in a shorter time than manual work is a basis for efficient resource use It is possible to provide a system and method for linking ontology and financial DB using a mapping table that uses ontology to achieve consistency in distribution and an effective machine-executable regulation structure when laws and regulations change.

또한, 본 발명에 따르면, 온톨로지(RDF, OWL)화되어 있는 법·규정을 웹 기술(Spring DATA JPA) 기술을 이용하여 머신 실행가능 레귤레이션의 자동화 실행가능성을 높였으며, 오픈API와 해쉬값을 활용한 위변조 방지를 위한 블록체인(HyperLedger Fabric)의 프로토타입 구성과 금융클라우드의 활용은 시스템 구성의 시간과 비용의 감소를 통한 효율적인 매핑 테이블을 이용한 온톨로지와 금융DB의 연동 시스템 및 방법법을 제공할 수 있다.In addition, according to the present invention, by using the web technology (Spring DATA JPA) technology of laws and regulations that have been converted into ontology (RDF, OWL), the feasibility of automatic execution of machine-executable regulation is increased, and open API and hash values are utilized. Prototype configuration of blockchain (HyperLedger Fabric) and use of financial cloud to prevent forgery can provide a system and method for linking ontology and financial DB using an efficient mapping table through reduction of system configuration time and cost. have.

도 1은 본 발명의 실시예에 따른 MDA와의 관련성에 대해 CIM, PIM, 및 PSM 관점으로 설명하는 예시도
도 2는 DRR2에서 자료 구조 제작 과정과 규칙 제작과정에 대한 순서도
도 3은 본 발명의 바람직한 실시예에 따른 MDA 설계 프로세스에 대한 데이터 구조 제작과정과 규칙 제작과정에 대한 순서도
도 4는 본 발명의 바람직한 실시예에 따른 MDA의 자체 개발 CIM를 나타낸 예시도
도 5는 PoC에서 자연어 규제문장의 PIM으로의 변환 예를 나타낸 예시도
도 6은 본 발명의 실시예에 따른 머신 리더블 레귤레이션 생성 시스템의 구성을 나타낸 블럭도
도 7은 본 발명의 실시예에 따른 머신 리더블 레귤레이션 생성 방법의 생성 순서를 나타낸 순서도
도 8은 퍼블릭 vs 프라이빗 DLT 비교한 예시도
도 9은 형태소 분석 및 딥러닝 단계의 전체 분석 과정을 나타낸 예시도
도 10은 형태소 분석 및 딥러닝 단계의 전체 분석 과정을 나타낸 예시도
도 11은 형태소 분석 과정 프로세스를 나타낸 예시도
도 12는 형태소 분석결과를 나타낸 예시도임
도 13은 규제문장과 관련한 딥러닝 분석을 나타낸 예시도
도 14는 ANN 알고리즘 적용 Rule 존재 유무에 대해 성능을 판정한 정확도 결과를 나타낸 예시도
도 15는 RNN 알고리즘 적용 Rule 존재 유무에 대해 성능을 판정한 정확도 결과를 나타낸 예시도
도 16은 LSTM 알고리즘 적용 Rule 존재 유무에 대해 성능을 판정한 정확도 결과를 나타낸 예시도
도 17은 형태소 분석결과와 딥러닝 수행의 처리결과를 나타낸 예시도
도 18은 온톨로지 요소와 규제문장 여부를 보여주는 UI 구축한 형태를 나타낸 예시도
도 19는 본 발명의 실시예에 따른 온톨로지 기반 머신리더블 레귤레이션 시각화 시스템의 구성을 나타낸 블럭도
도 20은 본 발명의 실시예에 따른 온톨로지 기반 머신리더블 레귤레이션 시각화 방법의 제공 순서를 나타낸 순서도
도 19는 법령시각화에 대한 플로우(flow)를 보여주는 예시도
도 21은 법령 온톨로지의 전체 구조 가운데 일부인 법령에 해당되는 내용을 도식화한 예시도
도 22는 위해서는 온톨로지 내용과 금융DB 내용이 연계되어 매핑된 나타낸 예시도
도 23은 본 발명의 실시예에 따른 매핑 테이블을 이용한 온톨로지와 금융DB의 연동 시스템의 구성을 나타낸 블럭도
도 24는 본 발명의 실시예에 따른 매핑 테이블을 이용한 온톨로지와 금융DB의 연동 방법의 제공 순서를 나타낸 순서도
도 25는 생성된 두 개의 JPA Repository 클래스를 나타낸 예시도
도 26은 보고서 생성 REST API를 제공하는 자동생성된 Controller 클래스의 예를 나타낸 예시도
도 27은 MRR 시각화 관계망 내의 법령 검색화면을 나타낸 예시도
도 29은 보고 체계 시스템 개념 검증 프로세스의 전체 업무의 흐름을 나타낸 흐름도
도 30는 보고 체계 시스템별 업무 구분에 따른 시스템별 구성을 나타낸 예시도
도 31은 금융감독원 보고서 화면을 나타낸 예시도
도 32은 대시보드의 화면구성을 나타낸 예시도
도 33는 법령 변경 시 보고 체계 시스템 업무 프로세스를 나타낸 법령 변경 논리 구성도이다.
1 is an exemplary diagram illustrating the relationship with MDA according to an embodiment of the present invention from the viewpoint of CIM, PIM, and PSM;
2 is a flowchart of a data structure production process and a rule production process in DRR2
3 is a flowchart of a data structure manufacturing process and a rule manufacturing process for the MDA design process according to a preferred embodiment of the present invention;
Figure 4 is an exemplary view showing the self-developed CIM of MDA according to a preferred embodiment of the present invention
5 is an exemplary diagram showing an example of conversion of natural language regulatory sentences to PIM in PoC
6 is a block diagram showing the configuration of a machine readable regulation generation system according to an embodiment of the present invention;
7 is a flowchart illustrating a generation sequence of a method for generating a machine readable regulation according to an embodiment of the present invention;
8 is an exemplary diagram comparing public vs private DLT
9 is an exemplary diagram showing the entire analysis process of morpheme analysis and deep learning steps
10 is an exemplary diagram showing the entire analysis process of morpheme analysis and deep learning steps
11 is an exemplary diagram illustrating a morpheme analysis process process
12 is an exemplary view showing the result of morpheme analysis;
13 is an exemplary diagram showing deep learning analysis related to regulatory sentences
14 is an exemplary view showing the accuracy result of determining the performance with respect to the presence or absence of the ANN algorithm application rule
15 is an exemplary view showing the accuracy result of determining the performance with respect to the existence of the RNN algorithm application Rule
16 is an exemplary view showing the accuracy result of determining the performance with respect to the presence or absence of the LSTM algorithm application rule
17 is an exemplary view showing a morpheme analysis result and a processing result of performing deep learning
18 is an exemplary view showing a UI construction form showing whether ontology elements and regulatory sentences exist
19 is a block diagram showing the configuration of an ontology-based machine readable regulation visualization system according to an embodiment of the present invention;
20 is a flow chart showing a procedure of providing an ontology-based machine readable regulation visualization method according to an embodiment of the present invention;
19 is an exemplary diagram showing a flow for legal visualization
21 is an exemplary diagram schematically illustrating the content corresponding to the statute, which is a part of the overall structure of the statute ontology.
22 is an exemplary diagram showing the mapping of the contents of the ontology and the contents of the financial DB for the purpose
23 is a block diagram showing the configuration of an ontology and financial DB interworking system using a mapping table according to an embodiment of the present invention;
24 is a flowchart illustrating a method for interworking an ontology and a financial DB using a mapping table according to an embodiment of the present invention.
25 is an exemplary view showing two generated JPA Repository classes
26 is an exemplary diagram showing an example of an automatically generated Controller class that provides a report generation REST API
27 is an exemplary view showing a law search screen in the MRR visualization network
29 is a flowchart showing the overall work flow of the reporting system system concept verification process
30 is an exemplary diagram showing the configuration of each system according to the division of tasks for each system of the reporting system
31 is an exemplary view showing a report screen of the Financial Supervisory Service
32 is an exemplary view showing the screen configuration of the dashboard
33 is a structural diagram of a law change logic showing a work process of a reporting system when a law is changed.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다.Advantages and features of the present invention and methods of achieving them will become apparent with reference to the embodiments described below in detail in conjunction with the accompanying drawings.

그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.However, the present invention is not limited to the embodiments disclosed below, but may be implemented in various different forms, and only these embodiments allow the disclosure of the present invention to be complete, and common knowledge in the art to which the present invention pertains It is provided to fully inform those who have the scope of the invention, and the present invention is only defined by the scope of the claims. Like reference numerals refer to like elements throughout.

이하, 본 발명의 실시예들에 의하여 머신 리더블 레귤레이션 생성 시스템 및 방법을 설명하기 위한 도면들을 참고하여 본 발명에 대해 설명하도록 한다.Hereinafter, the present invention will be described with reference to drawings for explaining a system and method for generating a machine readable regulation according to embodiments of the present invention.

본 발명은, 클라이언트로부터 유선 또는 무선으로 자연어로 표현된 법령 또는 규정이 입력되면 입력된 법령 또는 규정을 기록매체에 기록된 프로그램을 통해 인식할 수 있는 언어로 변환하는 시스템 및 방법에 관한 것이다.The present invention relates to a system and method for converting laws or regulations expressed in natural language by wire or wirelessly from a client into a language that can be recognized through a program recorded on a recording medium.

우선 개념을 정리하자면, 본 발명의 전반에 걸쳐 기재된 온톨로지란 원래 철학 용어인‘존재론’의 의미이며, 논리 이론에서 차용해 온 개념이다.First, to summarize the concept, the ontology described throughout the present invention means the original philosophical term 'ontology', and it is a concept borrowed from logic theory.

영국 등에서 MRR 표현을 위해 OWL 등 온톨로지 언어를 사용하고 있다.In the UK, etc., ontology languages such as OWL are used to express MRR.

온톨로지란 “an explicit specification of a conceptualization”, 즉 세상에 존재하는 개념을 기계가 이해할 수 있는 형태로 모델링하는 방법 중 하나이며 개념 모델링의 방법이다.Ontology is “an explicit specification of a conceptualization”, that is, it is one of the methods of modeling concepts existing in the world in a form that can be understood by machines, and it is a method of conceptual modeling.

온톨로지 언어로는 그 표현력에 따라 XML, RDF, DAML (by DARPA), DAML+OIL, OWL의 순으로 표현이 더욱 풍부하다.According to the expressive power of the ontology language, the expression is richer in the order of XML, RDF, DAML (by DARPA), DAML+OIL, and OWL.

특히 OWL은 논리 규칙 표현 여부에 따라 OWL DL, OWL Lite 등으로 분류되며, 인스턴스 값만을 따로 관리하기 위해 OWL Instance를 가질 수 있다.In particular, OWL is classified into OWL DL, OWL Lite, etc. depending on whether logic rules are expressed or not, and can have OWL Instance to manage only instance values separately.

온톨로지 언어는 대체로 다음과 같이 구성된다.Ontology language is usually composed as follows.

Entity: 개념에 등장하는 모든 구성 요소의 통칭Entity: A generic term for all components that appear in a concept.

Class: 객체의 의미를 가짐 (예: 법령, 금융기관 등)Class: Has the meaning of an object (eg laws, financial institutions, etc.)

Individual: Class 의 인스턴스의 의미 (예: 제63조 1항, xx은행 등)Individual: Meaning of instance of Class (Example: Article 63 Paragraph 1, xx Bank, etc.)

Object Property: 관계성의 의미 (예: 감독(금융감독기관, 금융기관)에서 ‘감독’)Object Property: Meaning of relationship (eg, ‘supervision’ in supervision (financial supervisory institution, financial institution))

Data Property: 객체들의 속성의 의미 (예: 금융기관의 상호명, 주소 등)Data Property: Meaning of properties of objects (eg, name of financial institution, address, etc.)

금융법령과 같은 텍스트로부터 온톨로지를 자동으로 제작하는 방법은 없다.There is no way to automatically create an ontology from texts such as financial laws.

그러나 대체로 다음과 같은 원칙을 따른다.However, in general, the following principles are followed:

Class: 명사형 Class: noun

Subclass, Superclass 존재 가능Subclass and Superclass can exist

Individual: 명사형 또는 문장으로 특정 class의 실제값Individual: the actual value of a specific class as a noun or sentence

Object Property: 3형식 이상의 동사형이 해당할 가능성이 높으며, 이때 문장 상에 등장하는 주어는 Class Domain, 목적어는 Class Range 일 수 있다.Object Property: There is a high possibility that three or more verb forms are applicable. In this case, the subject appearing in the sentence may be Class Domain, and the object may be Class Range.

Data Property: 명사형으로 Class를 특징지어주는 것이며 문장 상에서 Class Domain과 함께 등장할 가능성이 높다.Data Property: It is a noun type that characterizes the class, and it is highly likely to appear together with the class domain in the sentence.

온톨로지(특히 OWL, RDF) 제작 지원 도구로는 Protιgι, OntoEdit 이 가장 대표적이며, 이들을 대체로 Open API를 제공하므로 추후 MRR 시스템 내에서 호출이 가능하다.Protιgι and OntoEdit are the most representative tools to support ontology (especially OWL, RDF) production, and since they generally provide Open API, they can be called from within the MRR system later.

온톨로지 시각화 도구로는 VOWL, OWLVIZ 가 가장 대표적이다.VOWL and OWLVIZ are the most representative ontology visualization tools.

규제문장 분석 및 온톨로지 시각화 하기 위해서는 아래와 같은 과정이 필요하다.In order to analyze the regulatory text and visualize the ontology, the following process is required.

1, 자연어 문장을 분석하기 위해서는 형태소 분석이 필요하다.1, Morphological analysis is necessary to analyze natural language sentences.

규제 문장을 분석하기 위해서는 자연어 처리 기술이 필요하다.Natural language processing technology is required to analyze regulatory sentences.

자연어(自然語, Natural Language)란 의사소통의 목적으로 사용되고 있는 언어로서 인공적으로 제작되거나 인위적인 조작을 가한 것이 아닌 역사적으로 자연스럽게 점증 발전되어온 언어이다.Natural language is a language used for the purpose of communication. It is a language that has been gradually developed historically, not artificially created or artificially manipulated.

따라서, 자연어는 현대에 탄생하여 급격하게 발전되어온 컴퓨터(기계)가 이해하기 쉽게 구조화된 언어가 아니다.Therefore, natural language is not a structured language that is easy to understand by computers (machines), which have been rapidly developed and developed in modern times.

컴퓨터는 자연어가 사용된 이후에 개발된 것이지만, 역시 자연어를 잘 이해하도록 구조화되어 있지 않다.Although computers were developed after natural language was used, they are also not structured to understand natural language well.

2. 문장 단위의 비정형 데이터는 단어 단위로 분리해야 한다.2. Unstructured data in sentence unit should be separated into word unit.

비정형 데이터는 컴퓨터가 처리하기에는 매우 복잡한 형태로 되어 있으므로 정형데이터 또는 그와 유사한 형태로 변환해야 한다.Since unstructured data is in a very complex form for a computer to process, it must be converted into structured data or a similar form.

자연어로 된 비정형 데이터를 정형 데이터로 변환하기 위한 첫 번째 단계는 형태소 분석 과정이다.The first step to transform unstructured data in natural language into structured data is a morphological analysis process.

형태소 분석은 전체 텍스트를 최소 의미 단위인 형태소로 분리하는 과정이다.Morphological analysis is the process of separating the entire text into morphemes, which are the smallest unit of meaning.

예를 들어 ‘전자문서가 생성된 이후 서명자가 지급인 본인임을 확인 가능’과 같은 문장이 입력되었다고 할 때, 컴퓨터는 이 문장 전체를 하나의 단위로 취급할 수는 없다.For example, when a sentence such as 'It is possible to verify that the signer is the payer after the electronic document is created' is input, the computer cannot treat the entire sentence as a unit.

하나의 단위로 취급하려면 그 단위가 많은 경우에 반복적으로 사용되어야 하는데, 위의 문장이 다시 사용될 일은 많지 않기 때문이다.To treat it as a unit, the unit must be used repeatedly in many cases, because the above sentence is rarely used again.

따라서 숫자형 데이터가 각 단위별로 의미 단위인 0~9 중 하나를 판별하듯이, 자연어 데이터도 반복적으로 사용되는 의미 단위를 파악해야 한다.Therefore, just as numeric data determines one of the semantic units 0 to 9 for each unit, it is necessary to identify semantic units that are used repeatedly in natural language data.

3. 분리된 각각의 단위는 문서에서 반복적으로 사용됨을 알 수 있다.3. It can be seen that each separate unit is used repeatedly in the document.

명사인 ‘전자문서, 서명자, 지급인, 본인, 확인, 가능’은 물론 형식적 의미를 갖는 형태소인 ‘-가, -ㄴ, -이-, -ㅁ, -을’들은 한국어 문장에서 반복적으로 사용되는 형태이다.The nouns 'electronic document, signer, payer, person, confirmation, possible' as well as morphemes with formal meanings '-ga, -b, -i-, -ㅁ, -e' are used repeatedly in Korean sentences. is the form

이들은 이후 머신러닝 단계에서 제한된 한국어 어휘 목록에 속하는 것으로 각각에 대하여 고유 식별 번호를 붙여 숫자로 변환하여 정형데이터처럼 사용할 수 있다.They belong to the limited Korean vocabulary list in the subsequent machine learning stage, and they can be converted into numbers by attaching a unique identification number to each and used as structured data.

4. 비정형 데이터를 숫자 형태의 정형 데이터로 치환한다.4. Replace unstructured data with number-type structured data.

형태소 분석된 텍스트 데이터는 정형 데이터와 유사하게 처리할 수 있다.The stemmed text data can be processed similarly to structured data.

형태소 분석이 이루어지면 숫자로 표현되는 정형 데이터로 만들 수 있다.When morpheme analysis is performed, it can be made into structured data expressed in numbers.

예를 들어 1열은 ‘아이’, 2열은 ‘점심’, 3열은 ‘저녁’, … 으로 지정하고 각 위치에 해당 단어가 사용되었는지를 기록함. 예를 들어, ‘점심’의 위치는 [ , 2]가 되고, 첫 문장은 해당 위치에 ‘1’을, 두 번째 문장은 ‘0’을 주어 단어 출현 여부를 기록한다.For example, column 1 is ‘child’, column 2 is ‘lunch’, column 3 is ‘dinner’, … and record whether the word is used in each position. For example, the position of 'lunch' becomes [ , 2], and the first sentence gives '1' to the corresponding position and '0' for the second sentence to record whether or not the word appears.

이와 같이 분류된 텍스트 문장은 단위가 형태소 단위로 빈도 계산이 된 것이므로 이후 머신러닝 및 딥러닝 과정에서 문장의 어휘를 이용한 분류 문제에 적용될 수 있다.Since the text sentences classified in this way are frequency calculated in units of morphemes, they can be applied to the classification problem using the vocabulary of the sentences in the subsequent machine learning and deep learning processes.

오픈소스 형태소 분석기로는 10여 가지 정도 있음There are about 10 open source stemming analyzers

형태소 분석기는 개발에 최소 수 년의 시간이 소요되므로 개발 기관은 비공개로만 운영해 왔다.Since the stemming analyzer takes at least several years to develop, the development institution has operated it only privately.

그러나 최근 빅데이터에 대한 민간의 관심이 높아지기 시작한 2010년 이후 오픈 소스로 배포되는 버전들이 나타나기 시작하였다.However, since 2010, when private interest in big data began to increase, versions distributed as open source began to appear.

오픈소스 형태소분석기를 관리하는 Koalanlp에는 11개의 공개된 형태소분석기가 등재되어 있다.In Koalanlp, which manages open source stemmers, 11 public stemmers are listed.

상위에서 언급된 RHINO는 공개 버전이며, 본 발명에 사용된 RHINO는 비공개 버전(v3.7.3)으로 수행했고, 공개 버전과 비공개버전은 동일한 인터페이스를 가진다.RHINO mentioned above is a public version, RHINO used in the present invention was performed with a private version (v3.7.3), and the public version and the private version have the same interface.

머신러닝은 인간의 학습능력을 컴퓨터상에서 재현하는 기술이다.Machine learning is a technology that reproduces human learning ability on a computer.

머신러닝은 인간이 모든 규칙을 세워야 하는 부분에 대하여 자동으로 규칙을 찾는 알고리즘이다.Machine learning is an algorithm that automatically finds rules for the parts where humans need to establish all rules.

머신러닝은 검색엔진, 스팸검출, 마케팅 예측, DNA 분석, 음성 및 문자 패턴 인식 등 광범위한 분야에서 사용되고 있다. Machine learning is used in a wide range of fields, including search engines, spam detection, marketing prediction, DNA analysis, and speech and text pattern recognition.

본 발명에서 사용하는 신경망 알고리즘은 뇌의 신경세포와 유사한 구조를 가지고 있으며, 그 기본 단위는 다음과 같다.The neural network algorithm used in the present invention has a structure similar to that of neurons in the brain, and its basic unit is as follows.

하나의 뉴런, 즉 노드에 여러 개의 설명변수들이 들어오고, 이것이 일정한 수준 이상이 되면 가중치를 받아 출력되게 하는 구조이다.It is a structure in which several explanatory variables enter one neuron, that is, a node, and when it exceeds a certain level, it is output with weights.

인간의 뇌에 수많은 뉴런이 있듯이 위와 같은 노드를 여러 개 연결하여 최적의 값을 구하는 것이 신경망의 기본적인 알고리즘이다.As there are many neurons in the human brain, the basic algorithm of a neural network is to connect several nodes as above to find the optimal value.

신경망은 입력층(Input Layer), 은닉층(Hidden Layer), 출력층(Output Layer)로 구성되어 있다.A neural network consists of an input layer, a hidden layer, and an output layer.

입력 노드는 독립변수 및 출력 노드는 종속변수에 대응되며, 은닉 노드는 임의로 구성한다.The input node corresponds to the independent variable and the output node corresponds to the dependent variable, and the hidden node is arbitrarily configured.

특정 기억을 자주 떠올리면 시냅스가 활성화되어 잘 기억하는 것에서 착안한 것으로, 각 노드를 완전 연결시킨 뒤, 학습 데이터가 어떠한 연결선과 노드를 거치는지를 파악하여 노드의 가중치를 결정한다.When a specific memory is frequently recalled, a synapse is activated and the memory is well remembered. After completely connecting each node, the weight of the node is determined by figuring out which connection lines and nodes the learning data passes through.

은닉층이 둘 이상인 모델을 딥러닝이라고 한다.A model with two or more hidden layers is called deep learning.

관계형 DB를 프로그램에서 사용할 때 기존의 JDBC 또는 Mapper 방식(MyBatis 등)은 DB 의존성이 높아 생산성이 낮고 유지보수가 힘들며 다양한 DBMS 벤더에 따른 호환성 문제가 발생한다.When a relational DB is used in a program, the existing JDBC or Mapper method (MyBatis, etc.) has high DB dependence, so productivity is low, maintenance is difficult, and compatibility problems occur according to various DBMS vendors.

영속(persistence)적인 데이터를 위해 데이터베이스가 사용됨. 프로그램의 아키텍처에서 데이터에 영속성을 부여해주는 계층으로 영속성 계층(persistence layer)가 있다.A database is used for persistent data. In the architecture of a program, there is a persistence layer as a layer that gives persistence to data.

데이터베이스와의 연결을 위한 persistence layer를 구현하기 위하여 초기에 널리 사용되어온 JDBC 대신에 최근에는 JDBC 프로그래밍의 복잡성 또는 유지보수 어려움 없이 개발의 신속성, 유지보수 용이성, 구동의 안정성이 높은 Persistence Framework가 널리 사용된다.Instead of JDBC, which was widely used in the early days to implement the persistence layer for connection to the database, recently, the Persistence Framework is widely used without the complexity of JDBC programming or maintenance, and the high speed of development, easy maintenance, and high stability of operation. .

Persistence Framework는 Mybatis와 같은 SQL Mapper 방식과 Hibernate와 같은 ORM(Object-Relational Mapping) 방식으로 나눌 수 있다.Persistence Framework can be divided into SQL Mapper method such as Mybatis and ORM (Object-Relational Mapping) method such as Hibernate.

SQL Mapper 방식은 JDBC의 문제점은 해결하지만 ORM과 비교하여 아래와 같은 문제점을 가지고 있다.The SQL Mapper method solves the problems of JDBC, but has the following problems compared to ORM.

SQL Mapper 방식은 객체 필드를 직접 SQL을 사용하여 매핑해주는 방식으로 SQL을 이용하여 CRUD(Create, Read, Update, Delete) 용 질의를 작성하는데, DB 스키마의 변경 등이 발생할 때 SQL 문을 변경해야 하므로 객체지향 언어인 JAVA로 개발함에도 DB 의존성이 높아져 개발 생산성이 떨어지고 유지보수가 어렵다.The SQL Mapper method maps object fields directly using SQL. A query for CRUD (Create, Read, Update, Delete) is written using SQL. Even when developing with JAVA, an object-oriented language, dependency on DB increases, which lowers development productivity and makes maintenance difficult.

또한, SQL을 직접 사용하기 때문에 Oracle, MySQL, MS SQL Server 등과 같이 다른 DBMS 제품을 사용하는 경우에 제품마다 다른 SQL 문의 차이로 인하여 호환성 문제가 발생한다.Also, since SQL is used directly, compatibility problems occur due to differences in SQL statements for each product when using other DBMS products such as Oracle, MySQL, or MS SQL Server.

ORM(Object-Relational Mapping) 방식은 DB 데이터를 객체로 변환하여 객체 중심 개발을 가능하게 함으로써 SQL Mapper 방식이 가지는 문제를 해결하며, ORM 방식의 Java 표준인 JPA(Java Persistence API)가 제공된다.The ORM (Object-Relational Mapping) method solves the problem of the SQL Mapper method by converting DB data into an object and enabling object-oriented development, and JPA (Java Persistence API), the Java standard of the ORM method, is provided.

ORM 방식은 SQL 문을 작성하는 대신 DB 컬럼과 객체의 필드를 매핑해 주고, 이 객체를 통해 DB를 액세스한다.The ORM method maps DB columns and object fields instead of writing SQL statements, and accesses the DB through this object.

ORM 방식을 사용하게 되면 질의를 직접 생성하는 것이 아니고 생성된 객체를 가지고 메소드를 이용하여 DB를 다루기 때문에 객체 중심의 개발이 되어 생산성과 유지보수성이 높아진다.If you use the ORM method, you do not create a query directly, but use the method with the created object to handle the DB, so object-oriented development increases productivity and maintainability.

ORM 방식을 사용하면 SQL 대신 JPQL과 같은 DB 독립적인 언어를 사용하기 때 DB 의존성이 없어진다. Using the ORM method eliminates DB dependency when using a DB-independent language such as JPQL instead of SQL.

단, JPQL로 표현할 수 없는 복잡한 질의의 경우에 Native SQL을 사용할 수 있다.However, for complex queries that cannot be expressed in JPQL, Native SQL can be used.

ORM을 위한 JAVA 표준인 JPA 기반의 다양한 개발 도구들이 존재한다.Various development tools based on JPA, the JAVA standard for ORM, exist.

Java JPA는 여러 ORM 전문가가 참여한 EJB 3.0 스펙 작업에서 기존 EJB ORM이던 Entity Bean을 JPA라고 바꾸고 JavaSE, JavaEE를 위한 영속성(persistence) 관리와 ORM을 위한 표준을 모아 인터페이스로 제공한다.Java JPA changes the existing EJB ORM Entity Bean to JPA in the EJB 3.0 specification work in which several ORM experts participated, and collects standards for persistence management and ORM for JavaSE and JavaEE and provides them as interfaces.

JPA는 ORM 표준 인터페이스 기술이고, 구현체로서 Hibernate, OpenJPA, EclipseLink, TopLink Essentials 등이 있다.JPA is an ORM standard interface technology, and Hibernate, OpenJPA, EclipseLink, TopLink Essentials, etc. are implemented as implementations.

Spring Framework 기반의 JPA로서 Spring Data JPA가 있음. Spring Framework는 Rod Johnson이 EJB의 여러 문제를 해결하여 엔터프라이즈 어플리케이션 개발을 용이하게 하기 위한 목적으로 만든 오픈소스 애플리케이션 프레임워크이다.As JPA based on Spring Framework, there is Spring Data JPA. Spring Framework is an open source application framework created by Rod Johnson for the purpose of facilitating enterprise application development by solving various problems of EJB.

JPA 질의 방식들은 다양한 방법들이 존재하는데 Query method 방식이 메소드 이름 작성만으로 DB를 액세스할 수 있는 프로그램을 개발할 수 있게 함으로써 개발 및 유지보수 측면에서 큰 장점을 가진다.There are various methods for JPA query methods, and the Query method method has great advantages in development and maintenance as it allows you to develop a program that can access the DB only by writing the method name.

MDA의 개념, 등장배경, 기본 구조 및 PoC와의 관련성에 대해 다음과 같이 개관을 제시한다.An overview of the concept of MDA, its background, its basic structure, and its relevance to PoC is presented as follows.

MDA(Model-driven architecture)는 OMG(Object Management Group, 객체 관리 그룹)가 제안한 독립적인 소프트웨어 자동화 기술이다.MDA (Model-driven architecture) is an independent software automation technology proposed by OMG (Object Management Group).

이상적으로는 코드를 자동으로 생성하도록 하기 위한 기술이며 이를 위해 모델을 종속적으로 설계하지 않고, 객관적(플랫폼 독립적으로)으로 설계한 후 플랫폼에 맞춰서 모델에 따른 코드를 생산하려는 접근법이다. Ideally, it is a technology to automatically generate code, and for this purpose, it is an approach to produce code according to the model according to the platform after designing it objectively (platform-independently) without designing the model dependently.

MDA 등장은 CORBA의 복잡성, 기존 미들웨어 한계, 및 개발 패러다임 변화로 인해 등장하게 되었다.MDA appeared due to the complexity of CORBA, limitations of existing middleware, and changes in development paradigm.

MDA 기본 구조는 다음과 같이 CIM (Computation-independent model), PIM (Platform-independent model), PSM (Platform-specific model), 및 Code의 순서로 구조를 갖고 있다.The MDA basic structure has a structure in the order of CIM (Computation-independent model), PIM (Platform-independent model), PSM (Platform-specific model), and Code as follows.

본 PoC와의 MDA 관련성에 대해 도 1과 같이 CIM, PIM, 및 PSM 관점으로 설명할 수 있다.The MDA relevance with this PoC can be described in terms of CIM, PIM, and PSM as shown in FIG. 1 .

DRR2 사례에서는 자료 구조(data structure) 및 규칙(rule) 표현에 대해 설명하고 있다.In the case of DRR2, data structure and rule expression are described.

DRR2에서 자료 구조 제작 과정과 규칙 제작과정은 도 2와 같다.The data structure production process and rule production process in DRR2 are shown in FIG. 2 .

DRR2 사례를 요약하면 다음과 같다.A summary of the DRR2 case is as follows.

SHACL은 closed world에서의 지식 표현에, OWL은 open world에서의 지식 표현에 강점을 가진다.SHACL has strength in knowledge expression in the closed world, and OWL has strength in knowledge expression in open world.

SHACL은 결론←조건 (...하려면 응당 ...해야 한다) 형태의 표현을, OWL에서는 조건→결론 (...하면 ...가 된다) 형태의 표현을 채택하고 있다.SHACL adopts the expression in the form of conclusion ← condition (if you want to ... you must ...), and in OWL, expression in the form of condition → conclusion (if ... becomes ...) is adopted.

그러나 SHACL이나 OWL이나 설명논리(descriptive logic)에 집중하는 표현법을 사용하므로 절차적 지식(procedural knowledge)으로 표현해야 하는 비즈니스 룰 표현에는 한계가 있다.However, since SHACL or OWL or an expression method focusing on descriptive logic is used, there is a limit to the expression of business rules that must be expressed with procedural knowledge.

따라서 본 PoC에서는 별도의 규칙 표현 방법을 개발하였다.Therefore, in this PoC, a separate rule expression method was developed.

본 PoC에서의 MDA 설계 프로세스는 도 3과 같다.The MDA design process in this PoC is shown in FIG. 3 .

본 PoC에서는 문형추출 meta rule 기반의 MRR 요소 추출기와 LSTM기반의 규제문장 판정기로 MDA과정을 지원한다.In this PoC, the MRR element extractor based on the sentence type extraction meta rule and the LSTM based regulatory sentence determiner support the MDA process.

즉, 반자동 생성기를 통해서 자연어 문장을 PIM으로 옮기는 시간과 노력을 단축하고, 일관성 점검을 할 수 있다.In other words, it is possible to reduce the time and effort to transfer natural language sentences to PIM through the semi-automatic generator, and to check consistency.

본 PoC에서 MDA의 자체 개발 CIM은 도 4와 같다.In this PoC, the self-developed CIM of MDA is shown in FIG.

자체 개발 PIM로 자연어 규제문장 및 RULE을 컴포넌트로 개발한다.Develop natural language regulatory sentences and RULE as components with self-developed PIM.

본 PoC에서 자연어 규제문장의 PIM으로의 변환 예는 도 5와 같다.An example of conversion of natural language regulatory sentences to PIM in this PoC is shown in FIG. 5 .

각 RULE의 표현이 PSM에서는 컴포넌트로 개발될 것이다.The representation of each RULE will be developed as a component in PSM.

자체 개발 PSM으로 매핑 테이블 작성과 ORM을 수행한다.Create mapping table and perform ORM with self-developed PSM.

본 PoC에서 매핑 테이블 작성과 ORM 프로세스는 다음과 같다.The mapping table creation and ORM process in this PoC is as follows.

매핑 테이블(Mapping table) 작성기를 통해 머신 리더블 레귤레이션 정보와 금융DB 정보를 연계한다.Links machine-readable regulation information and financial DB information through a mapping table writer.

금융DB는 금융사의 특정 data dictionary(즉 PSM)로 정의되었고 SQL로 코딩되었을 것이다.The financial DB was defined as a specific data dictionary (ie, PSM) of a financial company and would have been coded in SQL.

PoC에서는 표준 금융 DB를 사용하였고, 이것이 사전에 정의 가능하다고 보았기 때문에 매핑 테이블과 ORM으로 해결하였으나, 추후에는 PIM을 배포하면 각 금융사(또는 에이전트 회사)가 이에 맞게 PSM을 제작하도록 해야 할 것이다.In PoC, standard financial DB was used and it was considered that it could be defined in advance, so it was solved with a mapping table and ORM.

분산원장(DLT; Distributed Ledger Technology) 모델 개념Distributed Ledger Technology (DLT) model concept

DLT(Distributed Ledger Technology)는 중앙관리 시스템 없이 서로 통신할 수 있는 network 환경에서 모든 참여기관들이 동일한 원장의 데이터를 공유하는 기반 기술이다.DLT (Distributed Ledger Technology) is a basic technology that allows all participating organizations to share data from the same ledger in a network environment that can communicate with each other without a central management system.

데이터 송수신 및 관리 시스템 구축에 필요한 비용과 시간을 절약 가능하고, 실시간으로 갱신되는 정보 확인가능하다.It is possible to save the cost and time required for data transmission and reception and construction of the management system, and it is possible to check information updated in real time.

PKI(Public Key Infrastructure)기반의 데이터 암호화로 데이터 신뢰성 확보 가능하다.Data reliability can be secured with data encryption based on PKI (Public Key Infrastructure).

분산원장 도입 시 When distributed ledger is introduced

(현재 도입 기준) DLT가 어떤 효과를 거둘 수 있는지를 파악하기 위하여 도입 의사결정기준 필요하다.(Current introduction criteria) In order to understand what effect DLT can achieve, an introduction decision-making criterion is needed.

(미래 도입 기준) DLT 거래 속도 문제 해결을 위한 샤딩(Sharding), 라이덴(Raiden), 작업증명방식 개선(PoS) 등으로 극한 속도를 요구하는 경우를 제외한 광범위한 기술로 발전 예상한다.(Based on future introduction) It is expected to develop into a wide range of technologies except for cases that require extreme speed such as sharding, Raiden, and proof-of-work improvement (PoS) to solve the problem of DLT transaction speed.

(DLT 유형) DLT의 거버넌스(플랫폼 유지보수)에 따라 퍼블릭, 프라이빗, 컨소시엄 DLT 유형에 선택해야 한다.(DLT type) You must choose between public, private, and consortium DLT types according to the governance (platform maintenance) of the DLT.

(DLT 플랫폼) DLT는 아직 표준화가 되지 않은 미성숙 기술로 다양한 플랫폼이 경쟁하고 있어 적합한 SW 선택이 필요하다.(DLT Platform) DLT is an immature technology that has not yet been standardized, and various platforms are competing, so it is necessary to select an appropriate SW.

(보안) DLT 자체는 보안성이 높은 기술이지만, DLT 시스템 구현을 위해서는 다양한 보안 요소를 고려해야 한다.(Security) Although DLT itself is a high-security technology, various security factors must be considered in order to implement a DLT system.

(규제) 논쟁중인 규제 이슈(Regulation) Controversial regulatory issues

개인정보 침해 우려(개인정보ㆍ민감정보 공유) Concerns about infringement of personal information (sharing personal and sensitive information)

거래기록 파기의무(거래정보 삭제 불가) Duty to destroy transaction records (transaction information cannot be deleted)

사고 발생 시 법적 책임주체 모호 Ambiguity of legal responsibility in case of an accident

중앙 집중화된 전산환경을 기반으로 한 전자금융거래법과 상충 Conflict with the Electronic Financial Transactions Act based on a centralized computing environment

(비용) 기존시스템의 DLT로 전환비용과 비용절감 효과를 비교 필요하다.(Cost) It is necessary to compare the conversion cost and cost reduction effect of the existing system to DLT.

오픈소스로 도입 비용은 낮으나, 운용 단계에서 비용 증가한다. As open source, the introduction cost is low, but the cost increases during the operation stage.

* 오픈소스 유지보수 비용, 개발자 부족, 레거시 연계 비용, DLT 자체 보안성과는 별개로 시스템 보안 비용 발생* Open source maintenance cost, lack of developers, legacy linkage cost, system security cost separate from DLT's own security performance

** 저장용량 비교 : 비트코인 블록용량(145GB) vs 유가증권 DB용량(2392GB) ** Comparison of storage capacity: Bitcoin block capacity (145 GB) vs securities DB capacity (2392 GB)

DLT의 비용 측면은 시스템 비용 절감보다는 DLT 생태계에서 발생하는 새로운 가치를 통해 사용자의 비용 부담을 최소화하는 것이다. The cost aspect of DLT is to minimize the cost burden on users through new value generated in the DLT ecosystem rather than reducing system cost.

클라우드 서비스는 인터넷을 통해 다양한 컴퓨팅 서비스를 제공한다.Cloud services provide various computing services through the Internet.

On Premise 대비, 관리의 일정 부분을 Cloud 서비스 공급자가 수행하거나 관리 툴을 제공하여 관리 Point 감소한다.Compared to On-Premise, a certain part of management is performed by a cloud service provider or management tools are provided to reduce management points.

필요에 따라 빅데이터, 금융보안 요건 등 특정 조건을 만족할 수 있는 특화 서비스를 제공받아 업무 구현에 집중할 수 있다.If necessary, specialized services that can satisfy specific conditions, such as big data and financial security requirements, are provided so that you can focus on realizing your work.

소규모 자본과 인력의 스타트업의 경우, Cloud 기반의 devops 구축이 일반화되어 있다.For startups with small capital and manpower, cloud-based devops construction is common.

클라우드를 활용한 DLT 인프라 구성은 여러 참여 노드를 빠르게 구축하는 방법으로 대두된다.DLT infrastructure configuration using the cloud is emerging as a way to quickly build multiple participating nodes.

코스콤 금융 클라우드는 금융 서비스 전용 클라우드로서 최고 수준의 보안 및 안전성을 보장한다.Koscom Financial Cloud is a cloud dedicated to financial services and guarantees the highest level of security and safety.

코스콤 금융 클라우드에서 PoC 시스템을 구축하여 PoC 환경 구축 기간을 단축시키고, 향후 상용 서비스에 필요한 확장성을 검증할 수 있다.By building a PoC system in Koscom Financial Cloud, it is possible to shorten the construction period of the PoC environment and verify the scalability required for future commercial services.

코스콤 금융 클라우드에서 제공하는 관리 서비스 및 관리 도구를 이용하면 On-Premise 대비 관리 비용을 절감할 수 있다.By using management services and management tools provided by Koscom Financial Cloud, management costs can be reduced compared to on-premises.

API Gateway 처럼 특화된 서비스를 이용하여 불필요한 관리를 줄이고 업무에 집중할 수 있다.You can reduce unnecessary management and focus on work by using specialized services like API Gateway.

API(Application Programming Interface)는 어떠한 응용 프로그램에서 데이터를 주고 받기 위한 방법을 의미하며 공개 API와 비공개 API로 나뉘고 정보를 요청하고 받는 방식에 대한 규격을 의미하며 이 중에서 오픈 API는 플랫폼의 기능 또는 컨텐츠를 외부에서 쓸 수 있도록 웹 프로토콜(HTTP)로 호출할 수 있게 개방(open)한 API를 의미한다.API (Application Programming Interface) refers to the method for sending and receiving data in any application program. It refers to an API that is open so that it can be called by web protocol (HTTP) so that it can be used externally.

네이버맵, 카카오맵, 구글맵 같은 지도 분야뿐 아니라 SNS, 음악, 비즈니스, 날씨, 쇼핑 등에서 이용 중이며 금융결제원의 통합계좌조회 API, 코스콤의 open api platform과 같이 공공 분야에서도 활용된다.It is used not only in map fields such as Naver Map, Kakao Map, and Google Map, but also in SNS, music, business, weather, shopping, etc., and is also used in public fields such as the Korea Financial Telecommunications and Clearings Institute's integrated account inquiry API and Koscom's open api platform.

본 발명의 오픈 API는 금융 클라우드의 API Gateway를 적용하여 유연한 RESTful API 유지 관리, 백엔드 서비스 트랙픽 제어, 안전한 API 사용자 인증, API 사용량 모니터링 대시보드 제공할 수 있다.The open API of the present invention can provide flexible RESTful API maintenance, backend service traffic control, secure API user authentication, and API usage monitoring dashboard by applying the API Gateway of the financial cloud.

본 발명에서의 MRR 구성MRR configuration in the present invention

도 6은 본 발명의 실시예에 따른 머신 리더블 레귤레이션 생성 시스템의 구성을 나타낸 블록도이다.6 is a block diagram showing the configuration of a machine readable regulation generation system according to an embodiment of the present invention.

도 6을 참고하면 본 발명인 머신 리더블 레귤레이션 생성 시스템은, 변환모듈(110), 추출모듈(120), 판단모듈(130) 및 결합모듈(140)을 포함한다.Referring to FIG. 6 , the machine readable regulation generation system according to the present invention includes a conversion module 110 , an extraction module 120 , a determination module 130 , and a combination module 140 .

변환모듈(110)은, 자연어로 표현된 법령 또는 규정이 입력되면 형태소 분석을 통해 문장을 정형 데이터와 유사한 형태소로 변환한다.When a law or regulation expressed in natural language is input, the conversion module 110 converts the sentence into a morpheme similar to the structured data through morpheme analysis.

여기서, 상기 형태소 분석은, 하나의 어절에서 연속된 명사가 검출된 경우 하나 이상의 명사를 붙여 하나의 명사로 분석한다.Here, in the morpheme analysis, when consecutive nouns are detected in one word, one or more nouns are attached and analyzed as one noun.

추출모듈(120)은, 상기 변환모듈(110)을 통해 형태소로 변환된 문장에 대하여 명사와 동사를 메타언어 형태로 치환하고 온톨로지 구성요소를 추출한다.The extraction module 120 substitutes nouns and verbs into meta-language forms for the sentences converted into morphemes through the transformation module 110 and extracts ontology components.

여기서, 상기 추출모듈(120)은, 메타언어 형태로 치환된 문장의 문형분석을 통해 기 분석된 문형조건과 같은 문형을 갖고 있는 문장만을 별도로 저장하고, 문형조건과 같은 문형을 갖는 문장에 대하여 문형사전에 기록된 위치정보를 이용하여 온톨로지 구성요소를 추출한다.Here, the extraction module 120 separately stores only sentences having the same sentence type as the previously analyzed sentence type condition through sentence type analysis of the sentence replaced with the meta-language form, and for sentences having the same sentence type as the sentence type condition, the sentence type The ontology components are extracted using previously recorded location information.

판단모듈(130)은, 상기 변환모듈(110)을 통해 형태소로 변환된 문장에 대하여 딥러닝 판별을 통해 규제문장 존재여부를 판단한다.The determination module 130 determines whether or not a regulatory sentence exists through deep learning discrimination of the sentence converted into a morpheme through the transformation module 110 .

여기서, 상기 딥러닝 판별은, 기 작성된 학습데이터를 딥러닝 알고리즘을 통해 누적 저장하여 판정모델을 만든 후 상기 판정모델과의 비교를 통해 규제문장의 존재여부를 판단한다.Here, in the deep learning determination, the existence of a regulatory sentence is determined through comparison with the determination model after making a determination model by accumulating and storing previously prepared learning data through a deep learning algorithm.

그리고, 상기 규제문장의 존재여부는, 딥러닝 알고리즘을 통해 문자를 식별가능한 숫자로 변경 후 데이터 패딩(Data Padding)과정을 통해 각 문장의 크기를 동일하게 만들어 판정모델을 생성하고 메타언어로 치환된 문장과 비교하여 규제문장의 존재여부를 판단한다.And, the existence of the regulatory sentence is determined by changing the character to an identifiable number through a deep learning algorithm and making the size of each sentence the same through a data padding process to create a decision model and replace it with a meta language. It is compared with the sentence to determine the existence of the regulatory sentence.

결합모듈(140)은, 및 상기 추출모듈(120)을 통해 추출된 온톨로지 구성요소 추출 결과와 상기 판단모듈(130)을 통해 규제문장 존재여부 판단 결과를 결합한다.The combining module 140 combines the ontology component extraction result extracted through the extraction module 120 and the regulatory sentence existence determination result through the determination module 130 .

도 7은 본 발명의 실시예에 따른 머신 리더블 레귤레이션 생성 방법의 생성 순서를 나타낸 순서도이다.7 is a flowchart illustrating a generation sequence of a method for generating a machine readable regulation according to an embodiment of the present invention.

도 7을 참고하면, 우선 자연어로 표현된 법령 또는 규정이 입력되면 형태소 분석을 통해 문장을 정형 데이터와 유사한 형태소로 변환한다(s110).Referring to FIG. 7 , when laws or regulations expressed in natural language are input, the sentence is converted into a morpheme similar to the structured data through morpheme analysis (s110).

여기서, 상기 형태소 분석은, 하나의 어절에서 연속된 명사가 검출된 경우 하나 이상의 명사를 붙여 하나의 명사로 분석한다.Here, in the morpheme analysis, when consecutive nouns are detected in one word, one or more nouns are attached and analyzed as one noun.

그 다음, 상기 (s110)단계에서 형태소로 변환된 문장에 대하여 명사와 동사를 메타언어 형태로 치환하고 온톨로지 구성요소를 추출한다(s120).Next, with respect to the sentence converted into morphemes in step (s110), nouns and verbs are substituted into meta-language forms, and ontology components are extracted (s120).

여기서, 상기 (s120)단계는, 메타언어 형태로 치환된 문장의 문형분석을 통해 기 분석된 문형조건과 같은 문형을 갖고 있는 문장만을 별도로 저장하고, 문형조건과 같은 문형을 갖는 문장에 대하여 문형사전에 기록된 위치정보를 이용하여 온톨로지 구성요소를 추출한다.Here, in the step (s120), only sentences having the same sentence type as the previously analyzed sentence type condition through sentence type analysis of the sentence substituted in the meta-language form are separately stored, and for sentences having the same sentence type as the sentence type condition, the sentence type dictionary The ontology components are extracted using the location information recorded in

그 다음, 상기 (s110)단계에서 형태소로 변환된 문장에 대하여 딥러닝 판별을 통해 규제문장 존재여부를 판단한다(s130).Next, it is determined whether there is a regulatory sentence through deep learning for the sentence converted into a morpheme in the step (s110) (s130).

여기서, 상기 딥러닝 판별은, 기 작성된 학습데이터를 딥러닝 알고리즘을 통해 누적 저장하여 판정모델을 만든 후 상기 판정모델과의 비교를 통해 규제문장의 존재여부를 판단한다.Here, in the deep learning determination, the existence of a regulatory sentence is determined through comparison with the determination model after making a determination model by accumulating and storing previously prepared learning data through a deep learning algorithm.

또한, 상기 규제문장의 존재여부는, 딥러닝 알고리즘을 통해 문자를 식별가능한 숫자로 변경 후 데이터 패딩(Data Padding)과정을 통해 각 문장의 크기를 동일하게 만들어 판정모델을 생성하고 메타언어로 치환된 문장과 비교하여 규제문장의 존재여부를 판단한다.In addition, the existence of the regulatory sentence is determined by changing the character to an identifiable number through a deep learning algorithm and then making the size of each sentence the same through a data padding process to create a decision model and replace it with a meta language. It is compared with the sentence to determine the existence of the regulatory sentence.

마지막으로, 상기 (s120)단계에서 추출된 온톨로지 구성요소 추출 결과와 상기 (s130)단계에서 규제문장 존재여부 판단 결과를 결합한다.Finally, the ontology component extraction result extracted in step (s120) is combined with the result of determining whether a regulatory sentence exists in step (s130).

MRR 전체설계에 대한 흐름은 크게 PoC에 해당하는 MRR을 작성하고 이를 토대로 규제 기반 분석을 실시하는 것이다.The flow of the overall MRR design is to create an MRR corresponding to a PoC and conduct a regulation-based analysis based on it.

첫 번째 미션으로서, 자연어로 표현된 법령을 기계(컴퓨터)가 읽을 수 있도록 MRR 코드화 하고, 이후의 절차는 다음과 같음. 본 발명에서 MRR은 DRR 프로젝트와 동일하게 OWL형태의 온톨로지 유형을 고려한다.As the first mission, the laws expressed in natural language are MRR-coded so that machines (computers) can read them, and the subsequent procedures are as follows. In the present invention, MRR considers the OWL type ontology type in the same way as the DRR project.

첫째, 규제문장을 분석하기 위해 자연어처리(형태소 분석, 문형 분석, 규제문장 선정)을 통한 규제문장을 추출한다.First, to analyze regulatory sentences, regulatory sentences are extracted through natural language processing (morpheme analysis, sentence type analysis, regulatory sentence selection).

둘째, MRR 요소인 Class (Domain, Range), Object Property, Data Propoerty, Individual들을 추출한다.Second, MRR elements such as Class (Domain, Range), Object Property, Data Property, and Individuals are extracted.

셋째, 금융 법령 전문가들이 추출된 MRR 요소를 참고하여 OWL 온톨로지 형태의 MRR을 작성 후 게재한다.Third, financial law experts refer to the extracted MRR elements to create and publish the MRR in the form of an OWL ontology.

두 번째의 미션인 규제기반분석(MER)을 위해 법령의 내용을 시각화하고, ORM을 이용해 보고서 생성을 위한 금융DB 검색 프로그램을 생성한다.For the second mission, regulation-based analysis (MER), it visualizes the contents of laws and creates a financial DB search program for report generation using ORM.

첫째, 앞서 구축한 MRR을 바탕으로 법령을 시각화한다(VOWL 활용).First, the statute is visualized based on the previously constructed MRR (using VOWL).

둘째, Mapping Table 작성기를 통해 MRR의 보고서 생성 유관 정보와 금융 DB를 매핑하고 그 결과를 파일로 생성한다.Second, the MRR report generation related information is mapped with the financial DB through the mapping table writer, and the result is created as a file.

셋째, 정합성검증에 대한 API를 개발하여 보고서 DB의 내용에 대해 정합성 검토를 하여 그 결과를 표출한다.Third, the API for consistency verification is developed, the report DB contents are reviewed for consistency, and the results are displayed.

넷째, 일부 시나리오에 대해 법령의 변경(추가, 삭제, 수정) 발생에 따른 변경 분석을 수행한다.Fourth, for some scenarios, change analysis is performed according to the occurrence of changes (additions, deletions, revisions) of laws and regulations.

MRR PoC 의 코스콤 금융 Cloud 구성안MRR PoC’s Koscom Financial Cloud Structure

MRR PoC에서는 총 11대의 VM으로 구성하여, 실제 물리적으로 분리된 참여기관의 상태를 반영한다.MRR PoC consists of a total of 11 VMs, reflecting the actual state of physically separated participating organizations.

참여기관 6, DB 1, 관리 1, 웹 1, WAS 1, GPU 1Participating Organization 6, DB 1, Management 1, Web 1, WAS 1, GPU 1

고사양의 CPU 처리를 요하는 딥러닝, visual OWL을 위한 별도의 서버(GPU) 구성Separate server (GPU) configuration for deep learning and visual OWL requiring high-spec CPU processing

외부에서 접속할 수 있는 공인 IP는 웹 서버로 한정하여 보안 및 관리에 초점The public IP that can be accessed from the outside is limited to the web server, focusing on security and management

VM 사이에서의 내부 통신이 가능토록 하여 불필요한 외부 통신 감소Reduce unnecessary external communication by enabling internal communication between VMs

머신 리더블 레귤레이션 PoC의 분산원장(DLT; Distributed Ledger Technology) 적용방안Distributed Ledger Technology (DLT) application plan of machine readable regulation PoC

인프라는 코스콤 금융 클라우드를 사용하여 관리 및 시간의 효율성 향상Infrastructure uses Koscom Financial Cloud to improve management and time efficiency

DLT는 Hyperledger fabric을 사용하여 원장, 트랜잭션, 스마트 컨트랙트 등의 통합 관리DLT uses Hyperledger fabric for integrated management of ledgers, transactions, smart contracts, etc.

코스콤 Fabric API Server를 통해 비즈니스 업무가 DLT로의 처리를 허용Allow business tasks to be processed with DLT through Koscom Fabric API Server

보고지시, 보고서 생성 스마트 컨트랙트를 이용하여 금감원과 금융기관의 업무보고 처리Report instruction and report generation Handling of business reports by the Financial Supervisory Service and financial institutions using smart contracts

Hyperledger FabricHyperledger Fabric

고도의 기밀성, 탄력성, 유연성 및 확장성을 제공하는 DLT 솔루션 A DLT solution that provides high confidentiality, elasticity, flexibility and scalability

MSP를 이용한 회원/신원관리, 채널을 통한 프라이버시, 저장소 지원, 체인코드 지원 등의 특징이 있다.It has features such as member/identity management using MSP, privacy through channels, storage support, and chaincode support.

엔터프라이즈 환경에서 투명한 정보 공유 및 거래비용 절감 가능하다. It is possible to share information transparently and reduce transaction costs in an enterprise environment.

Hyperledger Fabric은 private DLT로, 퍼블릭과 비교하여 도 8과 같은 특징 및 기능 지원Hyperledger Fabric is a private DLT that supports the features and functions shown in Figure 8 compared to public

스마트 컨트랙트를 통해 응용프로그램이 DLT 원장(KVS)으로의 처리가 가능하여 참여기관 사이에서의 데이터의 전송 및 공유, 증적 데이터 생성 등의 업무를 처리할 수 있다.Through the smart contract, the application program can be processed into the DLT ledger (KVS), so tasks such as data transmission and sharing between participating organizations and the creation of evidence data can be handled.

Fabric ServerFabric Server

코스콤이 보유한 DLT 관리 및 체인코드 관리 Restful API ServerDLT management and chaincode management owned by Koscom Restful API Server

응용 프로그램이 DLT 관리 및 DLT에 설치된 스마트 컨트랙트 처리 등을 하기위해 Fabric Server의 호출 필요하다.In order for the application to manage the DLT and process the smart contract installed in the DLT, it is necessary to call the Fabric Server.

MRR PoC 의 DLT 설계DLT design of MRR PoC

Node 구성Node configuration

총 7대의 Node로 구성(금감원 1, 금융사 5, 관리 1) Consists of a total of 7 nodes (Financial Supervisory Service 1, financial institution 5, management 1)

각각의 node는 하나의 Peer*와 Fabric Server가 존재 Each node has one Peer* and Fabric Server.

peer : 블록체인 네트워크 내의 노드를 나타내는 논리적 단위로서 DLT, 상태 DB, 체인코드를 보유함, 트랜잭션 보증 역할을 하는 Endorser와 블록체인과 상태 DB를 갱신하는 Committer로 구분한다.Peer: A logical unit representing a node in the blockchain network, which holds DLT, state DB, and chain code, and is divided into Endorser, which plays a role of guaranteeing transactions, and Committer, which updates blockchain and state DB.

채널 구성Channel configuration

하나의 보고지시 채널(6개 Node Join), 5개의 보고서관리 채널(금감원과 각각의 금융기관Node) 로 구성한다.It consists of one report instruction channel (6 Node Join) and 5 report management channels (the Financial Supervisory Service and each financial institution node).

보고지시 채널은 금감원 및 전 금융기관이 데이터를 공유가능하나, 보고서관리 채널은 해당 채널에 속한 2개의 기관만이 데이터를 공유하기 때문에 기밀성 유지한다.In the report order channel, data can be shared by the Financial Supervisory Service and all financial institutions, but the report management channel maintains confidentiality because only two institutions belonging to the channel share data.

채널 : 논리적으로 분리한 블록체인 네트워크. 한 개의 네트워크 안에 독립된 여러 채널이 가능. 각 채널은 동일한 블록체인 원장을 보유하여 기밀성을 유지할 수 있다.Channel: A logically separated blockchain network. Multiple independent channels in one network are possible. Each channel can have the same blockchain ledger to maintain confidentiality.

데이터 구조 data structure

DLT 내 수행되는 스마트 컨트랙트는 보고지시 및 보고서 관리로 구분한다.Smart contracts executed in DLT are divided into report instruction and report management.

보고지시는 금감원이 금융기관에게 보고서를 생성하도록 지시할 수 있는 항목으로 구성한다.Reporting instructions consist of items that the FSS can instruct financial institutions to generate reports.

보고서관리는 금융기관이 금감원에게 전송할 보고서의 일부 항목 및 hash 값으로 구성한다.Report management consists of some items and hash values of reports to be sent by financial institutions to the Financial Supervisory Service.

Node 내 업무 흐름Workflow in Node

상기 데이터 구조를 토대로, 금감원은 보고지시 스마트 컨트랙트 이용, 금융기관은 보고서 생성 스마트 컨트랙트를 이용하여 데이터를 저장 및 조회 처리하여 업무 수행한다. Based on the data structure, the Financial Supervisory Service uses the report instruction smart contract, and the financial institution uses the report generation smart contract to store and query data to perform business.

MRR로서의 온톨로지를 구축하기에 앞서, 벤치마킹대상 온톨로지 모델을 검토하였다.Prior to constructing the ontology as an MRR, the benchmarking target ontology model was reviewed.

FIBO의 등장으로 금융규제 관련 여러 온톨로지 모델들이 개발되고 있는바, 대표적으로 FRO(Financial Regulation Ontology)와 FIRO(Financial Industry Regulation Ontology)가 존재한다.With the advent of FIBO, various ontology models related to financial regulation are being developed. Representatively, FRO (Financial Regulation Ontology) and FIRO (Financial Industry Regulation Ontology) exist.

FRO: FIBO 및 LKIF(Legal Knowledge Interchange Format)를 기반 오픈 소스 온톨로지FRO: Open source ontology based on FIBO and Legal Knowledge Interchange Format (LKIF)

FIRO: 규제에 대한 지식을 표준에 기반하여 작성된 규제 온톨로지 (by GRCTC)FIRO: Regulatory Ontology (by GRCTC) based on the knowledge of regulations and standards

상기 두 온톨로지가 FIBO를 기반으로 한다는 점과 규제 기간 서비스를 제공한다는 공통점이 있다.The two ontologies have in common that they are based on FIBO and that they provide regulatory period services.

검토결과, 다음과 같은 온톨로지가 일부 본 PoC와 관련 있는 것으로 파악된다.As a result of the review, the following ontology is found to be partially related to this PoC.

PoC 대상 법령을 분석함Analysis of PoC target laws

PoC 대상은 4개의 법령과 4개의 보고서로 구성되며, 대상 법령은 <그림 #>과 같은 계층구조를 가지고 있다.The PoC target consists of 4 laws and 4 reports, and the target laws have a hierarchical structure as shown in <Figure #>.

일반적으로 헌법, 법령(법률 → 시행령 → 시행규칙), 행정규칙(훈령, 예규, 고시), 자치법규(조례, 규칙) 등의 순으로 권한 위임이 이루어진다.In general, delegation of authority takes place in the order of the constitution, statutes (law → enforcement ordinances → enforcement rules), administrative rules (instructions, ordinances, public notices), and self-governing laws (ordinances, rules).

금융관련 법률 역시 이와 유사한 구조를 가져 헌법, 법령, 규칙 등의 순으로 권한 위임이 이루어지는 계층구조를 가진다.Financial law also has a similar structure and has a hierarchical structure in which authority is delegated in the order of the Constitution, statutes, and rules.

PoC 대상 법령은 전자금융거래법 42조, 전자금융거래법 시행령 24조, 전자금융감독규정 63조, 전자금융감독규정시행세칙 10조 및 11조가 해당된다. Laws subject to PoC include Article 42 of the Electronic Financial Transactions Act, Article 24 of the Enforcement Decree of the Electronic Financial Transactions Act, Article 63 of the Electronic Financial Supervision Regulations, and Articles 10 and 11 of the Enforcement Rules of the Electronic Financial Supervision Regulations.

전자금융거래법령의 경우 인용(citation) 법령이 존재하는 바 하는 경우로 인해 하위 법령을 추가하여 분석을 수행한다.In the case of the Electronic Financial Transactions Act, analysis is performed by adding subordinate statutes due to the existence of a citation law.

또한, PoC 대상 보고서로는 대차대조표, 경영지도기준 보고서, 직불전자지급수단 발행 및 이용현황, 선불전자지급수단 발행 및 이용현황을 분석한다.In addition, as PoC target reports, the balance sheet, management guidance standard report, issuance and usage status of electronic direct payment means, and the status of issuance and use of electronic prepaid means are analyzed.

PoC 맞춤형 형태소분석기 개발 설계 PoC customized stemming analyzer development design

본 발명에서 자체 개발한 형태소 분서기를 이용하여 개발하였다.It was developed using the morpheme analyzer developed by the present invention.

본 발명에서는 형태소 분석을 위하여 자체 개발한 RHINO 형태소 분석기를 사용하였다.In the present invention, the RHINO morpheme analyzer developed in-house was used for morphological analysis.

RHINO는 Real Hangul INput Object의 약자로 경희대학교 발명팀에서 개발한 형태소 분석기이다.RHINO is an abbreviation of Real Hangul INput Object and is a morpheme analyzer developed by the invention team at Kyunghee University.

설계상 한글의 분석에 최적화되어 있는 구조를 가지고 있으며, 특히 맥락에 따른 분석 기능이 탁월하다.By design, it has a structure that is optimized for analysis of Hangul, and in particular, the analysis function according to the context is excellent.

예를 들어, ‘나는 하늘을 나는 새를 봅니다’의 두 ‘나는’은 형태적으로는 동일하지만 하나는 ‘날+는’, 다른 하나는 ‘나+는’으로 분석되며, 품사도 ‘동사+관형사형전성어미’, ‘대명사+조사’로 상이하다.For example, two 'I' of 'I see a flying bird' are morphologically identical, but one is analyzed as 'day+is' and the other is 'I+is', and the part-of-speech is also 'verb+'. There is a difference between 'pronoun + pronoun' and 'pronoun + pronoun'.

RHINO는 이러한 경우 문장의 앞뒤 관계를 살펴 이러한 동음이의 어절을 잘 분석한다.In this case, RHINO analyzes the words of the same homonym well by examining the relationship between the front and back of the sentence.

정확도와 속도가 높음. 일반적인 상황에서 정확도는 95~98%를 유지하며, 속도는 초당 100,000~400,000 어절을 분석한다.High accuracy and speed. Under normal circumstances, the accuracy is maintained at 95-98%, and the speed analyzes 100,000-400,000 words per second.

RHINO는 공개 버전과 비공개 버전이 있으며, 공개버전은 GitHub에서 다운로드 또는 파이썬 pip 명령어로 받을 수 있다.RHINO has a public version and a private version, and the public version can be downloaded from GitHub or received with the Python pip command.

본 발명에 적절히 운영되도록 형태소 분석기의 사전을 구성하였다.The dictionary of the morpheme analyzer was constructed to properly operate in the present invention.

자연어 처리의 기초가 되는 형태소 분석기를 본 발명팀에서 직접 제작하였으므로 프로젝트의 목적에 맞게 어휘의 추가 및 기능의 추가를 할 수 있고, 다른 과정과의 연계를 완벽히 이룰 수 있다.Since the present invention team directly produced the morpheme analyzer, which is the basis of natural language processing, it is possible to add vocabulary and functions according to the purpose of the project, and to achieve perfect linkage with other processes.

본 발명에서는 어휘 추가의 예로 ‘선불전자지급수단’, ‘여신전문금융회사’, ‘금융규제민원포털’ 등이 있다.In the present invention, examples of adding vocabulary include 'prepaid electronic payment means', 'credit specialized financial company', 'financial regulatory complaint portal', and the like.

전문용어는 도메인마다 매우 방대하나 해당 도메인이 아니면 사용되지 않아 기본 사전에는 등록되어 있지 않고 별도로 추가해주어야 한다.Although the terminology is very large for each domain, it is not used unless it is the domain, so it is not registered in the basic dictionary and must be added separately.

어휘를 추가하는 방법은 쉬운 경우도 있지만 형태소분석기의 구조에 따라 어려운 경우도 있음. RHINO 역시 총 6개의 사전이 있으며, 어휘의 성격에 따라 적절히 전문용어를 입력하였다.In some cases, adding vocabulary is easy, but in some cases it is difficult depending on the structure of the morpheme analyzer. RHINO also has a total of 6 dictionaries, and specialized terms are appropriately entered according to the characteristics of the vocabulary.

기능 추가의 예로는 연속된 명사를 하나의 명사로 Re-Tagging하는 기능을 들 수 있는데, ‘금융행정지도’의 경우에는 전문용어도 아니므로 하나의 어휘로 등록되기 어려운 어휘이다.An example of adding a function is a function of re-tagging consecutive nouns into a single noun. In the case of 'financial administration map', it is difficult to register as a single word because it is not a technical term.

금융 도메인인 본 발명의 온톨로지 분석에서는 성격상 한 어절에서 연속된 명사는 하나의 구성요소로 삼는 것이 바람직한 경우가 많다.In the ontology analysis of the present invention, which is a financial domain, it is often desirable to use a noun consecutive in one word as one component due to its nature.

따라서 일반 형태소 분석 과정으로 ‘금융행정지도’가 ‘금융+행정+지도’로 분석되었다고 하더라도 이들을 다시 붙여 하나의 단위로 간주할 필요가 있다.Therefore, even if 'financial administration map' was analyzed as 'finance + administration + map' as a general morpheme analysis process, it is necessary to attach them again and regard them as one unit.

이에 하나의 어절에서 연속된 명사들은 다시 붙여 하나의 명사로 분석하게 하는 기능을 추가하였다.To this, a function was added to analyze consecutive nouns in one word by reattaching them as a single noun.

본 발명에 적절히 대응되도록 형태소 분석기의 기능을 추가하였다.The function of the morpheme analyzer was added to suitably correspond to the present invention.

기능 연계는 해당 프로그램에 대한 이해를 얼마나 잘 하고 있는지와 관계된다.Functional linkage is related to how well you understand the program.

RHINO를 이용하여 형태소 분석하는 방법은 가장 기본적인 모든 형태소를 보이는 것으로부터 특정형태소만 가져오기, 특정형태소만 가져오면서 동사류에 어말어미를 부착하기, 전체형태소를 가져오면서 품사정보도 가져오기, 원문의 어절 정보도 같이 가져오기 등 다섯 가지가 있다.The method of morpheme analysis using RHINO is to retrieve only a specific morpheme from the ones showing all the most basic morphemes, to attach only a specific morpheme to a verb with endings and endings, to bring the entire morpheme while also getting part-of-speech information, and the word of the original text. There are five options, such as importing information as well.

이러한 사용상의 자세한 부분을 잘 조절하여 이후의 문형분석과 머신러닝 단계에서 가장 좋은 결과를 낼 수 있도록 하였다.These details of use were well adjusted so that the best results could be obtained in the subsequent sentence analysis and machine learning stages.

(딥러닝 기반의) 규제 문장 인식기 설계 (Deep Learning-based) Regulatory Sentence Recognizer Design

온톨로지 구성요소를 추출하고, 딥러닝으로 구성요소의 적격성을 판정하였다.The ontology components were extracted, and the suitability of the components was determined by deep learning.

본 발명에서 자연어 처리를 수행하는 근본적인 목적은 각 문장에서 온톨로지 구성요소를 추출하고, 추출된 구성요소가 본 도메인의 내용에 해당하는지를 판별하기 위한 것이다. The fundamental purpose of performing natural language processing in the present invention is to extract ontology components from each sentence and to determine whether the extracted components correspond to the contents of this domain.

이를 통하여 금융 규제 문장에서 최대한 자동화되게 온톨로지 구성 요소를 추출하고자 하는 것이다.Through this, it is intended to extract ontology components from financial regulatory sentences to be as automated as possible.

형태소 분석 및 딥러닝 단계의 전체 분석 과정은 도 9와 같다.The entire analysis process of the morpheme analysis and deep learning steps is shown in FIG. 9 .

규제문장의 입력, 형태소 분석 및 메타언어로 치환, 딥러닝으로 판별, 및 두 결과의 결합 순으로 전체 프로세스가 진행된다.The entire process proceeds in the order of input of regulatory sentences, morphological analysis and substitution with meta-language, discrimination by deep learning, and combination of the two results.

도 9에 기재된 ① 단계에서는 앞에서 언급한 바와 같이 금융 도메인의 법령 또는 규정이 입력되면 형태소 분석을 통해 문장을 정형 데이터와 유사한 형태소로 변환하는 과정이다.In step ① described in FIG. 9, as mentioned above, when laws or regulations of the financial domain are input, the sentence is converted into a morpheme similar to the structured data through morpheme analysis.

문장 전체가 하나의 분석 단위가 될 수 없으므로 반복되어 사용되는 작은 단위인 형태소 단위로 문장을 분리하는 것이 형태소 분석이다.Since the entire sentence cannot be a single analysis unit, morpheme analysis is to separate a sentence into a morpheme unit, which is a small unit that is repeatedly used.

이 과정을 통해 이후의 기계적으로 진행되는 과정이 정형 데이터를 처리하는 과정과 유사하게 원만히 진행될 수 있다.Through this process, the subsequent mechanical process can proceed smoothly similarly to the process of processing structured data.

② 단계에서는 형태소로 변환된 문장에 대하여 명사와 동사를 실제 형태는 없애고, NOUN과 VERB라는 추상화된 메타언어 형태로 치환한다.In step ②, for sentences converted into morphemes, the actual forms of nouns and verbs are removed and replaced with abstract meta-language forms such as NOUN and VERB.

문형 분석 단계에서는 구체적으로 사용된 어휘가 무엇인지가 중요한 것이 아니라, 단순히 명사와 동사가 사용되었는지 여부가 중요하다.In the sentence pattern analysis stage, it is not important what specifically used vocabulary is, but simply whether nouns and verbs are used.

따라서 명사에 해당하는 어휘는 NOUN을, 동사에 해당하는 어휘는 VERB로 대체하는 것이다.Therefore, a word corresponding to a noun is replaced with NOUN, and a word corresponding to a verb is replaced with VERB.

치환된 문장, 즉 메타언어에 대하여 Meta Rule 기반 문형분석을 수행하여 기 분석된 문형 조건과 같은 문형을 가지고 있는 문장만 별도로 저장한다.Meta Rule-based sentence analysis is performed on the substituted sentence, that is, the meta language, and only sentences that have the same sentence type as the previously analyzed sentence type condition are stored separately.

문형 조건을 통과한 문장에 대하여 문형사전에 기록된 위치정보를 이용하여 온톨로지 구성요소를 추출한다.For a sentence that has passed the sentence type condition, the ontology components are extracted using the location information recorded in the sentence type dictionary.

③ 단계에서는 형태소로 변환된 문장에 대하여 딥러닝 판별을 수행함. 판별의 목적은 각 문장이 규제 문장을 가지고 있는지를 예측하는 것이다.In step ③, deep learning discrimination is performed on the sentences converted into morphemes. The purpose of the discrimination is to predict whether each sentence has a regulatory sentence.

이 과정은 ① 단계의 RHINO 형태소 분석 과정이 마쳐진 후에 ② 단계의 Meta Rule 변환과는 별개로 진행된다.This process proceeds separately from the meta-rule transformation of step ② after the RHINO morpheme analysis process of step ① is completed.

기 작성된 학습 데이터 SET를 딥러닝 알고리즘으로 훈련하여 판정 모델을 만들고, 이를 이용하여 새로운 문장이 들어왔을 때 해당 문장이 온톨로지 분석 대상인지 여부를 가려내고자 하는 것이 목적이다.The purpose is to make a decision model by training the pre-written learning data SET with a deep learning algorithm, and to use this to determine whether a new sentence is an ontology analysis target when a new sentence is entered.

결과로 해당 문장이 규제 문장이 포함하고 있으면 1, 그렇지 않으면 0으로 분류되어 이후 작업자가 해당 문장을 분석 대상으로 여기고 유념해 볼 것인지를 빠르게 판단할 수 있다.As a result, if the sentence contains a regulatory sentence, it is classified as 1, otherwise it is classified as 0, so that the operator can quickly determine whether to consider the sentence as an analysis target and pay attention to it.

④ 단계에서는 ② 단계의 Meta Rule 변환을 통한 온톨로지 구성요소 추출 결과와 ③ 단계의 딥러닝을 이용한 규제 문장 존재 판정 여부를 결합한다.In step ④, the result of extracting ontology components through Meta Rule transformation in step ② is combined with the determination of the existence of regulatory sentences using deep learning in step ③.

② 단계를 거쳐 온톨로지 구성요소가 추출되었다고 하더라도 실제로는 규제 문장이 아닌데 추출 과정을 진행한 것일 수 있다.Even if the ontology components are extracted through the steps ②, it is not actually a regulatory sentence, but it may be that the extraction process has been carried out.

이 단계에서는 딥러닝 판정 결과를 토대로 문형 분석 과정에서 규제 문장의 문형으로 간주된 것이라도 다시 한 번 검토하여 규제 문장이 없는 것으로 판정될 경우 문형 분석 결과가 이후의 단계로 진행되지 않게 한다.At this stage, based on the deep learning judgment result, even if it is considered as the sentence type of the regulatory sentence in the sentence analysis process, it is reviewed once again.

위의 내용을 전자금융감독규정이 들어온 경우로 예를 들어보면 도 10과 같다.As an example, FIG. 10 shows the above contents as a case where the electronic financial supervision regulations are entered.

규제 문장이 들어올 경우 RHINO 형태소분석기는 이를 최소 의미 단위인 형태소로 분리한다.When a regulatory sentence is entered, the RHINO morpheme analyzer separates it into the morpheme, which is the smallest unit of meaning.

분리된 형태소는 문형분석기를 이용하여 규제 문장인지를 확인하고, 확인이 되면 문형의 위치 정보를 이용하여 각 온톨로지 구성요소 class, property, range, domain 등을 분리한다.The separated morpheme is checked whether it is a regulated sentence using a sentence pattern analyzer, and when it is confirmed, each ontology component class, property, range, domain, etc. is separated using the position information of the sentence pattern.

한편 머신러닝 쪽에서는 규제 문장으로 학습데이터 SET를 구축하고, 딥러닝 알고리즘으로 이를 학습하여 각 문장에 규제 문장이 존재하는지를 판정하는 모델을 만든다.Meanwhile, on the machine learning side, a learning data SET is built with regulatory sentences, and a deep learning algorithm learns it to make a model that determines whether a regulatory sentence exists in each sentence.

사용하는 딥러닝 알고리즘은 텍스트 문장 판정에 좋은 성능을 보이는 순환신경망 계열 알고리즘인 RNN과 LSTM을 고려할 수 있다.As the deep learning algorithm used, RNN and LSTM, which are recurrent neural network algorithms that show good performance in text sentence judgment, can be considered.

규제 문장의 온톨로지 요소 추출기 설계Ontology element extractor design of regulatory sentences

형태소 분석 과정은 분석 대상 입력, 분석 대상 법령의 형태소 분석, Class와 Property의 인식으로 나뉜다.The morpheme analysis process is divided into analysis target input, morphological analysis of the analysis target law, and recognition of classes and properties.

상기 과정은 형태소 분석 과정과 딥러닝을 이용한 분석 과정으로 나뉘며, 형태소 분석 과정 프로세스만 살펴보면 도 11과 같다.The above process is divided into a morpheme analysis process and an analysis process using deep learning, and only the morpheme analysis process process is shown in FIG. 11 .

형태소 분석 과정은 다음의 과정을 거친다.The morphological analysis process goes through the following steps.

분석 대상 입력 → 분석 대상 법령의 형태소 분석 → Class, Property 인식Analysis target input → morphological analysis of analysis target law → Class, property recognition

우선, 금융 도메인의 규제 문장을 입력한다.First, enter the regulatory sentences of the financial domain.

본 발명에서 사용되는 입력 문장은 전자금융과 관련된 금융 도메인의 문장이다.The input sentence used in the present invention is a sentence of the financial domain related to electronic finance.

전자금융과 관련된 규제 내용을 기계가 파악하여 관련 기관에 전달하여 현재의 재무 상태와 관련 규제 내용을 비교해서 처리가 되어야 하는 부분들이 고려되어야 하므로 전자금융거래법과 같은 내용이 입력문의 주된 내용이다.The main content of the input text is the contents of the Electronic Financial Transactions Act, as the machine identifies the regulatory details related to electronic finance and transmits it to the relevant institution.

그 다음, 입력된 규제 문장에 대하여 형태소 분석을 수행한다.Then, morphological analysis is performed on the input regulatory sentence.

입력된 분석 대상 규제 문장은 다음과 같은 형태소 분석을 수행 받게 된다.The inputted regulatory sentence to be analyzed is subjected to the following morphological analysis.

입력 텍스트는 먼저 띄어쓰기 단위인 어절 단위로 분리되고, 어절 단위의 내용 각각에 대하여 형태소 분석이 이루어진다.The input text is first separated into word units, which are spaces, and morphological analysis is performed for each word unit content.

형태소는 항상 어절 단위와 같거나 그보다 작으므로 먼저 어절 단위로 분리해 형태소 분석이 용이하게 만든다.Since a morpheme is always equal to or smaller than a word unit, it is first separated into word units to facilitate morpheme analysis.

다음으로 언어 단위에서 가장 작은 단위인 형태소 단위로 나누어 반복적인 언어 단위가 가능한 많이 발견되게 한다.Next, the linguistic unit is divided into the smallest unit, the morpheme unit, so that as many repetitive language units are found as possible.

반복적인 단위가 많이 발견될수록 두 문장이 실질적으로 같은 내용의 문장인지 여부가 쉽게 파악된다.The more repetitive units are found, the easier it is to determine whether two sentences are actually sentences with the same content.

이에 위의 첫 번째 문장에서 첫 번째 어절 ‘제63조’는 ‘제+63+조’로 분리되고, 각 형태소의 품사도 태깅이 됨. ‘제’는 접두사(XPN), ‘63’은 숫자(SN), ‘조’는 의존명사(NNB)이다.Accordingly, in the first sentence above, the first word ‘Article 63’ is divided into ‘Article +63 + Article’, and the part-of-speech of each morpheme is also tagged. 'Z' is a prefix (XPN), '63' is a number (SN), and 'Jo' is a dependent noun (NNB).

최소 의미 단위로 분리된 형태소는 반복된 단위로서 이후 정형데이터로 바뀔 수 있으며, 태깅된 품사는 메타언어로 변환할 때와 문형 분석 시 대상 요소 여부를 알게 해주는 정보를 제공한다.A morpheme separated into a minimum semantic unit is a repeated unit, which can then be converted into structured data, and a tagged part-of-speech provides information to know whether a target element is present when converting into meta-language and analyzing sentence patterns.

마지막으로, 입력 문장에서 온톨로지의 Class와 Property를 인식한다.Finally, the class and property of the ontology are recognized in the input sentence.

형태소 분리된 각 문장은 전처리 과정을 통해 메타언어로 변환되어 문형분석을 받을 수 있게 한다.Each morpheme-separated sentence is converted into a meta-language through a preprocessing process so that sentence pattern analysis can be performed.

메타언어라 함은 문형을 구성하는 주요 어휘인 명사와 동사에 대하여 구체적인 사용 어휘를 밝히지 않고 명사와 동사 각각이 쓰였는지 만을 알 수 있게 기록한 것을 말한다.A meta-language refers to a record of nouns and verbs, which are major vocabulary constituting sentence patterns, in such a way that only the use of each noun and verb can be known without revealing the specific vocabulary used.

이렇게 함으로써 소수의 문장 유형만으로 다양하게 표현된 문장을 비교 검색할 수 있다.In this way, it is possible to compare and search variously expressed sentences using only a small number of sentence types.

문형 분석을 수행하는 궁극적인 목적은 문형 사전에 기록된 주요 어휘의 위치 정보를 이용하여 주요 어휘를 추출하고자 하는 데 있다.The ultimate purpose of performing sentence pattern analysis is to extract the main vocabulary by using the location information of the main vocabulary recorded in the sentence pattern dictionary.

여기서 주요 어휘라 함은 온톨로지를 구성하는 요소로서, Class와 Property 요소를 말한다.Here, the main vocabulary refers to the elements constituting the ontology, and refers to the Class and Property elements.

문형 분석이 이루어질 수 있도록 해당 도메인의 전문가가 문형 사전을 미리 구축 해두어야 한다.In order for the textual analysis to be performed, the expert in the relevant domain should build the textual dictionary in advance.

문형정보 사전은 각 문형조건을 제시하고, 각 조건에서 Class Domain, Class Range, Object Property, Data Property가 어느 위치에 있는지를 명시한 사전이다.The sentence type information dictionary is a dictionary that presents each sentence type condition and specifies where the Class Domain, Class Range, Object Property, and Data Property are located in each condition.

여기서 위치라 함은 해당 문형 조건의 명사 혹은 동사 중 몇 번째가 해당 온톨로지 구성 요소인지를 밝힌 것을 말한다.Here, “position” refers to the number of nouns or verbs in the sentence condition that is a component of the corresponding ontology.

예를 들어, Class Domain이 NOUN1이라 하면 해당 문형에서 두 번째로 나타나는 명사가 Class Domain인 것을 말하고, 위치의 숫자는 0부터 시작한다.For example, if Class Domain is NOUN1, it means that the second noun appearing in the corresponding sentence is Class Domain, and the number of positions starts from 0.

도 12는 형태소 분석결과를 나타낸 예시도이다.12 is an exemplary view showing a morpheme analysis result.

도 12를 참고하면, 첫 번째 문형조건의 의미는 다음과 같다.Referring to FIG. 12 , the meaning of the first sentence condition is as follows.

문형 조건은 ‘ANY NOUN1 이(가/은/는), ANY NOUN2를(을) VERB1’으로서 ANY 조건으로 시작하고 있음. ANY 조건은 어떠한 표현이 와도 뒤에 기록된 내용이 오기까지는 PASS해야 한다는 것을 말한다.The sentence condition starts with the ANY condition as ‘ANY NOUN1 is (is/is/is), ANY NOUN2 is VERB1’. The ANY condition says that no matter what expression comes, it must be PASS until the recorded content comes after it.

따라서 이 문형 조건은 앞에 어떤 단어든 올 수 있으며, 명사로 시작하여(NOUN1) 조건문이 시작됨을 말하고 있다.Therefore, this sentence-type condition can come before any word, and it starts with a noun (NOUN1), indicating that the conditional statement begins.

그 다음으로는 조사가 오는데 조사로는 -이, -가, -은, -는 중 어느 것이 와도 동일하게 처리한다.Next comes the investigation. As for the investigation, any of -i, -ga, -un, and - is treated the same.

그 다음에 또 다시 ANY 규칙이 있어 어떠한 어휘가 와도 넘기며(PASS), 다시 두 번째 명사(NOUN2)가 와야 한다.Then again, there is an ANY rule, and any word is passed (PASS), and the second noun (NOUN2) must come again.

그리고 목적격 조사 ‘-를’ 또는 ‘-을’이 오고, 마지막으로 동사 ‘하다’가 와야 함을 말하고 있다.And it is saying that ‘-e’ or ‘-e’ must come, and finally the verb ‘hada’ must come.

그 우측에서는 온톨로지 구성요소가 문형 조건의 어떤 위치에 속하는지를 명세하고 있다.On the right side, it specifies where the ontology elements belong to the sentence condition.

Class Domain은 첫 번째 명사 NOUN1 자리에 있는 것이다.Class Domain is in the place of the first noun NOUN1.

Class Range는 두 번째 명사 NOUN2 자리에 있는 것이다.Class Range is in the place of the second noun NOUN2.

Object Property는 VERB1 자리에 있는 것임을 말하고 있다.Object Property is said to exist in VERB1.

Data Property에 해당하는 것은 존재하지 않는다.There is no such thing as data property.

구체적인 문장으로 예를 들면 다음과 같다.For example, in a specific sentence:

‘제1조(목적) 이 규정은 「전자금융거래법」(이하 "법"이라 한다) 및 동법 시행령(이하 "시행령"이라 한다)에서…’라는 문장이 입력되었다고 할 때 우선 조건문 탐색에 도움이 되지 않는 요소는 삭제한다.‘Article 1 (Purpose) This regulation is in the 「Electronic Financial Transaction Act」 (hereinafter referred to as the "Act") and the Enforcement Decree of the same Act (hereinafter referred to as the "Enforcement Decree")... When the sentence ' is input, first, the elements that are not helpful in the search for conditional sentences are deleted.

삭제 대상 요소는 접두사, 숫자, 관형사, 부사 등 이다.The elements to be deleted are prefixes, numbers, adjectives, and adverbs.

그 결과 문장은 ‘(목적) 규정은 「전자금융거래법」(이하 "법”이라 한다) 동법 시행령(이하 "시행령”이라 한다)에서…’로 변환한다.As a result, the sentence is ‘(purpose) regulations are in the 「Electronic Financial Transaction Act」 (hereinafter referred to as the "Act") and the Enforcement Decree of the same Act (hereinafter referred to as the "Enforcement Decree")... ' is converted to

전처리 두 번째 단계는 형태소 분석 과정이다.,The second stage of preprocessing is the morphological analysis process.

형태소 분석 단계는 각 어절을 최소 의미 단위로 분리하는 것이다.The morphological analysis step is to separate each word into the smallest unit of meaning.

동시에 한 어절 내에서 연속된 명사는 분리하지 않고 Re-Tagging하여 하나의 명사로 변환한다.At the same time, consecutive nouns within a word are converted into a single noun by re-tagging without separating them.

전처리 세 번째 단계는 괄호 안의 내용을 제거하는 것이다.The third step in preprocessing is to remove the parentheses.

괄호 안의 내용은 본문의 내용을 보충하는 것으로서 문장의 맥락에 직접 연결되지 않는다.The content in parentheses supplements the content of the main text and is not directly connected to the context of the sentence.

따라서 이들을 삭제하여 조건문 탐색에 지장이 없도록 한다.Therefore, by deleting them, there is no hindrance to the search for conditional statements.

괄호 내용 삭제는 한 문장 안에 여러 번 나타날 수 있으므로 반복적으로 수행한다.Delete parentheses can appear multiple times within a sentence, so it is performed repeatedly.

다음으로 입력문을 메타언어로 변환함. 명사는 NOUN으로, 동사는 VERB로 변환하여 나타난 순서에 따라 인덱스를 부여한다.Next, the input statement is converted into a meta-language. Nouns are converted to NOUN and verbs are converted to VERB, and indexes are assigned according to the order in which they appear.

메타언어로 변환된 문장에 대하여 문형조건 사전을 탐색하여 문형 조건에 해당하는지, 해당한다면 어떠한 문형 조건에 해당하는지를 검색한다.A sentence condition dictionary is searched for a sentence converted into a meta-language to find out whether it corresponds to the sentence type condition and, if so, what type of sentence condition it corresponds to.

현재의 입력문은 메타언어 변형 결과 ‘NOUN0 은 NOUN1 NOUN2 이 NOUN3 에 VERB0 NOUN4를 NOUN5’가 되었다.As a result of meta-language transformation of the current input statement, ‘NOUN0 is NOUN1, NOUN2 is NOUN3, VERB0, NOUN4, NOUN5’.

이 메타언어에 맞는 문형을 탐색하면 ‘NOUN1 이/가/은/는 ANY NOUN2 을/를 NOUN3’가 발견된다.If you search for a sentence type suitable for this meta-language, ‘NOUN1 is/is/is/is ANY NOUN2/is/NOUN3’ is found.

입력문의 메타언어에서 조건문의 ANY에 해당하는 부분이 있음. 이는 온톨로지 구성 요소 찾기에는 도움이 되지 않으므로 이 부분은 삭제해야 한다.In the meta language of the input statement, there is a part corresponding to ANY of the conditional statement. This is not helpful in finding ontology components, so this part should be deleted.

예를 들어, ‘제1조 이 규정은 「전자금융거래법」 및 동법 시행령에서 금융위원회에 위임한 사항과 그 시행에 필요한 사항 및 다른 법령에 따라’와 같은 문장이 입력되었을 때, ‘「전자금융거래법」’부터 ‘다른’까지는 ANY에 해당하는 부분이므로 삭제하는 것이다.For example, when a sentence such as 'Article 1, this regulation is in accordance with the matters entrusted to the Financial Services Commission by the 「Electronic Financial Transaction Act」 and the enforcement decree of the same Act, matters necessary for its enforcement, and other laws and regulations is entered, ' 'Transaction Act' to 'other' are part of ANY, so they will be deleted.

최종 남겨진 문장에서 Class와 Property를 추출한다.Extracts Class and Property from the last remaining sentence.

현재 남겨진 문장은 규칙에 해당하는 부분만 남겨진 것이므로, 최초 문형 조건에서 Class, Property가 있는 것으로 지정된 부분을 찾아 해당 어휘를 가져오는 작업이다.Since only the part corresponding to the rule is left in the sentence currently left, it is the task of finding the part designated as having Class and Property in the initial sentence type condition and bringing the corresponding vocabulary.

아래의 예는 최종 남은 문장이 ‘이 규정은 법령에 따라’이고 해당 문형은 ‘ANY NOUN1 이/가/은/는 ANY NOUN1 에/에게 VERB0’이다.In the example below, the last remaining sentence is 'This regulation is in accordance with the law' and the sentence type is 'ANY NOUN1 is/is/is/is ANY NOUN1 to/to/to VERB0'.

Class Domain에 속하는 것은 NOUN1, Class Range에 속하는 것은 NOUN0, Object Property에 속하는 것은 VERB0이므로, 이에 해당하는 어휘 ‘규정’, ‘법령’, ‘따르다’를 각각 추출한다.Since those belonging to Class Domain are NOUN1, those belonging to Class Range are NOUN0, and those belonging to Object Property are VERB0, so the corresponding vocabulary ‘regulation’, ‘law’, and ‘follow’ are extracted respectively.

규제 문장 판정을 위하여 딥러닝 분석을 실시한다.Deep learning analysis is performed to determine regulatory sentences.

형태소 분석 과정과는 별개로 딥러닝 분석 과정이 수행되며, 그 진행 과정은 아래와 같이 분석 대상 문장으로 학습데이터 SET를 구축하여 딥러닝 알고리즘으로 규제 문장 여부를 판별하는 모델을 생성하는 과정이다.The deep learning analysis process is performed separately from the morpheme analysis process, and the process is a process of constructing a learning data SET with the sentences to be analyzed as shown below, and creating a model that determines whether or not a regulatory sentence is a regulatory sentence with a deep learning algorithm.

도 13은 규제문장과 관련한 딥러닝 분석을 나타낸 예시도이다.13 is an exemplary diagram illustrating deep learning analysis related to regulatory sentences.

금융 도메인의 규제문장으로 학습데이터 SET를 구축하였다.A learning data SET was constructed as a regulatory sentence in the financial domain.

본 발명에서 사용되는 금융 도메인의 규제문장으로 다음의 법령문을 학습데이터 SET로 삼았다.As the regulatory sentences of the financial domain used in the present invention, the following statutes were used as the learning data SET.

금융규제 운영규정Financial Regulation Operational Regulations

전자금융감독규정Electronic Financial Supervision Regulations

전자금융감독규정 시행세칙Electronic Financial Supervision Regulation Enforcement Rules

전자금융거래법 시행령Enforcement Decree of the Electronic Financial Transactions Act

전자금융거래법Electronic Financial Transactions Act

위의 학습데이터 SET은 전체 6,429건 중 75%인 4,821 문장이고, 나머지는 25%의 문장은 훈련된 모델의 정확도를 확인하는 데 사용되었다.The above training data SET is 4,821 sentences, which is 75% of the total 6,429 cases, and the remaining 25% of the sentences are used to check the accuracy of the trained model.

형태소 분석된 데이터로 학습데이터 SET를 아래와 같이 구축하였다.The learning data SET was constructed with the morphologically analyzed data as follows.

학습데이터 각 문장은 id, 본문, is_rule 3개의 칼럼으로 구성되어 있다.Each sentence of the training data consists of three columns: id, body, and is_rule.

id는 학습데이터 각각에 대한 고유 식별 번호이다.id is a unique identification number for each training data.

본문은 학습데이터 원 텍스트의 내용이다.The main body is the content of the training data source text.

is_rule은 온톨로지 구성 요소를 갖추고 있어 분석 대상인지를 전문가가 기록한 내용으로 분석 대상이면 1, 그렇지 않으면 0이다.is_rule has an ontology component, so it is recorded by an expert whether or not it is an analysis target. If it is an analysis target, it is 1, otherwise it is 0.

학습 데이터의 문장에 대하여 형태소 분석을 수행하였다.Morphological analysis was performed on the sentences of the training data.

학습 데이터를 생성하기 위하여 어떠한 문장이 사용되었는지를 형태소 분석으로 파악한다.Which sentence was used to generate the learning data is identified by morphological analysis.

하나의 문장을 변형 없이 학습할 경우, 문장 전체가 하나의 종류가 되기 때문에 패턴 학습이 올바로 이루어지지 않는다.If one sentence is learned without modification, the pattern learning is not performed correctly because the entire sentence becomes one type.

하나의 문장에 사용된 어휘가 무엇인지를 분석하여 사용된 어휘가 비슷한지를 통하여 패턴 학습이 이루어지도록 해야 한다.It is necessary to analyze the vocabulary used in one sentence and to learn the pattern through whether the vocabulary used is similar.

이에 학습 데이터 SET에 대하여 형태소 분석을 수행하였다.Accordingly, morphological analysis was performed on the training data SET.

형태소 분석 대상으로는 실질형태소만 취하였다.For morphological analysis, only real morphemes were taken.

문형 분석 및 문형인지에 도움을 주는 형태소만 추출하였다.Only morphemes that help sentence pattern analysis and sentence recognition were extracted.

실질형태소는 모두 취하며, 형식형태소는 의미가 크고, 사용빈도가 높은 것만 채택하였다.All substantive morphemes were taken, and formal morphemes were selected only with high meaning and high frequency of use.

기호류는 문장구분에 도움 되는 것 외에는 모두 제외하였다.All symbols except those that are helpful for sentence classification were excluded.

사용된 실질 형태소는 명사(NNG), 고유명사(NNP), 대명사(NP), 동사(VV), 형용사(VA), 어근(XR), 관형사(MM), 부사(MAG), 접속사(MAJ), 감탄사(IC)이다.The actual morphemes used are nouns (NNG), proper nouns (NNP), pronouns (NP), verbs (VV), adjectives (VA), roots (XR), adjectives (MM), adverbs (MAG), conjunctions (MAJ). , is an interjection (IC).

사용된 형식형태소는 부정지정사(VCN), 연결어미(EC), 종결어미(EF), 명사형전성어미(ETN), 관형사형전성어미(ETM), 주격조사(JKS), 보격조사(JKC), 관형격조사(JKG), 부사격조사(JKB), 보조사(JX), 마침표,물음표,느낌표(SF)이다.The formal morphemes used are indefinite determinant (VCN), connecting ending (EC), terminating ending (EF), noun-formal primal ending (ETN), adjective-formal primal ending (ETM), nominative postposition (JKS), complementary preposition (JKC), and tubular case. These are the pronoun (JKG), the adverbial proposition (JKB), the auxiliary (JX), the period, the question mark, and the exclamation point (SF).

형태소 분석 결과 예시는 다음과 같다.Examples of morphological analysis results are as follows.

각각의 문장을 어절 단위로 분리함Separate each sentence into word units

분리된 어절에 대하여 형태소 분석을 수행함Morphological analysis is performed on separated words

태깅된 품사의 종류를 보고, 위에서 제시된 품사 태그 종류만 남겨 놓음View the tagged part-of-speech type, and leave only the part-of-speech tag type presented above

딥러닝 분석을 위하여 데이터 전처리를 수행하였다.Data preprocessing was performed for deep learning analysis.

딥러닝 알고리즘은 문자열 형태를 직접 받지 못하고 숫자로 변형해야 한다.Deep learning algorithms do not receive the string form directly, but must transform it into a number.

예를 들어 문장에 ‘금융, 법령, 조항’이라는 3개의 어휘가 있다면 각각을 ‘101, 2133, 35’와 같이 식별할 수 있는 숫자로 변형해야 한다.For example, if there are three words ‘finance, statute, provision’ in a sentence, each of them should be transformed into an identifiable number such as ‘101, 2133, 35’.

숫자의 배당은 전체 텍스트에서 사용된 빈도를 기준으로 고빈도 어휘가 낮은 숫자를 받도록 한다.The allocation of numbers ensures that high-frequency vocabulary receives lower numbers based on their frequency of use in the entire text.

문자열을 숫자로 변형하는 과정을 데이터 토크나이징(Data Tokenizing)이라고 한다.The process of transforming a string into a number is called data tokenizing.

숫자로 변형된 문자열은 다시 데이터 패딩(Data Padding) 과정을 거친다.The string transformed into a number goes through data padding again.

데이터 패딩 과정은 모든 각 문장을 동일한 크기로 만들어주는 것이다.The data padding process makes every sentence the same size.

크기가 작은 문장은 앞에 ‘0’을 붙여 지정된 크기로 동일하게 만든다.Small sentences are made equal to the specified size by adding ‘0’ in front.

크기가 큰 문장은 앞에서부터 제거하여 동일한 크기로 만들며, 뒤에서부터 제거할 수도 있다.Large sentences are removed from the front to make them the same size, and can also be removed from the back.

복수의 딥러닝 알고리즘의 성능을 비교하여 LSTM 알고리즘을 선택하였다.The LSTM algorithm was selected by comparing the performance of multiple deep learning algorithms.

전처리 된 데이터를 복수의 딥러닝 알고리즘을 적용해 최적 알고리즘을 선정하였다.The optimal algorithm was selected by applying multiple deep learning algorithms to the preprocessed data.

사용된 알고리즘은 ANN, RNN, LSTM 3개 알고리즘이다.The algorithms used are three algorithms: ANN, RNN, and LSTM.

ANN 알고리즘 적용 Rule 존재 유무에 대해 성능을 판정한 결과는 도 14와 같다.The result of determining the performance with respect to the presence or absence of the ANN algorithm application rule is shown in FIG. 14 .

10번 반복 수행한 결과 4번째 반복에서 가장 좋은 성능을 보였다.As a result of performing 10 iterations, the 4th iteration showed the best performance.

테스트데이터의 정확도 확인에서 96.6%의 정확도를 보였음It showed 96.6% accuracy in checking the accuracy of the test data.

RNN 알고리즘 적용 Rule 존재 유무에 대해 성능을 판정한 결과는 도 15와 같다.The result of determining the performance with respect to the existence of the RNN algorithm application rule is shown in FIG. 15 .

10번 반복 수행한 결과 3번째 반복에서 가장 좋은 성능을 보였다.As a result of performing 10 iterations, the 3rd iteration showed the best performance.

테스트데이터의 정확도 확인에서 96.7%의 정확도를 보였다.The accuracy of the test data was 96.7%.

LSTM 알고리즘 적용 Rule 존재 유무에 대해 성능을 판정한 결과는 도 16과 같다.The result of determining whether the LSTM algorithm application rule exists or not is shown in FIG. 16 .

10번 반복 수행한 결과 3번째 반복에서 가장 좋은 성능을 보였다.As a result of performing 10 iterations, the 3rd iteration showed the best performance.

테스트데이터의 정확도 확인에서 97.1%의 정확도를 보였다.The accuracy of the test data was 97.1%.

위, 3개 딥러닝 알고리즘의 성능을 비교해본 결과 큰 차이 없이 비슷하게 좋은 성능을 보였다.As a result of comparing the performance of the above and three deep learning algorithms, they showed similarly good performance without much difference.

본 발명에서는 LSTM을 사용하기로 하였는데, LSTM이 법 규정 문장과 같이 긴 문장 분류에 일반적으로 더 성능이 좋으며, 실제 본 발명 데이터를 이용한 비교 실험에 있어서도 근소하게나마 더 좋은 성능을 보였기 때문이다.In the present invention, it was decided to use LSTM, because LSTM generally has better performance for classifying long sentences such as legal regulation sentences, and shows slightly better performance even in comparative experiments using actual data of the present invention.

최적 LSTM 모델을 생성Create an optimal LSTM model

선정된 LSTM 알고리즘에 대하여 최적의 옵션, 즉 최적 하이퍼파라미터를 찾아 가장 좋은 성능을 내는 모델을 생성하였다.For the selected LSTM algorithm, the optimal option, that is, the optimal hyperparameter, was found and a model with the best performance was created.

탐색한 하이퍼파라미터는 유사 어휘 사용을 위한 Embedding 층을 위한 사용 어휘의 수를 설정하는 Embedding Dimension, 은닉층의 깊이를 설정하는 Hidden Layer, 각 은닉층에서의 노드의 수를 설정하는 Hidden Layer Node로 총 세 가지이다.There are three types of hyperparameters: Embedding Dimension, which sets the number of words used for the embedding layer for similar vocabulary use, Hidden Layer, which sets the depth of the hidden layer, and Hidden Layer Node, which sets the number of nodes in each hidden layer. to be.

Embedding Dimension은 100개, Hidden Layer는 1개, Hidden Layer Node는 16개가 최적으로 판정되었으므로 이에 따라 모델이 생성되었다.100 Embedding Dimension, 1 Hidden Layer, and 16 Hidden Layer Nodes were judged to be optimal, so the model was created accordingly.

모델 생성에 사용된 딥러닝 플랫폼은 Tensorflow 1.16, Keras 2.2.4 버전이다The deep learning platform used to create the model is Tensorflow 1.16, Keras 2.2.4.

Keras는 Tensorflow를 사용하기 쉽게 만들어주는 Wrapper 패키지이다.Keras is a wrapper package that makes Tensorflow easy to use.

Input 층은 학습데이터에서 사용된 2,330개의 단어 종류가 노드로 구성된다.The input layer consists of nodes of 2,330 word types used in the training data.

Embedding 층은 유사한 단어는 같은 숫자를 갖도록 하는 것으로서 학습 데이터에서 사용된 문장이 그대로 실제 데이터에서 사용되지 않아도 비슷한 문장임을 판별하게 한다.The embedding layer ensures that similar words have the same number, and it is determined that the sentences used in the training data are similar sentences even if they are not used in the actual data.

출력층의 노드는 하나로서 Rule이 존재할 것인지를 확률로 계산하여 Y/N 방식으로 판정한다.As one node of the output layer, it is decided by Y/N method by calculating with probability whether a Rule exists.

형태소 분석 결과와 딥러닝 수행 결과를 결합Combining morphological analysis results and deep learning performance results

형태소 분석 결과와 딥러닝 수행 결과를 결합하여 온톨로지 작업을 수행하는 전문가가 보다 빠르고 편리하게 작업을 할 수 있도록 하였다.By combining the results of morphological analysis and deep learning, experts who perform ontology work can work faster and more conveniently.

형태소 분석의 처리 결과는 도 17와 같이 산출된다.The processing result of the morpheme analysis is calculated as shown in FIG. 17 .

온톨로지 요소 추출기를 제작Creating an ontology element extractor

이상의 과정을 자동화하여 진행할 수 있는 프로그램을 제작하였다.A program was developed that can automate the above process.

특히 온톨로지 구성 요소 추출 결과와 딥러닝 판정 결과를 결합해 제시함으로 최종 작성자가 빠르게 작업할 수 있도록 지원한다.In particular, it supports the final author to work quickly by combining and presenting the result of extracting ontology components and the result of deep learning judgment.

각 문장에서 온톨로지 주요 구성요소인 Class Domain, Class Range, Object Property, Data Property 4개 요소를 추출하고, 딥러닝 모델로 Rule이 있을 것으로 추정되는 문장을 예측하는 프로그램을 제작한다.From each sentence, the four main components of the ontology, Class Domain, Class Range, Object Property, and Data Property, are extracted, and the deep learning model creates a program that predicts the sentence that is presumed to have a Rule.

온톨로지 작업 시 추출기의 내용을 보고 작업을 보다 수월하게 할 수 있게 하는 것이 목적이다.The purpose is to make the work easier by viewing the contents of the extractor when working with the ontology.

도 18은 온톨로지 요소와 규제문장 여부를 보여주는 UI 구축한 형태를 나타낸 예시도이다.18 is an exemplary diagram illustrating a form of UI construction showing whether ontology elements and regulatory sentences exist.

각 구성요소의 기능은 아래와 같다.The function of each component is as follows.

① 원 텍스트에 문형 조건 규칙을 적용하여 Class와 Property 요소를 추출하는 과정을 진행하는 버튼① A button that proceeds with the process of extracting Class and Property elements by applying the sentence condition rule to the original text

② 딥러닝 분석을 통해 Rule이 존재할 것으로 예측된 문장을 찾는 과정을 진행하는 버튼② A button that proceeds with the process of finding the sentence predicted to have a Rule through deep learning analysis

③ 저장된 Class와 Property 요소를 화면에 출력하는 버튼③ Button to output saved Class and Property elements to the screen

④ 현재의 진행 상태를 보여주는 창④ A window showing the current progress

⑤ 원문의 내용을 보여 주는 결과창⑤ Results window showing the contents of the original text

⑥ Class Domain에 속하는 어휘를 보여주는 결과창⑥ Result window showing vocabulary belonging to Class Domain

⑦ Class Range에 속하는 어휘를 보여주는 결과창⑦ Results window showing vocabulary belonging to Class Range

⑧ Object Property에 속하는 어휘를 보여주는 결과창 ⑧ Results window showing vocabulary belonging to Object Property

⑨ Data Property에 속하는 어휘를 보여주는 결과창 ⑨ Result window showing vocabulary belonging to Data Property

⑩ 문장에 존재하는 모든 명사를 보여주는 결과창⑩ Results window showing all nouns present in the sentence

⑪ Rule 존재 여부를 보여주는 결과창. Rule이 있을 것으로 예상되면 1⑪ Result window showing whether Rule exists. If it is expected that there will be a Rule, 1

도메인 전문가의 OWL 코드 생성 설계OWL code generation design by domain experts

도메일 전문가가 추출된 온톨로지 요소와 기계(machine)가 추정한 규제문장 판정 결과를 바탕으로 온톨로지 코드(owl)를 작성한다.A domain expert creates an ontology code (owl) based on the extracted ontology elements and the regulatory sentence judgment results estimated by the machine.

예를 들면, 온톨로지 요소들인 Clas Property Rule 등을 구분한 후 사람이 개입해 기계코드인 owl을 도출한다.For example, after classifying the ontology elements such as Clas Property Rule, a human intervention derives the machine code owl.

온톨로지 솔루션(Protιgι)을 이용하여, 온톨로지 언어(OWL code) 생성한다.An ontology language (OWL code) is generated using an ontology solution (Protιgι).

이를 바탕으로 시각화, 정합성검사, 보고서 생성, 법령분석이 가능하게 된다.Based on this, visualization, consistency check, report generation, and law analysis become possible.

머신 리더블 레귤레이션 시각화 설계Machine readable regulation visualization design

도 19는 본 발명의 실시예에 따른 온톨로지 기반 머신리더블 레귤레이션 시각화 시스템의 구성을 나타낸 블럭도이다.19 is a block diagram showing the configuration of an ontology-based machine readable regulation visualization system according to an embodiment of the present invention.

도 19를 참고하면, 본 발명인 온톨로지 기반 머신리더블 레귤레이션 시각화 시스템은, 온톨로지DB(210), 표시모듈(220) 및 수정모듈(230)을 포함한다.Referring to FIG. 19 , the ontology-based machine readable regulation visualization system according to the present invention includes an ontology DB 210 , a display module 220 , and a correction module 230 .

온톨로지 DB(210)는, 자연어로 표현된 법령 또는 규정을 형태소분석을 통해 온톨로지 요소들로 구분한 후 온톨로지코드(OWL code; 이하 온톨로지 코드)로 변환하여 저장한다.The ontology DB 210 divides laws or regulations expressed in natural language into ontology elements through morphological analysis, then converts them into ontology codes (OWL codes; hereinafter, ontology codes) and stores them.

표시모듈(220)은, 출력요청정보가 수신되면 상기 출력요청정보에 따라 상기 온톨로지 DB(210)에 저장된 자연어로 표현된 법령 또는 규정을 온톨로지 요소간 관계에 따라 상위 법령 또는 규정으로부터 하위 법령 또는 규정까지 온톨로지 트리구조로 표시한다.When the output request information is received, the display module 220 converts the laws or regulations expressed in natural language stored in the ontology DB 210 according to the output request information from the upper laws or regulations according to the relationship between the elements of the ontology to the lower laws or regulations. up to the ontology tree structure.

여기서, 상기 출력요청정보는, 클라이언트를 통해 입력된 검색정보를 포함한다.Here, the output request information includes search information input through the client.

그리고, 표시모듈(220)은, 상기 검색정보가 수신되면 상기 검색정보를 온톨로지 코드로 변환하고, 변환된 온톨로지 코드를 포함하는 하나 이상의 법령 또는 규정들을 검출하여 출력한다.Then, when the search information is received, the display module 220 converts the search information into an ontology code, and detects and outputs one or more laws or regulations including the converted ontology code.

또한, 상기 온톨로지 트리구조는, 상위 법령 또는 규정으로부터 하위개념인 조, 항, 호 순서로 연결되어 표시된다.In addition, the ontology tree structure is connected and displayed in the order of sub-concepts of Articles, Sections, and Numbers from the higher-level laws or regulations.

수정모듈(230)은, 상기 표시모듈(220)에 표시된 상기 온톨로지 DB(210)에 저장된 자연어로 표현된 법령 또는 규정 중 어느 하나가 선택된 후 수정정보가 수신되면 상기 수정정보에 포함된 교체법령정보를 검출하고 검출된 교체법령정보를 형태소분석하여 온톨로지 요소들로 구분한 후 온톨로지코드로 변환하여 저장한다.The correction module 230, when the correction information is received after any one of laws or regulations expressed in natural language stored in the ontology DB 210 displayed on the display module 220 is selected, the replacement law information included in the correction information , and morphologically analyzes the detected replacement law information, divides it into ontology elements, and converts them into ontology codes and stores them.

도 20은 본 발명의 실시예에 따른 온톨로지 기반 머신리더블 레귤레이션 시각화 방법의 제공 순서를 나타낸 순서도이다.20 is a flowchart illustrating a method of providing an ontology-based machine readable regulation visualization method according to an embodiment of the present invention.

도 20을 참고하면, 우선, 자연어로 표현된 법령 또는 규정을 형태소분석을 통해 온톨로지 요소들로 구분한 후 온톨로지코드(OWL code; 이하 온톨로지 코드)로 변환하여 온톨로지 DB(210)에 저장한다(s210).Referring to FIG. 20, first, laws or regulations expressed in natural language are divided into ontology elements through morphological analysis, and then converted into ontology codes (OWL codes; hereinafter, ontology codes) and stored in the ontology DB 210 (s210). ).

그 다음, 출력요청정보가 수신되면 상기 출력요청정보에 따라 상기 온톨로지 DB(210)에 저장된 자연어로 표현된 법령 또는 규정을 온톨로지 요소간 관계에 따라 상위 법령 또는 규정으로부터 하위 법령 또는 규정까지 온톨로지 트리구조로 표시한다(s220).Then, when the output request information is received, the laws or regulations expressed in natural language stored in the ontology DB 210 according to the output request information are converted into an ontology tree structure from a higher law or regulation to a lower law or regulation according to the relationship between ontology elements. is indicated as (s220).

여기서, 상기 출력요청정보는, 클라이언트를 통해 입력된 검색정보를 포함한다.Here, the output request information includes search information input through the client.

그리고, (s220)단계는, 상기 검색정보가 수신되면 상기 검색정보를 온톨로지 코드로 변환하고, 변환된 온톨로지 코드를 포함하는 하나 이상의 법령 또는 규정들을 검출하여 출력한다.In the step (s220), when the search information is received, the search information is converted into an ontology code, and one or more laws or regulations including the converted ontology code are detected and output.

또한, 상기 온톨로지 트리구조는, 상위 법령 또는 규정으로부터 하위개념인 조, 항, 호 순서로 연결되어 표시된다.In addition, the ontology tree structure is connected and displayed in the order of sub-concepts of Articles, Sections, and Numbers from the higher-level laws or regulations.

마지막으로, (s220)단계에 표시된 상기 온톨로지 DB(210)에 저장된 자연어로 표현된 법령 또는 규정 중 어느 하나가 선택된 후 수정정보가 수신되면 상기 수정정보에 포함된 교체법령정보를 검출하고 검출된 교체법령정보를 형태소분석하여 온톨로지 요소들로 구분한 후 온톨로지코드로 변환하여 저장한다.Finally, when correction information is received after any one of laws or regulations expressed in natural language stored in the ontology DB 210 displayed in step (s220) is selected, replacement legislation information included in the correction information is detected and the detected replacement Law information is morphologically analyzed, divided into ontology elements, and converted into ontology codes and stored.

이를 자세히 설명하면 아래와 같다.This is explained in detail as follows.

구축한 온톨로지를 바탕으로 시각화는 법령 내용을 직관적으로 파악할 수 있고, 법령 분석을 용이하게 하기 위함이다.Based on the constructed ontology, the visualization is to intuitively grasp the contents of the law and to facilitate the analysis of the law.

도 21는 법령시각화에 대한 플로우(flow)를 보여준다.21 shows a flow for legal visualization.

먼저, 온톨로지 요소 시각화는 온톨로지 DB를 통해 VOWL로 변환한 후에 온톨로지 트리를 나타내고 있다.First, the ontology element visualization shows the ontology tree after being converted to VOWL through the ontology DB.

또한 법령 변경에 따른 시각화는 기존 법령 기준의 보고서를 변경된 법령 기준 보고한다.In addition, the visualization according to the change of the law reports the report of the existing law standard and the changed law standard.

도 22는 법령 온톨로지의 전체 구조 가운데 일부인 법령에 해당되는 내용을 도식화 하였다.22 is a schematic diagram of the content corresponding to the statute, which is a part of the overall structure of the statute ontology.

대 메뉴로는 법령 온톨로지 기능과 법령변경분석과 법령 정합성 기능을 가지고 있다.The main menu has a law ontology function, a law change analysis, and a law consistency function.

예를 들면, 법령은 조, 항, 호를 가지고 있고, 조, 항, 호는 각각의 하위요소를 가지고 있음을 보여준다.For example, it shows that a statute has Articles, Paragraphs, and Articles, and Articles, Paragraphs, and Articles have their respective sub-elements.

온톨로지의 단어들에 대하여 다른 색을 적용하였으며, 도형부분을 클릭하면, 좌측에 해당 법령의 전문을 보여 줌으로써, 사용자 편의성을 증진하였다.Different colors are applied to the words of the ontology, and when the figure part is clicked, the full text of the relevant law is displayed on the left side, thereby enhancing user convenience.

ORM 설계ORM design

온톨로지 정보를 이용하여 보고서를 생성하기 위해서는 온톨로지 내용과 금융DB 내용이 연계되어야 하기 때문에 ORM 기술이 필요하다.In order to generate a report using ontology information, the ORM technology is required because the ontology contents and the financial DB contents must be linked.

보고서 생성을 자동화하기 위하여 온톨로지 내용과 금융DB 내용의 연계 정보를 보관하는 온톨로지-금융DB 매핑정보를 입력으로 ORM을 사용해 보고서 생성용 JAVA jar 프로그램을 생성한다.In order to automate report generation, a JAVA jar program for report generation is created using ORM by inputting ontology-finance DB mapping information that stores the linkage information between ontology contents and financial DB contents.

도 23은 본 발명의 실시예에 따른 매핑 테이블을 이용한 온톨로지와 금융DB의 연동 시스템의 구성을 나타낸 블록도이다.23 is a block diagram showing the configuration of an ontology and financial DB interworking system using a mapping table according to an embodiment of the present invention.

도 23을 참고하면, 본 발명인 매핑 테이블을 이용한 온톨로지와 금융DB의 연동 시스템은, 온톨로지DB(210), 테이블생성모듈(310), 보고서수신모듈(320) 및 보고서갱신모듈(330)을 포함한다.Referring to FIG. 23 , the system for interworking between ontology and financial DB using the present inventor's mapping table includes an ontology DB 210 , a table generating module 310 , a report receiving module 320 and a report updating module 330 . .

온톨로지DB(210)는, 자연어로 표현된 법령 또는 규정을 형태소분석을 통해 온톨로지 요소들로 구분한 후 온톨로지코드(OWL code; 이하 온톨로지 코드)로 변환하여 저장한다.The ontology DB 210 divides laws or regulations expressed in natural language into ontology elements through morpheme analysis, then converts them into ontology codes (OWL codes; hereinafter, ontology codes) and stores them.

테이블생성모듈(310)은, 클라이언트로부터 테이블 양식 정보가 수신되면 상기 테이블 양식 정보에 포함된 하나 이상의 항목별로 온톨로지코드를 매핑하여 매핑요청테이블을 생성한다.When the table form information is received from the client, the table creation module 310 maps ontology codes for one or more items included in the table form information to generate a mapping request table.

보고서수신모듈(320)은, 상기 테이블생성모듈(310)을 통해 생성된 매핑요청테이블을 금융사서버로 송신하고, 상기 금융사서버로부터 상기 매핑요청테이블에 해당하는 보고서 데이터를 수신하고 수신된 보고서데이터를 보고서 DB에저장한다.The report receiving module 320 transmits the mapping request table generated through the table generating module 310 to the financial company server, receives report data corresponding to the mapping request table from the financial company server, and receives the report data It is saved in the report DB.

또한, 상기 금융사서버는, 상기 매핑요청테이블을 수신하면 상기 항목별로 온톨로지코드에 맞춰 금융DB에 저장된 값을 매칭하는 것을 특징으로 한다.In addition, the financial company server, upon receiving the mapping request table, is characterized in that it matches the value stored in the financial DB according to the ontology code for each item.

보고서갱신모듈(330)은, 클라이언트를 통해 보고서 DB에 저장된 보고서데이터 중 어느 하나가 선택되면 선택된 보고서데이터에 해당하는 금융DB로부터 수신받아 보고서를 갱신한다.When any one of the report data stored in the report DB is selected through the client, the report update module 330 receives the report data from the financial DB corresponding to the selected report data and updates the report.

또한, 상기 보고서 갱신모듈(330)은, 갱신된 보고서데이터의 해시값과 해당 금융사의 블록체인에 기 저장된 해시값을 비교하여 일치하면 최종데이터를 보고서 DB에 저장한다.In addition, the report update module 330 compares the hash value of the updated report data with the hash value previously stored in the block chain of the corresponding financial company and stores the final data in the report DB if they match.

도 24는 본 발명의 실시예에 따른 매핑 테이블을 이용한 온톨로지와 금융DB의 연동 방법의 제공 순서를 나타낸 순서도이다. 24 is a flowchart illustrating a method for interworking an ontology and a financial DB using a mapping table according to an embodiment of the present invention.

도 24를 참고하면, 우선, 자연어로 표현된 법령 또는 규정을 형태소분석을 통해 온톨로지 요소들로 구분한 후 온톨로지코드(OWL code; 이하 온톨로지 코드)로 변환하여 온톨로지DB(210)에 저장한다(s310).Referring to FIG. 24, first, laws or regulations expressed in natural language are divided into ontology elements through morphological analysis, and then converted into ontology codes (OWL codes; hereinafter, ontology codes) and stored in the ontology DB 210 (s310). ).

그 다음, 클라이언트로부터 테이블 양식 정보가 수신되면 상기 테이블 양식 정보에 포함된 하나 이상의 항목별로 온톨로지코드를 매핑하여 매핑요청테이블을 생성한다(s320).Then, when the table form information is received from the client, an ontology code is mapped for each one or more items included in the table form information to generate a mapping request table (s320).

그 다음, 상기 테이블생성모듈을 통해 생성된 매핑요청테이블을 금융사서버로 송신하고, 상기 금융사서버로부터 상기 매핑요청테이블에 해당하는 보고서 데이터를 수신하고 수신된 보고서데이터를 보고서 DB에 저장한다(s330).Then, the mapping request table generated through the table creation module is transmitted to the financial company server, the report data corresponding to the mapping request table is received from the financial company server, and the received report data is stored in the report DB (s330) .

여기서, 상기 금융사서버는, 상기 매핑요청테이블을 수신하면 상기 항목별로 온톨로지코드에 맞춰 금융DB에 저장된 값을 매칭한다.Here, the financial company server, upon receiving the mapping request table, matches the value stored in the financial DB according to the ontology code for each item.

그 다음, 클라이언트를 통해 보고서 DB에 저장된 보고서데이터 중 어느 하나가 선택되면 선택된 보고서데이터에 해당하는 금융DB로부터 수신받아 보고서를 갱신한다(s340).Then, when any one of the report data stored in the report DB is selected through the client, the report is updated by receiving from the financial DB corresponding to the selected report data (s340).

여기서 (s340)단계는, 갱신된 보고서데이터의 해시값과 해당 금융사의 블록체인에 기 저장된 해시값을 비교하여 일치하면 최종데이터를 보고서 DB에 저장한다.Here, in step (s340), the hash value of the updated report data is compared with the hash value previously stored in the block chain of the corresponding financial company, and if they match, the final data is stored in the report DB.

이를 자세히 설명하면 아래와 같다.This is explained in detail as follows.

도 25는 생성된 두 개의 JPA Repository 클래스인 온톨로지 내용과 금융DB 내용이 연계되어 매핑된 나타낸 예시도이다.25 is an exemplary diagram showing the mapping of two generated JPA Repository classes, the ontology contents and the financial DB contents, in association with each other.

ORM 채택 이유는 매핑테이블 정보를 입력받아 금융사 DB로부터 보고서 생성에 필요한 자료를 불러오는 작업의 자동화에 가장 적합한 방식으로 판단되기 때문이다.The reason for adopting ORM is that it is judged as the most suitable method for automating the task of receiving mapping table information and retrieving data required for report generation from the financial institution DB.

ORM을 활용함으로써 현 PoC 대상 보고서에서는 DB를 검색하기 위해 별도의 수동 작업이 필요 없다.By utilizing ORM, there is no need for a separate manual operation to search the DB in the current PoC target report.

Java ORM 표준인 JPA 를 준수하는 방법들(Raw JPA, QueryDSL, Spring Data JPA) 중 Query Method를 제공하는 Spring Data JPA 방법을 선택하여 금융 DB 액세스를 위한 클래스를 자동 생성한다.Among the methods (Raw JPA, QueryDSL, Spring Data JPA) compliant with Java ORM standard JPA, select the Spring Data JPA method that provides the Query Method to automatically create a class for financial DB access.

Query Method로 DB 액세스를 위한 질의를 컬럼명과 조건 키워드의 조합으로 쉽게 생성한다.With the Query Method, you can easily create a query for DB access with a combination of column name and conditional keyword.

금융DB의 컬럼으로 매핑이 힘든 보고서 필드는 @Query annotation으로 처리해 코드를 생성한다.Report fields, which are difficult to map to columns of financial DB, are processed with @Query annotation to generate codes.

JPA Entity와 Repository 클래스를 기반으로 RESTful 인터페이스를 갖는 보고서 생성 jar 파일을 만들기 위하여 spring boot 기반으로 Service 클래스와 Controller 클래스도 자동 생성한다.Based on the JPA Entity and Repository classes, to create a report generation jar file with a RESTful interface, a Service class and a Controller class are also automatically created based on spring boot.

보고서 생성을 위해서는 보고서 포맷 정보를 담고 있는 보고서 정보 CSV를 입력으로 받아 해당 포맷에 맞게 Service 클래스를 생성한다.To generate a report, a service class is created according to the format by receiving the report information CSV containing the report format information as input.

DB 테이블 스키마 정보를 담고 있는 데이터 입력 정보를 최소화하여 개발하였다.It was developed by minimizing data input information containing DB table schema information.

DB 테이블을 JAVA 객체인 JPA Entity로 표시하기 위해서는 DB 테이블의 스키마 정보가 필요하다.In order to display the DB table as a JPA Entity, which is a JAVA object, schema information of the DB table is required.

사용되는 정보를 최소화하기 같이 네 가지 정보만 사용한다.Use only four pieces of information, such as to minimize the information used.

보고서 작성에 필요한 보고서 정보를 보고서 포맷 유형을 일반화하여 데이터 입력 정보를 결정함으로써 확장성을 높인다.The scalability is increased by determining the data input information by generalizing the report format type for the report information necessary for creating a report.

보고서 포맷 유형은 기본형(BASIC)과 이중계층형(TWO_LAYERS)의 두 가지를 지원한다.Two types of report format are supported: basic (BASIC) and double-layered (TWO_LAYERS).

기본형은 세부 구조가 없이 단일 계층에 (name, values) 쌍의 배열이 나오는 것이고, 이중계층형은 상위는 (name, items) 쌍의 배열이고, 각 items가 (name, values)의 배열을 갖는 구조이다.The basic type is an array of (name, values) pairs in a single layer without a detailed structure, and the double layer type is a structure in which the parent is an array of (name, items) pairs, and each item has an array of (name, values) to be.

보고서 포맷에 추가적인 세부 유형으로 그룹별 출력이면 [GROUP], 아니면 필요한 내역에 따라 BASE(당기), PREVIOUS(전기), DIFFERENCE(증감)을 명시한다.As an additional detailed type in the report format, if it is output by group, specify [GROUP], otherwise, specify BASE (current), PREVIOUS (early), and DIFFERENCE (increase or decrease) according to the required details.

예를 들어, 당기와 전기만 필요하면 [BASE;PREVIOUS], 증감도 필요하면 [BASE;PREVIOUS;DIFFERENCE]로 명시. 이 때, BASE는 생략 가능하다.For example, specify [BASE;PREVIOUS] if only current and previous years are required, and [BASE;PREVIOUS;DIFFERENCE] if increase or decrease is required. In this case, BASE can be omitted.

보고서 필드와 DB 테이블의 컬럼 사이의 매핑 정보를 보고서 항목의 다양한 계산 방법을 수용할 수 있도록 유연성 있게 개발한다.Mapping information between report fields and columns in DB tables is developed flexibly to accommodate various calculation methods of report items.

보고서 항목 JSON 표기는 보고서 항목을 JSON 포맷에 나타낼 때 항목 이름을 표기하는 것으로서 TWO_LAYERS 보고서 포맷인 경우 상위 계층과 하위 계층의 이름을 “/”로 구분하여 이어서 표시하였다.Report item JSON notation indicates the item name when the report item is expressed in JSON format. In the case of the TWO_LAYERS report format, the names of the upper and lower layers are separated by “/” and displayed continuously.

보고서 세부 속성이 GROUP인 경우 항목 값들을 그룹 별로 나타내야 하기 때문에 그룹명을 출력하기 위해 보고서 항목 타입이 GROUPS인 항목이 반드시 존재해야 하며 그룹명들의 값이 사용자 입력 텍스트로 주어진다.When the report detail attribute is GROUP, since item values must be displayed for each group, an item whose report item type is GROUPS must exist in order to output the group name, and the values of the group names are given as user input text.

해당 보고서의 다른 항목들은 NUMBER_BY_GROUPS 또는 STRING_BY_GROUPS와 같은 타입을 가진다.Other items in the report have types such as NUMBER_BY_GROUPS or STRING_BY_GROUPS.

GROUPS인 항목의 사용자 입력 텍스트는 “그룹명:그룹코드”의 쌍이 표시될 순서대로 주어지는데, 예를 들면, “기명식:01;무기명식:02”의 값을 가진다.The user input text of the GROUPS item is given in the order in which pairs of “group name: group code” are displayed, for example, it has a value of “registered: 01; anonymous: 02”.

사용자 텍스트 입력은 GROUPS 항목처럼 상수 값을 입력하거나 또는 질의를 통해 값을 계산해야 할 때 사용 되는 조건식을 입력하기 위해 사용된다.The user text input is used to input a constant value like the GROUPS item or a conditional expression used when a value needs to be calculated through a query.

DB 스키마 정보를 이용해 DB 테이블의 각각에 대해 JPA Entity 클래스를 생성한다.Create a JPA Entity class for each DB table using DB schema information.

Entity 클래스 생성 시 클래스 이름은 테이블 이름의 Camel 표기명 앞에 EntityFor를 붙임. 예를 들어, 테이블 이름이 dpay_appr_list_tbl인 경우 EntityForDpayApprListTbl이 된다.When creating the Entity class, the class name is appended with EntityFor in front of the Camel notation of the table name. For example, if the table name is dpay_appr_list_tbl, it becomes EntityForDpayApprListTbl.

Entity 클래스 선언 앞에는 @Entity 주석을 사용하여 Entity임을 알리고, @Table 주석을 사용하여 대응되는 DB 테이블명을 적어줌. Hibernate에서 Camel 표기법 ‘_’를 사용하는 snake 표기법으로 자동 변환을 해주기 때문에 DB 테이블명은 dpayApprListTbl과 같이 Camel 표기법으로 적어준다.In front of the Entity class declaration, use the @Entity annotation to indicate that it is an Entity, and use the @Table annotation to write the corresponding DB table name. Since Hibernate automatically converts to snake notation using Camel notation ‘_’, write the DB table name in Camel notation like dpayApprListTbl.

Entity의 필드들은 DB 테이블의 컬럼을 나타내는데, 모든 컬럼을 나열하지 않고 보고서 작성에 사용되는 컬럼들과 Entity에 꼭 나타나야 하는 주키(primary key)만 나열함으로써 Entity를 간결하게 표시한다.The fields of the entity represent the columns of the DB table. Instead of listing all the columns, the Entity is displayed concisely by listing only the columns used for report writing and the primary key that must appear in the entity.

엔트리 필드 명은 DB 테이블 컬럼 이름의 Camel 표기명이다.The entry field name is the Camel notation of the DB table column name.

주키가 단일 컬럼으로 구성된 경우에는 필드 앞에 @Id 주석을 추가하여 주키임을 표시하고, 복수 개의 컬럼으로 구성된 경우에는 각각의 대응되는 필드 앞에 @Id 주석을 달고, 이 필드들로 구성된 PrimaryKey라는 내부 클래스를 추가로 만들어 준다.If the primary key consists of a single column, an @Id annotation is added in front of the field to indicate that it is the primary key. make extra

JPA Entity 각각에 대해 JPA Repository 클래스를 보고서-DB 매핑 정보를 이용해 생성한다.Create a JPA Repository class for each JPA Entity using report-DB mapping information.

보고서 필드와 DB 테이블의 컬럼이 일대일로 대응되는 경우에는 Spring Data JPA Repository의 메소드 명명 규칙에 따라 질의 조건에 맞는 메소드 이름을 생성한다.When the report field and the column of the DB table correspond one-to-one, the method name that meets the query condition is created according to the method naming convention of Spring Data JPA Repository.

Poc 대상 보고서 4개 유형에서 보고서 필드와 DB 테이블의 컬럼이 일대일 대응 시에 발생하는 질의 조건은 모두 날짜 조건들로서 두 가지로 분류할 수 있다.In the four types of Poc reports, the query conditions that occur when a report field and a column of a DB table correspond one-to-one are date conditions, and can be classified into two types.

하나는 POINT 질의로 지정일에 대한 검색이고 다른 하나는 RANGE 질의로 지정기간에 대한 검색임. 전자의 경우 findBy + 날짜조건_컬럼 + Equals로 후자의 경우에는 findBy + 날짜조건_컬럼 + Between으로 메소드 이름을 생성한다.One is a POINT query to search for a specified date, and the other is a RANGE query to search for a specified period. In the former case, the method name is created as findBy + date condition_column + Equals, and in the latter case, findBy + date condition_column + Between.

위에서 만든 JPA Repository의 메소드는 질의 조건에 맞는 튜플들의 모든 컬럼을 반환한다.The JPA Repository method created above returns all columns of tuples that match the query condition.

따라서, 질의 조건이 동일한 경우에는 메소드를 반복적으로 만들지 않고 하나만 생성하고, 메소의 반환 타입은 해당 Entity 클래스명이 된다.Therefore, if the query condition is the same, one method is created instead of repeatedly created, and the return type of the method is the corresponding Entity class name.

보고서 필드와 DB 테이블의 컬럼이 일대일로 대응되지 않는 경우에는 질의문을 사용하여 필요한 값을 구해야 한다.If the report field and the column of the DB table do not correspond one-to-one, you must use a query to obtain the required value.

이를 위해 각 보고서 필드에 대해 질의문을 작성하고 그 질의문을 수행시키기 위한 메소드를 생성한다.To do this, write a query for each report field and create a method to execute the query.

메소드 이름은 find + “보고서 필드 이름”로 명명하여 의미를 쉽게 알 수 있게 한다.The method name is named find + “report field name” to make the meaning easier to understand.

메소드의 반환형은 보고서 필드의 타입에 따라 NUMBER는 Long, STRING은 String, NUMBER_BY_GROUPS는 List<Object[]> 형으로 부여한다.Depending on the report field type, the return type of the method is given as Long for NUMBER, String for STRING, and List<Object[]> for NUMBER_BY_GROUPS.

여기서 Object[]은 하나의 튜플을 나타내며 배열의 원소가 튜플 원소 하나에 매핑되며 Group 마다 하나의 튜플이 반환되므로 List로 받는다.Here, Object[] represents one tuple, and the elements of the array are mapped to one tuple element, and one tuple is returned for each Group, so it is received as a List.

질의문의 작성은 그룹화를 통한 집계 값을 구하는 경우와 그룹화 없이 집계 값을 구하는 경우로 구분되며, 그룹화 없이 집계 값을 구하는 경우에는 “SELECT 집계함수(집계컬럼) FROM DB테이블 WHERE 조건문”으로 질의문을 구성하고, 그룹화가 있는 경우에는 “SELECT 그룹화컬럼, 집계함수(집계컬럼) FROM DB 테이블 WHERE 조건문 GROUP BY 그룹화컬럼”으로 구성한다.Writing a query is divided into the case of obtaining an aggregate value through grouping and the case of obtaining an aggregate value without grouping. If there is grouping, it is composed of “SELECT grouping column, aggregate function (aggregate column) FROM DB table WHERE conditional statement GROUP BY grouping column”.

조건문에서 날짜 조건의 경우에는 지정일 조건은 “날짜조건_컬럼 = ?1”으로 지정기간 조건은 “날짜조건_컬럼 BETWEEN ?1 AND ?2”로 생성함. 여기서 ?1, ?2는 파라메터를 받기 위한 장소를 나타낸다.In the case of the date condition in the conditional statement, the specified date condition is “date condition_column = ?1” and the specified period condition is “date condition_column BETWEEN ?1 AND ?2”. Here, ?1 and ?2 indicate a place to receive parameters.

보고서-DB 매핑 정보에 주어진 사용자 입력 조건은 날짜 조건에 AND로 연결하여 최종 조건문이 생성된다.The user input condition given in the report-DB mapping information is connected to the date condition with AND to create a final conditional statement.

Repository 메소드의 형식 파라메터들은 날짜 조건에 따라 날짜 조건이 없으면 “()”, 지정일 조건은 “(String baseMonth)”, 지정기간 조건은 “(String startDate, String endDate)”로 생성된다.The format parameters of the Repository method are created as “()” if there is no date condition according to the date condition, “(String baseMonth)” for the specified date condition, and “(String startDate, String endDate)” for the specified period condition.

도 22는 각각 자동으로 생성된 BalanceTblRepository와 DpayApprListTblRepository를 보여주고, 전자는 query method에 의한 메소드만 가지고 있고, 후자는 @Query 주석을 사용한 질의 메소드를 포함한다.22 shows the automatically generated BalanceTblRepository and DpayApprListTblRepository, respectively. The former has only a method by the query method, and the latter includes a query method using the @Query annotation.

보고서 하나에 대해 Spring Service 클래스를 보고서 정보와 보고서-DB 매핑 정보를 이용하여 생성한다.For one report, Spring Service class is created using report information and report-DB mapping information.

Service 클래스의 이름은 서비스를 사용하기 위한 REST API URL의 이름 뒤에 Service를 붙여서 명명한다.The name of the Service class is named by appending Service after the name of the REST API URL to use the service.

보고서의 각 필드에 대해 그 필드 값을 구하기 위해 사용되는 해당 Repository의 메소드를 호출한 후 반환 값을 가공하여 보고서를 나타내는 Java 객체의 해당 필드에 값을 저장한다.For each field of the report, the method of the corresponding repository used to obtain the field value is called, and the return value is processed and the value is stored in the corresponding field of the Java object representing the report.

사용되는 Repository들에 대해서 여러 번 사용되더라도 repository 객체를 하나씩만 선언하고, Spring의 의존객체 자동주입을 위해 @Autowired 주석을 추가한다.Declare only one repository object even if it is used multiple times for the used Repositories, and add @Autowired annotation for automatic injection of Spring's dependent objects.

몇 개의 보고서 필드들이 하나의 DB 테이블의 컬럼들과 일대일로 대응되는 경우에는 동일 Repository의 동일 메소드를 호출한 후 반환 Entity 객체로부터 대응되는 필드를 추출하게 된다.When several report fields correspond one-to-one with columns of one DB table, the corresponding fields are extracted from the return entity object after calling the same method of the same repository.

이 때, 효율적인 수행을 위하여 메소드를 한 번만 호출함으로써 질의 수행 횟수를 줄인다.In this case, the number of query executions is reduced by calling the method only once for efficient execution.

메소드를 호출할 때 질의 조건 유형에 따라 사용자가 입력한 날짜 조건 값을 전달하여 호출함. 날짜 조건이 없으면 “()”로, 지정일 조건이면 “(baseMonth)”로, 지정기간이면 “(startDate, endDate)”로 호출한다.When calling a method, it is called by passing the date condition value entered by the user according to the type of query condition. If there is no date condition, it is called “()”, if it is a specified date condition, it is called “(baseMonth)”, if it is a specified period, it is called “(startDate, endDate)”.

보고서의 유형이 그룹별 출력이면 보고서 필드 중에 타입이 GROUPS인 필드에 대해 Service 클래스가 호출되어 처리될 때 먼저 (그룹명, 그룹코드)의 리스트를 LinkedHashMap으로 유지한다.If the report type is output by group, the list of (group name, group code) is first maintained in LinkedHashMap when the service class is called and processed for the field whose type is GROUPS among the report fields.

LinkedHashMap은 그룹을 순서대로 유지하면서도 그룹명으로부터 그룹코드를 빠르게 찾을 수 있다.LinkedHashMap can quickly find the group code from the group name while keeping the groups in order.

보고서 유형이 그룹별 출력일 때, GROUPS 필드 외의 필드들은 STRING_BY_GROUP 또는 NUMBER_BY_GROUP 유형의 필드로서 그룹 별로 값들을 추출한다.When the report type is output by group, fields other than the GROUPS field are STRING_BY_GROUP or NUMBER_BY_GROUP type fields, and values are extracted for each group.

STRING_BY_GROUP은 보고서-DB 매핑 정보에 있는 사용자 입력 텍스트에서 그룹별 문자열을 추출한다.STRING_BY_GROUP extracts a string for each group from the user input text in the report-DB mapping information.

STRING 유형은 집계가 되지 않는 값이므로 GROUP BY문을 사용한 SQL 문으로는 표현할 수 없는 것이다.Since the STRING type is a non-aggregated value, it cannot be expressed in an SQL statement using the GROUP BY statement.

NUMBER_BY_GROUP은 보고서의 GROUPS 필드에 나열된 그룹명의 순서와 동일한 순서로 값을 출력한다.NUMBER_BY_GROUP outputs values in the same order as the group names listed in the GROUPS field of the report.

이를 위해 GROUPS 필드를 처리할 때 만들었던 LinkedHashMap 구조의 리스트를 사용한다.For this, the list of LinkedHashMap structure created when processing the GROUPS field is used.

보고서 유형에 보고서 포맷 유형 세부 속성에 따라 당기뿐만 아니라 전기와 증감 내역도 보고서에 기입한다. 예를 들면, 세부 속성이 없으면 디폴트로 당기에 해당하는 내역만 출력하고, [basic:previous]이면 당기와 전기, [basic:previous:difference]이면 당기, 전기, 증감을 모두 출력한다.In the report type, according to the detailed attributes of the report format type, not only the current year, but also the posting and change details are entered in the report. For example, if there are no detailed properties, by default, only the details pertaining to the current period are output.

전기에 대한 필드 값들을 구할 때, 날짜 조건은 보고서 주기의 분기, 반기, 연간 여부에 따라 월 또는 월의 말일 값을 사용한다.When calculating field values for postings, the date condition uses the value of the month or the last day of the month, depending on whether the report cycle is quarterly, semi-annual, or annual.

Java의 YearMonth 클래스의 atEndOfMonth() 메소드를 사용함으로 월에 따른 말일의 차이에 따른 문제를 해결한다.By using the atEndOfMonth() method of Java's YearMonth class, the problem caused by the difference in the last day of the month is solved.

REST API를 받아 해당되는 보고서를 JSON 형태로 반환하는 Controller 클래스 생성한다.Create a Controller class that receives the REST API and returns the corresponding report in JSON format.

Controller 클래스는 호출된 url에 따라 해당 보고서를 생성하는 Service 클래스와 연결시켜주는 역할을 한다.The Controller class plays a role of connecting with the service class that generates the report according to the called url.

spring framework를 사용함으로써 자동주입으로 간결한 코드가 생성된다.By using spring framework, concise code is generated by automatic injection.

다음 도 26은 자동생성된 Controller 클래스를 보여준다.Next, Figure 26 shows the automatically generated Controller class.

Controller 클래스는 전체 프로그램에 하나만 존재한다.There is only one Controller class in the whole program.

보고 체계 시스템 영역Reporting system system area

보고 체계 시스템은 기능적으로 크게 3가지로 구분하여 설계The reporting system is divided into three functionally

보고서UI: 금융감독원 담당자가 보고서의 생성을 지시하고 열람 및 모니터링 하는 기능과 금융사 담당자가 보고서를 생성하고 열람하고 제출하는 기능을 수행하는 웹 기반 화면Report UI: A web-based screen in which the Financial Supervisory Service officer instructs, reads, and monitors the creation of a report, and the financial institution manager creates, reads, and submits the report.

보고서 오픈 API: 물리적으로 분리된 금융사 시스템과 금융감독원 시스템 간의 보고서 데이터를 보안적으로 안전하게 송수신하는 기능을 수행하는 APIReport open API: API that performs the function of securely transmitting and receiving report data between the physically separated financial company system and the Financial Supervisory Service system

금융사 API: 금융사 시스템 내에 상주하여 금융감독원의 보고서 생성 지시를 인지하고 금융 DB로부터 보고서 데이터를 추출하고 금융감독원 시스템으로 전달하는 기능을 수행하는 APIFinancial company API: API that resides in the financial company system, recognizes the report generation instruction of the Financial Supervisory Service, extracts report data from the financial DB, and delivers the function to the Financial Supervisory Service system

MRR 개념 검증 구현 내용MRR proof-of-concept implementation

현행 법·규정과 보고서의 체계Current laws and regulations and report system

MRR 시각화MRR visualization

PoC 대상 법령에 대해 트리구조가 표현된다.A tree structure is expressed for the PoC target laws.

작성된 OWL 파일이 생성되면 전체적인 법령 체계를 한눈에 볼 수 있다.When the created OWL file is created, the entire legal system can be seen at a glance.

법령 - 조 - 항 - 호 의 순서로 나타난다.They appear in the order of laws - Articles - Paragraphs - Subparagraphs.

MRR 구성요소의 상세 사항을 시각화하여 볼 수 있고, 관계를 이해할 수 있다.You can visualize the details of the MRR components and understand their relationships.

클래스, 프로퍼티, 인디비주얼 등 표현이 되어 있다.Classes, properties, individual, etc. are expressed.

각 구성요소 간의 관계가 어떻게 되어 있는지 시각적으로 표현한다.Visually express how the relationship between each component is.

OWL로 작성된 MRR에 포함된 법령을 검색하고, 법령의 구성요소를 볼 수 있다.You can search for statutes included in the MRR written in OWL and view the elements of the statute.

복잡한 법령 전체는 구조 한눈에 보기 어려우므로, 법령 검색기능이 제공되어 원하는 법령을 검색하고 법령의 상세 내용을 볼 수 있다.Since it is difficult to see the entire structure of complex laws at a glance, a law search function is provided so that you can search for a desired law and view the details of the law.

또한 우측 하단의 검색어를 입력하면 해당하는 법령, 보고서 또는 MRR 요소들이 검색되고, 필요한 경우 확대하여 볼 수 있다.In addition, if you enter a search term in the lower right corner, the relevant laws, reports, or MRR elements are searched and, if necessary, can be enlarged.

원하는 법령을 검색하고 버튼을 클릭하면 해당하는 법령으로 확대가 된다.Search for the law you want and click the button to expand to the relevant law.

POC 이후 전체 법령을 시각화 한다면 구조가 더 크고, 복잡하므로 검색기능은 필수이다.If you visualize the entire statute after POC, the structure is larger and more complex, so the search function is essential.

MRR시각화에 지속적으로 UI 개발이 진행된다면 가시성을 높이고 사용자가 더 이해하기 쉽도록 구성 가능하다.If UI development continues in MRR visualization, it can be configured to increase visibility and make it easier for users to understand.

도 27은 MRR 시각화 관계망 내의 법령 검색화면을 나타낸 예시도이다.27 is an exemplary view showing a law search screen in the MRR visualization network.

법령 등 선택한 MRR요소에 관련한 OWL 코드와 PIM으로 표현된 규칙을 표현한다.The rules expressed in OWL codes and PIMs related to the selected MRR elements such as laws and regulations are expressed.

MRR에 핵심인 OWL코드를 통해 MRR에 활용되는 모든 정보가 담긴 OWL코드 바로 확인 가능하다.Through the OWL code, which is the core of MRR, you can check the OWL code that contains all the information used for MRR.

세부사항 클릭 시 선택한 법령에 대해서 이름, 도메인, 범위, 법령 상세내용을 확인할 수 있다.When you click Details, you can check the name, domain, scope, and details of the law for the selected law.

법령 세부사항 내의 커멘트 클릭시 정합성 시뮬레이션 페이지로 이동한다.Clicking a comment in the statute details will take you to the consistency simulation page.

MRR 시각화 도움말MRR Visualization Help

도움말 페이지를 제공하여 MRR에 대한 이해와 전체 프로세스를 이해할 수 있도록 도움을 준다.We provide a help page to help you understand MRR and the whole process.

MRR의 핵심이 되는 온톨로지에 대한 설명을 포함한다.It includes a description of the ontology that is the core of MRR.

시스템을 이용하는데 발생할 수 있는 의문 사항을 해결할 수 있는 사용 가이드 및 도움말을 제공한다.Provides user guides and help to solve any questions you may have about using the system.

규제법령 분석하고 특정 보고서 내용의 정합성 판단Analyze regulatory laws and judge the consistency of specific report contents

MRR 시각화 페이지에서 검색한 법령에 대해서 각 금융기관 보고서의 정합성을 테스트해 볼 수 있다.In the MRR visualization page, you can test the consistency of each financial institution's report for the found statute.

변경되지 않은 현재 법령 기준으로 각 보고서의 정합성을 판단 가능하다.It is possible to judge the consistency of each report based on the current law that has not been changed.

해당 법령에 포함되는 여러 변수들(총자산, 총부채, 미상환잔액, 가맹점 수 등)이 최신화 되어 데이터베이스에 있어야 함. 이는 제출기한에 맞춰서 금융기관으로부터 보고를 받기 때문에 금감원 데이터베이스 데이터가 있다는 가정을 한다.Various variables included in the relevant laws (total assets, total liabilities, outstanding balance, number of franchisees, etc.) should be updated and stored in the database. This assumes that there is data from the FSS database because reports are received from financial institutions according to the submission deadline.

법령의 구조가 더욱 복잡해질 경우 더욱 고도화된 룰 세트와 판정로직이 적용되어야 하며, 일부 법령에 대해서는 불가할 수 있다.If the structure of the statute becomes more complex, a more advanced rule set and decision logic should be applied, and it may not be possible for some laws.

추가 개발 시 현행법령 기준으로 앞으로 금융기관의 재무상태가 어떻게 변할지 가정하고 시뮬레이션 해보는 것도 가능하다.In case of further development, it is possible to simulate and assume how the financial status of financial institutions will change in the future based on the current laws.

법령 텍스트 원문을 기계가 실행가능 하도록 변환Converting the original text of the statute into a machine executable

이는 수식과 관련되어 사용자의 이해도 어렵지 않고, 변경 시뮬레이션도 간편하다.This is related to the formula, so it is not difficult for the user to understand, and the change simulation is easy.

현행 법령 기준 : 보고서 정합성 판정과 비교해 보았을 때, 법령에서의 기준 수치, 값을 변경했을 때 금융기관이 어느 정도 부합하는지 시뮬레이션 가능하다.Current legal standards: Comparing with the report conformity judgment, it is possible to simulate the degree to which financial institutions conform when the standard numerical values and values in the law are changed.

법령의 구조가 더욱 복잡해질 경우 더욱 고도화된 룰 세트와 판정로직이 적용되어야 하며, 일부 법령에 대해서는 불가할 수 있다.If the structure of the statute becomes more complex, a more advanced rule set and decision logic should be applied, and it may not be possible for some laws.

법령 변경 분석Analysis of statutory changes

법령 변경분석 메뉴에서는 현재의 MRR 화면으로부터 시작하여 변경하려는 법령을 검색하여 찾는다.In the law change analysis menu, starting from the current MRR screen, search for the law you want to change and find it.

하단의 바를 클릭하여 변경예정인 법령 텍스트를 불러온다.Click the bar at the bottom to bring up the text of the statute to be changed.

향후 법령의 양이 늘어나게 될 경우 MRR 시각화와 유사하게 검색/선택 기능이 필요하다.If the amount of legislation increases in the future, a search/select function is required similar to the MRR visualization.

변경하려는 부분을 선택한다.Select the part you want to change.

법령의 추가, 삭제, 수정이 가능하다.It is possible to add, delete, and amend laws and regulations.

법령을 수정할 때 사용자가 편의를 위한 에디터를 적용할 수 있다.When modifying laws, the user can apply an editor for convenience.

법령을 변경한다.change the laws

불러온 법령에서 변경 예정 사항을 삭제/추가한 후 수정 버튼을 클릭하면 변경 예정인 법령이 저장된다.If you click the edit button after deleting/adding the items to be changed in the imported laws, the laws to be changed are saved.

변경 법령으로 인한 MRR 요소 변화를 반영한다.It reflects the change in the MRR factor due to the change legislation.

법령 분석 시작 버튼을 누르면 AI, 형태소분석 프로그램이 저장된 법령을 분석한다.When the law analysis start button is pressed, the AI and morpheme analysis program analyzes the stored law.

분석 프로그램을 API로 실행 요청한다.The analysis program is requested to run through the API.

본 발명에는 유지보수 관리 측면에서 학습을 새롭게 수행하고 모델을 변경하고자 할 때를 위해 관리자 페이지를 별도로 구성할 필요가 있다.In the present invention, it is necessary to separately configure the manager page for when new learning is performed and the model is to be changed in terms of maintenance management.

시작 클릭하면 분석이 실행된다.Click Start to run the analysis.

본 발명에는 법령의 양이 확대되므로 시간이 다소 소요될 수 있다.The present invention may take some time because the amount of laws and regulations is expanded.

대기시간 중 진행 상황을 표시해 줄 별도 UI가 필요하다.A separate UI is needed to display the progress during the waiting time.

변경 예정인 텍스트가 저장된 이후 저장된 텍스트를 AI가 자연어처리를 한다.After the text to be changed is saved, AI performs natural language processing on the saved text.

자연어 처리를 통해 규정에 대한 문장들을 추출한다.Sentences for regulations are extracted through natural language processing.

추출한 문장에서 MRR 구성요소를 판별한다.Determine the MRR components from the extracted sentences.

MRR 구성요소가 화면에 표시된다.The MRR component is displayed on the screen.

생성되어 화면에 표시된 MRR 요소를 참고하여 전문가가 protege를 활용해 OWL을 생성한다.Referring to the generated and displayed MRR elements, the expert creates OWL using protege.

protege를 MRR 시스템에 내재화하여 OWL 생성까지 자동화가 가능하다.By internalizing the protege into the MRR system, it is possible to automate even the creation of OWL.

따라서 사용자는 법령 원문을 수정하면 변경된 MRR 결과를 받기까지 전자동화가 가능하다.Therefore, if the user revises the text of the law, full automation is possible until the changed MRR result is received.

OWL 생성이 완료되면 현행 MRR 시각화와 변경예정인 MRR시각화 화면이 나타난다.When the OWL creation is completed, the current MRR visualization and the MRR visualization screen to be changed are displayed.

구조적으로 큰 변화가 있는 경우에는 사용자가 쉽게 알 수 있지만 그렇지 않은 경우 변경된 내용이 있는 곳을 강조하여 나타낸다.If there is a large structural change, the user can easily see it, but if not, it highlights the location of the change.

법령 변경 사실을 일괄적으로 금융기관에 공지한다.Notify financial institutions of changes in laws and regulations.

본 발명에는 공지하는 프로세스는 따로 분리를 할 수 있다.In the present invention, the known process can be separated separately.

매핑 테이블 작성기 Mapping Table Builder

현행 법령을 분석 및 OWL로 생성하고, 이를 금융기관 DB와 매핑시키기 위해 매핑 테이블을 작성한다.A mapping table is created to analyze the current legislation and create OWL, and to map it to the financial institution DB.

매핑테이블이 한번 구성되면 추가적으로 반복해서 작성할 필요는 없으나, 기존에 없던 신설 법령이 추가될 경우 새롭게 테이블을 매핑 해야한다.Once the mapping table is configured, there is no need to repeat it additionally. However, if a new law that did not exist before is added, a new table must be mapped.

매핑 된 테이블은 생성된 jar와 함께 금융기관으로 전달된다.The mapped table is delivered to the financial institution along with the generated jar.

OWL에서 추출된 프로퍼티에 매핑해야 할 목록을 나타낸다.Represents a list to be mapped to properties extracted from OWL.

금융기관 DB를 연결하기 위해 각 프로퍼티별로 매핑한다.To connect financial institution DB, each property is mapped.

CSV 생성 버튼 클릭을 하면 서버로 csv파일이 생성된 후에 저장된다.If you click the Create CSV button, a csv file is created and saved to the server.

ORMORM

table_info.csv와 MRR-금융DB 매핑 정보가 저장되면 ORM에서는 금융DB에서 관련 자료를 가져오는 프로그램을 자동 생성한다.When table_info.csv and MRR-Finance DB mapping information are saved, ORM automatically creates a program that retrieves related data from the financial DB.

java 생성파일 버튼 클릭을 하면, java 프로그램을 통해 매핑된 테이블과 jar를 생성한다.If you click the java generation file button, the mapped table and jar are created through the java program.

java 프로그램을 통해 매핑된 테이블과 jar를 배포한다.Deploy the mapped table and jar through java program.

보고 체계 영역Reporting system area

보고 체계 시스템 개념 검증 프로세스Reporting Scheme System Concept Verification Process

도 29는 보고 체계 시스템 개념 검증 프로세스의 전체 업무의 흐름을 나타낸 흐름도이다.29 is a flowchart illustrating the overall workflow of the reporting system concept verification process.

정기적인 보고서 제출 시점(년간/반기/분기)에 스케쥴링에 의한 자동 배치를 통하거나 금융감독원 담당자가 보고서 웹 화면에서 비정기적으로 보고서의 생성을 지시한다.At the time of periodic report submission (annual/half-annual/quarterly), automatic arrangement by scheduling or the person in charge of the Financial Supervisory Service instructs the report to be generated irregularly on the report web screen.

보고서 생성 지시는 금융감독원 블록체인을 통해 전체 금융사의 블록체인에 지시 명령을 저장한다.The report generation instruction stores the instruction instruction in the blockchain of the entire financial company through the Financial Supervisory Service blockchain.

금융사 담당자는 보고서 웹 화면을 통해 금융감독원으로부터의 정기적/비정기적인 보고서 생성 지시를 확인하고 보고서 생성을 수행한다.The person in charge of the financial company checks the regular/irregular report generation instruction from the Financial Supervisory Service through the report web screen and generates the report.

보고서 생성 수행은 해당 금융사의 블록체인에 생성 명령을 저장한다.When performing report generation, the generation command is stored in the blockchain of the financial company.

금융사 시스템에 있는 금융사 API 프로그램이 블록체인에 저장된 생성 명령을 자동으로 인지하여 생성을 수행. 보고서 데이터 생성 수행 과정은,The financial institution API program in the financial institution system automatically recognizes the creation command stored in the block chain and performs the creation. The process of generating report data is:

MRR 시스템에서 기 생성된 보고서 데이터 추출 프로그램의 변경 여부를 판단하여 금융사 서버로 다운로드It determines whether the report data extraction program created in the MRR system has been changed and downloads it to the financial institution server.

다운로드한 프로그램을 실행Run the downloaded program

금융감독원에서 지시받은 보고서 데이터를 금융사 DB로부터 추출Extract the report data instructed by the Financial Supervisory Service from the financial institution DB

추출된 보고서 데이터의 해시값을 해당 금융사의 블록체인에 저장The hash value of the extracted report data is stored in the blockchain of the financial institution.

추출된 보고서 데이터의 정합성 검증을 수행하고 그 결과를 포함한 최종 데이터를 보고서 DB에 저장Validate the consistency of the extracted report data and save the final data including the result in the report DB

금융사 담당자가 데이터 검수를 위해 생성된 보고서를 열람하는데 이 때 블록체인에 기 저장된 해시값을 조회하고 보고서 DB에 저장된 보고서 데이터의 해시값을 비교하는 위변조 검증을 통해 일치하면 보고서 화면 노출The person in charge of the financial company reads the report generated for data inspection. At this time, the report screen is exposed if they match through forgery verification that searches the hash value stored in the block chain and compares the hash value of the report data stored in the report DB

금융사 담당자가 보고서 데이터 확인 후 금융감독원에 제출The person in charge of the financial company checks the report data and submits it to the Financial Supervisory Service

금융감독원 담당자는 금융사로부터 제출받은 보고서를 열람하는데 이 때도 블록체인에 기 저장된 해시값을 조회하고 보고서 DB에 저장된 보고서 데이터의 해시값을 비교하여 위변조 검증을 통해 일치하면 보고서 화면 노출The person in charge of the Financial Supervisory Service reads the report submitted by the financial company. Also, at this time, the hash value stored in the block chain is searched, the hash value of the report data stored in the report DB is compared, and if they match through forgery verification, the report screen is exposed.

보고 체계 시스템별 업무 구분Classification of tasks by reporting system system

도 30는 보고 체계 시스템별 업무 구분에 따른 시스템별 구성을 나타낸 예시도이다.30 is an exemplary diagram illustrating the configuration of each system according to the division of tasks for each reporting system system.

금융감독원 시스템Financial Supervisory Service System

보고서 UI: 금융감독원 및 금융사 관리자가 보고서 관련 업무를 처리를 위해 이용하는 웹 화면Report UI: A web screen used by the Financial Supervisory Service and financial company managers to process report-related tasks

보고서 Open API: MRR 시스템으로부터 수신한 보고서 데이터 추출용 프로그램의 변경 여부를 판단하고 해당 프로그램을 금융사 시스템에 다운로드하며 생성된 보고서 데이터를 금융사 시스템으로부터 수신받아 정합성을 검증하고 보고서 DB에 저장하기 위한 APIReport Open API: API for determining whether the program for extracting report data received from the MRR system has been changed, downloading the program to the financial institution system, receiving the generated report data from the financial institution system, verifying consistency, and storing the report DB

블록체인 망: 금융감독원의 보고서 생성 지시 정보를 저장하고 모든 금융사와 이를 공유Blockchain network: Stores the report generation instruction information of the Financial Supervisory Service and shares it with all financial companies

금융사 시스템financial institution system

금융사 API: MRR 시스템으로부터 보고서 데이터 추출용 프로그램을 다운로드 및 실행하여 금융사 DB로부터 보고서 데이터를 추출하고 금융감독원 시스템으로 송신하기 위한 APIFinancial company API: API for downloading and executing a program for extracting report data from the MRR system, extracting report data from the financial company DB, and sending it to the Financial Supervisory Service system

API GatewayAPI Gateway

금융사 API가 금융감독원의 보고서 Open API를 호출할 때 중계 역할을 하는 시스템A system that acts as a relay when the financial institution API calls the Financial Supervisory Service's report Open API

보고서 Open API 호출 시 직접적인 주소를 노출하지 않고 감출 수 있도록 보안적인 지원Secure support to hide the direct address when calling the report Open API

운영 시점에 보고서 Open API 호출 주소가 변경되어도 금융사 API는 변경이 없고 API Gateway 내 매핑 주소만 변경하면 되므로 실시간 변경 반영이 가능Even if the report Open API call address is changed at the time of operation, the financial institution API does not change, only the mapping address in API Gateway needs to be changed, so changes can be reflected in real time

물리적으로 분리되어 있는 금융감독원 시스템과 금융사 시스템 간의 보안적으로 안전한 데이터 통신을 지원Supports secure and secure data communication between the physically separated Financial Supervisory Service system and the financial institution system

보고 체계 금융감독원 업무 프로세스Reporting System Financial Supervisory Service Business Process

보고서 생성 지시: 금융감독원 담당자가 금융사에 보고서 생성을 지시Report generation instruction: A person in charge of the Financial Supervisory Service instructs a financial institution to generate a report

보고서 열람: 금융사에서 제출한 보고서를 열람하여 보고서 데이터 검토View Report: View reports submitted by financial institutions to review report data

보고서 데이터 위변조 검증: 보고서 열람 시 블록체인에 저장된 보고서 데이터 해시값과 보고서 DB에 저장된 보고서 데이터 해시값을 비교하여 위변조 여부 검증Verification of report data forgery: Verification of forgery by comparing the report data hash value stored in the block chain with the report data hash value stored in the report DB when viewing the report

보고서 정합성 검증: 금융사에서 생성된 보고서 데이터 저장 시점에 해당 데이터의 법령 규정 위반 여부를 판단하여 보고서 데이터와 함께 정합성 검증 결과를 저장Verification of report consistency: At the time of saving report data generated by financial institutions, it is determined whether the data violates laws and regulations, and the result of verification of consistency is saved together with the report data.

법령 변경 알림 기능: 법령의 변경 발생 시 MRR로부터 통보 받아 보고서 화면에서 인지할 수 있도록 알림을 표시하고 상세 내용을 화면에 출력Law change notification function: When a law change occurs, it is notified from the MRR, and a notification is displayed so that it can be recognized on the report screen and detailed information is displayed on the screen

보고 체계 금융사 업무 프로세스Reporting system Financial company business process

보고서 데이터 추출 프로그램 처리: 블록체인 저장된 보고서 생성 명령을 자동 인지하여 보고서 데이터 추출 프로그램의 변경 여부를 판단하고 변경 시 다운로드 한 후 프로그램 기동Report data extraction program processing: Automatically recognizes the block chain saved report generation command to determine whether the report data extraction program has been changed

보고서 생성/열람/제출: 금융사 담당자가 금융감독원으로부터 지시 받은 보고서를 생성하고 생성된 보고서를 열람한 후 제출Report creation/reading/submission: A person in charge of a financial company creates a report instructed by the Financial Supervisory Service, reads the generated report, and submits it

보고서 데이터 해시값 저장: 금융사 DB로부터 추출된 보고서 데이터를 SHA256 해시 알고리즘을 이용한 암호화된 값을 블록체인에 저장하여 보고서 열람 시 위변조 검증에 이용Report data hash value storage: The report data extracted from the financial institution DB is stored in the block chain as an encrypted value using the SHA256 hash algorithm and used to verify forgery and falsification when viewing the report.

금융감독원 보고서 화면Financial Supervisory Service report screen

도 31은 금융감독원 보고서 화면을 나타낸 예시도이고, 도 32는 대시보드의 화면구성을 나타낸 예시도이다.31 is an exemplary view showing a report screen of the Financial Supervisory Service, and FIG. 32 is an exemplary view showing a screen configuration of a dashboard.

금융감독원에서 생성 지시한 보고서의 제출 현황을 권역별로 제출/미제출 건수에 대해 막대 그래프로 표현한다.The status of submission of reports ordered by the Financial Supervisory Service is expressed in a bar graph with respect to the number of submissions/non-submissions by region.

기준연월과 주기에 따라 좀 더 세분화된 검색을 통해 권역별로 제출/미제출 비율을 비교 검토 가능하다.It is possible to compare and review the submission/non-submission ratio by region through a more detailed search according to the base year and cycle.

권역별 막대 그래프를 선택하면 하위에 제출대상 건수, 제출/미제출 건수에 대한 상세 목록을 노출하여 권역별로 미제출 상황을 파악 가능하다.By selecting the bar graph for each region, a detailed list of the number of cases subject to submission and the number of submissions/non-submissions is exposed at the bottom, so that the status of non-submission by region can be identified.

경영지도기준 추이Management Guidance Standard Trend

경영지도기준 보고서의 데이터를 기반으로 최근 3년간의 추이를 선형 그래프로 표현한다.Based on the data of the Management Guidance Report, the trend over the past three years is expressed in a linear graph.

기준연월과 권역에 따라 경영지도기준 보고서 데이터의 추이를 검토하여 데이터의 유효성 및 오류 가능성 등을 판단 가능하다.It is possible to judge the validity of the data and the possibility of errors by examining the trend of the management guidance standard report data according to the base year and region.

경영지도기준 보고서의 각 항목별 추이 그래프를 통해 항목 간의 데이터 크로스 검증한다.Cross-verify data between items through the trend graph for each item in the management guidance standard report.

보고서 생성 지시Report generation instruction

정기적인 보고서 생성 지시는 주기(년간/반기/분기)에 따라 스케줄러에 의해 자동으로 진행되지만, 비정기적으로 보고서의 생성 지시 혹은 재지시를 하기 위한 화면이다.Periodic report generation instruction is automatically processed by the scheduler according to the cycle (annual/semi-annual/quarterly), but it is a screen for instructing or re-instructing report generation on an irregular basis.

원하는 금융사에 특정 기준연월에 대해 특정 보고서 생성을 지시한다.Instruct the desired financial institution to generate a specific report for a specific base year.

보고서 생성 지시에 대한 블록체인 정보 확인 가능하다.It is possible to check the blockchain information for the report generation instruction.

하단의 보고서 생성 지시 이력 목록의 각 항목을 클릭하여 정렬 가능하다.You can sort by clicking each item in the report creation instruction history list at the bottom.

전자금융보고서 관리Electronic financial report management

기준연월, 권역, 금융사, 보고서 종류, 주기, 상태 등을 검색조건으로 하여 금융사에서 제출한 보고서 목록을 조회한다.Search the list of reports submitted by financial institutions using the base year, region, financial institution, report type, period, status, etc. as search conditions.

금융사의 보고서 생성 수행에 대한 블록체인 정보 확인 가능하다.It is possible to check the blockchain information about the report generation performance of financial companies.

보고서 열람을 통해 금융 법령 규정에 부합하는지 확인하여 해당 보고서 생성 재지시 필요여부 판단한다.Through reading the report, it is checked whether it complies with the provisions of financial laws and regulations to determine whether it is necessary to re-order the report.

하단 목록은 각 항목 클릭을 통해 오름차순/내림차순 정렬 가능하다.The list at the bottom can be sorted in ascending/descending order by clicking each item.

보고서 검색 시 각 목록에 대한 정합성을 확인하여 위반 시 해당 데이터 라인은 붉은 색으로 표현한다.When searching for a report, the consistency of each list is checked, and in case of violation, the data line is displayed in red.

법령 변경 공지 알람Notification of law changes

MRR 시스템에서 법령의 변경이 발생했을 때 보고서 시스템에서 자동으로 인지 가능하도록 하는 알람 기능Alarm function that enables automatic recognition in the report system when a change of law occurs in the MRR system

최근 3일 이내에 등록된 변경 공지사항의 수를 노출Expose the number of change notices registered within the last 3 days

클릭 시 변경 공지사항의 목록을 최근 순으로 볼 수 있고 선택 시 상세한 내용을 보여준다.When clicked, the list of change notices can be viewed in the order of the most recent, and detailed information is displayed when selected.

보고서 열람View report

금융사에서 제출한 보고서를 양식에 따라 열람View reports submitted by financial companies according to the form

보고서 열람 시 금융사가 보고서 데이터를 생성하는 시점에 블록체인에 저장한 보고서 데이터의 해시값과 현재 열람하는 시점의 보고서 데이터에 대한 해시값을 비교 검토하여 보고서 위변조를 검증When reading the report, the report forgery is verified by comparing and reviewing the hash value of the report data stored in the block chain at the time the financial company generates the report data and the hash value of the report data at the time of viewing.

보고서 화면 하단에 두 해시값을 노출하여 명시적으로 비교Explicitly compare two hash values by exposing them at the bottom of the report screen

정합성 위반 보고서의 경우 열람 시 화면 상단에 규정 위반에 대한 상세 내용을 노출In the case of a conformity violation report, the details of the violation are exposed at the top of the screen when viewed

보고서 열람을 통해 금융 법령 규정에 부합하는지 판단Determination of compliance with financial laws and regulations by reading the report

금융사 보고서 화면Financial company report screen

전자금융보고서 관리Electronic financial report management

기준연월, 보고서 종류, 상태 등을 검색조건으로 하여 해당 금융사의 보고서 상태별 보고서 목록을 조회Search the list of reports by financial company's report status using the base year, report type, status, etc. as the search criteria.

보고서 생성 수행에 대한 블록체인 정보 확인 가능It is possible to check the blockchain information on the execution of report generation

보고서 생성 시 MRR 시스템으로부터 해당 보고서의 규정 위반 여부를 검증하여 그 결과를 DB에 함께 저장When generating a report, the MRR system verifies whether the report violates the rules and stores the results together in the DB

생성 또는 제출한 보고서는 양식에 따라 열람 가능Reports created or submitted can be viewed according to the form

경영지도기준 추이Management Guidance Standard Trend

경영지도기준 보고서의 데이터를 기반으로 최근 3년간의 추이를 선형 그래프로 표현Based on the data of the Management Guidance Report, the trend of the last 3 years is expressed in a linear graph

기준연월과 항목에 따라 경영지도기준 보고서 데이터의 추이를 검토하여 데이터의 유효성 및 오류 가능성 등을 판단 가능It is possible to judge the validity of the data and the possibility of errors by reviewing the trend of the management guidance standard report data according to the base year and item

경영지도기준 보고서의 각 항목별 추이 그래프를 통해 항목 간의 데이터 교차 검증Cross-validation of data between items through the trend graph for each item in the management guidance standard report

보고서 열람View report

금융사가 생성 또는 제출한 보고서를 양식에 따라 열람View reports generated or submitted by financial companies according to the form

보고서 열람 시 해당 금융사가 보고서 데이터를 생성하는 시점에 블록체인에 저장한 보고서 데이터의 해시값과 현재 열람하는 시점의 보고서 데이터에 대한 해시값을 비교 검토하여 보고서 위변조를 검증When reading a report, the report forgery is verified by comparing and reviewing the hash value of the report data stored in the block chain at the time the financial company generates the report data and the hash value of the report data at the time of viewing.

보고서 화면 하단에 두 해시값을 노출하여 명시적으로 비교Explicitly compare two hash values by exposing them at the bottom of the report screen

보고서 열람을 통해 금융 법령 규정에 부합하는지 확인하고 미부합 시 해당 보고서를 재생성 수행이 가능By reading the report, it is possible to check whether it complies with the regulations of financial laws and to regenerate the report in case of nonconformity.

법·규정 변경 영향 분석Analysis of the impact of changes in laws and regulations

법령 변경 시 보고 체계 시스템 업무 프로세스Reporting system system work process when laws change

도 33은 법령 변경 시 보고 체계 시스템 업무 프로세스를 나타낸 법령 변경 논리 구성도이다.33 is a structural diagram of a law change logic showing a work process of a reporting system when a law is changed.

MRR 시스템에서 보고체계 시스템에 법령 변경 정보를 전달하면 금융감독원 및 금융사 보고서 화면에 동일하게 공지사항 알람을 표지하여 담당자가 인지하고 변경된 내용을 확인할 수 있도록 한다.When the MRR system transmits information about changes to laws and regulations to the reporting system, the notification alarm is displayed on the report screens of the Financial Supervisory Service and financial companies in the same way so that the person in charge can recognize and check the changed contents.

법령 변경의 내용이 보고서 양식에 영향을 주는 내용인 경우, 즉 보고서의 주기, 제출기한 일수, 보고서 폐지 등인 경우 보고체계 시스템에 해당 정보를 전달하여 스케쥴러에 의한 자동 보고서 생성 지시 프로그램에 반영되도록 한다.If the changes in laws and regulations affect the report format, that is, report cycle, submission deadline, report abolition, etc., the relevant information is transmitted to the reporting system so that it is reflected in the automatic report generation instruction program by the scheduler.

법령 변경에 대한 보고서 생성 지시부터 이후의 과정은 일반적인 작업 수행과정 절차로 진행한다.From the instruction to generate a report on changes in laws and regulations, the subsequent process proceeds as a general process for performing work.

보고서 출력항목의 변화를 주는 경우 MRR 시스템으로부터 해당 변경 사항에 대한 상세 내용을 수신 받아 보고서 화면에 알람 공지한다.When changes are made to report output items, detailed information about the changes is received from the MRR system and an alarm is notified on the report screen.

보고서의 항목에 발생한 변화의 내용을 반영한 머신 실행가능 레귤레이션을 통해 생성된 보고서 추출용 프로그램을 금융사 시스템에 다운 받아 웹 서버를 기동시키고 금융사 DB로부터 보고서 데이터를 다시 추출 및 생성하여 금융감독원의 보고서 DB에 저장한다.Download the report extraction program generated through machine-executable regulation that reflects the changes in the report items to the financial company system, start the web server, extract and generate report data from the financial company DB again, and store it in the report DB of the Financial Supervisory Service. Save.

항목의 변화가 발생하여 재생성한 보고서는 열람을 통해 보고서 항목의 추가/변경/삭제에 대한 결과를 확인 가능하다.You can check the results of adding/changing/deleting report items by viewing the regenerated report due to changes in items.

보고서 출력항목의 변화를 주지 않는 경우, MRR 시스템으로부터 해당 변경 사항에 대한 상세 내용을 수신 받아 보고서 화면에 알람 공지한다.If there is no change in the report output item, the details of the change are received from the MRR system and an alarm is notified on the report screen.

본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구의 범위에 의하여 나타내어지며, 특허청구의 범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.Those of ordinary skill in the art to which the present invention pertains will understand that the present invention may be embodied in other specific forms without changing the technical spirit or essential features thereof. Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive. The scope of the present invention is indicated by the following claims rather than the above detailed description, and all changes or modifications derived from the meaning and scope of the claims and their equivalent concepts are included in the scope of the present invention. should be interpreted

110: 변환모듈 120: 추출모듈
130: 판단모듈 140: 결합모듈
210: 온톨로지DB 220: 표시모듈
230: 수정모듈 310: 테이블생성모듈
320: 보고서수신모듈 330: 보고서 갱신모듈
110: conversion module 120: extraction module
130: judgment module 140: combination module
210: ontology DB 220: display module
230: modification module 310: table creation module
320: report receiving module 330: report update module

Claims (8)

자연어로 표현된 법령 또는 규정을 형태소분석을 통해 온톨로지 요소들로 구분한 후 온톨로지코드(OWL code; 이하 온톨로지 코드)로 변환하여 저장하는 온톨로지 DB;
클라이언트로부터 테이블 양식 정보가 수신되면 상기 테이블 양식 정보에 포함된 하나 이상의 항목별로 온톨로지코드를 매핑하여 매핑요청테이블을 생성하는 테이블생성모듈; 및
상기 테이블생성모듈을 통해 생성된 매핑요청테이블을 금융사서버로 송신하고, 상기 금융사서버로부터 상기 매핑요청테이블에 해당하는 보고서 데이터를 수신하고 수신된 보고서데이터를 보고서 DB에저장하는 보고서수신모듈;을 포함하는 매핑 테이블을 이용한 온톨로지와 금융DB의 연동 시스템.
Ontology DB that divides laws or regulations expressed in natural language into ontology elements through morphological analysis, then converts them into ontology codes (OWL codes; hereafter referred to as ontology codes) and stores them;
a table creation module for generating a mapping request table by mapping ontology codes for each one or more items included in the table form information when the table form information is received from the client; and
A report receiving module that transmits the mapping request table generated through the table creation module to a financial company server, receives report data corresponding to the mapping request table from the financial company server, and stores the received report data in a report DB; includes An interlocking system of ontology and financial DB using mapping tables.
제1항에 있어서, 상기 금융사서버는,
상기 매핑요청테이블을 수신하면 상기 항목별로 온톨로지코드에 맞춰 금융DB에 저장된 값을 매칭하는 것을 특징으로 하는 매핑 테이블을 이용한 온톨로지와 금융DB의 연동 시스템.
According to claim 1, wherein the financial company server,
When the mapping request table is received, the ontology and financial DB interworking system using a mapping table, characterized in that the value stored in the financial DB is matched according to the ontology code for each item.
제1항에 있어서,
클라이언트를 통해 보고서 DB에 저장된 보고서데이터 중 어느 하나가 선택되면 선택된 보고서데이터에 해당하는 금융DB로부터 수신받아 보고서를 갱신하는 보고서갱신모듈;을 더 포함하는 것을 특징으로 하는 매핑 테이블을 이용한 온톨로지와 금융DB의 연동 시스템.
According to claim 1,
When any one of the report data stored in the report DB is selected through the client, the report update module receives from the financial DB corresponding to the selected report data and updates the report; ontology and financial DB using a mapping table, characterized in that it further comprises; of interlocking system.
제3항에 있어서, 상기 보고서 갱신모듈은,
갱신된 보고서데이터의 해시값과 해당 금융사의 블록체인에 기 저장된 해시값을 비교하여 일치하면 최종데이터를 보고서 DB에 저장하는 것을 특징으로 하는 매핑 테이블을 이용한 온톨로지와 금융DB의 연동 시스템.
The method of claim 3, wherein the report update module,
An interlocking system between ontology and financial DB using a mapping table, characterized in that the hash value of the updated report data is compared with the hash value stored in the block chain of the corresponding financial company and the final data is stored in the report DB if they match.
(a) 자연어로 표현된 법령 또는 규정을 형태소분석을 통해 온톨로지 요소들로 구분한 후 온톨로지코드(OWL code; 이하 온톨로지 코드)로 변환하여 온톨로지DB에 저장하는 단계;
(b) 클라이언트로부터 테이블 양식 정보가 수신되면 상기 테이블 양식 정보에 포함된 하나 이상의 항목별로 온톨로지코드를 매핑하여 매핑요청테이블을 생성하는 단계; 및
(c) 상기 테이블생성모듈을 통해 생성된 매핑요청테이블을 금융사서버로 송신하고, 상기 금융사서버로부터 상기 매핑요청테이블에 해당하는 보고서 데이터를 수신하고 수신된 보고서데이터를 보고서 DB에저장하는 단계;를 포함하는 매핑 테이블을 이용한 온톨로지와 금융DB의 연동 방법.
(a) dividing laws or regulations expressed in natural language into ontology elements through morphological analysis, converting them into ontology codes (OWL codes; hereafter referred to as ontology codes) and storing them in the ontology DB;
(b) generating a mapping request table by mapping ontology codes for one or more items included in the table form information when the table form information is received from the client; and
(c) transmitting the mapping request table generated through the table creation module to a financial company server, receiving report data corresponding to the mapping request table from the financial company server, and storing the received report data in a report DB; Linking method of ontology and financial DB using the included mapping table.
제5항에 있어서, 상기 금융사서버는,
상기 매핑요청테이블을 수신하면 상기 항목별로 온톨로지코드에 맞춰 금융DB에 저장된 값을 매칭하는 것을 특징으로 하는 매핑 테이블을 이용한 온톨로지와 금융DB의 연동 방법.
The method of claim 5, wherein the financial company server,
When the mapping request table is received, the ontology code and the financial DB interworking method using a mapping table, characterized in that matching the value stored in the financial DB according to the ontology code for each item.
제5항에 있어서,
(d) 클라이언트를 통해 보고서 DB에 저장된 보고서데이터 중 어느 하나가 선택되면 선택된 보고서데이터에 해당하는 금융DB로부터 수신받아 보고서를 갱신하는 단계;을 더 포함하는 것을 특징으로 하는 매핑 테이블을 이용한 온톨로지와 금융DB의 연동 방법.
6. The method of claim 5,
(d) receiving from the financial DB corresponding to the selected report data when any one of the report data stored in the report DB is selected through the client and updating the report; ontology and finance using a mapping table, characterized in that it further comprises; DB linkage method.
제7항에 있어서, 상기 (d)단계는,
갱신된 보고서데이터의 해시값과 해당 금융사의 블록체인에 기 저장된 해시값을 비교하여 일치하면 최종데이터를 보고서 DB에 저장하는 것을 특징으로 하는 매핑 테이블을 이용한 온톨로지와 금융DB의 연동 시스템.


The method of claim 7, wherein step (d) comprises:
An interlocking system between ontology and financial DB using a mapping table, characterized in that the hash value of the updated report data is compared with the hash value stored in the block chain of the corresponding financial company and the final data is stored in the report DB if they match.


KR1020210086705A 2020-07-03 2021-07-01 System and method for Connection of ontology and financial DB using mapping table KR20220004574A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020200081941 2020-07-03
KR20200081941 2020-07-03

Publications (1)

Publication Number Publication Date
KR20220004574A true KR20220004574A (en) 2022-01-11

Family

ID=79355997

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210086705A KR20220004574A (en) 2020-07-03 2021-07-01 System and method for Connection of ontology and financial DB using mapping table

Country Status (1)

Country Link
KR (1) KR20220004574A (en)

Similar Documents

Publication Publication Date Title
Ben Abdessalem Karaa et al. Automatic builder of class diagram (ABCD): an application of UML generation from functional requirements
Baier et al. Matching events and activities by integrating behavioral aspects and label analysis
US20150278700A1 (en) Rules based data processing system and method
Saini et al. DoMoBOT: a bot for automated and interactive domain modelling
US20220100963A1 (en) Event extraction from documents with co-reference
Sleimi et al. A query system for extracting requirements-related information from legal texts
Boella et al. Eunomos, a legal document and knowledge management system to build legal services
Morkos Computational representation and reasoning support for requirements change management in complex system design
AU2016201776B2 (en) Functional use-case generation
Mustansir et al. Towards automatic business process redesign: an NLP based approach to extract redesign suggestions
WO2022072237A1 (en) Lifecycle management for customized natural language processing
Graham Service oriented business rules management systems
Rajbhoj et al. A RFP system for generating response to a request for proposal
Randles et al. A vocabulary for describing mapping quality assessment, refinement and validation
Kiyavitskaya et al. Requirements model generation to support requirements elicitation: the Secure Tropos experience
KR20220004574A (en) System and method for Connection of ontology and financial DB using mapping table
KR20220004573A (en) System and method for Ontology-based machine-readable regulation visualization
KR20220004572A (en) System and method for making Machine Readable Regulation
Abualhaija et al. Legal Requirements Analysis
Gomez et al. Towards the automatic generation of conversational interfaces to facilitate the exploration of tabular data
Forcher et al. Semantic logging: Towards explanation-aware das
Tsay et al. Extracting enhanced artificial intelligence model metadata from software repositories
Fill Semantic evaluation of business processes using SeMFIS
Camilleri Analysing normative contracts-on the semantic gap between natural and formal languages
Jiménez et al. On the design of an advanced business rule engine

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E601 Decision to refuse application