본문 바로가기

머신러닝(Machine Learning)/실무

문장의 해당 언어 판별하기(그래프 분석)


이 포스팅은 서적 '머신러닝, 딥러닝 실전개발 입문'을 참고한 포스팅입니다.




관련 포스팅 보러가기

문장의 해당 언어 판별하기






이전 포스팅에서 


문장이 주어졌을 때, 해당 문장이 어떤 언어로 구성된 문장인지 판별하는 프로그램머신러닝을 이용하여 구현하여보았다.


수집한 자료가 많지는 않아도 언어별로 알파벳의 빈도가 다르므로 어느 정도 분류할 수 있다는 사실을 알아냈다.


그렇다면 어느정도로 알파벳의 빈도가 다른지 시각적으로 확인하고 싶은 경우에는 어떻게 해야할까?



파이썬에서는 matplotlib이라는 해당 수치를 그래프로 분석해주는 형태의 라이브러리를 제공하고 있다.


이를 이용해서 확인하여 보자.






앞선 예제에서 학습관련 데이터자료를 프로그램 실행시 마다 학습하는 것은 비효율적이므로


이 데이터의 형태를 json형태로 만들어 저장해두었다.



이를 이용하여 


그래프를 그릴 수 있는데 해당 프로그램을 실행하여 그리게 된 그래프를 확인해보자.





다음과 같은 형태의 그래프가 나온다.


그래프를 분석하여 보니


우뚝 솟은 꺾은선의 위치가 언어마다 정도는 다르지만 다른 문자보다는 더욱 높이 솟아있다는 사실을 발견하였다.


이를통해 각 언어가 다르더라도 사용하는 알파벳의 비율을 보니


대략적으로 많이 쓰이는 알파벳은 비슷하다는 것을 확인할 수 있었다.



이처럼 해당 데이터를 시각적으로 확인하면 추가적으로 얻을 수 있는 정보가 있으므로


이를 필요시 활용한다면, 더 나은 형태의 특성을 구분하는데 도움이 될 것이며


사람이 찾지 못하였던 규칙성 또한 찾아낼 수 있을 것으로 예상된다.