作者tnsshnews (tnsshnews)
看板java
標題[問題] 請問regex有辦法自動衍生出所有可能句型
時間Wed Dec 11 22:11:11 2013
Dear all,
以中文為例, 同一個意思, 往往在語言中可以有多種不同表示的句型,
例如, "台灣的總統是誰" "誰是台灣的總統" "台灣總統是哪位" "什麼人是台灣總統"
雖然講的話都不一樣, 但很明顯都是在問同一件事情 - 問人名,
請問如果利用regex把這些不同句型,
但是一定會包含到的兩個關鍵字, "台灣的總統", "誰", 寫在regex中,
標示一定要出現的兩個字,
有辦法簡單一條regex可以判斷不同句型, 但是都有提到這兩組關鍵字的句子嗎?
ps. 本人認為困難點在於, 中文句子常常可以顛倒用詞, 如"是誰"或"誰是",
但regex又是把位置寫死了, 請問這樣是不是不能用Regex, 甚至這種問題無解呢
謝謝大家
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.134.15.92
1F:推 PsMonkey:就算寫出來... 「誰不曾當過台灣的總統」... 結案 12/11 22:18
2F:→ tnsshnews:?? 什麼意思 12/11 22:32
3F:→ cyclone350:不太像是regexp的範圍... 12/11 23:06
4F:推 LPH66:話說是有 RegExp 版, 不過這問題更像是 CSSE 版討論的範圍 12/11 23:07
6F:→ LPH66:然後這個問題已經沾到了自然語言處理的邊了 那可是個大坑 12/11 23:09
7F:→ LPH66:而猴大的意思是你這兩個條件不足以分離出你想要的問句類別 12/11 23:10
9F:推 wuliou:之前寫偽春菜的時候有碰過類似問題 12/11 23:11
10F:→ bitlife:regex是lexcical analysis, 連context free grammer都沒辦 12/11 23:12
11F:→ wuliou:和朋友討論的結果是直接scan關鍵字猜測句意 12/11 23:12
12F:→ wuliou:例如你這個就用"台灣" "總統" "誰"然後丟上google查詢XD 12/11 23:14
13F:→ bitlife:處理,更不用提自然語言,除非你限定有限句型然後窮舉 12/11 23:14
14F:→ wuliou:話說推文CD什麼時候變那麼長的orz 12/11 23:15
15F:→ bitlife:建議你去看一下compiler的書,會比較清楚,也許你的需求用 12/11 23:16
16F:→ bitlife:lex+yacc 再加上一些語句範圍限制勉強有可能做到 12/11 23:17
17F:→ PsMonkey:推文時間很久沒變了耶 @_@ 12/11 23:50
18F:推 pupuliao:我同學做這個的...這東西很複雜的 12/11 23:55
19F:→ swpoker:自然語言很難勒 12/12 09:47
20F:→ swpoker:我寫郵遞區號判別就是想採用這種模式~演算法超難寫 12/12 12:38
21F:→ realmeat:看起來像是語意分析, 不過看你問的比較像是句型分析 12/12 16:20