Python 用Sastrawi词干分析印尼单词
我有一个csv数据集,数据的价值就在这里 所以,我想对数据进行预处理。数据的类型是文本,所以我将进行文本挖掘。但我对词干感到困惑。我尝试过对数据进行词干分析,但结果是所有新闻的字数。我从我的朋友那里得到代码参考,但我想改变。我想更改代码以改进结果。我希望结果是对每一条新闻进行字数统计,而不是分割所有新闻。请帮我更改代码 代码如下:Python 用Sastrawi词干分析印尼单词,python,stemming,Python,Stemming,我有一个csv数据集,数据的价值就在这里 所以,我想对数据进行预处理。数据的类型是文本,所以我将进行文本挖掘。但我对词干感到困惑。我尝试过对数据进行词干分析,但结果是所有新闻的字数。我从我的朋友那里得到代码参考,但我想改变。我想更改代码以改进结果。我希望结果是对每一条新闻进行字数统计,而不是分割所有新闻。请帮我更改代码 代码如下: 导入操作系统 作为pd进口熊猫 从导入数据帧中,读取\u csv data=r'D:/SKRIPSI/sample\u 200\u data.csv' df=pd
导入操作系统
作为pd进口熊猫
从导入数据帧中,读取\u csv
data=r'D:/SKRIPSI/sample\u 200\u data.csv'
df=pd.read\U csv(数据)
打印“DF”,键入(DF['content']),“\n”,DF['content']
isiberita=df['content'].tolist()
打印“DF列表isiberita”,isiberita,类型(isiberita)
df.head()
---------------------------------------------------------
导入nltk
导入字符串
导入操作系统
作为pd进口熊猫
从sklearn.feature\u extraction.text导入TfidfVectorizer
从Sastrawi.Stemmer.StemmerFactory导入StemmerFactory
从nltk.corpus导入停止词
从收款进口柜台
路径='D:/SKRIPSI/sample\u 200\u data.csv'
令牌_dict={}
factory=StemberFactory()
stemmer=factory.create_stemmer()
content_stemmed=map(lambda x:stemmer.stem(x),isiberita)
content\u no\u punc=map(lambda x:x.lower().translate(无、字符串、标点符号),content\u词干)
内容\最终=[]
有关内容_no_punc中的新闻:
word_token=nltk.word_tokenize(新闻)#为每条新闻获取单词标记(将新闻拆分为每个单独的单词)
word_token=[如果不是nltk.corpus.stopwords.words('indonesian')中的单词,则为word_token中的单词,而不是单词[0].isdigit()]#删除印尼语的停止词和数字
content\u final.append(“.join(word\u token))
计数器=计数器()#计数器启动
[counter.update(news.split())用于内容中的新闻_final]#我们分割每条新闻以获得每个单词的计数器
打印(counter.most_common(100))
如果我理解正确,您的问题与此没有直接关系
问题是在处理新闻数据时使用了counter.update()
。这最终将返回所有新闻的累计字数。
如果要分别计算单个新闻中的单词数,则需要为每个新闻分别提供一个计数器的实例。类似于以下内容(这将从每条新闻中打印出100个最常见的单词):
完整的演示示例:
>>> content_final = ['foo','foo foo bar','foo baz baz']
>>> for news in content_final:
... counter = Counter(news.split())
... print(counter.most_common(1))
...
[('foo', 1)]
[('foo', 2)]
[('baz', 2)]
现场观看:如何获取印尼语nltk语料库?
>>> content_final = ['foo','foo foo bar','foo baz baz']
>>> for news in content_final:
... counter = Counter(news.split())
... print(counter.most_common(1))
...
[('foo', 1)]
[('foo', 2)]
[('baz', 2)]