我是python的新手。我有来自twitter的大数据集,我想对其进行标记化。 但是我不知道如何标记这样的动词:“寻找,起飞,成长等”。这对我很重要。 我的代码是:
>>> from nltk.tokenize import word_tokenize
>>> s = "I'm looking for the answer"
>>> word_tokenize(s)
['I', "'m", 'looking', 'for', 'the', 'answer']
我的数据集很大,我无法使用此页面代码: Find multi-word terms in a tokenized text in Python
那么,我该如何解决我的问题?
答案 0 :(得分:0)
您需要为此使用parts of speech
标签,否则实际上dependency parsing
会更准确。我还没有尝试使用nltk,但是使用spaCy可以这样做:
import spacy
nlp = spacy.load('en_core_web_lg')
def chunk_phrasal_verbs(lemmatized_sentence):
ph_verbs = []
for word in nlp(lemmatized_sentence):
if word.dep_ == 'prep' and word.head.pos_ == 'VERB':
ph_verb = word.head.text+ ' ' + word.text
ph_verbs.append(ph_verb)
return ph_verbs
我还建议您先lemmatizing
去除句子中的词缀变化。另外,如果您需要名词短语,则可以类似的方式使用复合关系。