ko-nlp/Korpora

(github page) 모두의 말뭉치를 Korpora class 로 로딩 시 local_path option

lovit opened this issue · 7 comments

lovit commented

Korpora 의 load 함수는 root_dir 을 argument 로 입력받고, Korpora 를 통하여 fetch 가 이뤄지는 다른 말뭉치들은 주로 default root dir (~/Korpora/) 에 코퍼스가 저장되어 있을 가능성이 높습니다.

from Korpora import Korpora

Korpora.load(corpus_name='NAME', root_dir=None)

모두의 말뭉치는 사용자들이 해당 위치에 말뭉치 파일을 두지 않을 가능성이 높다고 생각합니다. 하여 github page 의 사용법을 다음처럼 수정하면 어떨까요?

(now)

모두의 말뭉치(구어)를 파이썬 콘솔에서 읽어들이는 예제는 다음과 같습니다.

from Korpora import Korpora
corpus = Korpora.load("modu_messenger")

다음과 같이 실행해도 모두의 말뭉치(구어)를 읽어들일 수 있습니다. 수행 결과는 위의 코드와 동일합니다.

from Korpora import ModuSpokenKorpus
corpus = ModuSpokenKorpus()

(desired)

모두의 말뭉치(구어)를 파이썬 콘솔에서 읽어들이는 예제는 다음과 같습니다. 아래의 코드는 메신저 말뭉치가 ~/Korpora/NIKL_MESSENGER 에 위치한다고 가정합니다.

from Korpora import Korpora
corpus = Korpora.load("modu_messenger")

메신저 말뭉치를 다른 위치에 저장한 경우에는 다음처럼 말뭉치를 로딩합니다

from Korpora import Korpora
corpus = Korpora.load("modu_messenger", root_dir='path/to/NIKL_MESSENGER')

다음과 같이 실행해도 모두의 말뭉치(구어)를 읽어들일 수 있습니다. 수행 결과는 위의 코드와 동일합니다.

from Korpora import ModuSpokenKorpus
corpus = ModuSpokenKorpus()
corpus = ModuSpokenKorpus('path/to/NIKL_MESSENGER')

동의합니다! 문서를 해당 내용으로 수정해 둘게요

@lovit 님 현재 다음과 같이 작성되어 있는데요. 이렇게 작성을 해두어도 의도한대로 된 것인지 확인차 여쭤봅니다.


모두의 말뭉치(구어)를 파이썬 콘솔에서 읽어들이는 예제는 다음과 같습니다.

from Korpora import Korpora
corpus = Korpora.load("modu_spoken")
# warning
위의 코드는 해당 말뭉치가 `~/Korpora` 아래에 NIKL_SPOKEN이라는 디렉토리(`~/Korpora/NIKL_SPOKEN`)에 압축이 해제된 상태로 존재하는 걸 전제로 작동합니다. 
만일 루트 다렉토리가 `~/Korpora`와 다를 경우 `load` 함수 호출시 `root_dir=custom_path` 인자를 추가하시기 바랍니다.

다음과 같이 실행해도 모두의 말뭉치(구어)를 읽어들일 수 있습니다.
수행 결과는 위의 코드와 동일합니다.

from Korpora import ModuSpokenKorpus
corpus = ModuSpokenKorpus()
# warning
위의 코드는 해당 말뭉치가 사용자의 로컬 컴퓨터 루트 하위의 `~/Korpora/NIKL_SPOKEN` 디렉토리에 압축이 해제된 상태로 존재하는 걸 전제로 작동합니다. 
만일 다른 디렉토리에 말뭉치가 존재한다면 `ModuSpokenKorpus` 클래스 선언시 `root_dir_or_paths=custom_path` 인자를 추가하시기 바랍니다.
lovit commented

root_dir_or_paths=custom_path > root_dir=custom_path 으로만 수정하면 의도와 같습니다. 이 부분만 수정하면 될듯 합니다. @ratsgo

lovit commented

root_dir_or_paths=custom_path > root_dir=custom_path 으로만 수정하면 의도와 같습니다. 이 부분만 수정하면 될듯 합니다. @ratsgo

기창님 이 부분 다시 확인했는데, 코드에서 root_dir_or_paths 로 이용했었습니다. 이 부분은 코드도 제가 함께 수정해두겠습니다. 최우선 PR 로 확인 부탁드립니다.

@lovit 님, 클래스명을 확인해봤는데, 모두의 말뭉치 종류가 모두 root_dir_or_paths를 쓰고 있는데요.
이것도 root_dir로 모두 고치는 PR 드리겠습니다.

클래스명 인자명
KoreanChatbotKorpus root_dir
KcBERTKorpus root_dir
KoreanHateSpeechKorpus root_dir
KoreanPetitionsKorpus root_dir
KorNLIKorpus root_dir
KorSTSKorpus root_dir
KowikiTextKorpus root_dir
NamuwikiTextKorpus root_dir
NaverChangwonNERKorpus root_dir
NSMCKorpus root_dir
QuestionPairKorpus root_dir
KoreanParallelKOENNewsKorpus root_dir
ModuNewsKorpus root_dir_or_paths
ModuMessengerKorpus root_dir_or_paths
ModuMorphemeKorpus root_dir_or_paths
ModuNEKorpus root_dir_or_paths
ModuSpokenKorpus root_dir_or_paths
ModuWebKorpus root_dir_or_paths
ModuWrittenKorpus root_dir_or_paths
AIHubTranslationKorpus root_dir
OpenSubstitleKorpus root_dir

이 PR이 완료되면 pages에 해당 설명들도 맞춰서 고쳐두겠습니다.

영어 설명 페이지(pages-en)는 한국어 페이지 수정 사항(fix-ko-pages)이 페이지 브랜치에 머지된 이후
최신 페이지 브랜치에 rebase한 뒤 수정 내용을 반영하겠습니다.

0.2.0에서 제공되는 모든 클래스의 인자를 root_dir로 통일하였고, 한국어/영어 설명 페이지의 관련 설명도 모두 반영하였으므로 이슈 클로즈합니다.