Создать список тегов в силовом запросе - PullRequest
0 голосов
/ 06 февраля 2020

У меня есть длинный список текстов статей в ArticleList (1000+ элементов, по 50+ слов в каждом)

И у меня есть список тегов в TagList (100 элементов, 1 слово каждое)

Я хочу вернуть список подходящих тегов (из TagList ) для каждого слова в ArticleList .

например

ArticleList = {"the большой желтый чайник "; "маленькая белая чашка"; «средне-коричневая сковорода»; "серый flask"}

TagList = {"the", "yellow", "teapot", "white", "pan"}

ResultsList = {"желтый, чайник"; "белый"; "Сковорода"; ""}

Таким образом, любые слова, не входящие в TagList , удаляются из ArticleList и ResultsList оставлено в том же порядке, что и оригинал ArticleList .

NB: ArticleList является чистым и содержит слова, разделенные пробелами, и регистр не важен.

Я думаю, что нашел путь к решению, разбив ArticleList на Список списков на пробел, но я не мог понять, как манипулировать вложенными списками с этой точки. Пробовал использовать List.Transform (ListofLists, каждый List.Intersect ({_, TagList}) {0}?) , но он возвращает один список вместо сохранения списка списков целостность.

1 Ответ

1 голос
/ 08 февраля 2020

Если у меня есть список с именем ArticleList, созданный с помощью этого кода М:

let
    Source = {"the big yellow teapot", "the small white cup", "the medium brown pan", "grey flask"}
in
    Source

enter image description here

И список с именем TagList, созданный с помощью этого М-код:

let
    Source = {"the", "yellow", "teapot", "white", "pan"}
in
    Source

enter image description here

Тогда я могу использовать этот М-код, чтобы сделать то, что вы хотите:

let
    Source = List.Transform(List.Transform(ArticleList, each Text.Split(_," ")), each List.Intersect({_,TagList})),
    #"Converted to Table" = Table.FromList(Source, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
    #"Extracted Values" = Table.TransformColumns(#"Converted to Table", {"Column1", each Text.Combine(List.Transform(_, Text.From), ", "), type text})
in
    #"Extracted Values"

enter image description here

...