正则表达式在NLP中的作用
1.将非结构化文档转化为结构化文本
2.去噪
#在python中使用re模块来实现正则表达式
import re
"""text_string='组合范畴语法(Combinatory categorial grammar,),是在AB演算基础上进行扩展而产生的范畴语法。' \
'从语法理论视角看,CCG是一种词汇形式化的方法。从计算语言学视角看,CCG属于一类适度上下文相关文法。' \
'从逻辑语义学视角看,CCG在句法与语义的接口方面非常融洽。无论是CCG语言的、计算的,还是逻辑的特征,' \
'都使得 CCG非常适用于自然语言信息处理,对于计算语言学具有很好的理论和实际价值。'
#regex='CCG' 匹配含有CCG的句子
#regex='C..' 匹配含有C..的句子,'.'可表示任意字符
#regex='..G' 同上
#regex='^从' 匹配以从开始的句子
#regex='从$' 匹配以从结尾的句子
regex='^从[语逻]' #匹配以 '从语'和'从逻'开始的句子 []表示后边可以匹配多个字符
p_string=text_string.split('。')
for line in p_string:
if re.search(regex,line)is not None:
print(line)"""
#关于转义字符'/'的匹配
"""if re.search(r"\\","I love N\LP"):
print("YES")
else :
print("NO")"""
#关于抽取特殊数字或者字符
years_string='2016 was good,but 2017 will be better!'
year=re.findall('[2][0-9][0-9][0-9]',years_string) #字符[a-z]同理
print(year)