我有一些文本或一个大文件,我需要使用nltk和pyspark来计算pos标签的数量。我找不到导入文本文件的方法,所以我尝试添加一个短字符串,但失败了。
计数线需要包含Pypark。
## textfile = sc.textfile('')
## or
## textstring = """This is just a bunch of words to use for this example. John gave ##them to me last night but Kim took them to work. Hi Stacy. ###'''URL:http://example.com'''"""
tstring = sc.parallelize(List(textstring)).collect()
TOKEN_RE = re.compile(r"\b[\w']+\b")
dropURL=text.filter(lambda x: "URL" not in x)
words = dropURL.flatMap(lambda dropURL: dropURL.split(" "))
nltkwords = words.flatMap(lambda words: nltk.tag.pos_tag(nltk.regexp_tokenize(words, TOKEN_RE)))
# word_counts =nltkwords.map(lambda nltkwords: (ntlkwords,1))
nltkwords.take(50)
1条答案
按热度按时间bejyjqdl1#
下面是一个测试字符串的示例。我想你只是少了一步,把绳子按空格分开。否则整行将被删除,因为url在该行中。
要统计pos标记的出现次数,可以执行reducebykey: