#python #list
#python #Список
Вопрос:
У меня есть некоторый текст, raw_text
и у меня есть массив слов:
VERBS = ['be', 'am', 'is', 'are', 'was', 'were', 'being', 'been']
Я хочу подсчитать, сколько раз используется ЛЮБОЕ из этих слов raw_text
. Регистр не имеет значения, но границы слов будут.
Я уверен, что это выполнимо с помощью регулярных выражений или NLTK. Есть идеи?
Комментарии:
1. Насколько велик
raw_text
? Если он не такой большой, вы можете использоватьCounter(raw_text.split())
его, просто посмотрите на ключи, присутствующие вVERBS
2. Однако @DeepSpace Пробелы — это не то же самое, что границы слов. Это было бы не так просто
3. Проверьте pypi.org/project/gensim или любая другая библиотека НЛП. Все они поддерживают именно этот тип операций прямо из коробки.
4. Это также может представлять интерес: analyticsvidhya.com/blog/2019/07 /…
Ответ №1:
VERBS = ['be', 'am', 'is', 'are', 'was', 'were', 'being', 'been']
raw_text = "This IS example text which we will use to count these words: am, be, is, are"
raw_text2 = " " raw_text.lower() " "
cnt = 0
for verb in VERBS:
cnt = (len(raw_text2.split(f" {verb} "))-1)
cnt = (len(raw_text2.split(f" {verb},"))-1)
print(cnt)