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

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相关问答推荐

Python网页抓取:代码输出:汤未定义

在numpy. linalg的qr之后使用scipy. integrate中的solve_ivp时出现了一个奇怪的错误

如何检索与美汤相似的标签中的文本?

Django 3.2/Django-cms 3.11:查找错误:型号帐户.客户用户未注册

PANDAS中当前数据帧的匹配与更新

在 Python 中比较和排序列之间的值(带有不匹配列)

TypeError: issubclass() arg 1 在 Flask 中导入 langchain 时必须是一个类

安装没有 sudo 权限的 python3 和 pip3

使用 python 查找标记的元素

如何将列表和字典逐行组合在一起

使用gekko python的混合整数非线性规划

在 Python 3.5 中使用 aiohttp 获取多个 url

二进制文件的 Python 3 和 base64 编码

为什么 Django South 1.0 使用 iteritems()?

TensorFlow:dataset.train.next_batch 是如何定义的?

在数据类中创建类变量的正确方法

python asyncio - 如何等待取消的屏蔽任务?

ImportError:无法导入名称cross_validate

对字节进行按位运算

如何在 Python 3.4 中使用 pip 3?