Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

속담 용례 수집 시스템 구축하기 (version 1) #4

Closed
eubinecto opened this issue Jun 26, 2021 · 10 comments
Closed

속담 용례 수집 시스템 구축하기 (version 1) #4

eubinecto opened this issue Jun 26, 2021 · 10 comments
Assignees

Comments

@eubinecto
Copy link
Member

왜?

속담의 용례를 가능한 많이 찾아야 한다.

  1. wisdomifier가 정의에 대한 설명이 아닌 예시문장으로 부터도 속담을 infer할 수 있게 하기 위해서
  2. 용례 말뭉치로 부터 해당 속담에 대한 유용한 정보를 얻을 수도 있기 때문 (e.g. collocation, word cloud)
@eubinecto
Copy link
Member Author

eubinecto commented Jun 26, 2021

직접 용례를 검색할 수 있는 사이트가 있고

한국어 말뭉치를 탐색할 수 있는 라이브러리도 있음

Korpora의 경우에는 데이터의 사이즈가 꽤나 크다.

그렇다면, 그냥 Elasticsearch로 korpora 전체를 인덱싱하고, inverted index로 검색을 하면 되지 않을까.
앞 - 뒤 문맥을 모두 접근할 수 있는 시스템이 필요하다.

@eubinecto
Copy link
Member Author

@ArtemisDicoTiar 의 도움으로 각 속담 별 용례를 10개씩 정도 찾을 수 있게됨

@ArtemisDicoTiar 어떻게 수집했는지 나중에 여기에 코멘트 부탁.

여전히 찾을 수 있는 용례의 개수가 부족하다. 일단 두번째 프로토타입을 만들기 위해서는 충분할 것 같은데, 대규모로 수집하기에는 부족.

향후 #4 (comment) 여기에서 언급했듯이, 정말로 Korpora를 인덱싱 해야할 필요가 있을수도.

@ArtemisDicoTiar
Copy link
Member

ArtemisDicoTiar commented Jun 27, 2021

Initial 데모용 속담 용례 검색 방법

위 코멘트에서 언급된 '연세대 용례 검색 시스템'과 '우리말 샘' 사이트의 경우, 속담 전체를 검색으로 넣게 되면 검색이 없거나 찾기 어렵게 나옴.
(우리말샘 api의 경우, 검색 메소드로 wildcard를 선택했으나 wildcard문법이 적용이 안됨.)

그러던 중 국립국어원 언어정보 나눔터 사이트를 발견했고 해당 사이트에서는 속담 전체를 검색 및 검색 결과를 엑셀로 export가능하게 되어 있었음.
현재 구축해놓은 초기 데모용 용례의 경우, 직접 검색후 엑셀을 다운로드 받은후 검색어별로 엑셀차트를 합쳐 csv로 export하는 방법으로 만듦.

import os
import pandas as pd

base_dir = './resource/examples'
files = os.listdir(base_dir)

base_df = pd.DataFrame()

for file in files:
    cur_df = pd.read_excel(base_dir + '/' + file).fillna('')
    cur_df['eg'] = cur_df['앞문맥'] + cur_df['검색어'] + cur_df['뒷문맥']
    cur_df.drop(['출전', '앞문맥', '검색어', '뒷문맥', '번호'], axis=1, inplace=True)

    base_df = base_df.append(cur_df)

base_df.to_csv(base_dir+'/../'+'egs.csv')


egs_df = pd.read_csv('./resource/egs.tsv', delimiter='\t')\
    .drop('Unnamed: 0', axis=1)\
    .sort_values(by='proverb')
egs_df.set_index('proverb', inplace=True)

egs_df.to_csv('./resource/egs.tsv', sep='\t')
  • 현재 속담 전체 (약 8000개)를 우리말샘 api를 통해 수집
  • 각 속담의 용례를 국립국어원 사이트로 검색후 저장하는 기능 코드로 구축

@eubinecto eubinecto changed the title 용례 검색 시스템 구축하기 속담 용례 수집 시스템 구축하기 Jun 28, 2021
@ArtemisDicoTiar
Copy link
Member

Screenshot 2021-07-02 at 13 53 45

용례 검색기 자동화코드 쓰고 있었는데... 해당 서비스가 사라졌다... ㅠㅠ
용례 검색 다른 방법을 모색해보자.

@eubinecto
Copy link
Member Author

가는 날이 장날이여 zzzzzㅋㅋㅋㅋㅋㅠㅠ

@ArtemisDicoTiar
Copy link
Member

ArtemisDicoTiar commented Jul 8, 2021

새로운 도구로 파싱하는 중
이전에 사용하던 사이트보다 더 많은 예제가 검색되어서 유용하게 사용될듯.
일단 10개 예제로 파싱 진행중.
이후 300개 속담을 가지고 잇는 wikiquote에서 파싱한 속담 데이터 셋으로 확장 예정

@eubinecto
혹시 예제 개수가 어느정도면 좋겠는지 알려주면 파싱 속도 향상에 도움 될수도 있음. (현재 개수 limit을 200으로 설정해서 api에 페이지 요청을 보내서 예제가 많아지면 시간이 오래걸림)
그리고 이번에 찾아낸 사이트에서는 이전/이후 문장은 물론 해당 예제가 발견된 글 전체를 조회 할 수 있어서 현재 10개짜리 데이터로는 이전, 이후 문장 + 전체 글을 파싱하고 있음.
혹시 해당 내용중에 필요없는 부분이 있으면 알려주세요! :)

@eubinecto
Copy link
Member Author

새로운 도구로 파싱하는 중
이전에 사용하던 사이트보다 더 많은 예제가 검색되어서 유용하게 사용될듯.
일단 10개 예제로 파싱 진행중.
이후 300개 속담을 가지고 잇는 wikiquote에서 파싱한 속담 데이터 셋으로 확장 예정

@eubinecto
혹시 예제 개수가 어느정도면 좋겠는지 알려주면 파싱 속도 향상에 도움 될수도 있음. (현재 개수 limit을 200으로 설정해서 api에 페이지 요청을 보내서 예제가 많아지면 시간이 오래걸림)
그리고 이번에 찾아낸 사이트에서는 이전/이후 문장은 물론 해당 예제가 발견된 글 전체를 조회 할 수 있어서 현재 10개짜리 데이터로는 이전, 이후 문장 + 전체 글을 파싱하고 있음.
혹시 해당 내용중에 필요없는 부분이 있으면 알려주세요! :)

검색할 수 있는 10개의 속담 별로, 100개의 용례를 찾아주길 바람.
이번주 릴리즈 할 version_1을 훈련시킬 때 해당 데이터를 사용할 것임!

@ArtemisDicoTiar
Copy link
Member

version_1 초기 용례 데이터셋
해당 데이터 셋 문제사항

@eubinecto
Copy link
Member Author

version_1 초기 용례 데이터셋

해당 데이터 셋 문제사항

굿!!! 땡스! 일요일에 바로 적용해볼게~~!!

@eubinecto eubinecto changed the title 속담 용례 수집 시스템 구축하기 속담 용례 수집 시스템 구축하기 (version 1) Jul 14, 2021
@eubinecto
Copy link
Member Author

일단 version 1 을 위해 필요한 데이터는 구축완료.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants