spaCy는 Python의 고급 NLP(자연어 처리)를 위한 무료 오픈 소스 라이브러리입니다. 프로덕션 사용을 위해 특별히 설계되었으며 많은 양의 텍스트를 처리하고 이해하는 애플리케이션을 구축하는 데 도움이 됩니다.
json을 자바스크립트 배열로
치트 시트를 다운로드할 수 있습니다 여기 !
시작하기
$ pip install spacy
import spacy
통계 모델
통계 모델 다운로드
품사 태그, 종속성 레이블, 명명된 엔터티 등을 예측합니다. 여기를 보아라 사용 가능한 모델의 경우.
$ python -m spacy download en_core_web_sm
설치된 모델이 최신 버전인지 확인하십시오.
$ python -m spacy validate
통계 모델 로드
import spacy # Load the installed model 'en_core_web_sm' nlp = spacy.load('en_core_web_sm')
문서, 토큰 및 범위
텍스트 처리
|_+_|로 텍스트 처리 개체는 |_+_|를 반환합니다. 토큰, 언어적 특징 및 관계에 대한 모든 정보를 보유하는 개체입니다.
nlp
토큰 속성 액세스
Doc
스팬
범위 액세스
스팬 지수는 독점적 인 . 그래서 |_+_| 토큰 2에서 시작하여 최대 – 포함하지 않는 범위입니다! – 토큰 4.
doc = nlp('This is a text')
수동으로 범위 만들기
doc = nlp('This is a text') # Token texts [token.text for token in doc] # ['This', 'is', 'a', 'text']
언어적 특징
속성은 레이블 ID를 반환합니다. 문자열 레이블의 경우 밑줄이 있는 속성을 사용합니다. 예: |_+_|.
품사 태그(통계 모델로 예측)
doc[2:4]
구문 종속성(통계 모델로 예측)
doc = nlp('This is a text') span = doc[2:4] span.text # 'a text'
명명된 엔터티(통계 모델로 예측)
# Import the Span object from spacy.tokens import Span # Create a Doc object doc = nlp('I live in New York') # Span for 'New York' with label GPE (geopolitical) span = Span(doc, 3, 5, label='GPE') span.text # 'New York'
문장(일반적으로 종속성 구문 분석기가 필요함)
token.pos_
기본 명사구(태거 및 파서 필요)
doc = nlp('This is a text.') # Coarse-grained part-of-speech tags [token.pos_ for token in doc] # ['DET', 'VERB', 'DET', 'NOUN', 'PUNCT'] # Fine-grained part-of-speech tags [token.tag_ for token in doc] # ['DT', 'VBZ', 'DT', 'NN', '.']
라벨 설명
doc = nlp('This is a text.') # Dependency labels [token.dep_ for token in doc] # ['nsubj', 'ROOT', 'det', 'attr', 'punct'] # Syntactic head token (governor) [token.head.text for token in doc] # ['is', 'is', 'text', 'is', 'is']
시각화
⚠️ Jupyter 노트북을 사용 중이라면 |_+_|를 사용하세요. 그렇지 않으면 |_+_|를 사용하십시오. 웹 서버를 시작하고 브라우저에 시각화를 표시합니다.
vue js 폼 빌더
doc = nlp('Larry Page founded Google') # Text and label of named entity span [(ent.text, ent.label_) for ent in doc.ents] # [('Larry Page', 'PERSON'), ('Google', 'ORG')]
종속성 시각화
doc = nlp('This a sentence. This is another one.') # doc.sents is a generator that yields sentence spans [sent.text for sent in doc.sents] # ['This is a sentence.', 'This is another one.']
단어 벡터 접근
doc = nlp('I have a red car') # doc.noun_chunks is a generator that yields spans [chunk.text for chunk in doc.noun_chunks] # ['I', 'a red car']
파이프라인 구성 요소
|_+_| 객체를 수정하고 반환합니다.
www,netflix.com/activate
파이프라인 정보
spacy.explain('RB') # 'adverb' spacy.explain('GPE') # 'Countries, cities, states'
사용자 정의 구성 요소
displacy.render
구성 요소를 추가할 수 있습니다 |_+_|, |_+_| (기본값) 또는 |_+_| 또는 |_+_| 기존 구성 요소.
확장 속성
글로벌 |_+_|, |_+_|에 등록된 사용자 정의 속성 그리고 |_+_| 클래스를 만들고 |__+_|로 사용할 수 있게 됩니다.
displacy.serve
속성 확장(기본값 포함)
from spacy import displacy
속성 확장(getter 및 setter 포함)
doc = nlp('This is a sentence') displacy.render(doc, > 
Visualize named entities
doc = nlp('Larry Page founded Google') displacy.render(doc, >

Word vectors and similarity
⚠️ To use word vectors, you need to install the larger models ending in md
메서드 확장(호출 가능한 메서드)
lg
규칙 기반 일치
매처 사용
example en_core_web_lg
토큰 패턴
doc1 = nlp('I like cats') doc2 = nlp('I like dogs') # Compare 2 documents doc1.similarity(doc2) # Compare 2 tokens doc1[2].similarity(doc2[2]) # Compare tokens and spans doc1[0].similarity(doc2[1:3])
연산자 및 수량자
토큰 사전에 |_+_|로 추가할 수 있습니다. 열쇠.
일반 배열 생성

용어 사전

#python #데이터 과학 #기계 학습
www.datacamp.com
spaCy 치트 시트: Python의 고급 NLP
spaCy는 Python의 고급 NLP(자연어 처리)를 위한 무료 오픈 소스 라이브러리입니다. 프로덕션 사용을 위해 특별히 설계되었으며 많은 양의 텍스트를 처리하고 '이해'하는 응용 프로그램을 구축하는 데 도움이 됩니다.