KR20220098696A - A medical terminology typo correction device and a method thereof - Google Patents

A medical terminology typo correction device and a method thereof Download PDF

Info

Publication number
KR20220098696A
KR20220098696A KR1020220000911A KR20220000911A KR20220098696A KR 20220098696 A KR20220098696 A KR 20220098696A KR 1020220000911 A KR1020220000911 A KR 1020220000911A KR 20220000911 A KR20220000911 A KR 20220000911A KR 20220098696 A KR20220098696 A KR 20220098696A
Authority
KR
South Korea
Prior art keywords
typo
data
unit
correction
medical
Prior art date
Application number
KR1020220000911A
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 KR20220098696A publication Critical patent/KR20220098696A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/232Orthographic correction, e.g. spell checking or vowelisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2462Approximate or statistical queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H15/00ICT specially adapted for medical reports, e.g. generation or transmission thereof

Abstract

According to the present invention, disclosed is a device and method for correcting misspellings in medical terminology. The device comprises: a similarity analysis unit for analyzing the similarity between selected misspellings and a correction candidate group generated from a pre-training embedding matrix and a specialized embedding matrix; and a data correction unit for correcting data determined to be misspelled according to the similarity analysis result. According to the present invention, by applying two or more word embedding matrices to refine unstructured text data in legally effective documents created in the medical field and medical industry, the limitation of different words used by medical institutions can be overcome. In addition, it is possible to consistently correct misspellings that may occur in the future as well as currently generated misspellings.

Description

의학용어 오탈자 수정 장치 및 방법{A medical terminology typo correction device and a method thereof}A medical terminology typo correction device and a method thereof

본 발명은 오탈자 수정 장치 및 방법에 관한 것으로서, 보다 상세하게는 의료 데이터에 존재하는 오탈자를 자동으로 탐색하여 수정하기 위해 2개의 임배딩 매트릭스를 활용하여 교정 후보군의 유사도를 분석하고 오탈자를 수정할 수 있는 의학용어 오탈자 수정 장치 및 방법에 관한 것이다.The present invention relates to an apparatus and method for correcting a typo, and more particularly, to analyze the similarity of a correction candidate group by using two embedding matrices to automatically detect and correct typos existing in medical data, and to correct typos. It relates to an apparatus and method for correcting a typo in medical terminology.

일반적으로 오탈자 교정 기술이란 사용자가 실수한 검색어에 대해 확률에 따라 원래 의도한 검색어를 제시하여 주는 기술을 의미하는데, 오탈자는 크게 두 가지로 나눌 수 있다. In general, typo correction technology refers to a technique that presents an originally intended search word according to a probability for a search word made by a user.

하나는 타이핑(typographical) 오탈자로서, 키보드 상의 배치된 키의 위치에 기인하는 오탈자이다. 또 하나는 인식(cognitive) 오탈자로서, 단어의 정확한 철자에 대한 오해에 기인하는 오탈자이다.One is a typographical typographical typographical typographical typographical that is due to the location of placed keys on the keyboard. Another is a cognitive typo, a typo resulting from a misunderstanding of the correct spelling of a word.

초기의 오탈자 교정 기술은 사전을 기반으로 하였으며, 사전에서 발견하지 못한 단어를 오탈자로 간주하여 사전 내의 유사한 단어들 중에서 정타 후보를 선택하여 교정해주는 방법이 일반적이다.Early typo correction technology was based on a dictionary, and it is common to consider a word not found in the dictionary as a typo and select a correct candidate from among similar words in the dictionary to correct it.

하지만, 검색 질의어(query)의 오탈자 교정은 기존의 사전에 의존하는 방법으로는 정확한 오탈자 교정 효과를 얻을 수 없다. However, in correcting typos in a search query, an accurate typographical correction effect cannot be obtained by a method that relies on an existing dictionary.

왜냐하면, 검색 질의어는 매우 다양한 형태를 띄고 있으며 인터넷 신조어 등을 포함하고 있기 때문에, 이들 모두를 수작업으로 DB화하는 것은 매우 어려운 실정이다.This is because, since search query words have a very diverse form and include new Internet words, it is very difficult to manually convert them all into a DB.

한편, 의료 분야의 빅데이터를 구축하기 위해서는 데이터의 정제가 필수적인 성공 요소 중 하나이다. On the other hand, in order to build big data in the medical field, data purification is one of the essential success factors.

현재 병원 등의 의료기관 내 대다수의 데이터는 코드화되지 않은 비정형 텍스트 혹은 이미지로 구성되어 있다. Currently, most of the data in medical institutions such as hospitals consists of uncoded text or images.

특히, 병원 등의 의료기관의 데이터(예를 들어, 진료 기록 정보 등)는 많은 경우에 길고 복잡한 학명 및 의학 용어를 포함함으로써, 철자의 오류율이 높고 일반적인 통상의 데이터 정제 과정을 통해 수정하기 어려운 한계가 있었다. In particular, data from medical institutions such as hospitals (for example, medical record information, etc.) contain long and complex scientific names and medical terms in many cases. there was.

또한, 의학 논문 등 의학 관련 문서에도 복잡한 학명 및 의학 용어를 많이 포함하고 있으며, 의학 관련 학문이 발전하면서 새로운 의학 용어도 점점 빠르게 늘고 있는 실정이다. In addition, medical documents such as medical papers contain many complex scientific names and medical terms, and new medical terms are also increasing rapidly as medical science develops.

한편, 기존의 오탈자 자동 수정 기술들은 일반 영역에서 오탈자를 수정하는 기술들이며, 앞서 언급한 복잡한 학명 및 의학 용어에 사용하기에는 한계가 많다고 할 수 있다. On the other hand, existing automatic typographical correction techniques are techniques for correcting typos in a general area, and it can be said that there are many limitations in using them for the aforementioned complex scientific names and medical terms.

더구나 기존 기술들은 주로 기 구축된 단어 목록 데이터베이스를 토대로 유사도를 분석하는 방법을 통해 오탈자를 수정하는데, 이들은 단어 목록 데이터베이스 자체에 오류가 있는 경우 수정 대상 데이터의 오탈자를 정확하게 수정할 수 없을 뿐 아니라, 새롭게 사용되는 신조어는 수정할 수 없다는 한계가 있었다.Moreover, existing technologies mainly correct typos by analyzing the similarity based on the established word list database, but if there is an error in the word list database itself, they cannot accurately correct the typo in the data to be corrected, but also use new There was a limit that the new words that became new words could not be modified.

예를 들어, 국내공개특허 2020-0057824 A1은 단어 임베딩 학습을 수행하여 오탈자를 교정하는 단어 교정 시스템에 관한 기술이고, 국내등록특허 10-1638953 B1은 오탈자 DB에 저장된 정보와 비교를 통해 오탈자를 추출하도록 구성된 온라인상 텍스트 자동 분석 및 수정 시스템에 관한 기술이며, 일본공개특허 JP 2011-65384 A1은 입력 텍스트를 형태소 해석하여 단어 열 데이터를 출력하고 입력 텍스트의 단어 소정 문자 길이의 단어에 대해서 근사 대조하여 근사 사전 대조 단어 열 데이터를 출력하며 단어 열 데이터와 근사 사전 대조 단어 열 데이터를 이용하여 오탈자를 수정하는 방법에 관한 기술이 제시되었다.For example, Korean Patent Publication 2020-0057824 A1 is a technology related to a word correction system that corrects misspellings by performing word embedding learning, and Korean Patent Registration 10-1638953 B1 extracts misspellings through comparison with information stored in the typo DB. It is a technology related to an online automatic text analysis and correction system configured to A technique for correcting misspellings by outputting approximate dictionary matching word sequence data and using word sequence data and approximate dictionary matching word sequence data is presented.

하지만, 상기 종래 기술들은 입력 텍스트의 오자 및 탈자 수정을 위한 기술이라는 공통점이 있으나, 의료 데이터를 대상으로 하는 것이 아니라 일반 문서 작성기, 모바일 메시징 어플리케이션 등과 같은 일반적인 영역에서의 오탈자 교정 기술에 관한 것이라는 한계가 있었다.However, the conventional techniques have in common that they are techniques for correcting typos and misspellings in input text, but have limitations in that they relate to typographical correction techniques in general areas such as general document makers and mobile messaging applications, not medical data. there was.

이에 따라, 병원, 약국, 제약 회사 등 실제 의료업계의 모든 의학 분야별로 완벽한 단어 목록 데이터베이스를 구축하는 방법은 현실적으로 불가능하며, 학명 및 의학 용어의 양 자체도 급속도로 늘어나고 풍부해지는 것을 고려할 때, 이러한 현실적 필요를 고려한 새로운 차원의 오탈자 수정 기술이 필요한 실정이다.Accordingly, it is practically impossible to build a complete word list database for all medical fields in the medical industry, such as hospitals, pharmacies, and pharmaceutical companies. There is a need for a new level of typographical correction technology that considers the need.

본 발명의 목적은 병원 등의 의료기관 및 의료관련 문서 및 문자형 데이터베이스에 존재하는 오탈자를 자연어 처리 기법을 활용한 유사도 분석을 통해 자동으로 탐색하고, 두 가지 이상의 단어 임베딩 매트릭스를 병합하여 단어 목록을 구성함으로써 적절하게 수정할 수 있는 의학용어 오탈자 수정 장치를 제공하는 데 있다.An object of the present invention is to automatically search for misspellings existing in medical institutions such as hospitals, medical documents, and character databases through similarity analysis using natural language processing techniques, and to construct a word list by merging two or more word embedding matrices. An object of the present invention is to provide a medical term typo correction device that can be appropriately corrected.

본 발명의 다른 목적은 상기 목적을 달성하기 위한 의학용어 오탈자 수정 방법을 제공하는데 있다.Another object of the present invention is to provide a method for correcting misspellings in medical terms for achieving the above object.

본 발명의 목적은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 실시예에 의해 보다 분명하게 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 특허청구범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.The object of the present invention is not limited to the object mentioned above, and other objects and advantages of the present invention not mentioned can be understood by the following description, and will be more clearly understood by the examples of the present invention. Further, it will be readily apparent that the objects and advantages of the present invention can be realized by the means and combinations thereof indicated in the claims.

상기 목적을 달성하기 위한 본 발명의 의학용어 오탈자 수정 장치는 선별된 오탈자와 전-훈련 임배딩 매트릭스 및 특화 임배딩 매트릭스에서 생성된 교정 후보군의 유사도를 분석하는 유사도 분석부; 및 상기 유사도 분석 결과에 따라 오탈자로 판단된 데이터를 수정하는 데이터 수정부;를 포함하는 것을 특징으로 한다.In order to achieve the above object, an apparatus for correcting medical terminology of the present invention includes: a similarity analysis unit for analyzing the similarity between the selected misspelling and the correction candidate group generated from the pre-training embedding matrix and the specialized embedding matrix; and a data correction unit that corrects the data determined to be a typo according to the similarity analysis result.

상기 목적을 달성하기 위한 본 발명의 의학용어 오탈자 수정 장치는 분석할 데이터를 메모리에 저장하는 데이터 도입부; 상기 저장된 데이터를 분석 단위로 분할하고, 전처리하여 필터링하는 전처리 필터부; 및 상기 필터링된 데이터가 오탈자인지 선별하는 오탈자 선별부; 를 더 포함하고, 상기 전-훈련 임배딩 매트릭스는 상기 선별된 데이터 중에서 교정 단어 1차 후보군을 생성하고, 상기 특화 임배딩 매트릭스는 의료 기관에서 보관하고 있는 문서를 이용하여 임배딩 매트릭스를 구성하고, 교정 단어 2차 후보군 생성하며, 상기 유사도 분석부는 선별된 오탈자와 상기 생성된 교정 단어 1차 및 2차 후보군의 유사도를 분석하여 순위를 정하고 최종 후보군을 제시하는 것을 특징으로 한다.In order to achieve the above object, an apparatus for correcting medical terminology of the present invention includes: a data introduction unit for storing data to be analyzed in a memory; a pre-processing filter unit for dividing the stored data into analysis units, pre-processing and filtering; and a typo selection unit for selecting whether the filtered data is a typo. Further comprising, wherein the pre-training embedding matrix generates a primary candidate group for correction words from the selected data, and the specialized embedding matrix constructs an embedding matrix using a document stored in a medical institution, A second candidate group of proofreading words is generated, and the similarity analyzer analyzes the similarity between the selected misspelling and the generated first and second candidate groups for the proofreading word, and ranks them and presents the final candidate group.

상기 목적을 달성하기 위한 본 발명의 의학용어 오탈자 수정 장치는 상기 제시된 최종 후보군 데이터의 오탈자를 재검사하는 오탈자 재검부; 및 상기 오탈자 선별부 및 상기 오탈자 재검부에서 오탈자로 선별되지 않은 데이터를 그대로 출력하거나, 상기 수정된 데이터를 출력하는 상기 데이터 출력부; 를 더 포함하고, 상기 데이터 수정부는 상기 재검사 결과 오탈자로 판단된 데이터를 수정하는 것을 특징으로 한다.In order to achieve the above object, an apparatus for correcting medical terminology of the present invention includes: a typo retesting unit for retesting typos in the data of the final candidate group presented above; and the data output unit for outputting data not selected as a typo as it is by the typo sorting unit and the typo rechecking unit or outputting the corrected data. The method further includes, wherein the data correction unit corrects the data determined to be a typo as a result of the re-inspection.

상기 목적을 달성하기 위한 본 발명의 의학용어 오탈자 수정 장치의 상기 저장된 데이터는 단말기 또는 데이터베이스에 입력되어 있는 데이터인 것을 특징으로 한다.In order to achieve the above object, the stored data of the medical terminology correction apparatus of the present invention is data input to a terminal or a database.

상기 목적을 달성하기 위한 본 발명의 의학용어 오탈자 수정 장치의 상기 전-훈련 임배딩 매트릭스는 사전에 훈련된 단어 라이브러리인 것을 특징으로 한다.The pre-training embedding matrix of the medical term misspelling correction apparatus of the present invention for achieving the above object is characterized in that it is a pre-trained word library.

상기 목적을 달성하기 위한 본 발명의 의학용어 오탈자 수정 장치의 상기 전-훈련 임배딩 매트릭스는 BioWordVec, Sub-word pre-trained model을 포함하는 것을 특징으로 한다.The pre-training embedding matrix of the medical terminology correction apparatus of the present invention for achieving the above object is characterized in that it includes BioWordVec and a Sub-word pre-trained model.

상기 목적을 달성하기 위한 본 발명의 의학용어 오탈자 수정 장치의 상기 특화 임배딩 매트릭스는 fastText 기법을 이용하여 임배딩 매트릭스를 구성하는 것을 특징으로 한다.In order to achieve the above object, the specialized embedding matrix of the medical term misspelling correction apparatus of the present invention is characterized in that the embedding matrix is configured using the fastText technique.

상기 다른 목적을 달성하기 위한 본 발명의 의학용어 오탈자 수정 방법은 유사도 분석부가 선별된 오탈자와 전-훈련 임배딩 매트릭스 및 특화 임배딩 매트릭스에서 생성된 교정 후보군의 유사도를 분석하는 단계; 및 데이터 수정부가 상기 유사도 분석 결과에 따라 오탈자로 판단된 데이터를 수정하는 단계;를 포함하는 것을 특징으로 한다.The method of correcting a medical term typo of the present invention for achieving the above another object comprises the steps of: analyzing the similarity of a correction candidate group generated from the pre-training embedding matrix and the specialized embedding matrix with the selected typo by the similarity analysis unit; and correcting, by the data correction unit, the data determined to be a typo according to the similarity analysis result.

상기 다른 목적을 달성하기 위한 본 발명의 의학용어 오탈자 수정 방법은 (a) 데이터 도입부가 분석할 데이터를 메모리에 저장하는 단계; (b) 전처리 필터부가 상기 저장된 데이터를 분석 단위로 분할하고, 전처리하여 필터링하는 단계; (c) 오탈자 선별부가 상기 필터링된 데이터가 오탈자인지 선별하는 단계; (d) 상기 전-훈련 임배딩 매트릭스가 상기 선별된 데이터 중에서 교정 단어 1차 후보군을 생성하는 단계; (e) 상기 특화 임배딩 매트릭스가 의료 기관에서 보관하고 있는 문서를 이용하여 임배딩 매트릭스를 구성하고, 교정 단어 2차 후보군을 생성하는 단계; (f) 상기 유사도 분석부가 선별된 오탈자와 상기 생성된 교정 단어 1차 및 2차 후보군의 유사도를 분석하여 순위를 정하고 최종 후보군을 제시하는 단계; (g) 오탈자 재검부가 상기 제시된 최종 후보군 데이터의 오탈자를 재검사하는 단계; 및 (h) 상기 데이터 수정부가 상기 재검사 결과 오탈자로 판단된 데이터를 수정하는 단계; 를 포함하는 것을 특징으로 한다.In order to achieve the above another object, the method for correcting medical terminology of the present invention includes the steps of: (a) storing data to be analyzed by a data introduction unit in a memory; (b) dividing the stored data into analysis units by a pre-processing filter unit, pre-processing and filtering; (c) selecting whether the filtered data is a typo by a typo selection unit; (d) generating, by the pre-training embedding matrix, a primary candidate group for correction words from the selected data; (e) constructing an embedding matrix using a document stored by the specialized embedding matrix in a medical institution, and generating a secondary candidate group for correction words; (f) analyzing, by the similarity analysis unit, the similarity between the selected misspellings and the generated primary and secondary candidate groups for the correction word, ranking and presenting a final candidate group; (g) re-inspecting the typo in the final candidate group data presented above by the typo re-testing unit; and (h) correcting, by the data correction unit, the data determined to be a typo as a result of the re-inspection; It is characterized in that it includes.

상기 다른 목적을 달성하기 위한 본 발명의 의학용어 오탈자 수정 방법은 상기 (h) 단계 이후에, 데이터 출력부가 상기 오탈자 선별부 및 상기 오탈자 재검부에서 오탈자로 선별되지 않은 데이터를 그대로 출력하거나, 상기 수정된 데이터를 출력하는 단계; 를 더 포함하는 것을 특징으로 한다.In the method for correcting a medical term typo of the present invention for achieving the above other object, after step (h), the data output unit outputs the data that is not selected as a typo in the typo selection unit and the typo recheck unit as it is, or the correction outputting the data; It is characterized in that it further comprises.

상기 다른 목적을 달성하기 위한 본 발명의 의학용어 오탈자 수정 방법의 상기 전처리는 형식 정리 및 불용어 전처리를 포함하는 것을 특징으로 한다.The pre-processing of the medical term misspelling correction method of the present invention for achieving the above other object is characterized in that it includes a formal arrangement and a stop-word preprocessing.

상기 다른 목적을 달성하기 위한 본 발명의 의학용어 오탈자 수정 방법은 상기 (c) 단계에서, 상기 오탈자인지 선별은 입력된 데이터의 단어가 표준 용어 라이브러리에 존재하는지 여부를 소정의 규칙 기반으로 판단하는 것을 특징으로 한다.In the method of correcting medical terminology of the present invention for achieving the above another object, in the step (c), the selection whether the typo is determined based on a predetermined rule whether the word of the input data exists in the standard term library. characterized.

상기 다른 목적을 달성하기 위한 본 발명의 의학용어 오탈자 수정 방법의 상기 표준 용어 라이브러리는 SNOMED Clinical Terms 임상의학 문서 및 보고서에 사용되는 의학 용어 집합을 사용하는 것을 특징으로 한다.The standard term library of the medical term misspelling correction method of the present invention for achieving the above other object is characterized in that the SNOMED Clinical Terms medical term set used in clinical medical documents and reports is used.

상기 다른 목적을 달성하기 위한 본 발명의 의학용어 오탈자 수정 방법의 상기 소정의 규칙은 오탈자로 분류되는 경우 후속의 알고리즘을 따르고, 오탈자로 분류되지 않는 경우 상기 저장된 데이터를 상기 데이터 출력부를 통해 그대로 출력하는 것을 특징으로 한다.The predetermined rule of the medical term typo correction method of the present invention for achieving the above other object follows a subsequent algorithm when classified as a typo, and outputs the stored data as it is through the data output unit when it is not classified as a typo characterized in that

상기 다른 목적을 달성하기 위한 본 발명의 의학용어 오탈자 수정 방법의 상기 유사도는 편집 거리, 빈도 및 Character level N-gram을 적용하는 것을 특징으로 한다.The similarity of the method for correcting misspellings in medical terms of the present invention for achieving the above other object is characterized in that the editing distance, frequency, and character level N-gram are applied.

기타 실시예의 구체적인 사항은 "발명을 실시하기 위한 구체적인 내용" 및 첨부 "도면"에 포함되어 있다.Specific details of other embodiments are included in "Details for carrying out the invention" and the accompanying "drawings".

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

그러나, 본 발명은 이하에서 개시되는 각 실시예의 구성만으로 한정되는 것이 아니라 서로 다른 다양한 형태로도 구현될 수도 있으며, 단지 본 명세서에서 개시한 각각의 실시예는 본 발명의 게시가 완전하도록 하며, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구범위의 각 청구항의 범주에 의해 정의될 뿐임을 알아야 한다.However, the present invention is not limited only to the configuration of each embodiment disclosed below, but may also be implemented in various other forms, and each embodiment disclosed in this specification only makes the publication of the present invention complete, It is provided to fully inform those of ordinary skill in the art to which the invention pertains to the scope of the present invention, and it should be understood that the present invention is only defined by the scope of each claim.

본 발명에 의할 경우, 의학 분야 및 의료업계에서 작성되는 법적 효력이 있는 문서에 있는 비정형 텍스트 데이터를 두 가지 이상의 단어 임베딩 매트릭스를 적용하여 정제함으로써, 의료기관별로 사용되는 단어가 상이한 한계를 극복할 수 있게 된다.According to the present invention, by applying two or more word embedding matrices to refine the unstructured text data in the legally effective document created in the medical field and medical industry, it is possible to overcome the limitation of different words used for each medical institution. there will be

또한, 현재 생성되는 오탈자뿐 아니라 앞으로 발생할 수 있는 오탈자에 대하여도 일관성 있게 수정할 수 있게 된다.In addition, it is possible to consistently correct not only the currently generated typo but also the typo that may occur in the future.

도 1은 본 발명의 일 실시예에 따른 의학용어 오탈자 수정 장치의 블록도이다.
도 2는 본 발명의 일 실시예에 따른 의학용어 오탈자 수정 방법의 동작을 설명하기 위한 순서도이다.
도 3은 소정의 종합병원에서 사용하는 세균배양 검사 보고서에 대해 본 발명의 일 실시예에 따라 적용한 결과 오탈자 단어 수에 대한 표이다.
도 4는 소정의 종합병원에서 사용하는 세균배양 검사 보고서에 대해 본 발명의 일 실시예에 따라 적용한 결과 데이터가 수정된 예시에 대한 표이다.
1 is a block diagram of a medical term misspelling correction apparatus according to an embodiment of the present invention.
2 is a flowchart illustrating an operation of a method for correcting misspellings in medical terms according to an embodiment of the present invention.
3 is a table showing the number of misspelled words as a result of applying according to an embodiment of the present invention to a bacterial culture test report used in a predetermined general hospital.
4 is a table for an example in which the result data applied according to an embodiment of the present invention to a bacterial culture test report used in a predetermined general hospital is corrected.

이하, 첨부한 도면을 참고로 하여 본 발명의 바람직한 실시예에 대하여 상세히 설명하면 다음과 같다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.

본 발명을 상세하게 설명하기 전에, 본 명세서에서 사용된 용어나 단어는 통상적이거나 사전적인 의미로 무조건 한정하여 해석되어서는 아니되며, 본 발명의 발명자가 자신의 발명을 가장 최선의 방법으로 설명하기 위해서 각종 용어의 개념을 적절하게 정의하여 사용할 수 있다.Before describing the present invention in detail, the terms or words used herein should not be construed as being unconditionally limited to their ordinary or dictionary meanings, and in order for the inventor of the present invention to describe his invention in the best way Concepts of various terms can be appropriately defined and used.

더 나아가 이들 용어나 단어는 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야 함을 알아야 한다.Furthermore, it should be understood that these terms or words should be interpreted as meanings and concepts consistent with the technical spirit of the present invention.

즉, 본 명세서에서 사용된 용어는 본 발명의 바람직한 실시예를 설명하기 위해서 사용되는 것일 뿐이고, 본 발명의 내용을 구체적으로 한정하려는 의도로 사용된 것이 아니다.That is, the terms used herein are only used to describe preferred embodiments of the present invention, and are not intended to specifically limit the content of the present invention.

이들 용어는 본 발명의 여러 가지 가능성을 고려하여 정의된 용어임을 알아야 한다.It should be understood that these terms are defined in consideration of various possibilities of the present invention.

또한, 본 명세서에 있어서, 단수의 표현은 문맥상 명확하게 다른 의미로 지시하지 않는 이상, 복수의 표현을 포함할 수 있다.Also, in the present specification, a singular expression may include a plural expression unless the context clearly indicates otherwise.

또한, 유사하게 복수로 표현되어 있다고 하더라도 단수의 의미를 포함할 수 있음을 알아야 한다.Also, it should be noted that even if it is similarly expressed as a plural, it may include a singular meaning.

본 명세서의 전체에 걸쳐서 어떤 구성 요소가 다른 구성 요소를 "포함"한다고 기재하는 경우에는, 특별히 반대되는 의미의 기재가 없는 한 임의의 다른 구성 요소를 제외하는 것이 아니라 임의의 다른 구성 요소를 더 포함할 수도 있다는 것을 의미할 수 있다.In the case where it is stated throughout this specification that a component "includes" another component, it does not exclude any other component, but further includes any other component unless otherwise indicated. It could mean that you can.

더 나아가서, 어떤 구성 요소가 다른 구성 요소의 "내부에 존재하거나, 연결되어 설치된다"고 기재한 경우에는, 이 구성 요소가 다른 구성 요소와 직접적으로 연결되어 있거나 접촉하여 설치되어 있을 수 있다.Furthermore, when it is described that a certain component is "exists in or connected to" of another component, the component may be directly connected to or installed in contact with the other component.

또한, 일정한 거리를 두고 이격되어 설치되어 있을 수도 있으며, 일정한 거리를 두고 이격되어 설치되어 있는 경우에 대해서는 해당 구성 요소를 다른 구성 요소에 고정 내지 연결시키기 위한 제 3의 구성 요소 또는 수단이 존재할 수 있다.In addition, they may be installed to be spaced apart from each other by a certain distance, and in the case where they are installed to be spaced apart by a certain distance, there may be a third component or means for fixing or connecting the corresponding component to another component. .

한편, 상기 제 3의 구성 요소 또는 수단에 대한 설명은 생략될 수도 있음을 알아야 한다.Meanwhile, it should be noted that the description of the third component or means may be omitted.

반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결"되어 있다거나, 또는 "직접 접속"되어 있다고 기재되는 경우에는, 제 3의 구성 요소 또는 수단이 존재하지 않는 것으로 이해하여야 한다.On the other hand, when it is described that a certain element is "directly connected" or "directly connected" to another element, it should be understood that the third element or means does not exist.

마찬가지로, 각 구성 요소 간의 관계를 설명하는 다른 표현들, 즉 " ~ 사이에"와 "바로 ~ 사이에", 또는 " ~ 에 이웃하는"과 " ~ 에 직접 이웃하는" 등도 마찬가지의 취지를 가지고 있는 것으로 해석되어야 한다.Likewise, other expressions describing the relationship between components, such as "between" and "immediately between", or "adjacent to" and "directly adjacent to", have the same meaning. should be interpreted as

또한, 본 명세서에 있어서 "일면", "타면", "일측", "타측", "제 1", "제 2" 등의 용어는, 하나의 구성 요소에 대해서 이 하나의 구성 요소가 다른 구성 요소로부터 명확하게 구별될 수 있도록 하기 위해서 사용된다.In addition, in the present specification, terms such as "one side", "the other side", "one side", "the other side", "first", "second", etc., with respect to one component, the one component is a different component. It is used so that it can be clearly distinguished from the element.

하지만, 이와 같은 용어에 의해서 해당 구성 요소의 의미가 제한적으로 사용되는 것은 아님을 알아야 한다.However, it should be understood that the meaning of the corresponding component is not limitedly used by such terms.

또한, 본 명세서에서 "상", "하", "좌", "우" 등의 위치와 관련된 용어는, 사용된다면, 해당 구성 요소에 대해서 해당 도면에서의 상대적인 위치를 나타내고 있는 것으로 이해하여야 한다.In addition, in this specification, terms related to positions such as "upper", "lower", "left", and "right", if used, should be understood as indicating a relative position in the corresponding drawing with respect to the corresponding component.

또한, 이들의 위치에 대해서 절대적인 위치를 특정하지 않는 이상은, 이들 위치 관련 용어가 절대적인 위치를 언급하고 있는 것으로 이해하여서는 아니 된다.In addition, unless absolute positions are specified with respect to their positions, these position-related terms should not be understood as referring to absolute positions.

더욱이, 본 발명의 명세서에서는, "…부", "…기", "모듈", "장치" 등의 용어는, 사용된다면, 하나 이상의 기능이나 동작을 처리할 수 있는 단위를 의미한다.Furthermore, in the specification of the present invention, terms such as “…unit”, “…group”, “module”, and “device”, if used, mean a unit capable of processing one or more functions or operations.

이는 하드웨어 또는 소프트웨어, 또는 하드웨어와 소프트웨어의 결합으로 구현될 수 있음을 알아야 한다.It should be noted that this may be implemented in hardware or software, or a combination of hardware and software.

본 명세서에 첨부된 도면에서 본 발명을 구성하는 각 구성 요소의 크기, 위치, 결합 관계 등은 본 발명의 사상을 충분히 명확하게 전달할 수 있도록 하기 위해서 또는 설명의 편의를 위해서 일부 과장 또는 축소되거나 생략되어 기술되어 있을 수 있고, 따라서 그 비례나 축척은 엄밀하지 않을 수 있다.In the drawings attached to this specification, the size, position, coupling relationship, etc. of each component constituting the present invention are partially exaggerated, reduced, or omitted for convenience of explanation or in order to sufficiently clearly convey the spirit of the present invention. may be described, and thus the proportion or scale may not be exact.

또한, 이하에서, 본 발명을 설명함에 있어서, 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 구성, 예를 들어, 종래 기술을 포함하는 공지 기술에 대한 상세한 설명은 생략될 수도 있다. In addition, in the following, in describing the present invention, a detailed description of a configuration determined that may unnecessarily obscure the gist of the present invention, for example, a detailed description of a known technology including the prior art may be omitted.

도 1은 본 발명의 일 실시예에 따른 의학용어 오탈자 수정 장치의 블록도로서, 데이터 도입부(100), 전처리 필터부(200), 오탈자 선별부(300), 전-훈련 임배딩 매트릭스(400), 특화 임배딩 매트릭스(500), 유사도 분석부(600), 오탈자 재검부(700), 데이터 수정부(800) 및 데이터 출력부(900)를 구비한다. 1 is a block diagram of an apparatus for correcting medical terminology according to an embodiment of the present invention. FIG. 1 is a data introduction unit 100 , a preprocessing filter unit 200 , a typo selection unit 300 , and a pre-training embedding matrix 400 . , a specialized embedding matrix 500 , a similarity analysis unit 600 , a typo rechecking unit 700 , a data correction unit 800 , and a data output unit 900 .

도 2는 본 발명의 일 실시예에 따른 의학용어 오탈자 수정 방법의 동작을 설명하기 위한 순서도이다.2 is a flowchart illustrating an operation of a method for correcting misspellings in medical terms according to an embodiment of the present invention.

도 1 및 도 2를 참조하여 본 발명의 일 실시예에 따른 의학용어 오탈자 수정 방법의 동작을 개략적으로 설명하면 다음과 같다. An operation of the method for correcting misspellings in medical terms according to an embodiment of the present invention will be schematically described with reference to FIGS. 1 and 2 .

데이터 도입부(100)가 분석할 데이터를 메모리에 저장한다(S100). The data introduction unit 100 stores the data to be analyzed in the memory (S100).

전처리 필터부(200)가 메모리에 저장된 데이터를 분석 단위로 분할하고, 전처리하여 필터링한다(S200).The pre-processing filter unit 200 divides the data stored in the memory into analysis units, pre-processes and filters the data (S200).

오탈자 선별부(300)가 전처리 필터부(200)에서 필터링된 데이터가 오탈자인지 선별한다(S300). The typo selection unit 300 determines whether the data filtered by the pre-processing filter unit 200 is a typo (S300).

전-훈련 임배딩 매트릭스(400)가 오탈자 선별부(300)에서 선별된 데이터 중에서 교정 단어 1차 후보군을 생성한다(S400).The pre-training embedding matrix 400 generates a primary candidate group for correction words from the data selected by the misspelling selection unit 300 ( S400 ).

특화 임배딩 매트릭스(500)가 의료 기관에서 보관하고 있는 문서를 이용하여 임배딩 매트릭스를 구성하고, 교정 단어 2차 후보군을 생성한다(S500).The specialized embedding matrix 500 configures the embedding matrix using the document stored in the medical institution, and generates a secondary candidate group for correction words (S500).

유사도 분석부(600)가 선별된 오탈자와 전-훈련 임배딩 매트릭스(400)에서 생성된 교정 단어 1차 후보군과 특화 임배딩 매트릭스(500)에서 생성된 교정 단어 2차 후보군의 유사도를 분석하여 순위를 정하고 최종 후보군을 제시한다(S600). The similarity analysis unit 600 analyzes the similarity between the selected typo and the correction word primary candidate group generated from the pre-training embedding matrix 400 and the correction word secondary candidate group generated from the specialized embedding matrix 500 to rank and proposes a final candidate group (S600).

오탈자 재검부(700)가 유사도 분석부(600)에서 제시된 최종 후보군 데이터의 오탈자를 재검사한다(S700).The typo re-examination unit 700 re-examines the typo in the final candidate group data presented by the similarity analysis unit 600 ( S700 ).

데이터 수정부(800)가 오탈자 재검부(700)에서 재검사 결과 오탈자로 판단된 데이터를 수정한다(S800).The data correction unit 800 corrects the data determined to be a typo as a result of the re-inspection by the typo re-inspection unit 700 ( S800 ).

데이터 출력부가 오탈자 선별부(300) 및 오탈자 재검부(700)에서 오탈자로 선별되지 않은 데이터를 그대로 출력하거나, 데이터 수정부(800)에서 수정된 데이터를 출력한다.The data output unit outputs the data that is not selected as a typo by the typo selection unit 300 and the typo recheck unit 700 as it is, or outputs corrected data by the data correction unit 800 .

도 3은 소정의 종합병원에서 사용하는 세균배양 검사 보고서에 대해 본 발명의 일 실시예에 따라 적용한 결과 오탈자 단어 수에 대한 표이다.3 is a table showing the number of misspelled words as a result of applying according to an embodiment of the present invention to a bacterial culture test report used in a predetermined general hospital.

도 4는 소정의 종합병원에서 사용하는 세균배양 검사 보고서에 대해 본 발명의 일 실시예에 따라 적용한 결과 데이터가 수정된 예시에 대한 표이다.4 is a table for an example in which the result data applied according to an embodiment of the present invention to a bacterial culture test report used in a predetermined general hospital is corrected.

도 1 내지 도 4를 참조하여 본 발명의 일 실시예에 따른 의학용어 오탈자 수정 장치의 유기적인 동작을 상세하게 설명하면 다음과 같다.An organic operation of the medical term misspelling correction apparatus according to an embodiment of the present invention will be described in detail with reference to FIGS. 1 to 4 .

데이터 도입부(100)는 단말기나 데이터베이스에 입력되어 있는 분석할 데이터를 메모리에 새로 저장한다. The data introduction unit 100 newly stores the data to be analyzed inputted in the terminal or the database in the memory.

전처리 필터부(200)는 데이터를 분석 단위로 분할하고, 이후 분석이 용이하게 데이터 형식 정리, 불용어 전처리 등을 통해 데이터를 필터링한다. The pre-processing filter unit 200 divides the data into analysis units, and filters the data through data format arrangement, stopword pre-processing, etc. to facilitate subsequent analysis.

표준 용어 라이브러리(350)는 오탈자 선별부(300)에서 활용할 단어 라이브러리로서, 본 실시 예에서는 SNOMED Clinical Terms라는 임상의학 문서 및 보고서에 사용되는 체계적으로 구조화된 의학 용어 집합을 사용하여 20만건의 철자 사전을 구축한다.The standard term library 350 is a word library to be utilized by the misspelling selection unit 300, and in this embodiment, a dictionary of 200,000 spellings using a systematically structured medical term set used in clinical medical documents and reports called SNOMED Clinical Terms. to build

이때, 본 발명은 SNOMED에 국한되지 않을 뿐만 아니라, 후술하는 전-훈련 임배딩 매트릭스(400) 및 특화 임배딩 매트릭스(500)도 이러한 용도로 활용할 수도 있다.At this time, the present invention is not limited to SNOMED, and the pre-training embedding matrix 400 and the specialized embedding matrix 500 to be described later may also be utilized for this purpose.

오탈자 선별부(300)는 입력된 데이터가 오탈자인지 선별하는 구성요소로서, 본 실시 예에서는 입력된 데이터의 단어가 표준 용어 라이브러리(350)에 존재하는지 여부를 소정의 규칙 기반으로 판단한다.The typo selection unit 300 is a component that determines whether the input data is a typo, and in this embodiment, determines whether a word of the input data exists in the standard term library 350 based on a predetermined rule.

판단 결과, 단어가 표준 용어 라이브러리(350)에 존재하지 않아 오탈자로 분류되는 경우에는 오탈자 가능성이 높은 단어로서 후속의 알고리즘을 따르게 되고, 오탈자로 분류되지 않는 경우에는 그대로 입력된 데이터를 출력한다. As a result of the determination, when a word is classified as a typo because it does not exist in the standard term library 350, a subsequent algorithm is followed as a word with a high possibility of a typo, and when the word is not classified as a typo, the input data is output as it is.

전-훈련 임배딩 매트릭스(400)는 사전에 훈련된 단어 라이브러리로서, 유사도 분석부(600)에서 사용할 교정 단어 1차 후보군을 생성한다. The pre-training embedding matrix 400 is a pre-trained word library, and generates a primary candidate group for correction words to be used by the similarity analysis unit 600 .

본 실시 예에서는 BioWordVec, Sub-word pre-trained model 등을 이용하여 구성한다. In this embodiment, BioWordVec, sub-word pre-trained model, etc. are used to configure.

BioWordVec은 PubMed와 MIMIC-III 임상 데이터베이스(Clinical Database)의 문서를 기반으로 200 차원의 사전 훈련된 임베딩 매트릭스를 제공한다. BioWordVec provides a 200-dimensional pre-trained embedding matrix based on documentation from PubMed and the MIMIC-III Clinical Database.

즉, MeSH(Medical Subject Headings)에서 헤딩(heading) 시퀀스를 생성하고 PubMed 문장 시퀀스와 결합하여 단어 임배딩 학습에 사용한다.That is, a heading sequence is generated from Medical Subject Headings (MeSH) and combined with a PubMed sentence sequence to be used for word embedding learning.

특화 임배딩 매트릭스(500)는 의료기관에서 보관하고 있는 실제 문서를 이용하여 임배딩 매트릭스를 구성한다. The specialized embedding matrix 500 constitutes an embedding matrix using actual documents stored in a medical institution.

앞서 전-훈련 임배딩 매트릭스(400)와 함께 유사도 분석부(600)에서 사용할 교정 단어 2차 후보군 생성에 활용한다. Previously, it is used to generate a secondary candidate group for correction words to be used in the similarity analysis unit 600 together with the pre-training embedding matrix 400 .

본 실시 예에서는 fastText 기법을 이용하여 임배딩 매트릭스를 구성한다.In this embodiment, an embedding matrix is constructed using the fastText technique.

여기에서, fastText 기법은 철자 수준의 n-gram 벡터 합으로 표현된 매트릭스이다. Here, the fastText technique is a matrix expressed as a sum of n-gram vectors at the spelling level.

철자 수준의 임배딩 벡터는 형태소 변화가 다양하거나 자주 사용되지 않는 희귀한 단어에도 적용할 수 있다는 강점을 가진다.Embedding vectors at the spelling level have the advantage of being applicable to rare words with various morphological changes or infrequently used.

예를 들어, 'fastText'라는 단어를 3-gram 으로 분해하는 경우, 'fas/ast/stT/tTe/Tex/ext'로 나누어진다. For example, when the word 'fastText' is decomposed into 3-grams, it is divided into 'fas/ast/stT/tTe/Tex/ext'.

그리고, 이 6개의 단어들이 학습을 통해 임배딩되며 각 벡터의 합으로 전체 단어를 표현하게 된다.And, these 6 words are embedded through learning, and the total word is expressed by the sum of each vector.

여기서, 교정 단어 1차 후보군 및 교정 단어 2차 후보군은 각각 오탈자로 분류된 단어에서 오탈자를 수정한 교정 단어의 후보를 의미한다.Here, the first candidate group for the proofreading word and the second candidate group for the proofreading word mean candidates of the proofreading word in which the misspelling is corrected in the word classified as a typo, respectively.

유사도 분석부(600)는 선별된 오탈자와 전-훈련 임배딩 매트릭스(400) 및 특화 임배딩 매트릭스(500)에서 생성된 교정 후보군(교정 단어 1차 후보군 및 교정 단어 2차 후보군)의 유사도를 분석하여 순위를 매기고 최종 후보군을 제시한다. The similarity analysis unit 600 analyzes the similarity between the selected typo and the proofreading candidate group (the first candidate group for the proofreading word and the second candidate group for the proofreading word) generated from the pre-training embedding matrix 400 and the specialized embedding matrix 500 . ranking and presenting final candidates.

즉, 전-훈련 임배딩 매트릭스(400)와 특화 임배딩 매트릭스(500)에서 한 번이라도 생성된 교정 후보 단어라면 전체 교정 후보군에 포함된다.That is, any correction candidate word generated at least once in the pre-training embedding matrix 400 and the specialized embedding matrix 500 is included in the entire correction candidate group.

유사도 분석부(600)는 전-훈련 임배딩 매트릭스(400)와 특화 임배딩 매트릭스(500)를 통하여 생성된 교정 후보군과 오탈자의 유사도를 각 임배딩 매트릭스에서 계산하고, 두 개의 교정 후보군에 모두 포함된 교정 후보 단어의 경우 에는 두 개의 유사도 값을 기하 평균하여 최종 유사도를 산출한다. The similarity analysis unit 600 calculates the similarity between the correction candidate group and the misspelling generated through the pre-training embedding matrix 400 and the specialized embedding matrix 500 in each embedding matrix, and includes both correction candidate groups. In the case of corrected candidate words, the final similarity is calculated by geometrically averaging the two similarity values.

본 실시 예에서는 편집 거리(Levenshtein distance), 빈도, Character level N-gram을 적용한다.In this embodiment, Levenshtein distance, frequency, and character level N-gram are applied.

구체적으로, 본 실시 예에서는 편집 거리(Levenshtein distance)와 빈도를 고려하여 Character level N-gram 기반의 코사인 유사도를 산출한 후 교정 후보군의 순위를 매기어 최종 교정 단어를 제안한다.Specifically, in this embodiment, after calculating the cosine similarity based on the character level N-gram in consideration of the Levenshtein distance and the frequency, the final correction word is proposed by ranking the correction candidates.

전-훈련 임배딩 매트릭스(400)와 특화 임배딩 매트릭스(500)는 fastText 기법으로 학습되었으며 빈도수에 따라 내림차순으로 어휘가 정렬되어 있다.The pre-training embedding matrix 400 and the specialized embedding matrix 500 were trained using the fastText technique, and the vocabulary is arranged in descending order according to the frequency.

전-훈련 임배딩 매트릭스(400)와 특화 임배딩 매트릭스(500)는 다음의 두 가지의 가정을 충분히 만족할 수 있다.The pre-training embedding matrix 400 and the specialized embedding matrix 500 may sufficiently satisfy the following two assumptions.

첫번째, 임상 데이터베이스에서 올바른 철자의 단어는 철자 오류의 단어보다 상대적으로 빈번하게 나타날 수 있다.First, words with correct spelling in clinical databases may appear relatively more frequently than words with misspellings.

두번째, 학습에 사용되는 말뭉치가 클수록 올바른 철자의 단어의 빈도수는 크게 증가한다.Second, the larger the corpus used for learning, the greater the frequency of correctly spelled words.

편집 거리(Levenshtein distance)는 한 단어를 다른 단어로 변환하는데 필요한 작업 수다.Levenshtein distance is the number of operations required to transform one word into another.

오탈자와 교정 후보군의 편집 거리의 범위를 설정한 후 조건에 맞는 교정 후보군에 대하여 최종적으로 코사인 유사도를 산출한다.After setting the range of the editing distance between the typo and the proofreading candidates, the cosine similarity is finally calculated for the proofreading candidates that meet the conditions.

교정 후보군의 산출된 유사도를 기반으로 순위를 정렬한 후 최종 후보군을 제시한다.After sorting the rankings based on the calculated similarity of the proofreading candidates, the final candidates are presented.

즉, 유사도 분석부(600)는 유사도가 높은 순으로 교정 후보군을 정렬한 후에, 빈도를 기준으로 선택적으로 순위를 매기게 되며, 오탈자와 가장 유사한 단어의 범위를 제한적으로 탐색하는 과정을 통하여 주어진 조건에 맞는 최종 후보군을 제시한다.That is, the similarity analysis unit 600 sorts the proofreading candidates in the order of the highest similarity, then selectively ranks them based on the frequency, and the condition given through the process of limiting the search for the range of words most similar to the misspelling. We present the final candidates for

오탈자 재검부(700)는 유사도 분석부(600)에서 제시된 최종 후보군 데이터의 오탈자를 다시 검사한다.The typo rechecking unit 700 re-examines typos in the final candidate group data presented by the similarity analysis unit 600 .

데이터 출력부(900)는 오탈자 선별부(300) 및 오탈자 재검부(700)에서 올바른 단어(오탈자가 아닌 단어)로 판단되는 단어를 그대로 혹은 데이터 수정부(800)를 거쳐 수정하여 출력한다.The data output unit 900 outputs the words determined to be correct words (words that are not misspelled) by the misspelling selection unit 300 and the misspelling rechecking unit 700 as they are or after being corrected through the data correction unit 800 .

만일, 최종 후보군이 표준 용어 라이브러리(350)에 없는 단어인 경우 유사도가 높은 단어를 출력한다.If the final candidate group is a word that is not in the standard term library 350, a word having a high similarity is output.

도 3에서 보는 바와 같이, 소정의 종합병원에서 사용하는 세균배양 검사 보고서를 기반으로 만든 180,000 여건의 샘플 데이터를 이용하여 본 발명을 적용한 결과, 총 18개 종류의 철자 오류가 발견되었고, 전체 오탈자 단어의 개수는 918건이었음을 알 수 있다.3, as a result of applying the present invention using about 180,000 sample data made based on the bacterial culture test report used in a certain general hospital, a total of 18 types of spelling errors were found, and all misspelled words It can be seen that the number of cases was 918.

또한, 도 4에서 보는 바와 같이, 도 3에서 기반으로 한 세균배양 검사 보고서에 대하여 본 발명을 적용한 결과, 전처리 필터 과정에서 필터링되어 수정된 예시가 Example 1 내지 4와 같이 수정되었음을 알 수 있다.In addition, as shown in FIG. 4 , as a result of applying the present invention to the bacterial culture test report based on FIG. 3 , it can be seen that the filtered and modified examples in the pre-filtering process have been modified as in Examples 1 to 4.

이와 같이, 본 발명은 병원 등의 의료기관 및 의료관련 문서 및 문자형 데이터베이스에 존재하는 오탈자를 자연어 처리 기법을 활용한 유사도 분석을 통해 자동으로 탐색하고, 두 가지 이상의 단어 임베딩 매트릭스를 병합하여 단어 목록을 구성함으로써 적절하게 수정할 수 있는 의학용어 오탈자 수정 장치 및 방법을 제공한다.As described above, the present invention automatically searches for misspellings existing in medical institutions such as hospitals, medical documents and text databases through similarity analysis using natural language processing techniques, and configures a word list by merging two or more word embedding matrices. By doing so, an apparatus and method for correcting misspellings in medical terms that can be appropriately corrected are provided.

이를 통하여, 본 발명은 의학 분야 및 의료업계에서 작성되는 법적 효력이 있는 문서에 있는 비정형 텍스트 데이터를 두 가지 이상의 단어 임베딩 매트릭스를 적용하여 정제함으로써, 의료기관별로 사용되는 단어가 상이한 한계를 극복할 수 있게 된다.Through this, the present invention refines atypical text data in a document with legal effect created in the medical field and medical industry by applying two or more word embedding matrices to overcome the limitations of different words used by medical institutions do.

또한, 현재 생성되는 오탈자뿐 아니라 앞으로 발생할 수 있는 오탈자에 대하여도 일관성 있게 수정할 수 있게 된다.In addition, not only the currently generated typos but also the typos that may occur in the future can be consistently corrected.

이상, 일부 예를 들어서 본 발명의 바람직한 여러 가지 실시예에 대해서 설명하였지만, 본 "발명을 실시하기 위한 구체적인 내용" 항목에 기재된 여러 가지 다양한 실시예에 관한 설명은 예시적인 것에 불과한 것이며, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 이상의 설명으로부터 본 발명을 다양하게 변형하여 실시하거나 본 발명과 균등한 실시를 행할 수 있다는 점을 잘 이해하고 있을 것이다.In the above, although several preferred embodiments of the present invention have been described with some examples, the descriptions of various various embodiments described in the "Specific Contents for Carrying Out the Invention" item are merely exemplary, and the present invention Those of ordinary skill in the art will understand well that the present invention can be practiced with various modifications or equivalents to the present invention from the above description.

또한, 본 발명은 다른 다양한 형태로 구현될 수 있기 때문에 본 발명은 상술한 설명에 의해서 한정되는 것이 아니며, 이상의 설명은 본 발명의 개시 내용이 완전해지도록 하기 위한 것으로 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것일 뿐이며, 본 발명은 청구범위의 각 청구항에 의해서 정의될 뿐임을 알아야 한다.In addition, since the present invention can be implemented in various other forms, the present invention is not limited by the above description, and the above description is intended to complete the disclosure of the present invention, and is generally It should be understood that the present invention is only provided to fully inform those with knowledge of the scope of the present invention, and that the present invention is only defined by each of the claims.

Claims (15)

선별된 오탈자와 전-훈련 임배딩 매트릭스 및 특화 임배딩 매트릭스에서 생성된 교정 후보군의 유사도를 분석하는 유사도 분석부; 및
상기 유사도 분석 결과에 따라 오탈자로 판단된 데이터를 수정하는 데이터 수정부;
를 포함하는 것을 특징으로 하는,
의학용어 오탈자 수정 장치.
a similarity analysis unit that analyzes the similarity between the selected misspellings and the correction candidates generated from the pre-training embedding matrix and the specialized embedding matrix; and
a data correction unit for correcting data determined to be a typo according to the similarity analysis result;
characterized in that it comprises,
Medical terminology correction device.
제 1 항에 있어서,
분석할 데이터를 메모리에 저장하는 데이터 도입부;
상기 저장된 데이터를 분석 단위로 분할하고, 전처리하여 필터링하는 전처리 필터부; 및
상기 필터링된 데이터가 오탈자인지 선별하는 오탈자 선별부;
를 더 포함하고,
상기 전-훈련 임배딩 매트릭스는 상기 선별된 데이터 중에서 교정 단어 1차 후보군을 생성하고,
상기 특화 임배딩 매트릭스는 의료 기관에서 보관하고 있는 문서를 이용하여 임배딩 매트릭스를 구성하고, 교정 단어 2차 후보군 생성하며,
상기 유사도 분석부는 선별된 오탈자와 상기 생성된 교정 단어 1차 및 2차 후보군의 유사도를 분석하여 순위를 정하고 최종 후보군을 제시하는 것을 특징으로 하는,
의학용어 오탈자 수정 장치.
The method of claim 1,
a data introduction unit for storing data to be analyzed in a memory;
a pre-processing filter unit for dividing the stored data into analysis units, pre-processing and filtering; and
a typo selection unit for selecting whether the filtered data is a typo;
further comprising,
The pre-training embedding matrix generates a correction word primary candidate group from the selected data,
The specialized embedding matrix constructs an embedding matrix using documents stored in medical institutions, and generates a secondary candidate group for correction words,
The similarity analyzer analyzes the similarity between the selected misspelling and the generated primary and secondary candidate groups for the correction word, to rank and present the final candidate group,
Medical terminology correction device.
제 2 항에 있어서,
상기 제시된 최종 후보군 데이터의 오탈자를 재검사하는 오탈자 재검부; 및
상기 오탈자 선별부 및 상기 오탈자 재검부에서 오탈자로 선별되지 않은 데이터를 그대로 출력하거나, 상기 수정된 데이터를 출력하는 상기 데이터 출력부;
를 더 포함하고,
상기 데이터 수정부는 상기 재검사 결과 오탈자로 판단된 데이터를 수정하는 것을 특징으로 하는,
의학용어 오탈자 수정 장치.
3. The method of claim 2,
a typo retesting unit for retesting typos in the final candidate group data presented above; and
the data output unit for outputting data not selected as a typo as it is by the typo selection unit and the typo rechecking unit or for outputting the corrected data;
further comprising,
The data correction unit corrects the data determined to be a typo as a result of the re-inspection,
Medical terminology correction device.
제 2 항에 있어서,
상기 저장된 데이터는
단말기 또는 데이터베이스에 입력되어 있는 데이터인 것을 특징으로 하는,
의학용어 오탈자 수정 장치.
3. The method of claim 2,
The stored data is
Characterized in that the data is input to the terminal or database,
Medical terminology correction device.
제 1 항에 있어서,
상기 전-훈련 임배딩 매트릭스는
사전에 훈련된 단어 라이브러리인 것을 특징으로 하는,
의학용어 오탈자 수정 장치.
The method of claim 1,
The pre-training embedding matrix is
characterized in that it is a pre-trained word library,
Medical terminology correction device.
제 1 항에 있어서,
상기 전-훈련 임배딩 매트릭스는
BioWordVec, Sub-word pre-trained model을 포함하는 것을 특징으로 하는,
의학용어 오탈자 수정 장치.
The method of claim 1,
The pre-training embedding matrix is
BioWordVec, characterized in that it includes a sub-word pre-trained model,
Medical terminology correction device.
제 1 항에 있어서,
상기 특화 임배딩 매트릭스는
fastText 기법을 이용하여 임배딩 매트릭스를 구성하는 것을 특징으로 하는,
의학용어 오탈자 수정 장치.
The method of claim 1,
The specialized embedding matrix is
Characterized in constructing an embedding matrix using the fastText technique,
Medical terminology correction device.
유사도 분석부가 선별된 오탈자와 전-훈련 임배딩 매트릭스 및 특화 임배딩 매트릭스에서 생성된 교정 후보군의 유사도를 분석하는 단계; 및
데이터 수정부가 상기 유사도 분석 결과에 따라 오탈자로 판단된 데이터를 수정하는 단계;
를 포함하는 것을 특징으로 하는,
의학용어 오탈자 수정 방법.
Analyzing the similarity of the correction candidate group generated from the pre-training embedding matrix and the specialized embedding matrix with the selected typo by the similarity analysis unit; and
correcting, by a data correction unit, data determined to be a typo according to the similarity analysis result;
characterized in that it comprises,
How to correct typo in medical terminology.
제 8 항에 있어서,
(a) 데이터 도입부가 분석할 데이터를 메모리에 저장하는 단계;
(b) 전처리 필터부가 상기 저장된 데이터를 분석 단위로 분할하고, 전처리하여 필터링하는 단계;
(c) 오탈자 선별부가 상기 필터링된 데이터가 오탈자인지 선별하는 단계;
(d) 상기 전-훈련 임배딩 매트릭스가 상기 선별된 데이터 중에서 교정 단어 1차 후보군을 생성하는 단계;
(e) 상기 특화 임배딩 매트릭스가 의료 기관에서 보관하고 있는 문서를 이용하여 임배딩 매트릭스를 구성하고, 교정 단어 2차 후보군을 생성하는 단계;
(f) 상기 유사도 분석부가 선별된 오탈자와 상기 생성된 교정 단어 1차 및 2차 후보군의 유사도를 분석하여 순위를 정하고 최종 후보군을 제시하는 단계;
(g) 오탈자 재검부가 상기 제시된 최종 후보군 데이터의 오탈자를 재검사하는 단계; 및
(h) 상기 데이터 수정부가 상기 재검사 결과 오탈자로 판단된 데이터를 수정하는 단계;
를 포함하는 것을 특징으로 하는,
의학용어 오탈자 수정 방법.
9. The method of claim 8,
(a) storing the data to be analyzed by the data introduction unit in a memory;
(b) pre-processing and filtering the stored data by dividing the stored data into analysis units, pre-processing and filtering;
(c) selecting whether the filtered data is a typo by a typo selection unit;
(d) generating, by the pre-training embedding matrix, a primary candidate group for correction words from the selected data;
(e) constructing an embedding matrix using a document stored by the specialized embedding matrix in a medical institution, and generating a secondary candidate group for correction words;
(f) analyzing, by the similarity analysis unit, the similarity between the selected misspellings and the generated primary and secondary candidate groups for the correction word, ranking them, and presenting a final candidate group;
(g) re-inspecting the typo in the final candidate group data presented above by the typo re-testing unit; and
(h) correcting, by the data correction unit, the data determined to be a typo as a result of the re-inspection;
characterized in that it comprises,
How to correct typo in medical terminology.
제 9 항에 있어서,
상기 (h) 단계 이후에,
데이터 출력부가 상기 오탈자 선별부 및 상기 오탈자 재검부에서 오탈자로 선별되지 않은 데이터를 그대로 출력하거나, 상기 수정된 데이터를 출력하는 단계;
를 더 포함하는 것을 특징으로 하는,
의학용어 오탈자 수정 방법.
10. The method of claim 9,
After step (h),
outputting, by a data output unit, data that is not selected as a typo as a typo by the typo sorting unit and the typo rechecking unit as it is, or outputting the corrected data;
characterized in that it further comprises,
How to correct typo in medical terminology.
제 9 항에 있어서,
상기 전처리는
형식 정리 및 불용어 전처리를 포함하는 것을 특징으로 하는,
의학용어 오탈자 수정 방법.
10. The method of claim 9,
The pretreatment is
Characterized in including formalization and stopword preprocessing,
How to correct typo in medical terminology.
제 10 항에 있어서,
상기 (c) 단계에서,
상기 오탈자인지 선별은
입력된 데이터의 단어가 표준 용어 라이브러리에 존재하는지 여부를 소정의 규칙 기반으로 판단하는 것을 특징으로 하는,
의학용어 오탈자 수정 방법.
11. The method of claim 10,
In step (c),
Selection of the typo is
characterized in that it is determined based on a predetermined rule whether or not the word of the input data exists in the standard term library,
How to correct typo in medical terminology.
제 12 항에 있어서,
상기 표준 용어 라이브러리는
SNOMED Clinical Terms 임상의학 문서 및 보고서에 사용되는 의학 용어 집합을 사용하는 것을 특징으로 하는,
의학용어 오탈자 수정 방법.
13. The method of claim 12,
The standard term library is
SNOMED Clinical Terms Characterized in using a set of medical terms used in clinical medicine documents and reports,
How to correct typo in medical terminology.
제 12 항에 있어서,
상기 소정의 규칙은
오탈자로 분류되는 경우 후속의 알고리즘을 따르고,
오탈자로 분류되지 않는 경우 상기 저장된 데이터를 상기 데이터 출력부를 통해 그대로 출력하는 것을 특징으로 하는,
의학용어 오탈자 수정 방법.
13. The method of claim 12,
The predetermined rule is
If it is classified as a typo, the following algorithm is followed,
Characterized in that when it is not classified as a typo, the stored data is directly output through the data output unit,
How to correct typo in medical terminology.
제 8 항에 있어서,
상기 유사도는
편집 거리, 빈도 및 Character level N-gram을 적용하는 것을 특징으로 하는,
의학용어 오탈자 수정 방법.
9. The method of claim 8,
The similarity is
characterized by applying the editing distance, frequency and Character level N-gram,
How to correct typo in medical terminology.
KR1020220000911A 2021-01-04 2022-01-04 A medical terminology typo correction device and a method thereof KR20220098696A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20210000424 2021-01-04
KR1020210000424 2021-01-04

Publications (1)

Publication Number Publication Date
KR20220098696A true KR20220098696A (en) 2022-07-12

Family

ID=82260901

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220000911A KR20220098696A (en) 2021-01-04 2022-01-04 A medical terminology typo correction device and a method thereof

Country Status (2)

Country Link
KR (1) KR20220098696A (en)
WO (1) WO2022146126A1 (en)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100806936B1 (en) * 2006-03-31 2008-02-22 엔에이치엔(주) System and method for providing automatically completed recommended word by correcting and displaying the word
KR101293832B1 (en) * 2011-12-14 2013-08-07 한국 한의학 연구원 Method for Collecting and Managing of Traditional Korean Medicine Terminologies

Also Published As

Publication number Publication date
WO2022146126A1 (en) 2022-07-07

Similar Documents

Publication Publication Date Title
CN110147436B (en) Education knowledge map and text-based hybrid automatic question-answering method
US10169337B2 (en) Converting data into natural language form
CN109684448B (en) Intelligent question and answer method
CN111475623B (en) Case Information Semantic Retrieval Method and Device Based on Knowledge Graph
US10157171B2 (en) Annotation assisting apparatus and computer program therefor
US8560300B2 (en) Error correction using fact repositories
Huang et al. Dependency parsing of learner English
CN109460552B (en) Method and equipment for automatically detecting Chinese language diseases based on rules and corpus
US20170364507A1 (en) Extracting Veiled Meaning in Natural Language Content
US20140172417A1 (en) Vital text analytics system for the enhancement of requirements engineering documents and other documents
US10503830B2 (en) Natural language processing with adaptable rules based on user inputs
JP2006012168A (en) Method for improving coverage and quality in translation memory system
Cabot et al. SIBM at CLEF eHealth Evaluation Lab 2017: Multilingual Information Extraction with CIM-IND.
CN114003709A (en) Intelligent question-answering system and method based on question matching
US11151317B1 (en) Contextual spelling correction system
Virk et al. Automatic extraction of typological linguistic features from descriptive grammars
CN112380848B (en) Text generation method, device, equipment and storage medium
Lai et al. TellMeWhy: Learning to explain corrective feedback for second language learners
Shah et al. Improvement of Soundex algorithm for Indian language based on phonetic matching
Mahanazuddin et al. DeIDNER corpus: annotation of clinical discharge summary notes for named entity recognition using BRAT tool
Christen et al. A reuse-based annotation approach for medical documents
Vlachos et al. Bootstrapping the recognition and anaphoric linking of named entities in drosophila articles
KR20220098696A (en) A medical terminology typo correction device and a method thereof
Zhekova et al. An Algorithm for Translation of a Natural Language Question into SQL Query.
Shekhar et al. Computational linguistic retrieval framework using negative bootstrapping for retrieving transliteration variants

Legal Events

Date Code Title Description
E902 Notification of reason for refusal