형태소 분석기 API 개발
KoNLPy라는 형태소 분석기가 있다. 이 프로그램은 한국어 정보처리를 위한 파이썬 패키지입니다.
간단하게 원하는 형태소를 분석하여 줍니다.
2개의 API를 만들고, 한개는 형태소를 분석한 결과를 리턴하고, 다른 한개는 명사만 리턴 하도록 작성하였습니다. (형태소 분석기가 다해줌..)
Django를 써보려했으나, 손이 많이 가서 Flask를 이용하였습니다.
API 주요 코드는 다음과 같습니다.
from flask import Flask
from flask import request
from flask import Response
from flask import json
from flask import make_response
from konlpy.tag import Mecab
from functools import wraps
mecab = Mecab()
app = Flask(__name__)
@app.route('/api/morphs', methods=['POST'])
def morphs():
param = (request.get_json())
res = make_response(json.dumps(mecab.morphs(param["text"]), ensure_ascii=False))
res.headers['Content-Type'] = 'application/json'
return res
@app.route('/api/nouns', methods=['POST'])
def nouns():
param = (request.get_json())
res = make_response(json.dumps(mecab.nouns(param["text"]), ensure_ascii=False))
res.headers['Content-Type'] = 'application/json'
return res
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5000,debug=True)
그냥 사용할 경우 한글이 유니코드로 표출되어 추가 처리가 들어갔습니다.
# 한글 유니코드를 UTF8 처리
res = make_response(json.dumps(mecab.morphs(param["text"]), ensure_ascii=False))