我想找到波斯語動詞的詞幹。首先,我製作了一個包含一些當前和異常干擾的文件。我首先需要的是,我的代碼在文件中搜索,如果詞幹在那裏會返回詞幹,如果不是,它會遍歷剩餘的代碼,並通過刪除後綴和前綴返回詞幹。問題1)它沒有注意文件並忽略它,它只是通過代碼的其餘部分並輸出錯誤的詞幹,因爲異常在文件中。 2)因爲我使用「for」,動詞的後綴和前綴影響其他動詞,並省略其他動詞的後綴和前綴,有時會輸出錯誤的詞幹。我應該如何更改每個「for」循環獨立工作的代碼,而不會影響其他代碼? (我只需要寫一個函數,然後調用它)Python中的詞幹問題
我減少了一些後綴和前綴。
def stemmer (verb, file):
with open (file, encoding = "utf-8") as f:
f = f.read().split()
for i in f:
if i in verb:
return i
else:
for i in suffix1:
if verb.endswith(i):
verb = verb[:-len(i)]
return verb
你能更清楚地解釋問題嗎?增加一些例子可能會有所幫助! – Kasramvd
您在嵌套循環中重複使用相同的循環變量'i'來表示不同的事物。這可能不會達到你的期望。順便說一句,如果你正在使用語言數據,你可能想看看[NLTK](http://www.nltk.org/)。 –
另請注意,'split'只處理空格。它不會刪除點。你可能想看的另一件事是[正則表達式](https://docs.python.org/2/library/re.html)。他們可以幫助您找到前綴和後綴。 –