我希望用这个简单的代码找到一些模式.但结果是空的.

for tk in doc[:30]:
     print (tk.text, ':', tk.pos_)

方法:名词

pattern = [
       {'POS': 'NOUN'},
       {'LOWER': 'ADP'},
       ]
    #Matcher class object
matcher = Matcher(nlp.vocab)
matcher.add("matching_1", patterns = [pattern]) 

result = matcher(doc, as_spans=True) 

print(result)

[]

所以我希望POS标签"NOUN"+"ADP"的模式可以找到以下单词:

推荐答案

以下规则将匹配小写时等于"ADP"的标记.这与任何内容都不匹配,因为"ADP"不是小写.

{'LOWER': 'ADP'},

我不确定这应该匹配什么,也许你想用POS=ADP匹配一个小写单词?在这种情况下,你需要这样的规则:

{"POS": "ADP", "REGEX": "^[a-z]+$"}

重申我上面所说的:{'LOWER': 'ADP'} does not将一个小写单词与ADP词性匹配.你似乎对"较低"的含义或规则如何工作感到困惑.

让我举个例子.{"LOWER": "dog"}将匹配"狗"、"狗"或"狗"等词.它不会将单词与词性"dog"(不存在)匹配."LOWER": value的意思是"匹配小写时看起来像value的单词".

如果你想匹配具有ADP词性的小写单词,你应该使用我上面写的规则和REGEX位.

Python-3.x相关问答推荐

为什么我必须在绘制椭圆时代码等于两次?''

如何使用TensorFlow Keras子类化来构建和训练模型

正确的本地react 方式-Django身份验证

regexp多重前瞻行为的解释

没有这样的命令';角色';-可靠分子

错误:无法为 pyconcorde 构建轮子,这是安装基于 pyproject.toml 的项目所必需的

Python中根据分组/ID对两个数据框进行映射,以更接近值的升序排列

通过 Pandas 通过用户定义函数重命名数据框列

pip install saxonche v 12.1.0 产生 FileNotFoundError

如何在 histplot 中标记核密度估计

pytorch 中 mps 设备的 manual_seed

如何使用 django rest 框架在 self forienkey 中删除多达 n 种类型的数据?

Dask 多阶段资源设置导致 Failed to Serialize 错误

两个Pandas数据框中的共同列列表

将字符串表示与使用整数值的枚举相关联?

理解 Keras 的 ImageDataGenerator 类中的 `width_shift_range` 和 `height_shift_range` 参数

使用自定义比较删除重复项

为现有项目创建virtualenv

try 在 Mac OS 中运行此命令pipenv install requests时出错

在 PostgreSQL 上使用 SQLAlchemy 创建全文搜索索引