如何解决大规模使用短语匹配器来改变标记化
我是 spaCy 系统的初学者。
以这个例子-
好きになる
预训练日本模型上的标记器和标记器可能会给出输出 好き
(名词)に
(adp)なる
(辅助)。虽然这是正确的,但它没有考虑到整个表达式是一种修辞手法,我对我的项目的目的很感兴趣。我也想让它无论输入的“共轭”是什么,输出都能够匹配。
论坛上一位好心的用户已经提出了这个解决方案(有一个不同的例子)
from spacy.matcher import Matcher
ja = spacy.load('ja_core_news_sm')
pattern = [{'LEMMA': '気'},{'LEMMA': 'に'},{'LEMMA': 'なる'}]
matcher = Matcher(ja.vocab)
matcher.add("kininaru",None,pattern)
for text in ('あの子が気になる','あれが気になった'):
doc = ja(text)
matches = matcher(doc)
_,start,finish = matches[0]
print(doc[start:finish])
输出为:
気になる,気になっ
现在,如果我想要句子中所有标记的输出,他们还建议简单地合并实体。
现在,这就是我有点困惑的地方。这个例子:“Pipeline component for entity matching and tagging with custom attributes”似乎更长,但我不确定正在做什么额外的工作。似乎有人提供给我的示例与 Spacy 示例相反,在计算后修改了词素生成器和分词器的输出。但是 spacy 示例在计算时实际上使用了规则(成为模型的一部分)。我的理解是否正确,如果正确,如果我有一本包含 10 000 个左右表达式的字典,我会怎么做?这是我正在寻找的示例。
parse("あなたは手も足も出ないんだぞ")
[("あなた",PRONOUN),("は",PARTICLE),("手も足も出ない",EXPRESSION),("んだ" EXPRESSION),("ぞ" PARTICLE)]
相对于 spacy 的输出
あなた(pronoun) は(adp) 手(noun) も(adp) 足(noun) も(adp) 出(verb) ない(aux) ん(sconj) だ(aux) ぞ(part)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。