В чем разница между новым пакетом Python для StanfordNLP и оболочкой Python для Core-NLP? - PullRequest
0 голосов
/ 19 мая 2019

Может ли кто-нибудь пролить свет на разницу между нейронным конвейером, используемым в новом собственном пакете Python StanfordNLP: https://stanfordnlp.github.io/stanfordnlp/

и оболочка Python для пакета Java coreNLP https://stanfordnlp.github.io/CoreNLP/?

Это две разные реализации? Я видел, что пакет StanfordNLP имеет собственные нейронные реализации, но также имеет оболочку для пакета CoreNLP, и мне было интересно, зачем вам эта оболочка, если все равно будет перенесено на python?

1 Ответ

0 голосов
/ 20 мая 2019

Две системы совершенно разные. Нейронный конвейер Python примерно соответствует Универсальному анализу зависимостей с нуля , с используемым там анализатором Tensorflow, воспроизведенным в PyTorch. Он обеспечивает полностью нейронный конвейер для многих языков от разделения предложений до разбора зависимостей, использования ресурсов UD , но в настоящее время не поддерживает другие вещи, такие как NER, coreference, извлечение отношений, открытый IE и рукописное сопоставление с образцом, и обучается только на ресурсах UD. CoreNLP , который вы можете использовать через эту или другие оболочки Python, предоставляет все эти другие компоненты для нескольких языков, и некоторые модели, включая английский, обучаются гораздо большему количеству данных. Он имеет преимущества и недостатки многих преднейронных компонентов (быстрый токенизатор! Чисто эвристическое разбиение предложений). Скорее всего, если вы работаете с формальным английским текстом, в настоящее время вы все равно будете лучше работать с CoreNLP. В ряде других случаев вы будете лучше использовать Python stanfordnlp.

...