전체 글 (185) 썸네일형 리스트형 [NLP] 임베딩 편향성 이번에는 워드 임베딩에 숨어 있는 편향성을 측정하는 대표적인 방법론인 Word Embedding Association Test(WEAT)라는 기법에 대해 알아보고, 이를 활용해 직접 학습시킨 Word2Vec 임베딩 내의 편향성을 측정해 보면서 이 방법론이 우리의 편향성을 잘 반영하는지도 알아보겠습니다. 위 그림은 'Man is to Computer Programmer as Woman is to Homemaker? Debiasing Word Embeddings'라는 논문에 포함된 것입니다. 이 논문의 저자는 학습된 Word Embedding을 2차원으로 차원 축소하여 시각화했을 때, 젠더 중립적인 단어임에도 불구하고 Programmer, Doctor, Engineer 등의 단어는 남성 대명사 He에 가깝게.. [Python] 백준 파이썬 11478 서로 다른 부분 문자열의 개수 https://www.acmicpc.net/problem/11478 11478번: 서로 다른 부분 문자열의 개수 첫째 줄에 문자열 S가 주어진다. S는 알파벳 소문자로만 이루어져 있고, 길이는 1,000 이하이다. www.acmicpc.net # 백준 11478 서로 다른 부분 문자열의 개수 s = input() subword = [] k=1 for i in range(len(s)): # 1 for j in range(len(s)+1-k): # 2 subword.append(s[j:j+k]) k += 1 subword=set(subword) print(len(subword)) 문자열 슬라이싱을 이용했습니다. k는 subword의 크기입니다. # 1 : subword는 크기가 1부터 len(s)까지 가능하.. [NLP] 워드 임베딩 자연어를 기계가 처리할 수 있도록 전처리 과정에서 텍스트를 벡터로 변환하는 과정을 벡터화(Vectorization)라고 합니다. 지금까지 벡터화 방법으로 DTM, TF-IDF를 배웠습니다. 그리고 이와 비슷하지만 다른 원-핫 인코딩(one-hot encoding)이라는 방법이 있습니다. DTM(Document-Term Matrix) : 문서에서 단어의 등장 빈도만을 고려해 벡터화하는 방법 TF-IDF(문서-역문서 빈도) : 불용어 같이 거의 모든 문서에서 등장하지만 딱히 의미가 있지 않은 단어가 있기 때문에 단어마다 중요 가중치를 다르게 주는 방법 원-핫 인코딩(one-hot encoding) : 가지고 있는 단어장을 기준으로 해당하는 단어의 인덱스에만 1이고 나머지는 0인 벡터 간단하게 원-핫 인코딩에.. [Python] 백준 파이썬 1269 대칭 차집합 https://www.acmicpc.net/problem/1269 1269번: 대칭 차집합 첫째 줄에 집합 A의 원소의 개수와 집합 B의 원소의 개수가 빈 칸을 사이에 두고 주어진다. 둘째 줄에는 집합 A의 모든 원소가, 셋째 줄에는 집합 B의 모든 원소가 빈 칸을 사이에 두고 각각 주어 www.acmicpc.net #백준 1269 대칭 차집합 import sys input = sys.stdin.readline n, m = map(int, input().split()) a = set(map(int, input().split())) b = set(map(int, input().split())) print(len(a-b) + len(b-a)) 차집합은 그냥 {A} - {B}로 구할 수 있습니다. 이번에도 쉬.. [Python] 백준 파이썬 1764 듣보잡 https://www.acmicpc.net/problem/1764 1764번: 듣보잡 첫째 줄에 듣도 못한 사람의 수 N, 보도 못한 사람의 수 M이 주어진다. 이어서 둘째 줄부터 N개의 줄에 걸쳐 듣도 못한 사람의 이름과, N+2째 줄부터 보도 못한 사람의 이름이 순서대로 주어진다. www.acmicpc.net # 백준 1764 듣보잡 import sys input = sys.stdin.readline n, m = map(int, input().split()) not_heard = set([input().strip() for _ in range(n)]) # 보지도 못한놈들 집합 not_seen = set([input().strip() for _ in range(m)]) # 듣지도 못한놈들 집합 not_.. [NLP] 텍스트 카테고리 분류 로이터 뉴스데이터에 대해 카테고리 분류를 진행하겠습니다. 이는 텐서플로우 데이터셋에서 제공하고 있는 데이터로 아주 쉽게 다운로드가 가능합니다. 필요한 모듈을 임포트하고 데이터를 다운로드하여 오겠습니다. from tensorflow.keras.datasets import reuters import matplotlib.pyplot as plt import seaborn as sns import numpy as np import pandas as pd (x_train, y_train), (x_test, y_test) = reuters.load_data(num_words=10000, test_split=0.2) tensorflow.keras.datasets.reuters.load_data에는 다양한 파라미터가 .. [Python] 백준 파이썬 10816 숫자 카드 2 https://www.acmicpc.net/problem/10816 10816번: 숫자 카드 2 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net # 백준 10816 숫자 카드 2 from collections import Counter n = int(input()) hand_card = [n for n in map(int, input().split())] card_counter = Counter(hand_card) m = int(input()) check_list = [n for n in map(int, .. [Python] 백준 파이썬 1620 나는야 포켓몬 마스터 이다솜 https://www.acmicpc.net/problem/1620 1620번: 나는야 포켓몬 마스터 이다솜 첫째 줄에는 도감에 수록되어 있는 포켓몬의 개수 N이랑 내가 맞춰야 하는 문제의 개수 M이 주어져. N과 M은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수인데, 자연수가 뭔지는 알지? 모르면 www.acmicpc.net 풀이 1 # 백준 1620 나는야 포켓몬 마스터 이다솜 # n : 포켓몬의 개수 # m : 맞춰야 하는 문제의 개수 import sys input = sys.stdin.readline n, m = map(int, input().split()) pname2index = {} # 1 for i in range(n): name = input().strip() pname2in.. 이전 1 ··· 13 14 15 16 17 18 19 ··· 24 다음