基本上,在我的文本中,我只想保留名词并删除其他词性。
我认为没有任何自动化的方法可以做到这一点。如果有,请建议。
如果没有自动化的方式,我也可以手动完成,但这需要我获得所有可能的动词、介词、连词或形容词等列表。请问有哪些可能的来源可以提供这些特定的列表?
>>> 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')]
nltk.download('punkt')
使 word_tokenize
起作用,以及使用 nltk.download('averaged_perceptron_tagger')
使 pos_tag
起作用。 - Sohaib Farooqihttps://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
我希望你能开始学习。这个列表比其他很多列表都更加复杂,但它比我用过的任何其他自然语言处理工具都更加丰富。祝你好运,并注意Unicode编码!