Обновить
47
0
Николай@mnv

CTO

Отправить сообщение

Мне в плане пробелов перед знаками пунктуации повезло, потому что я перед построением синтаксического дерева разбиваю текст на предложения с помощью Томита-парсера от Яндекса, а он отдает результат как раз в таком виде.

Да, действительно, с точкой и без точки разница может быть весьма существенной, пробелы перед символами пунктуации тоже влияют на результат. Тоже обращал на это внимание, но за давностью дел забыл упомянуть об этом в тексте. Спасибо. Ваши примеры:


С точкой:


Маша увидела зелёного крокодила.

image


Без точки и вправду сенсация, открыт новый глагол.


Маша увидела зелёного крокодила

image


Соблюдайте правила безопасности при использовании печи , следите за состоянием дымоходов

image


Кстати, получается, что предложения лучше скармливать анализатору так, чтобы перед знаками пунктуации стояли пробелы, а в конце предложения стояла точка (или "!", "?")?

Мне синтаксическое дерево понадобилось в модуле определения тональности слов/коротких фраз в тексте. Если построить дерево, то становится понятно, какие тональные признаки связаны с интересующей фразой, а какие нет.

Для репозитория можно воспользоваться этой реализацией. Но, как вы и пишете, с сущностями при этом стоит работать только через репозиторий. Вместо мутаторов на мой взгляд стоит использовать явные геттеры-сеттеры и при необходимости делать преобразование данных в них.

Насчет классики, результаты такие:


Эти типы стали есть на складе

image


Косил косой косой косой

image


На косой косе Косой косил

image

Не удивлюсь, что если я выделил бы 1 процессор для виртуалки вместо 4, то оперативной памяти понадобилось бы раза в 4 меньше, т.е. хватило бы 3 ГБ. Возможно, количество параллельных процессов при сборке можно задать где-то в конфигурации Bazel, я не искал.

А для других языков там есть реализации? Если есть пример как это делают для другого языка, то скорее всего удастся сделать по аналогии, обучив на нужном корпусе.

Очень похоже на то, но не совсем то. Чтобы работало так


ide: 'phpstorm://open?file=%%f&line=%%l'

надо видимо устанавливать это.


Если написать так


ide: 'http://localhost:63342/api/file?file=%%f&line=%%l'

то работает, но при клике на ссылку в браузере, браузер тоже открывает эту страницу и там остается "белая страница".

Попробовал, отлично работает. Сделал аналогично для Laravel.

Если говорить про "навязшую в зубах" пирамиду Маслоу, то как же без этой картинки
image

Но представители компании Facebook заверили, что экспериментальная функция обкатывалась в пределах города для небольшого количества пользователей. Эксперимент продолжался всего четыре недели в конце 2015 года и уже закончен (слава богу).

Из этой формулировки может следовать что угодно:

Эксперимент продолжался всего четыре недели в конце 2015 года и уже закончен, и впредь эта функция не будет использоваться.

Эксперимент продолжался всего четыре недели в конце 2015 года и уже закончен, новая технология теперь работает повсеместно.

С final можно определять только методы и классы. Ваш пример выдаст


PHP Fatal error: Cannot declare property A::$b final, the final modifier is allowed only for methods and classes in php shell code on line 3

Да, прошлогодний вариант выглядел получше.

По поводу immutable. Как было сказано в комментарии выше, это достигается объявлением приватных свойств, которые инициализируются только через конструктор и читаются через геттеры.


Если с помощью immutable можно было бы запретить такое, и это было бы нормально по производительности, то смысл в immutable был бы на мой взгляд:


class Person {
  public $id;
  public function __construct ($id) {
    $this->id = $id;
  }
}

immutable class Transaction {
  public $amount;
  public $fromPerson;
  public $toPerson;

  public function __construct ($amount, Person $from, Person $to) {
    $this->amount = $amount;
    $this->fromPerson = $from;
    $this->toPerson = $to;
  }
}

$person1 = new Person(1);
$person2 = new Person(2);
$transaction = new Transaction(100, $person1, $person2);
$person1->id = 10; // Вот если бы тут выдавать Fatal Error...

А если этого не запрещать, то остается ловушка, в которую не так уж и сложно попасть.

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


php > $a = "zzz";
php > $a++;
php > var_dump($a);
string(4) "aaaa"

Если строку можно преобразовать в число, то перед инкрементом это происходит:


php > $a = "999";
php > $a++;
php > var_dump($a);
int(1000)

php > $a = "9.99";
php > $a++;
php > var_dump($a);
double(10.99)

Но не всегда:


php > $a = "111a";
php > $a++;
php > var_dump($a);
string(4) "111b"

php > $a = "111zzz";
php > $a++;
php > var_dump($a);
string(6) "112aaa"

Насчет разных версий PHP


До PHP 7


$a = "0xff";
$a++;
var_dump($a);
int(256)

В PHP 7


php > $a = "0xff";
php > $a++;
php > var_dump($a);
string(4) "0xfg"

NULL


php > $a = null;
php > $a++;
php > var_dump($a);
int(1)

Но при этом:


php > $a = false;
php > $a++;
php > var_dump($a);
bool(false)

php > $a = true;
php > $a++;
php > var_dump($a);
bool(true)

В следующих случаях инкремент тоже не имеет эффекта:


php > $a = [1];
php > $a++;
php > var_dump($a);
array(1) {
  [0] =>
  int(1)
}

php > $a = (object)['attr' => 1];
php > $a++;
php > var_dump($a);
class stdClass#1 (1) {
  public $attr =>
  int(1)
}

php > $a = function($b) { return $b; };
php > var_dump($a);
class Closure#2 (1) {
  public $parameter =>
  array(1) {
    '$b' =>
    string(10) "<required>"
  }
}
php > $a++;
php > var_dump($a);
class Closure#2 (1) {
  public $parameter =>
  array(1) {
    '$b' =>
    string(10) "<required>"
  }
}

Как с file_get_contents() например настроить таймаут на ожидание ответа?

есть уже первые энтузиасты исследователи, которые идут этим новым непроторенным путем, получая первые и весьма многообещающие результаты


Где можно ознакомиться с результатами?
Интересует, каков процент точности построения синтаксического графа? И умеет ли система правильно разбирать подобные предложения?:
Вася зашел на мост, он был доволен

Вася зашел на мост, он был деревянный
Мы хотим, чтобы происходило тоже самое, что происходит при запуска в консоли php artisan schedule:run, но из web-запроса (web-хука).

Если время обработки одного элемента очереди — несколько минут, как поведет себя такая реализация?

Информация

В рейтинге
Не участвует
Откуда
Бишкек, Кыргызстан, Кыргызстан
Дата рождения
Зарегистрирован
Активность