Как удалить глаголы, предлоги, союзы и т. д. Из моего текста? [закрытый]

в основном в моем тексте я просто хочу сохранить существительные и удалить другие части речи.

Я не думаю, что есть автоматизированный способ для этого. Если есть, пожалуйста, предложите.

Если нет автоматизированного способа, я также могу сделать это вручную, но для этого мне потребуются списки всех возможных глаголов или предлогов, союзов или прилагательных и т. д. Может кто-нибудь предложить возможный источник, где я могу получить эти конкретные списки.

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

вы должны начать.

это больше работы, чем многие другие списки, но это намного богаче чем все остальное, что я использовал для НЛП. Удачи вам, и следите за Юникод!