这个问题是一位学友提出来的。问题是这样问的:怎么样把名词“饭”之前的动词给提取出来?
一开始,我想到了Xaira来提取。Xaira是牛津大学出版的免费软件,原来是配合第二版BNC出版的。Xaira的优势是能够准确定义这类类连接的查询检索。使用Xaira事先要对语料库进行严格的XML标注。另外,检索之前还要对标注好的语料库进行索引处理(indexing)。语料库标注出现一点问题,或者是索引不完美,检索就无法进行。还有一点,使用Xaira的步骤复杂,往往需要花费较长的时间学习。也许是这些原因,Xaira虽然专业,使用的人不多,国内基本上没有看到有人使用来进行研究中的语料分析。本人曾经花费不少时间来学习,基本掌握了Xaira的操作。无奈Xaira对语料库要求严格,使用的机会很少。本人手头标注严格的语料库只有肖忠华创建的LCMC。为了回答学友的提问,我对LCMC进行了检索,结果发现“饭”的频率只有138例,还有不少是标注错误而成的。
以上一条路不成,只好另找办法。还有一个比较大的汉语语料库“语料库在线”http://www.cncorpus.org/。该语料库的检索结果可以以显示代标注的方式出现。在结果中再次进行检索,就可以达到学友的目的。
具体步骤如下:
一、从在线语料库检索所有带“饭”的句子。限制条件为“词性标注”。
二、将以上结果存为文本文件。
三、编制“动词...+饭”各种可能的表达式,并制作成一个列表。语料库在线的词性标注格式很简单,基本格式为:词/标注。也就是说,每一个基本的单元就是由一个词后面跟斜线在跟上词性标注的代码组成,如:饭/n。单元和单元之间相隔一个半角空格。了解了这一点,我们就好设计检索表达式了。考虑到“动词”和“饭”之间可能是直接相邻,吃/v
饭/n,或者隔开若干个词,如:吃不了/v 食堂/n 的/u 饭/n
等多种情况,我们在“动词”和“饭”之间用通配符来设定可能存在的距离,即“饭”前直接搭配一个动词,最多“饭”前出现5个其它的词单元,于是,我们得到如下表达式:
*/v 饭/n
*/v@饭/n
*/v@@饭/n
*/v@@@饭/n
*/v@@@@饭/n
*/v@@@@@饭/n
依照以上模样,将以上表达式存为纯文本,注意左对齐,不要增加多于的空格。
四、通过Antconc的基于文件的检索(file-based
search)来检索从“语料库在线”保存的检索结果,即进行第二次检索。
五、对第二次检索的结果进行筛选,剔除那些不符合要求的结果。因为以上我们假设“饭”前可能存在的距离,在这样的距离里面,还是有可能存在符合要求的句子,所以需要筛选。
加载中,请稍候......