2014-07-24 56 views
0

誰能告訴我哪個是最好的詞幹。此外,我有一個文本,我只想幹掉列表中的單詞,並將其餘的標記保留原樣。以下是我的代碼。Stemmer在NLP中的詞

文字:swot del swot分析2013年優勢弱勢品牌nam價值7美元。','5 bil產品定製environ記錄競爭merg和acquisit直接sel繁忙模型商品(計算機硬件)produc窮人定製服務低投資r & d弱勢投資組合太少零售市場低差異機會威脅擴大服務和企業通過收購獲得收益增強他們在應付市場的壓力平板電腦市場增長對智能手機和平板電腦的利潤率利潤率對硬件產品的需求增長緩慢增長筆記本電腦市場強化了競爭優勢品牌nam','del對品質產品有很強的品牌知名度','在merg和acquisit競爭'。'ov最後一個五年del爲成功merg花費了130億美元,收購,這爲忙碌帶來了輕拍,新帽,資產和技巧。','直接自我繁忙的模式','它將爲del在這樣的市場中進行競爭或者至少能夠對付失去的市場份額「,」加強競爭「,」公司在外部競爭中強化競爭「,」加強競爭「,」公司外部競爭加劇它在繁忙的分段','它在pric,品質,品牌,技術,聲譽,分佈和範圍,ac,appl,hp,ibm,lenovo和toshib方面與競爭。']

阻止了每一個失去了它的意義的詞。

的詞列表是[力 ' '專業', '耐用性', 'military_posture', 'long_suit', '強度', '美思', 'military_strength', ' strong_suit ' '實力', '拿手好戲', 'enduringness', '有效性', 'strong_point', '專業', '姿勢', '說服力', '效力', ' military_capability ', '雄渾', '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

你的問題更多的是基於一個發表意見,我猜。每個stemmer都是使用一些成熟的stemming算法創建的。就個人而言,我更喜歡Porter Stemming算法,因爲它簡單和基本性質。你可以在這裏閱讀更多:Porter Stemmeing Algorithm (with implementation)