В настоящее время я работаю над проектом в Python, который полагается на получение файла csv. Файл csv содержит более нескольких тысяч случайных предложений с некоторым сходством между некоторыми. Цель моего кода - определить, какие предложения являются подобными, и ссылаться на один и тот же контекст контекста.Группировка похожих строк предложений в файле csv
Например, все предложения, которые относятся к Gmail, такие как:
Gmail login
Gmail account login
Gmail account register
относятся к тому же контексте, но могут быть очень далеки друг от друга в файле ввода, вложенными между несвязанными предложений, относящихся к различным условиям. Мой метод я использовал до сих пор является:
Сортировать каждое слово в предложении по алфавиту и строчные буквы, такие как:
счет Gmail Войти
Сделать свой первоначальный индекс в файле его собственный столбец, сортируйте предложения по алфавиту в файле csv, а затем загрузите их в файл данных pandas
Iterte через dataframe и сравните предложения друг с другом. Это делается с помощью метода token_set_ratio FuzzyWuzzy's, чтобы идентифицировать термины, которые соответствуют друг другу (равенство == 100), похожие слова сгруппированы вместе, а затем записаны в файл.
Когда прокручивается дата-рамка, мы затем повторяем его и сопоставляем индекс, который мы сделали, в свой собственный столбец, в соответствующую строку во входном файле, чтобы вернуть исходное предложение.
Этот подход был многообещающим, но он страдает от плохих совпадений и предложений, не имеющих одного и того же контекста, попадающего в ту же группу. Есть ли лучший способ, который делает то, что я хочу сделать?