자연어 처리를 쉽게 할 수 있는 파이썬 라이브러리 5개

1. 앞말


자연언어는 인류가 서로 교류하는 언어를 가리키는데 자연언어처리는 데이터를 이해할 수 있는 형식으로 예처리하여 컴퓨터가 이해할 수 있도록 하는 방법이다.쉽게 말하면 자연언어처리(NLP)는 컴퓨터가 자신의 언어로 인류와 교류하는 과정을 돕는 것이다.
자연 언어 처리는 가장 광범위한 연구 분야 중의 하나다.많은 대기업들이 이 분야에 투자를 많이 한다.NLP는 그들에게 소비자의 정서와 텍스트에 따라 그들을 잘 이해할 수 있는 기회를 제공했다.NLP의 가장 좋은 용례는 가짜 전자메일 검출, 가짜 뉴스에 대한 분류, 감정 분석, 다음 단어 예측, 자동 정정, 채팅 로봇, 개인 보조원 등이다.
NLP 작업을 해결하기 전에 알아야 할 7가지 용어
태그: 전체 텍스트를 작은 태그로 분할하는 과정입니다.점치는 문장과 단어 두 가지 기초에 따라 이루어진다.

text = "Hello there, how are you doing today? The weather is great today. python is awsome"

##sentece tokenize (Separated by sentence)
['Hello there, how are you doing today?', 'The weather is great today.', 'python is awsome']
##word tokenizer (Separated by words)
['Hello', 'there', ',', 'how', 'are', 'you', 'doing', 'today', '?', 'The', 'weather', 'is', 'great', 'today', '.','python', 'is', 'awsome']
정지사: 일반적으로 이런 단어들은 문장에 너무 많은 의미를 부여하지 않는다.NLP에서 우리는 분석 데이터에 중요하지 않기 때문에 모든 정지어를 삭제했다.영어에는 모두 179개의 정지어가 있다.
어간 추출: 접두사와 접두사를 제거하여 한 단어를 어근으로 복원하는 과정입니다.
어형 환원: 그의 작업 원리는 어간법과 같지만 관건적인 차이점은 의미 있는 단어를 되돌려주는 것이다.주로 채팅 로봇, 퀴즈 로봇, 텍스트 예측 등을 개발한다.
WordNet: 영어 언어 명사, 동사, 형용사와 부사의 어휘 데이터베이스나 사전입니다. 이 단어들은 자연 언어 처리 디자인을 위한 집합으로 분류됩니다.
어휘성 표시: 문장을 원조 목록으로 바꾸는 과정입니다.각 메타그룹은 하나의 형식(단어, 표기)을 가지고 있다.이곳의 라벨은 이 단어가 명사, 형용사인지 동사인지 등을 나타낸다.

text = 'An sincerity so extremity he additions.'
--------------------------------
('An', 'DT'), ('sincerity', 'NN'), ('so', 'RB'), ('extremity', 'NN'), ('he', 'PRP'), ('additions', 'VBZ')]
단어 봉투: 텍스트를 어떤 숫자로 바꾸는 과정입니다.예를 들어 독열 인코딩 등이다.

sent1 = he is a good boy
sent2 = she is a good girl
            |
            |
        girl good boy   
sent1    0    1    1     
sent2    1    0    1
이제 우리의 테마로 돌아가서 데이터를 쉽게 처리할 수 있는 라이브러리를 봅시다.

NLTK


의심할 여지없이 그것은 자연 언어 처리가 가장 좋고 가장 많이 사용되는 라이브러리 중의 하나이다.NLTK는 자연 언어 도구 패키지의 줄임말이다.Steven Bird와 Edward Loper가 개발했습니다.그것은 표기화, 어원화, 어간화, 해석, 블록과 어성 표기에 사용되는 많은 내장 모듈을 가지고 있다.그것은 50개가 넘는 자료 라이브러리와 어휘 자원을 제공한다.
설치:pip install nltk
주어진 텍스트에 대해 NLTK를 사용하여 미리 처리합니다.

import nltk
#nltk.download('punkt')
from nltk.tokenize import word_tokenize
from nltk.corpus import stopwords
from nltk.stem import PorterStemmer
import re
ps = PorterStemmer()
text = 'Hello there,how are you doing today? I am Learning Python.'
text = re.sub("[^a-zA-Z0-9]"," ",text)
text = word_tokenize(text)
text_with_no_stopwords = [ps.stem(word) for word in text if word not in stopwords.words('english')]
text = " ".join(text_with_no_stopwords) 
text
-----------------------------------------------OUTPUT------------------------------------
'hello today I learn python'

3. TextBlob


Textblob은 간단한 텍스트 처리 라이브러리입니다.이것은 단어 표기, 감정 분석, 분류, 번역 등 흔히 볼 수 있는 NLP 작업을 수행하는 간단한 API를 제공한다.
설치:pip install textblob

4. spacy


이것은python에서 가장 좋은 자연 언어 처리 라이브러리 중 하나입니다.cpython으로 작성되었습니다.그것은 사전 훈련된 통계 모델을 제공하고 49개 이상의 언어를 표기화하는 것을 지원한다.이것은 권적 신경 네트워크를 특징으로 하여 실체 식별을 표시하고 해석하며 명명하는 데 쓰인다.
설치:pip install spacy

import spacy
nlp = spacy.load('en_core_web_sm')
text = "I am Learning Python Nowdays"
text2 = nlp(text)
for token in text2:
  print(token,token.idx)
------------------------------OUTPUT-----------------------
I 0
am 2
Learning 5
Python 14
Nowdays 21

5. Gensim


이것은 두 문서 간의 의미 유사성을 식별하는 데 전문적으로 사용되는 Python 라이브러리이다.이것은 벡터 공간 모델링과 테마 모델링 도구 패키지를 사용하여 문서 간의 유사점을 찾습니다.그것은 대형 텍스트 자료 라이브러리를 처리하는 데 사용되는 알고리즘이다.
설치:pip installgensim

6. CoreNLP


Stanford CoreNLP의 목표는 텍스트에 서로 다른 언어 도구를 적용하는 과정을 간소화하는 것이다.이 라이브러리는 운행 속도가 매우 빠르고 개발 중에 매우 잘 작동한다.
설치:pip install stanford-corenlp
파이썬 라이브러리 5개로 자연언어 예처리를 쉽게 할 수 있는 이 글은 여기까지 소개되었습니다. 파이썬 라이브러리 자연언어 예처리 내용과 관련된 더 많은 내용은 저희 이전의 글을 검색하거나 아래의 관련 글을 계속 찾아보세요. 앞으로 많은 응원 부탁드립니다!

좋은 웹페이지 즐겨찾기