我收集了一些"文章",每篇文章长1到10个句子,用嘈杂的非正式英语(即社交媒体风格)写成.我需要从每篇文章中提取一些信息,如可用的日期和时间.我还需要了解文章的内容以及谁是主要的"演员".
举例说明:"从明天早上10点30分开始,每个人都需要出席,讨论公司的财务预测." ,我需要提取:
据我所知,可以在不使用NLP技术的情况下提取日期和时间,但我没有在Python中找到与Natty(http://natty.joestelmach.com/)一样好的东西.
在阅读了NLTK书的一些章节并观看了Coursera上NLP课程的一些视频后,我对如何继续进行的理解如下:
我可以(暂时)跳过1,2和3并产生一个有效但可能具有高错误率的实现吗?我应该使用哪种语料库?
我还在考虑一个预处理步骤,以纠正常见的拼写错误或快捷方式,如"yess","c u"和其他可恶的错误.我已经存在的任何东西都可以利用吗?
简而言之,问题是:我解决这个问题的方法是否正确?如果没有,我做错了什么?
我可以(暂时)跳过 1,2 和 3 并生成一个可行但错误率可能很高的实现吗?我应该使用哪个语料库?
我还在考虑一个预处理步骤来纠正常见的拼写错误或快捷方式,如“yess”、“c u”和其他令人厌恶的内容。有什么我可以利用的现有东西吗?
我建议您首先尝试处理标准语言文本。您所指的预处理本身就是一项 NLP 任务,称为标准化。这是 Twitter 规范化的资源:http://www.ark.cs.cmu.edu/TweetNLP/,此外,您可以使用拼写检查、句子边界检测等。
简而言之,问题是:我解决这个问题的方法正确吗?如果不是,我做错了什么?
如果你对标准化进行抽象,我认为你的方法是有效的。关于自动化注释过程:您可以首先使用现成的组件来引导该过程,然后在不同的迭代期间进行纠正、重新训练等等。为了获得可接受的结果,您需要执行步骤 2、3 和 4 几次。
如果您有兴趣了解问题并能够优化现有解决方案,我建议您重点关注允许您开发自己的模型的工具。如果您优先考虑获得结果而不是开发自己的模型,我建议您研究现有的开源文本工程框架,例如 Gate ( https://gate.ac.uk/ ) UIMA ( http://uima.apache. org/)和 DKPro(扩展 UIMA)(https://code.google.com/p/dkpro-core-asl/)。所有三个框架都包装了现有组件,因此您拥有多种可能的解决方案。
| 归档时间: |
|
| 查看次数: |
1435 次 |
| 最近记录: |