{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# **MDX 데이터 분석하기**\n", "https://pypi.org/project/mdict-utils/\n", "1. **MDX 사전파일을** 활용하여 객체에 구분하기\n", "1. 각 사전의 첫번째 의미를 통해서 **NER** 사전 만들기\n", "1. 추후에 보완을 해서 wordnet 으로 강화하기\n", "\n", "## **1 데이터 불러오기**\n", "작업한 내용을 대상으로 중분류 내용 추가하기\n", "- 법률, 식품, 자동차 등 중분류 내용이 당장은 필요가 없어 보인다.\n", "- 작업을 진행하면서 필요하면 추가하기" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(388091, 2)" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import pickle\n", "with open('data/nerDict.pk', 'rb') as handle:\n", " nerDict = pickle.load(handle)\n", "nerDict.shape" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[('명사',\n", " ['명사',\n", " '얄팍하게 저며 갖은 양념을 하여 구운 쇠고기.',\n", " '¶ 석쇠에 너비아니를 구우니 연기가 올라왔다./송 씨는 새로 구워 온 너비아니 접시를 상 위에 올려놓으며, 신호의 눈치를 살폈다.≪최일남, 거룩한 응달≫\\r\\n'])]" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "query = \"너비아니\" # 원문 내용의 확인\n", "q_data = nerDict[nerDict.Text == query].Data.values.tolist()\n", "q_data[0]" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'식빵'" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "food_token = [\"식용\",\"양념\",\"음식\",\"물고기\",\"고기\",\"동물\",\"야채\",\"열매\",\"잎\",\"줄기\",\"생선\"]\n", "\n", "from muyong.nlp import skdict_filter\n", "from konlpy.tag import Okt\n", "skdict_filter(Okt(), nerDict, food_token, \"식빵\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## **2 N-Gram 데이터**\n", "**itemIndexTemp** 를 활용하며 고유단어 찾기" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", " | 년도 | \n", "주차 | \n", "요일 | \n", "구분 | \n", "메인1 | \n", "메인2 | \n", "메인3 | \n", "메인4 | \n", "메인5 | \n", "메인6 | \n", "메인7 | \n", "메인8 | \n", "메인9 | \n", "메인10 | \n", "Unnamed: 14 | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | \n", "2017 | \n", "52 | \n", "화 | \n", "중식 | \n", "황태미역국 | \n", "매콤제육볶음 | \n", "해물볶음우동 | \n", "팽이맛살계란전 | \n", "양상추샐러드 | \n", "흑임자D | \n", "치커리사과겉절이 | \n", "양념깻잎지 | \n", "포기김치 | \n", "\n", " | \n", " |
2 | \n", "2017 | \n", "52 | \n", "수 | \n", "중식 | \n", "육개장 | \n", "사천식칠리탕수육 | \n", "카레라이스 | \n", "멸치꽈리볶음 | \n", "사과단감샐러드 | \n", "훈제오리야채겨자무침 | \n", "콩나물매콤무침 | \n", "포기김치 | \n", "\n", " | \n", " | \n", " |