文字檢索模式的學習過程與應用

2021-07-11 13:46:25 字數 1078 閱讀 1203

|*—*|模式構造(演算法一:產生各種包含問題與答案的模式,

主要是用字尾樹進行模式學習)

第一步: 用問題+答案搜尋

第二步:處理搜尋出來的1000條資料文字

第三步:用正規表示式保留包含了問題和答案的句子

第四步:把包含問題和答案的sentences傳給字尾樹執行

(找到這些句子中重複最多的最長子串 如:mozart (1957-2001))

第五步:把包含問題和答案的phrases傳給字尾樹執行

(再從上步結果中找出包含問題和答案的串 如:mozart (1957 )

第六步:用代替問題的詞,用代替答案的詞

用不同人名重複演算法一將會得到各個人的生日集合

|*—*|模式精度確定(演算法二:計算模式精度,剔除低精度模式)

第一步: 只用問題搜尋(問題選擇很重要,用同一問題的不同表達形式,避免受到重複文字的影響而影響到精度)

第二步:同演算法一

第三步:用正規表示式只保留包含了問題的句子

第四步:a.用演算法一得到的模式測試這些句子,會出現兩種情況:

(1)可能匹配任何字元

(2)匹配正確答案

如:i) mozart was born in

ii) mozart was born in 1756

b.用公式計算每個模式的精度

p = ca / co

ca:表示用該模式匹配的正確的條數

co:表示用該模式匹配的代替了答案的任何詞的條數

第五步:保留匹配數量多的模式(比如大於5的)

|*—*|利用模式表發現答案(答案資料集是來自trec-10的)

第一步:用問題搜尋

第二步:已有的機器判斷問題類別以及問題的term

第三步:在已有的答案資料集中搜尋

第四步:清理資料(去除標籤,空白符等)

第五步:用正則標籤替換問題的term

(「」, in the case of birthyear).)

第六步:通過模式表中的模式選擇匹配標籤的詞作為答案

如:( -

was born

...第七步:按模式精度排序上步搜的答案,去重返回top5答案。

mysql 全文字檢索的列 Mysql 全文字檢索

mysql 全文索引 注意 並非所有的引擎都支援 全文檢索 mysql最常用的引擎 innodb 和 myisam 後者支援全文檢索 前者不支援 建立表的時候指定要檢索列 create table test fulltext note id int not null auto increment,n...

學習了python中的全域性文字檢索替換指令碼

最近跟隨alex學到了乙個指令碼,是全域性文字檢索替換。要求如下 寫乙個指令碼 允許使用者按以下方式執行時 即可以對指定檔案內容進行全域性替換 且替換完畢後列印替換了多少處內容 寫完後的指令碼呼叫方式 python your script.py old str new str filename 如下...

文字檔案單詞的檢索與計數

建立乙個文字檔案,統計給定單詞在文字檔案 現的總次數及位置 就是遍歷主串,然後把待匹配字串與子串進行比對,先把待匹配子串的第乙個字母與主串進行匹配,若匹配成功,則兩串的座標依次 匹配不成功時,主串座標返回到開始匹配時的座標,待匹配串座標清零,若待匹配座標等於待匹配子串長度,則證明匹配成功,返回匹配完...