BTM предназначен для кластеризации короткого текста (например, ответы на опрос, данные в твиттере, короткие предложения), LDA - для кластеризации длинного текста (например, новостные статьи, целые статьи). BTM кластеризует словосочетания, LDA кластеризует вхождения слово-документ. Если вы в R,
Обе приведенные ссылки содержат ссылки на математику в статьях
Любой объект .NET, реализующий метод с именем "Add", может быть инициализирован так же, как массивы или словари.
Поскольку ArrayOfString реализует метод "Add", вы можете инициализировать его следующим образом:
var a = new ArrayOfString { "string one", "string two" };
Но если вы действительно хотите инициализировать его на основе другой коллекции, вы можете написать метод расширения для этого:
public static class U
{
public static T To<T>(this IEnumerable<string> strings)
where T : IList<string>, new()
{
var newList = new T();
foreach (var s in strings)
newList.Add(s);
return newList;
}
}
Использование:
client.UpdateMailingList(new UpdateMailingListMsgIn()
{
Email = model.Email,
Name = model.Name,
Source = Request.Url.ToString(),
Subscribe = subscribeTo.ToList(),
Unsubscribe = unsubscribeFrom.To<ArrayOfString>()
});
Я предпочитаю не возвращать универсальные типы через сервисную границу во-первых. Вместо этого возврат Отказывается от подписки как a string[]
, и SubscriptionInfo как SubscriptionInfo[]
. При необходимости массив может легко быть преобразован в универсальный список на клиенте, следующим образом:
Unsubscribe = new List<string>(unsubscribeFrom);
Subscribe = new List<SubscriptionInfo>(subscribeTo);
При использовании VS 2008 для потребления сервиса затем существует легкое решение.
Нажмите на кнопку "Advanced..." на диалоговом окне прокси, которое отображено, когда Вы добавляете Сервисную Ссылку. В Типе Набора, выпадающем, можно выбрать Систему. Универсальный. Список. Методы, возвращая Список должны теперь работать правильно.
(Надежда, это - то, что Вы просили, я немного устал, и вопрос был немного трудным для меня читать.)