gpt4 book ai didi

python - 是否可以将您自己的 WordNet 添加到图书馆中?

转载 作者:太空狗 更新时间:2023-10-29 18:08:05 25 4
gpt4 key购买 nike

我有一个丹麦语 WordNet 的 .txt 文件。有什么方法可以将它与 NLTK 等 Python 的 NLP 库一起使用吗?如果不是,您将如何使用给定库不支持的语言进行自然语言处理。还说你想在像 spaCy 这样的库中用英语或荷兰语以外的语言进行命名实体识别。有什么办法吗?

最佳答案

有什么方法可以将其与 NLTK 等 Python 的 NLP 库一起使用吗?

你可以用 NLTK 做到这一点,尽管它有点笨拙。

您需要将 WordNet 语料库转换为 Open Multilingual Wordnet格式,这是一种简单的制表符分隔格式。请注意,他们已经有了丹麦语 WordNet。

那么您应该在 NLTK 中安装 WordNet 和 Open Multilingual Wordnet 语料库(如果您还没有这样做的话)。这将创建一个类似 ~/nltk_data/corpora/omw/ 的目录,每个语言文件都有一个子目录。您需要通过为它创建一个目录并像这样命名您的文件来添加您的语料库:

~/nltk_data/corpora/omw/xxx/wn-data-xxx.tab

xxx 可以是任何东西,但它必须在两个地方相同。此文件名模式在 NLTK 中被硬编码 here .

之后,您可以通过将 xxx 指定为 lang 参数来使用您的 WordNet。这是一个例子 from the documentation :

>>> wn.synset('dog.n.01').lemma_names('ita') # change 'ita' to 'xxx'
['cane', 'Canis_familiaris']

您如何处理给定库不支持的语言的自然语言处理?

我经常用日语这样做。

有些技术会查看您的标记内部 - 也就是说,它们会检查一个词是否字面意思是“说”或"is"之类的。这在词干分析器中很常见,并且词形还原器出于显而易见的原因。一些系统使用基于假设的规则关于词性如何在给定语言(通常是英语)中相互作用。你可能能够将这些期望翻译成您的语言,但通常你只是不能使用这些。

但是,许多有用的技术根本不会查看您的 token 内部 - 它们只关心两个标记是否相等。这些通常主要依赖标签或搭配数据等特征。您可能需要预先标记您的数据,你可能想在维基百科上训练一个通用语言模型语言,仅此而已。词向量、NER、文档相似度都是例子缺乏语言支持的问题通常不是问题。

还说您想在 spaCy 这样的库中使用英语或荷兰语以外的语言进行命名实体识别。有什么办法可以做到这一点?

SpaCy 提供了一种方法 custom labelling对于神经网络。将它与否则不受支持的语言没有记录并且会有点棘手。然而,由于您不需要 NER 的完整语言模型,您可以使用 NER带有标记示例的特定工具。

下面是一些示例训练数据 CRF++基于 CoNLL 格式:

He        PRP  B-NP
reckons VBZ B-VP
the DT B-NP
current JJ I-NP
account NN I-NP
deficit NN I-NP
will MD B-VP
narrow VB I-VP
to TO B-PP
only RB B-NP
# # I-NP
1.8 CD I-NP
billion CD I-NP
in IN B-PP
September NNP B-NP
. . O

He PRP B-NP
reckons VBZ B-VP
..

几种 CRF 或其他 NER 工具支持这种格式。 CRFSuite 是一个 Python wrapper .

对于这类数据,算法并不真正关心第一列中的内容,因此语言支持不是问题。

希望对您有所帮助!

关于python - 是否可以将您自己的 WordNet 添加到图书馆中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42422593/

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