NLP中文句子型別判別和分類實現

2021-10-01 13:16:33 字數 3438 閱讀 3900

目錄

一、中文句子型別主要類別

1、陳述句(statement)

2、特殊句(special)

3、疑問句(question)

二、中文句子型別簡單分析

三、將句法分析與正則結合標註句子型別

四、句子型別調研及規則總結

五、中文句子型別分類工具sentypes實現

一、中文句子型別主要類別

1、陳述句(statement)

主語為首(subject_front),例:大家對這件事都很熱心

主題為首(theme_front),例:紅綠燈,真好玩

復合句(complex),例:他們飛的好高好遠,穿過白雲,越過海洋

2、特殊句(special)

把字句(ba_struct),例:陽光把冷冷的冬天趕走了

被字句(bei_struct),例:衣服被雨淋溼了

存在句(exist),例:門口有兩頭獅子

感嘆句(sigh),例:真謝謝你!

祈使句(imperative),例:小心!

連字句(lian_struct),例:我不但眼睛不舒服,好像連耳朵也優點疼

是字句(shi_struct),例:我的爸爸是老師

比較句(compare),例:我的力氣比你大

3、疑問句(question)

疑問詞問句(特指問句)(question_words),例:你什麼時候回來

是非問句(whether),例:你今天會準時下課嗎

選擇問句(choice),例:他是坐火車來的,還是坐汽車來的

正反問句(pos_and_neg),例:你怕不怕風吹

附加問句(attach),例:這是小明的,是不是

反問句(contrary),例:難道你不喜歡他嗎

二、中文句子型別簡單分析

1、陳述句

陳述句的五種基本句型:

主語+連繫動詞+表語、主語+謂語(不及物動詞)

主語+謂語(及物動詞)+賓語

主語+謂語(及物動詞)+間接賓語+直接賓語

主語+謂語(及物動詞)v.+賓語+賓語補足語;

其中,主語為首中的主語一般為人稱,復合句一般有多個並列的動賓結構。

2、感嘆句

帶有濃厚的感情的句子。它表示快樂、驚訝、悲哀、厭惡、恐懼等濃厚的感情。感嘆句一般用降調,句末都用嘆號(!)表示

由嘆詞構成的感嘆句

哎呦!救命呦!

由名詞構成的感嘆句

天哪!這一定是沒了命了!

口號或祝詞式的感嘆句

各族人民大團結萬歲!

由「多、多麼、好、真」等副詞和句尾語氣詞構成的感嘆句

那該有多好啊!

3、祈使句

祈使句的作用是要求、請求或命令、勸告、叮囑、建議別人做或不做一件事。

祈使句的句末一般用感嘆號,但是有些祈使句的語氣較弱,可以用句號結尾。

祈使句可以用語氣詞「吧」作結尾,也可以不用語氣詞。

祈使句可以表示命令、請求、禁止、勸阻等。 祈使句中的主語常常被省去。

(1)表示命令的祈使句:保持肅靜!起立!立定!站起來!快去救火!等

(2)表示請求的句式:請……(請等我一會);例:請給我們多提意見!您請坐啊!這個問題你來回答吧!幫幫我的忙吧!等

(3)表示禁止的句式:不准……,不要……,別……(此處不准停車!);例:別動!不許胡說!此處不准吸菸!你不要去!誰也不要隨便說話!等

4、疑問句(參看)

(1)是非問句

主要特點是回答時用肯定或者否定答句,是非問句一般用語氣助詞「嗎」;

比如:會|是…嗎,好嗎,對嗎,是嗎,可以嗎,能嗎,信嗎,會嗎,怕嗎,算嗎等。

(2)特指問句(疑問詞問句)

特指問句的語序與陳述句相同,提問哪個部分,就把疑問詞語放在哪個部分的位置上,加上疑問語調,陳述句就變成了特指問句。

特指問句中的疑問詞語絕大多數為疑問代詞,如「誰、哪兒、什麼」等;還有一些疑問詞語為「多+adj」格式,如「多大、多高、多長」等。

(3)選擇問句

選擇問句用選擇形式提出兩種(或多種)不同情況,要求對方選擇其中一種情況作為回答。選擇問句常用「是……還是……」連線,「是」也可以省略。

(4)正反問句

正反問句是把謂語的肯定形式和否定形式並列起來然後提問的疑問句,回答者可選擇其中之一作為回答。正反問句可以在句尾加或者不加「呢」,但是不能加「嗎」。

比如:會不會,是不是,能不能,信不信,怕不怕,可不可以,算不算等。

(5)反問句

反問句是用疑問句的形式來表示肯定或否定的意義,帶有很強的強調意味。

比如:難到,難道不,怎麼會,怎能,怎麼能,莫非,難不成,不是嗎等。

注意:是非問句和正反問句的差異,是非問句一般用語氣助詞「嗎」,是非問句和正反問句關聯性很大,有的比較難區分。

5、特殊句

(1)存在句

存在句:某處(某人)有/沒有某物

(2)比較句

比較句:現代漢語比較句是指謂語中含有比較詞語或比較格式的句子。

介詞『比』;太湖比西湖大

固定結構:跟(和,同,與,像)……一樣;今天跟昨天一樣暖和 (正則)

以『有』引進比較物件的比較句;弟弟有(沒有)哥哥那麼高

用『不如』引入比較物件;看這種電影還不如去睡覺

以『像』引進比較物件;安娜像她媽媽那麼漂亮

用『越來越』比較句子;天氣越來越暖和了

2、完成句法分析ltp在linux下的c++原始碼的編譯和測試;

3、構建基於c++的句法分析類parsing,利用該類能夠進行分詞、詞性標註和句法分析;

4、基於正則類regularex、句法分析類parsing和句子型別規則等完成所有句子型別的分類**;

5、編寫makefile檔案;

6、將庫檔案,模型檔案和**等檔案打包,在該資料夾下,執行make命令,即可生成可執行檔案sentypes,即為句子型別分類工具;

檔案主要包括:(1)依賴的庫檔案:include、lib、thirdparty;(2)ltp模型:ltp_model;(3)句法分析和正規表示式類的標頭檔案:parsing.h、regular_ex.h;(4)句子型別分類主程式:sentence_type.cpp;(5)makefile檔案

7、sentypes工具包含兩個命令引數,分別是輸入檔案和輸出檔案,其中,輸入檔案是句子檔案,輸出檔案是標註好句子型別的結果檔案;

例:linux下執行sentypes工具

$ ./sentypes data/test_sen data/results

其中,輸入檔案test_sen的格式及部分內容如下

輸出檔案results的格式及結果如下

注:句子型別判別工具sentypes的句子優先順序為:正反問句,反問句,選擇問句,疑問詞問句,是非問句;祈使句,把字句,被子句,比較句,存在句,是字句,連字句;陳述句;其他句子。

(1)目前句子型別共包含14類,其中疑問句型5類,特殊句型7類,陳述句中將簡單句和復合句歸為一類,即主語為首的陳述句型,未識別的句型標註為「other」類。

(2)如果句子同時有兩種或多種句型,則按優先順序標註句子型別;

統計中文句子中的詞頻

題目內容 對於乙個已分詞的句子 可方便地擴充套件到統計檔案中的詞頻 我 是 乙個 測試 句子 大家 趕快 來 統計 我 吧 大家 趕快 來 統計 我 吧 大家 趕快 來 統計 我 吧 重要 事情 說 三遍 可以用collections模組中的counter 函式方便地統計詞頻,例如可用如下 impo...

英文句子的逆序

說聲悄悄話,可以很自然的聯想到向量這種增強版的陣列這種資料結構來嘞!less words,and more codes first use vector includeusing namespace std int main 14 third 用reverse,先整體反轉再區域性反轉。我還沒沒有理解...

Python案例 倒置英文句子

給你乙個英語句子,比如 london bridge is falling down 把它完全倒裝過來,down falling is bridge london 給你乙個英語句子,比如 london bridge is falling down 把它完全倒裝過來,成為 down falling is...