NLP:将带有标签的单词排列成正确的英语句子?

时间:2015-05-24 22:51:39

标签: nlp

我想说一句话:

"you hello how are ?"

我得到的输出:

you_PRP hello_VBP how_WRB are_VBP

将措辞排列成正确的英语句子的最佳方法是:Hello how are you ?

我对这整个自然语言处理都很陌生,所以我不熟悉很多术语。 我能想到的唯一方法是 - 使用语句来确定: adverb - verb - noun然后根据它重新安排它们?

注意:让我们假设我正在尝试形成正确的问题,因此请忽略确定这是一个问题还是一个陈述。

1 个答案:

答案 0 :(得分:2)

你应该研究language models。例如,一个双字母语言模型将为您提供根据该句子中的双字序列观察句子的概率。在文本语料库的基础上,它将学会“如何”发生的概率高于“如何”。如果将句子中所有这些双字序列的概率相乘,您将得到句子的概率。

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

  1. 查找语料库(简单文本语料库或使用词性标签标记的语料库)。
  2. 从该语料库中学习语言模型。您可以简单地根据单词或基于单词及其词性标签来完成此操作,如您的示例所示。
  3. 生成目标词的所有可能序列。
  4. 使用语言模型计算所有序列的概率。
  5. 选择概率最高的序列。
  6. 如果你使用Python,nltk有一个api for training and using language models。否则,KenLM是一种流行的语言建模包。