Написать собственный стеммер для - PullRequest
0 голосов
/ 26 февраля 2019

У меня есть набор данных из 27 файлов, каждый из которых содержит коды операций.Я хочу использовать stemming для отображения всех версий похожих кодов операций в один и тот же код операции.Например: push, pusha, pushb и т. Д. Будут сопоставлены для push.

Мой словарь содержит 27 клавиш, и каждая клавиша имеет список кодов операций в качестве значения.Поскольку значения содержат коды операций, а не нормальные английские слова, я не могу использовать обычный модуль stemmer.Мне нужно написать свой собственный кодТакже я не могу жестко закодировать пользовательский словарь, который отображает различные версии кодов операций в корневой код операции, потому что у меня огромный набор данных.

Я думаю, что выражение регулярного выражения было бы хорошей идеей, но я не знаю, как его использовать.Может ли кто-нибудь помочь мне с этой или любой другой идеей написать свой собственный код?

1 Ответ

0 голосов
/ 26 февраля 2019

Я бы порекомендовал взглянуть на метрику расстояния Левенштейна - она ​​измеряет расстояние между двумя словами с точки зрения вставки, удаления и замены символов (так что push и pusha будут на расстоянии 1 друг от друга, если вы выполните ~ наиболее обычную процедуру взвешиваниявставки = удаления = замены = 1 каждая).Исходя из написанного вами примера, вы можете попытаться просто установить категории, которые находятся на расстоянии 1 друг от друга.Тем не менее, я не знаю, будут ли все ваши эквивалентные коды операций такими похожими - если они не leven, может не сработать.

...