:: ai/nlp 4

NLP :: MecabTokenizer() 생성 시 MeCab Tagger 런타임 에러(RuntimeError) 해결

한국어 토크나이징에 자주 쓰이는 Mecab 을 사용하기 위해 MecabTokenizer 객체를 생성하려는데 RuntimeError 가 발생했다. 그런데 에러 문구만으로는 원인을 파악하기 쉽지 않아 보였다. RuntimeError # 에러 문구가 이게 다임^_^ 에러 난 line 을 따라가 보니 mecab = MecabTokenizer() ↓ tagger = MeCab.Tagger('-d' + dir) 요 부분에서 에러가 났는데, mecab 사전을 지정하는 부분이 문제였음! 내 경우는 dir (mecab dic 경로) 을 잘못된 경로로 넣어서 사전 인식이 안 된 것이 문제였다. MecabTokenizer() 객체 생성 시 아무 설명 없이 런타임에러가 난다면 mecab dictionary 를 잘 불러오고 있..

:: ai/nlp 2021.12.15

NLP :: sentencepiece tokenizer 로 문장 토큰화하기

자연어처리 분야를 공부하다보면 tokenizer 를 자주 접하게 되는데, 이는 기계에 문장을 통째로 넣고 학습시키는 것보다는 의미 단위로 단어를 쪼개서 넣고 학습시키는 것이 성능에 더 좋기 때문이다. 그 중 Google 의 Sentencepiece tokenizer 는 사용하기도 쉽고 워낙 유명한지라 많이 쓰인다. 사용법을 알아보도록 하자! 0. install sentencepiece 라이브러리가 없는 경우 설치해준다. pip install sentencepiece 1. train 토크나이저도 학습이 필요하다. 학습 문장들을 토대로 문장을 쪼개는 방식을 학습하는 것이다. 텍스트 파일 → 학습 → model, vocab 파일 문장들이 나열된 텍스트 파일을 넣고 학습시키면 model, vocab 파일을 떨구..

:: ai/nlp 2021.12.14

NLP :: 파이썬(python) 으로 OpenNMT 모델 통해 문장 번역하기(translate)

OpenNMT 는 NMT(Neural Machine Translation, 신경망 기계번역) 분야의 유명한 오픈소스 프로젝트다. OpenNMT 는 pytorch 기반의 라이브러리를 제공하는데 요게 OpenNMT-py 이다. 즉, 파이썬을 이용하여 OpenNMT 모델을 다루고 문장 번역을 해보고 싶다! 하면 OpenNMT-py 를 활용하면 된다. OpenNMT 로 모델을 학습하고, 학습이 완료된 모델을 활용하여 문장을 번역(translate)할 수 있다. 번역 과정은 OpenNMT-py 를 이용한 방법과 ctranslate2 를 이용한 방법이 있다. 1. OpenNMT-py 를 이용한 방법 CLI 형태로 간단하게 사용하고 싶다면 이 방법을 사용하면 된다. 1) OpenNMT-py 라이브러리 설치 pip i..

:: ai/nlp 2021.12.10

NLP :: Transformer 기반 문장 생성(Text Generation)과 decoding 옵션

* https://huggingface.co/blog/how-to-generate 위 사이트를 참고하여 작성한 내용입니다. :) Open-ended Text Generation(개방형 텍스트 생성)이란 기계가 주어진 context에 이어질 문장을 생성해내는 것이다. 주어진 문장들을 토대로 기계가 스스로 이야기를 써내려갈 수 있게 하는 기술! 언젠가 기계가 작가 대신 글을 쓰는 날이 오지 않을까? 하고 생각해보았다면 그게 이 분야 이야기일 것이다. (그치만 사람만이 불어넣을 수 있는 창의적인 표현력과 감성이 있어서 '대체'는 어려울 거라 생각한다 :) ) transformer 기반 언어 모델이 발전함에 따라 최근 이 Open-ended Text Generation 분야에도 큰 발전이 있었다. (transf..

:: ai/nlp 2021.11.17
300x250