本發(fā)明屬于計算機技術(shù)領(lǐng)域,涉及一種語義角色識別方法及系統(tǒng),具體涉及一種初等數(shù)學分層抽樣應(yīng)用題文本中的句子的語義角色判定方法及系統(tǒng)。
背景技術(shù):
數(shù)學問題的自動求解一直是人工智能領(lǐng)域的一項富有挑戰(zhàn)性和吸引力的工作。在幾何和代數(shù)領(lǐng)域的數(shù)學問題自動求解都取得了很大的進展。如由吳文俊院士所提出的吳方法可以對初等數(shù)學中的幾何定理進行機器證明,被公認為機器證明領(lǐng)域的里程碑。張景中院士提出的平面幾何定理的可讀機器證明的方法和智能教學軟件超級畫板,是機器自動求解領(lǐng)域的一座豐碑,同時為基礎(chǔ)教育事業(yè)做出了巨大貢獻。代數(shù)領(lǐng)域的三角函數(shù)自動化簡、方程及方程組的自動求解也取得了極大的進展。但是,對于應(yīng)用題的自動求解則相對研究較少。目前的研究主要集中在初等數(shù)學代數(shù)問題尤其是加減法的應(yīng)用題求解問題上。研究者們選擇加減法應(yīng)用題作為研究對象的主要原因在于初等數(shù)學中的加減法類應(yīng)用題題意相對清晰、涉及到的參數(shù)較少、求解規(guī)則相對簡單。對于情境和求解規(guī)則較為復(fù)雜的應(yīng)用題,如高考數(shù)學試卷中應(yīng)用題的自動求解研究則極為少見,目前尚未發(fā)現(xiàn)相關(guān)的研究文獻。其主要原因在于高中學段的數(shù)學應(yīng)用題情境多變、求解規(guī)則復(fù)雜、語義中包含的參數(shù)較多,這些都給題意的自動識別帶來了困難。
技術(shù)實現(xiàn)要素:
為了解決上述技術(shù)問題,本發(fā)明針對初等數(shù)學高考應(yīng)用題中的分層抽樣類應(yīng)用題,通過對分層抽樣應(yīng)用題文本中的句子進行語義角色的識別,提供了一種語義角色識別方法及系統(tǒng),以實現(xiàn)應(yīng)用題的題意理解,為應(yīng)用題的自動求解提供基礎(chǔ)。
本發(fā)明的方法所采用的技術(shù)方案是:一種初等數(shù)學分層抽樣應(yīng)用題的句子語義角色識別方法,其特征在于,包括以下步驟:
步驟1:將分層抽樣應(yīng)用題的文本以“,”和“?!弊鳛榉指顦酥荆指顬槎鄠€單句,形成單句集合;
步驟2:對單句集合中每一個句子的特征詞/模式所屬語義角色和數(shù)量進行統(tǒng)計,得到統(tǒng)計結(jié)果;
步驟3:將單句集合中既不包含數(shù)值信息也不包含任何特征詞/模式的單句刪除,保留所有含有數(shù)值信息或含有特征詞/模式的單句;
步驟4:根據(jù)統(tǒng)計結(jié)果對每個句子的語義角色進行判斷;若可以判斷則將句子標注為對應(yīng)的語義角色;若不能根據(jù)統(tǒng)計結(jié)果進行判斷,則將其語義角色標注為待定;
步驟5:在語義角色概率模型的幫助下對語義角色待定的句子進行角色預(yù)測,最終得到所有句子的語義角色判定結(jié)果。
本發(fā)明的系統(tǒng)所采用的技術(shù)方案是:一種初等數(shù)學分層抽樣應(yīng)用題的句子語義角色識別系統(tǒng),其特征在于:包括單句切分器、特征詞/模式統(tǒng)計器、句子篩選器、基于特征詞/模式的角色判定器和基于概率的角色判定器;
所述單句切分器用于將分層抽樣應(yīng)用題的文本以“,”和“。”作為分割標志,分割為多個單句,形成單句集合;
所述特征詞/模式統(tǒng)計器用于對單句集合中每一個句子進行特征詞/模式所屬語義角色和數(shù)量的統(tǒng)計,得到統(tǒng)計結(jié)果;
所述句子篩選器用于將單句集合中既不包含數(shù)值信息也不包含任何特征詞/模式的單句刪除,保留所有含有數(shù)值信息或含有特征詞/模式的單句;
所述基于特征詞/模式的角色判定器用于根據(jù)統(tǒng)計結(jié)果對每個句子的語義角色進行判斷;若可以判斷則將句子標注為對應(yīng)的語義角色;若不能根據(jù)統(tǒng)計結(jié)果進行判斷,則將其語義角色標注為待定;
所述基于概率的角色判定器用于在語義角色概率模型的幫助下對語義角色待定的句子進行角色預(yù)測,最終得到所有句子的語義角色判定結(jié)果。
本發(fā)明首先定義了分層抽樣應(yīng)用題求解中涉及到的五類核心句子語義角色,然后通過基于特征詞/模式與概率相結(jié)合的方法對應(yīng)用題文本中的每一個句子進行角色判定,從而實現(xiàn)分層抽樣應(yīng)用題的自動題意理解。本發(fā)明為分層抽樣應(yīng)用題的自動求解提供基礎(chǔ),促進人工智能技術(shù)的發(fā)展。
附圖說明
圖1為本發(fā)明實施例的方法流程圖。
具體實施方式
為了便于本領(lǐng)域普通技術(shù)人員理解和實施本發(fā)明,下面結(jié)合附圖及實施例對本發(fā)明作進一步的詳細描述,應(yīng)當理解,此處所描述的實施示例僅用于說明和解釋本發(fā)明,并不用于限定本發(fā)明。
請見圖1,本發(fā)明提供的一種初等數(shù)學分層抽樣應(yīng)用題的句子語義角色識別方法,包括以下步驟:
步驟1:將分層抽樣應(yīng)用題的文本以“,”和“?!弊鳛榉指顦酥?,分割為多個單句,形成單句集合;
步驟2:對單句集合中每一個句子的特征詞/模式所屬語義角色和數(shù)量進行統(tǒng)計,得到統(tǒng)計結(jié)果;
分層抽樣應(yīng)用題中涉及到語義角色及其相應(yīng)特征詞/模式為:
其中,“!”表示其后的詞匯不出現(xiàn),如模式“依次+…+!抽取”表示“依次”后面沒有出現(xiàn)“抽取”?!皗}”表示詞匯在句子中出現(xiàn)的順序不受限制。如“{分別}+…+{抽取}”表示“分別….抽取”和“抽取…分別”均可與該模式進行匹配。“[]”表示其中的詞匯可以出現(xiàn),也可以不出現(xiàn)。
步驟3:將單句集合中既不包含數(shù)值信息也不包含任何特征詞/模式的單句從單句集合中刪除;
步驟4:根據(jù)步驟3的結(jié)果對每個句子的語義角色進行判斷;若可以判斷,則將句子標注為對應(yīng)的語義角色;若不能根據(jù)統(tǒng)計結(jié)果進行判斷,則將其語義角色標注為待定;
根據(jù)統(tǒng)計結(jié)果對每個句子的語義角色進行判斷,其判斷規(guī)則包括:
規(guī)則1:如果一個句子僅包含一種語義角色的特征詞/模式,則將該語義角色作為當前句子的語義角色。
規(guī)則2:若多個句子包含“總體”角色的特征詞/模式,則選擇數(shù)值信息最大的句子標注為“總體”,同時將其它句子的“總體”角色特征詞/模式數(shù)量置為0(一個題目僅包含一個總體,且總體的數(shù)值應(yīng)最大)。
規(guī)則3:如果一個句子包含兩種及兩種以上角色的特征詞/模式,選擇包含特征詞/模式數(shù)量最多的角色作為句子的角色標注結(jié)果。
規(guī)則4:若一個子句同時包含“樣本”角色特征詞/模式和“樣本中的層”角色特征詞/模式,且兩種角色的特征詞/模式數(shù)量相等,則該句優(yōu)先被判定為“樣本中的層”,同時,將該句的“樣本”特征詞/模式數(shù)量置為0。
若經(jīng)過上述4條規(guī)則進行判定后,題目中所有句子的語義角色均已經(jīng)被確定,則判斷結(jié)束。若存在一個或多個句子無法通過上述4條規(guī)則進行判定,則將其語義角色標識為待定。
步驟5:在語義角色概率模型的幫助下對語義角色待定的句子進行角色預(yù)測,最終得到所有句子的語義角色判定結(jié)果。
語義角色概率模型的建立方法包括以下子步驟:
步驟a.1:從高考數(shù)學試卷和高中數(shù)學教材的課后習題中采集若干分層抽樣應(yīng)用題文本,每一道題被稱為一個訓練樣本,所有題目合稱為訓練集;
步驟a.2:對每一個訓練樣本中的所有包含數(shù)值信息的句子進行語義角色標注,其中語義角色的分類與步驟3中的語義角色相同,每一道題中所有句子的語義角色按照句子順序連接在一起形成一個語義角色序列;
步驟a.3:統(tǒng)計訓練集中各種語義角色出現(xiàn)的次數(shù),并計算相關(guān)模式出現(xiàn)的概率;根據(jù)模式中包含的語義角色的個數(shù),將模式分為一元模式、二元模式和三元模式;
一元模式:
二元模式:
三元模式:
其中,r、s、q、表示不同的語義角色,rs表示語義角色r和語義角色s在語義角色序列中按順序出現(xiàn),qrs表示語義角色q、語義角色r和語義角色s在語義角色序列中按順序出現(xiàn);number(r)表示角色r在訓練集中出現(xiàn)的次數(shù),n表示訓練集中所有角色的總次數(shù);p(r|s)表示s確定時r的條件概率,p(q|rs)表示rs確定時q的條件概率,其中,number(s)表示角色s在訓練集中出現(xiàn)的次數(shù),number(rs)表示訓練集中rs兩種角色連續(xù)出現(xiàn)的次數(shù),number(qrs)表示角色qrs在訓練集中連續(xù)出現(xiàn)的次數(shù);
將所有模式的概率存儲起來即為語義角色概率模型。
在語義角色概率模型的幫助下對語義角色待定的句子進行角色預(yù)測,其具體實現(xiàn)包括以下子步驟:
步驟5.1:將題目中不能夠通過步驟4進行判定的句子的語義角色用步驟2中列舉的五種不同語義角色逐一進行替換,生成一個候選語義角色序列,所有候選語義角色序列形成當前題目角色判定的所有可能結(jié)果集合;該集合中包含的候選語義角色序列的個數(shù)為5n,其中n為角色待定的句子的個數(shù);
步驟5.2:依次計算每個候選語義角色序列的概率,任一序列s(s1,s2,……sn)的概率通過如下公式進行計算:
p(s)=p(s1)×p(s2|s1)×p(s3|s1s2)×…p(si|si-2si-1)×...×p(sn|sn-2sn-1)
其中,si為一個語義角色,n為當前序列所包含的語義角色的個數(shù),1≤i≤n,公式右邊所有p的值通過查詢語義角色概率模型中的概率值獲得;
步驟5.3:將所有候選語義角色序列按照概率大小進行降序排序,選擇概率最大的序列作為當前題目的句子角色預(yù)測結(jié)果。
本發(fā)明還提供了一種初等數(shù)學分層抽樣應(yīng)用題的句子語義角色識別系統(tǒng),包括單句切分器、特征詞/模式統(tǒng)計器、句子篩選器、基于特征詞/模式的角色判定器和基于概率的角色判定器。
系統(tǒng)的輸入為分層抽樣應(yīng)用題文本,經(jīng)過本系統(tǒng)處理后,輸出為題目文本中每個句子的語義角色識別結(jié)果。系統(tǒng)的具體實施流程為:第一步,通過單句切分器對句子進行切分,形成單句集合。第二步,特征詞/模式統(tǒng)計器對單句集合中每一個句子進行特征詞/模式所屬語義角色和數(shù)量的統(tǒng)計,得到統(tǒng)計結(jié)果。第三步,句子篩選器將單句集合中既不包含數(shù)值信息也不包含任何特征詞/模式的單句從單句集合中刪除。第四步,基于特征詞/模式的角色判定器根據(jù)步驟三的結(jié)果對每個句子的語義角色進行判斷。若可以判斷,則將句子標注為對應(yīng)的語義角色;若不能根據(jù)特征詞/模式的統(tǒng)計結(jié)果進行判斷,則將其語義角色標注為待定。第五步,基于概率的角色判定器在語義角色概率模型的幫助下對語義角色待定的句子進行角色預(yù)測,最終得到所有句子的語義角色判定結(jié)果。下面結(jié)合實例對系統(tǒng)具體實施流程進行說明。
(1)單句切分器的工作原理是對分層抽樣應(yīng)用題的文本以“,”和“?!弊鳛榉指顦酥?,分割為多個單句,形成單句集合。如以下例子:
“某市a、b、c三個區(qū)共有高中學生20000人,其中a區(qū)高中學生9000人,b區(qū)高中學生6000人,為了進行新課程學習作業(yè)量的調(diào)查,現(xiàn)采用分層抽樣的方法從這三個區(qū)所有高中學生中抽取一個容量為600人的樣本,則應(yīng)從a區(qū)抽取()人?!?/p>
以“,”和“。”作為分隔符,則該應(yīng)用題被切分為6個單句,分別為:
單句1:某市a、b、c三個區(qū)共有高中學生20000人;
單句2:其中a區(qū)高中學生9000人;
單句3:b區(qū)高中學生6000人;
單句4:為了進行新課程學習作業(yè)量的調(diào)查;
單句5:現(xiàn)采用分層抽樣的方法從這三個區(qū)所有高中學生中抽取一個容量為600人的樣本;
單句6:則應(yīng)從a區(qū)抽取()人;
(2)特征詞/模式統(tǒng)計器依次統(tǒng)計單句集合中的每一個單句中所包含的各種語義角色的特征詞/模式的數(shù)量,并進行記錄。上例中6個單句所包含的不同角色類別的特征詞/模式數(shù)量分別如下:
單句1:總體特征詞/模式1個:“共有”;
單句2:總體中的層特征詞/模式1個:“其中”;
單句3:無特征詞/模式;
單句4:無特征詞/模式;
單句5:樣本特征詞/模式4個:“分層抽樣”、“抽取”、“樣本”、“容量”;樣本中的層特征詞/模式1個:“從…抽取”;
單句6:樣本特征詞/模式1個:“抽取”;樣本中的層特征詞/模式1個:“從…抽取”;
(3)句子篩選器將單句集合中既不包含數(shù)值信息也不包含特征詞/模式的單句刪除,保留所有含有數(shù)值信息或者含有特征詞/模式的單句。在步驟(2)所獲得的6個單句中,由于單句4既不包含數(shù)值信息也不包含特征詞/模式,因此該單句被從單句集合中刪除;
(4)基于特征詞/模式的角色判定器根據(jù)句子所包含的不同語義角色的特征詞/模式的數(shù)量,對句子所屬的語義角色進行判斷,判斷結(jié)果如下:
單句1僅含有總體特征詞/模式,根據(jù)規(guī)則1將其語義角色識別為“總體(t)”;
單句2僅含有總體中的層特征詞/模式,根據(jù)規(guī)則1將其語義角色識別為“總體中的層(c)”;
單句3無特征詞/模式,將其語義角色標識為“待定”;
單句5包含兩類特征詞/模式,但樣本特征詞/模式的數(shù)量大于樣本中的層的特征詞/模式數(shù)量,根據(jù)規(guī)則3將其語義角色標識為“樣本(s)”;
單句6包含兩類特征詞/模式,樣本和樣本中的層各有1個特征詞/模式,根據(jù)規(guī)則4該句被優(yōu)先判定為“樣本中的層(b)”;
本例經(jīng)過基于特征詞/模式的角色判定器識別之后所形成的語義角色序列為“tc*sb”,其中“*”表示該子句的語義角色待定。
(5)語義角色概率模型的建立方法如下:
(5-1)本例從高考數(shù)學試卷和高中數(shù)學教材的課后習題中采集了150道分層抽樣應(yīng)用題文本作為訓練集。
(5-2)通過手工標注的方式對每一個訓練樣本中的所有包含數(shù)值信息的句子進行語義角色標注,其中語義角色的分類與步驟2中的語義角色相同,每一道題中所有句子的語義角色按照句子順序連接在一起形成一個語義角色序列。如“tcccsb”表示某一應(yīng)用題中所有單句的語義角色依次分別為“總體-總體中的層-總體中的層-總體中的層-樣本-樣本中的層”。
(5-3)統(tǒng)計訓練集中各種語義角色出現(xiàn)的次數(shù),并計算各類模式出現(xiàn)的概率。其中一元模式5個,二元模式25個,三元模式125個。在本實例中,部分模式的概率值如下:p(t)=0.1321,p(tc)=0.4921,p(cb|s)=0.3043。
(6)基于概率的角色判定器的具體工作步驟如下:
(6-1)將步驟4所得到的語義角色序列中未能識別出的句子用五種不同的語義角色逐一進行替換,生成一個候選語義角色序列,所有候選語義角色序列形成當前題目角色判定的所有可能結(jié)果集合。本實例中步驟4所形成的語義角色序列為“tc*sb”,將“*”分別用5種不同的角色進行代替,所形成的候選集合包含5個序列,分別為:
{tctsb,tccsb,tcssb,tcbsb,tcrsb};
(6-2)依次計算每個候選語義角色序列的概率,任一序列s(s1,s2,……sn)(其中si為一個語義角色,n為當前序列所包含的語義角色的個數(shù),1≤i≤n)的概率通過如下公式進行計算:
p(s)=p(s1)×p(s2|s1)×p(s3|s1s2)×…p(si|si-2si-1)×...×p(sn|sn-2sn-1)
其中,公式右邊所有p的值都通過查詢語義角色概率模型中的概率值獲得。
如p(tctsb)=p(t)*p(c|t)*p(t|tc)*p(s|ct)*p(b|ts);
在本實例中,五個候選語義角色序列的概率分別為:
p(tctsb)=2.1422384999178066e-9;
p(tcssb)=3.3170144514856367e-9;
p(tcbsb)=2.675244264132981e-7;
p(tcrsb)=0.0012578616352201257;
p(tccsb)=0.015176374077112387;
(6-3)將所有候選語義角色序列按照概率大小進行降序排序,選擇概率最大的序列作為當前題目的句子角色預(yù)測結(jié)果。本實例中,p(tccsb)的概率大于其它候選序列的概率,因此,將tccsb作為最終的句子角色判定結(jié)果,即:單句3的語義角色被識別為“總體中的層”。句子語義角色標注完成。
應(yīng)當理解的是,本說明書未詳細闡述的部分均屬于現(xiàn)有技術(shù)。
應(yīng)當理解的是,上述針對較佳實施例的描述較為詳細,并不能因此而認為是對本發(fā)明專利保護范圍的限制,本領(lǐng)域的普通技術(shù)人員在本發(fā)明的啟示下,在不脫離本發(fā)明權(quán)利要求所保護的范圍情況下,還可以做出替換或變形,均落入本發(fā)明的保護范圍之內(nèi),本發(fā)明的請求保護范圍應(yīng)以所附權(quán)利要求為準。