文本"清理"技巧

请教各位一技巧!
如有以下一段话,欲把A turn, 即话者A 的话语一次性全部剔除,请问可用什么软件?什么办法?非常感谢!
<B> mm okay I'd like to talk about an experience <\B>
<A> mhm <\A>
<B> mm: this semester . at the very . I I mean . at the very beginning of this semester . I was assigned to: . er: teach a college class <\B>
<A> mhm <\A>
<B> because I . er . you see I was a . college students <\B>
<A> mhm <\A>
<B> before I became a postgraduate <\B>
<A> mhm <\A>
<B> I have never had any working experience <\B>
<A> what class was it you were teaching <\A>
<B> mm maybe the first year college class <\B>
<A> uhu and: what subject was it <\A>
<B> mm . eh first listening class and then audio-visual class <\B>
<A> and were you teaching English or <\A>
<B> in English [of course yes . in our department <\B>
<A> [in English . mhm <\A>
 

xusun575

高级会员
回复: 文本"清理"技巧

无需软件,"笨"办法即可: 导入excel, 排两次序
排序1 后删除 所有<A>行
排序2 恢复<B>行的原有顺次.
 

armstrong

高级会员
回复: 文本"清理"技巧

不需要专门的软件,Word中的替换功能就可以解决.
步骤:
1.在word下选择“编辑”菜单, 打开“替换”,在“查找内容”栏中输入“<A>*<\A>”;在替换为中什么都不输入,然后勾上“使用通配符”,然后选择“全部替换”;
2.然后再次选择替换命令,在“查找内容”栏中输入“<>”在替换为中什么都不输入,把刚才勾上的使用通配符去掉,然后选择“全部替换”,即可搞定。

注意:在查找内容中输入时上面的都不带引号。
 

Haiyang Ai

Administrator
Staff member
回复: 文本"清理"技巧

这个到是个很好的 perl 或 python 语料处理的练习题,哪位C友写几行代码,来个more than one way to do it,姑且也使用 “高级” 工具处理一番,哈哈。

其实,基本思想还是用空的东西替换 <A> 和 </A>之间的东西,而这个之间的东西,恰好可以使用通配符 * 来替换。
 

xujiajin

管理员
Staff member
回复: 文本"清理"技巧

用下面的正则表达式就可以匹配上面所有的<A><\A>之间的内容

^<A>(.*?)<\\A>$

不知道为什么文本中的<\A>是\而不是/?不合规范。
 

附件

xujiajin

管理员
Staff member
回复: 文本"清理"技巧

用查找,替换就可以了。替换成nothing就是了。
 

xiaoz

永远的超级管理员
Staff member
回复: 文本"清理"技巧

The first backslash is an escape which allows the program to interpret the following character literally.

^<A>(.*?)<\\A>$
为什么是双斜线啊(<\\A>),许博士?谢谢。
 

xujiajin

管理员
Staff member
回复: 文本"清理"技巧

如xiaoz所言,反斜杠在regex里是有特殊含义的。a backslack matches the following character literally.在这里意思是: 第一个反斜杠的作用是告诉计算机匹配后面的反斜杠。

第一个反斜杠是功能性的;
第二个反斜杠是实指文本中的反斜杠。
 

Haiyang Ai

Administrator
Staff member
回复: 文本"清理"技巧

\n 表示新起一行,\t表示输入一个table键,所以\本身是特殊符号,如果要表示\本身,那么就在前面再加一个\这样后面的\就不会有特殊意义了。
 
回复: 文本"清理"技巧

I tried the method from armstrong, very user-friendly!

不需要专门的软件,Word中的替换功能就可以解决.
步骤:
1.在word下选择“编辑”菜单, 打开“替换”,在“查找内容”栏中输入“<A>*<\A>”;在替换为中什么都不输入,然后勾上“使用通配符”,然后选择“全部替换”;
2.然后再次选择替换命令,在“查找内容”栏中输入“<>”在替换为中什么都不输入,把刚才勾上的使用通配符去掉,然后选择“全部替换”,即可搞定。

注意:在查找内容中输入时上面的都不带引号。
As for that from Dr Xu, I tried, but failed.
thank you all very much!!!!!!!!!
 

xujiajin

管理员
Staff member
回复: 文本"清理"技巧

对单个文本用word的方法很方便,但如果如果是成千上万了文件就用regex方便了。
 
回复: 文本"清理"技巧

文本文件被Treetagger处理之后,就变成了“word, tag, lemma”的形式,例如:“The Shadow of National Socialism and fascsim over Europe and its legal"被treetagger处理之后,就会变成下面的形式:

The DT the
Shadow NP Shadow
of IN of
National NP National
Socialism NN socialism
and CC and
Fascism NN fascism
over IN over
Europe NP Europe
and CC and
its PP$ its
Legal NP Legal

我之前一直用的是Perl来把去掉期中的word或者lemma或者tag的,今天看到这个帖子,我在想我是否可以用word来处理呢?请高人指点! 同时,还有其他的方法来处理这样的文本么??
 
顶部