所以我建立了一個句子標記器,它將段落分成句子,單詞和字符......這些都是數據類型。但句子系統是一個兩階段系統,因爲像'。 。 「。扔掉它,感覺它一次只能寫一個字母,但如果它沒有空格,那麼它工作正常。如何合併句子對象?
所以輸出有點拼接起來,但如果我可以做一些輔助處理,它將完美工作。所以這就是我的問題出現的地方......我不知道如何編寫一個系統,使我可以將沒有結束句子標點符號的每個句子追加到前面的句子中,而不會丟失一些東西。
這裏是一個什麼樣的輸出看起來像什麼,我需要它看起來像例子:
被剪接一些句子...
,並具有持續
這不能混淆美國
在那
最後一句...
一個縮寫結束了句子!
因此,句法對象不以句子正常結尾定界符結尾,即'。','?','!'需要附加到下一個句子......直到存在句子分隔符的真實結尾的句子。另一件讓這件事情變得艱難的事情是'。 。 「。算作延續,而不是句子的結束。所以這也需要附加。
這是怎麼需要是:
被拼接有些句子......並有延續。
這不能由U.S.A.
混淆在這最後的一句話......的縮寫結束了一句!
這裏是我正在同代碼:
last = []
merge = []
for s in stream:
if last:
old = last.pop()
if '.' not in old.as_utf8 and '?' not in old.as_utf8 and '!' not in old.as_utf8:
new = old + s
merge.append(new)
else:
merge.append(s)
last.append(s)
所以有這種方法的幾個問題...
只追加1句到另一個,但它如果有2個或3個需要添加,則不會追加。
如果它沒有任何標點符號,它將放下第一句。
它不處理'。 。 「。作爲延續。我知道在這件事上我沒有爲此做任何事情,那是因爲我不完全確定如何解決這個問題,句子以縮寫結尾,因爲我可以計算出多少個'。'。在句子中,但它會被'美國'真正拋棄。因爲那個計數爲3個週期。
,所以我寫了一個__add__
方法來了句類,所以你可以做sentence + sentence
和工作的方式來添加一個到另一個。
任何幫助將不勝感激這一點。並讓我知道是否有任何不明之處,我會盡我所能來安置它。
你能澄清你想要遞歸嗎?你想要一個遞歸函數或者任何能夠完成這項工作的東西? – Wolph
它不一定需要隱性......但我可能已經使用了這個詞太鬆散......我的意思是我不想合併相同的知覺,直到它達到一個真正的感知力中斷。這樣做的方法不一定是隱性的。我更新了標題,以免誤導。 –
@WoLpH我認爲他指的是牙齦退化 –