import React from 'react' import PropTypes from 'prop-types' import { StaticQuery, graphql } from 'gatsby' import { LandingHeader, LandingTitle, LandingSubtitle, LandingGrid, LandingCard, LandingCol, LandingDemo, LandingBannerGrid, LandingBanner, LandingLogos, } from '../components/landing' import { H2 } from '../components/typography' import { Ul, Li } from '../components/list' import Button from '../components/button' import Link from '../components/link' import courseImage from '../../docs/images/course.jpg' import BenchmarksChoi from 'usage/_benchmarks-choi.md' const CODE_EXAMPLE = `# pip install spacy # python -m spacy download en_core_web_sm import spacy # Load English tokenizer, tagger, parser, NER and word vectors nlp = spacy.load("en_core_web_sm") # Process whole documents text = ("When Sebastian Thrun started working on self-driving cars at " "Google in 2007, few people outside of the company took him " "seriously. “I can tell you very senior CEOs of major American " "car companies would shake my hand and turn away because I wasn’t " "worth talking to,” said Thrun, in an interview with Recode earlier " "this week.") doc = nlp(text) # Analyze syntax print("Noun phrases:", [chunk.text for chunk in doc.noun_chunks]) print("Verbs:", [token.lemma_ for token in doc if token.pos_ == "VERB"]) # Find named entities, phrases and concepts for entity in doc.ents: print(entity.text, entity.label_) ` /** * Compute the overall total counts of models and languages */ function getCounts(langs = []) { return { langs: langs.length, modelLangs: langs.filter(({ models }) => models && !!models.length).length, starterLangs: langs.filter(({ starters }) => starters && !!starters.length).length, models: langs.map(({ models }) => (models ? models.length : 0)).reduce((a, b) => a + b, 0), starters: langs .map(({ starters }) => (starters ? starters.length : 0)) .reduce((a, b) => a + b, 0), } } const Landing = ({ data }) => { const counts = getCounts(data.languages) return ( <> Industrial-Strength
Natural Language
Processing
in Python
spaCy is designed to help you do real work — to build real products, or gather real insights. The library respects your time, and tries to avoid wasting it. It's easy to install, and its API is simple and productive. We like to think of spaCy as the Ruby on Rails of Natural Language Processing. spaCy excels at large-scale information extraction tasks. It's written from the ground up in carefully memory-managed Cython. Independent research in 2015 found spaCy to be the fastest in the world. If your application needs to process entire web dumps, spaCy is the library you want to be using. spaCy is the best way to prepare text for deep learning. It interoperates seamlessly with TensorFlow, PyTorch, scikit-learn, Gensim and the rest of Python's awesome AI ecosystem. With spaCy, you can easily construct linguistically sophisticated statistical models for a variety of NLP problems. {CODE_EXAMPLE}

Features

Advanced NLP with spaCy: A free online course

In this free and interactive online course you’ll learn how to use spaCy to build advanced natural language understanding systems, using both rule-based and machine learning approaches. It includes{' '} 55 exercises featuring videos, slide decks, multiple-choice questions and interactive coding practice in the browser.
Prodigy is an annotation tool so efficient that data scientists can do the annotation themselves, enabling a new level of rapid iteration. Whether you're working on entity recognition, intent detection or image classification, Prodigy can help you train and evaluate your models faster. Stream in your own examples or real-world data from live APIs, update your model in real-time and chain models together to build more complex systems.
Learn more from small training corpora by initializing your models with{' '} knowledge from raw text. The new pretrain command teaches spaCy's CNN model to predict words based on their context, producing representations of words in contexts. If you've seen Google's BERT system or fast.ai's ULMFiT, spaCy's pretraining is similar – but much more efficient. It's still experimental, but users are already reporting good results, so give it a try!

Benchmarks

In 2015, independent researchers from Emory University and Yahoo! Labs showed that spaCy offered the{' '} fastest syntactic parser in the world and that its accuracy was within 1% of the best available ( Choi et al., 2015 ). spaCy v2.0, released in 2017, is more accurate than any of the systems Choi et al. evaluated.

) } Landing.propTypes = { data: PropTypes.shape({ repo: PropTypes.string, languages: PropTypes.arrayOf( PropTypes.shape({ models: PropTypes.arrayOf(PropTypes.string), }) ), logosUsers: PropTypes.arrayOf( PropTypes.shape({ id: PropTypes.string.isRequired, url: PropTypes.string.isRequired, }) ), logosPublications: PropTypes.arrayOf( PropTypes.shape({ id: PropTypes.string.isRequired, url: PropTypes.string.isRequired, }) ), }), } export default () => ( } /> ) const landingQuery = graphql` query LandingQuery { site { siteMetadata { repo languages { models starters } logosUsers { id url } logosPublications { id url } } } } `