Как удалить глаголы, предлоги, союзы и т. д. Из моего текста? [закрытый]
в основном в моем тексте я просто хочу сохранить существительные и удалить другие части речи.
Я не думаю, что есть автоматизированный способ для этого. Если есть, пожалуйста, предложите.
Если нет автоматизированного способа, я также могу сделать это вручную, но для этого мне потребуются списки всех возможных глаголов или предлогов, союзов или прилагательных и т. д. Может кто-нибудь предложить возможный источник, где я могу получить эти конкретные списки.
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), например.
НЛТК свободно к используйте, и он поставляется со своими собственными наборами данных, которые также бесплатны. Вам не придется составлять списки предлогов и так далее.
на ручном конце.
дамп wiktionary.
https://dumps.wikimedia.org/enwiktionary/20140609/
Я бы просто пропустил дамп полных статей в любом вкусе и просто пошел с абстракциями. Он содержит слово class. Удачи, форматирование-это зверь.
чтобы начать работу в python:
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
вы должны начать.
это больше работы, чем многие другие списки, но это намного богаче чем все остальное, что я использовал для НЛП. Удачи вам, и следите за Юникод!