Как создать категоризированный читатель корпуса с тегами

У меня есть куча файлов и категорий, перечисленных в 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,

Другие вопросы по тегам