replaceNgrams

Замените n-граммы в документах

Описание

пример

newDocuments = replaceNgrams(documents,oldNgrams,newNgrams) обновляет указанные документы путем замены n-граммов oldNgrams с соответствующими n-граммами в newNgrams. Функция по умолчанию чувствительна к регистру.

newDocuments = replaceNgrams(documents,oldNgrams,newNgrams,'IgnoreCase',true) заменяет n-граммы oldNgrams игнорирование случая.

Примеры

свернуть все

Используйте replaceNgrams функция для замены сокращений на соответствующие им расширенные формы.

Создайте массив токенизированных документов.

str = [ ...
    "Currently in Cambridge, MA."
    "Next stop, NY!"];
documents = tokenizedDocument(str)
documents = 
  2x1 tokenizedDocument:

    6 tokens: Currently in Cambridge , MA .
    5 tokens: Next stop , NY !

Замените лексемы "MA" и "NY" с "Massachusetts" и ["New" "York"] соответственно. Если n-граммы имеют разную длину, необходимо дополнить строки пустой строкой "". В этом случае необходимо дополнить "Massachusetts" с одной пустой строкой "".

oldNgrams = [
    "MA"
    "NY"];
newNgrams = [
    "Massachusetts" ""
    "New" "York"];
documents = replaceNgrams(documents,oldNgrams,newNgrams)
documents = 
  2x1 tokenizedDocument:

    6 tokens: Currently in Cambridge , Massachusetts .
    6 tokens: Next stop , New York !

Входные параметры

свернуть все

Входные документы, заданные как tokenizedDocument массив.

N-граммы для замены, заданные как строковые массивы, вектор символов или массив ячеек векторов символов.

Если oldNgrams - строковые массивы или массив ячеек, тогда он имеет размер NumNgrams-by- maxN , где NumNgrams количество n-граммов и maxN - длина наибольшего n-грамма. Если oldNgrams является вектор символов, затем представляет одно слово (unigram).

Значение oldNgrams(i,j) является jвторое слово in-грамм. Если количество слов в in-грамм меньше maxN, затем оставшиеся записи iпервая строка oldNgrams должен быть заполнен пустой строкой "".

Например, чтобы задать обе "Massachusetts" unigramи биграммы ["New" "York"]задайте строковые массивы 2 на 2 ["Massachusetts" ""; "New" "York"], где "Massachusetts" заполнен одной пустой строкой "".

Типы данных: string | char | cell

Новые n-граммы, заданные как строковые массивы, вектор символов или массив ячеек векторов символов.

Если newNgrams - строковые массивы или массив ячеек, тогда он имеет размер NumNgrams-by- maxN , где NumNgrams количество n-граммов и maxN - длина наибольшего n-грамма. Если newNgrams является вектор символов, затем представляет одно слово (unigram).

Значение newNgrams(i,j) является jвторое слово in-грамм. Если количество слов в in-грамм меньше maxN, затем оставшиеся записи iпервая строка newNgrams пусты.

newNgrams должна иметь одну строку или одинаковое число строк, что и oldNgrams.

Например, чтобы задать обе "Massachusetts" unigramи биграммы ["New" "York"]задайте строковые массивы 2 на 2 ["Massachusetts" ""; "New" "York"], где "Massachusetts" заполнен одной пустой строкой "".

Типы данных: string | char | cell

Выходные аргументы

свернуть все

Выходные документы, возвращенные как tokenizedDocument массив.

Введенный в R2019a