我正在用Python、TextBlob和NLTK做一个快速情绪分析控制台应用程序。在
目前我正在使用一个指向西班牙语wiki文章的链接,所以我不需要翻译它,我可以使用nltk西班牙语非索引字词列表,但是如果我想让这些代码适用于不同的语言链接呢?在
如果我使用TextFinal=TextFinal.translate(to="es")
下面的textFinal=TextBlob(texto)
(下面的代码),我会得到一个错误,因为它不能将西班牙语翻译成西班牙语。在
我可以用try/catch来阻止吗?有没有一种方法可以让代码尝试翻译成不同的语言(以及使用不同的停止字列表),这取决于im给应用程序的链接的语言?在
import nltk
nltk.download('stopwords')
from nltk import word_tokenize
from nltk.corpus import stopwords
import string
from textblob import TextBlob, Word
import urllib.request
from bs4 import BeautifulSoup
response = urllib.request.urlopen('https://es.wikipedia.org/wiki/Valencia')
html = response.read()
soup = BeautifulSoup(html,'html5lib')
text = soup.get_text(strip = True)
tokens = word_tokenize(text)
tokens = [w.lower() for w in tokens]
table = str.maketrans('', '', string.punctuation)
stripped = [w.translate(table) for w in tokens]
words = [word for word in stripped if word.isalpha()]
stop_words = set(stopwords.words('spanish'))
words = [w for w in words if not w in stop_words]
with open('palabras.txt', 'w') as f:
for word in words:
f.write(" " + word)
with open('palabras.txt', 'r') as myfile:
texto=myfile.read().replace('\n', '')
textFinal=TextBlob(texto)
print (textFinal.sentiment)
freq = nltk.FreqDist(words)
freq.plot(20, cumulative=False)
看看包langdetect。您可以检查输入的页面的语言,如果页面语言与翻译语言匹配,则跳过翻译。如下所示:
相关问题 更多 >
编程相关推荐