-
Notifications
You must be signed in to change notification settings - Fork 6
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
[Feat] 위키피디아 문서 크롤링과 KoBEST 데이터셋을 활용한 데이터 증강 #70
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
gsgh3016
changed the title
Feature/29 aug with wiki
[Feat] 위키피디아 문서 크롤링과 KoBEST 데이터셋을 활용한 데이터 증강
Dec 3, 2024
gsgh3016
added
Priority: Medium
적절한 시기에 처리해야 할 작업
Type: Experiment
실험 결과 및 아이디어 공유
Status: Completed
완료
labels
Dec 3, 2024
This was
linked to
issues
Dec 3, 2024
Closed
- `utils` 모듈에 실험 결과 파일명 생성 함수 추가 - `prompts/templates` 디렉토리 내부에 `data_classification` 디렉토리 생성 - 프롬프트 `solving_strategies.txt` 파일 생성 - `eda/images` 디렉토리 생성 - `category_distribution.png` 파일 생성 - `problem_type_analysis.ipynb`에서 `problem_solving_type_analysis.ipynb`으로 파일 이름 변경 - `problem_solving_type_analysis.ipynb` 코드에 변경 및 추가된 모듈 적용 - `data/experiment`에서 `data/experiments`로 디렉토리 이름 변경
- `utils/util.py` 함수의 결과 파일명을 생성하는 함수를 컨벤션에 맞도록 수정 - 실험 결과 파일이 `data/` 디렉토리 바로 아래 저장되던 점 수정
역할 부여, Instruction prompting, 3-shots 프롬프트 적용
- 전체 데이터셋에 대해서 실험 1.0.1 적용 - 데이터 구조 변경
- 위키피디아 크롤러 추가 - 데이터 통합 모듈 추가 - 인덱스 중복 저장 오류 해결
- `text_crawler.py`를 상위 디렉토리로 이동 - `augments/modules/wikipedia/` 디렉토리 삭제
gsgh3016
force-pushed
the
feature/29-aug-with-wiki
branch
from
December 4, 2024 06:59
2f87c49
to
e5a3f86
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
📝 Summary
데이터 증강 관련 실험 모듈화
✅ Checklist
📄 Description
파일 별로 설명하도록 하겠습니다.
1. langchain_manager.py
str
,bool
,json
으로 고정하였습니다.2. base_processor.py
process
함수를 구현하시면 됩니다.3. kobest_augment.py, question_choices_generation.txt, validation.txt
BaseProcessor
를 상속받아 구현된 데이터 처리 모듈과 프롬프트입니다.'paragraph'
데이터를 기반으로'question'
,'choices'
,'answer'
를 생성합니다.'is_valid'
에 저장합니다.4. kobest_augmentation.ipynb
kobest_augment.sample_data(10)
에서 숫자 10을 바꿔 랜덤으로 선택되는 데이터의 숫자를 조정할 수 있습니다.5. reasoning.py, reasoning.txt
BaseProcessor
를 상속받아 구현된 데이터 처리 클래스입니다.'reasoning'
칼럼을 생성하여 저장합니다.6. classification.py, information_source_with_reasoning.txt
BaseProcessor
를 상속받아 구현된 데이터 처리 클래스입니다.'reasoning'
이 주어지면, 외부 지식이 필요한 문제인지 구분하여 이유와 함께 출력합니다.'외적 추론'
, 외부 지식이 필요 없는 경우'내적 추론'
으로 구분됩니다.'category'
,'analysis'
칼럼으로 저장합니다.7. keywords_extractor.py, wikipedia_search_keyword_with_reasoning.txt
BaseProcessor
를 상속받아 구현된 데이터 처리 클래스입니다.'외적 추론'
문제에서 동작합니다.'reasoning'
을 입력받아 문제 풀이에 필요한 키워드를 추출합니다.keyword_{i}
칼럼에 저장합니다.8. text_crawler.py
wikipediaapi
모듈을 사용해 만든 위키피디아 문서 크롤링 클래스입니다.KeywordExtractor
로 추출한 5개 키워드에서 위키피디아 문서를 가져옵니다.keyword_{i}_page
,keyword_{i}_exists
으로 저장합니다.9. summarizer.py, document_summarization.txt,
BaseProcessor
를 상속받아 구현된 데이터 처리 클래스입니다.'keyword_{i}_summary'
에 저장됩니다.10. paragraph_generator.py, generation_from_wiki.txt
BaseProcessor
를 상속받아 구현된 데이터 처리 클래스입니다.'raw_paragraph'
로 저장됩니다.11. paragraph_trimmer.py, trimming_paragraph.txt
BaseProcessor
를 상속받아 구현된 데이터 처리 클래스입니다.'paragraph'
에 새로 저장됩니다. 기존'paragraph'
데이터는'question_plus'
에 저장됩니다. 만약'question_plus'
가 존재하는 경우, 두 데이터를 합쳐서 저장합니다.12. data_version_manager.py
13. .gitignore
💡 Notice (Optional)
해당 모듈은 augments/train_augmentation.ipynb와 augments/kobest_augmentation.ipynb에 사용 예시가 있습니다.
🔗 Related Issue(s)
close #29 , #53 , #61