NLP& ML短语提取

时间:2017-02-04 09:21:14

标签: machine-learning nlp nltk stanford-nlp text-mining

我可以使用什么ML算法训练给定句子中的动作短语。

Sentence1:I want to play cricket 
Label1: play cricket

Sentence2: Need to wash my clothes
Label2: wash clothes

我有大约2k的句子和数据的数据。相应的动作短语(标签),需要根据它们预测另一组句子。有人可以指导我如何使用NLP / ML吗?哪个Algo用于同一个? (最好是python)

2 个答案:

答案 0 :(得分:1)

这是句子分类的过程:

1)规范化文本 - 将所有文本带到小写

2)删除所有停用词 - 确保仅保留相关要素

3)将句子标记为unigram标记

4)应用词干技术 - 尝试不同的词干模型/词形变换器将单词带入基础词。看看哪一个最适合您的情况。例如:播放,播放,播放将转换为基本单词"播放"。此步骤减少了功能的数量。

5)为所有句子创建术语文档矩阵。 TDM的每一行对应于一个句子,并且TDM的每一列对应于句子的标记。 (还有另一种以矩阵形式表示文本的方式,称为Tf-Idf)

6)现在这个术语文档矩阵包含标记作为列。您已经有了标签。您现在可以开始训练ML模型。我假设你知道如何做这个部分。

答案 1 :(得分:0)

看看NLTK的Naive Bayes Classifier, 它是多类的,您可以直接为它添加句子/标签对。

NaiveBayesClassifier.train()需要培训功能,我会开始 功能只是每个句子中的单词。您可以使用更复杂的方法修改特征选择,直到获得所需的结果。

您可以使用nltk.classify.util.accuracy来评估结果。请记住将句子分成训练和测试数据。