请教:怎样编写regex能找到摘要标题中的名词短语呢?

wendycao

初级会员
摘要标题中的纯名词短语很多,我指的是以名词为标题中心词的短语,怎样编写正则表达才能排除掉带谓语的标题呢?试了n多遍,还是很困惑啊,:confused: 请赐教。

另外,请问哪里能找到已经编好的针对语言学的正则表达式呢?
 
回复: 请教:怎样编写regex能找到摘要标题中的名词短语呢?

没搞明白你究竟想做什么。
 
回复: 请教:怎样编写regex能找到摘要标题中的名词短语呢?

我是想提取出整个标题的结构是名词短语的那一类,例如下面的1-4,不管定语的位置在哪,标题的中心词是名词或动名词;而5-7则是完整的句子,但怎样写表达式才能排除带谓语的标题呢?我主要用powergrep和patcount来做。请老师们指教一下。

1)Development and Evaluation of a Genetics Literacy Assessment Instrument for Undergraduates
2)Evaluating mate choice in the zebra finch
3)Geographical variation in song frequency and structure
4)Functionally distinct regulatory RNAs generated by bidirectional transcription and processing of microRNA loc
5)Maternal and offspring effects influence provisioning to mixed litters of own and alien young in mice
6)Can you dig it? Use of excavation, a risky foraging tactic, by dugongs is sensitive to predation danger
7)Differential display of DNA-binding proteins reveals heat-shock factor 1 as a circadian transcription factor
 
回复: 请教:怎样编写regex能找到摘要标题中的名词短语呢?

如果你的语料没有经过词性标注(POS tagged)和句法分析(parsed) ,基本上没有任何检索程序可以达到你的要求。建议试用stanford parser先处理语料,再找检索办法。

阅读关于stanford parser的贴子:
http://www.corpus4u.org/showthread.php?t=2776

可以用下面的在线测试版试着分析你的第1个句子和第6句,从树形结果上可以很明显看到句一是名词短语,句六是由两个单句组成的。有了这些信息,你的检索要求也就很容易达成了。
stanford parser online:
http://josie.stanford.edu:8080/parser/
 
回复: 请教:怎样编写regex能找到摘要标题中的名词短语呢?

Dr.Hong,非常感谢您提供的stanford parser,我还是头回听说,需要消化消化,:p正在试着安装。我的文本用Claws7赋过码,我一直尝试在词性赋码的基础上写表达式,看来很困难。
 
回复: 请教:怎样编写regex能找到摘要标题中的名词短语呢?

Dr.Hong,非常感谢您提供的stanford parser,我还是头回听说,需要消化消化,:p正在试着安装。我的文本用Claws7赋过码,我一直尝试在词性赋码的基础上写表达式,看来很困难。

POS tagged后的语料当然也可以检索,但是比较麻烦,问题也比较多。Parsed后的更适合你的需求,不过parsed的准确率会因语料而不同,如果语料不多,post-editing一下最好。建议你直接使用网络版吧,估计你得花些时间折腾那个下载安装版,语料不多的话就不太值得。
 
回复: 请教:怎样编写regex能找到摘要标题中的名词短语呢?

终于把“树”给整出来了,在黑暗里摸索了很久,总算看到了一点曙光。再次感谢Dr.Hong的指点!学到很多东西。因为语料较多,我还是把它下下来了。还要接着啃Tregex里面的正则表达,有点象天书啊,呜呜,加油吧。

另外,想问问Dr.Hong,Stanford Parser的准确率大体是多少呢?刚才扫了一眼,确实有标错的,挨个检查有点费劲。
 
回复: 请教:怎样编写regex能找到摘要标题中的名词短语呢?

...Stanford Parser的准确率大体是多少呢?刚才扫了一眼,确实有标错的,挨个检查有点费劲。

准确率因文本类型和质量而变化,没有一个统一的指标。而且该软件业经过大量语料的训练后应该准确率就会提高。
 
回复: 请教:怎样编写regex能找到摘要标题中的名词短语呢?

请问Laohong,
Stanford Parser是否能批量处理语料库呢,我试用了网络版的但是只能处理单句,后来下载了你提供的The Stanford POS Tagger 下载,但是里面lexparser只是一闪而过,打不开啊?
 
回复: 请教:怎样编写regex能找到摘要标题中的名词短语呢?

请问Laohong,
Stanford Parser是否能批量处理语料库呢,我试用了网络版的但是只能处理单句,后来下载了你提供的The Stanford POS Tagger 下载,但是里面lexparser只是一闪而过,打不开啊?

For English Text:

Under DOS(开始[FONT=宋体][FONT=宋体, MS Song]→运行[FONT=宋体][FONT=宋体, MS Song]→打开:cmd[FONT=宋体][FONT=宋体, MS Song]→...)[/FONT][/FONT][/FONT][/FONT][/FONT][/FONT], go to the directorywhere the parser is located(eg. c:\aa\lexparser.bat) , then type the line below:

lexparser.bat input.txt >output.txt

Then, enter to get your result.
 
回复: 请教:怎样编写regex能找到摘要标题中的名词短语呢?

Dr. Hong,非常感谢您介绍这么好的工具,原来不知怎么做的问题现在也敢试一试了,信心大增啊。

名词短语好像还用不着太复杂的正则表达,大部分类型的名词短语都整出来了。例如,ADJ+N一类:ROOT <: (NP <<, (NP < (JJ $.. NN) )),不知有没有什么漏洞。

另外,前置定语+名词,也就是中心名词在短语末端,想了很久也写不出来,Dr.Hong 能否给指点一下,谢谢。
 
回复: 请教:怎样编写regex能找到摘要标题中的名词短语呢?

ADJ+N这样写更准确,ROOT <: (NP <<# (NN|NNP|NNS|NNPS|JJ $,, JJ) )。名词短语的类型终于差不多做出来了。但可能是文本的问题,准确率有待提高,要加入人工筛选。再次衷心感谢 Dr.Hong的帮助!
 
Back
顶部