나는 폴란드어에 대한 단어의 어긋남을 만드는 프로그램을 작성 중입니다. 이 언어에서 줄기는 어떤 경우에 (구개음 화 또는 이동성/순간적 전자 및 기타 효과로 인해) 다를 수 있습니다.스템 comparsion 알고리즘
예를 들어 "karzeł"이라는 단어가 있으며 단어의 기본 사전 형식입니다. 그것은 줄기도 'karzeł'입니다. 그러나이 단어의 genitive 형태는 "karła"이고 줄기는 "karł"입니다. 우리는 여기서 'e'가 사라지고 'rz'가 'r'으로 바뀌는 것을 볼 수 있습니다. 'ZD'-> 'ździ'
내가 싶습니다또 다른 예 :> 줄기 'uździ은'
가 교대가 -
'UZDA'-> 줄기
'uździe'을 'uzd' 사전에 줄기의 기본적인 형태 ('karzeł'와 'uzd')를 저장하고 내 줄기 'karł'또는 'uździ'에 넣을 때 적절한 기본 줄기를 찾습니다. 교대는 줄기 끝에서만 일어나며 최대 4자를 포함합니다.
이를 수행 할 수있는 알고리즘이 있습니까? Levensthein 거리는 모든 글자를 동등하게 취급합니다. 따라서 'barzeł'이라는 단어를 입력하면 'karzeł'을 줄이는 거리가 'karł'을 줄이는 것보다 적습니다.
신경망에 대해서도 생각했지만 단어를 인코딩하는 방법을 모르겠다.
또 다른 아이디어는 역전 된 것과 같은 것을 만드는 알고리즘을 작성하고 가능한 줄기를 만들어 사전에서 찾으려고합니다.
나는 줄기의 기본적인 형태 만 저장하고 그 밖의 모든 것들은 즉석에서 만들고 싶다는 점을 강조하고 싶습니다.
levenshtein distance는 일부 문자 나 문자 시퀀스에 더 많은 가중치를 주도록 사용자 정의 할 수 있습니다. – Pierre