-
Notifications
You must be signed in to change notification settings - Fork 80
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
lmdata 태스크에 AIHub, 모두의 말뭉치 데이터셋도 사용이 가능하면 좋겠습니다. #191
Comments
며칠 사이 Korpora 의 많은 부분을 고쳐주셔서 감사합니다. (아직 업무중이라 끝나고 PR 살펴볼게요) 두 데이터 모두 lmdata task 에 유용한 데이터라 생각합니다. 당연히 반영할 계획이 있습니다. 하지만 아직 작업은 진행하지 않았습니다. |
@hwiorn 님, 이 작업 진행하신다면 여기에 알려주세요. 저도 작업을 하게 된다면 여기에 커멘트와 labels 을 남기고 진행하겠습니다. |
이 작업은 Korpora==0.3.0 (#187 ) 에 반영하도록 하겠습니다 |
@lovit 제가 이 프로젝트에 대해 잘 아는 것이 아니라서, 어떨지 문의합니다. 현재 AIHUB 번역 데이터셋과 모두의 말뭉치 데이터 셋에 대해서, 현재 Korpora에 local에 저장된 코퍼스를 검사하는 인터페이스가 없습니다. 좀 걸리는 부분이 아래와 같이 있습니다.
|
local install 여부를 확인하는 인터페이스가 있으면 좋겠다는 의견에 저도 동의합니다. 그 형태도 local install 여부는 fetch 함수 안에 일부 구현되어 있는데, 그 때는 KOREAN_CHATBOT_FETCH_INFORMATION = [
{
'url': 'https://raw.githubusercontent.com/songys/Chatbot_data/master/ChatbotData%20.csv',
'destination': 'korean_chatbot_data/ChatbotData.csv',
'method': 'download'
}
] 위의 경우에는 곧바로 다운로드를 받는 형태이기 때문에 상관이 없지만, KOREAN_PARALLEL_KOEN_NEWS_FETCH_INFORMATION = [
{
'url': 'https://raw.githubusercontent.com/jungyeul/korean-parallel-corpora/master/korean-english-news-v1/korean-english-park.train.tar.gz',
'destination': 'korean_parallel/korean-english-park.train.tar.gz',
'method': 'download & untar'
},
{
'url': 'https://raw.githubusercontent.com/jungyeul/korean-parallel-corpora/master/korean-english-news-v1/korean-english-park.dev.tar.gz',
'destination': 'korean_parallel/korean-english-park.dev.tar.gz',
'method': 'download & untar'
},
{
'url': 'https://raw.githubusercontent.com/jungyeul/korean-parallel-corpora/master/korean-english-news-v1/korean-english-park.test.tar.gz',
'destination': 'korean_parallel/korean-english-park.test.tar.gz',
'method': 'download & untar'
},
]
(loader.py) class Korpora:
# ...
@classmethod
def exists(cls, corpus_name, root_dir=None):
if isinstance(corpus_name, str):
corpus_name = [corpus_name]
if root_dir is None:
root_dir = default_korpora_path
for name in corpus_name:
KORPUS[name].exists(root_dir=root_dir) (korpus_chatbot_data.py) class KoreanChatbotKorpus(Korpus):
# ...
@classmethod
def exists(cls, root_dir):
all_is_ok = True
for information in KOREAN_CHATBOT_FETCH_INFORMATION:
local_path = information['destination']
if not os.path.exists(local_path):
print(f'Not found {local_path}')
all_is_ok = False
if not all_is_ok:
print('Install corpus using `Korpora.fetch("chatbot_data")`')
return all_is_ok |
네, 말씀하시는 부분이 좋을 것 같습니다. FETCH 구현을 따라 인터페이스를 외부로 빼는 것으로 고민했었습니다. 추가적으로 def check_corpus(root_dir, corpus_names): # root_dir 추가
if (corpus_names == 'all') or (corpus_names[0] == 'all'):
corpus_names = list(ITERATE_TEXTS)
if isinstance(corpus_names, str):
corpus_names = [corpus_names]
available = []
for name in corpus_names:
if name not in ITERATE_TEXTS:
print(f'Not provide {name} corpus. Check the `corpus` argument')
continue
if Korpora.exists(name, root_dir): # local install 검사 (1)
available.append(name)
if not available:
raise ValueError('Not found any proper corpus name. Check the `corpus` argument')
return available
#... 생략 ...
ITERATE_TEXTS = {
#... 생략 ...
'question_pair': iterate_question_pair,
'modu_messenger': iterate_modu_messenger,
'modu_morpheme': iterate_modu_morpheme,
'modu_ne': iterate_modu_ne,
'modu_news': iterate_modu_news,
'modu_spoken': iterate_modu_spoken,
'modu_web': iterate_modu_web,
'modu_written': iterate_modu_written,
'aihub_spoken_translation': iterate_aihub_spoken_translation,
'aihub_conversation_translation': iterate_aihub_conversation_translation,
'aihub_news_translation': iterate_aihub_news_translation,
'aihub_korean_culture_translation': iterate_aihub_korean_culture_translation,
'aihub_decree_translation': iterate_aihub_decree_translation,
'aihub_government_website_translation': iterate_government_website_translation,
} |
앗, 손코딩으로 답변 쓰다보니 |
네 알겠습니다. |
@lovit
|
@hwiorn 님께서 제안해주신만큼 hwiorn 님께서 작업하고 싶으시다면 저는 기다리려 합니다. 혹은 기능만 제안하고 싶으신거면 제가 작업하려 합니다.
|
네 알겠습니다. |
|
넵! |
반영이 완료되었으므로, 본 건은 닫도록 하겠습니다. |
다운로드 가능한 데이터셋에 대해서만 lmdata를 통해 학습용 데이터셋을 출력하는 것으로 보입니다.
AIHUB나 모두의 코퍼스 셋은 로더 쪽도 준비가 다 된 것 같아, lmdata에 반영을 하면 될 것으로 보이는데, 혹시 작업 예정이신지 궁금합니다.
The text was updated successfully, but these errors were encountered: