我正在使用将nltk句子分成单词.例如
nltk.word_tokenize("The code didn't work!")
-> ['The', 'code', 'did', "n't", 'work', '!']
Run Code Online (Sandbox Code Playgroud)
标记化可以很好地分割单词边界[即从单词中分割标点符号],但有时会过度分割,单词末尾的修饰符会被视为单独的部分.例如,didn't被拆分为部分did,n't并i've被拆分为I和've.显然,这是因为这些单词在nltk正在使用的原始语料库中被分成两部分,并且在某些情况下可能是期望的.
有没有内置的方法来克服这种行为?可能以类似的方式将nltk's MWETokenizer多个单词聚合为短语,但在这种情况下,只是将单词组件聚合为单词.
或者,是否有另一个不会分割单词部分的标记器?
我正在使用python来清理给定的句子.假设我的句子是:
What's the best way to ensure this?
Run Code Online (Sandbox Code Playgroud)
我想转换:
What's -> What is
Run Code Online (Sandbox Code Playgroud)
同样的,
must've -> must have
Run Code Online (Sandbox Code Playgroud)
另外,动词为原始形式,
told -> tell
Run Code Online (Sandbox Code Playgroud)
单数到复数,等等.
我正在探索textblob.但并非以上所有都可以使用它.