本文介紹了文本中不帶標(biāo)點(diǎn)符號(hào)的句子標(biāo)注的處理方法,對(duì)大家解決問(wèn)題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧!
問(wèn)題描述
我很難讓CoreNLP系統(tǒng)正確地找到詩(shī)歌語(yǔ)料庫(kù)中一個(gè)句子的結(jié)束位置和另一個(gè)句子的開始位置。
苦苦掙扎的原因:
有些詩(shī)全長(zhǎng)沒(méi)有標(biāo)點(diǎn)符號(hào)(有時(shí)沒(méi)有大小寫)
有些詩(shī)的句子從一段到另一段
有些詩(shī)每行開頭都要大寫
This is a particularly tricky one
(系統(tǒng)認(rèn)為第一句話以””結(jié)尾。在第二節(jié)的開頭)
考慮到缺少大寫字母和標(biāo)點(diǎn)符號(hào),我想我應(yīng)該嘗試使用-tokenizeNls來(lái)看看這是否會(huì)改進(jìn)它,但它做得太過(guò)分了,去掉了空行之間的任何句子(有幾個(gè))
這些句子通常在行尾結(jié)束,但并不總是如此,因此,如果系統(tǒng)可以將一行結(jié)尾視為可能的斷句候選者,并可能權(quán)衡這些結(jié)束點(diǎn)的可能性,但我不知道如何實(shí)現(xiàn)這一點(diǎn),這將是一種巧妙的做法。
有沒(méi)有一種優(yōu)雅的方法來(lái)做到這一點(diǎn)?還是其他選擇?
提前謝謝!
(預(yù)期句子輸出here)
推薦答案
我構(gòu)建了一個(gè)句子分割器,它也可以很好地處理無(wú)標(biāo)點(diǎn)符號(hào)或部分標(biāo)點(diǎn)符號(hào)的文本。您可以在https://github.com/bedapudi6788/deepsegment找到它。
該模型基于命名實(shí)體識(shí)別可以用于句子邊界(即句子的開始或句子的結(jié)束)的思想。我利用來(lái)自tatoeba的數(shù)據(jù)來(lái)生成訓(xùn)練數(shù)據(jù),并為這項(xiàng)任務(wù)訓(xùn)練了一個(gè)帶有手套嵌入和字符級(jí)別的BiLSTM+CRF模型。
雖然這是在Python中構(gòu)建的,但您將能夠使用Flask來(lái)設(shè)置一個(gè)簡(jiǎn)單的REST API,并將其與Java代碼一起使用。
這篇關(guān)于文本中不帶標(biāo)點(diǎn)符號(hào)的句子標(biāo)注的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,