.net 자연어처리 (문장 유사도 비교)

C#으로 국문에 대한 NLP가 필요합니다.
예를 들어,

슈퍼로봇대전에 제네식 가오가이가가 참전합니다.

슈퍼로봇대전에 인피니티 마징카이저가 참전합니다.

는 슈퍼로봇대전이라는 곳에 어떤 것이 참전한다는 내용은 일치하지만 '제네식 가오가이가’와 '인피니티 마징카이저’는 다르기 때문에 다른 문장이라고 판별하고 싶고,

슈퍼로봇대전에 인피니티 마징카이저가 참전합니다.

슈퍼로봇대전에 마징카이저가 참전합니다.

는 다르긴하지만 '마징카이저’라는 종류가 같으므로 같은 문장으로 처리하고 싶습니다.

찾아보니 레펜슈타인 거리 측정 알고리즘 및, TextRank 알고리즘 같은 것이 있는 듯한데, 국문에 대해서도 가능한지 모르겠습니다.

아래 링크를 참고 했었지만 잘 이해가 가지 않습니다…

특히 바로 위의 깃허브 페이지는 소스를 다운받아 실행했지만 뭐가 누락되었던건지 특정 폴더를 참조하고 있더군요…

혹시 .NET으로 자연어처리 있으신 분의 경험을 여쭙니다.

좋아요 2

이 지점이 닷넷이 아직 생태계가 약하게 보이는 부분인데요, 안타깝게도 닷넷만으로 구현체가 존재하진 않습니다.

대신 http://konlpy.org/ko/latest/ 등의 구현체를 검토해보시고, 이걸 interop할 수 있는 방법을 찾아보시는것을 추천드립니다.

여기서 중요한것은 처리하고자 하는 문제를 실제로 잘 풀수 있는 성능이니까요.

좋아요 2

아…역시 이 사이트 밖에 없나보군요 ㅠㅠ 여기도 발견하긴 했었는데 Python이라서 .NET 구현체를 찾아다녔었습니다…

답변 감사드립니다!!

좋아요 2

참고로 ironpython 같은 닷넷용 파이썬 런타임이 있지만, 오리지널 파이썬과 격차가 커서 추천하긴 어렵습니다. 3.4 버전이 이제 알파가 출시되었는데, 현재 파이썬은 3.9가 메인 스트림이니까요.

좋아요 2