💫 Computer Science/Python & AI Framework
-
같은 글자의 유니코드가 다를때, 정규식이 먹지 않을때💫 Computer Science/Python & AI Framework 2021. 5. 17. 14:42
파이썬으로 텍스트 전처리를 하다가 정규식으로 한글 영어만 추출하고 있었는데, 그렇게 텍스트 클렌징 후 데이터가 None이 되는 경우가 많았다. 살펴보니깐 같은 문자라도 아스키 코드가 달랐고, 그렇다보니 정규식이 먹지 않았던 것. ord('A') # 65 chr(65) # 'A' 파이썬에서는 ord(문자) 함수로 문자의 아스키코드를 알 수 있고 chr(아스키코드) 함수로 아스키코드의 문자를 알 수 있다. 그런데, 똑같은 '한'이라는 글자가 아스키코드 값이 달랐다. 그래서 찾아보니 '유니코드 정규화(Unicode Normalization)'이 필요하다고 한다. 대표적인 예로 옴(Ω)과 오메가(Ω)는 서로 다른 문자로 취급된다. 이런 경우는 동일한 기호가 서로 사용되는 분야가 다를 때 다른 유니코드를 반환한다..
-
[Pandas] pandas 꿀팁(?)💫 Computer Science/Python & AI Framework 2021. 5. 17. 11:01
1. None은 == 로 필터링 되지 않는다. df[df["City"] == None] // X df[df["City"].isnull()] // O df[df["City"].isna()] // O pandas를 사용할 경우 결측값은 None이 아닌 np.nan 을 이용한다. 2. 결측값과 isna, isnull pandas에서 결측값(missing value)를 확인하는 메소드는 .isna()와 .isnull()이 있고 결측값일 경우 True라고 표시된다. 이 경우에도 df[df["City"] == np.nan] // X 으로 잡히지 않는다. 왜냐하면 np.nan == np.nan // False NaN 끼리는 비교 연산자가 먹히지 않기 때문이다. 그리고 isnull()과 isna()의 차이점은 '없다'..
-
[Docker] ML + NLP Dockerfile 만들기💫 Computer Science/Python & AI Framework 2021. 5. 11. 11:30
케라스랑 자연어처리 쪽 도커 이미지를 많이 사용하는데, 요즘 한국어 처리, 임베딩 하느라고 "한국어임베딩" 책의 이기창 저자님의 embedding이미지를 사용했었다. ratsgo/embedding ratsgo/embedding 에서 바로 사용 가능한 기법들 단어 수준 임베딩 - Latent Semantic Analysis - Word2Vec - GloVe - FastText - Swivel 문장 수준 임베딩 - Weighted Embeddings - Latent Semantic Analysis - Latent Dirichlet Allocation - Doc2VecEmbeddings from Language Models (ELMo) - Bidirectional Encoder Representations f..
-
[Python] 인코딩 정리💫 Computer Science/Python & AI Framework 2021. 4. 29. 17:54
자연어 처리를 하다보면 인코딩에 대해 아는 것이 생각보다 중요해서 정리 한번 하고 넘어가고 싶어서 오랜만에 글을 써봅니다. 쓴다고 깔짝 정리해논게 많은데 요즘 생각할게 너무 많아서 포스팅에 게을러진 점 반성합니다 (_ _) 문자 인코딩(character Encoding) 먼저 인코딩이라는 것은 '정보의 형태나 형식을 변환하는 처리 또는 처리 방식'을 뜻한다. 인코딩은 문자 뿐 아니라 사진, 영상 등 다른 데이터 포맷에도 사용된다. 그 중 문자 인코딩은 글자를 어떤 코드표로 매핑시켜놓은 것을 말한다. ex) '갸' -> 98398492839 어떤 데이터를 받고 내 컴퓨터에서 열어봤는데 꿿휄쉙ㅇ!? 처럼 문자가 깨져서 온 적이 있을 것이다. 이는 상대방이 보낸 데이터의 인코딩 방식과 내 컴퓨터에서 설정된 인..