Tôi đang sử dụng nltk nhưng vấn đề tôi đang đối mặt dường như không liên quan đến nltk cụ thể. Tôi có một mô-đun tên util.tokenize
bên trong đó có một số lớp học và tôi có dòng đầu tiên như sau:Python, ImportError: không thể nhập tên AbstractLazySequence
util/tokenizer.py
from nltk.tokenize.regexp import RegexpTokenizer
...
class SentTokenizer(object):
def __init__(self, stem=False, pattern='[^\w\-\']+'):
self.alg = RegexpTokenizer(pattern, gaps=True)
def __call__(self, text):
return self.alg.tokenize(text)
....
if __name__ == '__main__':
s_t = SentTokenizer()
s_t('blah blah')
Khi tôi gọi những lớp học từ mô-đun khác, nói test.py
tất cả mọi thứ dường như để hoạt động, nhưng chạy mô-đun tokenize.py
trực tiếp gây ra lỗi Nhập.
File "tokenize.py", line 1, in <module>
...
File "Python27\lib\site-packages\nltk\corpus\reader\util.py", line 28, in <module>
from nltk.util import AbstractLazySequence, LazySubsequence, LazyConcatenation, py25
ImportError: cannot import name AbstractLazySequence
Điều gì có thể là vấn đề? Tại sao nó hoạt động khi được gọi từ các mô-đun khác?
test.py
from util.tokenize import SentTokenizer
s_t = SentTokenizer()
print s_t('blah blah')
Platform là Windows.
Đã thêm nhiều phần của mã có liên quan – CentAu
Nó thậm chí không nhận được mã __main__. Tại dòng một nó ném lỗi. Tôi đã thêm nhiều mã hơn. @grill – CentAu
Điều gì sẽ xảy ra nếu bạn tạo tệp .py mới chỉ với mã bạn đã bao gồm ở trên (không bao gồm dấu ba chấm)? – grill