我正在尝试使用 newspaper
中的 Article
下载文章,并尝试使用 nltk
word_tokenizer
来代币化单词。问题是,当我尝试打印解析的文章文本时,其中一些文章具有特殊引号,例如“
,”
,’
,这些标记不会由Tokenizer滤除,因为它将是常规的'
和"
。P>
有没有一种方法可以用普通报价替换这些特殊报价,或者更好地删除了令牌剂可能会错过的所有可能的子字符?
我试图通过在代码中明确提及它们来删除这些特殊字符,但是它给了我错误Non-UTF-8 code starting with 'x92'
。
使用UNIDECODE软件包通常会用UTF-8替换这些字符。
from unidecode import unidecode
text = unidecode(text)
但是,一个缺点是您还将更改一些可能要保留的字符(例如突出角色(。如果是这种情况,则选择是使用正则表达式专门删除(或替换(一些预识别的特殊字符:
import re
exotic_quotes = ['\x92'] # fill this up
text = re.sub(exotic_quotes, "'", text) # changing the second argument to fill the kind of quote you want to replace the exotic ones with
我希望这会有所帮助!