2009-10-21 3 views
2

저는 이미 C++ 기반이있는 프로젝트를 만들고 있습니다. 일부 자연 언어 처리를위한 플러그인을 갖고 싶습니다. GATE을 정말 좋아하지만 JVM을 시작하고 프로젝트를 C++ 및 Java 부분으로 분할할만한 가치가 있는지는 잘 모르겠습니다. 나는 UIMA이 C++ 프레임 워크를 가지고 있지만 그것을 시도하지는 않았지만 GATE보다 적은 기능을 가진 것으로 보입니다.C++에서 자연어 처리

누구든지 C++에서 GATE를 어떻게 든 감싸는 것보다 더 나은 옵션을 알고 있습니까 (예 : C++의 NLP 라이브러리). GATE를 C++로 랩핑하면 가장 좋은 방법은 무엇입니까? SOA?

감사

답변

1

물론, 정확히 무엇을하고 싶은지에 달려 있습니다.

GATE와 UIMA는 모두 NLP를위한 프레임 워크이며, 주로 정보 관리 및 추출에 대한 개념으로 설계되었습니다. 엄밀히 말하면 GATE는 UIMA보다 더 많은 기능을 가지고 있다고 말하는 것이 타당하지 않습니다. 그러나 GATE는 ANNIE와 함께 번들로 제공됩니다. ANNIE에는 유용 ​​할 수있는 많은 유용한 기능이 있습니다 (다시 원하는대로). UIMA는 OpenNLP 라이브러리와 함께 번들로 제공되지만 일부는 미러링하는 기능이 있지만 Java로 작성되어 있기 때문에 JVM을로드해야합니다.

C++ 라이브러리를 사용하여 GATE/ANNIE 또는 UIMA/OpenNLP와 유사한 기능을 찾을 수 있지만 두 프레임 워크의 장점은 개별 라이브러리를 만들기 위해 '접착제 코드'가 많이 필요하지 않습니다. 서로 대화.

GATE를 C++ 코드로 감싸고 싶지 않은 이유는 무엇입니까? 프로젝트의 복잡성에 추가 할 수 있다고 생각하지만, 성능/메모리에 대한 걱정이라면 JVM이 걱정거리가 될 수 있습니다. NLP 도구는 매우 배가 고픈 경향이 있으며 NER 모델의 절반을 포기하고 통계 파서를 더 많이 사용합니다.

+1

나는 NLP 초보자이므로 통찰력에 감사드립니다! Java에 대한 제 관심사는 언어/컴파일러/등을 추가하여 메모리/속도가 절반이고 프로젝트가 복잡합니다. C++의 UIMA가 GATE보다 리소스가 적은 지 알고 있습니까? 눈에 띄는 차이가 있습니까 (CPU 시간 또는 RAM 소비량에서 20 % 이상)? – User1

+0

죄송합니다. C++ 버전을 사용한 적이 없습니다. 최고의 NLP 라이브러리의 대부분은 어떤 이유로 Java로 작성됩니다. – Stompchicken

0

자연 언어 처리 및 텍스트 분석에 적합한 프로그래밍 언어 인 NLP ++를 살펴 보시겠습니까?

은 여기 시작 receommend :

Getting Started Package for NLP++

이 패키지는 당신이 필요로하는 모든 ++ NLP를 시작하는이 포함되어 있습니다. 예, 새로운 프로그래밍 언어를 배워야하지만 C++과 유사하며 블랙 박스 API를 사용할 필요가 없습니다. 또한 VisualText의 컴파일 된 텍스트 분석기는 다른 C++ 프로젝트에 포함 할 수있는 Visual Studio 솔루션을 만듭니다.

비상업적 인 프로젝트에는 VisualText 및 NLP ++을 무료로 사용할 수 있습니다.

++, 질문을하여 분석기를 토론하고 NLP에 대한 자세한 내용을 보려면하는 NLP ++ 커뮤니티에 가입 :

NLP++ Community

종류의 안부,

도미니크 Holenstein

NLP ++ 커뮤니티 관리자

관련 문제