自然语言处理,自然语言处理发展现状及对策,自然语言处理,自然语言处理发展现状与趋势

  自然语言处理,自然语言处理发展现状及对策,自然语言处理,自然语言处理发展现状与趋势

  2020美赛C题:pyhton实现npl自然语言处理记录序言文本预处理LDA主题分析加可视化多进程程序需要写入主函数可视化NLTK情感分析制作语料库包情感热情量化一些收获python检错思想的美赛

  序

  2020选美比赛历时4天。最后一天,我连夜写完论文,终于在早上9点前写完了代码。以下是我在完成代码时遇到的一些困难和解决方法的简要记录。

  文本预处理参考代码:

  主要参考代码

  Nltk用于对文本进行预处理,例如分词和删除停用词,以便用一些有意义的词替换一个注释。我的电脑的停用字词地址:C: users Lenovo appdata roaming nltk _ data corporate stop words

  您可以创建自己的停用词。我以文档中的英文停用词为原文,加上了关于吹风机评论中经常出现的含义的词,做了一个新的停用词:hair_dryer。

  在spacy下使用指定包时,用pip直接下载失败。具体原因不知道,后来在网页上下载了,用指定的命令安装到本地。命令也很神秘,这里要花很多时间:spacy下的load(en en )。

  LDA主题分析和可视化LDA模型建立参见前面的参考代码。

  多进程程序需要写入主函数。主体分类后,计算模型的复杂度和一致性得分。执行的一致性分数有错误。最后发现我的代码不在main函数里,所以不能执行多进程程序。最终解决方案是指:

  多进程程序应写入主函数

计算模型困惑度

  LDA模型建立后,计算模型的精度。

  混乱和一致

  视觉参考代码:pyLDAvis视觉参考代码

  分析结果很玄乎,主要看个人理解,每次出来记过都不一样。把它放在论文里主要是因为它有两个可视化,非常先进。我还没有想到一个方法来提高LDA话题的分类。

  

错误解决

  使用文章的可视化方法与LDA模型,我在使用pyLDAvis可视化时遇到了很大的困难。详情和解决方案见我的帮助帖:python。

  最后,我把我的思维变成了可视化。原版可能是因为我没有下载jupyter note。所以最后只能用网址打开结果,不能从本地工具。

  Ps:按照贴吧里的方式打开IIS后,c盘的用户文件夹里出现了一个新用户:DefaultAppPool。

  NLTK情感分析参考代码:Tweety评论的情感分析。

  使用同类型的语料库作为实验数据,制作语料库包可以得到更准确的结果。在这里,我们改变了原来的Twitter语料库包,但我最终没有得到更准确的结果。可能语料库还不够丰富,爬虫还没学会。

  这次比赛我直接修改了Twitter语料库包,但其实我可以自己做一个新文档,把代码的import twitter_samples改成新创建的语料库文件夹,然后把正反放在两个下面。json分别。该文件夹可以放在c: users Lenovo appdata roaming nltk _ data corporate目录下。

  从nltk.corpus导入twitter_samples

  原代码中的热情量化只是实现了评论热情的输出,或正或负。我对它做了一些改动,计算了每个正面词或负面词的频率,最后用正面频率-负面频率来产生情绪正面性。下面的代码被用作灵感:情绪积极性的计算

  python错误检查的一些收获首先是关于python代码错误提示的搜索方法。以前我一般只找到自己写的代码的水平。通过这段时间,我发现有时候你的代码没有问题,错误出现在原来的包函数里。这时候我们就得跟着python的错误提示功能继续往下看了。为什么下载的包中的函数会有错误?一个是你的windows系统不支持某种语法(见:[errno2]没有这样的文件或目录: nul )。另一种是他的包里有些函数改了名字,执行的时候才知道改了名字,而你的包没有改名字。

  下图是我做pyLDAvis时遇到的错误提示。

  选美比赛的一个重点,

美赛不需要支撑材料

  我们的情感热情分析结果非常不理想,我几乎总是在最后一天调整语料库包,试图提高准确性。可惜最后失败了。然后。

  我只能说,不需要证明材料是好事。我们没有在最终的附录中放任何代码。

团队分工不要太明确了。这样会让每个人都很孤独,很累

  比赛在网上举行,增加了我们沟通的难度。而且大家的分工变得更加独立。

  说实话,这次报纸的很多部分我都没看。我只修改了部分模型的建立,填写了模型的求解。并在最后一夜写下了结论。剩下的时间我都在纠结代码。但是,期末论文中我的代码部分并不多。虽然每一个结果都需要量化,然后用我的情感去计算,但是一想到我们代码运行的数据准确率极低,我就觉得自己在论文中没有做出太大的贡献。如果用我的数据来计算,会发现我们大部分合理的猜测都无法得到验证,所以。

  我另外两个队友,一个队友,基本上把所有论文的主体部分都写好了。和数据筛选,简单计算。而且大部分模特都是她一个人创作的。我只参与了前两天的讨论,提供了一些思路。

  另一个队友主要是翻译。这一次因为支气管炎,她无法用声音交流,所以她没有提供任何关于建模的想法。一些不涉及建模主要思路的论文都是她完成的,她还兼做图表师。

美赛与国赛

  相比上一次的全国赛,在大家一起思考,可以互相帮助的时候,这次彻底分裂,勤奋的悟空,竟然这么差劲。我们都是物联网专业的。我们原来的优势是技术不受限制,可以互相帮助,这在这次比赛中完全没用。

  这一次,比全国比赛要多花很多时间。除了吃饭睡觉,我们基本都在做建模,吃饭睡觉的时间也很短。每天我们都是一点或者两点以后睡觉,七点以后。最后一天,我熬了一夜。

  我仍然怀念全国比赛。我每天有那么多时间考虑吃什么,还可以四处走访打听敌情。

数学建模

  之后我们队就再也没有参加比赛了,因为没有训练,所以建模能力一直在退化。后来我作为论文作者,和另外两个人组队参加了一个中国数字杯,获得了二等奖。但其实这个比赛水平不高,题目基本都是用文字建模,答案不用拉到一边就能编出来。真正热爱数学建模的,不是两三天就能从这个比赛中学到东西,而是要长期积累,多次随队训练。国赛才是真正考验一支球队水平的比赛,美赛并不能完全说明水平。可能有的队伍论文很精彩,得过很多其他大大小小的奖,但是从来没有拿过全国比赛的冠军。可能需要思考模型是否过于理想和空洞而忽略了建模本身:如何高效合理地解决问题。

自然语言处理,自然语言处理发展现状及对策,自然语言处理,自然语言处理发展现状与趋势