gpt4 book ai didi

从文本中检测短语和关键字的算法

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:13:15 24 4
gpt4 key购买 nike

我有大约 100 兆字节的文本,没有任何标记,分为大约 10,000 个条目。我想自动生成一个“标签”列表。问题是有些词组(即短语)只有组合在一起才有意义。

如果我只计算单词数,我会得到大量非常常见的单词(is、the、for、in、am 等)。我已经统计了它前后的单词和其他单词的数量,但现在我真的不知道下一步该怎么做。与2和3词组相关的信息是存在的,但我如何提取这些数据?

最佳答案

首先,尝试保留输入文本中有关“边界”的信息。
(如果这些信息没有轻易丢失,你的问题暗示可能标记化已经很容易完成)
在标记化(在本例中为单词解析)过程中,寻找可以定义表达式边界(例如标点符号,特别是句点,以及多个 LF/CR 分隔,使用这些。还有像这样的词“the”通常用作边界。这种表达式边界通常是“负的”,从某种意义上说,它们将两个标记实例分开,这些实例肯定包含在同一表达式中。一些正边界是引号,特别是双引号。这种类型的信息可能有助于过滤掉一些 n-gram(见下一段)。还有单词序列,例如“for example”或“in lieu of”或“need” to"也可以用作表达式边界(但使用此类信息正在逐渐使用我稍后讨论的“先验”)。

在不使用外部数据(输入文本除外)的情况下,您可以通过对文本的二元字母和三元字母(2 的序列和 3 个连续的单词)。那么 [大多数] 具有大量 (*) 实例的序列可能就是您要查找的“表达式/短语”类型。
这种有点粗糙的方法会产生一些误报,但总体上可能是可行的。如第一段中所暗示的那样过滤已知跨越“边界”的 n-gram,可能会有很大帮助,因为在自然语言中,句子结尾和句子开头倾向于从消息空间的有限子集中提取,因此产生可能的标记组合似乎在统计上很好地表示,但通常在语义上不相关。

更好的方法(可能更昂贵、处理方式和设计/投资方式),将使用与输入的领域和/或国家语言相关的额外“先验”文本。

  • POS (Part-Of-Speech) tagging非常有用,在几个方面(提供额外的,更客观的表达边界,以及“噪音”词类,例如所有文章,即使在实体的上下文中使用时通常在标签云中很少,因此 OP 想要生产。
  • 字典、辞典 之类的东西也很有用。特别是,这些标识“实体”(又名 WordNet 行话中的实例)及其替代形式。实体对于标签云非常重要(虽然它们不是在其中发现的唯一一类词),通过识别它们,也可以对它们进行规范化(许多不同的表达方式可以用于 say,“Senator T. Kennedy”),因此消除了重复项,但也增加了基础实体的频率。
  • 如果语料库的结构是文档集合,那么使用与 TF(词频)和 IDF(逆文档频率)相关的各种技巧可能会很有用

[抱歉,暂时先走了(另外还想了解您的具体目标等的更多详细信息)。稍后我会尝试提供更多细节和要点]

[顺便说一句,我想在这里插入这篇文章中的 Jonathan Feinberg 和 Dervin Thunk 的回复,因为他们在手头任务的方法和工具方面提供了很好的指导。特别是,NTLKPython-at-large 提供了极好的实验框架]

关于从文本中检测短语和关键字的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1643616/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com