У меня есть ключевые слова в виде столбца в кадре данных (D1) , которые составляют 1 грамм, 2 грамма, а в некоторых случаях также 3 грамма.Мне нужно найти эти граммы в другом столбце dataframe (D2) как имеющие фразы и подсчитать количество n-граммов, чтобы обеспечить их некоторый вес.
Я пытался использовать вложенные циклы, но это слишком дорого с вычислительной точки зрения, кроме того, результаты, которые я получаю, довольно разочаровывают, одинаковые символы, такие как 'a' in ', также совпадают.
word_list = data['Words'].values.tolist() #converting the keywords into a list
s = pd.Series({w: pos_phrases.Phrases.str.contains(w, flags=re.IGNORECASE).sum() for w in word_list})
Фразы находятся в pos_phrases под Фразами.Вот некоторые из ключевых слов:
«высокая точность», «hi-fi», «хирургический», «прямой», «верный», «мертвый на цели», «широкий от знака»и т. д.
Фразы как разговор двух людей.например,
Пример фразы : «Привет, Добрый вечер, как поживаешь?: «Добрый вечер», «насыщенный событиями», «событие»
здесь, «событие» должно не совпадать, потому что оноявляется частью "насыщенной событиями".Тем не менее, это совпадает.Я надеюсь, что смогу объяснить мое требование.