Sentences similarity

User avatar
KVA
Уже с Приветом
Posts: 5382
Joined: 03 Feb 1999 10:01
Location: NJ, USA

Sentences similarity

Post by KVA »

Большому начальству захотелось побыть большим братом и получать алерты когда определённый абзац текста в системе не меняется _существенно_ от месяца к месяцу. Естественно что такое существенно не было сказано и не будет. Определить изменения в общем не проблема. Сейчас сижу играюсь с Levenstein, cosine и т.п. алгоритмами.

Вопрос как определить что существенно и что нет.

Expected return $100MM.
Expected return $10MM.

Количественно изменения маленькие но по сути очень существенные. AI или ML знаний нет поэтому теплится слабая надежда что кто-то посоветует что-то что можно использовать прямо из коробки.
tessob
Уже с Приветом
Posts: 576
Joined: 07 Jan 2016 13:04

Re: Sentences similarity

Post by tessob »

Самое простое, на мой взгляд - это просто описать все векторами 2-грамм или 3-грамм и измерять расстояние между ними, например евклидово (пофигу в вашем случае). Так получится отсортировать все это хозяйство. Манагеры просто пальцем проведут там где граница и все.

В случае n-грамм, чем больше n, тем лучше качество сравнения, но дороже все это хранить и обрабатывать. Если у вас тексты осмысленные, а не CSV дампы из СУБД, то и 1-грамм будет достаточно.
User avatar
KVA
Уже с Приветом
Posts: 5382
Joined: 03 Feb 1999 10:01
Location: NJ, USA

Re: Sentences similarity

Post by KVA »

Тексты осмысленные. n-грамм - это вот это?

https://github.com/feature23/StringSimi ... NET#n-gram
tessob
Уже с Приветом
Posts: 576
Joined: 07 Jan 2016 13:04

Re: Sentences similarity

Post by tessob »

Вектор n-грамм - это некий массив, который просто содержит число данных n-грамм в документе. Например:
1) у нас алфавит из 3х букв: A, B, C.
2) и есть слово AABCBC

Соответственно вектор:
1) 1-грамм = { A:2, B:2, C:2 }
2) 2-грамм = { AA:1, AB:1, BC:2, CB:1 }

Ну и дальше вы просто считаете расстояние.
User avatar
KVA
Уже с Приветом
Posts: 5382
Joined: 03 Feb 1999 10:01
Location: NJ, USA

Re: Sentences similarity

Post by KVA »

Т.е. 1-грамм это тупо количество вхождения каждой буквы в слово?
tessob
Уже с Приветом
Posts: 576
Joined: 07 Jan 2016 13:04

Re: Sentences similarity

Post by tessob »

Ага.

Return to “Вопросы и новости IT”