如何使用数据集从句子中提取短语,该数据集具有某些句子集和相应标签的形式
Sentence1:I want to play cricket
Label1: play cricket
Sentence2: Need to wash my clothes
Label2: wash clothes
我尝试过将分块与 nltk 一起使用,但我无法将训练数据与分块一起使用。
最佳答案
您描述的“提醒释义”并不完全映射到具有明确软件支持的其他类型的“短语”。
例如,gensim Phrases
模块使用纯粹的统计方法来发现相邻的单词配对,这些配对相对于每个单词的基本比率而言非常常见,因此它们可能被有效地视为联合单位。它可能会将某些实体变成短语(例如:“New York”->“New_York”)或重复的习语(例如:“slacking off”->“slacking_off”)。但这只是相邻的单词,而不是您正在寻找的上下文释义。
同样,具有适当语法意识以标记逻辑词性(和相互依赖性)的库也倾向于简单地对文本中的现有短语进行分组和标记 - 而不是像您希望的那样创建简化的命令式摘要。
不过,此类库的输出可能会帮助您制定自己的经验法则。例如,到目前为止,在您的示例中,您想要的“提醒释义”始终是一个动词和一个名词(该动词的宾语)。因此,在使用词性标记(如 NLTK 或 SpaCy)后,选择最后动词(也许也更喜欢现在/祈使时态的动词)和以下名词短语(可能去掉其他修饰语/介词)可以满足您的大部分需要。
当然,更复杂的示例需要更好的启发式方法。如果您需要处理的所有文本种类繁多,找到通用方法可能需要更多(数百/数千)个积极的训练示例:您认为最好的释义是什么,给定某些文本。然后,您可以考虑多种机器学习方法,这些方法可能能够从较大的文本中挑选出正确的约 2 个单词。
研究已发表的“释义”作品,而不仅仅是“短语提取”,也可能会引导您找到想法,但不幸的是,我不知道任何现成的释义库。
关于machine-learning - 我有一个数据集,我想使用 NLP 进行短语提取,但我无法这样做?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59515411/