728x90
반응형

nlp 10

[오류Error] Resource punkt_tab not found. Please use the NLTK Downloader to obtain the resource:

텍스트 전처리 공부하는 중에 로컬에서 토크나이저를 수행하려고 하니 에러가 발생했다.sent_text = sent_tokenize(content_text){ "name": "LookupError", "message": "********************************************************************** Resource punkt_tab not found. Please use the NLTK Downloader to obtain the resource: >>> import nltk >>> nltk.download('punkt_tab') For more information see: https://www.nltk.org/data.html Attempte..

오류Error 2024.11.22

[pytorch] DTM과 TF-IDF | 텍스트 전처리 | 자연어 처리

DTM (Document-Term Matrix)이란?DTM은 여러 문서에서 단어의 빈도를 기록한 행렬(matrix)입니다. BoW와 유사하지만, 여러 문서 간의 단어 빈도수를 한꺼번에 분석할 수 있도록 확장된 형태입니다.- 행(Row): 문서 (Document)- 열(Column): 단어 (Term)- 값(Value): 특정 문서에 특정 단어가 등장한 빈도수DTM은 m x n 형태의 행렬로, `m`은 문서의 개수, `n`은 고유 단어의 개수를 의미합니다.  DTM의 예시다음과 같은 예제 문서들을 통해 DTM을 만들어 보겠습니다.문서 1: "나는 오늘 밥을 먹었다"문서 2: "밥을 먹고 운동을 했다"문서 3: "오늘 운동을 마치고 밥을 먹었다"1. 토큰화(Tokenization) 및 어휘 사전 생성  모든..

pytorch 2024.11.22

[pytorch] Bag of Words (BOW) | CountVectorizer

Bag of Words란?Bag of Words의 개념과 활용Bag of Words (BoW)는 문서를 단어의 빈도수로 표현하는 방법으로, 단어의 순서를 무시하고 각 단어가 문서에 얼마나 자주 등장했는지를 수치화하는 기법입니다. BoW는 단순하지만, 자연어 처리에서 기본적인 텍스트 표현 방법으로 널리 사용되며, 특히 문서 분류, 유사도 측정, 추천 시스템 등에서 유용합니다.Bag of Words의 특징BoW는 텍스트를 단어의 출현 빈도 기반으로 표현하기 때문에 두 가지 주요 특징을 가지고 있습니다. 1. 단어 순서 무시: BoW에서는 문장의 구조나 단어 순서를 전혀 고려하지 않습니다. 단어의 순서가 바뀌어도 단어 빈도만 같다면 BoW 벡터는 동일합니다.2. 단어 빈도 중심: BoW 벡터는 단어가 등장한 ..

pytorch 2024.11.19

[pytorch] 정수 인코딩(Integer Encoding) | Counter 와 FreqDist를 활용한 정수 인코딩 코드

정수 인코딩(Integer Encoding)은 자연어 처리에서 단어에 정수 인덱스를 할당하는 중요한 과정입니다.이 과정은 텍스트 데이터를 컴퓨터가 이해할 수 있도록 수치로 변환하며, 이후 원-핫 인코딩이나 워드 임베딩과 같은 심화된 작업의 기초가 됩니다. 정수 인코딩이란?정수 인코딩은 텍스트의 각 단어에 고유한 숫자를 할당하는 방식입니다. 가장 일반적인 방법은 텍스트에서 자주 등장하는 단어일수록 낮은 숫자를 부여하는 방식으로, 먼저 텍스트 데이터를 분석하여 등장 빈도가 높은 순서대로 단어 집합(vocabulary)을 생성합니다.이렇게 만들어진 단어 집합에서 가장 많이 사용되는 단어에는 낮은 숫자가 할당되고, 빈도가 낮은 단어일수록 높은 숫자가 할당됩니다. 예를 들어, 특정 텍스트 데이터에서 단어의 빈도를..

pytorch 2024.11.14

[pytorch] 어간 추출(stemming)과 표제어 추출 (Lemmatization)

자연어 처리(NLP)에서 어간 추출(Stemming)과 표제어 추출(Lemmatization)은 텍스트 데이터를 정제하고 분석하기 위한 전처리 과정입니다.이 두 기법은 단어의 형태를 변환하여 텍스트의 차원 수를 줄이고, 모델의 학습 성능을 향상하는 데 도움을 줍니다. 하지만 어간 추출과 표제어 추출은 각기 다른 방법론과 목적을 가지고 있습니다.어간 추출은 단어의 접사를 제거하여 기본 형태인 어간을 추출하는 기법으로, 규칙 기반 알고리즘을 사용하여 처리 속도가 빠르지만 의미의 정확성을 보장하지는 않습니다.반면, 표제어 추출은 단어의 문법적 맥락과 품사를 고려하여 사전에 나오는 기본 형태를 찾는 과정을 포함합니다. 이 과정은 보다 정교하며, 단어의 의미적 일관성을 유지합니다.이번 포스팅에서는 어간 추출과 표..

pytorch 2024.11.12

[pytorch] 불용어(stopwords)란? | 한국어 불용어 제거 | 영어 불용어 제거

불용어(stopwords)란?텍스트에서 의미 전달에 크게 기여하지 않는 단어들을 의미합니다.예를 들어, 한국어에서는 '그리고', '또는', '에서', '하지만' 같은 단어들이 불용어에 해당할 수 있으며, 영어에서는 'the', 'is', 'in', 'and' 같은 단어들이 있습니다.불용어 제거의 목적은 텍스트 데이터에서 의미를 효과적으로 분석하기 위해 불필요한 정보를 제거하는 것입니다. 불용어들은 문장에서 자주 등장하지만, 특정 주제나 의미를 분석하는 데 있어 중요한 정보를 담고 있지 않기 때문에, 이를 제거함으로써 모델의 성능을 개선할 수 있습니다. 불용어를 제거하면 데이터의 크기가 줄어들고, 모델이 중요한 특징에 집중하도록 돕는 효과가 있습니다.불용어 제거 방법은 주로 미리 정의된 불용어 목록을 사용..

pytorch 2024.11.04

[pytorch] 토큰화 | 토크나이저(Tokenization)

자연어 처리(NLP)의 세계에서 '토큰화'는 텍스트 데이터를 컴퓨터가 이해할 수 있는 형태로 변환하기 위한 과정 중 하나로, 자연어를 잘게 쪼개어 분석 가능한 단위로 만드는 작업을 말합니다. 이 글에서는 토큰화의 정의와 유형, 그리고 사용 사례에 대해 자세히 살펴보겠습니다.토큰화란 무엇인가?토큰화(Tokenization)는 문장을 의미 있는 단위인 '토큰'으로 분리하는 과정을 의미합니다. 여기서 토큰은 단어, 어절, 혹은 심지어 문자일 수도 있습니다. 예를 들어, "오늘 날씨가 좋다"라는 문장은 토큰화 과정을 통해 ["오늘", "날씨가", "좋다"]와 같은 단어 단위로 나눌 수 있습니다. 컴퓨터는 이러한 토큰들을 통해 자연어 텍스트를 분석하고 이해할 수 있습니다.토큰화의 유형토큰화는 크게 두 가지 주요 ..

pytorch 2024.10.31

[밑바닥 DL] 4.word2vec와 추론 기반 기법 (feat.CBOW와 Skip-gram 모델로 단어 학습)

단어의 의미를 이해하고 처리하는 방법으로는 세 가지가 있다고 앞에서 설명했습니다.1. 시소러스를 활용한 기법2. 통계 기반 기법 시소러스와 통계 기반 기법(feat.동시 발생행렬, 코사인 유사도)자연어 처리란? 자연어 처리(Natural Language Processing, NLP)는 인간의 언어를 컴퓨터가 처리하도록 하는 인공지능의 한 분야입니다. NLP의 목표는 인간의 언어를 이해하고 생성할 수 있는 시스템을 개resultofeffort.tistory.com  PPMI의 한계와 차원 감소(feat.SVD)1.PPMI의 한계 PPMI 에는 몇 가지 제약이 존재합니다. 가장 중요한 문제 중 하나는 말뭉치 내 어휘의 수가 증가함에 따라, 단어 벡터의 차원 또한 비례하여 증가한다는 것입니다. 예를 들어, 어..

밑바닥 DL 2024.05.01

[오류Error] exception: install mecab in order to use it: http://konlpy.org/en/latest/install/

코랩으로 Mecab()을 돌려야 하는데, 자꾸 에러가 발생해서 많이 헤매다가 해결했다. 나중에 또 까먹을 것 같아서 기록하기로..! 이 포스트에서 사용된 MeCab-ko (한국어 형태소 분석기) 설치 방법은 SOMJANG님의 GitHub 저장소 'Mecab-ko-for-Google-Colab'을 참조하여 진행했습니다. 해당 저장소에는 Google Colab 환경에서 MeCab-ko를 쉽게 설치할 수 있도록 하는 스크립트가 제공됩니다. 자세한 설치 방법과 사용법은 아래 깃허브에서 확인할 수 있습니다. GitHub - SOMJANG/Mecab-ko-for-Google-Colab: Use Mecab Library(NLP Library) in Google Colab Use Mecab Library(NLP Lib..

오류Error 2024.02.08

[Deep learning] 정제와 정규화 (cleaning and normalization)

코퍼스에서 용도에 맞게 토큰을 분류하는 작업을 토큰화라고 하며, 토큰화 작업 하기 전 후에 용도에 맞게 데이터를 정제 및 정규화해야 한다. 정제(cleaning) : 노이즈 데이터 제거 정규화(normalization) : 표현 방법이 다른 단어들을 통합시켜서 같은 단어로 만듦 정제(cleaning) 작업은 토큰화 작업에 방해가 되는 부분들을 배제시키고 토큰화 작업을 수행하기 위해서 토큰화 작업 전에 이루어지기도 하지만, 토큰화 작업 이후에도 여전히 남아있는 노이즈들을 제거하기 위해 지속적으로 이루어지기도 한다. 사실 완벽한 정제 작업은 어려운 편이라서, 대부분의 경우 이 정도면 됐다.라는 일종의 합의점을 찾기도 한다. 1. 표기가 다른 단어들의 통합 같은 의미를 갖고있음에도, 표기가 다른 단어들을 하나..

Deep learning 2023.03.03
728x90
반응형