NLP:将带有标签的单词排列成正确的英文句子?
NLP: Arrange words with tags into proper English sentence?
假设我有一句话:
"you hello how are ?"
我得到输出:
you_PRP hello_VBP how_WRB are_VBP
将措辞排列成正确的英文句子的最佳方法是什么:Hello how are you ?
我是整个自然语言处理的新手,所以我不熟悉很多术语。
我能想到的唯一方法是 - 使用语句来确定:
adverb - verb - noun
然后根据那个重新排列它们?
注意:假设我正在尝试形成正确的问题,因此请忽略确定它是问题还是陈述。
你应该调查一下 language models。例如,二元语言模型会给你根据句子中的两个单词序列观察句子的概率。在文本语料库的基础上,它会了解到 "how are" 比 "are how" 出现的概率更高。如果将一个句子中所有这些两个单词序列的概率相乘,就会得到该句子的概率。
换句话说,这是解决问题的方法:
- 查找语料库(可以是简单的文本语料库,也可以是带有词性标签的语料库)。
- 从该语料库中学习语言模型。您可以简单地根据单词或根据单词及其词性标记来执行此操作,如您的示例所示。
- 生成目标词的所有可能序列。
- 使用语言模型计算所有这些序列的概率。
- 选择概率最高的序列。
如果您使用 Python,nltk 有一个 api for training and using language models. Otherwise, KenLM 是一个流行的语言建模包。
假设我有一句话:
"you hello how are ?"
我得到输出:
you_PRP hello_VBP how_WRB are_VBP
将措辞排列成正确的英文句子的最佳方法是什么:Hello how are you ?
我是整个自然语言处理的新手,所以我不熟悉很多术语。
我能想到的唯一方法是 - 使用语句来确定:
adverb - verb - noun
然后根据那个重新排列它们?
注意:假设我正在尝试形成正确的问题,因此请忽略确定它是问题还是陈述。
你应该调查一下 language models。例如,二元语言模型会给你根据句子中的两个单词序列观察句子的概率。在文本语料库的基础上,它会了解到 "how are" 比 "are how" 出现的概率更高。如果将一个句子中所有这些两个单词序列的概率相乘,就会得到该句子的概率。
换句话说,这是解决问题的方法:
- 查找语料库(可以是简单的文本语料库,也可以是带有词性标签的语料库)。
- 从该语料库中学习语言模型。您可以简单地根据单词或根据单词及其词性标记来执行此操作,如您的示例所示。
- 生成目标词的所有可能序列。
- 使用语言模型计算所有这些序列的概率。
- 选择概率最高的序列。
如果您使用 Python,nltk 有一个 api for training and using language models. Otherwise, KenLM 是一个流行的语言建模包。