6/10 今天又调了一些Bug,增加了查询上下午课位的功能。以后还会添加查询指定学科的课,和查询整周或时间段课表。
6/12 今天准备加一个查询某天指定学科的功能,如“我明天足球课第几节”“明天我有数学吗”,这个功能看着很简单,上手开发后才发现有一些难受的问题需要解决。这个功能的逻辑是,先获取询问的日期,然后查询指定日期的课程result,在result中查询带“足球”的课程。原本我计划使用希悦lesson对象中的subject键来完成,比如“1+3语文甲班”的subject就是“语文”,但是经过我尝试后我又发现了一个问题,“衔接班信息常规”这种常人以为的信息课,会被打上“技术”的标签。但是谁查询时会问“我的技术课”?这个方法只能告置。然后我计划在课程的名称中查找询问的课程信息,在“衔接班信息常规”中寻找“信息”,如果匹配便加入结果。这种方法看似可行,却被NLP功能限制住了。在我设置的语义理解中,“我明天信息课什么时候”这句话的课程信息会被看做“信息课什么时候”,把名词和疑问词搞到了一块,但是我现在还没有一个好的逻辑来处理疑问词。这个功能一度卡住,最终我回家后想出了办法,现在是两端分别有一个问题,解决了一个就可以实现这个功能,所以我打算提高识别课程信息的准确度,提高识别准确度的方法就是把“什么时候”这种无用词扔掉,仅保留“信息”这种有用词,无用词是无限的,有用词可以被看做一个有限的集合,那么我在这个有限集里去匹配查找课程信息,就可以大大提高准确度,其实不是提高,是直接把准确度设置到100%。我通过获取北大附全部课程名称信息,然后进行一个分词操作,放到一个库里然后unique,在分词了“1+3语文甲班”和“1+3数学竞赛2”后,这个库会是“1+3”,“语文”,“数学”,“甲班”,“竞赛”,“2”。这样不仅解决了识别不准确的问题,还能顺便完成“我明天竞赛课都有哪些”这种问题。把它当做一个filter就可以。有了完整的想法,我计划周末去完成它。
本文分享了在开发智能课程查询系统过程中遇到的难题及解决方案。重点介绍了如何提高课程信息识别准确度,从无限的无用词中筛选有限的有用词,通过建立课程名称分词库,成功解决了识别不准确的问题。
297

被折叠的 条评论
为什么被折叠?



