作者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