1 имеют шаблоны строк («Правила»), в «категории». например:Matching строка с использованием расстояния Левенштейна и euristics
Категория1
- Lorem Ipsum боль сидеть Амет
- consectetur adipiscing Элит
- Fusce сидят Амет перед использованием, кроме
- Lorem ут семафор interdum molestie
- Вам нравится не только Lorem ут сем иногда телевидение
Категория2
- жить после того, как ворота, не отвечают в правоохранительных концах
- Nam convallis augue включенного в других категориях laoreet WISI Pretium ант
- turpis велит Cursus enim ас suscipit пзиз turpis в Метусе:
Теперь 1 хотят быть в состоянии «классифицировать» строку на основе этих правил. Допустим, мы хотим выяснить, к какой категории относится к увольнению fusce laoreet amet ante nisi
. Моя текущая реализация будет использовать levenshtein distance
реализации и выяснить, что стрельба в основном «выглядит как» fusce sit amet ante nisi
и, следовательно, категория Category1
.
Допустим, мы хотим классифицировать vivamus vel lorem imperdiet sit
. Поскольку порог положить-1/5-й длину строки (то есть стрельба должна быть по крайней мере на 80% похожа на свой матч) на levenshtein distance
алгоритме, строка будет оставаться январем.
В таком случае 1 будет продолжать по следующему алгоритму ...
Из каждой категории, 1 извлечет общее слово «- т.е. слова, которые повторяются между правилами в пределах категории. По пути, те доминирующие слова в данной категории.Таким образом, мы будем иметь:
Категория1
- Lorem:
- 3: 2 фильм
- : 2
- салат: 2
- белок: 2
- телевизор: 2
category2
- страхи: 2
- некрасиво: 2
Сейчас 1 разделит vivamus vel lorem imperdiet sit
строку слово за словом и 1 даст каждой категории значение, в зависимости от того, сколько струнные слова присутствуют в «господствующие словах к данной категории. то есть:
Категория1 будет иметь значение 3 (Lorem) + 2 (а), и Категория2 будет иметь значение 0 (нет совпадения между разделенными словами утра категоризации строка 1 и доминирующими словами, в категории) , Категория высокой стоимости «выигрывает».
Короче говоря, мой алгоритм:
- Используйте расстояние Левенштейн с порогом позволяет 1/5-й строке, чтобы изменить, чтобы найти ближайшее правило соответствия.
- , если это не удается, мы категоризация раскола стрельбы в слова и с каждым словом, проверить, как «доминирующий» это слово в каждой категории, создавая значение для данной категории. Самая высокая категория значение наша догадка.
Есть ли лучший способ сделать это? Вы видите проблему с этим алгоритмом? Любые предложения?