удалить строки различающиеся по одному символу

12
T7
На сайте с 19.09.2018
Offline
63
#11
webinfo1 #:
Просто надо ещё раз прочитать стартпост

Если настаиваите на буквальном понимании ТС,

iccup :
Как удалить строки различающиеся по одному символу?
iccup #:

да ключи перебираю, встречаются такие строки, например -

stupid face wallpaper

stupid faces wallpaper

То просто взять то, что короче🤣 И, опять Левенштейн с носом.

W1
На сайте с 22.01.2021
Offline
306
#12
timo-71 #:
просто взять то, что короче

ОК, что короче:

stupid face wallpaper
или
abrakadabra


Мой форум - https://webinfo.guru –Там я всегда на связи
T7
На сайте с 19.09.2018
Offline
63
#13
webinfo1 #:
stupid face wallpaper
или
abrakadabra
Ну да, тихонько подходим к тому, что на 1000 для каждого надо сделать 999 проверок и в результате
Interactive shell

php > $sim = levenshtein('wallpaper stupid face', 'stupid faces wallpaper');
php > print $sim;
20
php > $sim = levenshtein('face wallpaper stupid', 'stupid faces wallpaper');
php > print $sim;
15
php > $sim = levenshtein('stop id face wallpaper', 'stupid face wallpaper');
php > print $sim;
2
php > $sim = levenshtein('stupid face wallpaper', 'stupid faces wallpaper');
php > print $sim;
1

И ничего практически не получить. Вместо  abrakadabra ведь может быть  все что угодно

И это предлагается вместо простого, проверенного решения - лемма/стем, сортировка. Дающего, еще и кучу ништяков. 

Для пыха варианты  в 15-20 строк : стемер(отдельно строки считаются),  выполнить внешнюю программу mystem там или еще чего. Внешние сервисы лемматизации.

ladamalina/php-lingua-stem-ru
ladamalina/php-lingua-stem-ru
  • ladamalina
  • github.com
Извлечение корня из русского слова, без словаря. Стеммер Портера — алгоритм стемминга, опубликованный Мартином Портером в 1980 году. Оригинальная версия стеммера была предназначена для английского языка. Впоследствии Мартин создал проект «Snowball» и, используя основную идею алгоритма, написал стеммеры для распространённых индоевропейских...
Алеандр
На сайте с 08.12.2010
Offline
205
#14

Да-да, а потом окажется, что при выборке "wanna on bitch" и "wanna on beatch", при разнице всего в пару букв, фразы имеют слишком разное значение и не могут быть исключены из списка сравнения )) А еще, поскольку мы сравниваем все же ключи и разные комбинации при одинаковой лемме могут быть важны, то как откидывать? Например, при сравнении "смотреть из окна" и "смотреть в окно" - лемма будет идентична, поскольку, обычно, междометия, частицы, местоимения и т.д. откидываются для упрощения. Проверить, кстати, проще простого. Вбиваем в яшу "смотреть в окно" и "смотреть в окна" и получаем разную выдачу, хотя лемма одинакова, да и разница всего в эту самую 1 букву, даже откидывать ничего не нужно. Получается, что ни морфология, ни простой перебор в лоб - не помогут в данной задаче.

T7
На сайте с 19.09.2018
Offline
63
#15
Алеандр #:
"wanna on bitch" и "wanna on beatch",

Метод основанный на морфологии - все нормально. Что не удивительно 

bitch_on_wanna
{'cnt': 2, 'keys': [('wanna on bitch', 2, 5)]}
beatch_on_wanna
{'cnt': 2, 'keys': [('wanna on beatch', 2, 5)]}
Алеандр #:
"смотреть в окно" и "смотреть в окна" и получаем разную выдачу, хотя лемма одинакова, да и разница всего в эту самую 1 букву, даже откидывать ничего не нужно.

Просто посложней анализ, но есть методы.

  • Ключи
  • Яндекс XML (можно остановиться тут, посмотрев на разницу выдачи)
  • контент сниппетов + контент х документов из выдачи
  • слова, би(три)граммы задающие скрытые тематики  gensim.models.lsimodel
  • сравнение, анализ
  • профит
По мотивам этого
Gensim: topic modelling for humans
  • radimrehurek.com
Implements fast truncated SVD (Singular Value Decomposition). The SVD decomposition can be updated with new observations at any time, for an online, incremental, memory-efficient training. This module actually contains several algorithms for decomposition of large corpora, a combination of which effectively and transparently allows building LSI...
lutskboy
На сайте с 22.11.2013
Offline
192
#16
разбить фразы на слова. потом етот массив слов сортируем по алфавиту. и дальше similar text
Алеандр
На сайте с 08.12.2010
Offline
205
#17
timo-71 #:
Просто посложней анализ

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

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий