KR101691135B1 - 형태소 분석, 구문 분석 서비스를 위한 오픈 에이피아이 웹 서비스 시스템 - Google Patents

형태소 분석, 구문 분석 서비스를 위한 오픈 에이피아이 웹 서비스 시스템 Download PDF

Info

Publication number
KR101691135B1
KR101691135B1 KR1020150009096A KR20150009096A KR101691135B1 KR 101691135 B1 KR101691135 B1 KR 101691135B1 KR 1020150009096 A KR1020150009096 A KR 1020150009096A KR 20150009096 A KR20150009096 A KR 20150009096A KR 101691135 B1 KR101691135 B1 KR 101691135B1
Authority
KR
South Korea
Prior art keywords
api
token
service
key
auth
Prior art date
Application number
KR1020150009096A
Other languages
English (en)
Other versions
KR20160089644A (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 (주)유미테크
Priority to KR1020150009096A priority Critical patent/KR101691135B1/ko
Publication of KR20160089644A publication Critical patent/KR20160089644A/ko
Application granted granted Critical
Publication of KR101691135B1 publication Critical patent/KR101691135B1/ko

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
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06F17/2755

Landscapes

  • Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

본 발명은 NLP Unit에서 제공하는 오픈 API를 사용하기 위하여 사용자 아이디와 패스워드를 시스템에 제공하여 인증 후 시스템으로부터 제공되어 지는 AUTH-TOKEN , API-KEY 및 SERVICE-URL 획득 단계;와
상기 API-KEY, AUTH-TOKEN를 포함하는 형태소 분석 서비스 제공 단계;와
상기 API-KEY, AUTH-TOKEN를 포함하는 구문 분석 서비스 제공 단계;와
상기 API-KEY, AUTH-TOKEN를 포함하는 형태소 분석, 구문 분석 통합 서비스 제공 단계;를 포함하는 형태소 분석 서비스, 구문 분석 서비스를 위한 오픈 에이피아이 웹 서비스 시스템에 관한 것이다.

Description

형태소 분석, 구문 분석 서비스를 위한 오픈 에이피아이 웹 서비스 시스템{Open API of web service for morpheme and dependency analysis}
본 발명은 자연어 분석 처리에서 발생하는 언어 분석 처리를 쉽고 용이하게 할 수 있도록 하는 언어 처리 오픈 에이피아이 기술이며 이 기술을 통하여 형태소 분석, 구문 분석 결과를 제공하는 방법으로 자연어 처리 관련 분야 및 인터넷 응용 서비스 분야에서 웹 서비스 매시업(Mashup) 기술과 결합하여 활용할 수 있는 형태소 분석 서비스, 구문 분석 서비스를 위한 오픈 에이피아이 웹 서비스 시스템에 관한 것이다.
엑소브레인 과제는 ‘세계 최고인공지능 기술 선도’라는 비전을 달성하기 위하여 미래창조과학부 소프트웨어 분야의 국가 혁신기술 개발형 R&D 과제이다. 본 과제의 목표는 ‘자연어를 이해하여 지식을 자가학습하며, 전문직종에 취업 가능 수준의 인간과 기계의 지식소통이 가능한 지식과 지능이 진화하는 SW’인 엑소브레인 SW를 개발하는 것이다. 본 발명은 엑소브레인 과제 항목 중 자연어 처리 통합 서비스 시스템중 형태소 분석 서비스, 구문 분석 서비스를 위한 오픈 에이피아이 제공 기술 방법에 대한 것이다.
위키피디아의 문서에 의하면 자연 언어 처리(自然言語處理) 또는 자연어 처리(自然語處理)는 인간이 발화하는 언어 현상을 기계적으로 분석해서 컴퓨터가 이해할 수 있는 형태로 만드는 자연 언어 이해 혹은 그러한 형태를 다시 인간이 이해할 수 있는 언어로 표현하는 제반 기술을 의미한다.
일반인이 자연어 처리 기술을 활용하기에는 여러 가지 어려움이 있고, 이를 쉽게 제공할 수 있는 기술이 필요한 실정이다.
국내등록특허공보 등록번호 제1010196880000(2011.02.25)호에는 하드웨어를 컨트롤하기 위한 임베디드 시스템을 구현하기 위하여 저레벨 언어로 프로그래밍한 중간 소프트웨어를 구성하고, 상기 중간 소프트웨어를 컨트롤하기 위한 고레벨 언어로 구현하도록 하여 결과적으로 고레벨 언어를 이용하여 하드웨어를 컨트롤할 수 있도록 하는 고레벨 언어 기반 임베디드 시스템을 달성하기 위하여, 사용자의 명령에 따라 제어되고 상기 명령에 따른 역할을 수행할 수 있도록 구성되는 고레벨 언어로 구성되는 컨트롤 소프트웨어, 상기 컨트롤 소프트웨어와 통신을 수행하며 상기 컨트롤 소프트웨어로부터 제공되는 명령을 수행하고 필요에 따라 상기 컨트롤 소프트웨어로 각종 정보를 제공하는 기능을 수행하는 저레벨 언어로 구성되는 중간 소프트웨어, 상기 중간 소프트웨어의 컨트롤을 받고 중간 소프트웨어의 명령에 따른 명령 수행 결과를 피드백하는 기능을 수행하는 하드웨어를 포함하여 구성되는 고레벨 언어를 이용한 임베디드 시스템이 공개되어 있고,
국내등록특허공보 등록번호 제1011770770000(2012.08.20)호에는 기억 능력 측정 및 증진 게임 제공 시, 사용자의 접속 이력에 따라 단어 기억 능력 개발 게임의 난이도를 설정하고, 설정된 난이도에 따른 제시 기준에 따라 복수 기억 목표 단어를 제시한 후 복수의 게임 단어를 표시하여 게임 단어에 대한 사용자의 선택 여부에 따라 게임 점수의 감산 또는 가산 처리를 수행하는 단어 기억 능력 개발 게임을 실행하고, 실행한 단어 기억 능력 개발 게임의 수행 결과에 대한 게임 결과 성취도 및 처리 패턴 성취도를 분석하고, 분석의 결과에 따른 분석 결과 데이터를 사용자에게 제공하는 기술이 기재되어 있으며,
국내공개특허공보 공개번호 제1020140116410(2014.10.02)호에는
짧게 지속되는 파동들 내에 도달하는 급변하는 스팸의 정확하고, 계산-효율적인 검출을 용이하게 하는 스트링 식별, 사전-필터링, 및 문자 히스토그램 및 타임스탬프 비교 단계들을 포함하는 스팸 검출 기술들이 설명된다. 일부 실시예들에서, 컴퓨터 시스템은 블로그 댓글과 같은 전자 통신으로부터 대상 문자 스트링을 추출하고, 대상 문자 스트링을 안티-스팸 서버에 전송하고, 및 각각의 전자 통신이 스팸 또는 비-스팸인지를 나타내는 지시자를 안티-스팸 서버로부터 수신한다. 안티-스팸 서버는 대상 스트링의 문자 히스토그램의 특정한 특징들에 따라 전자 통신이 스팸 또는 비-스팸인지 결정한다. 일부 실시 예들은 또한 클러스터들로의 수신 대상 스트링들의 무감독 클러스터링을 수행하고, 클러스터의 모든 구성원들은 유사한 문자 히스토그램들을 갖는 기술이 공개되어 있고,
국내등록특허공보 등록번호 제1014732490000(2014.12.10)호에는 콘텐츠 재생 속도 테이블 생성 서버가 제공되며, 디바이스로부터 사용자가 원하는 재생 시간 및 재생 속도를 변경할 장면의 선택 기준을 수신하는 수신부, 수신된 재생 시간 및 선택 기준에 기초하여 콘텐츠에 포함된 복수의 장면 중 재생 속도를 변경할 적어도 하나의 장면을 선택하는 선택부, 선택한 적어도 하나의 장면의 재생 속도를 재생 시간에 기초하여 변경하고, 변경된 재생 속도를 나타내는 재생 속도 테이블을 생성하는 생성부 및 생성된 재생 속도 테이블을 디바이스로 전송하는 송신부를 포함하는 기술이 공개되어 있음을 알 수 있다.
1. 국내등록특허공보 등록번호 제1010196880000(2011.02.25)호 2. 국내등록특허공보 등록번호 제1011770770000(2012.08.20)호 3. 국내공개특허공보 공개번호 제1020140116410(2014.10.02)호 4. 국내등록특허공보 등록번호 제1014732490000(2014.12.10)호
첫째 형태소 분석 서비스 제공을 위하여 오픈 에이피아이를 고안하여 활용성을 높인다.
둘째 구문 분석 서비스를 제공을 위하여 오픈 에이피아이를 고안하여 활용성을 높인다.
셋째 오픈 에이피아이를 활용하여 형태소 분석 및 구문 분석 서비스 연동 방법을 고안하여 활용성을 높일 수 있는 형태소 분석 서비스, 구문 분석 서비스를 위한 오픈 에이피아이 웹 서비스 시스템을 제공하는 것이 본 발명의 해결과제인 것이다.
본 발명은 NLP(자연어 처리: Natural Language Processing) Unit에서 제공하는 오픈 API를 사용하기 위한 AUTH-TOKEN(인증 토큰) 및 API-KEY(에이피아이 키)에 의한 인증 획득 단계;와 상기 API-KEY, AUTH-TOKEN를 포함하는 형태소 분석 서비스 제공 단계;와 상기 API-KEY, AUTH-TOKEN를 포함하는 구문 분석 서비스 제공 단계;와 상기 API-KEY, AUTH-TOKEN를 포함하는 형태소 분석, 구문 분석 통합 서비스 제공 단계;를 포함하는 형태소 분석 서비스, 구문 분석 서비스를 위한 오픈 에이피아이 웹 서비스 시스템을 제공하는 것이 본 발명의 과제해결 수단인 것이다.
본 발명은 일반인이 웹 기술인 오픈 에이피아이를 통하여 시간과 장소에 구애받지 않고, 자연어 처리 결과를 실시간으로 제공을 받을 수 있는 기술로서 일반인이 수동으로 작업을 수행할 때 나타날 수 있는 여러 가지 어려움을 시스템 차원에서 일시에 해소함으로써, 다양한 인터넷 응용 서비스 시스템 연동하여 품질 높은 서비스를 제공하고자 할 때 일익을 담당할 수 있는 효과가 발생된다. 즉 자연어 처리에 대하여 누구나나 쉽게 사용할 수 있고, 자연어 처리에 대하여 누구나 쉽게 구조를 이해할 수 있고 자연어 처리에 대하여 그 결과를 바로 받을 수 있는 효과가 발생된다.
도1 본 발명의 웹 서비스 시스템 전체도
도2 본 발명의 인증 시이퀀스 다이어그램
도3 본 발명의 형태소 분석 시이퀀스 다이어그램
도4 본 발명의 구문 분석 시이퀀스 다이어그램
도5 본 발명의 형태소-구문 분석 통합 시이퀀스 다이어그램
본 발명은 NLP Unit에서 제공하는 오픈 API를 사용하기 위하여 사용자 아이디와 패스워드를 시스템에 제공하여 인증 후 시스템으로부터 제공되어 지는 AUTH-TOKEN , API-KEY 및 SERVICE-URL (서비스 URL)획득 단계;와
상기 API-KEY, AUTH-TOKEN를 포함하는 형태소 분석 서비스 제공 단계;와
상기 API-KEY, AUTH-TOKEN를 포함하는 구문 분석 서비스 제공 단계;와
상기 API-KEY, AUTH-TOKEN를 포함하는 형태소 분석, 구문 분석 통합 서비스 제공 단계;를 포함하는 형태소 분석 서비스, 구문 분석 서비스를 위한 오픈 에이피아이 웹 서비스 시스템에 관한 것이다.
API란 ‘Application Programming Interface’의 약어로, 웹에서 API의 의미는 웹 서비스를 개발할 때 웹 서비스를 사용하기 위한 규약 혹은 규칙을 말한다. 웹 2.0이라는 개념이 등장하면서 내부적으로 혹은 제한된 사용자에게만 제공했던 API를 일반인에게도 공개하기 시작했다. 누구나 사용할 수 있도록 공개된 API를 오픈 API라고 하며, 대부분의 매시업은 오픈 API를 활용해 만들어지므로 API를 얼마나 잘 활용하느냐가 매시업의 성공여부가 결정되기도 한다. 웹 사이트가 API를 제공한다는 것은 웹 서비스 플랫폼을 제공하는 것으로서, 사용자가 오픈 API를 사용함으로써 플랫폼 제공자에게 다음과 같은 이익이 돌아오게 된다. 첫 번째로 API가 공개되어 서비스의 활용도가 높아지면서 자동적으로 서비스가 더욱더 활성화되고 서비스의 품질도 높아지게 된다. 두 번째로 전체적으로 서비스 지향적인 구조가 형성되어 차후 유지보수나 서비스의 통폐합이 용이해진다. 세 번째로 오픈 API를 구축해 놓으면 B2C, B2B간의 제휴나 서비스의 사용이 용이해진다. 네 번째로 기업이 제공한 오픈 API로 개발된 매시업 애플리케이션의 선호도가 높아짐에 따라 API 제공만으로도 훌륭한 파트너를 얻게 된다. 또한 오픈 API 제공으로 트래픽이 중가하면 증가한 트래픽이 수익으로 연결된 된다. 다섯 번째로 자사의 API 로 개발된 매시업 애플리케이션 사용에 대한 실시간 통계 수집을 통하여 어떤 부분이 자신의 서비스에 도움이 될 것인지를 쉽게 파악할 수 있다. 여섯 번째로 다양한 플랫폼에서 자원을 사용될 수 있게 함으로써 다양한 채널로부터의 서비스 활용이 풍부해진다.
본 발명의 웹 서비스 시스템은 전체도[도 1]는 Authentication 블록, Database Connector, Tag Converter 블록, Morpheme Parser(형태소 분석), Dependency Parser(구문 분석) 그리고 Servlet Web Application 블록으로 구성되어 있다.
Authentication블록은 사용자 인증과 응답으로 AUTH-TOKEN, API-KEY, SERVICE-URL 값을 전송하는 역할을 담당하며, Database Connector를 각종 정보 저장소와 연결하여 조회, 추가, 수정 그리고 삭제등을 담당하며, Morpheme Parser 블록은 입력된 문장에 대하여 형태소 분석 결과를 전송하는 역할을 담당하며, Tag Converter 블록은 각 형태소 분석별로 출력된 결과를 사용자가 원하는 포맷으로 변경하는 역할을 담당하며, Dependancy Parser 블록은 형태소 분석 결과를 입력받아 구문 분석 결과를 전송하는 역할을 담당하며, Servlet Web Application는 사용자 인증, 형태소 분석, 구문 분석, 형태소/구문 분석 통한 오픈 에이피아이를 웹 서비스를 제공하기 위한 제반 역할을 담당한다.
사용자 인증을 위한 오픈 에이피아이 제공 방법
본 발명은 NLP Unit에서 제공하는 오픈 API를 사용하기 위하여 사용자 아이디와 패스워드를 시스템에 제공하여 인증 후 시스템으로부터 제공되어 지는 AUTH-TOKEN , API-KEY 및 SERVICE-URL 획득 단계는
다음과 같다[도 2]. AUTH-TOKEN 및 API-KEY 요청 메시지 포맷은 아래와 같이하며,
요청방법
GET /api/v1.0/auth HTTP/1.1
요청헤더
"Content-Type": "application/json"

"X-USER-ID": USER-ID

"X-USER-PASSWD": USER-PASSWORD

"Content-Length": N
위의 요청메시지를 받은 서버는 전달 받은 USER-ID, USER-PASSWORD를 Authentication 블록으로 전달하고 Authentication 블록은 Database Connector를 이용하여 ACCOUNT 저장소 질의하여 인증을 확인하게 된다. 인증 완료 후, Authentication 블록은 Database Connector를 이용하여 AUTH-TOKEN 저장소 질의하여 해당 서비스 사용자에게 할당된 AUTH-TOKEN를 확인하게 된다. AUTH-TOKEN 확인 후, Authentication 블록은 Database Connector를 이용하여 API-KEY 저장소에 질의하여 할당된 API-KEY, SERVICE-URL를 확인하게 된다.
여기서 사용되어지는 정보 저장 구조는 ACCOUNT 저장소, AUTH-TOKEN 저장소, API-KEY 저장소, AUTH-LOG 저장소, SERVICE-URL 저장소등이 있으며 각각에 대하여 다음과 같다. 서비스를 사용하기 위하여 사용자는 가입을 해야 하며, 사용자 정보는 ACCOUNT 정보 저장소에 저장된다. ACCOUNT 정보 저장소 구조는 다음과 같다.
항목 설명
ID 인덱스
USER_ID 사용자 아이디
PASSWORD 사용자의 패스워드로 해쉬적용된 값이 저장된다.
ACTIVE_STATUS 사용자의 상태 정보로서 0,1 값을 갖는다
0 : 유효한 사용자
1 : 유효하지 않는 사용자
CREATE_TIME 사용자 저장 시간
표 3 ACCOUNT 정보 저장소 구조
서비스를 사용하기 위하여 사용자별로 AUTH-TOKEN를 가져야 하며, AUTH-TOKEN 정보는 AUTH-TOKEN 정보 저장소에 저장된다. AUTH-TOKEN 정보 저장소 구조는 다음과 같다.
항목 설명
ID 인덱스
ACCOUNT_ID ACCOUNT 정보 저장소의 인덱스
TOKEN 사용자에게 할당된 TOKEN 값
CREATE_TIME TOKEN 저장 시간
표 4 AUTH-TOKEN 정보 저장소 구조
서비스를 사용하기 위하여 서비스 별로 API-KEY를 가져야 하며, API-KEY 정보는 API-KEY 정보 저장소에 저장된다. API-KEY 정보 저장소 구조는 다음과 같다.
항목 설명
ID 인덱스
SERIVE_ID SERVICE 정보 저장소의 인덱스
API-KEY 서비스에 할당된 API-KEY 값
CREATE_TIME API-KEY 저장 시간
표 5 API-KEY 정보 저장소 구조
사용자는 서비스를 사용하기 위하여 서비스 URL 주소를 알아야 하며, 사용자 인증 응답결과에 URL 주소를 전달하게 된다. 이를 위한 SERVICE-URL 정보 저장소 구조는 다음과 같다.
항목 설명
ID 인덱스
SERIVE SERVICE 명
URL 사용자가 접속할 URL 주소
CREATE_TIME SERVICE 저장 시간
표 6 SERVICE-URL 정보 저장소 구조
사용자가 서비스를 요청하는 경우, 서비스의 허용/거절을 결정하기 위하여 서비스 요청시 함께 입력된 USER ID, PASSWORD, AUTH-TOKEN, API-KEY를 이용하여 확인 과정을 거치며, 확인 과정에서 발생한 인증 로그를 AUTH-LOG에 저장된다. AUTH-LOG 정보 저장소 구조는 다음과 같다.
항목 설명
ID 인덱스
SERVICE_URL SERVICE 요청 URL
STATUS_CODE 서비스 요청에 대한 응답 상태 코드 값. 예: 200,401,403등
STATUS_MESSAGE 서비스 요청에 대한 응답 상태 메시지. 예: 200,401,403등에 대한 성공 혹은 실패에 대한 원인 및 이유 설명
CREATE_TIME 해당 로그 시작 시간
표 7 AUTH-LOG 저장소 구조
서비스 사용자에게 전송하는 응답 메시지 포맷은 다음과 같고,
응답헤더
HTTP/1.1 Http-Status-Code

"Server": Apache-Coyote/1.1

"X-SERVICE-URL":SERVICE-URL

"X-AUTH-TOKEN": AUTH-TOKEN

"X-API-KEY": API-KEY

"Content-Type": application/json;charset=UTF-8
여기서 Http-Status-Code 값은 다음과 같다.
설명 HTTP Status Code
요청처리 완료 200
인증 실패(AUTH-TOKEN ERROR) 401
권한 없음 403
응답결과
{"result" : "OK"}
위의 응답메시지 포맷을 통하여 인증된 사용자를 위한 오픈 API SERVICE-URL과 AUTH-TOKEN과 API-KEY값을 획득하게 된다.
형태소 분석 서비스 제공를 위한 오픈 에이피아이 제공 방법.
API-KEY, AUTH-TOKEN, SERVICE-URL를 포함하는 형태소 분석 서비스 제공 단계는
형태소 분석 도구로는 [도 1]에서와 같이 한나눔, SMA, EspressoK, ETRI Parser등 다양한 도구가 존재함으로 [도 2]에서 Tool#1, Tool#N 으로 표기하였으며,
획득한 API-KEY와 AUTH-TOKEN를 X-AUTH-TOKEN, X-API-KEY 항목에 입력하고, 요청방법에 형태소 분석 도구, 한글 문장 및 태그 값을 morphemeTool, sentence, Tag 항목에 입력한 후 요청하게 하며,
이를 위한 요청 및 응답 메시지 포맷은 다음과 같다.
요청방법
POST /api/v1.0/morpheme?morphemeTool=한나눔&sentence=문장&tag=태그값
입력항목으로는 다음과 같다.
입력항목 설명
morphemeTool 형태소 분석 도구를 입력한다.
형태소 분석 도구에는 한나눔, SMA, Espressok 가 있다.
sentence 형태소 분석을 의뢰하고자 하는 일반 문장을 입력한다.
tag 형태소 분석을 수행한 후 사용자가 원하는 형태소 분석 포맷으로 변환하도록 하는 태그를 입력한다. 태그로는 KAIST, SJTree, KTB, ETRI 등이 있다.
요청헤더
"Content-Type" : "application/json"

"X-AUTH-TOKEN" : AUTH-TOKEN

"X-API-KEY" : API-KEY

"Content-Length": N
응답 메시지 포맷은 다음과 같다.
응답헤더
HTTP/1.1 Http-Status-Code

"Server": Apache-Coyote/1.1

"Content-Type": "application/json;charset=UTF-8",

"Content-Length": N
여기서 Http-Status-Code 값은 다음과 같다.
설명 HTTP Status Code
요청처리 완료 200
인증 실패(AUTH-TOKEN ERROR) 401
권한 없음 403
응답결과 예시
{

"sentence": "세종은 조선의 왕이다",

"morpheme": {

"tool": "한나눔",

"tag": "SJTREE",

"result":

"세종은₩n₩t세/SN+종/NNB+은/JX₩n₩n조선의₩n₩t조선/NNG+의/JKG₩n₩n₩n왕이다₩n₩t왕/ncr+이/VCP+다/ef₩n₩n.₩n₩t./sf₩n₩n₩n"

}

}
여기서 사용되어지는 정보 저장 구조는 ACCOUNT 저장소, AUTH-TOKEN 저장소, API-KEY 저장소, AUTH-LOG 그리고 EXECUTION-LOG등이 있다.
사용자가 서비스를 요청하는 경우, 서비스가 허용되어 실행과정을 거치며 실행과정에서 발생한 실행 정보가 EXECUTION-LOG에 저장된다. 향후 실행 로그 정보는 서비스 성능 개선에 참고 정보가 되며, EXECUTION-LOG 정보 저장소 구조는 다음과 같다.
항목 설명
ID 인덱스
SERVICE_URL SERVICE 요청 URL
START_TIME 서비스 실행 시작 시간
END_TIME 서비스 실행 종료 시간
CREATE_TIME 해당 로그 시작 시간
표 17 EXECUTION-LOG 저장소 구조
구문 분석 서비스 제공을 위한 오픈 에이피아이 제공 방법.
API-KEY, AUTH-TOKEN를 포함하는 구문 분석 서비스 제공 단계는
구문 분석 도구로는 [도 1]에서와 같이 버클리, KNP, MaltParser등 다양한 도구가 존재함으로 [도 3]에서 Tool#1, Tool#N 으로 표기하였으며, 서비스 사용자가 요청헤더에 API-KEY와 AUTH-TOKEN를 X-AUTH-TOKEN, X-API-KEY 항목에 입력하고, 요청방법에 구문 분석 도구 및 형태소화된 문장을 dependencyTool, sentence 항목에 입력한 후 요청하며,
이를 위한 요청 및 응답 메시지 포맷은 다음과 같다.
요청방법
POST /api/v1.0/dependency/dependencyTool=KNP&sentence=문장
입력항목으로는 다음과 같다.
입력항목 설명
dependencyTool 구문 분석 도구를 입력한다.
구문 분석 도구에는 버클리, KNP, Maltparser가 있다.
sentence 구문 분석을 의뢰하고자 하는 형태소 문장을 입력한다.
요청헤더
"Content-Type" : "application/json"

"X-AUTH-TOKEN" : AUTH-TOKEN

"X-API-KEY" : API-KEY

"Content-Length": N
응답헤더
"HTTP/1.1 Http-Status-Code

"Server": Apache-Coyote/1.1

"content-type": "application/json;charset=UTF-8",

"content-length": N
여기서 Http-Status-Code 값은 다음과 같다.
설명 HTTP Status Code
요청처리 완료 200
인증 실패(AUTH-TOKEN ERROR) 401
권한 없음 403
응답 메시지 포맷 예시는 다음과 같다.
{

"sentence":

"세종은₩n₩t세/SN+종/NNB+은/JX₩n₩n조선의₩n₩t조선/NNG+의/JKG₩n₩n₩n왕이다₩n₩t왕/ncr+이/VCP+다/ef₩n₩n.₩n₩t./sf₩n₩n₩n"

"dependency": {

"tool": "버클리"

"result":"(ROOT₩n (NP₩n (NP (NNG 세종은))₩n (NP (NNG 조선의) (NNG 왕이다))))₩n",

}
여기서 사용되어지는 정보 저장 구조는 ACCOUNT 저장소, AUTH-TOKEN 저장소, API-KEY 저장소, AUTH-LOG 그리고 EXECUTION-LOG등이 있다.
오픈 에이피아이를 활용한 형태소 및 구문 통합 분석 서비스 제공 방법
API-KEY, AUTH-TOKEN를 포함하는 형태소 분석, 구문 분석 통합 서비스 제공 단계는
서비스 사용자가 요청헤더에 API-KEY와 AUTH-TOKEN를 X-AUTH-TOKEN, X-API-KEY 항목에 입력하고, 요청방법에 형태소 분석 도구, 구문 분석 도구, 태그 값 및 한글 문장을 morphemeTool, dependencyTool, sentence, Tag 항목에 입력한 후 요청하며,
다시 설명한다면 상기 오픈 API AUTH-TOKEN, API-KEY를 포함하는 형태소 분석/구문 통합 분석 서비스 제공 단계는 NLP Unit 서비스 시스템에 대하여 형태소 분석과 구문 분석을 한 번에 처리할 수 있도록 하는 서비스 요청하는 단계로서, AUTH-TOKEN, API-KEY, 일반 한글 문서, 태그 도구, 형태소 분석 도구 그리고 구문 분석 도구를 입력하는 통합 분석을 요청하게 된다[도 4]. 이를 위한 메시지 포맷은 다음과 같다.
요청방법
GET

/api/v1.0/morphemedependency?morphemeTool=한나눔&sentence=문장&tag=태그값&dependencyTool=KNP
입력항목으로는 다음과 같다.
입력항목 설명
morphemeTool 형태소 분석 도구를 입력한다.
형태소 분석 도구에는 한나눔, SMA, Espressok 가 있다.
sentence 형태소 분석을 의뢰하고자 하는 일반 문장을 입력한다.
tag 형태소 분석을 수행한 후 사용자가 원하는 형태소 분석 포맷으로 변환하도록 하는 태그를입력한다. 태그로는 KAIST, SJTree, KTB, ETRI 등이 있다.
dependencyTool 구문 분석 도구를 입력한다.
구문 분석 도구에는 버클리, KNP, Maltparser가 있다.
요청헤더
"Content-Type" : "application/json"

"X-AUTH-TOKEN" : AUTH-TOKEN

"X-API-KEY" : API-KEY

"Content-Length": N
요청방법을 통하여 요청받은 NLP Unit 웹 서비스 시스템은 전달 받은 AUTH-TOKEN과 API-KEY의 유효성을 확인하기 위하여 Database Connector를 이용하여 AUTH-TOKEN, API-KEY 저장소에 질의하여 존재 유무를 확인하고 AUTH-TOKEN, API-KEY가 존재하는 경우 선택된 형태소 분석 도구를 실행하고, 실행완료 후 다음 순서로 선택된 구문 분석 도구를 실행하고 실행완료후 형태소 분석 도구 및 구문 분석 도구 실행 로그를 EXECUTION-LOG 저장소에 저장하고 형태소 분석 결과 및 구문 분석 결과를 서비스 사용자에게 전송하며, 서비스 사용자에게 전송되는 응답 메시지 포맷은 다음과 같으며,
응답헤더
"Server": "Apache-Coyote/1.1",

"Content-Type": "application/json;charset=UTF-8",

"Content-Length": "191",
여기서 Http-Status-Code 값은 다음과 같다.
설명 HTTP Status Code
요청처리 완료 200
인증 실패(AUTH-TOKEN ERROR) 401
권한 없음 403
응답 메시지 포맷 예시는 다음과 같다.
{

"sentence": "세종은 조선의 왕이다",

"morpheme": {

"tool": "한나눔",

"tag": "SJTree",

"result":

"세종은₩n₩t세/SN+종/NNB+은/JX₩n₩n조선의₩n₩t조선/NNG+의/JKG₩n₩n₩n왕이다₩n₩t왕/ncr+이/VCP+다/ef₩n₩n.₩n₩t./sf₩n₩n₩n"

},

"dependency": {

"tool": "버클리",

"result":"(ROOT₩n (NP₩n (NP (NNG 세종은))₩n (NP (NNG 조선의) (NNG 왕이다))))₩n",

}

}
여기서 사용되어지는 정보 저장 구조는 ACCOUNT 저장소, AUTH-TOKEN 저장소, API-KEY 저장소, AUTH-LOG 그리고 EXECUTION-LOG등이 있다.

Claims (5)

  1. 삭제
  2. 형태소 분석 서비스, 구문 분석 서비스를 위한 오픈 에이피아이 웹 서비스 시스템에 있어서,
    NLP Unit 웹 서비스 시스템에서 제공하는 오픈 API를 사용하기 위하여 사용자 아이디와 패스워드를 서비스 시스템에 제공하여 인증 후 시스템으로부터 제공되어 지는 AUTH-TOKEN, API-KEY 및 SERVICE-URL 획득 단계;와
    상기 API-KEY, AUTH-TOKEN를 포함하는 형태소 분석 서비스 제공 단계;와
    상기 API-KEY, AUTH-TOKEN를 포함하는 구문 분석 서비스 제공 단계;와
    상기 API-KEY, AUTH-TOKEN를 포함하는 형태소 분석, 구문 분석 통합 서비스 제공 단계;로 구성되며,
    상기 NLP Unit에서 제공하는 오픈 API를 사용하기 위하여 사용자 아이디와 패스워드를 시스템에 제공하여 인증 후 시스템으로부터 제공되어 지는 AUTH-TOKEN , API-KEY 및 SERVICE-URL 획득 단계는
    인증 획득을 위한요청 메시지 포맷은 아래와 같이하며, 요청헤더에 NLP Unit 오픈 에이피아이 웹 서비스 시스템에 등록된 사용자 아이디와 패스워드를 X-USER-ID, X-USER-PASSWD 항목에 입력하는 순서이며,
    요청방법
    Figure 112016075731048-pat00001


    요청헤더
    Figure 112016075731048-pat00002

    위의 요청메시지를 받은 NLP Unit 웹 서비스는 전달 받은 USER-ID, USER-PASSWORD를 Authentication 블록으로 전달하고 Authentication 블록은 Database Connector를 이용하여 ACCOUNT 저장소에 입력받은 사용자 아이디와 패스워드를 질의하여 비교과정을 거친 후 인증을 확인하게 되고, 인증 확인 과정에서 발생한인증 로그를 AUTH-LOG 저장소에 저장되고,
    인증 완료 후, Authentication 블록은 Database Connector를 이용하여 AUTH-TOKEN 저장소에 질의하여 해당 서비스 사용자에게 할당된 AUTH-TOKEN를 확인하며,
    AUTH-TOKEN 확인 후, Authentication 블록은 Database Connector를 이용하여 API-KEY 저장소 질의하여 할당된 API-KEY를 확인하고,
    API-KEY 확인 후, Authentication 블록은 Database Connector를 이용하여 SERVICE-URL 저장소를 질의하여 SERVICE-URL를 확인한 후, 사용자에게 전송되는 다음과 같은 응답 메시지 포맷의, 응답 헤더에 AUTH-TOKEN, API-KEY, SERVICE-URL를 X-AUTH-TOKEN, X-API-KEY, X-SERVICE-URL 항목에 입력하고,
    응답헤더
    Figure 112016075731048-pat00003


    여기서 Http-Status-Code 값
    Figure 112016075731048-pat00004

    응답 결과의 메시지 포맷의 result항목에 OK, NOK(Not OK)를 입력한 후
    응답결과
    Figure 112016075731048-pat00005

    사용자 인증 결과를 서비스 사용자에게 전송함을 특징으로 하는 형태소 분석 서비스, 구문 분석 서비스를 위한 오픈 에이피아이 웹 서비스 시스템.
  3. 청구항 2에 있어서, 상기 API-KEY, AUTH-TOKEN, SERVICE-URL를 포함하는 형태소 분석 서비스 제공 단계는
    획득한 API-KEY와 AUTH-TOKEN를 X-AUTH-TOKEN, X-API-KEY 항목에 입력하고, 요청방법에 형태소 분석 도구, 한글 문장 및 태그 값을 morphemeTool, sentence, Tag 항목에 입력한 후 요청하게 하며,
    요청방법
    Figure 112016075731048-pat00006

    입력항목
    Figure 112016075731048-pat00007


    요청헤더
    Figure 112016075731048-pat00008


    요청방법을 통하여 요청받은 NLP Unit 웹 서비스 시스템은 전달 받은 AUTH-TOKEN과 API-KEY의 유효성을 확인하기 위하여 Database Connector를 이용하여 AUTH-TOKEN, API-KEY 저장소에 질의하여 존재 유무를 확인하고 AUTH-TOKEN, API-KEY가 존재하는 경우 선택된 형태소 분석 도구, 한글 문서, 선택된 tag를 통한 형태소 분석을 실행하여 실행 완료 후 형태소 분석에 대한 실행 로그를 EXECUTION-LOG 저장소에 저장하고 형태소 분석 결과를 서비스 사용자에게 전송하고,
    서비스 사용자에게 전송되는 응답메시지 포맷은 다음과 같으며,

    응답 메시지 포맷은
    응답헤더
    Figure 112016075731048-pat00009


    여기서 Http-Status-Code 값
    Figure 112016075731048-pat00010

    응답결과
    Figure 112016075731048-pat00011

    임을 특징으로 하는 형태소 분석 서비스를 위한 오픈 에이피아이 웹 서비스 시스템.
  4. 청구항 2에 있어서, 상기 API-KEY, AUTH-TOKEN를 포함하는 구문 분석 서비스 제공 단계는
    서비스 사용자가 요청헤더에 API-KEY와 AUTH-TOKEN를 X-AUTH-TOKEN, X-API-KEY 항목에 입력하고, 요청방법에 구문 분석 도구 및 형태소화된 문장을 dependencyTool, sentence 항목에 입력한 후 요청하며,
    요청방법
    Figure 112016075731048-pat00012

    입력항목
    Figure 112016075731048-pat00013


    요청헤더
    Figure 112016075731048-pat00014


    요청방법을 통하여 요청받은 NLP Unit 웹 서비스 시스템은 전달 받은 AUTH-TOKEN과 API-KEY의 유효성을 확인하기 위하여 Database Connector를 이용하여 AUTH-TOKEN, API-KEY 저장소에 질의하여 존재 유무를 확인하고 AUTH-TOKEN, API-KEY가 존재하는 경우 구문 분석을 실행하여
    실행 완료 후, 구문 분석에 대한 실행 로그를 EXECUTION-LOG 저장소에 저장하고 구문 분석 결과를 서비스 사용자에게 전송하며, 서비스 사용자에게 전송되는 응답 메시지 포맷은 다음과 같으며,

    응답헤더
    Figure 112016075731048-pat00015


    여기서 Http-Status-Code 값
    Figure 112016075731048-pat00016

    응답 메시지 포맷
    Figure 112016075731048-pat00017

    임을 특징으로 하는 구문 분석 서비스를 위한 오픈 에이피아이 웹 서비스 시스템.
  5. 청구항 2에 있어서, 상기 API-KEY, AUTH-TOKEN를 포함하는 형태소 분석, 구문 분석 통합 서비스 제공 단계는 NLP Unit 서비스 시스템에 대하여 형태소 분석과 구문 분석을 한 번에 처리할 수 있도록 하는 서비스 요청하는 단계로서,

    서비스 사용자가 요청헤더에 API-KEY와 AUTH-TOKEN를 X-AUTH-TOKEN, X-API-KEY 항목에 입력하고, 요청방법에 형태소 분석 도구, 구문 분석 도구, 태그 값 및 한글 문장을 morphemeTool, dependencyTool, sentence, tag 항목에 입력한 후 요청하며,
    요청방법
    Figure 112016075731048-pat00018


    입력항목
    Figure 112016075731048-pat00019


    요청헤더
    Figure 112016075731048-pat00020


    요청방법을 통하여 요청받은 NLP Unit 웹 서비스 시스템은 전달 받은 AUTH-TOKEN과 API-KEY의 유효성을 확인하기 위하여 Database Connector를 이용하여 AUTH-TOKEN, API-KEY 저장소에 질의하여 존재 유무를 확인하고 AUTH-TOKEN, API-KEY가 존재하는 경우 선택된 형태소 분석 도구를 실행하고, 실행완료 후 다음 순서로 선택된 구문 분석 도구를 실행하고 실행 완료 후 형태소 분석 도구 및 구문 분석 도구 실행 로그를 EXECUTION-LOG 저장소에 저장하고 형태소 분석 결과 및 구문 분석 결과를 서비스 사용자에게 전송하며, 서비스 사용자에게 전송되는 응답 메시지 포맷은 다음과 같으며,
    응답헤더
    Figure 112016075731048-pat00021


    여기서 Http-Status-Code 값
    Figure 112016075731048-pat00022

    응답 메시지 포맷
    Figure 112016075731048-pat00023

    임을 특징으로 하는 형태소 분석, 구문 분석 통합 서비스를 위한 오픈 에이피아이 웹 서비스 시스템.
KR1020150009096A 2015-01-20 2015-01-20 형태소 분석, 구문 분석 서비스를 위한 오픈 에이피아이 웹 서비스 시스템 KR101691135B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150009096A KR101691135B1 (ko) 2015-01-20 2015-01-20 형태소 분석, 구문 분석 서비스를 위한 오픈 에이피아이 웹 서비스 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150009096A KR101691135B1 (ko) 2015-01-20 2015-01-20 형태소 분석, 구문 분석 서비스를 위한 오픈 에이피아이 웹 서비스 시스템

Publications (2)

Publication Number Publication Date
KR20160089644A KR20160089644A (ko) 2016-07-28
KR101691135B1 true KR101691135B1 (ko) 2017-01-09

Family

ID=56681600

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150009096A KR101691135B1 (ko) 2015-01-20 2015-01-20 형태소 분석, 구문 분석 서비스를 위한 오픈 에이피아이 웹 서비스 시스템

Country Status (1)

Country Link
KR (1) KR101691135B1 (ko)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030006201A (ko) * 2001-07-12 2003-01-23 서정연 홈페이지 자동 검색을 위한 통합형 자연어 질의-응답시스템
KR101019688B1 (ko) 2008-04-24 2011-03-07 (주)아이엠시티 고레벨 언어 기반 임베디드 시스템
KR101107319B1 (ko) * 2008-12-01 2012-01-20 한국전자통신연구원 오픈 api 기반 웹포털 서비스 제공 방법 및 시스템
KR20110024199A (ko) * 2009-09-01 2011-03-09 주식회사 엘지유플러스 Open API 연동 시스템 및 그 제어 방법
KR101331854B1 (ko) * 2009-12-18 2013-11-21 한국전자통신연구원 오픈 api 통합 검색 및 매쉬업 블록 기반코드 생성 장치 및 그 방법
KR101177077B1 (ko) 2010-05-12 2012-08-24 주식회사 엔텔리전트 게임즈 단어 기억 능력 측정 및 증진 게임 제공 서버 및 방법
US8954519B2 (en) 2012-01-25 2015-02-10 Bitdefender IPR Management Ltd. Systems and methods for spam detection using character histograms
KR101473249B1 (ko) 2012-10-30 2014-12-17 주식회사 케이티 콘텐츠 재생 속도 테이블 생성 서버, 디바이스 및 방법

Also Published As

Publication number Publication date
KR20160089644A (ko) 2016-07-28

Similar Documents

Publication Publication Date Title
JP6776411B2 (ja) パケットベースのデータ通信のデバイス識別子依存オペレーション処理
US10747505B1 (en) API specification generation
JP5247983B2 (ja) アクション可能な電子メールドキュメント
CN109760041B (zh) 基于聊天机器人的云管理系统及其操作方法
US20060190569A1 (en) Facilitating mobile device awareness of the availability of new or updated server-side applications
CN101243437A (zh) 由端点定制的虚拟机器人通信格式
JP2019204515A (ja) 音声起動されたコンピュータネットワーク環境におけるシーケンス依存データメッセージ統合
EP3610375B1 (en) Platform selection for performing requested actions in audio-based computing environments
US11922209B2 (en) Invoking functions of agents via digital assistant applications using address templates
US20170278005A1 (en) Technologies for auto discover and connect to a rest interface
CN109189502A (zh) 一种基于即时通讯公众平台的消息处理方法和相关设备
US20230352017A1 (en) Platform selection for performing requested actions in audio-based computing environments
CN103945287B (zh) 一种接口机处理消息的方法和接口机
WO2015023138A1 (ko) 음성인식 기반의 메시징 통역서비스 제공 시스템 및 그 방법
KR102243275B1 (ko) 오프라인 오브젝트에 관한 콘텐츠 자동 생성 방법, 장치 및 컴퓨터 판독가능 저장 매체
KR101691135B1 (ko) 형태소 분석, 구문 분석 서비스를 위한 오픈 에이피아이 웹 서비스 시스템
CN107832342B (zh) 机器人聊天方法及系统
CN112434677B (zh) 一种合同审核方法、装置、设备和存储介质
CN116610790B (zh) 应答数据的获取方法、装置、设备和介质
US20240028963A1 (en) Methods and systems for augmentation and feature cache
EP1540886B1 (en) Command processing in a telecommunications network
CN117407082A (zh) 引擎配置方法、装置、电子设备及计算机存储介质
CN117251170A (zh) 可扩展标记语言文件的处理方法及装置
CN117499354A (zh) 问询方法、装置、电子设备及存储介质
CN115495562A (zh) 对话处理方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20191107

Year of fee payment: 4