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" 出现的概率更高。如果将一个句子中所有这些两个单词序列的概率相乘,就会得到该句子的概率。

换句话说,这是解决问题的方法:

  1. 查找语料库(可以是简单的文本语料库,也可以是带有词性标签的语料库)。
  2. 从该语料库中学习语言模型。您可以简单地根据单词或根据单词及其词性标记来执行此操作,如您的示例所示。
  3. 生成目标词的所有可能序列。
  4. 使用语言模型计算所有这些序列的概率。
  5. 选择概率最高的序列。

如果您使用 Python,nltk 有一个 api for training and using language models. Otherwise, KenLM 是一个流行的语言建模包。