Nai*_*ima -2 parsing nlp nlp-question-answering
我想解析Malayalam(印度语)文本语料库来开发一个问答系统.是否有任何NLP工具用于语言解析除英语以外的语言.
这可能听起来很大而且可怕.
据我所知,即使记录在案,也没有可以学习的免费软件问答系统.
问答有两个部分:
两个步骤都需要类似的算法
垂直问答管道
要实现垂直问答系统,您需要能够以高级别解析"Malayalam"和其他印度语言,这至少意味着:
将文本分成段落,然后分成句子和单词.你必须能够判断句子结束的位置.例如,取决于语言句子可能不会以相同的char结尾.或者缩写.喜欢ie.不是一句话的结尾.I.B.M.不是三句话等等.句子怎么开始,英文中有一个大写字母,但不是所有的大写字母都像专有名词一样开头一句,例如"乔姆斯基还活着吗?"
部分语音标记:从专有名词,动词等讲述名词.
创建命名实体识别器:识别人员,组织,位置,时间表达,数量,货币价值,百分比等的名称.
构建语义树依赖关系:例如,哪个命名实体 "她"或"他"指的是什么?谁是句子,补语等的主语
创建一个文本生成工具.鉴于您的程序理解了该问题,找到了可能的答案,它必须以自然语言格式化.
幸运的是,你可以从中汲取灵感,为英语做到这一点并不缺乏.如果你想在Python的工作,你会想学习Spacy(想成为快和电流NLP库)和NLTK其自带的书.
算法可以在语言之间共享.
一种更狭隘的方法
如果您不想执行所有步骤,只能解决回答问题的子问题.您需要简化问题并消除变量/未知:
您必须使用已经拆分和标记的事实构建数据库,以便您可以通过执行SQL查询来简单地回答问题.例如,给出以下事实元组:
世卫组织:印度什么:赢得什么:板球锦标赛时间:2015年
在这里,我简化标记为WHO,WHEN和WHAT.
回答这个问题很容易:
谁:?什么:赢得什么:板球锦标赛时间:2015年
即.
谁在2015年赢得了板球锦标赛?
问题必须是"可预测的"并且易于解析其他示例:
世界卫生组织做了什么
什么是什么
什么时候谁
如果您能够识别/解析a WHO,a WHEN并猜测WHAT用户提供的句子中的内容,则此方法可以正常工作.你也可以进一步简化并说WHENs只能是4位数即.年份.并进一步限制了问题的类型,以简化解析部分.
这将引导您进入一个程序,该程序可以以更自然,更正确的方式回答问题,如原始ElasticSearch或PostgreSQL等信息检索(IR)系统.
事实数据库
你可能会需要使用语义网络看工作自由ConceptNet(和发送消息到mailling列表,如果你需要帮助或者想参与印度维基)或babelnet.还有wordnet.
课程
我很喜欢Jurafsky课程,有一个关于QA的特定章节.Jurafsky写了一本关于NLP的完整书籍介绍.
搜索提示
在万维网上搜索有关您查找信息的语言的NLP算法的信息.比如说法国变形金刚我在法国研究门户网站上搜索,或者通过搜索引擎使用原生的ie.法语措辞.美国搜索引擎在其他语言中并不像英语那么好,所以要准备分页(也使用搜索工具).
文化
建立自然语言处理和人工智能的良好文化.查看摘要或信息检索(很容易),您将学习可以在另一个问题中重复使用的方法.例如,如果你看一下基于规则的机器翻译,你会发现在行业中他们使用简化的非模糊自然语言语法来准确翻译文档.这些文档是用简单的英语(例如SUBJECT VERB NOUN)编写的,可以很容易地创建计算机语法(如计算机语言语法),并且可以很容易地逐字翻译.这是解决子问题以实现更高质量的一个实例.这就是我提出上述狭隘方法的方法.
算法
最后但并非最不重要的是,大多数子问题解决方案属于以下三种算法类别之一:
Algrebraic和图论理论试图使数据敏感并能解释其结果.例如PageRank,SimRank,CoSimRank,逻辑编程.
我与术语动力学比较的统计数据,其中基本上"你解决了问题,但不知道为什么".这就是所谓的"机器学习",与NLP相比,主要用于解决实际上狭窄的问题.但仍然存在机器学习算法来解决自然语言问题,例如主题建模,但它不是唯一的例子.统计编程很受欢迎.
混合:这意味着两种方法的混合.
阅读乔姆斯基和两种统计学习文化,了解二分法和研究/工程背景的更多见解.
一般提示
只要您了解它们的局限性以及如何使用它们,您就不需要了解和理解每个算法和科学依据.
我想到的东西,即使我读的主要是英语,用我的"母语"法语阅读也扩大了我的理解.
保存您找到的论文和资源,事情来来去去.
| 归档时间: |
|
| 查看次数: |
1192 次 |
| 最近记录: |