Методы автоматического обнаружения синонимов

В настоящее время я работаю над подходом к классификации коротких документов, основанным на нейронных сетях, и, поскольку корпуса, с которыми я работаю, обычно состоят из десяти слов, стандартные методы статистической классификации документов имеют ограниченное применение. В связи с этим я пытаюсь реализовать некоторую форму автоматического обнаружения синонимов для совпадений, представленных в обучении. Мой вопрос более конкретно касается разрешения ситуации следующим образом:

Скажем, у меня есть классификация "Вовлечение еды",и одна из «Вовлекающих сфер» и следующий набор данных:

"Eating Apples"(Food);"Eating Marbles"(Spheres); "Eating Oranges"(Food, Spheres);
"Throwing Baseballs(Spheres)";"Throwing Apples(Food)";"Throwing Balls(Spheres)";
"Spinning Apples"(Food);"Spinning Baseballs";

Я ищу пошаговый метод, который будет двигаться к следующим связям:

Eating --> Food
Apples --> Food
Marbles --> Spheres
Oranges --> Food, Spheres
Throwing --> Spheres
Baseballs --> Spheres
Balls --> Spheres
Spinning --> Neutral
Involving --> Neutral

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

7
задан Slater Victoroff 6 July 2012 в 22:03
поделиться