Код: Выделить всё
print(df)
names
--------------------------------
0 U.S.A.
1 United States of America
2 USA
4 US America
5 Kenyan Footbal League
6 Kenyan Football League
7 Kenya Football League Assoc.
8 Kenya Footbal League Association
9 Tata Motors
10 Tat Motor
11 Tata Motors Ltd.
12 Tata Motor Limited
13 REL
14 Reliance Limited
15 Reliance Co.
Код: Выделить всё
print(df)
names group_name
---------------------------------------------
0 U.S.A. USA
1 United States of America USA
2 USA USA
4 US America USA
5 Kenyan Footbal League Kenya Football League
6 Kenyan Football League Kenya Football League
7 Kenya Football League Assoc. Kenya Football League
8 Kenya Footbal League Association Kenya Football League
9 Tata Motors Tata Motors
10 Tat Motor Tata Motors
11 Tata Motors Ltd. Tata Motors
12 Tata Motor Limited Tata Motors
13 REL Reliance
14 Reliance Limited. Reliance
15 Reliance Co. Reliance
Итак, существует ли какой-либо программный подход для решения такого сценария?
Я пробовал выполнить нечеткое сопоставление с использованием библиотек difflib и fuzzywuzzy, но даже окончательные результаты не являются конкретными. Часто difflib просто совпадает по таким словам, как «ограниченный», «ассоциация» и т. д. даже несмотря на то, что они будут относиться к двум разным именам, общим словом среди которых являются просто «ассоциация» или «ограниченный».
Любая помощь приветствуется.
РЕДАКТИРОВАТЬ:
Даже если я создам список стоп-слов со такими словами, как «ассоциация», «ограниченный», «сотрудничество», «группа» и т. д., есть вероятность пропустить эти стоп-слова. имена, когда они упоминаются по-разному. Например, если «ассоциация» и «ограниченная» упоминаются просто как «ассоциация», «ltd» и «ltd.» есть вероятность, что я пропущу добавление некоторых из них в список стоп-слов.
Я уже пробовал тематическое моделирование с помощью LDA и NMF, результаты были очень похожи на то, чего я достиг ранее, используя библиотеки difflib и fuzzywuzzy. И да, я выполнил всю предварительную обработку (преобразование в нижний регистр, leamtization, обработку дополнительных пробелов) перед любым из этих подходов
Подробнее здесь: https://stackoverflow.com/questions/566 ... -in-pandas
Мобильная версия