Как создать категоризированный читатель корпуса с тегами
У меня есть куча файлов и категорий, перечисленных в cats.txt в той же папке. Я хочу создать CategorizedTaggedCorpusReader
за это.
Вот так выглядят мои файлы.
Перепробовал много способов в nltk и не смог создать Категоризованный отмеченный corpusreader. Внутри моего cats.txt
У меня есть имя файла и имя категории с пробелом, каждое имя файла может иметь несколько категорий.
Например:
mail_1_adapter adapter
mail_1_alert alert
messagebody_24862499 others
etc.
Не могли бы вы показать мне лучший способ, как я могу создать свой корпус и использовать его.
1 ответ
Ваш формат файла в порядке. Как именно вы пытались создать свой читатель, и он не работал? Вы не показываете свой код, поэтому невозможно сказать, что вы делаете неправильно. Вы должны сказать своему читателю, что он должен читать категории из файла cats.txt
Например, вот так:
from nltk.corpus.reader import CategorizedTaggedCorpusReader
reader = CategorizedTaggedCorpusReader(<path>, r"^[^.]*$", cat_file="cats.txt")
Ваш файл категорий cats.txt
не является частью корпуса, поэтому я использовал регулярное выражение ^[^.]*$
который соответствует всему, не содержащему точку. Если это не правильно описывает ваши файлы, при необходимости измените определение, чтобы включить все файлы корпуса, но исключите cats.txt
,