딥 러닝을 이용한 자연어 처리 입문 00. ★★ 입문자를 위한 조언 (Q&A) 00. 글쓴이 소개 및 e-mail 00. 비공개 콘텐츠 & E-book 구매 안내 000. Part 1. 기본 과정 01. 자연어 처리(natural language processing) 준비하기 01-01 아나콘다(Anaconda)와 코랩(Colab) 01-02 필요 프레임워크와 라이브러리 01-03 자연어 처리를 위한 NLTK와 KoNLPy 설치하기 01-04 판다스(Pandas) and 넘파이(Numpy) and 맷플롭립(Matplotlib) 01-05 머신 러닝 워크플로우(Machine Learning Workflow) 02. 텍스트 전처리(Text preprocessing) 02-01 토큰화(Tokenization) 02-02 정제(Cleaning) and 정규화(Normalization) 02-03 어간 추출(Stemming) and 표제어 추출(Lemmatization) 02-04 불용어(Stopword) 02-05 정규 표현식(Regular Expression) 02-06 정수 인코딩(Integer Encoding) 02-07 패딩(Padding) 02-08 원-핫 인코딩(One-Hot Encoding) 02-09 데이터의 분리(Splitting Data) 02-10 한국어 전처리 패키지(Text Preprocessing Tools for Korean Text) 03. 언어 모델(Language Model) 03-01 언어 모델(Language Model)이란? 03-02 통계적 언어 모델(Statistical Language Model, SLM) 03-03 N-gram 언어 모델(N-gram Language Model) 03-04 한국어에서의 언어 모델(Language Model for Korean Sentences) 03-05 펄플렉서티(Perplexity, PPL) 03-06 조건부 확률(Conditional Probability) 04. 카운트 기반의 단어 표현(Count based word Representation) 04-01 다양한 단어의 표현 방법 04-02 Bag of Words(BoW) 04-03 문서 단어 행렬(Document-Term Matrix, DTM) 04-04 TF-IDF(Term Frequency-Inverse Document Frequency) 05. 벡터의 유사도(Vector Similarity) 05-01 코사인 유사도(Cosine Similarity) 05-02 여러가지 유사도 기법 06. 머신 러닝(Machine Learning) 개요 06-01 머신 러닝이란(What is Machine Learning?) 06-02 머신 러닝 훑어보기 06-03 선형 회귀(Linear Regression) 06-04 자동 미분과 선형 회귀 실습 06-05 로지스틱 회귀(Logistic Regression) 06-06 로지스틱 회귀 실습 06-07 다중 입력에 대한 실습 06-08 벡터와 행렬 연산 06-09 소프트맥스 회귀(Softmax Regression) 06-10 소프트맥스 회귀 실습 07. 딥 러닝(Deep Learning) 개요 07-01 퍼셉트론(Perceptron) 07-02 인공 신경망(Artificial Neural Network) 훑어보기 07-03 행렬곱으로 이해하는 신경망 07-04 딥 러닝의 학습 방법 07-05 역전파(BackPropagation) 이해하기 07-06 과적합(Overfitting)을 막는 방법들 07-07 기울기 소실(Gradient Vanishing)과 폭주(Exploding) 07-08 케라스(Keras) 훑어보기 07-09 케라스의 함수형 API(Keras Functional API) 07-10 케라스 서브클래싱 API(Keras Subclassing API) 07-11 다층 퍼셉트론(MultiLayer Perceptron, MLP)으로 텍스트 분류하기 07-12 피드 포워드 신경망 언어 모델(Neural Network Language Model, NNLM) 08. 순환 신경망(Recurrent Neural Network) 08-01 순환 신경망(Recurrent Neural Network, RNN) 08-02 장단기 메모리(Long Short-Term Memory, LSTM) 08-03 게이트 순환 유닛(Gated Recurrent Unit, GRU) 08-04 케라스의 SimpleRNN과 LSTM 이해하기 08-05 RNN 언어 모델(Recurrent Neural Network Language Model, RNNLM) 08-06 RNN을 이용한 텍스트 생성(Text Generation using RNN) 08-07 문자 단위 RNN(Char RNN) 09. 워드 임베딩(Word Embedding) 09-01 워드 임베딩(Word Embedding) 09-02 워드투벡터(Word2Vec) 09-03 영어/한국어 Word2Vec 실습 09-04 네거티브 샘플링을 이용한 Word2Vec 구현(Skip-Gram with Negative Sampling, SGNS) 09-05) 글로브(GloVe) 09-06 패스트텍스트(FastText) 09-07 자모 단위 한국어 FastText 학습하기 09-08 사전 훈련된 워드 임베딩(Pre-trained Word Embedding) 09-09 엘모(Embeddings from Language Model, ELMo) 09-10 임베딩 벡터의 시각화(Embedding Visualization) 09-11 문서 벡터를 이용한 추천 시스템(Recommendation System using Document Embedding) 09-12 문서 임베딩 : 워드 임베딩의 평균(Average Word Embedding) 09-13 Doc2Vec으로 공시 사업보고서 유사도 계산하기 09-14 실전! 한국어 위키피디아로 Word2Vec 학습하기 10. RNN을 이용한 텍스트 분류(Text Classification) 10-01 케라스를 이용한 텍스트 분류 개요(Text Classification using Keras) 10-02 스팸 메일 분류하기(Spam Detection) 10-03 로이터 뉴스 분류하기(Reuters News Classification) 10-04 IMDB 리뷰 감성 분류하기(IMDB Movie Review Sentiment Analysis) 10-05 나이브 베이즈 분류기(Naive Bayes Classifier) 10-06 네이버 영화 리뷰 감성 분류하기(Naver Movie Review Sentiment Analysis) 10-07 네이버 쇼핑 리뷰 감성 분류하기(Naver Shopping Review Sentiment Analysis) 10-08 BiLSTM으로 한국어 스팀 리뷰 감성 분류하기 11. NLP를 위한 합성곱 신경망(Convolution Neural Network) 11-01 합성곱 신경망(Convolution Neural Network) 11-02 자연어 처리를 위한 1D CNN(1D Convolutional Neural Networks) 11-03 1D CNN으로 IMDB 리뷰 분류하기 11-04 1D CNN으로 스팸 메일 분류하기 11-05 Multi-Kernel 1D CNN으로 네이버 영화 리뷰 분류하기 11-06 사전 훈련된 워드 임베딩을 이용한 의도 분류(Intent Classification using Pre-trained Word Embedding) 11-07 문자 임베딩(Character Embedding) 12. 태깅 작업(Tagging Task) 12-01 케라스를 이용한 태깅 작업 개요(Tagging Task using Keras) 12-02 양방향 LSTM를 이용한 품사 태깅(Part-of-speech Tagging using Bi-LSTM) 12-03 개체명 인식(Named Entity Recognition) 12-04 개체명 인식의 BIO 표현 이해하기 12-05 BiLSTM을 이용한 개체명 인식(Named Entity Recognition, NER) 12-06 BiLSTM-CRF를 이용한 개체명 인식 12-07 문자 임베딩(Character Embedding) 활용하기 99) ===텐서플로우 1버전 코드 (구버전)=== 12-01 양방향 LSTM을 이용한 개체명 인식(Named Entity Recognition using Bi-LSTM) 12-02 양방향 LSTM과 CRF(Bidirectional LSTM + CRF) 12-03 양방향 LSTM과 문자 임베딩(Char embedding) 13. Part 2. 심화 과정 13. 서브워드 토크나이저(Subword Tokenizer) 13-01 바이트 페어 인코딩(Byte Pair Encoding, BPE) 13-02 센텐스피스(SentencePiece) 13-03 서브워드텍스트인코더(SubwordTextEncoder) 13-04 허깅페이스 토크나이저(Huggingface Tokenizer) 14. RNN을 이용한 인코더-디코더 14-01 시퀀스-투-시퀀스(Sequence-to-Sequence, seq2seq) 14-02 Word-Level 번역기 만들기(Neural Machine Translation (seq2seq) Tutorial) 14-03 BLEU Score(Bilingual Evaluation Understudy Score) 15. 어텐션 메커니즘 (Attention Mechanism) 15-01 어텐션 메커니즘 (Attention Mechanism) 15-02 바다나우 어텐션(Bahdanau Attention) 15-03 양방향 LSTM과 어텐션 메커니즘(BiLSTM with Attention mechanism) 16. 트랜스포머(Transformer) 16-01 트랜스포머(Transformer) 16-02 트랜스포머를 이용한 한국어 챗봇(Transformer Chatbot Tutorial) 16-03 셀프 어텐션을 이용한 텍스트 분류(Multi-head Self Attention for Text Classification) 17. BERT(Bidirectional Encoder Representations from Transformers) 17-01 NLP에서의 사전 훈련(Pre-training) 17-02 버트(Bidirectional Encoder Representations from Transformers, BERT) 17-03 구글 BERT의 마스크드 언어 모델(Masked Language Model) 실습 17-04 한국어 BERT의 마스크드 언어 모델(Masked Language Model) 실습 17-05 구글 BERT의 다음 문장 예측(Next Sentence Prediction) 17-06 한국어 BERT의 다음 문장 예측(Next Sentence Prediction) 17-07 센텐스버트(Sentence BERT, SBERT) 18. 실전! BERT 실습하기 18-01 코랩(Colab)에서 TPU 사용하기 18-02 transformers의 모델 클래스 불러오기 18-03 KoBERT를 이용한 네이버 영화 리뷰 분류하기 18-04 TFBertForSequenceClassification 18-05 KoBERT를 이용한 KorNLI 풀어보기 (다중 클래스 분류) 18-06 KoBERT를 이용한 개체명 인식(Named Entity Recognition) 18-07 KoBERT를 이용한 기계 독해(Machine Reading Comprehension) 18-08 BERT의 문장 임베딩(SBERT)을 이용한 한국어 챗봇 18-09 Faiss와 SBERT를 이용한 시맨틱 검색기(Semantic Search) 19. 토픽 모델링(Topic Modeling) 19-01 잠재 의미 분석(Latent Semantic Analysis, LSA) 19-02 잠재 디리클레 할당(Latent Dirichlet Allocation, LDA) 19-03 사이킷런의 잠재 디리클레 할당(LDA) 실습 19-04 BERT를 이용한 키워드 추출 : 키버트(KeyBERT) 19-05 한국어 키버트(Korean KeyBERT)를 이용한 키워드 추출 19-06 BERT 기반 복합 토픽 모델(Combined Topic Models, CTM) 19-07 BERT 기반 한국어 복합 토픽 모델(Korean CTM) 19-08 버토픽(BERTopic) 19-09 한국어 버토픽(Korean BERTopic) 20. 텍스트 요약(Text Summarization) 20-01 어텐션을 이용한 텍스트 요약(Text Summarization with Attention mechanism) 20-02 문장 임베딩 기반 텍스트 랭크(TextRank Based on Sentence Embedding) 21. 질의 응답(Question Answering, QA) 21-01 메모리 네트워크(Memory Network, MemN)를 이용한 QA 21-02 MemN으로 한국어 QA 해보기 22. GPT(Generative Pre-trained Transformer) 22-01 지피티(Generative Pre-trained Transformer, GPT) 22-02 KoGPT를 이용한 문장 생성 22-03 KoGPT-2 텍스트 생성을 이용한 한국어 챗봇 22-04 KoGPT-2를 이용한 네이버 영화 리뷰 분류 22-05 KoGPT-2를 이용한 KorNLI 분류 23. 교육 문의
    Published with WikiDocs
    1. 딥 러닝을 이용한 자연어 처리 입문
    1. 위키독스

    딥 러닝을 이용한 자연어 처리 입문

    지은이 : 유원준, 안상준
    최종 편집일시 : 2024년 7월 13일 10:21 오전
    저작권 :
    e-book 판매가 : 33,000원 (구매하기)
    3,461 명이 추천

    많은 분들의 피드백으로 수년간 보완된 입문자를 위한 딥 러닝 자연어 처리 교재 E-book입니다.
    오프라인 출판물 기준으로 코드 포함 약 1,000 페이지 이상의 분량을 가지고 있습니다.

    기본적인 텍스트 전처리부터 BERT와 같은 PLM의 다양한 다운스트림 태스크를 다룹니다.

    대부분의 내용을 무료로 공개하여 이 웹 사이트를 통해 자연어 처리를 입문할 수 있습니다.
    단, BERT 실습과 같은 심화 내용은 유료 E-book ( 구매 시 이 책의 PDF 파일 제공 ) 에서만 확인할 수 있습니다.

    이 책은 자연어 처리와 딥 러닝 입문자를 대상으로 하지만,
    파이썬은 이미 어느정도 안다고 가정합니다.

    이 책은 텐서플로우의 케라스 API를 주로 사용합니다. (무슨 내용인지 몰라도 이 책으로 시작 가능!)


    2022-01-01일자로 깃허브 저장소를 생성하였습니다.
    각 py 파일에 Colab 링크가 기재되어져 있으니 해당 링크를 통해 Colab 실습도 가능합니다.

    github : https://github.com/ukairia777/tensorflow-nlp-tutorial


    댓글 또는 피드백(질문/지적) 또는 이메일 환영합니다.

    각 내용에 대한 페이지마다 댓글 버튼 옆을 보면 피드백 버튼이 있습니다.
    위키독스 회원가입이 번거로우시다면 피드백 버튼으로 의견주셔도 댓글로 답변드립니다.

    감사합니다.


    동일 저자가 만든 PyTorch 학습 자료 : https://wikidocs.net/book/2788

    공부를 위해 모든 모델 아키텍처를 직접 파워포인트로 그렸으며 아래 링크에서 공유합니다.
    이 책의 이미지 자료 공유 (영리적 목적 제외 사용 가능) : https://www.slideshare.net/wonjoonyoo/ss-188835227

    최근 댓글 (20) 최근 수정글 (10) RSS
    00. 글쓴이 소개 및 e-mail - 유원준, 안상준, 2024년 7월 6일 11:09 오후
    안녕하세요. 출처만 남기신다면 블로그나 깃허브에 요약본을 올리셔도 괜찮습니다. 감사합니다.
    14-01 시퀀스-투-시퀀스(Sequence-to-Sequence, seq2seq) - 유원준, 안상준, 2024년 7월 6일 11:09 오후
    의견주셔서 감사합니다. 추후 코드 리팩토링 기회가 있다면 참고하겠습니다.
    09-12 문서 임베딩 : 워드 임베딩의 평균(Average Word Embedding) - 유원준, 안상준, 2024년 7월 6일 11:08 오후
    안녕하세요. 말씀해주신 오타 수정하였습니다. 알려주셔서 감사합니다.
    00. 글쓴이 소개 및 e-mail - 마법의성, 2024년 7월 6일 10:25 오후
    학원에서 NLP관련 수업을 듣고 있는데 여기 자료를 보면서 많이 도움이 되고 있습니다. 워드로 내용 정리 중인데 해당 내용 요약 정리한 내용을 블로그나 깃허브에 올려도 되는지 문의 드립니다. (안 됨다면 블로그에 비밀글로 올려도 되는지도 문의 드립니다.) 감사합니다.
    00. 비공개 콘텐츠 & E-book 구매 안내 - 유원준, 안상준, 2024년 7월 6일 1:33 오전
    안녕하세요. 아쉽지만 종이책 출판은 예정이 없습니다. 온라인에서 지속적으로 업데이트를 할 예정으로 책이 업데이트 되었을 때 요청주시면 재발신 가능합니다.
    00. 비공개 콘텐츠 & E-book 구매 안내 - 강성환, 2024년 7월 5일 10:19 오전
    안녕하세요! 자료 너무 내용이 좋아서 잘 보고, 질문 답변도 친절히 잘해주시고 하여 책 구매를 고려 중입니다. 구매 시 메일로 pdf를 받게 되어 있던데, 책이 업데이트 되면 다시 구매하지 않아도 최신 버전을 메일로 보내주시는 지 궁금합니다! 그리고 종이책으로 출판은 진행하지 않으시는 …
    09-12 문서 임베딩 : 워드 임베딩의 평균(Average Word Embedding) - rlagusdn0828@naver.com, 2024년 7월 4일 8:40 오후
    첫 번째 리뷰와 레이블 쪽에 y_train 앞에 콤마가 없습니다.
    14-01 시퀀스-투-시퀀스(Sequence-to-Sequence, seq2seq) - 배영호, 2024년 6월 28일 2:37 오후
    decoder_target을 만드는 코드는 현재 이런데 decoder_target = [] for line in lines.tar: timestep = 0 encoded_line = [] for char in line: if timestep > 0: encoded_line.append(tar_to_index[char]) timestep = timestep + 1 decoder_target.append(encoded_line) 다음과 같이 바꾸셔도 될 것 같습니다. decoder_target …
    08-01 순환 신경망(Recurrent Neural Network, RNN) - 강재욱, 2024년 6월 20일 6:15 오후
    다른 장 (https://wikidocs.net/33930) 과 마찬가지로 순방향, 역방향이라고 수정하면 될 것 같습니다.
    09-05) 글로브(GloVe) - 유원준, 안상준, 2024년 6월 20일 6:03 오후
    글로브가 실행되지 않는다는 피드백을 남겨주셨는데, 글로브 패키지는 현재 관리되고 있지 않아서 파이썬 3.8 이상 버전에서는 실행되지 않고 있습니다.
    08-01 순환 신경망(Recurrent Neural Network, RNN) - 유원준, 안상준, 2024년 6월 20일 6:00 오후
    네, 의견 주신 부분 참고하여 추후 앞, 뒤 대신에 더 좋은 표현으로 찾아보겠습니다. 감사합니다.
    08-01 순환 신경망(Recurrent Neural Network, RNN) - john smith, 2024년 6월 20일 5:50 오후
    forward states, backward states가 각각 앞 시점 은닉 상태(과거), 뒤 시점 은닉 상태(미래)를 나타내는 게 아니라 은닉 상태가 전달 되는 방향을 기준으로 나눈 거 같습니다. forward는 과거에서 미래로 상태가 전달되니 forward이고 backward는 미래에서 과거로 전달되니 backward로 표현한 거 같습니다. 즉 …
    02-10 한국어 전처리 패키지(Text Preprocessing Tools for Korean Text) - 유원준, 안상준, 2024년 6월 8일 1:21 오후
    윈도우에서는 그런 것 같습니다.
    02-10 한국어 전처리 패키지(Text Preprocessing Tools for Korean Text) - 도동콩, 2024년 4월 11일 7:01 오후
    안녕하세요 만들어 주신 교재 덕분에 쉽게 자연어 처리에 입문하여 공부하고 있습니다. 다름이 아니라 교재에 있는 PyKoSpacing 다운로드 코드를 실행했는데 tensorflow 버전이 현재 2.16.1로 호환성 문제로 다운로드가 되지 않는것 같네요 호환이 되는것으로 생각되는 2.11.1 버전은 지금 다운받을 수 없는것으로 보이는데 PyKoSpacing …
    15-01 어텐션 메커니즘 (Attention Mechanism) - 유원준, 안상준, 2024년 4월 9일 6:03 오후
    attention value a_t(초록색 세모)는 스칼라가 아니기는 합니다. 왜냐면 h1과 소프트맥스 함수를 통과한 attention score를 곱해도 그대로 벡터인거고, h2, h3, h4 모두 전부 각각의 attention score를 곱해서도 여전히 벡터가 됩니다. 그러니까 h1, h2, h3, h4에 각각의 attention score를 곱해도 여전히 벡터입니다. …
    09-05) 글로브(GloVe) - 김준, 2024년 3월 27일 12:45 오후
    안녕하세요. 좋은 자료 감사합니다. 가중치 함수에 대해 문의가 있습니다. 가중치 함수를 사용하지 않는다면 f(X_ij) = 1이라는 가중치 함수를 사용하는 것과 같다고 할 수 있습니다. 따라서 논문에서 제안한 가중치 함수의 그래프를 보면 x_max보다 높을 때의 가중치는 그대로 두고, x_max보다 낮을 때의 …
    15-01 어텐션 메커니즘 (Attention Mechanism) - Sangmoon Lee, 2024년 3월 22일 2:52 오후
    설명이 너무 좋습니다. 음향 및 신호처리 전공자로서 최근 AI로 넘어가려고 서서히 발동걸고 있는데, Attention 구조에 대한 이해에 큰 도움이 되었습니다. 감사합니다.
    16-02 트랜스포머를 이용한 한국어 챗봇(Transformer Chatbot Tutorial) - 김승연, 2024년 3월 12일 3:56 오후
    안녕하세요 선생님! 좋은 자료 남겨주셔서 감사합니다. 다름이 아니라 모델을 저장한 후 로드하려고 하면 Traceback (most recent call last): File "D:\workspace_python\HELLO_AI2\chatbot_test\model_load_test.py", line 470, in <module> loaded_model = load_model("chatty.h5",custom_objects={'PositionalEncoding':PositionalEncoding}) File "C:\Anaconda3\lib\site-packages\keras\utils\traceback_utils.py", line 70, in error_handler raise e.with_traceback(filtered_tb) from None File "C:\Anaconda3\lib\site-packages\keras\engine\base_layer.py", line …
    16-01 트랜스포머(Transformer) - 오수원, 2024년 2월 1일 12:18 오전
    빠른 답변 감사합니다. 댓글 남기고 나서 다시 정독해보니 inputs가 들어가는게 맞더라구요.
    16-01 트랜스포머(Transformer) - 유원준, 안상준, 2024년 1월 31일 5:24 오후
    13번 코드를 보시면 룩어헤드마스크는 내부적으로 패딩마스크를 포함하고 있습니다. 따라서 디코더에서 셀프어텐션을 사용할 때는 디코더의 룩어헤드 마스크를 사용하게 됩니다. 그리고 15번 코드를 보시면 디코더에서 패딩마스크를 사용할 때는 셀프 어텐션이 아니라 인코더-디코더 어텐션을 수행할 때 입니다. 14번 설명을 참고하시면 인코더-디코더 어텐션을 수행하게 …
    22-02 KoGPT를 이용한 문장 생성 - 2024년 7월 13일 10:01 오전
    * 모든 GPT 실습은 Colab에서 진행한다고 가정하고 설명합니다. 사전 학습된 한국어 GPT-2를 이용하여 다음 문장 예측을 실습해봅시다.…
    09-12 문서 임베딩 : 워드 임베딩의 평균(Average Word Embedding) - 2024년 7월 6일 1:35 오전
    앞서 특정 문장 내의 단어들의 임베딩 벡터들의 평균이 그 문장의 벡터가 될 수 있음을 설명했습니다. 이번에는 임베딩이 잘 된 상황에서는 단어 …
    09-05) 글로브(GloVe) - 2024년 6월 20일 6:03 오후
    글로브(Global Vectors for Word Representation, GloVe)는 카운트 기반과 예측 기반을 모두 사용하는 방법론으…
    00. ★★ 입문자를 위한 조언 (Q&A) - 2024년 5월 30일 12:31 오후
    이메일로 자주오는 질문 답변 모음입니다. 저자들의 현업 경험을 바탕으로 개인적은 의견을 담았습니다. ### Q. 저는 파이썬 입문자입니다. 파…
    09-13 Doc2Vec으로 공시 사업보고서 유사도 계산하기 - 2024년 3월 7일 9:46 오후
    Word2Vec은 단어를 임베딩하는 워드 임베딩 알고리즘이었습니다. Doc2Vec은 Word2Vec을 변형하여 문서의 임베딩을 얻을 수 있도록…
    02-10 한국어 전처리 패키지(Text Preprocessing Tools for Korean Text) - 2024년 3월 3일 3:25 오후
    유용한 한국어 전처리 패키지를 정리해봅시다. 앞서 소개한 형태소와 문장 토크나이징 도구들인 KoNLPy와 KSS(Korean Sentence …
    09-08 사전 훈련된 워드 임베딩(Pre-trained Word Embedding) - 2024년 2월 23일 10:19 오후
    이번에는 **케라스의 임베딩 층(embedding layer)** 과 **사전 훈련된 워드 임베딩(pre-trained word embeddi…
    09-11 문서 벡터를 이용한 추천 시스템(Recommendation System using Document Embedding) - 2024년 2월 23일 5:53 오후
    문서들을 고정된 길이의 벡터로 변환한다면 벡터 간 비교로 문서들을 서로 비교할 수 있습니다. 각 문서를 **문서 벡터로 변환하는 방법은** 이…
    00. 비공개 콘텐츠 & E-book 구매 안내 - 2024년 1월 8일 3:29 오후
    이 책의 대부분의 내용은 이미 웹 사이트에 공개가 된 상태입니다. 하지만 일부 심화 내용은 유료 교재인 E-book(구매 시 PDF 제공)에만…
    01-05 머신 러닝 워크플로우(Machine Learning Workflow) - 2023년 12월 29일 12:38 오전
    이번 챕터에서는 데이터 사이언스(Data Science) 또는 머신 러닝(Machine Learning) 과정에서 거치는 전반적인 과정에 대해…
    • 다음글 : 00. ★★ 입문자를 위한 조언 (Q&A)
    TOP

    책갈피

    이 페이지에 대한 피드백을 남겨주세요

    ※ 피드백은 저자에게 e-메일로 전달됩니다.