我可以使用什么ML算法训练给定句子中的动作短语。
Sentence1:I want to play cricket
Label1: play cricket
Sentence2: Need to wash my clothes
Label2: wash clothes
我有大约2k的句子和数据的数据。相应的动作短语(标签),需要根据它们预测另一组句子。有人可以指导我如何使用NLP / ML吗?哪个Algo用于同一个? (最好是python)
答案 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来评估结果。请记住将句子分成训练和测试数据。