Форум программистов, компьютерный форум CyberForum.ru

Алгоритм шинглов - сравнить тексты по методу шинглов - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
unbelievable
0 / 0 / 0
Регистрация: 01.01.2011
Сообщений: 79
14.04.2012, 00:08     Алгоритм шинглов - сравнить тексты по методу шинглов #1
Нужно сравнить тексты по методу шинглов. Теория по этому методу тут: http://www.codeisart.ru/python-shingles-algorithm/

Мне пока удалось сделать канонизацию текста. Дальше нужно разбить текст на шинглы, найти контрольные суммы и найти одинаковые подпоследовательности. Вот наработки (мало, но что имею)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#include <iostream>
 
#include <string>
using namespace std;
 
int main()
{
 
    string stopwords[5];
    string stopsymbols[5];
    string s = "Or me, or you- and; me:";
    int len = s.length();
 
 
 
 
 
    stopwords[0] = "and";
    stopwords[1] = "or";
    stopwords[2] = "no";
    stopwords[3] = "not";
    stopwords[4] = "if";
 
    stopsymbols[0] = ".";
    stopsymbols[1] = ",";
    stopsymbols[2] = "-";
    stopsymbols[3] = ";";
    stopsymbols[4] = ":";
 
 
 
for(int i = 0; i < 5; i++)
    {
        int pos = 0;
        while((pos = s.find(stopwords[i], pos)) != s.npos)
        {
            s.erase(pos, stopwords[i].size());
        }
    }
 
        for(int i = 0; i < 5; i++)
    {
        int pos = 0;
        while((pos = s.find(stopsymbols[i], pos)) != s.npos)
        {
            s.erase(pos, stopsymbols[i].size());
        }
    }
        cout << "canonize string " << s << endl;
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.04.2012, 00:08     Алгоритм шинглов - сравнить тексты по методу шинглов
Посмотрите здесь:

Тексты(строки) в с++ C++
Уровнения по Методу Холецкого C++
C++ [C++] обращение к методу string
C++ Дан алгоритм нахождения обратной матрицы. По нему хочу написать код. Но непонятно по какому методу он работает.
Задача на тексты. C++
C++ Напишите программу замены в тексте всех букв «а» на «о» и наоборот с учетом регистра. Выведите исходные и преобразованный тексты.
C++ Блох схема к методу
C++ Обращение методу в объекте**

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 18:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru