Существующий API для НЛП в C ++?

Существуют ли C ++ NLP API? Самое близкое, что я нашел, это CLuceneпорт Lucene, Однако, это кажется немного устаревшим, и документация далека от завершения.

В идеале, этот / эти API-интерфейс (ы) позволят использовать токенизацию, стемминг и маркировку PoS.

10

Решение

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.

7

Другие решения

если вы удалите ограничение на C ++, вы получите идеальный NLTK (Python)

оставшееся усилие связывается между Python и C ++.

4

Апач Люси даст вам часть пути туда. Он находится в стадии активной разработки.

3

Может быть, вы можете использовать Weka-C ++. Это очень популярно Weka библиотека для машинного обучения и интеллектуального анализа данных (включая NLP), портированная с Java на C ++.

Weka поддерживает лексический анализ а также вытекающие, вам, вероятно, потребуется обучить классификатор для пометки PoS.

Я использовал Weka только с Java, поэтому, боюсь, не могу дать вам более подробную информацию об этой версии.

3

Есть TurboParser Андре Мартинс из CMU, также имеет оболочку Python. Есть онлайн демо для этого.

1

Этот проект предоставляет бесплатные (даже для коммерческого использования) современные инструменты извлечения информации. Текущая версия включает в себя инструменты для извлечения именованных сущностей и обнаружения бинарных отношений, а также инструменты для обучения пользовательских экстракторов и детекторов отношений.

MITIE построен на основе высокопроизводительной библиотеки машинного обучения dlib. MITIE использует несколько современных методов, включая использование встраивания распределенных слов и машин опорных векторов [3]. MITIE предлагает несколько предварительно обученных моделей, обеспечивающих различные уровни поддержки как для английского, так и для испанского языков, обученных с использованием различных лингвистических ресурсов (например, CoNLL 2003, ACE, Wikipedia, Freebase и Gigaword). Основное программное обеспечение MITIE написано на C ++, но привязки для нескольких других языков программного обеспечения, включая Python, R, Java, C и MATLAB, позволяют пользователю быстро интегрировать MITIE в свои собственные приложения.

https://github.com/mit-nlp/MITIE

1
По вопросам рекламы [email protected]