[問題] 請問regex有辦法自動衍生出所有可能句型

看板java作者 (tnsshnews)時間11年前 (2013/12/11 22:11), 編輯推噓4(4017)
留言21則, 10人參與, 最新討論串1/1
Dear all, 以中文為例, 同一個意思, 往往在語言中可以有多種不同表示的句型, 例如, "台灣的總統是誰" "誰是台灣的總統" "台灣總統是哪位" "什麼人是台灣總統" 雖然講的話都不一樣, 但很明顯都是在問同一件事情 - 問人名, 請問如果利用regex把這些不同句型, 但是一定會包含到的兩個關鍵字, "台灣的總統", "誰", 寫在regex中, 標示一定要出現的兩個字, 有辦法簡單一條regex可以判斷不同句型, 但是都有提到這兩組關鍵字的句子嗎? ps. 本人認為困難點在於, 中文句子常常可以顛倒用詞, 如"是誰"或"誰是", 但regex又是把位置寫死了, 請問這樣是不是不能用Regex, 甚至這種問題無解呢 謝謝大家 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.134.15.92

12/11 22:18, , 1F
就算寫出來... 「誰不曾當過台灣的總統」... 結案
12/11 22:18, 1F

12/11 22:32, , 2F
?? 什麼意思
12/11 22:32, 2F

12/11 23:06, , 3F
不太像是regexp的範圍...
12/11 23:06, 3F

12/11 23:07, , 4F
話說是有 RegExp 版, 不過這問題更像是 CSSE 版討論的範圍
12/11 23:07, 4F

12/11 23:08, , 5F

12/11 23:09, , 6F
然後這個問題已經沾到了自然語言處理的邊了 那可是個大坑
12/11 23:09, 6F

12/11 23:10, , 7F
而猴大的意思是你這兩個條件不足以分離出你想要的問句類別
12/11 23:10, 7F

12/11 23:10, , 8F

12/11 23:11, , 9F
之前寫偽春菜的時候有碰過類似問題
12/11 23:11, 9F

12/11 23:12, , 10F
regex是lexcical analysis, 連context free grammer都沒辦
12/11 23:12, 10F

12/11 23:12, , 11F
和朋友討論的結果是直接scan關鍵字猜測句意
12/11 23:12, 11F

12/11 23:14, , 12F
例如你這個就用"台灣" "總統" "誰"然後丟上google查詢XD
12/11 23:14, 12F

12/11 23:14, , 13F
處理,更不用提自然語言,除非你限定有限句型然後窮舉
12/11 23:14, 13F

12/11 23:15, , 14F
話說推文CD什麼時候變那麼長的orz
12/11 23:15, 14F

12/11 23:16, , 15F
建議你去看一下compiler的書,會比較清楚,也許你的需求用
12/11 23:16, 15F

12/11 23:17, , 16F
lex+yacc 再加上一些語句範圍限制勉強有可能做到
12/11 23:17, 16F

12/11 23:50, , 17F
推文時間很久沒變了耶 @_@
12/11 23:50, 17F

12/11 23:55, , 18F
我同學做這個的...這東西很複雜的
12/11 23:55, 18F

12/12 09:47, , 19F
自然語言很難勒
12/12 09:47, 19F

12/12 12:38, , 20F
我寫郵遞區號判別就是想採用這種模式~演算法超難寫
12/12 12:38, 20F

12/12 16:20, , 21F
看起來像是語意分析, 不過看你問的比較像是句型分析
12/12 16:20, 21F
文章代碼(AID): #1Ig7A1bU (java)
文章代碼(AID): #1Ig7A1bU (java)