标记,使用自定义词汇表(Python)从自由文本中提取短语?

我有一个自定义词汇约。 SQL表中的1M行。 每行都有一个UID和一个对应的短语,长度可以是多个单词。 这张表很少改变。

我需要在自由文本文档中对上述自定义词汇表进行标记,提取,块或识别(NER?)实体短语。 所以对于在自由文本中找到的短语,我可以拉它的UID。

如果部分匹配以及以不同顺序出现的词组标记将根据某些阈值/算法设置进行标记/提取,那将会很好。

  • 哪一种NLP工具,最好是基于Python的工具,可以在自由文本的标记,提取,分块或NER中使用自定义词汇?
  • 了解目标是从自由文本中提取短语 - 哪种格式最适合这种自定义词汇与NLP工具一起使用? XML,JSON,树,IOB块,其他?
  • 任何帮助将SQL表(原始自定义词汇表)转换为NLP算法需要使用的词汇表格式的工具?
  • 我是否需要与其他(非pythonic)工具(如GATE,KEA,Lingpipe,Apache Stanbol或OpenNLP)集成?
  • 是否有用于标记/提取和创建自定义词汇的API?
  • 任何有关RapidMiner或TextRazor的经验? 这些工具可以帮助解决上述问题吗?
  • 谢谢!


    经过几个小时的检查各种API后,我们决定使用TextRazor。

    NLP短语提取/分类结果的质量非常好--TextRazor使用Freebase和DBpedia(以及其他库),这使得TextRazor可以将PHRASES(如“计算机安全”)分类/分类/提取 - 正确地作为一个实体(而不是其他的API) - 错误地将这个例子分类为“计算机”的一个类和另一个类作为“安全”)。 程序控制TextRazor将使用哪些条款以及哪些条款不会 - 再次非常简单。

    在速度方面 - TextRazor速度惊人。 如果我理解正确,它会在许多(数百?数千?台)亚马逊按需计算机上使用并行计算。

    成本 - 我们将其与其他人进行比较,并与他们的竞争对手之一(一家规模非常大的3家公司)进行深入分析 - 而且它们绝对具有竞争力和合理性。

    使用Python与他们的API集成是相对直接的,除了在Web2Py框架上本地工作时使用https的一些小问题。 如果在本地使用Web2Py上的TextRazor时遇到障碍 - 请随时ping我,我很乐意分享我们的解决方案。

    服务/支持 - 几乎是即时的 - 他们通常会在12小时内回复所有问题。

    披露 - 我没有任何与TextRazor相关的利益,股份或任何其他财务利益,我们实际上仍然在他们的免费计划 - 所以我们没有支付他们的API服务。

    链接地址: http://www.djcxy.com/p/57773.html

    上一篇: Tag, extract phrases from free text using a custom vocabulary (python)?

    下一篇: Using Word2Vec for topic modeling