Подсчет частоты некоторых слов в некоторых других ключевых словах в текстеPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Подсчет частоты некоторых слов в некоторых других ключевых словах в тексте

Сообщение Anonymous »

У меня есть два набора списков слов: первый я назвал поисковыми словами, а второй я назвал ключевыми словами. Моя цель — рассчитать частоту поисковых слов в пределах 10 ключевых слов. Например, предположим, что слово - acquire - находится в списке ключевых слов, тогда я буду искать слова в списке поисковых слов в пределах 10 слов из acquire. . В пределах 10 слов означают 10 слов вперед от ключевых слов и 10 слов назад от ключевых слов, что означает движение как вперед, так и назад.
Ниже приведено мое поисковое слово и ключевое слово. Списки -

Код: Выделить всё

search_words = ['access control', 'Acronis', 'Adaware', 'AhnLab', 'AI Max Dev Labs', 'Alibaba Security',
'anti-adware', 'anti-keylogger', 'anti-malware', 'anti-ransomware', 'anti-rootkit', 'anti-spyware',
'anti-subversion', 'anti-tamper', 'anti-virus', 'Antiy', 'Avast', 'AVG', 'Avira', 'Baidu', 'Barracuda',
'Bitdefender', 'BullGuard', 'Carbon Black', 'Check Point', 'Cheetah Mobile', 'Cisco', 'Clario',
'Comodo', 'computer security', 'CrowdStrike', 'cryptography', 'Cybereason', 'cybersecurity',
'Cylance', 'data security', 'diagnostic program', 'Elastic', 'Emsisoft', 'encryption', 'Endgame', 'end point security',
'Ensilo', 'eScan', 'ESET', 'FireEye', 'firewall', 'Fortinet', 'F-Secure', 'G Data',
'Immunet', 'information security', 'Intego', 'intrusion detection system', 'K7', 'Kaspersky', 'log management software', 'Lookout',
'MacKeeper', 'Malwarebytes', 'McAfee', 'Microsoft', 'network security',
'NOD32', 'Norton', 'Palo Alto Networks', 'Panda Security', 'PC Matic', 'PocketBits',
'Qihoo', 'Quick Heal', 'records management', 'SafeDNS', 'Saint Security', 'sandbox', 'Sangfor',
'Securion', 'security event management', 'security information and event management',
'security information management', 'SentinelOne', 'Seqrite', 'Sophos',
'SparkCognition', 'steganography', 'Symantec', 'Tencent', 'Total AV', 'Total Defense',
'Trend Micro', 'Trustport', 'Vipre', 'Webroot', 'ZoneAlarm']

key_words = ['acquire', 'adopt', 'advance', 'agree', 'boost', 'capital resource',
'capitalize', 'change', 'commitment', 'complete', 'configure', 'design', 'develop', 'enhance', 'expand',
'expenditure', 'expense', 'implement', 'improve', 'increase', 'initiate', 'install',
'integrate', 'invest', 'lease',
'modernize', 'modify', 'move', 'obtain', 'plan', 'project', 'purchase', 'replace', 'spend',
'upgrade', 'use']
Небольшой пример –

Код: Выделить всё

text_dict = {
'ITEM7':["Last year, from AVG we have acquired Alibaba Security. This year we are in the process \
of adopting Symantec. We believe these technologies will improve our access control. \
Moreover, we also integrated data security diagnostic program.",
"We are planning to install end-point security, which will upgrade intrusion detection system."]
}

df = pd.DataFrame(text_dict)
Мой ожидаемый результат -

Код: Выделить всё

                 ITEM7                          Frequency
Last year, from AVG we have acquired Alibaba S...   6
We are planning to install end-point security,...   2
В первой строке df мы видим слово AVG и Alibaba Security из списка search_words и вокруг этого слова acquire, базовая форма которого — acquire — находится в списке ключевых_слов. Аналогичным образом, Symantec, Access Control, безопасность данных, диагностическая программа взяты из списка search_words, и эти слова находятся в пределах 10 слов после принятия, улучшить, интегрировать из списка ключевых_слов. Таким образом, общее количество слов для поиска составляет 6 (AVG+Alibaba Security+Symantec+Контроль доступа+Безопасность данных+Диагностическая программа). Следовательно, в столбце Частота файла df значение равно 6.
Обратите внимание, что слова в key_words имеют в основном базовую форму, поэтому их вариации (например, усыновление, принятие) также следует считать ключевыми словами.

Подробнее здесь: https://stackoverflow.com/questions/792 ... ds-in-text
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»