Как удалить глаголы, предлоги, союзы и т. Д. Из моего текста?
В основном в моем тексте я просто хочу сохранить существительные и удалить другие части речи.
Я не думаю, что есть какой-либо автоматизированный способ для этого. Если есть, пожалуйста, предложите.
Если нет автоматизированного способа, я также могу сделать это вручную, но для этого мне потребуются списки всех возможных, скажем, глаголов или предлогов, союзов или прилагательных и т. Д. Может кто-нибудь, пожалуйста, предложить возможный источник, где я могу получить эти конкретные списки.
2 ответа
Вы можете использовать метку части речи NLTK, чтобы пометить каждое слово, а затем оставить только существительные. Вот пример тега NLTK, взятого с домашней страницы NLTK:
>>> import nltk
>>> sentence = """At eight o'clock on Thursday morning
... Arthur didn't feel very good."""
>>> tokens = nltk.word_tokenize(sentence)
>>> tokens
['At', 'eight', "o'clock", 'on', 'Thursday', 'morning',
'Arthur', 'did', "n't", 'feel', 'very', 'good', '.']
>>> tagged = nltk.pos_tag(tokens)
>>> tagged[0:6]
[('At', 'IN'), ('eight', 'CD'), ("o'clock", 'JJ'), ('on', 'IN'),
('Thursday', 'NNP'), ('morning', 'NN')]
В вашем случае вы бы сохранили каждый элемент tagged
список, в котором есть тег, начинающийся с N, т. е. все существительные, а остальные отбрасывают. Проверьте полный список тегов; Вы также можете включить иностранные слова (FW), например.
NLTK бесплатен и поставляется со своими собственными наборами данных, которые также бесплатны. Вам не нужно будет создавать списки предлогов и так далее.
На ручном конце.
Викисловорная свалка.
https://dumps.wikimedia.org/enwiktionary/20140609/
Я бы просто пропустил дамп полной статьи в любом аромате и просто пошел с тезисами. Он содержит слово класс. Удачи, форматирование это зверь.
чтобы начать в питоне:
import xml.etree.ElementTree as ET
wiktionary = file('/path/to/wiktionary.xml')
tree = ET.iterparse(wiktionary.xml)
for event, elem in tree:
if elem.tag == your_target_tag:
do magic
Должен начать.
Это больше работы, чем многие другие списки, но гораздо богаче, чем все, что я использовал для НЛП. Желаем удачи, и будьте осторожны с Юникодом!