从文本中提取关键字/关键短语

时间:2018-03-13 18:28:38

标签: machine-learning nlp text-mining jnlp text-extraction

我正在开展一个项目,我需要提取"技术相关的关键字/关键短语"来自文字。例如,我的文字是:

" ABC公司一直致力于与机器学习相关的项目,利用现有的库从大数据中查找信息。"

提取的关键字/关键短语应为:{机器学习,大数据}。

我的文本文档在MongoDb中存储为BSON文档。

有哪些最好的nlp库(有足够的文档和示例)来执行此任务以及如何执行此操作?

谢谢!

1 个答案:

答案 0 :(得分:4)

看起来您需要缩小范围,而不仅仅是关键字/关键短语,并找到每个句子的主语和对象。 对于主题/对象识别,我推荐使用Stanford Parser或Google Language API,您可以在其中发送字符串并获取依赖关系树响应。

您可以先测试Google API,看看它是否适用于您的语料库:https://cloud.google.com/natural-language/

此处的结果是主题谓词对象(SPO)三元组,其中谓词描述了这种关系。您需要遍历依赖关系图并编写脚本来解析三元组。

其他套餐: 我经常使用NLTK,Spacy和Textblob。如果语料库简单,通用且直截了当,Spacy和Textblob可以很好地运行OOTB。如果语料库是高度自定义的,特定于域的,混乱的(拼写错误或语法错误)等等,我将使用NLTK并花更多时间来自定义我的NLP文本处理管道,使用擦洗,lematizing等。您可能想要添加您自己的技术相关关键字和关键短语的自定义词典,以便您决定使用其中一个包时,您的解析器可以捕获这些。

NLTK教程:http://www.nltk.org/book/

Spacy快速入门:https://spacy.io/usage/

Textblob快速入门:http://textblob.readthedocs.io/en/dev/quickstart.html