Top 43 카테고리 분류 알고리즘 Best 18 Answer

You are looking for information, articles, knowledge about the topic nail salons open on sunday near me 카테고리 분류 알고리즘 on Google, you do not find the information you need! Here are the best content compiled and compiled by the toplist.cazzette.com team, along with other related topics such as: 카테고리 분류 알고리즘 쇼핑몰 상품 카테고리 분류, 카테고리 분류체계, 자연어 카테고리 분류, 카테고리 분류 모델, 카테고리 분류 AI, 카테고리 분류 기준, 상품 카테고리 분류 API, 파이썬 상품 카테고리 분류


영상 26개, 구독자 10만! 구독자 오르는 원리가 있어요 – 유튜브 알고리즘
영상 26개, 구독자 10만! 구독자 오르는 원리가 있어요 – 유튜브 알고리즘


카테고리 분류 알고리즘

  • Article author: medium.com
  • Reviews from users: 43223 ⭐ Ratings
  • Top rated: 3.1 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 카테고리 분류 알고리즘 제품을 분류할 수 있는 카테고리는 매우 다양하하면서도(아마존에는 대략 … 돌아가기 때문에, 제대로 돌아가는 알고리즘이라고 볼 수 있습니다. …
  • Most searched keywords: Whether you are looking for 카테고리 분류 알고리즘 제품을 분류할 수 있는 카테고리는 매우 다양하하면서도(아마존에는 대략 … 돌아가기 때문에, 제대로 돌아가는 알고리즘이라고 볼 수 있습니다.
  • Table of Contents:
카테고리 분류 알고리즘
카테고리 분류 알고리즘

Read More

국민청원 카테고리 분류하기 · GitBook

  • Article author: dataitgirls2.github.io
  • Reviews from users: 34230 ⭐ Ratings
  • Top rated: 4.6 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 국민청원 카테고리 분류하기 · GitBook 분류 텍스트 데이터를 바탕으로 카테고리를 예측함 … (선택) 랜덤 포레스트 외의 알고리즘 사용해 보기(예. xgboost) xgb 사용 시 colab에서 설치 후 사용해야 … …
  • Most searched keywords: Whether you are looking for 국민청원 카테고리 분류하기 · GitBook 분류 텍스트 데이터를 바탕으로 카테고리를 예측함 … (선택) 랜덤 포레스트 외의 알고리즘 사용해 보기(예. xgboost) xgb 사용 시 colab에서 설치 후 사용해야 …
  • Table of Contents:

Mission! 국민청원 데이터 카테고리 분류하기

실습 노트 코드 요약

국민청원 카테고리 분류하기 · GitBook
국민청원 카테고리 분류하기 · GitBook

Read More

[논문]딥러닝을 이용한 형태소 분석 기반의 상품 카테고리 분류 기법

  • Article author: scienceon.kisti.re.kr
  • Reviews from users: 14465 ⭐ Ratings
  • Top rated: 4.8 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about [논문]딥러닝을 이용한 형태소 분석 기반의 상품 카테고리 분류 기법 딥러닝을 이용한 형태소 분석 기반의 상품 카테고리 분류 기법 원문보기. Product category ification based on morphological analysis using deep learning. …
  • Most searched keywords: Whether you are looking for [논문]딥러닝을 이용한 형태소 분석 기반의 상품 카테고리 분류 기법 딥러닝을 이용한 형태소 분석 기반의 상품 카테고리 분류 기법 원문보기. Product category ification based on morphological analysis using deep learning. 컴퓨터공학;온라인에서 판매되는 상품은 점점 다양해지고 많은 상품들이 신규로 등록되며 소비되고 있다. 쇼핑몰에 상품 등록은 판매자에 의해서 이루어지며 대부분 텍스트 정보로 이루어져 있다. 이 중에서 카테고리는 시스템에 의해 상품의 메타 정보로부터 추론 될 수 있는 부분이다. 이번 연구에서는 상품명으로부터 상품 카테고리를 매칭시켜주는 방법에 대해 연구하였다. 종합쇼핑몰에 등록되는 상품명의 특성상 상품 고유명 뿐만 아니라 다양한 정보를 포함하게 되는데, 이는 자연어에 가까울 정도로 많은 단어들과 긴 길이를 갖는다. 이러한 특성을 수용할 수 있도록 딥러닝 중 자연어 처리에 많이 사용되는 RNN 모델을 제안한다. 상품명으로 카테고리를 추론하는 과정은 텍스트 분류 문제로 재정의 될 수 있는데, 텍스트 분류에서 보편적으로 사용되는 전처리 과정에서 일반적인 구두점 제거와 상품의 카테고리와는 직접적인 연관이 없는 배송정보나 프로모션 여부 등의 텍스트를 제거하는 방법과 함께 고도화된 입력 값 정제를 위하여 형태소 분석을 통한 명사 축출 방법을 제안한다. 사용된 딥러닝 프레임 워크는 google의 tensorflow 이며, python 언어를 사용하였다. tensorflow 중 RNN으로 구성된 encoder 와 decoder를 가진 sequence to sequnce 모델을 사용하였다. 3개의 1차 카테고리를 성능평가의 지표로 활용하였다. 고도화된 입력 값 정제를 위한 형태소 분석 적용 여부를 각각의 1차 카테고리 상품에 적용하여 비교하였을 때 정확도가 평균 6.75% 증가하였고, 3개의 1차 카테고리를 하나의 모집단으로 한 실험의 결과에서는 정확도가 8.59% 증가하였다. 제안된 방법 중 형태소 분석을 통한 고도화된 입력 데이터 정제의 여부에 따라 상품명으로 상품 카테고리 분류 정확도를 비교하였을 때 개선됨을 실험적으로 증명할 수 있었다.  
  • Table of Contents:

딥러닝을 이용한 형태소 분석 기반의 상품 카테고리 분류 기법

원문보기

Product category classification based on morphological analysis using deep learning

상세정보조회

원문조회

[논문]딥러닝을 이용한 형태소 분석 기반의 상품 카테고리 분류 기법
[논문]딥러닝을 이용한 형태소 분석 기반의 상품 카테고리 분류 기법

Read More

NAVER D2

  • Article author: d2.naver.com
  • Reviews from users: 37224 ⭐ Ratings
  • Top rated: 4.9 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about NAVER D2 하지만 카테고리 매칭을 전형적인 딥러닝의 분류(ification) … 이미지뿐만 아니라 NLP에서도 CNN 알고리즘을 적용하려는 많은 노력이 있었다. …
  • Most searched keywords: Whether you are looking for NAVER D2 하지만 카테고리 매칭을 전형적인 딥러닝의 분류(ification) … 이미지뿐만 아니라 NLP에서도 CNN 알고리즘을 적용하려는 많은 노력이 있었다.
  • Table of Contents:
See also  Top 30 편도염 먹으면 안되는 음식 Best 107 Answer
NAVER D2
NAVER D2

Read More

[AI] Classification (분류) 개념과 알고리즘 종류

  • Article author: bangu4.tistory.com
  • Reviews from users: 33156 ⭐ Ratings
  • Top rated: 4.7 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about [AI] Classification (분류) 개념과 알고리즘 종류 1. Classification(분류). 말 그대로 분류를 뜻하는 Classification은 Supervised learning 지도학습의 일종으로 기존에 존재하는 데이터의 Category 관계 … …
  • Most searched keywords: Whether you are looking for [AI] Classification (분류) 개념과 알고리즘 종류 1. Classification(분류). 말 그대로 분류를 뜻하는 Classification은 Supervised learning 지도학습의 일종으로 기존에 존재하는 데이터의 Category 관계 … 1. Classification(분류) 말 그대로 분류를 뜻하는 Classification은 Supervised learning 지도학습의 일종으로 기존에 존재하는 데이터의 Category 관계를 파악하고, 새롭게 관측된 데이터의 Category를 스스로..
  • Table of Contents:

태그

1 Classification(분류)

2 Classification(분류) 알고리즘 종류

티스토리툴바

[AI] Classification (분류) 개념과 알고리즘 종류
[AI] Classification (분류) 개념과 알고리즘 종류

Read More

자연어 처리(문서 카테고리 분류)의 원리

  • Article author: hyjykelly.tistory.com
  • Reviews from users: 7457 ⭐ Ratings
  • Top rated: 4.9 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 자연어 처리(문서 카테고리 분류)의 원리 이번 포스팅에서는 문서자동분류, 신문기사 클러스터링 같이 인공지능으로 자연어로 이루어진 문서의 카테고리를 분류하는 작업의 원리에 대해서 … …
  • Most searched keywords: Whether you are looking for 자연어 처리(문서 카테고리 분류)의 원리 이번 포스팅에서는 문서자동분류, 신문기사 클러스터링 같이 인공지능으로 자연어로 이루어진 문서의 카테고리를 분류하는 작업의 원리에 대해서 … 자연어란 인간의 언어를 의미한다. 기계어는 컴퓨터의 언어를 의미한다. 자연어 처리란 인간의 언어 현상을 컴퓨터와 같은 기계를 이용해서 모사할 수 있도록 연구하고, 이를 구현하는 인공지능의 한 분야이다…
  • Table of Contents:

자연어 처리(문서 카테고리 분류)의 원리

티스토리툴바

자연어 처리(문서 카테고리 분류)의 원리
자연어 처리(문서 카테고리 분류)의 원리

Read More

뉴스 헤드라인 기반 카테고리 분류하기

  • Article author: inuplace.tistory.com
  • Reviews from users: 5891 ⭐ Ratings
  • Top rated: 3.4 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 뉴스 헤드라인 기반 카테고리 분류하기 데이터 전처리 import pandas as pd # json 읽어오기 news_data = pd.read_json(‘../data/News_Category_Dataset_v2.json’, lines=True) news_data … …
  • Most searched keywords: Whether you are looking for 뉴스 헤드라인 기반 카테고리 분류하기 데이터 전처리 import pandas as pd # json 읽어오기 news_data = pd.read_json(‘../data/News_Category_Dataset_v2.json’, lines=True) news_data … 데이터 전처리 import pandas as pd # json 읽어오기 news_data = pd.read_json(‘../data/News_Category_Dataset_v2.json’, lines=True) news_data = news_data.loc[:, [“category”, “headline”]] # 카테고리 정수..iOS 개발자의 꾸준한 성장기록
  • Table of Contents:

뉴스 헤드라인 기반 카테고리 분류하기

티스토리툴바

뉴스 헤드라인 기반 카테고리 분류하기
뉴스 헤드라인 기반 카테고리 분류하기

Read More

[인공지능] 로이터 뉴스 카테고리 분류 과제

  • Article author: dev-dain.tistory.com
  • Reviews from users: 5197 ⭐ Ratings
  • Top rated: 5.0 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about [인공지능] 로이터 뉴스 카테고리 분류 과제 작년 2학기에 들었던 <인공지능> 강의 기말 과제는 로이터 뉴스 데이터셋으로 카테고리를 분류하는 과제였다. 그 전에는 Cifar-10 Fashion 데이터셋을 … …
  • Most searched keywords: Whether you are looking for [인공지능] 로이터 뉴스 카테고리 분류 과제 작년 2학기에 들었던 <인공지능> 강의 기말 과제는 로이터 뉴스 데이터셋으로 카테고리를 분류하는 과제였다. 그 전에는 Cifar-10 Fashion 데이터셋을 … 작년 2학기에 들었던 <인공지능> 강의 기말 과제는 로이터 뉴스 데이터셋으로 카테고리를 분류하는 과제였다. 그 전에는 Cifar-10 Fashion 데이터셋을 CNN으로 분류하는 과제를 했는데, 결과가 그렇게 좋지는 않았..
  • Table of Contents:

먹고 기도하고 코딩하라

[인공지능] 로이터 뉴스 카테고리 분류 과제 본문

티스토리툴바

[인공지능] 로이터 뉴스 카테고리 분류 과제
[인공지능] 로이터 뉴스 카테고리 분류 과제

Read More

4-3 파이썬 팀프로젝트 CNN 카테고리 분류 모델 학습 및 평가 :: ✔굿모닝 IT ✔

  • Article author: 0goodmorning.tistory.com
  • Reviews from users: 15254 ⭐ Ratings
  • Top rated: 4.2 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 4-3 파이썬 팀프로젝트 CNN 카테고리 분류 모델 학습 및 평가 :: ✔굿모닝 IT ✔ 각 사이트마다 카테고리 분류가 다르게 되어있어서 소비자가 불편할 … 5-1 파이썬 팀프로젝트 – 추천 시스템과 편향 방지 (유튜브의 알고리즘?) …
  • Most searched keywords: Whether you are looking for 4-3 파이썬 팀프로젝트 CNN 카테고리 분류 모델 학습 및 평가 :: ✔굿모닝 IT ✔ 각 사이트마다 카테고리 분류가 다르게 되어있어서 소비자가 불편할 … 5-1 파이썬 팀프로젝트 – 추천 시스템과 편향 방지 (유튜브의 알고리즘?) 네 번째 프로젝트 1. 간단한 intro 2. 웹 크롤링 및 전처리 3. 모델 학습 및 평가 프로젝트를 하면서 느낀 보완사항은 : -데이터의 길이가 너무 짧으면 단어를 추출하는데 한계가 있고, 과적합이 발생한다. -유의..
  • Table of Contents:
4-3 파이썬 팀프로젝트 CNN 카테고리 분류 모델 학습 및 평가 :: ✔굿모닝  IT ✔
4-3 파이썬 팀프로젝트 CNN 카테고리 분류 모델 학습 및 평가 :: ✔굿모닝 IT ✔

Read More


See more articles in the same category here: https://toplist.cazzette.com/blog/.

국민청원 카테고리 분류하기 · GitBook

국민청원 카테고리 분류하기

Mission! 국민청원 데이터 카테고리 분류하기

국민청원 등록 시 분류를 함께 등록함. 분류 텍스트 데이터를 바탕으로 카테고리를 예측함

텍스트 데이터 전처리 전략

텍스트 데이터 전처리 하기. 어떤 텍스트를 바꿔줄 것인가! ‘안녕하세요’, ‘안녕하십니까’ → ‘안녕’과 포함된 것은 빼고 필요한 것만 넣는 것. 일종의 불용어 제거. 학습에 도움되지 않는 것은 제거 학습세트와 테스트세트 다시 만들기(단 학습세트와 테스트세트의 비율은 7:3으로 유지합니다.) 텍스트 데이터 벡터화 할 때 파라메터 조정하기 parameter vectorizing: 벡터화 옵션을 바꾸는 것 랜덤 포레스트의 파라미터 조정하기 (선택) 랜덤 포레스트 외의 알고리즘 사용해 보기(예. xgboost) xgb 사용 시 colab에서 설치 후 사용해야 합니다.

import xgboost as xgb # XGBoost Parameters http://xgboost.readthedocs.io/en/latest/parameter.html model = xgb.XGBClassifier(n_estimators=10, max_depth=6, learning_rate=1.0, max_delta_step=1, eta = 1, nthread=-1, seed=2018) %time score = cross_val_score(model, train_feature_tfidf, y_label, scoring=”accuracy”).mean() score = -1.0 * score print(round(np.mean(score)*100,2)) model.fit(train_feature_tfidf, y_label) y_pred = model.predict(test_feature_tfidf) print(y_pred.shape) df_test[‘category_pred’] = y_pred y_pred[:5]

불용어 처리 예제 from sklearn.feature_extraction.text import CountVectorizer stops = [‘and’, ‘article’, ‘html’, ‘수’, ‘현’, ‘있는’, ‘있습니다’, ‘그’, ‘년도’, ‘합니다’, ‘하는’, ‘및’, ‘제’, ‘할’, ‘하고’, ‘더’, ‘대한’, ‘한’, ‘그리고’, ‘월’, ‘저는’, ‘없는’, ‘입니다’, ‘등’, ‘일’, ‘많은’, ‘이런’, ‘것은’, ‘왜’,’같은’, ‘같습니다’, ‘없습니다’, ‘위해’, ‘한다’] vectorizer = CountVectorizer(analyzer = ‘word’, # 캐릭터 단위로 벡터화 할 수도 있습니다. tokenizer = None, # 토크나이저를 따로 지정해 줄 수도 있습니다. preprocessor = None, # 전처리 도구 stop_words = stops, # 불용어 nltk등의 도구를 사용할 수도 있습니다. min_df = 2, # 토큰이 나타날 최소 문서 개수로 오타나 자주 나오지 않는 특수한 전문용어 제거에 좋다. ngram_range=(1, 3), # BOW의 단위를 1~3개로 지정합니다. max_features = 2000 # 만들 피처의 수, 단어의 수가 된다. ) vectorizer

특정 데이터에서는 잘 맞는데, 다른 데이터에서는 안맞을 수 있음. 인권 성평등과 반려동물에 대해서는 다를 것이기 때문 –> overfitting

현업에서 실제로 분류작업을 많이 함. 사람이 하나하나 하기 힘든 것들 e.g., 데이팅 앱 사진 분류 작업. 사람인가 아닌가, 여자인가 남자인가 등등. cs문의 들어왔을 때 문의의 카테고리 나누는 것

카테고리 정확도 높이기를 위한 도구 Amazon Mechanical Turk [미국에서 스타트업 하기 (14)] 글로벌 고객 조사를 위한 유용한 도구 Mechanical Turk (MTurk)

실습 노트 코드 요약

청원 카테고리 분류 ~~~ 나눔글꼴 설치 !apt install fonts-nanum

Plotnine 패키지 설치

!pip install plotnine

기본 글꼴 변경

import matplotlib as mpl mpl.font_manager._rebuild() mpl.pyplot.rc(‘font’, family=’NanumBarunGothic’)

레티나 디스플레이 지원

%config InlineBackend.figure_format = ‘retina’

import pandas as pd import numpy as np import re print(pd.version) print(np.version)

2. 데이터 로드하기

크롤링해 온 국민청원 데이터를 판다스를 통해 읽어옵니다.

petitions = pd.read_csv(‘https://s3.ap-northeast-2.amazonaws.com/data10902/petition/petition.csv’, parse_dates=[‘start’, ‘end’])

데이터의 크기가 어느정도인지 봅니다.

petitions.shape

전체 데이터 중 투표가 1000건 이상인 데이터를 기준으로 가져옵니다. 아웃라이어 데이터 제거를 위해 10만건 이상 데이터도 제거합니다.

df = petitions.loc[(petitions[‘votes’] > 1000) & (petitions[‘votes’] < 100000)].copy() df.shape /category_count = df['category'].value_counts() category_count %matplotlib inline category_count.plot(kind='bar') 예측값과 실제값 비교를 위해 컬럼을 하나 더 생성합니다. df['category_pred'] = df['category'].copy() 첫 번째 인덱스를 가져와 봅니다. sample_index = df.iloc[0][0] sample_index 3. 전처리 하기 def preprocessing(text): # 개행문자 제거 text= str(text) text = re.sub('\ ', ' ', text) # 특수문자 제거 # 특수문자나 이모티콘 등은 때로는 의미를 갖기도 하지만 여기에서는 제거했습니다. # text = re.sub('[?.,;:|\)*~`’!^\-_+<>@\#$%&-=#}※]’, ”, text) # 한글, 영문, 숫자만 남기고 모두 제거하도록 합니다. # text = re.sub(‘[^가-힣ㄱ-ㅎㅏ-ㅣa-zA-Z0-9]’, ‘ ‘, text) # 한글, 영문만 남기고 모두 제거하도록 합니다. text = re.sub(‘[^가-힣ㄱ-ㅎㅏ-ㅣa-zA-Z]’, ‘ ‘, text) return text

불용어 제거

def remove_stopwords(text): tokens = text.split(‘ ‘) stops = [‘수’, ‘현’, ‘있는’, ‘있습니다’, ‘그’, ‘년도’, ‘합니다’, ‘하는’, ‘및’, ‘제’, ‘할’, ‘하고’, ‘더’, ‘대한’, ‘한’, ‘그리고’, ‘월’, ‘저는’, ‘없는’, ‘입니다’, ‘등’, ‘일’, ‘많은’, ‘이런’, ‘것은’, ‘왜’,’같은’, ‘같습니다’, ‘없습니다’, ‘위해’, ‘한다’] meaningful_words = [w for w in tokens if not w in stops] return ‘ ‘.join(meaningful_words)

샘플데이터에 적용

pre_sample_content = preprocessing(sample_content) pre_sample_content = remove_stopwords(pre_sample_content)

4. 학습세트와 테스트세트 만들기

학습세트와 테스트세트를 7:3의 비율로 나눠 줍니다.

split_count = int(df.shape[0] * 0.7) split_count

카테고리

df_train_category_value = pd.DataFrame(df_train[‘category’].value_counts()) df_train_category_percent = pd.DataFrame(df_train[‘category’].value_counts(normalize=True)) df_train_category_value.merge(df_train_category_percent, left_index=True, right_index=True) df_test_category_value = pd.DataFrame(df_test[‘category’].value_counts()) df_test_category_percent = pd.DataFrame(df_test[‘category’].value_counts(normalize=True)) df_test_category_value.merge(df_test_category_percent, left_index=True, right_index=True) df_train_category_value.plot(kind=’bar’) df_test_category_value.plot(kind=’bar’)

5. 단어 벡터화 하기

from sklearn.feature_extraction.text import CountVectorizer

vectorizer = CountVectorizer(analyzer = ‘word’, # 캐릭터 단위로 벡터화 할 수도 있습니다. tokenizer = None, # 토크나이저를 따로 지정해 줄 수도 있습니다. preprocessor = None, # 전처리 도구 stop_words = None, # 불용어 nltk등의 도구를 사용할 수도 있습니다. min_df = 2, # 토큰이 나타날 최소 문서 개수로 오타나 자주 나오지 않는 특수한 전문용어 제거에 좋다. ngram_range=(1, 3), # BOW의 단위를 1~3개로 지정합니다. max_features = 2000 # 만들 피처의 수, 단어의 수가 된다. ) vectorizer

6. 랜덤 포레스트로 학습시키기 [랜덤 포레스트 공식문서](http://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestClassifier.html)

학습에 사용할 y_label 을 넣어줍니다.

어떤 분야의 청원인지 예측할 것이기 때문에 category를 넣어줍니다.

y_label = df_train[‘category’]

7. 학습이 잘 되었는지 평가하기

from sklearn.model_selection import KFold from sklearn.model_selection import cross_val_score k_fold = KFold(n_splits=5, shuffle=True, random_state=0)

scoring = ‘accuracy’ %time score = cross_val_score(forest, train_feature_vector, y_label, cv=k_fold, n_jobs=-1, scoring=scoring) score

round(np.mean(score)*100,2)

8. 예측

테스트 데이터를 넣고 예측합니다.

y_pred = forest.predict(test_feature_vector) y_pred[:3]

예측 결과를 저장하기 위해 데이터프레임에 담아 줍니다.

output = pd.DataFrame(data={‘category_pred’:y_pred}) output.head()

0과 1이 어떻게 집계 되었는지 확인합니다.

실제 데이터에는 답변 대상 건이 있는데 없는 것으로 예측되었

output[‘category_pred’].value_counts()

df_test[‘category_pred’] = y_pred

df_test[‘pred_diff’] = 0 df_test[‘pred_diff’] = (df_test[‘category’] == df_test[‘category_pred’] ) == 1 df_test[‘pred_diff’] = df_test[‘pred_diff’].astype(int) df_test.head()

맞게 예측한 청원은 1, 틀린 예측은 0으로 표기되었습니다.

pred_diff = df_test[‘pred_diff’].value_counts() pred_diff

print(‘전체 {}건의 데이터 중 {}건 예측’.format(y_pred.shape[0], pred_diff[1]))

acc = ( pred_diff[1] / y_pred.shape[0] )*100 print(‘예측 비율 {}’.format(acc))

제대로 예측한 카테고리 데이터를 봅니다.

predict_correct = df_test.loc[df_test[‘pred_diff’] == 1] predict_correct.head()

predict_incorrect = df_test.loc[df_test[‘pred_diff’] == 0].copy() predict_incorrect.head()

predict_incorrect_value = predict_incorrect[‘category’].value_counts() predict_incorrect_value

잘못 예측한 카테고리 중 인권/성평등 카테고리가 가장 많습니다.

predict_incorrect_value.plot(kind=’bar’) ~~~

[논문]딥러닝을 이용한 형태소 분석 기반의 상품 카테고리 분류 기법

초록

온라인에서 판매되는 상품은 점점 다양해지고 많은 상품들이 신규로 등록되며 소비되고 있다. 쇼핑몰에 상품 등록은 판매자에 의해서 이루어지며 대부분 텍스트 정보로 이루어져 있다. 이 중에서 카테고리는 시스템에 의해 상품의 메타 정보로부터 추론 될 수 있는 부분이다.

이번 연구에서는 상품명으로부터 상품 카테고리를 매칭시켜주는 방법에 대해 연구하였다.

종합쇼핑몰에 등록되는 상품명의 특성상 상품 고유명 뿐만 아니라 다양한 정보를 포함하게 되는데, 이는 자연어에 가까울 정도로 많은 단어들과 긴 길이를 갖는다….

온라인에서 판매되는 상품은 점점 다양해지고 많은 상품들이 신규로 등록되며 소비되고 있다. 쇼핑몰에 상품 등록은 판매자에 의해서 이루어지며 대부분 텍스트 정보로 이루어져 있다. 이 중에서 카테고리는 시스템에 의해 상품의 메타 정보로부터 추론 될 수 있는 부분이다.

이번 연구에서는 상품명으로부터 상품 카테고리를 매칭시켜주는 방법에 대해 연구하였다.

종합쇼핑몰에 등록되는 상품명의 특성상 상품 고유명 뿐만 아니라 다양한 정보를 포함하게 되는데, 이는 자연어에 가까울 정도로 많은 단어들과 긴 길이를 갖는다. 이러한 특성을 수용할 수 있도록 딥러닝 중 자연어 처리에 많이 사용되는 RNN 모델을 제안한다.

상품명으로 카테고리를 추론하는 과정은 텍스트 분류 문제로 재정의 될 수 있는데, 텍스트 분류에서 보편적으로 사용되는 전처리 과정에서 일반적인 구두점 제거와 상품의 카테고리와는 직접적인 연관이 없는 배송정보나 프로모션 여부 등의 텍스트를 제거하는 방법과 함께 고도화된 입력 값 정제를 위하여 형태소 분석을 통한 명사 축출 방법을 제안한다.

사용된 딥러닝 프레임 워크는 google의 tensorflow 이며, python 언어를 사용하였다. tensorflow 중 RNN으로 구성된 encoder 와 decoder를 가진 sequence to sequnce 모델을 사용하였다.

3개의 1차 카테고리를 성능평가의 지표로 활용하였다. 고도화된 입력 값 정제를 위한 형태소 분석 적용 여부를 각각의 1차 카테고리 상품에 적용하여 비교하였을 때 정확도가 평균 6.75% 증가하였고, 3개의 1차 카테고리를 하나의 모집단으로 한 실험의 결과에서는 정확도가 8.59% 증가하였다.

제안된 방법 중 형태소 분석을 통한 고도화된 입력 데이터 정제의 여부에 따라 상품명으로 상품 카테고리 분류 정확도를 비교하였을 때 개선됨을 실험적으로 증명할 수 있었다.

[AI] Classification (분류) 개념과 알고리즘 종류

1. Classification(분류)

말 그대로 분류를 뜻하는 Classification은 Supervised learning 지도학습의 일종으로 기존에 존재하는 데이터의 Category 관계를 파악하고, 새롭게 관측된 데이터의 Category를 스스로 판별하는 과정이다.

예를 들어 문자를 판별하여, 스팸 보관함으로 분류하는것과 같은 단일분류와 , 수능 점수가 몇 등급에 해당하는지 판별하는 종류의 다중분류가 있다. 다중분류는 비지도학습의 Clustering과 비슷하지만, 가장 큰 차이점은 Category의 도메인이 정의되있는가 그렇지 않은가이다.

지도학습의 Classification은 이미 정해진 카테고리(레이블) 안에서 학습하여 새로운 데이터를 분류하지만,

비지도학습의 Clustering은 정해지지 않은 카테고리(레이블)를 원하는 만큼 생성하여, 분류하는것이 가장 큰 차이점이다.

2. Classification(분류) 알고리즘 종류

일련의 데이터가 포함되는 기존 카테고리들을 학습하고, 이것을 기반으로 컴퓨터는 데이터의 범주를 구분하여 경계를 나누는 것을 학습한다. 따라서 모델에 입력된 새로운 데이터는 해당 점이 어느 곳에 위치하느냐에 따라 가까운 카테고리 혹은 학습된 알고리즘에 의해 분류하게 된다.

(1) KNN ( k-nearest neighbor)

k-nearest neighbor는 데이터를 분류하고 새로운 데이터 포인트의 카테고리를 결정할 때 K 개의 가장 가까운 포인트를 선점하고 그중 가장 많이 선택된 포인트의 카테고리로 이 새로운 데이터를 분류하는 방법이다. k-nearest neighbor에서 고려해야 할 사항은 알고리즘의 핵심 부분이 대상 포인트와의 거리에 대한 측정이고, 이를 계산하는 방법으로 무조건 유클리드 거리 측정 방식을 사용하는 것을 자제해야 한다. 모든 데이터 열을 이처럼 같은 방식으로 처리하면 생각하지 못한 변수에 의해 오류가 생길 수 있으므로 거리의 제곱을 합산하기 전 각 카테고리에 대한 평균 거리를 빼고 계산하는 방식과 같은 다양한 거리 계산 알고리즘에 대한 논의가 필요하다. 예를 들어 실수 데이터의 경우 유클리드 거리 측정 방식을 사용하고, 범주형 혹은 이진 데이터와 같은 유형의 데이터는 해밍 거리 측정 방식을 사용한다.

(2) Decision Tree(의사결정 트리)

가장 단순한 classifier 중 하나로, decision tree와 같은 도구를 활용하여 모델을 그래프로 그리는 매우 단순한 구조로 되어 있다. 이 방식은 root에서부터 적절한 node를 선택하면서 진행하다가 최종 결정을 내리게 되는 model이다.

이 트리의 장점은 누구나 쉽게 이해할 수 있고, 결과를 해석할수있다.

예를 들어 yes를 선택했던 것을 no로 바꾸기만 하면 간단하게 로직을 바꿀 수 있다.

가지고 있는 데이터의 Feature를 분석해서 Tree를 Build하는 과정이 제일 중요하다.

(3) Random Forest

Decision tree가 여러개 모여 Forest를 이룬 것이다.

Decision tree보다 작은 Tree가 여러개 모이게 되어, 모든 트리의 결과들을 합하여 더많은 값을 최종결과로 본다.

(4) Naive Bayes (나이브 베이즈)

나이브 베이즈는 확률을 사용한다.

EX>

만약, 심슨에 대한 Feature에 age와 sex 2개가 존재하는 상황에서,

심슨의 나이, 성별에 따라 Survive할 확률(결과)은 얼마인지를 Naive Bayes의 이론에 따라 계산하게 된다.

(5) SVM (Support Vector Machine)

서포터 벡터 머신은 기본적으로 Decision Boundary라는 직선이 주어진 상태이다.

Decision boundary를 긋는 방법은 Binary Classification(Logistic regression문제)에서

feature가 2개이므로, z(x) = w1x1 + w2x2 일 때, activation(x) = sigmoid ( z(x))이고,

이 때, a(x) = h(x) 인, 단순 선형회귀일 경우에,

예측값이 0도 아니고 1도 아닌, h(x) = 0.5를 만들게 하는 경우이다.

즉, h(x) = a( z(x)) = sigmoid( z(x) )= 0.5

z(x) = 0

w1x1 + w2x2 = 0을 만족시키는 w1와 w2에 의해 결정된다.

x2 = – w1x1 / w2 이므로, 기울기는 -w1/w2일 것이다.

아무튼, 심슨은 Decision Boundary보다 위에 있으므로 죽었다고 예측되고,

심슨부인은 Decision Boundary보다 아래에 있으므로 살았다고 예측된다.

모델링과 Classifier가 있는 상태에서, Testing을 하기전에 반드시 해야할 것이 validation이다

* K-Fold Cross Validation

고전적인 방법으로는 train data에서 일부를 떼서 validation에 쓰는 것이다.그 결과, train을 통해 나오는 accuracy는 validation dataset의 accuracy이다. 여기서 문제점은, train에서 떼어낸 특정 부분만의 accuracy이며, 다른부분에서 떼어낼 경우 accuracy가 달라지게 된다. 즉, bias(편견이 있는) validation이다.

k-fold cross validation방법은 고전적인 valdation방법을 보완한다.

1) 먼저 k=10으로 가정하면, train data를 10등분한다.

2) 순서대로 돌아가면서 1/10을 validation으로 사용하며, 나머지 9개를 train으로 사용한다.

3) 10번의 validation결과로 나온 accuracy를 평균낸다.

전문용어로는 validation accuracy score라고 한다.

이제 머신러닝classifier 5개를 사용해보고

k-fold cross validation을 거쳐

final accuracy가 가장 높은 classifier를 채택하자.

So you have finished reading the 카테고리 분류 알고리즘 topic article, if you find this article useful, please share it. Thank you very much. See more: 쇼핑몰 상품 카테고리 분류, 카테고리 분류체계, 자연어 카테고리 분류, 카테고리 분류 모델, 카테고리 분류 AI, 카테고리 분류 기준, 상품 카테고리 분류 API, 파이썬 상품 카테고리 분류

Leave a Comment