반응형

오늘은 외국어 문장 판별을 해보도록 하겠습니다


알파벳을 가지고 언어를 판단 할 수 있는지 알아보도록 하겠습니다


train폴더 안에 있는 txt파일을 한번 다 출력해보도록 하겠습니다



텍스트 팡리이 다 잘 출력이 된 것을 알 수 있습니다


이제 os.path를 사용하여 파일 이름만 추출해보도록 하겠습니다



파일 이름이 잘 추출 됌을 알 수 있습니다


이제 파일이름과 파일이름 -앞에 있는 외국어 label을 파싱하여 출력해보도록 하겠습니다



re를 이용해서 정규식으로 파싱해도 되지만 split을 사용하여 파싱하였습니다


이제 파일을 읽어들여서 알파벳 빈도수를 구하는 코드를 짜보도록 하겠습니다

# 대소문자가 섞여있으면 나중에 ord로 범위설정이 까다로움으로 소문자로 다 변경하였습니다



알파벳이 잘 출력되는 것을 볼 수 있습니다


이제 count list에 a부터 z까지 빈도수를 저장해보도록 하겠습니다



언어 label 마다 빈도수가 잘 저장되었음을 볼 수 있습니다


지금까지를 종합하여 아래코드는 train data를 만드는 코드입니다



아래 코드는 test data를 만드는 코드입니다

폴더명과 list명만 달라졌습니다




이제 train data와 test data를 가지고 학습을 시켜서 예측하는 코드를 짜보도록 하겠습니다



정답률이 87퍼센트로 나오고 classification_report를 이용해 report로 출력 했더니 더 깔끔하게 결과를 볼 수 있었습니다




느낀 점


조금씩 비슷한 예제들을 돌려보고 하니 이제야 학습과 예측에 대해서 감이 잡히는 거 같습니다

아직은 학습시켜서 예측한다는 것이 신기하지만 조금 더 공부해서 원하는 데이터를 집어 넣어

예측 값을 뽑아내보고 싶습니다



  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기