spaCy

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
SpaCy
Тип вільне та відкрите програмне забезпечення
natural language processing softwared і research toold
Розробник Matt Honnibald[1]
Мова програмування Python[2]
Ліцензія MIT
Репозиторій github.com/explosion/spaCy
Вебсайт spacy.io

spaCy ([spˈs] spay-SEE) — бібліотека програмного забезпечення з відкритим вихідним кодом для обробки природної мови, написана на мовах програмування Python і Cython[3][4]. Бібліотека розповсюджується під ліцензією MIT, а її основними розробниками є Метью Хоннібал та Інес Монтані, засновники компанії Explosion з розробки програмного забезпечення.

На відміну від NLTK, який широко використовується для навчання та досліджень, spaCy зосереджується на наданні програмного забезпечення для виробничого використання[5][6]. spaCy також підтримує робочі процеси глибокого навчання, які дозволяють підключати статистичні моделі, навчені популярними бібліотеками машинного навчання, такими як TensorFlow, PyTorch або MXNet, через власну бібліотеку машинного навчання Thinc[7][8]. Використовуючи Thinc як бекенд, spaCy пропонує моделі згорткових нейронних мереж для розмічування частин мови, розбору залежностей, категоризації тексту та розпізнавання іменованих сутностей (РІС). Попередньо створені моделі нейронних мереж для виконання цього завдання доступні для 17 мов, серед яких українська поки відсутня, хоча є багатомовна модель РІС. Додаткова підтримка токенізації для більш ніж 65 мов дозволяє користувачам також навчати власні моделі на власних наборах даних[9].

Історія[ред. | ред. код]

  • Версія 1.0 була випущена 19 жовтня 2016 року і мала попередню підтримку робочих процесів глибокого навчання за допомогою підтримки конвеєрів обробки налаштувань[10]. Крім того, містився узгоджувач правил, який підтримував анотацію об'єктів, та офіційно задокументований навчальний API.
  • Версія 2.0 була випущена 7 листопада 2017 року та представила моделі згорткових нейронних мереж для 7 різних мов[11]. Також підтримувалися спеціальні компоненти конвеєру обробки та атрибути розширення, а також мав вбудований компонент для класифікації тексту, який можна навчати.
  • Версія 3.0 була випущена 1 лютого 2021 року та представила найсучасніші конвеєри на основі трансформерів[12]. Також було запроваджено нову систему конфігурації та робочий процес навчання, а також підказки для типів і шаблони проектів. У цій версії була припинена підтримка Python 2.

Основні властивості[ред. | ред. код]

Розширення та інструменти для візуалізації[ред. | ред. код]

Dependency parse tree visualization generated with the displaCy visualizer
Синтаксичне дерево залежностей, створене за допомогою візуалізатора displaCy

spaCy поставляється з кількома розширеннями та візуалізаціями, які доступні як безплатні бібліотеки з відкритим вихідним кодом:

Примітки[ред. | ред. код]

  1. A short introduction to NLP in Python with spaCy — 2017.
  2. The spacy Open Source Project on Open Hub: Languages Page — 2006.
  3. Choi et al. (2015).
  4. Google's new artificial intelligence can't understand these sentences. Can you?. Washington Post. Архів оригіналу за 20 грудня 2016. Процитовано 18 грудня 2016.
  5. Facts & Figures - spaCy. spacy.io (англ.). Архів оригіналу за 4 грудня 2021. Процитовано 4 квітня 2020.
  6. Bird, Steven; Klein, Ewan; Loper, Edward; Baldridge, Jason (2008). Multidisciplinary instruction with the Natural Language Toolkit (PDF). Proceedings of the Third Workshop on Issues in Teaching Computational Linguistics, ACL: 62. doi:10.3115/1627306.1627317. ISBN 9781932432145. Архів оригіналу (PDF) за 14 серпня 2017. Процитовано 12 грудня 2021.
  7. PyTorch, TensorFlow & MXNet. thinc.ai. Архів оригіналу за 9 листопада 2020. Процитовано 4 квітня 2020.
  8. explosion/thinc. GitHub. Архів оригіналу за 12 грудня 2021. Процитовано 30 грудня 2016.
  9. Models & Languages | spaCy Usage Documentation. spacy.io. Архів оригіналу за 12 грудня 2021. Процитовано 10 березня 2020.
  10. explosion/spaCy. GitHub. Архів оригіналу за 12 грудня 2021. Процитовано 8 лютого 2021.
  11. explosion/spaCy. GitHub. Архів оригіналу за 12 грудня 2021. Процитовано 8 лютого 2021.
  12. explosion/spaCy. GitHub. Архів оригіналу за 12 грудня 2021. Процитовано 8 лютого 2021.
  13. Models & Languages - spaCy. spacy.io (англ.). Архів оригіналу за 12 грудня 2021. Процитовано 8 лютого 2021.
  14. Models & Languages | spaCy Usage Documentation. spacy.io (англ.). Архів оригіналу за 12 грудня 2021. Процитовано 8 лютого 2021.
  15. Benchmarks | spaCy Usage Documentation. spacy.io (англ.). Архів оригіналу за 4 грудня 2021. Процитовано 8 лютого 2021.
  16. Trask et al. (2015). sense2vec - A Fast and Accurate Method for Word Sense Disambiguation In Neural Word Embeddings.

Посилання[ред. | ред. код]