繁体   English   中英

Python 2:AttributeError:'list'对象没有属性'split'

[英]Python 2 : AttributeError: 'list' object has no attribute 'split'

这是我的LSA程序,在此功能中,我想标记所有文本,然后将其转换为词干。 我正在尝试将它们的茎程序集成在一起,然后得到以下信息:titles.split(“”)中的单词:AttributeError:'list'对象没有属性'split'

此代码lsa:

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

from numpy import zeros
from scipy.linalg import svd
from math import log
from numpy import asarray, sum
#from nltk.corpus import stopwords
from sklearn.metrics.pairwise import cosine_similarity
#from nltk.stem import PorterStemmer
#from nltk.stem.isri import ISRIStemmer
import nltk
#from matplotlib import pyplot as plt
from snowballstemmer import stemmer 


titles = [" ذهبت الاخت الى المدرسة","تقع المدرسة في الجبال",
    "ذهب الام لزيارة ابنتها في المدرسة ","تحضر الام الكعكة" ]

ar_stemmer = stemmer("arabic")

stopwords = ['ثم','و','حتى','الى','على','في']

ignorechars = ''',:'!'''



class LSA(object):
def __init__(self, stopwords, ignorechars):
    self.stopwords = stopwords
    self.ignorechars = ignorechars
    self.wdict = {}
    self.dcount = 0    


def parse(self, doc):

    for word in titles.split(" "):
             stem = ar_stemmer.stemWord(word)

    if stem in self.stopwords:
       pass
    elif stem in self.wdict:
            self.wdict[stem].append(self.dcount)
    else:
            self.wdict[stem] = [self.dcount]
            self.dcount += 1

这就是我想要整合的内容:

from snowballstemmer import stemmer
ar_stemmer = stemmer("arabic")
sentence = u" ذهبت الاخت الى المدرسة, تقع المدرسة في الجبال"

for word in sentence.split(" "):
stem = ar_stemmer.stemWord(word)
print stem

titles已经是列表; 改为这样做:

for sentence in titles:
    for word in sentence.split(" "):
        ...

列表对象没有像字符串那样的split方法。 如果要拆分titles列表中的每个字符串,可以嵌套一个循环并执行以下操作:

def parse(self, doc):

    for title in titles:
        for word in title.split():
            stem = ar_stemmer.stemWord(word)

            if stem in self.stopwords:
                pass
    ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM