Master 펭귄
Limitless
Master 펭귄
전체 방문자
오늘
어제
  • 분류 전체보기 (16)
    • NLP (1)
    • Algorithm (9)
      • Mathematics (1)
    • Work Experience (5)
      • Python TA (1)
      • ETRI Intern (4)
    • Others (0)

블로그 메뉴

  • 홈

공지사항

인기 글

태그

  • 알고리즘 #에라토스테네스의 체 #소수 구하기 #파이썬
  • 백준11004번
  • 인턴
  • 선택알고리즘
  • 자동번역
  • 알고리즘 #백준알고리즘
  • NLP #BERT #ROBERTA #PRETRAINING
  • 백준출력초과에러
  • Quickselect
  • 자동통역기
  • 하노이탑 #백준11729번
  • BFS #백준1697 #파이썬 #알고리즘
  • 하노이탑파이썬
  • 업무자동화
  • 데이터구축
  • 셀레니움
  • 파이썬
  • 하노이탑이동횟수
  • 하노이탑알고리즘 #알고리즘
  • 하노이탑알고리즘

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Master 펭귄

Limitless

번역 데이터 구축 프로그램: 지루한 업무를 자동화시킬 수 있다면?
Work Experience/ETRI Intern

번역 데이터 구축 프로그램: 지루한 업무를 자동화시킬 수 있다면?

2020. 7. 29. 18:30

1. 프로그램 제작 배경


언어 데이터 구축 업무 중에 큰 비중을 차지하는 것은 원문 텍스트를 파파고, 구글 번역기를 돌려 엑셀에 정리하는 것이었습니다. 그런데 원문이 1200개가 넘기 때문에 상당히 오래 걸리는 업무입니다. 원래 이 업무를 수작업으로 하게 된다면 프로세스는 다음과 같습니다. 

 

for i in range(1200):

    1. 엑셀에 있는 원문을 하나 복사한다.

    2. 원문을 파파고 혹은 구글에 붙여넣기를 하여 번역된 텍스트를 복사한다.

    3. 번역텍스트를 원문 옆의 셀에 붙여넣기를 한다.

 

이걸 1200번을 하다가는 제 손목과 손가락이 제대로 남아 있지 않을 것 같았고 상당한 현타가 올 것 같았습니다...ㅎㅎ

 

그래서 문득 openpyxl과 selenium을 사용해서 업무를 자동화시킬 수 있지 않을까? 라는 생각이 들어 만들게 되었습니다.

 

이 프로그램을 만들고 나서는 업무의 질과 효율이 엄청나게 향상되었습니다..!!

 

프로그램이 저 대신 단순 노동을 하고 저는 그 시간에 다른 업무나 공부를 하게 되었습니다.

 

어떻게 보면 꼼수라고 볼수도 있겠지만, 완성된 프로그램의 결과물이 제가 직접하는 것보다 정확성과 시간 측면에서 전부 뛰어납니다.....ㅎㅎ

 

2. 프로그램 설계


1. openpyxl로 엑셀에 있는 원문을 가져와서 저장한다.

2. selenium webdriver로 파파고 혹은 구글 번역 홈페이지에 접속한다.

3. selenium으로 파파고에 저장된 원문을 입력한다.

4. 번역된 결과를 저장한다. 

5. 번역된 결과를 엑셀에 저장한다. 

6. 반복한다.

 

3. 구체화 


첫 번째로, 엑셀에서 불러올 데이터의 셀의 위치와 결과값을 저장한 셀의 위치를 지정해서 입력해주어야 합니다.

회사의 보안상 엑셀을 업로드 하는 것은 문제가 될 수 있으며, 회사나 사람마다 엑셀의 양식이 다르므로, 구체적인 설명은 생략하겠습니다. 

 

그 다음으로 파파고와 구글 번역 홈페이지의 html에서 필요한 요소를 찾아내야합니다.

 

파파고 번역 홈페이지 

 

저의 경우는 다음과 같이 따로 정리해 두었습니다. 

 

1. 파파고 홈페이지 html 에서 필요한 요소

 

원문을 넣을 입력창: textarea#txtSource

번역문을 가져올 결과창: div#txtTarget

번역을 초기화할 X버튼: button.btn_text_clse___1Bp8a

 

2. 구글번역 홈페이지 html에서 필요한 요소

 

원문을 넣을 입력창: textarea#source

번역문을 가져올 결과창: div.result-shield-container

번역을 초기화할 X버튼: div.clear.jfk-button-flat.tlid-clear-source-text.jfk-button

 

 

이렇게 간단하게 크롤링을 통해 업무를 자동화하기 위한 준비가 완료되었습니다!

 

세부 코드와 수행시간 개선은 다음 포스팅에 이어서 올리겠습니다. 

 

'Work Experience > ETRI Intern' 카테고리의 다른 글

너무 바쁜 이번주, 자동통역기 성능 평가  (0) 2020.08.05
번역 데이터 구축 프로그램: 개발과 수정  (0) 2020.07.29
인턴 일지를 시작하며,  (0) 2020.07.29
    'Work Experience/ETRI Intern' 카테고리의 다른 글
    • 너무 바쁜 이번주, 자동통역기 성능 평가
    • 번역 데이터 구축 프로그램: 개발과 수정
    • 인턴 일지를 시작하며,
    Master 펭귄
    Master 펭귄
    대학원생 뒤뚱뒤뚱 생존 일기

    티스토리툴바