'Deep Learning/NLP'에 해당되는 글 22건

  1. 2021.02.03 안녕하세요. Tensorflow KR 카카오브레인에서 자연어처리 라이브러리인 Pororo를 출시하게 되어서 글을 작성합니다. Pororo는 영
  2. 2021.01.31 안녕하세요! NLP를 공부하시는 분들, 혹은 처음 접하는 분들께 도움이 될까 하여 올려봅니다! 🙂 빅데이터 연합동아리 투빅스에서 7주동안
  3. 2021.01.31 GPT3-small / T5-base / Bertshared-base 모델을 공개합니다. Tensorflow와 pytorch모두에서 사용이 5
  4. 2021.01.14 안녕하세요. Tensorflow KR. 자연어처리 리뷰모임 [집현전]의 운영자 고현웅이라고 합니다. 이번 12월 한 달 동안 집현전에서 만든 자
  5. 2021.01.04 새해부터 데이터셋 Bomb이 터졌네요. Eleuther AI 에서 공개적으로 수집 및 훈련에 사용이 가능한 영어 텍스트 825GB 코퍼스 Pil
  6. 2020.12.28 안녕하세요 Tensorflow KR. 이번에 제가 하고있는 논문스터디에서 기계번역 서베이를 준비하면서 자연어처리 백그라운드(Seq2Seq 부터
  7. 2020.12.28 대규모 한국어 텍스트 데이터로 학습한 pre-training 언어 모델을 공개합니다!!​ ​ 블로그, 리뷰, 댓글과 같이 사람들이 직접 사용하는
  8. 2020.12.22 안녕하세요. 한국어 문장 분리기로 많은 사랑을 받고 있는 Korean Sentence Splitter(KSS)의 새로운 소식을 어디다 남길까
  9. 2020.12.16 안녕하세요. Tensorflow KR. 얼마전에 SKT에서 한국어 Seq2Seq 사전학습 모델인 KoBart를 공개하였는데요. 이를 git 2
  10. 2020.10.12 안녕하세요! 최근 모두의 말뭉치가 새로 공개된 겸하여 KoELECTRA-v3를 새로 만들었습니다:) 모두의 말뭉치를 포함한 약 34GB 데이터
  11. 2020.08.04 요즘 화제가 되고 있는 #OpenAI의 #GPT3 원리를 멋진 애니메이션 비주얼과 함께 설명한 글입니다. (영어) [https://jalamm
  12. 2020.07.22 안녕하세요. 제가 자연어처리 입문하면서 도움되었던 자료들 공유해보려고 합니다! 딥러닝을 이용한 자연어 처리 입문 [https://wikidocs
  13. 2020.07.20 #BERT #KcBERT 안녕하세요! 한국어 댓글 데이터셋으로 BERT Pretrain을 처음부터 진행해 만든 KcBERT를 공개합니다 : 2
  14. 2020.02.05 [https://github.com/catSirup/naver_kin_crawling](https://github.com/catSirup/nav
  15. 2020.01.16 안녕하세요 박찬준입니다. 최근 AI HUB에서 ([http://www.aihub.or.kr/](http://www.aihub.or.kr/))에
  16. 2020.01.15 #nlp_news #tokenizers #ner #felix_hill #ai_dungeon 올해의 첫 NLP 뉴스입니다! 최근 자연어 처리 관
  17. 2020.01.06 #2010_nlp_progress 안녕하세요 여러분 ! 새해 첫 주말은 잘들 보내셨나요? 오늘로 벌써 한 해의 1.6% 가 지나가고 있습니다
  18. 2019.12.01 [온라인 무료 강의] R로 하는 텍스트 전처리( 박찬엽 SK텔레콤 / T아카데미) 학습내용 1. 단정한 데이터란 무엇인지, 텍스트 데이터에서는 어떻게 접목되는지 이해한다. 2. 한글 데이터 분석에 ..
  19. 2019.11.28 한-영 번역 AI 데이터 160만 문장 전면공개(The Science Monitor 김병석 기자) 솔트룩스 파트너스(www.mobico.com )는 12월중에 한국정보화진흥원이 운영하는 AI허브(http://www.aihub.or.kr) 에 고품질 인공지능 ..
  20. 2019.11.11 안녕하세요, PyTorch KR! torchtext, spacy 등을 이용하지않고 최대한 python과 pytorch만을 사용하고, 특히 한국어 corpus를 활용하여, 논문을 구현한 구현체 모음을 공개합니다 (pretrained word vector가 필요..
  21. 2019.11.07 안녕하세요 박찬준입니다. OpenNMT Pytorch의 Library를 이용한 Tutorial을 만들었습니다. 기존 OpenNMT 홈페이지에 공개된 소스코드는 현재 작동하지 않는 부분이 상당부분 있어 조금의 수정을 진행하..
  22. 2019.11.01 안녕하세요 TFKR! 다음 주부터 NLP 분야 Top-Tier 콘퍼런스인 EMNLP가 홍콩에서 개최됩니다. 핑퐁팀 ML엔지니어 모두 이번 학회에 참석하는데요, 학회에 참석하기 전에 논문 리뷰는 필수겠죠? 발표..

안녕하세요. Tensorflow KR

카카오브레인에서 자연어처리 라이브러리인 Pororo를 출시하게 되어서 글을 작성합니다. Pororo는 영어, 한국어, 중국어, 일본어 등 여러가지 언어로 30가지 이상의 자연어 처리 모델이 구현되어 있는 파이썬 라이브러리 입니다.

인공지능이나 자연어처리를 전혀 모르더라도 3~4 줄 정도의 코드만 작성하면 개체명 인식, 기계 독해, 기계 번역, 요약, 감정분류 등 다양한 태스크를 손쉽게 수행할 수 있습니다. 예를 들면 NER은 아래와 같은 코드로 수행할 수 있습니다.

pip install pororo로 설치하시면 바로 사용해보실 수 있으며 언어별 모델, 태스크는 확장해나갈 계획이니 많은 사용과 피드백 부탁드립니다.

보다 더 자세한 사항은 https://github.com/kakaobrain/pororo 에서 확인할 수 있습니다. 감사합니다.

Posted by uniqueone
,

안녕하세요!
NLP를 공부하시는 분들, 혹은 처음 접하는 분들께 도움이 될까 하여 올려봅니다! 🙂

빅데이터 연합동아리 투빅스에서 7주동안 텍스트 세미나를 진행했습니다.
Stanford CS224n winter2019 : Natural Language Processing with Deep Learning 커리큘럼을 따라 진행하였으며, 블로그에 세미나 내용을 정리했습니다.

유명 자연어처리 강의인 CS224n을 공부하실 때, 저희 리뷰 블로그를 참고하시고 자연어처리 기본기를 다지는 데에 도움이 되셨으면 좋겠습니다!
감사합니다.

✔️ 2020 투빅스 텍스트 세미나 velog : https://velog.io/@tobigs-text1314/series

Posted by uniqueone
,

www.facebook.com/groups/TensorFlowKR/permalink/1411658372508550

 

GPT3-small / T5-base / Bertshared-base 모델을 공개합니다.

Tensorflow와 pytorch모두에서 사용이 가능합니다. 이제 한국어도 최신 언어모델을 기반으로 연구 하실 수 있으면 좋겠습니다.
간단한 예시를 colab으로 실행시켜 볼 수 있도록 만들어 두었습니다.
아직 training중인 모델은 업데이트가 될 예정이며, T5의 경우 아직 완전히 검증하진 못하였습니다.
현재 비공개 상태의 모델들도 추후 기회가 된다면 공개하도록 하겠습니다. 다양한 NLP 연구와 모델 사용에 대한 궁금증은 메세지로 남겨주십시오.

감사합니다.

github.com/kiyoungkim1/LMkor?fbclid=IwAR2094LyHcKFdQJcv8pfUFsCbWk74SVF9BihGMQi5wiIg6ExqC1Syx6mEM8

Posted by uniqueone
,

안녕하세요. Tensorflow KR. 자연어처리 리뷰모임 [집현전]의 운영자 고현웅이라고 합니다. 이번 12월 한 달 동안 집현전에서 만든 자연어처리 논문 리뷰 비디오 8편 (초급반 4편, 중급반 4편) 을 공유하기 위해 글을 작성하였습니다. 관심 있으신 분들은 아래 설명과 영상을 참고하시면 좋을 것 같습니다!


[집현전 Links]
집현전 Github : https://github.com/jiphyeonjeon/nlp-review
집현전 초급반 Youtube : https://www.youtube.com/playlist?list=PLsXisDblbLJ_UaUPi0iThUQKgSbhIk5ho
집현전 중급반 Youtube : https://www.youtube.com/playlist?list=PLsXisDblbLJ8msozFyA8o2zf3zfbORHWd

[초급반 12월 발표]
1. 송석리 - Long Short Term Memory
https://youtu.be/HHKSCkPEQfw

자연어처리에 대표적으로 사용되는 시퀀스 처리 모델인 LSTM에 대해 리뷰합니다. LSTM을 알아보기 이전에 RNN에 대해 알아보고, LSTM의 각종 게이트의 역할, 그리고 실험 결과를 깔끔한 일러스트와 함께 설명합니다.
2. 이영빈 - Word2Vec
https://youtu.be/o-2kfiZP7Z8

워드 임베딩 모델인 Word2Vec에 대해 논의합니다. 특히 Skip-gram (주변 단어 예측) 과 CBOW (중심단어 예측) 등의 방식에 특성에 대해 논의하고 Word Analogy 등의 태스크에서 성능을 비교하였습니다.
3. 이기창 - FastText
https://youtu.be/7pDB9zqwxhs

Word2Vec을 개선한 FastText 임베딩에 대해 논의합니다. OOV 문제를 완화하기 위해 도입된 서브워드 임베딩의 개념에 대해 이야기하고 실험 성능을 비교합니다. 특히 Semantic 영역의 성능과 Syntactic 영역의 성능을 비교하여 평가합니다.
4. 허치영 - Neural Probabilistic Language Model (NPLM)
https://youtu.be/EWMNCTpfsLI

뉴럴 기반의 언어모델의 시초 격인 NPLM에 대해 리뷰합니다. NPLM의 학습 오브젝티브를 자세한 수식으로 알아보고 NPLM이 Long term dependency에 효과적인 이유에 대해 논의하고 실험 성능을 비교합니다.

[중급반 12월 발표]
1. 진명훈 - If Beam Search is the Answer, What was the Question?
https://youtu.be/KJClfF_nJj0

디코딩 전략 중 한가지인 빔서치에 대해 논의합니다. 빔 사이즈를 최대로 높히는 것과 동일한 MAP 생성이 실제로는 잘 안되는 문제를 지적하며 빔서치가 좋은 문장을 생성해내는 이유를 인지심리학적인 요인을 통해 분석합니다. 추가로 UID 디코딩이라는 새로운 기법에 대해서도 논의합니다.
2. 박동주 - SSMBA : Self Supervised Manifold Based Data Augmentation for Improving Out of Domain Robustness
https://youtu.be/1IwHZ_4uPK0

Vicinal Risk Minimization의 일환으로 BERT의 MLM을 활용한 Data Augmentation 기법에 대해 논의합니다. Machine Translation, NLI, Sentiment Analysis 등의 Downstram Task에서 실험을 진행하였으며, 특히 In domain과 Out of domain 세팅에서의 성능을 비교합니다.
3. 고현웅 - Machine Translation Survey
1편 : https://youtu.be/KQfvEg-fGMw
2편 : https://youtu.be/18iH6VX-IU4

총 4시간에 걸쳐서 Seq2Seq부터 최신 연구(mBART, M2M-100, M2 등...)까지 23편의 논문을 참고하여 신경망 기계 번역의 역사와 최신 연구 동향에 대해 논의합니다. Background, Dataset, Efficiency, Training, Architecture 등에 대해 논의를 진행하고 성능, 서비스, 앞으로의 방향성에 대해 디스커션을 진행합니다.

Posted by uniqueone
,

새해부터 데이터셋 Bomb이 터졌네요. Eleuther AI 에서 공개적으로 수집 및 훈련에 사용이 가능한 영어 텍스트 825GB 코퍼스 Pile을 공개하였습니다.

저자진은 다양한 토픽으로 구성된 코퍼스로 언어 모델을 학습시켰을 때, 다운스트림 태스크에서 일반화가 잘 된다는 최근 연구 결과들을 따라 다양한 주제의 코퍼스를 모으기 위해 특히 신경을 많이 썼다고 합니다.

이외에도 코퍼스에서 등장하는 인종별, 성별 바이어스 등에 대한 분석, 경멸적 표현들에 대한 분석도 굉장히 Time-consuming 하지만 수행을 했다고 하네요 👍

또한 GPT-2 사이즈의 모델을 자신들이 공개한 Pile에 대해 학습시켰을 때, CC-100 (영어)에 대해 학습된 모델보다 여러 도메인에서 좋은 성능을 보이는 것까지 실험을 통해 확인하였습니다.

커뮤니티에서는 GPT-X의 democratize를 위한 첫 번째 움직임이라며, 굉장히 많은 호응을 얻고 있습니다 🤭

link: https://pile.eleuther.ai/

Posted by uniqueone
,

안녕하세요 Tensorflow KR.

이번에 제가 하고있는 논문스터디에서 기계번역 서베이를 준비하면서 자연어처리 백그라운드(Seq2Seq 부터 BERT까지)에 대한 내용을 함께 준비 해봤는데요. NLP 전반적으로 폭넓게 다루고 있는 영상이라 자연어처리 공부를 시작한지 얼마 안되신 분들이라면 도움 되실분들이 있을 것 같아서 여기에도 업로드 해봅니다.

영상에서 "왜?" 라는 질문을 많이 포함하고 있어서(왜 multihead? 왜 layer norm? 왜 pos embeddimg? 등..) 어텐션이나, Tranaformer 등에 대해 대략적으로만 알고 뭔가 와닿지는 않는 그런 분들이 들으시면 아마 도움이 더 많이 되시지 않을까 생각합니다.(백그라운드만 1시간 발표라, 배보다 배꼽이 더 커져서 결국 발표를 두번이나 했네요ㅋㅋㅋㅋㅠ)

참고로 집현전 추가 모집 문의가 정말 많이 왔는데요. 현재로서는 일정이나 깃헙, 영상등 관리하는게 빠듯해서 당장은 어려울 것 같구요. 시즌1을 성공적으로 마치게 되면 (모든분들이 한번씩 발표하고나서) 새 인원모집에 대해 다시 공지를 드리려고 합니다. 집현전 영상의 경우는 매달 저희가 읽은 논문과 자료들을 TFKR에 제가 정리해서 업로드 해드리겠습니다! 감사합니다~https://m.youtube.com/watch?v=KQfvEg-fGMw&feature=youtu.be

Posted by uniqueone
,

대규모 한국어 텍스트 데이터로 학습한 pre-training 언어 모델을 공개합니다!!​

블로그, 리뷰, 댓글과 같이 사람들이 직접 사용하는 텍스트를 수집하고 전처리하여 얻은 70Gb의 데이터로 Bert, Albert, Electra의 base 모델을 학습하였습니다. Pre-release버전을 공개하며 내년 초 더 많은 모델을 공개할 예정입니다.​
Huggingface를 통해 사용할 수 있으며, fine-tuning시 기존에 공개된 모델에 버금가거나 더 나은 성능을 보여주고 있습니다.​

이번 모델은 제가 프로젝트를 진행하다 공개하게 되었습니다. ​
텍스트, 이미지, 음성등의 인공지능을 활용해 다양한 비즈니스모델을 단기간 테스트하고 평가하며 좋은 서비스를 찾아가는 조직을 구성하고 있으니 관심 있으신 분들은 연락주십시오.​

자세한 사항은 아래 Github을 참고해주세요. 감사합니다!
https://github.com/kiyoungkim1/LM-kor

Posted by uniqueone
,

안녕하세요.

한국어 문장 분리기로 많은 사랑을 받고 있는 Korean Sentence Splitter(KSS)의 새로운 소식을 어디다 남길까 고민 하다가 이 그룹에서 가장 많은 분들이 사용하고 계셔서 여기에 남겨봅니다 ^^

작년 즈음에 카카오에서 사용해오던 한국어 문장 분리기에 착안해 C++로 한국어 문장 분리기를 새롭게 만들었고, 오픈소스로 공개하여 좋은 반응을 얻은 바 있습니다. 그러나 지속적인 문의나 요청 사항에는 거의 대응을 하지 못했고, 결정적으로 저 또한 전혀 다른 프로젝트를 맡게 되어 더 이상 유지보수를 할 수가 없었는데요. 특히 C++로 구현하다 보니 빌드 문의가 정말 많았고, 원래는 Windows, Mac, Linux 각 OS별로 빌드하여 바이너리를 업로드하여 배포하도록 권장하고 있는데, 상용 프로젝트도 아니고 그렇게 까지 관리할 수는 없었습니다.

결정적으로 문장 분리 자체가 엄청난 고성능을 요구해서 꼭 C++로 작성해야 하는건 아니었기에 빌드의 번거로움과 개발 유지보수를 감안하면 이제 다른 언어로 바꾸는게 좋겠다고 생각하던 차, 마침 고현웅님께서 파이썬으로 모두 포팅해주셨고, 또 꾸준히 개선해 나가는 모습을 보면서 이제는 프로젝트를 넘겨줄때가 됐음을 깨달았습니다.

제가 올 초에 1.3.1까지 올렸었고, 오늘부터 고현웅님이 만드신 파이썬 포팅 버전으로 2.0.0이 시작됩니다. 그동안 저에게 들어와있던, 제가 처리하지 못했던 모든 이슈와 PR이 반영된 최종 개선 버전이고, 아마 앞으로도 잘 개선해주시리라 기대가 큽니다.

팩키지 설치는 기존과 동일하게 `pip install kss`로 가능하며, 버그나 개선과 관련한 이슈는 새로운 레포인 https://github.com/hyunwoongko/kss 에 올려주시면 됩니다.

앞으로도 많은 응원 부탁드립니다.
감사합니다.

Posted by uniqueone
,

안녕하세요. Tensorflow KR.

얼마전에 SKT에서 한국어 Seq2Seq 사전학습 모델인 KoBart를 공개하였는데요. 이를 git clone 없이 편리하게 사용할 수 있도록 huggingface transformers에 포팅하게 되어서 글을 작성합니다. `pip install kobart-transformers`로 쉽게 설치할 수 있으며, 기타 사용법은 아래 레포에서 확인할 수 있습니다. 감사합니다.


github.com/hyunwoongko/kobart-transformers?fbclid=IwAR1SRkBBe-SKGipBrjJBqMIUs8s7YKaOe8Q8eA3Q8yzJPFwbjokbOlbBiHs

Posted by uniqueone
,

안녕하세요!

최근 모두의 말뭉치가 새로 공개된 겸하여 KoELECTRA-v3를 새로 만들었습니다:)
모두의 말뭉치를 포함한 약 34GB 데이터로 Pretraining
Mecab과 Wordpiece를 이용하여 Vocab 새로 제작

다행히도 여러 Task에서 눈에 띄는 성능 향상이 보이네요 (역시 데이터가 많은 게 최고네요ㅎ)
많은 분들이 사용해주셔서 항상 감사하고, 새로 공개한 모델도 한국어 NLP 연구에 많은 도움이 되었으면 좋겠습니다! 🤗
- Github: https://github.com/monologg/KoELECTRA

Posted by uniqueone
,

요즘 화제가 되고 있는 #OpenAI의 #GPT3 원리를 멋진 애니메이션 비주얼과 함께 설명한 글입니다. (영어)

[https://jalammar.github.io/how-gpt3-works-visualizations-animations/](https://jalammar.github.io/how-gpt3-works-visualizations-animations/)

#schoolofai #openai #gpt3 #nlp #machinelearning

Posted by uniqueone
,

안녕하세요.
제가 자연어처리 입문하면서 도움되었던 자료들 공유해보려고 합니다!
딥러닝을 이용한 자연어 처리 입문 [https://wikidocs.net/book/2155]
BERT 톺아보기
[http://docs.likejazz.com/bert/#fn:fn-2]
Dissecting BERT Part 1: The Encoder
[https://medium.com/dissecting-bert/dissecting-bert-part-1-d3c3d495cdb3]
LaRva 데뷰 2019 - 엄~청 큰 언어 모델 공장 가동기!
[https://deview.kr/2019/schedule/291]
ChrisMcCormickAI 유튜브 채널
[https://www.youtube.com/watch?v=FKlPCK1uFrc&list=PLam9sigHPGwOBuH4_4fr-XvDbe5uneaf6]
[https://www.youtube.com/watch?v=l8ZYCvgGu0o]
RoBERTa 논문
[https://arxiv.org/abs/1907.11692]
ALBERT 논문 / 논문 리뷰
[https://arxiv.org/abs/1909.11942]
[https://y-rok.github.io/nlp/2019/10/23/albert.html]
Huggingface/transformers 라이브러리[https://github.com/huggingface/transformers]
[https://huggingface.co/transformers/quicktour.html]
[https://huggingface.co/models]
한국어 Tokenizer 비교
[https://blog.pingpong.us/dialog-bert-tokenizer/]
TorchText 전처리 라이브러리 사용법
[https://wikidocs.net/65348]
GPT-2 설명 / BERT랑 비교
[http://jalammar.github.io/illustrated-gpt2/]
앞으로도 꾸준히 올려보겠습니다!

Posted by uniqueone
,

#BERT #KcBERT

안녕하세요!

한국어 댓글 데이터셋으로 BERT Pretrain을 처음부터 진행해 만든 KcBERT를 공개합니다 :)

공개된 한국어 BERT는 대부분 한국어 위키, 뉴스 기사, 책 등 잘 정제된 데이터를 기반으로 학습한 모델입니다. 한편, 실제로 NSMC와 같은 댓글형 데이터셋은 정제되지 않았고 구어체 특징에 신조어가 많으며, 오탈자 등 공식적인 글쓰기에서 나타나지 않는 표현들이 빈번하게 등장합니다.

KcBERT는 위와 같은 특성의 데이터셋에 적용하기 위해, 네이버 뉴스에서 댓글과 대댓글을 수집해, 토크나이저와 BERT모델을 처음부터 학습한 Pretrained BERT 모델입니다.

KcBERT는 Huggingface의 Transformers 라이브러리를 통해 간편히 불러와 사용할 수 있습니다. (별도의 파일 다운로드가 필요하지 않습니다!)

좀더 자세한 내용은 아래 Github Repo를 참고해주세요! :D

[https://github.com/Beomi/KcBERT](https://github.com/Beomi/KcBERT)

Posted by uniqueone
,

[https://github.com/catSirup/naver_kin_crawling](https://github.com/catSirup/naver_kin_crawling)

안녕하세요 NLP를 공부하고 있는 김태형입니다.

텍스트 마이닝을 하기 위해 네이버 지식인에서 특정 키워드가 포함된 데이터를 크롤링하는 프로젝트를 간단하게 진행해봤습니다.

첫 크롤링 프로젝트라 엉성합니다. 피드백은 언제나 달게 받겠습니다!

Posted by uniqueone
,

안녕하세요 박찬준입니다.

최근 AI HUB에서 ([http://www.aihub.or.kr/](http://www.aihub.or.kr/))에서 한-영 병렬 말뭉치를 공개했습니다.

한국어-영어 160만 문장의 번역 말뭉치를 공개했으며 자세한 구축사항은 아래 링크에서 확인하실 수 있습니다.

[http://www.aihub.or.kr/aidata/87](http://www.aihub.or.kr/aidata/87)

솔트룩스, 애버트란, 플리토에서 함께 작업한 것으로 알고 있으며 해당 데이터를 활용하여 성능이 얼마나 나오는지 실험을 진행해보았습니다. 눈으로 보았을 때 아직 조금 다듬어야 할 부분들(문장 정렬,표현 등)이 보였으나 기존의 공개된 데이터들 (ex. Opensubtitles)에 비해 상당히 고품질의 데이터로 판단됩니다.

실험을 위한 테스트셋으로는 IWSLT에서 공개한 Test2016, Test2017을 사용하였습니다.

실험결과 한-영 기계번역에서 16.38(Test 16기준) 의 BLEU 점수가 나왔으며 Opensubtitles 데이터까지 함께 학습시켜보니 17.34 (Test 16기준)까지 나오는 것을 볼 수 있었네요. 기존에 서강대학교[저-자원 언어의 번역 향상을 위한 다중 언어 기계번역], 강원대학교[MASS를 이용한 영어-한국어 신경망 기계번역]에서 동일한 테스트셋으로 실험한 논문보다 성능이 높게 나옴을 알 수 있었습니다.(물론 학습데이터가 달라서 성능 비교는 의미가 없습니다...)

역시 데이터의 품질이 중요함을 다시 한번 알 수 있었네요…

해당 데이터로 많은 분들이 다양한 서비스를 만들어 보시면 좋을 거 같습니다.

추가적으로 해당 모델을 Demo형태로도 만들어보았으니 직접 사용해보실 분들은 사용해보시면 좋을 듯 합니다 !

[http://nlplab.iptime.org:32296/](http://nlplab.iptime.org:32296/)

Posted by uniqueone
,

#nlp_news #tokenizers #ner #felix_hill #ai_dungeon

올해의 첫 NLP 뉴스입니다! 최근 자연어 처리 관련 재밌는 소식들이 많아 어떤 소식을 전해드리는게 좋을까 고민을 하다가, 아래 5개 소식을 선정해 소개해드리고자 합니다. 본 글을 읽는 모든 분들께 유익한 글이 되었으면 좋겠습니다 🤗

ㅡㅡㅡㅡㅡㅡㅡㅡㅡ

1. Hugging Face's Tokenizers

자연어 처리 전문 스타트업 Hugging Face 사에서 토크나이저 라이브러리를 오픈소스로 공개하였습니다. 다들 아시다시피 Deep Learning을 연구 및 적용하는 연구자와 개발자들이 늘어남에 따라 많은 모델링 관련 오픈소스들이 공개되어 왔습니다. 그리고 Hugging Face의 transformers, Facebook의 fairseq, Google의 tensor2tensor 등의 오픈소스가 공개됨에 따라 모델 구현은 이전보다 많이 수월해진 면이 있습니다.

그러나 자연어 데이터 전처리에 필수적으로 포함되는 토큰화 작업에서 생기는 성능 이슈로 인해 여전히 전처리 과정에서의 병목은 존재합니다. 이처럼 전처리 과정에서 발생하는 병목 현상을 해소하고, 다른 오픈소스들과 같이 연구자 및 개발자들에게 더 나은 편의를 제공하기 위해 Hugging Face 사가 토크나이저 오픈소스를 새로이 공개하였습니다!

Hugging Face 사의 'tokenizers'는 [그림 1]과 같이 4개의 컴포넌트가 하나의 파이프 라인으로 구성되며, 각 컴포넌트는 다음 역할을 담당합니다.
- Normalizer: 입력된 텍스트 데이터에 정규화를 수행
- PreTokenizer: 공백을 이용한 간단한 문장 Split을 수행
- Model: BPE, WordPiece, SentencePiece 등의 Tokenization 알고리즘이 적용
- PostProcessing: (Optional) Model의 결과 값에 후작업을 수행 (e.g. Language Modeling을 훈련하기 위해 Special tokens를 더해줄 수 있음)

tokenizers 라이브러리는 Rust로 구현되어 단일 CPU 기준 GB 사이즈의 텍스트를 처리하는데 약 20초 미만이 소요되었다고 하며, 현재 Node.js와 Python 바인딩을 제공해주고 있습니다! 앞으로 자연어 처리 관련 연구 및 개발에 있어 많은 도움을 받을 라이브러리가 될 것 같습니다. 역시 갓 Hugging Face !

2. NER Papers repository

어제 소개해드린 CMU CS 11-747 강좌에 Graham Neubig과 함께 Co-instructor로 등록되어 있는 Pengfei Liu가 2013년부터 2020년까지 8년 간 ACL, EMNLP, NAACL, Coling, ICLR, AAAI, IJCAI 등 7개의 최상위 학회에 제출된 NER 논문들을 큐레이팅한 'Named-Entity-Recognition-NER-Papers' 레포지토리를 공개하였습니다.

논문 리스트와 더불어 NER 연구에 주로 사용되는 벤치마크 데이터셋 정보도 함께 제공해주고 있으며, 리스트 뷰어의 경우 검색, 인용 수 기준 정렬 등 부가적인 편의 기능까지 제공합니다. 특히 각 논문에 카테고리 태그를 모두 달아둠으로써 카테고리 별로 논문을 선별해 볼 수 있는 기능이 많은 연구자들에게 요긴하게 사용될 것 같아 소개를 드립니다 🙂

3. Dair's news letter

Medium에서 자연어 처리와 관련한 좋은 아티클를 많이 작성해주는 dair.ai에서 뉴스 레터를 시작하였습니다. 1~2주 간격으로 자연어 처리, 머신러닝과 관련된 최신 소식들을 전해준다고 합니다. 관심 있으신 분들이 생각나실 때 마다 여러 소식들을 캐치업하기 좋을 자료가 될 것 같습니다.

그리고 이번 첫 편에서는 Hugging Face의 tokenizers, TensorFlow 2.1에 새로이 추가된 TextVectorization 레이어, dair.ai가 Medium을 통해 발행했던 NLP Review in 2019 등을 다루었습니다!

4. Felix Hill's Non-Compositional

언어학, 수학 등에는 Compositionality의 원리가 존재한다고 합니다. (정확하지는 않지만 제가 이해한 바에 의하면) 이는 한 Expression의 의미는 해당 Expressoin을 구성하는 성분들의 의미와 그 성분들을 묶어주는 규칙에 의해 결정된다는 원리입니다. 언어학자들은 자연어가 대개 Compositional 하지만, Idiom과 같이 해당 원리가 적용되지 않는 예외도 존재한다고 이야기합니다. 해당 원리에 부합하지 않는 더 간단한 예로는 "I am home"과 같은 문장을 들 수 있겠네요.

DeepMind에서 인공지능을 연구하는 Felix Hill은 언어학자들과 다른 의견을 가지고 있는 것 같습니다. Felix는 자연어가 기본적으로 Non-Compositional 하다고 주장합니다. 아래는 Felix의 블로그 소개 글입니다.

"자연어는 수학이나 논리학 등의 형식 언어와 다르기에 흥미롭다. 사람들은 때때로 자연어가 Compositional하다고 생각하지만, 자연어는 Compositional한 언어가 아니다. 만약 당신이 자연어가 Compositional하다 생각한 바로 그 사람이라면, 내 블로그 Non-Compositional을 한 번 확인해봐라"

제게는 다소 생소한 언어학과 관련된 이야기이지만, Felix Hill의 "Natural Language is Non-Compositional" 주장에 관심이 있으실 분들이 계실 것 같아 소개를 드립니다. 해당 주장에 흥미가 생기신 분들은 아래 링크를 참조해주세요!

P.S Felix Hill은 Yoshua Bengio, 조경현 교수님과 같은 세계적 석학들과 Co-work을 하는 인공지능 관련 권위자이자 인지과학, 전산 언어학을 전공한 학자입니다. 이러한 Felix의 위 주장은 현재 Twitter에서도 꽤나 논쟁이 되고 있으니, 심각하게 받아 들이시기 보다는 다양한 관점의 주장을 접한다 생각하고 참고하시는게 좋을 것 같습니다 🙂

5. AI Dungeon 2

작년 12월 aidungeon.io 사에서 Open AI의 Pre-trained GPT-2 모델을 활용한 텍스트 기반 게임 AI Dungeon 2를 새로이 내놓았는데, 이게 해외에서 반응이 꽤나 좋습니다. 해당 게임은 GPT-2-small을 사용해 구현했던 AI Dungeon 1을 발전시킨 게임으로, 이번에는 OpenAI가 공개한 모델 중 가장 큰 GPT-2-large를 활용해 텍스트를 보다 안정적으로 생성할 수 있는 게임으로 중무장해 돌아왔습니다.

그리고 본 게임을 구현하며 진행했던 GPT-2 관련 여러 실험 + 튜닝 등의 이야기를 담은 메이킹 스토리 아티클이 있는데 해당 글도 상당히 재미있습니다. 먼저 모델 Fine-tuning의 경우, chooseyourstory.com에서 제공하는 모험 시나리오 관련 데이터셋을 활용해 진행했다고 합니다. 그리고 Text generation 모델들이 겪는 고질적인 문제인 '중복 단어의 생성 문제'를 해결하기 위해 Salesforce 팀이 CTRL에서 적용한, 이전에 이미 생성된 단어들의 확률 값을 의도적으로 줄여주는 방식을 본 게임 모델 개발에도 차용했다고 합니다.

또한 컨텍스트를 유지하기 위해 모델이 생성해낸 '상황 텍스트'와 '사용자의 입력'이 함께 다음 입력 값으로 들어가게 되며, 현재 입력 값 뿐만 아니라 최대 10턴 이전의 입력까지 Memory로 함께 가져가며 이전 상황 설정들을 기억하도록 하였습니다 (최적 메모리로는 이전 8턴 까지의 값들을 사용). 모델의 한계로는 상황 생성에 있어 자연스러운 텍스트를 생성해내고 있긴 하나, 대화문 등의 텍스트를 생성할 때 'Who is who?'를 파악하는 면에서 취약점을 보이고 있다고 합니다.

개인적으로 게임을 몇 번 진행해보았는데 꽤나 흥미로운 게임이었으며, Text generation 모델을 이러한 부문에서도 사용할 수 있구나라는 깨달음을 얻을 수 있었습니다. 그리고 메이킹 스토리의 경우, 모델을 적용하며 마주하게 되는 여러 문제들에 대한 대응 방안(apply CTRL tip, Memory network, ...)이 많이 담긴 좋은 글이기에 꼭 읽어보시길 추천드립니다. 시간 되실 때, 게임도 한 번 해보세요! 😆

ㅡㅡㅡㅡㅡㅡㅡㅡㅡ

[References]

Hugging face's tokenizer: https://github.com/huggingface/tokenizers

NER papers: https://github.com/pfliu-nlp/Named-Entity-Recognition-NER-Papers

Dair's NLP newsletter: https://github.com/dair-ai/nlp_newsletter

Felix Hill's Non-Compositional: https://fh295.github.io/noncompositional.html

AI Dungeon 2: https://play.aidungeon.io/
AI Dungeon 2 making story: https://pcc.cs.byu.edu/2019/11/21/ai-dungeon-2-creating-infinitely-generated-text-adventures-with-deep-learning-language-models/

Posted by uniqueone
,

#2010_nlp_progress

안녕하세요 여러분 ! 새해 첫 주말은 잘들 보내셨나요? 오늘로 벌써 한 해의 1.6% 가 지나가고 있습니다 🙂 다들 새해를 맞아 한 해 간 지킬 계획들을 많이 세우셨을텐데, 모든 분들의 새해 다짐이 꼭 이루어지길 기원합니다.

오늘은 지난 2010년대에 있었던 자연어 처리의 발전사를 간략하고 밀도 있게 소개한 트윗 글을 여러분께 소개해드리고자 합니다.

Amsterdam 대학에서 전산 언어학 교수를 지내고 있는 Willem Zuidema 교수는 2010년대에 자연어 처리에 있었던 신경망 기반의 발전을 10가지 사건과 그 사건을 구성하는 13개의 논문을 통해 정리해주었습니다.

지난 10년 간 자연어 처리 분야에서 어떠한 발전들이 있었는지 한 번 살펴보실까요?

cf) 각 사건을 설명하는 글들은 이전에 있었던 이론 및 개념을 실제로 '잊어버리자'는 것이 아닌, 당시 학계에 불었던 바람을 표현하고 있습니다. 진지하게 받아들이시기 보다는, 가벼운 마음으로 읽으시길 추천드립니다 🙂

ㅡㅡㅡㅡㅡㅡㅡㅡ

2010년대는 자연어 처리 분야에 있어 파란만장한 10년이었습니다. 저는 이 글을 통해 2010년 이후 있었던 10개의 충격적인 발전과 해당 발전을 이끌었던 13개의 논문에 대해 이야기해보고자 합니다. 해당 발전들을 통해 자연어 처리는 이전과 비교할 수 없을 정도로 성능의 발전을 이룩하였습니다.

Shock 1 (2010): 신경망 네트워크를 기억하시나요? 해당 네트워크는 우리가 생각했던 것보다 자연어 처리에 훨씬 더 효과적이었습니다. Recurrent Neural Networks(RNNs, [1])와 Recursive Neural Networks (RNNs, [2])를 배워봅시다!

[1] Tomáš Mikolov et al.: Recurrent neural network based language model
[2] Richard Socher et al.: Learning Continuous Phrase Representations and Syntactic Parsing with Recursive Neural Networks

Shock 2 (2013): 이제 간단한 Recurrent, Recursive Networks들을 잊어버립시다. 그 대신 Long Short Term Memory(LSTM)를 사용합시다.

[3] Alex Graves: Generating Sequences With Recurrent Neural Networks

Shock 3 (2013): Distributional semantics를 기억하시나요? 좋습니다. 이제 해당 개념들을 다 잊어버리고 Word2Vec을 학습합시다!

[4] T Mikolov et al.: Distributed Representations of Words and Phrases and their Compositionality

Shock 4 (2014): 이제, 통계 기반 기계번역(SMT)에서 사용했던 구 단위 기계번역은 잊어버리고 Seq2Seq에 대해 학습합시다. 아참, LSTM은 기억하고 계신가요? 좋습니다. 이제 LSTM보다 간단한 구조를 지니며, 때때로 더 좋은 성능을 보이기도 하는 GRU도 함께 학습합시다.

[5] Cho Kyunghyun et al.: Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation

Shock 5 (2014): Seq2Seq을 기억하시나요? 좋습니다. 이제 Seq2Seq과 Attention을 함께 사용하는 방법을 학습합시다.

[6] Dzmitry Bahdanau et al.: Neural Machine Translation by Jointly Learning to Align and Translate

Shock 6 (2014): Deep Learning은 저희 생각보다 더 강력했습니다. End-to-end로 구성된 신경망 모델이 Speech recognition에서 SOTA를 달성했습니다!

[7] Awni Hannun et al. : Deep Speech: Scaling up end-to-end speech recognition

Shock 7 (2015): Symbolic structure의 전통적 이론들도 안전하지는 않았습니다. 2015년 Recursive 신경망이 Logic을 학습하기 시작했습니다 [sort of, 8]; 또한 bi-LSTM 기반의 파서는 Syntactic parsing에서 SOTA를 달성했습니다. [9]

[8] Sam Bowman et al.: Recursive Neural Networks Can Learn Logical Semantics
[9] Eliyahu Kiperwasser et al.: Simple and Accurate Dependency Parsing Using Bidirectional LSTM Feature Representations

Shock 8 (2016): 2016년 신경망 기반의 기계번역 시스템이 기계번역 분야에서 선두에 등극했습니다. 같은 해, Google Translate 역시 신경망 기반 기계번역을 사용하기 시작합니다.

[10] R Sennrich et al.: Edinburgh Neural Machine Translation Systems for WMT 16

Shock 9 (2017): LSTM을 기억하고 계신가요? 좋습니다. 이제 "Attention이 우리가 필요한 모든 것"이기 때문에(Attention Is All You Need) LSTM은 전부 잊어버립시다.

[11] Ashish Vaswani et al.: Attention Is All You Need

Shock 10 (2018): Word2Vec을 기억하시나요? 좋습니다. 이제 Word2Vec은 잊고 문맥을 활용한 Word Embedding를 학습합시다. (ELMO [12], BERT [13])

[12] M Peters et al.: Deep contextualized word representations

[13] J. Devlin et al.: BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding

저에게 2010년대는 쉴새 없이 출간되는 논문들을 따라 잡고, 강의 Syllabus를 재조정하고, 폭발적으로 늘어나는 학생들을 관리하느라 정말 힘든 10년이었습니다.

그럼에도 이러한 변화들이 계속해서 일어나는 자연어 처리 분야에 몸을 담고 있는 것은 제게 큰 특권이라고 생각합니다!

ㅡㅡㅡㅡㅡㅡㅡㅡ

저는 개인적으로 어떤 공부를 새로이 시작할 때 최신 기술을 바로 공부하는 것보다 해당 기술의 발전사를 기반으로 학습을 하는 것을 선호하는데, 글을 읽으며 제가 자연어 처리를 처음으로 공부하던 시기에 본 트윗을 만났으면 좋은 이정표로 삼을 수 있었겠다라는 생각을 많이 했습니다 🙂

지난 10년 간 자연어 처리 발전을 이해하는데 여러분께 많은 도움이 되셨기를 바랍니다.

P.S) 본 포스트의 사진은 WarNik Chow님의 슬라이드에서 발췌하였습니다 !

original tweet: https://twitter.com/wzuidema/status/1212727352037429248

Posted by uniqueone
,
[온라인 무료 강의] R로 하는 텍스트 전처리( 박찬엽 SK텔레콤 / T아카데미)

학습내용
1. 단정한 데이터란 무엇인지, 텍스트 데이터에서는 어떻게 접목되는지 이해한다.
2. 한글 데이터 분석에 필요한 Rmecabko / KoLNP 사용법을 알아보고, 한글 데이터 전처리 방법을 알아본다.

<학습대상>
R 프로그래밍이 가능하며, stringr 패키지와 정규표현식에 대하 이해가 있으신 분

<강의목록>
[1강] Tidyverse I - 파이프연산자(%/%), dplyr
[2강] Tidyverse II - tidy data, tidy text
[3강] 형태소분석 패키지 설치 - KoNLP, RmecanKo
[4강] 형태소분석 패키지 사용실습 - Token화, 불용어 제거, 정규표현식
[5강] 정량 지표 I - 단순출현빈도, 동시출현빈도
[6강] 정량 지표 II - tf-idf, 감성분석

* 박찬엽 선생님 github : https://mrchypark.github.io/
* 출처 : https://tacademy.skplanet.com/live/player/onlineLectureDetail.action?seq=166
https://www.facebook.com/113979985329905/posts/2664110800316798/?sfnsn=mo
Posted by uniqueone
,
한-영 번역 AI 데이터 160만 문장 전면공개(The Science Monitor 김병석 기자)

솔트룩스 파트너스(www.mobico.com )는 12월중에 한국정보화진흥원이 운영하는 AI허브(http://www.aihub.or.kr) 에 고품질 인공지능 번역 말뭉치 160만쌍을 공개한다.

인공지능 번역 학습을 위한 말뭉치는 ‘원문-번역문’의 문장쌍이 하나의 데이터를 이룬다. 따라서 160만 문장이라 함은 160만 문장쌍을 의미한다. 지난 5월 15일 한국정보화진흥원이 발주한 2019 인공지능데이터 구축사업의 주관사업자로 선정된 후 6.5개월간 300명이상의 구축인력을 통해 얻어낸 결과물이다.

* 출처 : http://scimonitors.com/%ED%95%9C-%EC%98%81-%EB%B2%88%EC%97%AD-ai-%EB%8D%B0%EC%9D%B4%ED%84%B0-160%EB%A7%8C-%EB%AC%B8%EC%9E%A5-%EC%A0%84%EB%A9%B4%EA%B3%B5%EA%B0%9C/
https://www.facebook.com/113979985329905/posts/2659217740806104/?sfnsn=mo
Posted by uniqueone
,
안녕하세요, PyTorch KR!

torchtext, spacy 등을 이용하지않고 최대한 python과 pytorch만을 사용하고, 특히 한국어 corpus를 활용하여, 논문을 구현한 구현체 모음을 공개합니다 (pretrained word vector가 필요한 경우 gluonnlp에서 word vector를 활용합니다.) 특히 자연어처리 논문을 구현할 때, 필요한 glue code들이 무엇인 지 궁금하신 분들은 Vocab, Tokenizer 등의 코드들을 보시면 좋을 것 같습니다.

아래의 repo에는 주로 sentence classification, pairwise-text classfication의 논문들이 구현되어있으며, 현재 추가적으로 named entity recognition, machine reading comprehension, neural machine translation 등을 구현 중입니다. 한국어 데이터에 대해서 현재 개발중이신 모델이 어느 정도로 구현이 잘 된 것인지 확인하실 때, 참고해주시면 좋을 것 같습니다.

[sentence classification]
bert pretrained 활용한 경우 etri와 skt pretrained를 사용한 두 가지 버전이 있습니다. 사용한 데이터셋은 이전에 박은정님이 공개하신 "naver movie review corpus"입니다.
link : https://github.com/e9t/nsmc

1. Convolutional Neural Networks for Sentence Classification (https://arxiv.org/abs/1408.5882)
2. Character-level Convolutional Networks for Text Classification (https://arxiv.org/abs/1509.01626)
3. Efficient Character-level Document Classification by Combining Convolution and Recurrent Layers (https://arxiv.org/abs/1602.00367)
4. Very Deep Convolutional Networks for Text Classification (https://arxiv.org/abs/1606.01781)
5. A Structured Self-attentive Sentence Embedding
(https://arxiv.org/abs/1703.03130)
6. BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding (https://arxiv.org/abs/1810.04805)

[pairwise-text classification]
bert pretrained 활용한 경우 etri와 skt pretrained를 사용한 두 가지 버전이 있습니다. 사용한 데이터셋은 송영숙님이 공개하신 "Question pair" 데이터입니다.
link : https://github.com/songys/Question_pair

1. Siamese recurrent architectures for learning sentence similarity (https://www.aaai.org/ocs/index.php/AAAI/AAAI16/paper/viewPaper/12195)
2. A Structured Self-attentive Sentence Embedding (https://arxiv.org/abs/1703.03130)
3. Stochastic Answer Networks for Natural Language Inference
(https://arxiv.org/abs/1804.07888)
4. BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
(https://arxiv.org/abs/1810.04805)
https://www.facebook.com/groups/PyTorchKR/permalink/1527443790728630/?sfnsn=mo
Posted by uniqueone
,
안녕하세요 박찬준입니다.

OpenNMT Pytorch의 Library를 이용한 Tutorial을 만들었습니다.

기존 OpenNMT 홈페이지에 공개된 소스코드는 현재 작동하지 않는 부분이 상당부분 있어 조금의 수정을 진행하였습니다.

추후 Transformer 모델 Tutorial도 공개하도록 하겠습니다.

https://github.com/Parkchanjun/OpenNMT_Library_Tutorial_Using_Colab

Colab에서 실행해주세요
https://lionbridge.ai/articles/what-is-facial-recognition/
Posted by uniqueone
,
안녕하세요 TFKR! 다음 주부터 NLP 분야 Top-Tier 콘퍼런스인 EMNLP가 홍콩에서 개최됩니다. 핑퐁팀 ML엔지니어 모두 이번 학회에 참석하는데요, 학회에 참석하기 전에 논문 리뷰는 필수겠죠?

발표된 논문들 중 각자 관심이 있는 총 60편의 논문(10편씩) abstract를 읽고, 그중 핑퐁팀이 주목한 12편의 논문들을 추려서 간단한 리뷰를 작성해 보았습니다! 또한 이번 EMNLP의 핫토픽, 키워드를 분석하여 현재의 NLP 트렌드는 무엇인지 파악해 보았습니다.

학회에 참석하시지 않더라도 인사이트를 얻을 수 있는 논문들이 많이 있으니 이번 EMNLP 논문 읽고 계신 많은 분들께 도움이 되었으면 좋겠습니다! 🥳

앗 그리고 EMNLP에 참석하시는 분들! 홍콩에서 만나서 식사 한번 같이 해요 ㅎㅎ 벌써부터 다음주가 기대가 됩니다!! 홍콩에 가서 많이 배우고 좋은 정보 있으면 또 공유하도록 하겠습니다. 😁

논문 취합은 @장성보 / 작성은 김준성 백영민 정다운 (Dawoon Jung) 이주홍 (JooHong Lee) Sangjun Koo @장성보 님과 함께하였습니다!

블로그 본문 링크 : [https://blog.pingpong.us//emnlp2019-preview/](https://blog.pingpong.us/emnlp2019-preview/?fbclid=IwAR32QdlIR2Jh0V02O0OrWtUdx5Nqd55EnlNVQKS36ZHAHKCzDTjTc0mYebI)

EMNLP 2019 논문 리스트 : [https://github.com/roomylee/EMNLP-2019-Papers](https://github.com/roomylee/EMNLP-2019-Papers?fbclid=IwAR3K_HE-U12_mZRR7KaXpPH91QA4QuVxQTvt0FQ1VaztcIyCiv8RsYfOVW8)
https://www.facebook.com/groups/TensorFlowKR/permalink/1025207577820300/?sfnsn=mo
Posted by uniqueone
,