Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/301.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有没有办法使用python查找给定文本中的介词数量?_Python - Fatal编程技术网

有没有办法使用python查找给定文本中的介词数量?

有没有办法使用python查找给定文本中的介词数量?,python,Python,英语中有许多介词。但是我如何计算一篇文章中介词的数量呢?请帮助我您可以使用nltk标记器来实现这一点 下面是我为您测试的一个小示例 import nltk nltk.download('punkt') nltk.download('averaged_perceptron_tagger') from nltk import word_tokenize text = word_tokenize("And now for something completely different&quo

英语中有许多介词。但是我如何计算一篇文章中介词的数量呢?请帮助我

您可以使用nltk标记器来实现这一点

下面是我为您测试的一个小示例

import nltk
nltk.download('punkt')
nltk.download('averaged_perceptron_tagger')
from nltk import word_tokenize

text = word_tokenize("And now for something completely different")

count = 0
for x,y in nltk.pos_tag(text):
    if y == "IN": count += 1

print(count)

您可以使用执行nlp(自然语言处理)的
spacy

你可以看看他们的网站,看看它是如何运作的

要计算介词的数量,可以访问每个词性标记,只计算PP(介词)

比如:

# Download the english model
# python -m spacy download en
import spacy
nlp = spacy.load('en')
doc = nlp('your text')
print(sum(token.pos_ == 'ADP' for token in doc))

pos的一些示例可用

您是否尝试过字符串方法
find()
?是,但它只返回首次出现的索引请包括任何尝试(如果您尝试过的话)
# Download the english model
# python -m spacy download en
import spacy
nlp = spacy.load('en')
doc = nlp('your text')
print(sum(token.pos_ == 'ADP' for token in doc))