Существуют ли C ++ NLP API? Самое близкое, что я нашел, это CLucene
порт Lucene
, Однако, это кажется немного устаревшим, и документация далека от завершения.
В идеале, этот / эти API-интерфейс (ы) позволят использовать токенизацию, стемминг и маркировку PoS.
Freeling написан также на C ++, хотя большинство людей просто используют свои двоичные файлы для запуска инструментов: http://devel.cpl.upc.edu/freeling/downloads?order=time&убывание = 1
Попробуйте что-то вроде Dynet, это универсальная инфраструктура нейронной сети, но большинство ее процессов сосредоточены на NLP, потому что сопровождающие являются создателями сообщества NLP.
Или возможно Marian-NMT, оно было разработано для машинного перевода модели от последовательности к последовательности, но потенциально многие задачи НЛП могут быть структурированы как задачи от последовательности к последовательности.
Может быть, вы можете попробовать Ellogon http://www.ellogon.org/ , у них есть поддержка GUI, а также C / C ++ API для NLP.
если вы удалите ограничение на C ++, вы получите идеальный NLTK (Python)
оставшееся усилие связывается между Python и C ++.
Апач Люси даст вам часть пути туда. Он находится в стадии активной разработки.
Может быть, вы можете использовать Weka-C ++. Это очень популярно Weka библиотека для машинного обучения и интеллектуального анализа данных (включая NLP), портированная с Java на C ++.
Weka поддерживает лексический анализ а также вытекающие, вам, вероятно, потребуется обучить классификатор для пометки PoS.
Я использовал Weka только с Java, поэтому, боюсь, не могу дать вам более подробную информацию об этой версии.
Есть TurboParser Андре Мартинс из CMU, также имеет оболочку Python. Есть онлайн демо для этого.
Этот проект предоставляет бесплатные (даже для коммерческого использования) современные инструменты извлечения информации. Текущая версия включает в себя инструменты для извлечения именованных сущностей и обнаружения бинарных отношений, а также инструменты для обучения пользовательских экстракторов и детекторов отношений.
MITIE построен на основе высокопроизводительной библиотеки машинного обучения dlib. MITIE использует несколько современных методов, включая использование встраивания распределенных слов и машин опорных векторов [3]. MITIE предлагает несколько предварительно обученных моделей, обеспечивающих различные уровни поддержки как для английского, так и для испанского языков, обученных с использованием различных лингвистических ресурсов (например, CoNLL 2003, ACE, Wikipedia, Freebase и Gigaword). Основное программное обеспечение MITIE написано на C ++, но привязки для нескольких других языков программного обеспечения, включая Python, R, Java, C и MATLAB, позволяют пользователю быстро интегрировать MITIE в свои собственные приложения.