algorithm - 如何使用非单词标记识别文本中的单词?

标签 algorithm nlp lexical-analysis

我目前正在解析一堆邮件,并希望从邮件中获取单词和其他有趣的标记(即使有拼写错误或字符和字母的组合,如“zebra21”或“customer242”)。但是我怎么知道“0013lCnUieIquYjSuIA”和“anr5Brru2lLngOiEAVk1BTjN”不是单词而且不相关呢?如何提取单词并丢弃编码错误的标记或 pgp 签名的一部分或我们在邮件中收到的任何其他内容,并且知道我们永远不会对这些感兴趣?

最佳答案

您需要为一个词确定一个足够好的标准,并编写一个正则表达式或手册来执行它。
可以从您的示例中推断出一些规则:

  • 单词可以以大写字母开头,也可以全部是大写字母,但如果一个单词中有 2 个以上的大写字母和 2 个以上的小写字母,则它不是单词
  • 如果单词中有数字,则不是单词
  • 如果比say长,20个字符

没有魔术。你需要决定你想要的规则是什么,并让它们发生。

另一种方法是训练某种隐式马尔可夫模型系统来识别听起来像单词的东西,但我认为这对于您想做的事情来说有点矫枉过正。

关于algorithm - 如何使用非单词标记识别文本中的单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1994880/

相关文章:

machine-learning - 如何将依赖路径编码为分类特征?

c - 如何在 C 中使用正则表达式//?单行注释

c# - 大O分析。非负数组中的最大整数

c++ - 二维插值

python - 将 csv 文件中的每个唯一单词标记化

python - PLY 的词法分析器支持 "maximal munch"吗?

compiler-construction - 编译器如何处理运行时错误消息中的行号

algorithm - 难以理解彼得森的算法

algorithm - 如何找到这个功能的复杂性?

android - 如何让 api.ai 代理动态学习一些东西?