-2

我目前正在为 ISTQB Testmanager 进行培训。为此,我想使用 ANKI 及其完形填空。

我想自动生成抽认卡,即通过 Python 脚本。这个脚本应该用完形填空替换所有实质性内容。

我的问题是:

如何使用 python 脚本识别文本中的实质性内容?

不幸的是,教学大纲没有德语版本。德语有一个很大的优势,就是实体词是大写的。

4

1 回答 1

1

查看解析或词性标注(词性=词性,例如动词、名词)

patternNLTK为此提供了包。

一个来自模式的例子:

>>> from pattern.en import parse
>>> print parse('I eat pizza with a fork.')

I/PRP/B-NP/O eat/VBD/B-VP pizza/NN/B-NP/O with/IN/B-PP/B-PNP a/DT/B-NP/I-PNP
fork/NN/I-NP/I-PNP ././O/O

NLTK 的一个例子:

>>> text = nltk.word_tokenize("And now for something completely different")
>>> nltk.pos_tag(text)
[('And', 'CC'), ('now', 'RB'), ('for', 'IN'), ('something', 'NN'),
('completely', 'RB'), ('different', 'JJ')]

一旦你知道哪些是实词或名词(通常有以N开头的 POS 标签),你就可以对它们进行完形填空删除。请注意,POS 标记并不完美,因此性能将取决于您正在处理的文本的完整程度。(我还假设您使用英语工作,但有许多语言的词性标注器。)

于 2013-10-08T16:47:44.437 回答