Darkness123451 2020-09-19 13:31 采纳率: 60%
浏览 120
已采纳

正则表达式的相关题目,匹配问题(python3)

实验语料:自然语言处理是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系,但又有重要的区别。这一学科的发展经历了20世纪40年代的基础期。1957至1970年符号与随机方法时期。以及后来的经验主义和大融合(1983-1999),直至当今的机器学习。
4.1利用re.search ( regex ,string )方法打印文本中包含:“自然语言”这个字符串的行内容;打印以“期”字结尾的句子。

4.2利用正则表达式和findall()两种方式抽取文本中的数字年份。
4.3 简答:自然语言处理的难点有哪些?自然语言处理处理的层次?

  • 写回答

2条回答 默认 最新

  • 星光不问赶路人~ 2020-09-19 15:03
    关注

    import re

    匹配数字年

    year_pattern="(\d{1,4}年)"

    匹配月 月比较特殊 可能会出现01月 1月这两种情况 还有10月,12月

    month_pattern="(([0?][1-9])月)|(([1?][0-2])月)|([1-9]月)"

    匹配日 保证匹配的数字是1-31,暂未考虑单双月和2月 闰年

    day_pattern="([0?][1-9]日)|([1?][0-9]日)|([2?][1-9]日)|([3][0-1]日)"

    date_pattern="(\d{1,4}年)((([0?][1-9])月)|(([1?][0-2])月)|([1-9]月)?)(([0?][1-9]日)|([1?][0-9]日)|([2?][1-9]日)|([3][0-1]日)?)"

    def get_date(val):
    res=re.search(date_pattern,val)
    if res:
    return res.group()
    return None

    def findall(content):
    ree = re.compile(date_pattern)
    result = re.findall(ree,content)
    if result: #是个list
    return result

    def readtxt():
    youtxtpath = "./aa.txt"
    with open(youtxtpath,"r") as f:
    line = f.readline()
    result = re.search(r"自然语言",line)
    if result: #匹配到
    print(line) #打印文本中包含:“自然语言”这个字符串的行内容
    result = re.search(r"[,.?!].*期[,.?!]",line) #打印以“期”字结尾的句子。 标点符号有多岁自己处理
    if result:
    print(line)

    自然语言处理的难点:错别字,新词,语言与行为不一致啊,等等。。。
    自然语言处理处理的层次: 1、语音层次2、词形层次3、词汇层次4、句法层次5、语义层次6、语用层次7、语境层次

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 remotes安装提示没有description文件
  • ¥15 AttributeError: 'NoneType' object has no attribute 'drop_duplicates'报错
  • ¥15 以下代码,运行结果报错
  • ¥15 Vivado仿真数据出错
  • ¥15 银河麒麟不支持vant等前端框架怎么办?
  • ¥15 vue3的子组件在父页面调用不显示不生效问题
  • ¥15 cadence PEX
  • ¥15 phython创建了文件 显示在项目下面,但运行不了,运行时还是运行main文件,并且说main文件不允许并行运行
  • ¥15 FutureWarning:不推荐使用空或全 NA 条目的 DataFrame 串联行为。怎么改呢?
  • ¥15 Chatgpt突然无法正常显示数学公式,如何解决?