如何通过 python NLP 包(spaCy 或 NLTK)检测句子重音?
How to detect sentence stress by python NLP packages (spaCy or NLTK)?
我们能否使用常见的 NLP 包(例如 spaCy 或 NLTK)检测 sentence stress(句子中某些单词的重音或单词之间的停顿)?
我们如何使用 spaCy 或 NLTK 区分实词和结构词?
由于所有 NLP 程序都会检测依赖关系,因此应该有可能识别出自然语音中哪些词是重读的。
我假设您没有特殊的训练数据集,其中带有要强调的单词的标记数据。所以我想最简单的方法是假设重读词都是相同的词性。我想名词和动词会是一个好的开始,例如排除情态动词。
NLTK 自带 PoS-Taggers.
但是由于自然语言在很大程度上取决于语境,人类可能也很难确定句子中强调的内容的单一解决方案。
我不认为 NLTK 或 spacy 直接支持这个。当然,您可以使用任一工具找到实词,但这只是图片的一部分。您想寻找与韵律或语调相关的软件,您可能会发现它们是文本到语音系统的一个组件。
这是一篇最近发表的研究论文,其中的代码可能是一个不错的起点:https://github.com/Helsinki-NLP/prosody/。即使代码可能不是您正在寻找的那种方法,带注释的数据和参考资料也可能很有用。
我们能否使用常见的 NLP 包(例如 spaCy 或 NLTK)检测 sentence stress(句子中某些单词的重音或单词之间的停顿)?
我们如何使用 spaCy 或 NLTK 区分实词和结构词?
由于所有 NLP 程序都会检测依赖关系,因此应该有可能识别出自然语音中哪些词是重读的。
我假设您没有特殊的训练数据集,其中带有要强调的单词的标记数据。所以我想最简单的方法是假设重读词都是相同的词性。我想名词和动词会是一个好的开始,例如排除情态动词。 NLTK 自带 PoS-Taggers.
但是由于自然语言在很大程度上取决于语境,人类可能也很难确定句子中强调的内容的单一解决方案。
我不认为 NLTK 或 spacy 直接支持这个。当然,您可以使用任一工具找到实词,但这只是图片的一部分。您想寻找与韵律或语调相关的软件,您可能会发现它们是文本到语音系统的一个组件。
这是一篇最近发表的研究论文,其中的代码可能是一个不错的起点:https://github.com/Helsinki-NLP/prosody/。即使代码可能不是您正在寻找的那种方法,带注释的数据和参考资料也可能很有用。