2013-05-29 1 views
2

C#에서 자연어 처리를위한 라이브러리가 있습니까? '<xyz>은 무엇입니까?'와 같은 질문이 주어집니다. '<xyz>은 (는) 만료됩니다.' 일부 데이터 원본을 검색하고 의미있는 결과를 반환하는 데 도움이되는 특성을 추출하고 싶습니다. 예 :C#의 자연어 프로그래밍 솔루션?

예 : '무엇'은 나에게 '정의'라는 단어와 '나에게'타임 라인 '을주는 때를주는 질문에서. 질문을 언급하고 이러한 범주로 매핑하는 제한된 단어 데이터베이스를 사용하여 간단하게 프로그래밍 할 수 있지만 NLP가 문제에 대한 더 나은 대우를 제공합니까?

또한, I는 다양한 데이터 소스를 하나, 둘, 셋 말을하고 난 나 데이터 소스를 결정하는 데 도움이 키워드의 긴 목록, 예를 들어 대한

가 필요합니다. xyz는 'one'에 매핑되고 abc는 'two'에 매핑됩니다.

자연어 처리를 사용하여 어떤 단어가 어떤 카테고리에 속하는지 이해하려면 어떻게해야합니까? 또는 동일한 작업을 수행하는 더 좋은 방법이 있습니까? FullTextSearch의 모든 응용 프로그램은 여기에 있습니까?

+0

나는 이것을 위해 오픈 소스를 통해 마이크로 소프트가 만든 솔루션을 선호 할 것입니다. – tina

+0

웹 서비스를 고려해 주시겠습니까? 또는 로컬 처리가 절대적으로 필요합니까? – Blacksad

+0

웹 서비스를 고려할 수는 있지만 실시간으로 처리해야합니다. 이것은 IM 요청 - 거의 즉각적인 응답 상황에서 사용됩니다. 웹 서비스가 그러한 성능을 제공 할 수 있습니까? 나는 그것에 대해 확신하지 못한다. 당신은 내 자신의 자연 언어 프로세서를 만드는 방법에 대해 어떻게 제안 할 수 있습니까? 나는 전치사, 공통 명사, 목록과 비교 될 적절한 이름을 추출하는 것과 같은 것들을 걸러 낼 것을 생각하고있다. 이것에 대해 갈 수있는 합리적인 방법입니까? – tina

답변

1

OpenNLP을 살펴보십시오. 나는 그것을 텍스트에서 명사, 동사 등을 추출하기 위해 사용했다. 하지만 다른 기능도 있습니다. IKVM으로 C#으로 이식 할 수 있습니다.

또한 자바 기반이지만 Mallet을 확인하십시오.

2

Antelope를 Proxem에서 시도하고 SharpNLP 제 3 자 라이브러리를 자연 언어 처리 용으로 사용해 볼 수 있습니다. 불행히도 microsoft 만든 라이브러리는 현재 NLP에 없습니다. 하지만 당신은 SQL 서버와 semantic search 체크 아웃 할 수 있습니다 귀하의 문제에 도움이 될 수도 있습니다.