任何人都可以告诉我哪个是最好的词干分析器。我也有一个文本,我只想阻止列表中的单词,并保留其余的标记。以下是我的代码。
文字:swot del swot analys 2013强势弱势品牌nam价值7美元。' 5生产定制环境记录竞争merg和acquisit直接sel繁忙模型商品(计算机硬件)产品差定制服务低投入研发d弱拍组合太少零售地点低不同机会威胁扩大服务和企业忙碌获取通过收购加强他们在新兴市场的市场平板电脑市场增长需求智能手机和平板电脑利润率下降硬件产品缓慢增长鼠标的笔记本电脑市场强化竞争优势品牌nam。' del在品牌产品方面拥有非常强大的品牌知名度。','竞争merg和acquisit。',&#39 ;最后一个年度del del花费了13亿美元用于成功merg和acquisit,这给忙碌的人带来了拍拍,新上限,资产和技能。','直接选择忙碌的模特。' ,'它会给这样的市场竞争带来困难,或者至少会对失去的市场进行反击。强调竞争。','公司因素加强了竞争,以及繁忙的竞争。',','公司在繁忙的seg中加强竞争。',' it在pric,qual,brand,technolog,reput,distribu方面的竞争对手和ac,appl,hp,ibm,lenovo和toshib的产品和广告。']
词干取代了每一个失去它意义的词。
单词列表是[force', '专业&#39 ;, '耐久性&#39 ;, ' military_posture&#39 ;, ' long_suit&#39 ;, '强度&#39 ;, '的专长&#39 ;, ' military_strength&#39 ;, ' strong_suit&#39 ;, '强度&#39 ;, '长处&#39 ;, ' enduringness&#39 ;, '有效性&#39 ;, ' strong_point&#39 ;, '专业&#39 ;, '姿势&#39 ;, '说服力&#39 ;, '效力&#39 ;, ' military_capability&#39 ;, '雄浑&#39 ;, ' intensity_level']
代码是:
br = mechanize.Browser()
br.set_handle_robots(False)
br.addheaders = [('User-agent','Chrome')]
html = br.open(url).read()
titles = br.title()
readable_article= Document(html).summary()
readable_title = Document(html).short_title()
soup = bs4.BeautifulSoup(readable_article)
Final_Article = soup.text
#final.append(titles)
#final.append(url)
#final.append(Final_Article)
raw = nltk.clean_html(html)
cleaned = re.sub(r'& ?(ld|rd)quo ?[;\]]', '\"', raw)
tokens = nltk.wordpunct_tokenize(cleaned)
lancaster = stem.lancaster.LancasterStemmer()
word = words('strength')
Words = [lancaster.stem(e) for e in word]
t = [lancaster.stem(t) for t in tokens if t in Words]
text = nltk.Text(t)
find = ' '.join(str(e) for e in Words
请帮忙
答案 0 :(得分:0)
我猜你的问题更多的是基于意见的问题。每个词干分析器都是使用一些完善的词干算法创建的。就个人而言,我更喜欢Porter Stemming算法,因为它具有简单性和基本性。您可以在此处详细了解:Porter Stemmeing Algorithm (with implementation)