전산 언어학을 전공하는 학생으로서 원시 또는 주석 텍스트 코서 나 구문 론적 나무 은행과 같은 다양한 리소스에서 교육 데이터를 준비해야하는 기계 학습 실험을 자주합니다. 모든 새로운 작업과 모든 새로운 실험을 위해 필요한 기능과 값을 추출하고 한 형식에서 다른 형식으로 데이터를 변환하는 프로그램 (일반적으로 Python 및 Java)을 작성합니다. 이것은 대개 대용량 파일의 수가 매우 많고 일부 시스템 학습 프레임 워크 (Weka의 arff 파일과 같은)에 대한 입력을 얻기 위해이를 처리하는 아주 많은 수의 작은 프로그램을 생성합니다.교육 자료를 준비하기위한 일반적인 프레임 워크는 무엇입니까?
많은 데이터에서 중요한 특성, 예외 또는 오류를 놓치지 않도록주의 깊게 처리해야합니다. 디자인 패턴이나 리팩토링 패러다임과 같은 우수한 소프트웨어 설계의 많은 원칙은 보안, 유지 관리 또는 지속 가능성과 같은 것이 중요하지 않기 때문에 이러한 작업에 큰 도움이되지 않습니다. 일단 프로그램이 더 이상 필요하지 않은 데이터를 성공적으로 처리하면 말입니다. 지금까지 필자는 파이썬 코드와 프로그램에서 간단한 절차 방식으로 클래스 나 함수를 사용하는 것에 대해 신경 쓰지 않았다. 다음 실험에서는 독특한 특성을 지닌 서로 다른 데이터 세트가 필요하며 다른 포맷으로도 준비가 가능하므로 어쨌든 처음부터 프로그래밍해야합니다. 지금까지 경험 한 바에 따르면 훈련 데이터 준비 작업에 프로젝트 시간의 80-90 %를 사용하는 것이 일반적이지 않습니다. 시간과 날은 한 데이터 형식에서 다른 데이터 형식으로 전환하는 방법에 대해서만 생각합니다. 때때로 이것은 매우 실망스럽게 될 수 있습니다.
글쎄, 당신은 아마 내가 의도적으로 조금 과장하고 있다고 생각 했겠지만, 나는 당신이 내가 말하려고하는 것을 이해하는 것이 긍정적이라는 것을 알고 있습니다. 내 질문은 실제로는 다음과 같습니다.
이러한 작업에 접근하기위한 일반적인 프레임 워크, 아키텍처, 모범 사례가 있습니까? 내가 작성한 코드 중 최적의 설계로 재사용이 가능할 것으로 기대합니까?
내 대학원생의 경험에 비추어 볼 때, 나는 그것이 과장이라고 생각하지 않습니다. :피 – ealdent