У меня есть текстовый файл. Я хочу поисковые фразы в этом формате или с пунктуацией или как в формате jumbled word. Я использую Python 3.x. Любую библиотеку python

#python #nlp

#python #nlp

Вопрос:

Test1.txt

.Личная информация и демографическая информация. В Сервисе мы можем попросить вас предоставить нам определенные категории информации, такие как: (1) Личная демографическая информация, которая представляет собой информацию, которая идентифицирует вас лично, например, ваше имя и фамилию, адрес электронной почты, почтовый адрес и платежную информацию, включая номер кредитной карты («Личная информация«); и (2) демографическая информация, такая как информация о вашем поле, детях, профессии, уровне образования и оценках, с которыми вы работаете, если вы профессиональный педагог («Демографическая информация«). Мы можем собирать эту информацию с помощью различных форм и в разных местах Сервиса, включая формы регистрации аккаунта, формы связи с нами, при оформлении заказа при заказе продуктов или когда вы иным образом взаимодействуете с Сервисом. В той мере, в какой мы объединяем демографическую информацию, не идентифицируемую как личность, с личной информацией, которую мы собираем непосредственно от вас на Сервисе, мы будем рассматривать объединенные данные как ЛИЧНУЮ ИНФОРМАЦИЮ в соответствии с настоящей Политикой конфиденциальности.

Фраза = ‘Личная информация и демографическая информация’

Информация:-

Я хочу выполнить поиск по приведенной выше фразе в этом текстовом файле. В этом текстовом файле эти фразы могут быть одинаковыми или одинаковыми или с пунктуацией, или в нижнем или верхнем, или в заголовке, или с пробелом между словами, или без пробела, или с перемешанным словом.

Требование: — Он возвращает выходные данные либо приведенных ниже фраз, либо позиции этих фраз, либо возвращает значение True или False.

Личная информация и демографическая информация, Личная демографическая информация, Личная информация, демографическая информация, Демографическая информация, Лично идентифицируемая демографическая информация, Личная информация, ЛИЧНАЯ ИНФОРМАЦИЯ

Комментарии:

1. Вы должны использовать регулярное выражение. Попробуйте библиотеку re: docs.python.org/3/library/re.html

2. Пожалуйста, предоставьте достаточно кода, чтобы другие могли лучше понять или воспроизвести проблему.

Ответ №1:

Вы можете использовать регулярное выражение:

 with open('file.txt') as f:
    text = f.read()

import re
matches = re.findall(r'((?: personal|demographic)[sw]*informationb)', text, flags=re.I)
 

Вывод:

 ['Demographic Information',
 ' Personal Demographicinformation',
 'demographic information',
 'Demographic Information',
 'Demographic Information with the Personal Information',
 ' PERSONAL INFORMATION']