2012-01-13 7 views
16

나는 두 단어가있는 경우, 여러 언어로, 알고 싶어두 단어의베이스가 같은지 확인하는 방법?

  • 중 같은 단어,
  • 또는 동일한 단어의 문법적 변형. 예를 들어

:

  • hadhas 동일한베이스를 가지고 두 경우에있어서, 상기 동사 have,
  • citycities가 동일한베이스를 가지고있다.
  • wentgone은 동일한 염기를 갖는다.

Microsoft Word API를 사용하여 맞춤법 검사 텍스트뿐만 아니라 한 단어를 기본 단어로 정규화하거나 적어도 두 단어가 같은 기준을 사용하는지 확인하는 방법이 있습니까?

그렇지 않은 경우, 내가 할 수있는 (무료 또는 유료) 라이브러리 (웹 서비스가 아님)는 무엇입니까 (여러 언어로)?

+0

당신이 여러 언어로 수행 싶은 말은, 당신은 당신이 비교하는 단어가 하나의 비교 다른 언어가 될 수 있음을 의미합니까? 예를 들어 영어 단어 '도시'가 독일어 단어 'Stadt'와 일치하는 것으로 표시되어야합니까? 아니면 적어도 두 단어가 같은 사전에 살고 있다고 생각합니까? –

+0

@ M.Babcock : 영어 만 영어로, 독일어는 독일어로 비교하기 때문에 한 번에 하나의 사전 만 필요합니다. –

+3

검색에 도움이된다면 그 용어는 "형태소 분석"입니다 (http://en.wikipedia.org/wiki/Stemming 참조). – ruakh

답변

2

Inflector.NET은 영명의 굴절을 정규화하는 데 사용할 수있는 공개 소스 라이브러리입니다. 제공 가능 : https://github.com/davidarkemp/Inflector/tree/master/Inflector

+0

(1) 영어로만 보입니다.(2) 영어에 대해서조차도 작동하지 않을 것입니다. 비록 내가 질문에 제시 한 세 가지 예 중 하나 (도시/도시)에서 작동하더라도, 다른 두 가지 경우에는 실패합니다. 영문법. –

+0

@MainMa, 클래스는 추가 "가장자리 경우"를 허용합니다. 이 수업은 ** 명사 **에서만 작동합니다 (반영하기 위해 답변을 업데이트했습니다). 영어 만 사용하는 것이 맞지만보다 현지화 된 구현에서 디자인 패턴을 활용할 수 있습니다. 행운을 빕니다 – smartcaveman

1

Snowball은 다양한 자연 언어를 처리 할 수있는 형태소 분석 API이며 다양한 프로그래밍 언어에 대한 Snowball 구현이 있습니다.

http://snowball.tartarus.org/

관련 문제