2017-05-02 102 views
-2

我正在嘗試在python中匹配句子的正則表達式。我看到的主要作品是:[^\.\?\!].*?[\.\?\!],但下面的測試句子有一些錯誤。你可以看到使用該網站https://regex101.com/。我正在尋找一個包含所有問題的正則表達式,比如省略號,敬語和事物。正則表達式匹配句子

對於英語以外的語言進行標記化,我們可以 加載斷詞/ PUNKT發現相應的語言鹹菜文件和 然後記號化的另一種語言的文本,這是 一個參數標記化()函數。對於法文文本的標記,我們將 使用如下的french.pickle文件:史密斯先生以150萬美元的價格購買了cheapsite.com ,即他付出了很多。他介意嗎?亞當 瓊斯小心認爲他沒有。無論如何,這是不正確的......好吧,與 的概率.9它不是。

p.s.如果你想知道我從一本自然語言處理書中得到了上述句子,並且在同一主題上有另一個堆棧溢出問題。

回答

0

最簡單的方法是將其分成3個操作。

更新:一些代碼如何做到這一點。你必須爲你想從句子匹配中排除的每個項目做替換。

sentences = re.sub(r'i\.e\.', "@@@[email protected]@@", sentences); 
matches = re.match(r'[^\.\?\!].*[\.\?\!]', sentences); 
matches = re.sub(r'@@@[email protected]@@', "i.e.", matches); 
+0

是的,你會怎麼做? –

+0

用代碼示例更新了答案 –

+0

好的,但請記住它並非如此簡單,因爲對於每種語言,您必須使用點處理至少一千個詞典(至少),併爲此處理數千個或更多的子串如果你想要一些有效的東西,就不能這樣做。 –