gpt4 book ai didi

python-2.7 - 使用 nltk 对法语进行标记

转载 作者:行者123 更新时间:2023-12-04 02:47:41 28 4
gpt4 key购买 nike

我正在尝试标记法语单词,但是当我标记法语单词时,包含“^”符号的单词返回\xe 。以下是我实现的代码.

import nltk
from nltk.tokenize import WhitespaceTokenizer
from nltk.tokenize import SpaceTokenizer
from nltk.tokenize import RegexpTokenizer
data = "Vous êtes au volant d'une voiture et vous roulez à vitesse"
#wst = WhitespaceTokenizer()
#tokenizer = RegexpTokenizer('\s+', gaps=True)
token=WhitespaceTokenizer().tokenize(data)
print token

我得到的输出

['Vous', '\xeates', 'au', 'volant', "d'une", 'voiture', 'et', 'vous', 'roulez', '\xe0', 'vitesse']

期望的输出

['Vous', 'êtes', 'au', 'volant', "d'une", 'voiture', 'et', 'vous', 'roulez', 'à', 'vitesse']

最佳答案

在 Python 2 中,要在代码中写入 UTF-8 文本,您的文件需要以 # -*- coding: <encoding name> -*- 开头。什么时候not using ASCII .您还需要在 Unicode 字符串前加上 u :

# -*- coding: utf-8 -*-

import nltk
...

data = u"Vous êtes au volant d'une voiture et vous roulez à grande vitesse"
print WhitespaceTokenizer().tokenize(data)

当你不写 data 时在您的 Python 代码中,但从文件中读取它,您必须确保它已被 Python 正确解码。 codecs模块在这里提供帮助:

import codecs

codecs.open('fichier.txt', encoding='utf-8')

这是一个很好的做法,因为如果存在编码错误,您会立即知道:它不会在以后咬到您,例如。处理您的数据后。这也是唯一适用于 Python 3 的方法,其中 codecs.open变成 opendecoding is always done right away .更一般地说,避免像瘟疫这样的“str”Python 2 类型,并始终坚持使用 Unicode 字符串以确保编码正确完成。

推荐读物:

鼓起勇气!

关于python-2.7 - 使用 nltk 对法语进行标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18557850/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com