본문 바로가기
Python 배우기

자연어 처리에 유용한 8가지 파이썬 라이브러리

by 노화방지 Anti-aging Hairstyle 2021. 1. 3.
반응형

자연어 처리(Natural Language Processing, NLP)를 풀어서 설명하면 “음성과 텍스트를 위한 AI”다.

음성 명령, 음성 및 텍스트 번역, 감정 분석, 텍스트 요약 등 언어 애플리케이션과 분석의 기반인 자연어 처리는 딥러닝을 통해 비약적으로 진화했다.

파이썬 언어는 NLP를 포함한 모든 머신러닝 변형을 위한 편리한 프론트엔드를 제공한다.

사실 파이썬 생태계의 NLP는 선택하기가 난감할 정도로 풍부하다.

여기서는 파이썬용으로 제공되는 각 NLP 라이브러리의 사용사례와 장단점, 전반적 인기도를 살펴본다.

참고로 라이브러리 가운데 일부는 다른 라이브러리가 제공하는 동일한 기능을 더 상위 수준에서 제공해 정확성 또는 성능을 약간 희생하는 대가로 사용 편의성을 더 높였다.

각자의 전문 지식 수준과 프로젝트의 속성에 따라 적합한 라이브러리를 선택해야 한다.

https://amzn.to/3mRmHFy

Hemp Oil 1,000,000 MG for Pain, Anxiety Relief - Sleep Support - Organic Extra Strong Formula - Vegan-Friendly - Helps for Skin, Hair - Pure Extract

Hemp Oil 1,000,000 MG for Pain, Anxiety Relief - Sleep Support - Organic Extra Strong Formula - Vegan-Friendly - Helps for Skin, Hair - Pure Extract

amzn.to

CoreNLP

미국 스탠포드대학에서 개발된 코어NLP 라이브러리는 대규모로 NLP 예측 및 분석을 제공할 수 있는 프로덕션급 자연어 처리 솔루션이다.

코어NLP는 자바로 만들어졌지만 네이티브 파이썬 NLP 라이브러리인 StanfordNLP 등 여러 파이썬 패키지와 API가 나와 있다.

코어NLP에는 문법 태깅, 명명된 개체 인식, 파싱, 감정 분석을 비롯한 광범위한 언어 툴이 포함된다.

human language agnostic적으로 설계됐으며, 현재 영어 외에 아 랍어, 중국어, 프랑스어, 독일어, 스페인어를 지원한다(러시아어, 스웨덴어, 덴마크어 지원은 서드파티를 통해 제공).

코어NLP에는 과도한 부가작업 없이 예측을 제공하기 위한 편리한 방법인 웹 API 서버도 포함된다.

코어NLP의 파이썬 래퍼를 가장 쉽게 시작하는 방법은 스탠포드 NLP 그룹에서 만든 기준 구현인 스탠포드NLP다. 스탠포드NLP는 잘 문서화됐으며 정기적으로 유지보수가 이뤄진다.

코어NLP를 위한 파이썬 라이브러리 중에는 장기간 업데이트되지 않은 라이브러리가 많다.

또한 코어NLP는 추후 설명할 대표적 파이썬 NLP 라이브러리 Natural Language Toolkit(NLTK)사용도 지원한다.

NLTK는 버전 3.2.3부터 파서에 코어NLP 인터페이스를 포함한다.

올바른 API를 사용하도록 주의를 기울이기만 하면 된다.

저렴하고 꼼꼼한 지하철 퀵서비스

www.over65.kr

OVER65

100세 시대, 일을 통한 건강 유지 ! 지하철 배송 기본요금 7천원 10Kg 미만 물품/자료 배달 인터넷 쇼핑몰 물품 배달 생일선물/케이크/꽃다발 배달 기사님 배달요금 수수료 10% 처음 5건까지는 수수료 0 지하철 배송 기본 7천원 일반 퀵서비스 대비 30% ~ 저렴 서울/수도권 어디든 꼼꼼함 신속정확 65세 이상 기사님 모집합니다! 처음 5건까지는 수수료가 없읍니다. 회사 생각 100세 시대, 60대, 70대, 80대 분들도 일을 통하여 육체와 정신 건강을 이룰 수 있게 도와드리고자 합니다. 회사 위치 서울 강남구 학동로1...

www.over65.kr

코어NLP의 눈에 띄는 단점은 자바에 어느 정도 익숙해야 한다는 점이지만 문서를 잘 읽으 면 극복할 수 있다.

코어NLP의 또 다른 장애물은 라이선싱이다.

전체 툴킷이 GPLv3 라이선스에 따르므로, 타인에 배포하는 사유 소프트웨어에 사용되는 경우 상용 라이선스가 필요하다.

https://smartstore.naver.com/oneseason/products/5122483948?NaPm=ct%3Dkfk7wpmo%7Cci%3D9418f25fb6323630ca7275a26538981dede26716%7Ctr%3Dsls%7Csn%3D1350992%7Chk%3Dd6ff6482c4ce07c61b26a85927a18787e2ca4896

[GOLFKICKS] 골프킥스 : 한계절

[한계절] 나도나도 공식 스토어

smartstore.naver.com

Gensim

젠심의 기능은 두 가지에 불과하지만 대신 이 두 가지 기능을 아주 잘 수행한다.

이 툴의 초점은 통계적 의미론에 있다.

즉, 문서에서 구조를 분석한 다음, 유사성을 기준으로 다른 문서를 채점한다.

젠심은 분석 엔진으로 문서를 스트리밍하면서 점진적으로 unsupervised learning을 수행하는 방법으로 대용량 텍스트를 처리할 수 있다.

Word2Vec, Doc2Vec, FastText, Latent Dirichlet Allocation(LDA) 등 각각 다른 시나리오에 맞는 여러 유형의 모델을 생성할 수 있다.

젠심의 세부 문서에는 주요 개념을 설명하고 실습 예제를 통해 보여주는 자습서와 방법 가이드가 포함되어 있다.

젠심 깃허브 리포지토리에서 일반적 레시피도 받을 수 있다.

학원/교습소 원생관리(체온체크) App

www.cantox.kr

CnGwell

학생관리App 칸나비노이드 CBD

www.cantox.kr

NLTK

NLTK는 가장 유명하고 가장 강력한 파이썬 자연어 처리 라이브러리 가운데 하나다.

NLTK 에서 바로 사용 가능한 말뭉치(corpora, 데이터 집합)와 학습된 모델이 많으므로 즉시 NLTK로 실험을 시작할 수 있다.

NLTK는 “Classification, Tokenization, Stemming, Tagging, Parsing, 의미론적 추론(Semantic Reasoning)” 등 텍스트 작업을 위한 다양한 툴을 제공한다.

또한 기능을 강화하기 위한 여러 서드파티 툴과도 호환된다.

단, NLTK는 학계 연구용도로 개발된 것일뿐, 프로덕션 환경의 NLP 모델에 사용하게 설계된 것이 아니다.

그래서 문서도 다소 부실하고, 사용방법에 관한 내용도 많지 않다.

또 한 64비트 바이너리가 없으므로 사용하려면 파이썬 32비트 에디션을 설치해야 한다.

마지막으로, NLTK는 속도가 빠른 라이브러리에 속하진 않지만 병렬 처리를 통해 속도를 높일 수는 있다.

굳이 NLTK를 활용하고자 한다면 TextBlob으로 시작하는 편이 좋다.

Pattern

인기 있는 웹사이트를 scrape하고 내용을 분석하는 것이 전부라면 패턴을 사용 하는 것이 좋다.

이 자연어 처리 라이브러리는 여기서 설명한 다른 라이브러리보다 훨씬 더 작 고 범위도 좁지만, 이 한 가지 작업에 집중해서 잘 해낸다.

패턴에는 인기 있는 여러 웹서비스와 소스(구글, 위키피디아, 트위터, 페이스북, 일반 RSS 등) 를 스크레이핑하기 위한, 파이썬 모듈로 사용 가능한 기본 기능이 제공된다(예, from pattern. web import Twitter).

새로 만들 필요 없이 기존 툴을 활용해 이와 같은 각 사이트에서 각각 의 특성까지 감안해 데이터를 가져올 수 있다.

가져온 다음에는 데이터를 대상으로 감정 분석 과 같은 다양한 일반적인 NLP 작업을 수행할 수 있다.

패턴은 하위 수준의 일부 기능을 노출하므로 원하는 경우 NLP 함수, n-그램 검색, 벡터, 그래프를 직접 사용할 수 있다.

또한 일반 데이터베이스(MySQL, SQLite, 몽고DB는 예정)를 다루기 위한 헬퍼 라이브러리도 내장돼 있으므로 이전 세션에서 저장됐거나 서드파티에서 입수한 테이블 데이터를 손쉽게 다룰 수 있다.

Polyglot

폴리글롯은 여러 언어를 동시에 취급하는 자연어 처리 애플리케이션을 가능케 한다.

폴리글롯의 NLP 기능은 다른 NLP 라이브러리의 기능과 비슷해 토큰화, 명명된 개체 인식 (named entity recognition), 음성 일부 태깅, 감정 분석, word embeddings 등이 있다.

폴리글롯은 필요한 언어와 호환되는 모델을 제공한다.

참고로 폴리글롯의 언어 지원은 기능마다 차이가 크다.

예를 들어 토큰화 시스템은 200개에 가까운 언어를 지원하며(유니코드 텍스트 세그먼트화 알고리즘을 사용), 감정 분석은 136개 언 어를 지원하지만 음성 일부 태깅은 16개 언어만 지원한다.

https://amzn.to/36T8phj

Hemp Pain Relief Cream 750,000 - Hemp Cream Lotion for Pain Relief and Inflammation with Menthol, MSM, Emu Oil & Arnica - Relieves Muscle, Joint, Arthritis & Back Pain | Made in USA

Hemp Pain Relief Cream 750,000 - Hemp Cream Lotion for Pain Relief and Inflammation with Menthol, MSM, Emu Oil & Arnica - Relieves Muscle, Joint, Arthritis & Back Pain | Made in USA

amzn.to

PyNLPI

PyNLPI(‘파인애플’이라고 읽는다)의 자연어 처리 기능은 기본적인 수준이지만 NLP 데이터 형식을 위한 매우 유용한 데이터 변환 및 데이터 처리 기능을 제공한다.

yNLPI의 NLP 기능 대부분은 strings 또는 Markov chains 간의 Levenshtein distance와 같은 NLP에서 유용한 몇 가지 통계 기능과 함께 토큰화, n-그 램 추출과 같은 기본 작업에 사용된다.

이런 기능은 편의를 위해 순수 파이썬으로 구현되므로 프로덕션 수준의 성능을 기대하기는 어렵다.

그러나 PyNLPI은 NLP 분야에서 나타난 특이한 데이터 유형 및 형식을 다룰 때 빛을 발한다.

PyNLPI은 GIZA, Moses++, SoNaR, Taggerdata, TiMBL 데이터 형식을 읽고 처리할 수 있으며, 말뭉치(번역 또는 기타 분석에 사용되는 텍스트 본문)와 같은 언어 리소스에 주석을 다는 데 사용되는 XML 문서 형식인 FoLiA를 다루기 위한 전용 모듈을 제공한다.

이런 데이터 유형을 다룰 때는 언제나 PyNLPI을 사용하는 것이 좋다.

https://amzn.to/3mIlssa

Instant Relief Hemp Cream - jojoba, MSM & Arnica - Relieves Inflammation, Muscle, Joint, Back, Knee, Nerves & Arthritis - Made in USA

Instant Relief Hemp Cream - jojoba, MSM & Arnica - Relieves Inflammation, Muscle, Joint, Back, Knee, Nerves & Arthritis - Made in USA

amzn.to

SpaCy

파이썬의 편의성과 사이썬의 속도를 활용하는 스페이시는 “산업 등급의 자연어 처리”를 내세운다.

스페이시를 만든 이들은 속도와 모델 크기, 정확성 측면에서 스페이시가 NLTK, 코어 NLP 및 기타 경쟁 라이브러리보다 앞선다고 주장한다.

스페이시의 중요한 단점은 비교적 새로 운 라이브러리인 만큼 영어와 그 외의 소수 언어만 지원한다는 점이다(주로 유럽지역 언어).

그래도 개발 속도는 빨라서, 현재 버전 2.2에 이르렀다.

스페이시에는 speech tagging, dependency parsing, 명명된 개체 인식, 토큰화, sentence segmentation, rule-based match operations, word vectors 등 경쟁 프레임워크에 있는 대부분의 기능이 포함된다.

또한 계산 가속, 복사를 피하기 위한 GPU 데이터 저장, 두 가지 모두를 위한 GPU 작업 최적화 기능도 포함된다.

스페이시의 문서화는 매우 훌륭하다.

설정 마법사는 윈도우, 리눅스, 맥OS와 다양한 파이썬 환경(pip, conda 등)을 위한 명령줄 설치 작업을 생성한다.

언어 모델은 파이썬 패키지로 설치되므로 애플리케이션 종속성 목록의 일부로 추적이 가능하다.

https://amzn.to/3p0FWOA

Webcam with Microphone,1080P HD Webcam Desktop or Laptop, Streaming Webcam for Computer Widescreen Video Calling and Recording, USB Web Camera Built-in Mic, Flexible Rotatable Clip and Tripod…

Webcam with Microphone,1080P HD Webcam Desktop or Laptop, Streaming Webcam for Computer Widescreen Video Calling and Recording, USB Web Camera Built-in Mic, Flexible Rotatable Clip and Tripod…

amzn.to

텍스트블롭

패턴과 NLTK 라이브러리를 위한 친숙한 프론트엔드인 텍스트블롭은 높은 수준의 사용하기 쉬운 인터페이스로 이 2가지 라이브러리를 래핑한다.

텍스트블롭을 사용하면 패턴과 NLTK 의 세부적 부분에 소비하는 시간을 줄이고 결과를 얻는 데 더 많은 시간을 투자할 수 있다.

텍스트블롭은 네이티브 파이썬 객체와 구문을 활용해 이 과정을 간소화한다.

빠른 시작 예제는 처리할 텍스트가 어떻게 단순히 문자열로 취급되는지를 보여준다.

​또한 음성 일부 태깅과 같은 일반적인 NLP 방법을 이런 문자열 객체에 대한 방법으로 사용할 수 있다.

​텍스트블롭의 또 다른 이점은 익숙해져서 자신감이 생기면 내부 기능을 수정할 수 있다는 것 이다.

감정 분석 시스템 또는 tokenizer와 같은 기본 구성 요소의 상당수를 필요에 따라 교체할 수 있다.

또한 여러 구성 요소(sentiment analyzer), classifier 등)를 결합하는 상위 수준 객체를 만들고 최소한의 노력으로 재사용할 수도 있다.

이와 같은 방법으로 텍스트블롭을 사용해 빠르게 프로토타입을 만든 다음 다듬을 수 있다.

https://amzn.to/35Xm6v4

(2 Pack | 240 Pills) Hemp Oil Capsules 3000MG for Pain Relief Anxiety Sleep Mood Immune - Best Natural Organic Hemp Seed Oil Powder Extract, Omega 3 6 9

(2 Pack | 240 Pills) Hemp Oil Capsules 3000MG for Pain Relief Anxiety Sleep Mood Immune - Best Natural Organic Hemp Seed Oil Powder Extract, Omega 3 6 9

amzn.to

5% 캐시백 대리운전(1만원이상 즉시 입금)

https://play.google.com/store/apps/details?id=com.appsheet.whitelabel.guid_a09dea2a_3d79_4095_bd95_133700562ae5

https://amzn.to/2ISGjKG

Hemp Gummies Premium 300,000 MG High Potency - 3333 Per Fruity Gummy Bear with Hemp Oil | Natural Hemp Candy Supplements for Pain, Anxiety, Stress & Inflammation Relief | Promotes Sleep & Calm Mood

Hemp Gummies Premium 300,000 MG High Potency - 3333 Per Fruity Gummy Bear with Hemp Oil | Natural Hemp Candy Supplements for Pain, Anxiety, Stress & Inflammation Relief | Promotes Sleep & Calm Mood

amzn.to

https://amzn.to/37gXpuh

Hemp Oil Gummies for Pain Stress Relief, Anxiety, Relaxing Restful Sleep Immune Support for Adults Kids - Natural Calm Premium Hemp Extract Mood Gummy Bear Edibles Candy (120 Gummies | 1500mg)

Hemp Oil Gummies for Pain Stress Relief, Anxiety, Relaxing Restful Sleep Immune Support for Adults Kids - Natural Calm Premium Hemp Extract Mood Gummy Bear Edibles Candy (120 Gummies | 1500mg)

amzn.to

https://amzn.to/36EvPrJ

Hemp Calming Treats for Dogs - Made In USA - Helps With Dog Anxiety, Separation, Barking, Stress Relief, Thunderstorms and More - Natural Calming Relaxer for Aggressive Behavior - 120 Chews

Hemp Calming Treats for Dogs - Made In USA - Helps With Dog Anxiety, Separation, Barking, Stress Relief, Thunderstorms and More - Natural Calming Relaxer for Aggressive Behavior - 120 Chews

amzn.to

건강전문 mall

www.cantox.kr

Heath Mall

CBD 리포솜 글루타티온 전문

www.cantox.kr

 

반응형

'Python 배우기' 카테고리의 다른 글

class_definition.py  (0) 2016.03.11
default_parameter.py  (0) 2016.03.11
param_args.py  (0) 2016.03.10
functions.py  (0) 2016.03.10
continue_keyword.py  (0) 2016.03.10

댓글