单词预测 - 获得最常见的前任和后继

标签 word nlp prediction

给定一个词,我想获得该词在英语中最常见的前驱和后继列表。 我开发了一个代码,可以对任何语料库进行二元分析(我使用过安然电子邮件语料库)并且可以预测最常见的下一个可能的词,但我想要一些其他的解决方案,因为 a) 我想检查我预测的工作/准确性 b) 基于语料库或数据集的解决方案因未见过的词而失败

例如,给定“excellent”这个词,我想得到最有可能出现在excellent之前和之后的词

我的问题是是否存在任何特定的服务或 API?

最佳答案

任何解决这个问题的方法都必然是基于语料库的方法;你只需要一个更大的语料库。我不知道有任何 Web 服务或库可以为您执行此操作,但有一些方法可以获得更大的语料库:

  • Google 有 published从网络的英语部分收集的大量 n-grams 语料库。这是available通过语言数据联盟 (LDC),但我相信您必须是 LDC 成员才能获得它。 (许多大学都是。)
  • 如果您不是 LDC 成员,请尝试下载 Wikipedia database dump (得到 enwiki)并训练你的预测器。
  • 如果您恰好在使用 Python,请查看随 NLTK 提供的一组不错的语料库(和工具) .

至于看不见的单词问题,有很多方法可以解决它,例如通过将所有出现频率低于某个阈值的单词替换为特殊标记,如 <unseen>训练前。这将使您的评估变得更加困难。

关于单词预测 - 获得最常见的前任和后继,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8769586/

相关文章:

tensorflow - BERT - 池化输出与序列输出的第一个向量不同

neural-network - 从简历做出预测

python - 如何在 Python 中手动将值传递给预测模型?

python - 如何计算多个标记化单词列表中最常见的 10 个单词

url - url中包含单词的href的xpath按针查找

algorithm - 单词生成器算法?

python - 使用 BERT 通过词嵌入生成相似词或同义词

Python 阿拉伯语 NLP

classification - 有谁知道如何根据预测生成 AUC/Roc Area?