r"""undocumented"""
__all__ = [
"Pipe",
]
from .. import DataBundle
[文档]class Pipe:
r"""
Pipe是fastNLP中用于处理DataBundle的类,但实际是处理DataBundle中的DataSet。所有Pipe都会在其process()函数的文档中指出该Pipe可处理的DataSet应该具备怎样的格式;在Pipe
文档中说明该Pipe返回后DataSet的格式以及其field的信息;以及新增的Vocabulary的信息。
一般情况下Pipe处理包含以下的几个过程,(1)将raw_words或raw_chars进行tokenize以切分成不同的词或字;
(2) 再建立词或字的 :class:`~fastNLP.Vocabulary` , 并将词或字转换为index; (3)将target列建立词表并将target列转为index;
Pipe中提供了两个方法
-process()函数,输入为DataBundle
-process_from_file()函数,输入为对应Loader的load函数可接受的类型。
"""
[文档] def process(self, data_bundle: DataBundle) -> DataBundle:
r"""
对输入的DataBundle进行处理,然后返回该DataBundle。
:param ~fastNLP.DataBundle data_bundle: 需要处理的DataBundle对象
:return: DataBundle
"""
raise NotImplementedError
[文档] def process_from_file(self, paths: str) -> DataBundle:
r"""
传入文件路径,生成处理好的DataBundle对象。paths支持的路径形式可以参考 ::meth:`fastNLP.io.Loader.load()`
:param str paths:
:return: DataBundle
"""
raise NotImplementedError