gpt4 book ai didi

php - 使用 PHP 提取上下文中单词出现的实例,并按特定条件过滤结果

转载 作者:搜寻专家 更新时间:2023-10-31 21:47:20 24 4
gpt4 key购买 nike

我有一个字符串数组,它们本质上是英文段落。

我想在上下文中提取单词 Act(大写字母)的所有实例。在此处的上下文中,我希望看到 some text some text some text Act some text some text some text

左边可能有 12-15 个单词,右边有 5-8 个单词。这很像 语料库索引 Act 一词。

但是,我想排除 Act 的实例,其中:

  1. Act [0-2 words] (Cap.//即当 Act 后跟 0-2 个单词,然后是字符串(Cap.
  2. Act [0-2 个单词 (Act//即当 Act 后跟 0-2 个单词,然后是字符串 (Act
  3. [Act//即当 Act 前面有 [
  4. ……还有其他类似的案例……

您将如何使用 native PHP 或支持 NLP 的 PHP 框架来执行此操作?请准确显示(即提供代码),即使您使用 NLP 或其他框架或库也请显示您使用的函数或对象或方法。

我只能使用 PHP,但如果您有其他语言可以更好地做到这一点,请在评论中提供。请注意,我需要与 MySQL 接口(interface)以首先将字符串提取到数组中,因此该语言最好支持 MySQL 接口(interface)。

如果在 PHP 中很难做到这一点,我可以放弃处理单词并改为处理字符(例如,我可以在左侧有 40-45 个字符,在右侧有 20-25 个字符作为上下文法案这个词)。我也不介意使用正则表达式。

最佳答案

第一个正则回答左边 12-15 个词,右边 5-8 个词的标准:

^(([a-zA-Z]{1,})\s){12,15}Act\s(([a-zA-Z]{1,})\s){5,8}

你应该使用负前瞻

^((?!Act\s(([a-zA-Z]{1,})\s){0,2}Cap | (?!Act\s(([a-zA-Z]{1,})\s){0,2})Act))(([a-zA-Z]{1,})\s){12,15}Act\s(([a-zA-Z]{1,})\s){5,8}

关于php - 使用 PHP 提取上下文中单词出现的实例,并按特定条件过滤结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56404132/

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